Details

Time bar (total: 10.5s)

analyze183.0ms (1.7%)

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
50%50%50%0.1%0%0%0%5
50%50%50%0.1%0%0%0%6
57.1%50%37.5%0.1%12.5%0%0%7
57.1%50%37.5%0.1%12.5%0%0%8
61.5%50%31.2%0.1%18.7%0%0%9
61.5%50%31.2%0.1%18.7%0%0%10
64%50%28.1%0.1%21.9%0%0%11
64%50%28.1%0.1%21.9%0%0%12
Compiler

Compiled 14 to 11 computations (21.4% saved)

sample6.3s (60.3%)

Results
2.1s1986×body1024infinite
1.8s2003×body1024valid
965.0ms5232×body256valid
609.0ms1016×body512valid
556.0ms1015×body512infinite
202.0ms1479×body256infinite
4.0msbody2048valid
Bogosity

preprocess110.0ms (1%)

Algorithm
egg-herbie
Rules
1064×rational_best-simplify-51
884×rational_best-simplify-108
836×rational_best-simplify-1
664×rational_best-simplify-65
646×rational_best-simplify-57
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02070
13770
25970
38370
411170
516570
632370
769570
8120370
9240570
10553570
022
Stop Event
saturated
node limit
Calls
Call 1
Inputs
0
1
Outputs
0
1
Call 2
Inputs
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(*.f64 (*.f64 1/2 (cos.f64 im)) (+.f64 (exp.f64 (neg.f64 re)) (exp.f64 re)))
Outputs
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 (cos.f64 re) (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 1/2))
(*.f64 (*.f64 1/2 (cos.f64 im)) (+.f64 (exp.f64 (neg.f64 re)) (exp.f64 re)))
(*.f64 (cos.f64 im) (*.f64 1/2 (+.f64 (exp.f64 (neg.f64 re)) (exp.f64 re))))
(*.f64 (*.f64 (cos.f64 im) 1/2) (+.f64 (exp.f64 (neg.f64 re)) (exp.f64 re)))
(*.f64 (cos.f64 im) (*.f64 (+.f64 (exp.f64 (neg.f64 re)) (exp.f64 re)) 1/2))
Compiler

Compiled 15 to 12 computations (20% saved)

simplify80.0ms (0.8%)

Algorithm
egg-herbie
Rules
1312×rational_best-simplify-53
1262×rational_best-simplify-49
1062×rational_best-simplify-65
970×rational_best-simplify-1
810×rational_best-simplify-52
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01335
12335
23635
35035
46635
59535
617835
736535
884935
9162135
10438135
Stop Event
node limit
Counts
1 → 3
Calls
Call 1
Inputs
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
Outputs
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 (cos.f64 re) (*.f64 1/2 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))

eval1.0ms (0%)

Compiler

Compiled 35 to 16 computations (54.3% saved)

prune1.0ms (0%)

Pruning

2 alts after pruning (2 fresh and 0 done)

PrunedKeptTotal
New213
Fresh011
Picked000
Done000
Total224
Error
0.0b
Counts
4 → 1
Alt Table
Click to see full alt table
StatusErrorProgram
0.0b
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
Compiler

Compiled 13 to 10 computations (23.1% saved)

localize13.0ms (0.1%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.0b
(+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
0.0b
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
Compiler

Compiled 35 to 13 computations (62.9% saved)

series7.0ms (0.1%)

Counts
2 → 36
Calls

9 calls:

TimeVariablePointExpression
3.0ms
re
@inf
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
1.0ms
im
@inf
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
1.0ms
re
@-inf
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
1.0ms
re
@0
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
1.0ms
im
@-inf
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))

rewrite73.0ms (0.7%)

Algorithm
batch-egg-rewrite
Rules
786×rational_best-simplify-63
750×rational_best-4
750×rational_best-2
750×rational_best-3
750×rational_best-1
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01354
18854
217854
354054
4188154
Stop Event
node limit
Counts
2 → 65
Calls
Call 1
Inputs
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (cos.f64 re) (/.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 4)) (*.f64 (cos.f64 re) (/.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (*.f64 (cos.f64 re) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) 8) (+.f64 (/.f64 (*.f64 (cos.f64 re) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) 8) (*.f64 (cos.f64 re) (/.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 4))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (*.f64 (cos.f64 re) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) 8) (/.f64 (/.f64 (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 (cos.f64 re) 3/2)) 2) 2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (*.f64 (cos.f64 re) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) 8) (/.f64 (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 (cos.f64 re) 3/2)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (cos.f64 re) (/.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 4)) (neg.f64 (*.f64 (cos.f64 re) (/.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 4))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (cos.f64 re) (/.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 4)) (/.f64 (neg.f64 (*.f64 (cos.f64 re) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (/.f64 (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 (cos.f64 re) 3/2)) 2) 2) (/.f64 (neg.f64 (*.f64 (cos.f64 re) (/.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 4))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 (cos.f64 re) 3/2)) 4) (/.f64 (/.f64 (*.f64 (cos.f64 re) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) -2) 4))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cos.f64 re) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cos.f64 re) (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 4)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 (cos.f64 re) 2)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 (cos.f64 re) 4) (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 4)) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (cos.f64 re) (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 4))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 (*.f64 (cos.f64 re) 4) (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 4)) 2) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 (cos.f64 re) 4) (*.f64 2 (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 4))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 4) (*.f64 2 (*.f64 (cos.f64 re) 4))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 2 (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 4)) (*.f64 (cos.f64 re) 4)) 64)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 2 (*.f64 (cos.f64 re) 4)) (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 4)) 64)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) 1)))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (neg.f64 im)) (neg.f64 (exp.f64 im)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 im) (/.f64 -1 (exp.f64 im)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (-.f64 (/.f64 -1 (exp.f64 im)) (exp.f64 im)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (exp.f64 im) 2) (+.f64 (exp.f64 im) (/.f64 -1 (exp.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 2 (exp.f64 im)) (+.f64 (exp.f64 (neg.f64 im)) (neg.f64 (exp.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 1/2 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (/.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) -2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 1/2 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (/.f64 (*.f64 -2 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (exp.f64 im) 2) (+.f64 (/.f64 -1 (exp.f64 im)) (/.f64 (exp.f64 im) -2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (exp.f64 im) 2) (+.f64 (/.f64 (exp.f64 im) -2) (/.f64 -1 (exp.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (exp.f64 im) 2) (/.f64 (-.f64 0 (+.f64 (exp.f64 im) (/.f64 2 (exp.f64 im)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 1/2 (exp.f64 im)) (+.f64 (neg.f64 (exp.f64 im)) (/.f64 -1/2 (exp.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 1/2 (exp.f64 im)) (+.f64 (/.f64 -1/2 (exp.f64 im)) (neg.f64 (exp.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 1/2 (exp.f64 im)) (/.f64 (-.f64 0 (+.f64 (exp.f64 (neg.f64 im)) (*.f64 (exp.f64 im) 2))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (exp.f64 (neg.f64 im)) (/.f64 (exp.f64 im) 2)) (/.f64 (exp.f64 im) -2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (/.f64 -1/2 (exp.f64 im)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (+.f64 (exp.f64 (neg.f64 im)) (*.f64 1/2 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))) 2) (/.f64 (+.f64 (*.f64 -3 (/.f64 (exp.f64 im) 2)) (/.f64 -1/2 (exp.f64 im))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (+.f64 (exp.f64 im) (*.f64 1/2 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))) 2) (/.f64 (+.f64 (/.f64 -3/2 (exp.f64 im)) (/.f64 (exp.f64 im) -2)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (/.f64 (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 3) 2) 2) (/.f64 (/.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) -2) 2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 3) 4) (/.f64 (-.f64 (/.f64 -1 (exp.f64 im)) (exp.f64 im)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 (exp.f64 im) (exp.f64 im)) (-.f64 (/.f64 -1 (exp.f64 im)) (exp.f64 im)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 (neg.f64 im))) (-.f64 (/.f64 -1 (exp.f64 im)) (exp.f64 im)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 1/2 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 1/2 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/8 (*.f64 2 (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 4)) 1/8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 4)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (/.f64 8 (exp.f64 im)) (*.f64 2 (*.f64 (exp.f64 im) 4))) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 (exp.f64 im) 4)) (/.f64 8 (exp.f64 im))) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (/.f64 4 (exp.f64 im)) (neg.f64 (*.f64 (exp.f64 im) 4))) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 (exp.f64 im) 4) (/.f64 -4 (exp.f64 im))) 4)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (-.f64 (/.f64 -1 (exp.f64 im)) (exp.f64 im)))))))

simplify128.0ms (1.2%)

Algorithm
egg-herbie
Rules
1290×rational_best-simplify-75
1108×rational_best-simplify-50
1018×rational_best-simplify-56
1004×rational_best-simplify-3
544×rational_best-simplify-1
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
02353141
16053109
216263009
355742977
Stop Event
node limit
Counts
101 → 116
Calls
Call 1
Inputs
(*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(+.f64 (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (*.f64 -1/4 (*.f64 (pow.f64 re 2) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))))
(+.f64 (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (+.f64 (*.f64 -1/4 (*.f64 (pow.f64 re 2) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) (*.f64 1/48 (*.f64 (pow.f64 re 4) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))))
(+.f64 (*.f64 -1/1440 (*.f64 (pow.f64 re 6) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) (+.f64 (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (+.f64 (*.f64 -1/4 (*.f64 (pow.f64 re 2) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) (*.f64 1/48 (*.f64 (pow.f64 re 4) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(cos.f64 re)
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (cos.f64 re))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (+.f64 (cos.f64 re) (*.f64 1/24 (*.f64 (cos.f64 re) (pow.f64 im 4)))))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (+.f64 (cos.f64 re) (+.f64 (*.f64 1/24 (*.f64 (cos.f64 re) (pow.f64 im 4))) (*.f64 1/720 (*.f64 (cos.f64 re) (pow.f64 im 6))))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))))
2
(+.f64 2 (pow.f64 im 2))
(+.f64 2 (+.f64 (pow.f64 im 2) (*.f64 1/12 (pow.f64 im 4))))
(+.f64 2 (+.f64 (pow.f64 im 2) (+.f64 (*.f64 1/12 (pow.f64 im 4)) (*.f64 1/360 (pow.f64 im 6)))))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))
(+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))
(+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))
(+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))
(+.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) 0)
(+.f64 0 (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(+.f64 (*.f64 (cos.f64 re) (/.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 4)) (*.f64 (cos.f64 re) (/.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 4)))
(+.f64 (/.f64 (*.f64 (cos.f64 re) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) 8) (+.f64 (/.f64 (*.f64 (cos.f64 re) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) 8) (*.f64 (cos.f64 re) (/.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 4))))
(+.f64 (/.f64 (*.f64 (cos.f64 re) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) 8) (/.f64 (/.f64 (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 (cos.f64 re) 3/2)) 2) 2))
(+.f64 (/.f64 (*.f64 (cos.f64 re) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) 8) (/.f64 (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 (cos.f64 re) 3/2)) 4))
(-.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) 0)
(-.f64 (*.f64 (cos.f64 re) (/.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 4)) (neg.f64 (*.f64 (cos.f64 re) (/.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 4))))
(-.f64 (*.f64 (cos.f64 re) (/.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 4)) (/.f64 (neg.f64 (*.f64 (cos.f64 re) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))) 4))
(-.f64 (/.f64 (/.f64 (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 (cos.f64 re) 3/2)) 2) 2) (/.f64 (neg.f64 (*.f64 (cos.f64 re) (/.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 4))) 2))
(-.f64 (/.f64 (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 (cos.f64 re) 3/2)) 4) (/.f64 (/.f64 (*.f64 (cos.f64 re) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) -2) 4))
(/.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) 1)
(/.f64 (*.f64 (cos.f64 re) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) 2)
(/.f64 (*.f64 (cos.f64 re) (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 4)) 8)
(/.f64 (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 (cos.f64 re) 2)) 4)
(/.f64 (*.f64 (*.f64 (cos.f64 re) 4) (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 4)) 32)
(/.f64 (*.f64 2 (*.f64 (cos.f64 re) (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 4))) 16)
(/.f64 (/.f64 (*.f64 (*.f64 (cos.f64 re) 4) (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 4)) 2) 16)
(/.f64 (*.f64 (*.f64 (cos.f64 re) 4) (*.f64 2 (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 4))) 64)
(/.f64 (*.f64 (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 4) (*.f64 2 (*.f64 (cos.f64 re) 4))) 64)
(/.f64 (*.f64 (*.f64 2 (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 4)) (*.f64 (cos.f64 re) 4)) 64)
(/.f64 (*.f64 (*.f64 2 (*.f64 (cos.f64 re) 4)) (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 4)) 64)
(pow.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) 1)
(-.f64 (exp.f64 (neg.f64 im)) (neg.f64 (exp.f64 im)))
(-.f64 (exp.f64 im) (/.f64 -1 (exp.f64 im)))
(-.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 0)
(-.f64 0 (-.f64 (/.f64 -1 (exp.f64 im)) (exp.f64 im)))
(-.f64 (*.f64 (exp.f64 im) 2) (+.f64 (exp.f64 im) (/.f64 -1 (exp.f64 im))))
(-.f64 (/.f64 2 (exp.f64 im)) (+.f64 (exp.f64 (neg.f64 im)) (neg.f64 (exp.f64 im))))
(-.f64 (*.f64 1/2 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (/.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) -2))
(-.f64 (*.f64 1/2 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (/.f64 (*.f64 -2 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) 4))
(-.f64 (/.f64 (exp.f64 im) 2) (+.f64 (/.f64 -1 (exp.f64 im)) (/.f64 (exp.f64 im) -2)))
(-.f64 (/.f64 (exp.f64 im) 2) (+.f64 (/.f64 (exp.f64 im) -2) (/.f64 -1 (exp.f64 im))))
(-.f64 (/.f64 (exp.f64 im) 2) (/.f64 (-.f64 0 (+.f64 (exp.f64 im) (/.f64 2 (exp.f64 im)))) 2))
(-.f64 (/.f64 1/2 (exp.f64 im)) (+.f64 (neg.f64 (exp.f64 im)) (/.f64 -1/2 (exp.f64 im))))
(-.f64 (/.f64 1/2 (exp.f64 im)) (+.f64 (/.f64 -1/2 (exp.f64 im)) (neg.f64 (exp.f64 im))))
(-.f64 (/.f64 1/2 (exp.f64 im)) (/.f64 (-.f64 0 (+.f64 (exp.f64 (neg.f64 im)) (*.f64 (exp.f64 im) 2))) 2))
(-.f64 (+.f64 (exp.f64 (neg.f64 im)) (/.f64 (exp.f64 im) 2)) (/.f64 (exp.f64 im) -2))
(-.f64 (+.f64 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (/.f64 -1/2 (exp.f64 im)))
(-.f64 (/.f64 (+.f64 (exp.f64 (neg.f64 im)) (*.f64 1/2 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))) 2) (/.f64 (+.f64 (*.f64 -3 (/.f64 (exp.f64 im) 2)) (/.f64 -1/2 (exp.f64 im))) 2))
(-.f64 (/.f64 (+.f64 (exp.f64 im) (*.f64 1/2 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))) 2) (/.f64 (+.f64 (/.f64 -3/2 (exp.f64 im)) (/.f64 (exp.f64 im) -2)) 2))
(-.f64 (/.f64 (/.f64 (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 3) 2) 2) (/.f64 (/.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) -2) 2))
(-.f64 (/.f64 (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 3) 4) (/.f64 (-.f64 (/.f64 -1 (exp.f64 im)) (exp.f64 im)) 4))
(-.f64 (-.f64 (exp.f64 im) (exp.f64 im)) (-.f64 (/.f64 -1 (exp.f64 im)) (exp.f64 im)))
(-.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 (neg.f64 im))) (-.f64 (/.f64 -1 (exp.f64 im)) (exp.f64 im)))
(*.f64 1/2 (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 2))
(*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 1)
(*.f64 1 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(*.f64 2 (*.f64 1/2 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 2) 1/2)
(*.f64 1/4 (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 4))
(*.f64 (*.f64 1/2 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) 2)
(*.f64 (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 4) 1/4)
(*.f64 1/8 (*.f64 2 (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 4)))
(*.f64 (*.f64 2 (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 4)) 1/8)
(/.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 1)
(/.f64 (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 2) 2)
(/.f64 (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 4) 4)
(/.f64 (*.f64 2 (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 4)) 8)
(/.f64 (+.f64 (/.f64 8 (exp.f64 im)) (*.f64 2 (*.f64 (exp.f64 im) 4))) 8)
(/.f64 (+.f64 (*.f64 2 (*.f64 (exp.f64 im) 4)) (/.f64 8 (exp.f64 im))) 8)
(/.f64 (-.f64 (/.f64 4 (exp.f64 im)) (neg.f64 (*.f64 (exp.f64 im) 4))) 4)
(/.f64 (-.f64 (*.f64 (exp.f64 im) 4) (/.f64 -4 (exp.f64 im))) 4)
(pow.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 1)
(neg.f64 (-.f64 (/.f64 -1 (exp.f64 im)) (exp.f64 im)))
Outputs
(*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(+.f64 (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (*.f64 -1/4 (*.f64 (pow.f64 re 2) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))))
(+.f64 (*.f64 -1/4 (*.f64 (pow.f64 re 2) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(+.f64 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 -1/4 (pow.f64 re 2))) (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (+.f64 (*.f64 -1/4 (pow.f64 re 2)) 1/2))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (+.f64 1/2 (*.f64 -1/4 (pow.f64 re 2))))
(+.f64 (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (+.f64 (*.f64 -1/4 (*.f64 (pow.f64 re 2) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) (*.f64 1/48 (*.f64 (pow.f64 re 4) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))))
(+.f64 (*.f64 1/48 (*.f64 (pow.f64 re 4) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) (+.f64 (*.f64 -1/4 (*.f64 (pow.f64 re 2) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))))
(+.f64 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 -1/4 (pow.f64 re 2))) (+.f64 (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (*.f64 (pow.f64 re 4) (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) 1/48))))
(+.f64 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 -1/4 (pow.f64 re 2))) (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (+.f64 (*.f64 1/48 (pow.f64 re 4)) 1/2)))
(+.f64 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 -1/4 (pow.f64 re 2))) (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (+.f64 1/2 (*.f64 1/48 (pow.f64 re 4)))))
(+.f64 (*.f64 -1/1440 (*.f64 (pow.f64 re 6) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) (+.f64 (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (+.f64 (*.f64 -1/4 (*.f64 (pow.f64 re 2) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) (*.f64 1/48 (*.f64 (pow.f64 re 4) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))))))
(+.f64 (+.f64 (*.f64 -1/4 (*.f64 (pow.f64 re 2) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) (*.f64 1/48 (*.f64 (pow.f64 re 4) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))) (+.f64 (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (*.f64 -1/1440 (*.f64 (pow.f64 re 6) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))))
(+.f64 (+.f64 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 -1/4 (pow.f64 re 2))) (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) (+.f64 (*.f64 (pow.f64 re 4) (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) 1/48)) (*.f64 -1/1440 (*.f64 (pow.f64 re 6) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))))
(+.f64 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (+.f64 (*.f64 -1/4 (pow.f64 re 2)) 1/2)) (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (+.f64 (*.f64 1/48 (pow.f64 re 4)) (*.f64 -1/1440 (pow.f64 re 6)))))
(+.f64 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (+.f64 1/2 (*.f64 -1/4 (pow.f64 re 2)))) (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (+.f64 (*.f64 1/48 (pow.f64 re 4)) (*.f64 -1/1440 (pow.f64 re 6)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(cos.f64 re)
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (cos.f64 re))
(+.f64 (cos.f64 re) (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))))
(*.f64 (cos.f64 re) (-.f64 (*.f64 1/2 (pow.f64 im 2)) -1))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (+.f64 (cos.f64 re) (*.f64 1/24 (*.f64 (cos.f64 re) (pow.f64 im 4)))))
(+.f64 (cos.f64 re) (+.f64 (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 4) 1/24)) (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))))
(+.f64 (cos.f64 re) (+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (*.f64 (cos.f64 re) (*.f64 1/24 (pow.f64 im 4)))))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (*.f64 (cos.f64 re) (-.f64 (*.f64 1/24 (pow.f64 im 4)) -1)))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (+.f64 (cos.f64 re) (+.f64 (*.f64 1/24 (*.f64 (cos.f64 re) (pow.f64 im 4))) (*.f64 1/720 (*.f64 (cos.f64 re) (pow.f64 im 6))))))
(+.f64 (cos.f64 re) (+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (+.f64 (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 4) 1/24)) (*.f64 (pow.f64 im 6) (*.f64 (cos.f64 re) 1/720)))))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (+.f64 (cos.f64 re) (+.f64 (*.f64 (cos.f64 re) (*.f64 1/24 (pow.f64 im 4))) (*.f64 (cos.f64 re) (*.f64 1/720 (pow.f64 im 6))))))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (+.f64 (*.f64 (cos.f64 re) (*.f64 1/24 (pow.f64 im 4))) (*.f64 (cos.f64 re) (-.f64 (*.f64 1/720 (pow.f64 im 6)) -1))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
2
(+.f64 2 (pow.f64 im 2))
(+.f64 2 (+.f64 (pow.f64 im 2) (*.f64 1/12 (pow.f64 im 4))))
(+.f64 2 (+.f64 (pow.f64 im 2) (*.f64 (pow.f64 im 4) 1/12)))
(+.f64 (+.f64 2 (pow.f64 im 2)) (*.f64 (pow.f64 im 4) 1/12))
(+.f64 2 (+.f64 (pow.f64 im 2) (+.f64 (*.f64 1/12 (pow.f64 im 4)) (*.f64 1/360 (pow.f64 im 6)))))
(+.f64 2 (+.f64 (pow.f64 im 2) (+.f64 (*.f64 (pow.f64 im 4) 1/12) (*.f64 (pow.f64 im 6) 1/360))))
(+.f64 (pow.f64 im 2) (+.f64 2 (+.f64 (*.f64 (pow.f64 im 4) 1/12) (*.f64 (pow.f64 im 6) 1/360))))
(+.f64 2 (+.f64 (*.f64 (pow.f64 im 4) 1/12) (+.f64 (pow.f64 im 2) (*.f64 (pow.f64 im 6) 1/360))))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(+.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) 0)
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(+.f64 0 (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(+.f64 (*.f64 (cos.f64 re) (/.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 4)) (*.f64 (cos.f64 re) (/.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 4)))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(+.f64 (/.f64 (*.f64 (cos.f64 re) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) 8) (+.f64 (/.f64 (*.f64 (cos.f64 re) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) 8) (*.f64 (cos.f64 re) (/.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 4))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(+.f64 (/.f64 (*.f64 (cos.f64 re) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) 8) (/.f64 (/.f64 (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 (cos.f64 re) 3/2)) 2) 2))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(+.f64 (/.f64 (*.f64 (cos.f64 re) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) 8) (/.f64 (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 (cos.f64 re) 3/2)) 4))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(-.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) 0)
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(-.f64 (*.f64 (cos.f64 re) (/.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 4)) (neg.f64 (*.f64 (cos.f64 re) (/.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 4))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(-.f64 (*.f64 (cos.f64 re) (/.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 4)) (/.f64 (neg.f64 (*.f64 (cos.f64 re) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))) 4))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(-.f64 (/.f64 (/.f64 (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 (cos.f64 re) 3/2)) 2) 2) (/.f64 (neg.f64 (*.f64 (cos.f64 re) (/.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 4))) 2))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(-.f64 (/.f64 (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 (cos.f64 re) 3/2)) 4) (/.f64 (/.f64 (*.f64 (cos.f64 re) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) -2) 4))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(/.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) 1)
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(/.f64 (*.f64 (cos.f64 re) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) 2)
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(/.f64 (*.f64 (cos.f64 re) (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 4)) 8)
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(/.f64 (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 (cos.f64 re) 2)) 4)
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(/.f64 (*.f64 (*.f64 (cos.f64 re) 4) (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 4)) 32)
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(/.f64 (*.f64 2 (*.f64 (cos.f64 re) (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 4))) 16)
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(/.f64 (/.f64 (*.f64 (*.f64 (cos.f64 re) 4) (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 4)) 2) 16)
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(/.f64 (*.f64 (*.f64 (cos.f64 re) 4) (*.f64 2 (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 4))) 64)
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(/.f64 (*.f64 (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 4) (*.f64 2 (*.f64 (cos.f64 re) 4))) 64)
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(/.f64 (*.f64 (*.f64 2 (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 4)) (*.f64 (cos.f64 re) 4)) 64)
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(/.f64 (*.f64 (*.f64 2 (*.f64 (cos.f64 re) 4)) (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 4)) 64)
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(pow.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) 1)
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(-.f64 (exp.f64 (neg.f64 im)) (neg.f64 (exp.f64 im)))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(-.f64 (exp.f64 im) (/.f64 -1 (exp.f64 im)))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(-.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 0)
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(-.f64 0 (-.f64 (/.f64 -1 (exp.f64 im)) (exp.f64 im)))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(-.f64 (*.f64 (exp.f64 im) 2) (+.f64 (exp.f64 im) (/.f64 -1 (exp.f64 im))))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(-.f64 (/.f64 2 (exp.f64 im)) (+.f64 (exp.f64 (neg.f64 im)) (neg.f64 (exp.f64 im))))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(-.f64 (*.f64 1/2 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (/.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) -2))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(-.f64 (*.f64 1/2 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (/.f64 (*.f64 -2 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) 4))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(-.f64 (/.f64 (exp.f64 im) 2) (+.f64 (/.f64 -1 (exp.f64 im)) (/.f64 (exp.f64 im) -2)))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(-.f64 (/.f64 (exp.f64 im) 2) (+.f64 (/.f64 (exp.f64 im) -2) (/.f64 -1 (exp.f64 im))))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(-.f64 (/.f64 (exp.f64 im) 2) (/.f64 (-.f64 0 (+.f64 (exp.f64 im) (/.f64 2 (exp.f64 im)))) 2))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(-.f64 (/.f64 1/2 (exp.f64 im)) (+.f64 (neg.f64 (exp.f64 im)) (/.f64 -1/2 (exp.f64 im))))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(-.f64 (/.f64 1/2 (exp.f64 im)) (+.f64 (/.f64 -1/2 (exp.f64 im)) (neg.f64 (exp.f64 im))))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(-.f64 (/.f64 1/2 (exp.f64 im)) (/.f64 (-.f64 0 (+.f64 (exp.f64 (neg.f64 im)) (*.f64 (exp.f64 im) 2))) 2))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(-.f64 (+.f64 (exp.f64 (neg.f64 im)) (/.f64 (exp.f64 im) 2)) (/.f64 (exp.f64 im) -2))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(-.f64 (+.f64 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (/.f64 -1/2 (exp.f64 im)))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(-.f64 (/.f64 (+.f64 (exp.f64 (neg.f64 im)) (*.f64 1/2 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))) 2) (/.f64 (+.f64 (*.f64 -3 (/.f64 (exp.f64 im) 2)) (/.f64 -1/2 (exp.f64 im))) 2))
(/.f64 (-.f64 (+.f64 (exp.f64 (neg.f64 im)) (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) (+.f64 (/.f64 -1/2 (exp.f64 im)) (*.f64 (exp.f64 im) -3/2))) 2)
(+.f64 (/.f64 (-.f64 (+.f64 (exp.f64 (neg.f64 im)) (+.f64 (exp.f64 im) (/.f64 2 (exp.f64 im)))) (*.f64 (exp.f64 im) -3)) 4) (/.f64 1/4 (exp.f64 im)))
(+.f64 (/.f64 1/4 (exp.f64 im)) (/.f64 (-.f64 (+.f64 (exp.f64 (neg.f64 im)) (+.f64 (exp.f64 im) (/.f64 2 (exp.f64 im)))) (*.f64 (exp.f64 im) -3)) 4))
(-.f64 (/.f64 (+.f64 (exp.f64 im) (*.f64 1/2 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))) 2) (/.f64 (+.f64 (/.f64 -3/2 (exp.f64 im)) (/.f64 (exp.f64 im) -2)) 2))
(/.f64 (-.f64 (+.f64 (exp.f64 im) (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) (+.f64 (/.f64 (exp.f64 im) -2) (/.f64 -3/2 (exp.f64 im)))) 2)
(-.f64 (/.f64 (+.f64 (exp.f64 im) (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) 2) (+.f64 (/.f64 -3/4 (exp.f64 im)) (/.f64 (exp.f64 im) -4)))
(-.f64 (/.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) 4) (+.f64 (+.f64 (/.f64 -3/4 (exp.f64 im)) (/.f64 (exp.f64 im) -4)) (/.f64 (exp.f64 im) -2)))
(/.f64 (-.f64 (exp.f64 im) (+.f64 (-.f64 (/.f64 -1/2 (exp.f64 im)) (exp.f64 im)) (/.f64 -3/2 (exp.f64 im)))) 2)
(-.f64 (/.f64 (/.f64 (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 3) 2) 2) (/.f64 (/.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) -2) 2))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(-.f64 (/.f64 (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 3) 4) (/.f64 (-.f64 (/.f64 -1 (exp.f64 im)) (exp.f64 im)) 4))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(-.f64 (-.f64 (exp.f64 im) (exp.f64 im)) (-.f64 (/.f64 -1 (exp.f64 im)) (exp.f64 im)))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(-.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 (neg.f64 im))) (-.f64 (/.f64 -1 (exp.f64 im)) (exp.f64 im)))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(*.f64 1/2 (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 2))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 1)
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(*.f64 1 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(*.f64 2 (*.f64 1/2 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(*.f64 (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 2) 1/2)
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(*.f64 1/4 (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 4))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(*.f64 (*.f64 1/2 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) 2)
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(*.f64 (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 4) 1/4)
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(*.f64 1/8 (*.f64 2 (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 4)))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(*.f64 (*.f64 2 (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 4)) 1/8)
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(/.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 1)
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(/.f64 (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 2) 2)
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(/.f64 (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 4) 4)
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(/.f64 (*.f64 2 (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 4)) 8)
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(/.f64 (+.f64 (/.f64 8 (exp.f64 im)) (*.f64 2 (*.f64 (exp.f64 im) 4))) 8)
(+.f64 (exp.f64 (neg.f64 im)) (/.f64 (*.f64 (exp.f64 im) 8) 8))
(+.f64 (exp.f64 (neg.f64 im)) (/.f64 (*.f64 (exp.f64 im) 4) 4))
(/.f64 (+.f64 (*.f64 2 (*.f64 (exp.f64 im) 4)) (/.f64 8 (exp.f64 im))) 8)
(/.f64 (+.f64 (/.f64 8 (exp.f64 im)) (*.f64 2 (*.f64 (exp.f64 im) 4))) 8)
(+.f64 (exp.f64 (neg.f64 im)) (/.f64 (*.f64 (exp.f64 im) 8) 8))
(+.f64 (exp.f64 (neg.f64 im)) (/.f64 (*.f64 (exp.f64 im) 4) 4))
(/.f64 (-.f64 (/.f64 4 (exp.f64 im)) (neg.f64 (*.f64 (exp.f64 im) 4))) 4)
(/.f64 (+.f64 (/.f64 8 (exp.f64 im)) (*.f64 2 (*.f64 (exp.f64 im) 4))) 8)
(+.f64 (exp.f64 (neg.f64 im)) (/.f64 (*.f64 (exp.f64 im) 8) 8))
(+.f64 (exp.f64 (neg.f64 im)) (/.f64 (*.f64 (exp.f64 im) 4) 4))
(/.f64 (-.f64 (*.f64 (exp.f64 im) 4) (/.f64 -4 (exp.f64 im))) 4)
(/.f64 (+.f64 (/.f64 8 (exp.f64 im)) (*.f64 2 (*.f64 (exp.f64 im) 4))) 8)
(+.f64 (exp.f64 (neg.f64 im)) (/.f64 (*.f64 (exp.f64 im) 8) 8))
(+.f64 (exp.f64 (neg.f64 im)) (/.f64 (*.f64 (exp.f64 im) 4) 4))
(pow.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 1)
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(neg.f64 (-.f64 (/.f64 -1 (exp.f64 im)) (exp.f64 im)))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))

eval33.0ms (0.3%)

Compiler

Compiled 2296 to 1149 computations (50% saved)

prune16.0ms (0.2%)

Pruning

5 alts after pruning (4 fresh and 1 done)

PrunedKeptTotal
New1124116
Fresh000
Picked011
Done000
Total1125117
Error
0.0b
Counts
117 → 5
Alt Table
Click to see full alt table
StatusErrorProgram
1.1b
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (cos.f64 re))
0.0b
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
1.1b
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (pow.f64 im 2)))
27.5b
(*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
1.4b
(cos.f64 re)
Compiler

Compiled 52 to 40 computations (23.1% saved)

localize3.0ms (0%)

Compiler

Compiled 5 to 3 computations (40% saved)

localize9.0ms (0.1%)

Local error

Found 1 expressions with local error:

NewErrorProgram
0.0b
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
Compiler

Compiled 25 to 9 computations (64% saved)

series0.0ms (0%)

Counts
1 → 8
Calls

3 calls:

TimeVariablePointExpression
0.0ms
im
@0
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
0.0ms
im
@inf
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
0.0ms
im
@-inf
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))

rewrite129.0ms (1.2%)

Algorithm
batch-egg-rewrite
Rules
1032×rational_best-simplify-62
642×rational_best-simplify-83
548×rational_best-simplify-47
540×rational_best-simplify-48
540×rational_best-simplify-1
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0819
15619
212019
333519
4111619
5657319
Stop Event
node limit
Counts
1 → 67
Calls
Call 1
Inputs
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 im) (/.f64 -1 (exp.f64 im)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 im) (+.f64 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (neg.f64 (exp.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (neg.f64 im)) (neg.f64 (exp.f64 im)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (neg.f64 im)) (+.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (/.f64 -1 (exp.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (-.f64 (/.f64 -1 (exp.f64 im)) (exp.f64 im)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (+.f64 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 (exp.f64 im) -2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (+.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (/.f64 -2 (exp.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (exp.f64 im) 2) (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (exp.f64 im) 2) (+.f64 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) 0))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 2 (exp.f64 im)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 2 (exp.f64 im)) (+.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 0))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) 2) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) 2) (/.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) -2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (exp.f64 im) 2) (-.f64 (/.f64 (exp.f64 im) -2) (exp.f64 (neg.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (exp.f64 im) 2) (+.f64 (/.f64 (exp.f64 im) -2) (/.f64 -1 (exp.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (exp.f64 im) 2) (/.f64 (-.f64 (neg.f64 (exp.f64 im)) (/.f64 2 (exp.f64 im))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 1/2 (exp.f64 im)) (-.f64 (/.f64 -1/2 (exp.f64 im)) (exp.f64 im)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 1/2 (exp.f64 im)) (+.f64 (/.f64 -1/2 (exp.f64 im)) (neg.f64 (exp.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 1/2 (exp.f64 im)) (/.f64 (/.f64 (-.f64 (/.f64 -1/2 (exp.f64 im)) (exp.f64 im)) 1/2) 2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (/.f64 -1/2 (exp.f64 im)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (exp.f64 (neg.f64 im)) (/.f64 (exp.f64 im) 2)) (/.f64 (exp.f64 im) -2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 3/2 (exp.f64 im)) (+.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (/.f64 -1/2 (exp.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (/.f64 (exp.f64 im) 2) 3) (+.f64 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (/.f64 (exp.f64 im) -2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (/.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) 4) (/.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) 2)) (neg.f64 (/.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (/.f64 (exp.f64 im) 4) (/.f64 (exp.f64 im) 2)) (-.f64 (/.f64 -1 (exp.f64 im)) (/.f64 (exp.f64 im) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (/.f64 1/4 (exp.f64 im)) (/.f64 1/2 (exp.f64 im))) (-.f64 (neg.f64 (exp.f64 im)) (/.f64 1/4 (exp.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 (exp.f64 im) (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (neg.f64 (exp.f64 im)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (neg.f64 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (*.f64 (exp.f64 im) -2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 (*.f64 (/.f64 (exp.f64 im) 2) 3) (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (/.f64 (exp.f64 im) -2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 (exp.f64 (neg.f64 im)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (/.f64 -1 (exp.f64 im)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (neg.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (/.f64 -2 (exp.f64 im)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 (/.f64 3/2 (exp.f64 im)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (/.f64 -1/2 (exp.f64 im)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 (/.f64 (exp.f64 im) 2) (/.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) -2)) (/.f64 -1/2 (exp.f64 im)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 (/.f64 1/2 (exp.f64 im)) (/.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) -2)) (/.f64 (exp.f64 im) -2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (*.f64 -3 (/.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) -2)) 2) (/.f64 (/.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) -2) 2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) 3) 4) (/.f64 (-.f64 (/.f64 -1 (exp.f64 im)) (exp.f64 im)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (+.f64 (exp.f64 (neg.f64 im)) (/.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) 2)) 2) (/.f64 (-.f64 (/.f64 -1/2 (exp.f64 im)) (*.f64 (/.f64 (exp.f64 im) 2) 3)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (+.f64 (exp.f64 im) (/.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) 2)) 2) (/.f64 (+.f64 (/.f64 -3/2 (exp.f64 im)) (/.f64 (exp.f64 im) -2)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (/.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) 4) (/.f64 (exp.f64 im) 2)) (-.f64 (/.f64 -1/2 (exp.f64 im)) (/.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (/.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) 4) (/.f64 1/2 (exp.f64 im))) (-.f64 (/.f64 (exp.f64 im) -2) (/.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (-.f64 (/.f64 -1 (exp.f64 im)) (exp.f64 im)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (/.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -2 (/.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) -2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (/.f64 -1 (exp.f64 im)) (exp.f64 im)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) 4)) 1/8)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) 1/2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/8 (*.f64 2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (/.f64 -1 (exp.f64 im)) (exp.f64 im)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) 4)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) 4)) (*.f64 2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) 4))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 (exp.f64 im) 4)) (/.f64 8 (exp.f64 im))) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (/.f64 8 (exp.f64 im)) (*.f64 2 (*.f64 (exp.f64 im) 4))) 8)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (-.f64 (/.f64 -1 (exp.f64 im)) (exp.f64 im)))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (+.f64 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 (exp.f64 im) -2)))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (+.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (/.f64 -2 (exp.f64 im))))))))

simplify132.0ms (1.3%)

Algorithm
egg-herbie
Rules
1206×rational_best-simplify-63
966×rational_best-simplify-62
954×rational_best-simplify-86
564×rational_best-simplify-1
522×rational_best-simplify-47
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01891623
14561617
211861597
356441579
Stop Event
node limit
Counts
75 → 88
Calls
Call 1
Inputs
2
(+.f64 2 (pow.f64 im 2))
(+.f64 2 (+.f64 (pow.f64 im 2) (*.f64 1/12 (pow.f64 im 4))))
(+.f64 2 (+.f64 (pow.f64 im 2) (+.f64 (*.f64 1/12 (pow.f64 im 4)) (*.f64 1/360 (pow.f64 im 6)))))
(+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))
(+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))
(+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))
(+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))
(-.f64 (exp.f64 im) (/.f64 -1 (exp.f64 im)))
(-.f64 (exp.f64 im) (+.f64 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (neg.f64 (exp.f64 im))))
(-.f64 (exp.f64 (neg.f64 im)) (neg.f64 (exp.f64 im)))
(-.f64 (exp.f64 (neg.f64 im)) (+.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (/.f64 -1 (exp.f64 im))))
(-.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) 0)
(-.f64 0 (-.f64 (/.f64 -1 (exp.f64 im)) (exp.f64 im)))
(-.f64 0 (+.f64 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 (exp.f64 im) -2)))
(-.f64 0 (+.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (/.f64 -2 (exp.f64 im))))
(-.f64 (*.f64 (exp.f64 im) 2) (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(-.f64 (*.f64 (exp.f64 im) 2) (+.f64 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) 0))
(-.f64 (/.f64 2 (exp.f64 im)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(-.f64 (/.f64 2 (exp.f64 im)) (+.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 0))
(-.f64 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) 2) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(-.f64 (/.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) 2) (/.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) -2))
(-.f64 (/.f64 (exp.f64 im) 2) (-.f64 (/.f64 (exp.f64 im) -2) (exp.f64 (neg.f64 im))))
(-.f64 (/.f64 (exp.f64 im) 2) (+.f64 (/.f64 (exp.f64 im) -2) (/.f64 -1 (exp.f64 im))))
(-.f64 (/.f64 (exp.f64 im) 2) (/.f64 (-.f64 (neg.f64 (exp.f64 im)) (/.f64 2 (exp.f64 im))) 2))
(-.f64 (/.f64 1/2 (exp.f64 im)) (-.f64 (/.f64 -1/2 (exp.f64 im)) (exp.f64 im)))
(-.f64 (/.f64 1/2 (exp.f64 im)) (+.f64 (/.f64 -1/2 (exp.f64 im)) (neg.f64 (exp.f64 im))))
(-.f64 (/.f64 1/2 (exp.f64 im)) (/.f64 (/.f64 (-.f64 (/.f64 -1/2 (exp.f64 im)) (exp.f64 im)) 1/2) 2))
(-.f64 (+.f64 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (/.f64 -1/2 (exp.f64 im)))
(-.f64 (+.f64 (exp.f64 (neg.f64 im)) (/.f64 (exp.f64 im) 2)) (/.f64 (exp.f64 im) -2))
(-.f64 (/.f64 3/2 (exp.f64 im)) (+.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (/.f64 -1/2 (exp.f64 im))))
(-.f64 (*.f64 (/.f64 (exp.f64 im) 2) 3) (+.f64 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (/.f64 (exp.f64 im) -2)))
(-.f64 (+.f64 (/.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) 4) (/.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) 2)) (neg.f64 (/.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) 4)))
(-.f64 (+.f64 (/.f64 (exp.f64 im) 4) (/.f64 (exp.f64 im) 2)) (-.f64 (/.f64 -1 (exp.f64 im)) (/.f64 (exp.f64 im) 4)))
(-.f64 (+.f64 (/.f64 1/4 (exp.f64 im)) (/.f64 1/2 (exp.f64 im))) (-.f64 (neg.f64 (exp.f64 im)) (/.f64 1/4 (exp.f64 im))))
(-.f64 (-.f64 (exp.f64 im) (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (neg.f64 (exp.f64 im)))
(-.f64 (neg.f64 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (*.f64 (exp.f64 im) -2))
(-.f64 (-.f64 (*.f64 (/.f64 (exp.f64 im) 2) 3) (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (/.f64 (exp.f64 im) -2))
(-.f64 (-.f64 (exp.f64 (neg.f64 im)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (/.f64 -1 (exp.f64 im)))
(-.f64 (neg.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (/.f64 -2 (exp.f64 im)))
(-.f64 (-.f64 (/.f64 3/2 (exp.f64 im)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (/.f64 -1/2 (exp.f64 im)))
(-.f64 (-.f64 (/.f64 (exp.f64 im) 2) (/.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) -2)) (/.f64 -1/2 (exp.f64 im)))
(-.f64 (-.f64 (/.f64 1/2 (exp.f64 im)) (/.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) -2)) (/.f64 (exp.f64 im) -2))
(-.f64 (/.f64 (*.f64 -3 (/.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) -2)) 2) (/.f64 (/.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) -2) 2))
(-.f64 (/.f64 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) 3) 4) (/.f64 (-.f64 (/.f64 -1 (exp.f64 im)) (exp.f64 im)) 4))
(-.f64 (/.f64 (+.f64 (exp.f64 (neg.f64 im)) (/.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) 2)) 2) (/.f64 (-.f64 (/.f64 -1/2 (exp.f64 im)) (*.f64 (/.f64 (exp.f64 im) 2) 3)) 2))
(-.f64 (/.f64 (+.f64 (exp.f64 im) (/.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) 2)) 2) (/.f64 (+.f64 (/.f64 -3/2 (exp.f64 im)) (/.f64 (exp.f64 im) -2)) 2))
(-.f64 (+.f64 (/.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) 4) (/.f64 (exp.f64 im) 2)) (-.f64 (/.f64 -1/2 (exp.f64 im)) (/.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) 4)))
(-.f64 (+.f64 (/.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) 4) (/.f64 1/2 (exp.f64 im))) (-.f64 (/.f64 (exp.f64 im) -2) (/.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) 4)))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) 1)
(*.f64 1 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 -1 (-.f64 (/.f64 -1 (exp.f64 im)) (exp.f64 im)))
(*.f64 2 (/.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) 2))
(*.f64 2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) 1/2))
(*.f64 -2 (/.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) -2))
(*.f64 1/2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) 2))
(*.f64 (-.f64 (/.f64 -1 (exp.f64 im)) (exp.f64 im)) -1)
(*.f64 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) 2) 1/2)
(*.f64 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) 4) 1/4)
(*.f64 1/4 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) 4))
(*.f64 (*.f64 2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) 4)) 1/8)
(*.f64 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) 1/2) 2)
(*.f64 1/8 (*.f64 2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) 4)))
(/.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) 1)
(/.f64 (-.f64 (/.f64 -1 (exp.f64 im)) (exp.f64 im)) -1)
(/.f64 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) 2) 2)
(/.f64 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) 4) 4)
(/.f64 (*.f64 2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) 4)) 8)
(/.f64 (+.f64 (*.f64 2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) 4)) (*.f64 2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) 4))) 16)
(/.f64 (+.f64 (*.f64 2 (*.f64 (exp.f64 im) 4)) (/.f64 8 (exp.f64 im))) 8)
(/.f64 (+.f64 (/.f64 8 (exp.f64 im)) (*.f64 2 (*.f64 (exp.f64 im) 4))) 8)
(pow.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) 1)
(neg.f64 (-.f64 (/.f64 -1 (exp.f64 im)) (exp.f64 im)))
(neg.f64 (+.f64 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 (exp.f64 im) -2)))
(neg.f64 (+.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (/.f64 -2 (exp.f64 im))))
Outputs
2
(+.f64 2 (pow.f64 im 2))
(+.f64 2 (+.f64 (pow.f64 im 2) (*.f64 1/12 (pow.f64 im 4))))
(+.f64 (+.f64 2 (pow.f64 im 2)) (*.f64 1/12 (pow.f64 im 4)))
(+.f64 2 (+.f64 (pow.f64 im 2) (+.f64 (*.f64 1/12 (pow.f64 im 4)) (*.f64 1/360 (pow.f64 im 6)))))
(+.f64 (+.f64 2 (pow.f64 im 2)) (+.f64 (*.f64 1/12 (pow.f64 im 4)) (*.f64 1/360 (pow.f64 im 6))))
(+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(-.f64 (exp.f64 im) (/.f64 -1 (exp.f64 im)))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(-.f64 (exp.f64 im) (+.f64 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (neg.f64 (exp.f64 im))))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(-.f64 (exp.f64 (neg.f64 im)) (neg.f64 (exp.f64 im)))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(-.f64 (exp.f64 (neg.f64 im)) (+.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (/.f64 -1 (exp.f64 im))))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(-.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) 0)
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(-.f64 0 (-.f64 (/.f64 -1 (exp.f64 im)) (exp.f64 im)))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(-.f64 0 (+.f64 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 (exp.f64 im) -2)))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(-.f64 0 (+.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (/.f64 -2 (exp.f64 im))))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(-.f64 (*.f64 (exp.f64 im) 2) (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(-.f64 (*.f64 (exp.f64 im) 2) (+.f64 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) 0))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(-.f64 (/.f64 2 (exp.f64 im)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(-.f64 (/.f64 2 (exp.f64 im)) (+.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 0))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(-.f64 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) 2) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(-.f64 (/.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) 2) (/.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) -2))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(-.f64 (/.f64 (exp.f64 im) 2) (-.f64 (/.f64 (exp.f64 im) -2) (exp.f64 (neg.f64 im))))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(-.f64 (/.f64 (exp.f64 im) 2) (+.f64 (/.f64 (exp.f64 im) -2) (/.f64 -1 (exp.f64 im))))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(-.f64 (/.f64 (exp.f64 im) 2) (/.f64 (-.f64 (neg.f64 (exp.f64 im)) (/.f64 2 (exp.f64 im))) 2))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(-.f64 (/.f64 1/2 (exp.f64 im)) (-.f64 (/.f64 -1/2 (exp.f64 im)) (exp.f64 im)))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(-.f64 (/.f64 1/2 (exp.f64 im)) (+.f64 (/.f64 -1/2 (exp.f64 im)) (neg.f64 (exp.f64 im))))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(-.f64 (/.f64 1/2 (exp.f64 im)) (/.f64 (/.f64 (-.f64 (/.f64 -1/2 (exp.f64 im)) (exp.f64 im)) 1/2) 2))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(-.f64 (+.f64 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (/.f64 -1/2 (exp.f64 im)))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(-.f64 (+.f64 (exp.f64 (neg.f64 im)) (/.f64 (exp.f64 im) 2)) (/.f64 (exp.f64 im) -2))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(-.f64 (/.f64 3/2 (exp.f64 im)) (+.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (/.f64 -1/2 (exp.f64 im))))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(-.f64 (*.f64 (/.f64 (exp.f64 im) 2) 3) (+.f64 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (/.f64 (exp.f64 im) -2)))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(-.f64 (+.f64 (/.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) 4) (/.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) 2)) (neg.f64 (/.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) 4)))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(-.f64 (+.f64 (/.f64 (exp.f64 im) 4) (/.f64 (exp.f64 im) 2)) (-.f64 (/.f64 -1 (exp.f64 im)) (/.f64 (exp.f64 im) 4)))
(-.f64 (+.f64 (/.f64 (exp.f64 im) 2) (/.f64 (exp.f64 im) 4)) (-.f64 (/.f64 -1 (exp.f64 im)) (/.f64 (exp.f64 im) 4)))
(-.f64 (/.f64 (exp.f64 im) 4) (+.f64 (/.f64 (exp.f64 im) -4) (-.f64 (/.f64 (exp.f64 im) -2) (exp.f64 (neg.f64 im)))))
(-.f64 (/.f64 (*.f64 (exp.f64 im) 3/2) 2) (-.f64 (/.f64 -1 (exp.f64 im)) (/.f64 (exp.f64 im) 4)))
(-.f64 (+.f64 (/.f64 1/4 (exp.f64 im)) (/.f64 1/2 (exp.f64 im))) (-.f64 (neg.f64 (exp.f64 im)) (/.f64 1/4 (exp.f64 im))))
(-.f64 (/.f64 1/4 (exp.f64 im)) (-.f64 (neg.f64 (exp.f64 im)) (/.f64 3/4 (exp.f64 im))))
(-.f64 (exp.f64 im) (-.f64 (/.f64 -1/4 (exp.f64 im)) (/.f64 3/4 (exp.f64 im))))
(-.f64 (-.f64 (exp.f64 im) (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (neg.f64 (exp.f64 im)))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(-.f64 (neg.f64 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (*.f64 (exp.f64 im) -2))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(-.f64 (-.f64 (*.f64 (/.f64 (exp.f64 im) 2) 3) (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (/.f64 (exp.f64 im) -2))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(-.f64 (-.f64 (exp.f64 (neg.f64 im)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (/.f64 -1 (exp.f64 im)))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(-.f64 (neg.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (/.f64 -2 (exp.f64 im)))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(-.f64 (-.f64 (/.f64 3/2 (exp.f64 im)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (/.f64 -1/2 (exp.f64 im)))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(-.f64 (-.f64 (/.f64 (exp.f64 im) 2) (/.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) -2)) (/.f64 -1/2 (exp.f64 im)))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(-.f64 (-.f64 (/.f64 1/2 (exp.f64 im)) (/.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) -2)) (/.f64 (exp.f64 im) -2))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(-.f64 (/.f64 (*.f64 -3 (/.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) -2)) 2) (/.f64 (/.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) -2) 2))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(-.f64 (/.f64 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) 3) 4) (/.f64 (-.f64 (/.f64 -1 (exp.f64 im)) (exp.f64 im)) 4))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(-.f64 (/.f64 (+.f64 (exp.f64 (neg.f64 im)) (/.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) 2)) 2) (/.f64 (-.f64 (/.f64 -1/2 (exp.f64 im)) (*.f64 (/.f64 (exp.f64 im) 2) 3)) 2))
(/.f64 (-.f64 (+.f64 (exp.f64 (neg.f64 im)) (/.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) 2)) (-.f64 (/.f64 -1/2 (exp.f64 im)) (*.f64 (/.f64 (exp.f64 im) 2) 3))) 2)
(/.f64 (-.f64 (*.f64 (exp.f64 im) 3/2) (-.f64 (/.f64 -1/2 (exp.f64 im)) (+.f64 (exp.f64 (neg.f64 im)) (/.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) 2)))) 2)
(/.f64 (-.f64 (*.f64 (exp.f64 im) 3/2) (+.f64 (-.f64 (/.f64 (exp.f64 im) -2) (exp.f64 (neg.f64 im))) (/.f64 -1 (exp.f64 im)))) 2)
(/.f64 (-.f64 (*.f64 (exp.f64 im) 3/2) (+.f64 (/.f64 -1 (exp.f64 im)) (-.f64 (/.f64 (exp.f64 im) -2) (exp.f64 (neg.f64 im))))) 2)
(-.f64 (/.f64 (+.f64 (exp.f64 im) (/.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) 2)) 2) (/.f64 (+.f64 (/.f64 -3/2 (exp.f64 im)) (/.f64 (exp.f64 im) -2)) 2))
(/.f64 (-.f64 (+.f64 (exp.f64 im) (/.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) 2)) (+.f64 (/.f64 (exp.f64 im) -2) (/.f64 -3/2 (exp.f64 im)))) 2)
(-.f64 (+.f64 (/.f64 (exp.f64 im) 2) (/.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) 4)) (+.f64 (/.f64 -3/4 (exp.f64 im)) (/.f64 (exp.f64 im) -4)))
(+.f64 (-.f64 (+.f64 (/.f64 (exp.f64 im) 2) (/.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) 4)) (/.f64 -3/4 (exp.f64 im))) (/.f64 (exp.f64 im) 4))
(+.f64 (-.f64 (/.f64 (+.f64 (exp.f64 (neg.f64 im)) (*.f64 (exp.f64 im) 3)) 4) (/.f64 -3/4 (exp.f64 im))) (/.f64 (exp.f64 im) 4))
(-.f64 (+.f64 (/.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) 4) (/.f64 (exp.f64 im) 2)) (-.f64 (/.f64 -1/2 (exp.f64 im)) (/.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) 4)))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(-.f64 (+.f64 (/.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) 4) (/.f64 1/2 (exp.f64 im))) (-.f64 (/.f64 (exp.f64 im) -2) (/.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) 4)))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) 1)
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(*.f64 1 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(*.f64 -1 (-.f64 (/.f64 -1 (exp.f64 im)) (exp.f64 im)))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(*.f64 2 (/.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) 2))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(*.f64 2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) 1/2))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(*.f64 -2 (/.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) -2))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(*.f64 1/2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) 2))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(*.f64 (-.f64 (/.f64 -1 (exp.f64 im)) (exp.f64 im)) -1)
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(*.f64 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) 2) 1/2)
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(*.f64 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) 4) 1/4)
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(*.f64 1/4 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) 4))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(*.f64 (*.f64 2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) 4)) 1/8)
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(*.f64 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) 1/2) 2)
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(*.f64 1/8 (*.f64 2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) 4)))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(/.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) 1)
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(/.f64 (-.f64 (/.f64 -1 (exp.f64 im)) (exp.f64 im)) -1)
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(/.f64 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) 2) 2)
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(/.f64 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) 4) 4)
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(/.f64 (*.f64 2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) 4)) 8)
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(/.f64 (+.f64 (*.f64 2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) 4)) (*.f64 2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) 4))) 16)
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(/.f64 (+.f64 (*.f64 2 (*.f64 (exp.f64 im) 4)) (/.f64 8 (exp.f64 im))) 8)
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(/.f64 (+.f64 (/.f64 8 (exp.f64 im)) (*.f64 2 (*.f64 (exp.f64 im) 4))) 8)
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(pow.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) 1)
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(neg.f64 (-.f64 (/.f64 -1 (exp.f64 im)) (exp.f64 im)))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(neg.f64 (+.f64 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 (exp.f64 im) -2)))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(neg.f64 (+.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (/.f64 -2 (exp.f64 im))))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))

localize13.0ms (0.1%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.0b
(pow.f64 im 2)
0.0b
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (pow.f64 im 2)))
Compiler

Compiled 30 to 20 computations (33.3% saved)

series4.0ms (0%)

Counts
2 → 24
Calls

9 calls:

TimeVariablePointExpression
1.0ms
im
@inf
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (pow.f64 im 2)))
1.0ms
re
@inf
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (pow.f64 im 2)))
0.0ms
im
@-inf
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (pow.f64 im 2)))
0.0ms
re
@-inf
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (pow.f64 im 2)))
0.0ms
re
@0
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (pow.f64 im 2)))

rewrite129.0ms (1.2%)

Algorithm
batch-egg-rewrite
Rules
884×rational_best-simplify-56
838×rational_best-simplify-62
642×rational_best-simplify-63
570×rational_best-2
570×rational_best-3
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01236
17736
214536
339936
4138236
5655236
Stop Event
node limit
Counts
2 → 62
Calls
Call 1
Inputs
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (pow.f64 im 2)))
(pow.f64 im 2)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2)))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (cos.f64 re) (+.f64 1/2 (/.f64 (pow.f64 im 2) 4))) (*.f64 (cos.f64 re) (+.f64 1/2 (/.f64 (pow.f64 im 2) 4))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))) 8) (+.f64 (/.f64 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))) 8) (*.f64 (cos.f64 re) (+.f64 1/2 (/.f64 (pow.f64 im 2) 4)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))) 8) (/.f64 (/.f64 (*.f64 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))) 3/2) 2) 2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))) 8) (/.f64 (*.f64 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))) 3/2) 4))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2)))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (cos.f64 re) (+.f64 1/2 (/.f64 (pow.f64 im 2) 4))) (neg.f64 (*.f64 (cos.f64 re) (+.f64 1/2 (/.f64 (pow.f64 im 2) 4)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (/.f64 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))) 8) (*.f64 (cos.f64 re) (+.f64 1/2 (/.f64 (pow.f64 im 2) 4)))) (neg.f64 (/.f64 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))) 8)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (/.f64 (*.f64 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))) 3/2) 2) 2) (/.f64 (neg.f64 (*.f64 (cos.f64 re) (+.f64 1/2 (/.f64 (pow.f64 im 2) 4)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (*.f64 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))) 3/2) 4) (/.f64 (/.f64 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))) -2) 4))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cos.f64 re) (+.f64 (*.f64 2 (pow.f64 im 2)) 4)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cos.f64 re) (*.f64 (+.f64 2 (pow.f64 im 2)) 4)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 (+.f64 2 (pow.f64 im 2)) 4) (*.f64 (cos.f64 re) 4)) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cos.f64 re) (*.f64 (+.f64 (*.f64 2 (pow.f64 im 2)) 4) 4)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 (*.f64 (+.f64 2 (pow.f64 im 2)) 4) (*.f64 (cos.f64 re) 4)) 2) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 (cos.f64 re) (*.f64 (+.f64 (*.f64 2 (pow.f64 im 2)) 4) 4)) (*.f64 (cos.f64 re) (*.f64 (+.f64 (*.f64 2 (pow.f64 im 2)) 4) 4))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 (+.f64 (*.f64 2 (pow.f64 im 2)) 4) 4) (*.f64 (cos.f64 re) 4)) 64)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 (cos.f64 re) 4) (*.f64 (+.f64 (*.f64 2 (pow.f64 im 2)) 4) 4)) 64)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 (+.f64 2 (pow.f64 im 2)) 4) (*.f64 2 (*.f64 (cos.f64 re) 4))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 2 (*.f64 (cos.f64 re) 4)) (*.f64 (+.f64 2 (pow.f64 im 2)) 4)) 64)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (neg.f64 (cos.f64 re)) (+.f64 2 (pow.f64 im 2))) -2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (neg.f64 (cos.f64 re)) (+.f64 (*.f64 2 (pow.f64 im 2)) 4)) -4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (neg.f64 (cos.f64 re)) (*.f64 1/2 (+.f64 2 (pow.f64 im 2)))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (neg.f64 (cos.f64 re)) (*.f64 (+.f64 2 (pow.f64 im 2)) 4)) -8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (neg.f64 (cos.f64 re)) (*.f64 (+.f64 (*.f64 2 (pow.f64 im 2)) 4) 4)) -16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (neg.f64 (cos.f64 re)) (*.f64 (+.f64 (*.f64 2 (pow.f64 im 2)) 4) (cos.f64 0))) -4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (neg.f64 (cos.f64 re)) (*.f64 (cos.f64 0) (*.f64 1/2 (+.f64 2 (pow.f64 im 2))))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (neg.f64 (cos.f64 re)) (*.f64 (*.f64 2 (cos.f64 0)) (+.f64 2 (pow.f64 im 2)))) -4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (neg.f64 (cos.f64 re)) (*.f64 (*.f64 2 (cos.f64 0)) (*.f64 (+.f64 2 (pow.f64 im 2)) 4))) -16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cos.f64 re) (-.f64 -2 (pow.f64 im 2))) -2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cos.f64 re) (*.f64 (+.f64 2 (pow.f64 im 2)) -2)) -4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cos.f64 re) (+.f64 -1 (/.f64 (pow.f64 im 2) -2))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2)))) 1)))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (pow.f64 im 2) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (pow.f64 im 2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (pow.f64 im 2) 2) (/.f64 (pow.f64 im 2) 2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (pow.f64 im 2) 4) (+.f64 (/.f64 (pow.f64 im 2) 4) (/.f64 (pow.f64 im 2) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (pow.f64 im 2) 4) (/.f64 (*.f64 -3 (/.f64 (pow.f64 im 2) -2)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (pow.f64 im 2) 4) (/.f64 (*.f64 (pow.f64 im 2) 3) 4))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (pow.f64 im 2) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (pow.f64 im 2) 2) (/.f64 (pow.f64 im 2) -2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (/.f64 (pow.f64 im 2) 4) (/.f64 (pow.f64 im 2) 2)) (neg.f64 (/.f64 (pow.f64 im 2) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (*.f64 -3 (/.f64 (pow.f64 im 2) -2)) 2) (/.f64 (/.f64 (pow.f64 im 2) -2) 2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (*.f64 (pow.f64 im 2) 3) 4) (/.f64 (neg.f64 (pow.f64 im 2)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 2 (pow.f64 im 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (/.f64 (pow.f64 im 2) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 im 2) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (pow.f64 im 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -2 (/.f64 (pow.f64 im 2) -2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (pow.f64 im 2)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (pow.f64 im 2) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 im 2) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (*.f64 (pow.f64 im 2) 4)) 1/8)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 im 4) 2) 1/16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (pow.f64 im 2) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (pow.f64 im 2)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 im 2) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (pow.f64 im 2) 4)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 (pow.f64 im 2) 4)) (*.f64 2 (*.f64 (pow.f64 im 2) 4))) 16)))))

simplify105.0ms (1%)

Algorithm
egg-herbie
Rules
1418×rational_best-simplify-57
820×rational_best-simplify-50
788×rational_best-simplify-75
704×rational_best-simplify-66
648×rational_best-simplify-3
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01832688
14542546
212462518
342572366
Stop Event
node limit
Counts
86 → 123
Calls
Call 1
Inputs
(*.f64 1/2 (+.f64 2 (pow.f64 im 2)))
(+.f64 (*.f64 1/2 (+.f64 2 (pow.f64 im 2))) (*.f64 -1/4 (*.f64 (+.f64 2 (pow.f64 im 2)) (pow.f64 re 2))))
(+.f64 (*.f64 1/2 (+.f64 2 (pow.f64 im 2))) (+.f64 (*.f64 1/48 (*.f64 (+.f64 2 (pow.f64 im 2)) (pow.f64 re 4))) (*.f64 -1/4 (*.f64 (+.f64 2 (pow.f64 im 2)) (pow.f64 re 2)))))
(+.f64 (*.f64 1/2 (+.f64 2 (pow.f64 im 2))) (+.f64 (*.f64 1/48 (*.f64 (+.f64 2 (pow.f64 im 2)) (pow.f64 re 4))) (+.f64 (*.f64 -1/4 (*.f64 (+.f64 2 (pow.f64 im 2)) (pow.f64 re 2))) (*.f64 -1/1440 (*.f64 (+.f64 2 (pow.f64 im 2)) (pow.f64 re 6))))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))))
(cos.f64 re)
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (cos.f64 re))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (cos.f64 re))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (cos.f64 re))
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (cos.f64 re))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (cos.f64 re))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (cos.f64 re))
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (cos.f64 re))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (cos.f64 re))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (cos.f64 re))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2)))) 0)
(+.f64 0 (*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2)))))
(+.f64 (*.f64 (cos.f64 re) (+.f64 1/2 (/.f64 (pow.f64 im 2) 4))) (*.f64 (cos.f64 re) (+.f64 1/2 (/.f64 (pow.f64 im 2) 4))))
(+.f64 (/.f64 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))) 8) (+.f64 (/.f64 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))) 8) (*.f64 (cos.f64 re) (+.f64 1/2 (/.f64 (pow.f64 im 2) 4)))))
(+.f64 (/.f64 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))) 8) (/.f64 (/.f64 (*.f64 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))) 3/2) 2) 2))
(+.f64 (/.f64 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))) 8) (/.f64 (*.f64 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))) 3/2) 4))
(-.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2)))) 0)
(-.f64 (*.f64 (cos.f64 re) (+.f64 1/2 (/.f64 (pow.f64 im 2) 4))) (neg.f64 (*.f64 (cos.f64 re) (+.f64 1/2 (/.f64 (pow.f64 im 2) 4)))))
(-.f64 (+.f64 (/.f64 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))) 8) (*.f64 (cos.f64 re) (+.f64 1/2 (/.f64 (pow.f64 im 2) 4)))) (neg.f64 (/.f64 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))) 8)))
(-.f64 (/.f64 (/.f64 (*.f64 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))) 3/2) 2) 2) (/.f64 (neg.f64 (*.f64 (cos.f64 re) (+.f64 1/2 (/.f64 (pow.f64 im 2) 4)))) 2))
(-.f64 (/.f64 (*.f64 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))) 3/2) 4) (/.f64 (/.f64 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))) -2) 4))
(/.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2)))) 1)
(/.f64 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))) 2)
(/.f64 (*.f64 (cos.f64 re) (+.f64 (*.f64 2 (pow.f64 im 2)) 4)) 4)
(/.f64 (*.f64 (cos.f64 re) (*.f64 (+.f64 2 (pow.f64 im 2)) 4)) 8)
(/.f64 (*.f64 (*.f64 (+.f64 2 (pow.f64 im 2)) 4) (*.f64 (cos.f64 re) 4)) 32)
(/.f64 (*.f64 (cos.f64 re) (*.f64 (+.f64 (*.f64 2 (pow.f64 im 2)) 4) 4)) 16)
(/.f64 (/.f64 (*.f64 (*.f64 (+.f64 2 (pow.f64 im 2)) 4) (*.f64 (cos.f64 re) 4)) 2) 16)
(/.f64 (+.f64 (*.f64 (cos.f64 re) (*.f64 (+.f64 (*.f64 2 (pow.f64 im 2)) 4) 4)) (*.f64 (cos.f64 re) (*.f64 (+.f64 (*.f64 2 (pow.f64 im 2)) 4) 4))) 32)
(/.f64 (*.f64 (*.f64 (+.f64 (*.f64 2 (pow.f64 im 2)) 4) 4) (*.f64 (cos.f64 re) 4)) 64)
(/.f64 (*.f64 (*.f64 (cos.f64 re) 4) (*.f64 (+.f64 (*.f64 2 (pow.f64 im 2)) 4) 4)) 64)
(/.f64 (*.f64 (*.f64 (+.f64 2 (pow.f64 im 2)) 4) (*.f64 2 (*.f64 (cos.f64 re) 4))) 64)
(/.f64 (*.f64 (*.f64 2 (*.f64 (cos.f64 re) 4)) (*.f64 (+.f64 2 (pow.f64 im 2)) 4)) 64)
(/.f64 (*.f64 (neg.f64 (cos.f64 re)) (+.f64 2 (pow.f64 im 2))) -2)
(/.f64 (*.f64 (neg.f64 (cos.f64 re)) (+.f64 (*.f64 2 (pow.f64 im 2)) 4)) -4)
(/.f64 (*.f64 (neg.f64 (cos.f64 re)) (*.f64 1/2 (+.f64 2 (pow.f64 im 2)))) -1)
(/.f64 (*.f64 (neg.f64 (cos.f64 re)) (*.f64 (+.f64 2 (pow.f64 im 2)) 4)) -8)
(/.f64 (*.f64 (neg.f64 (cos.f64 re)) (*.f64 (+.f64 (*.f64 2 (pow.f64 im 2)) 4) 4)) -16)
(/.f64 (*.f64 (neg.f64 (cos.f64 re)) (*.f64 (+.f64 (*.f64 2 (pow.f64 im 2)) 4) (cos.f64 0))) -4)
(/.f64 (*.f64 (neg.f64 (cos.f64 re)) (*.f64 (cos.f64 0) (*.f64 1/2 (+.f64 2 (pow.f64 im 2))))) -1)
(/.f64 (*.f64 (neg.f64 (cos.f64 re)) (*.f64 (*.f64 2 (cos.f64 0)) (+.f64 2 (pow.f64 im 2)))) -4)
(/.f64 (*.f64 (neg.f64 (cos.f64 re)) (*.f64 (*.f64 2 (cos.f64 0)) (*.f64 (+.f64 2 (pow.f64 im 2)) 4))) -16)
(/.f64 (*.f64 (cos.f64 re) (-.f64 -2 (pow.f64 im 2))) -2)
(/.f64 (*.f64 (cos.f64 re) (*.f64 (+.f64 2 (pow.f64 im 2)) -2)) -4)
(/.f64 (*.f64 (cos.f64 re) (+.f64 -1 (/.f64 (pow.f64 im 2) -2))) -1)
(pow.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2)))) 1)
(+.f64 (pow.f64 im 2) 0)
(+.f64 0 (pow.f64 im 2))
(+.f64 (/.f64 (pow.f64 im 2) 2) (/.f64 (pow.f64 im 2) 2))
(+.f64 (/.f64 (pow.f64 im 2) 4) (+.f64 (/.f64 (pow.f64 im 2) 4) (/.f64 (pow.f64 im 2) 2)))
(+.f64 (/.f64 (pow.f64 im 2) 4) (/.f64 (*.f64 -3 (/.f64 (pow.f64 im 2) -2)) 2))
(+.f64 (/.f64 (pow.f64 im 2) 4) (/.f64 (*.f64 (pow.f64 im 2) 3) 4))
(-.f64 (pow.f64 im 2) 0)
(-.f64 (/.f64 (pow.f64 im 2) 2) (/.f64 (pow.f64 im 2) -2))
(-.f64 (+.f64 (/.f64 (pow.f64 im 2) 4) (/.f64 (pow.f64 im 2) 2)) (neg.f64 (/.f64 (pow.f64 im 2) 4)))
(-.f64 (/.f64 (*.f64 -3 (/.f64 (pow.f64 im 2) -2)) 2) (/.f64 (/.f64 (pow.f64 im 2) -2) 2))
(-.f64 (/.f64 (*.f64 (pow.f64 im 2) 3) 4) (/.f64 (neg.f64 (pow.f64 im 2)) 4))
(*.f64 1/2 (*.f64 2 (pow.f64 im 2)))
(*.f64 2 (/.f64 (pow.f64 im 2) 2))
(*.f64 (pow.f64 im 2) 1)
(*.f64 1 (pow.f64 im 2))
(*.f64 -2 (/.f64 (pow.f64 im 2) -2))
(*.f64 (*.f64 2 (pow.f64 im 2)) 1/2)
(*.f64 1/4 (*.f64 (pow.f64 im 2) 4))
(*.f64 (*.f64 (pow.f64 im 2) 4) 1/4)
(*.f64 (*.f64 2 (*.f64 (pow.f64 im 2) 4)) 1/8)
(*.f64 (pow.f64 (*.f64 im 4) 2) 1/16)
(/.f64 (pow.f64 im 2) 1)
(/.f64 (*.f64 2 (pow.f64 im 2)) 2)
(/.f64 (*.f64 (pow.f64 im 2) 4) 4)
(/.f64 (*.f64 2 (*.f64 (pow.f64 im 2) 4)) 8)
(/.f64 (+.f64 (*.f64 2 (*.f64 (pow.f64 im 2) 4)) (*.f64 2 (*.f64 (pow.f64 im 2) 4))) 16)
Outputs
(*.f64 1/2 (+.f64 2 (pow.f64 im 2)))
(+.f64 (*.f64 1/2 (+.f64 2 (pow.f64 im 2))) (*.f64 -1/4 (*.f64 (+.f64 2 (pow.f64 im 2)) (pow.f64 re 2))))
(+.f64 (*.f64 1/2 (+.f64 2 (pow.f64 im 2))) (*.f64 (+.f64 2 (pow.f64 im 2)) (*.f64 (pow.f64 re 2) -1/4)))
(+.f64 (*.f64 1/2 (+.f64 2 (pow.f64 im 2))) (*.f64 (+.f64 2 (pow.f64 im 2)) (*.f64 -1/4 (pow.f64 re 2))))
(+.f64 (*.f64 1/2 (+.f64 2 (pow.f64 im 2))) (+.f64 (*.f64 1/48 (*.f64 (+.f64 2 (pow.f64 im 2)) (pow.f64 re 4))) (*.f64 -1/4 (*.f64 (+.f64 2 (pow.f64 im 2)) (pow.f64 re 2)))))
(+.f64 (*.f64 1/2 (+.f64 2 (pow.f64 im 2))) (+.f64 (*.f64 -1/4 (*.f64 (+.f64 2 (pow.f64 im 2)) (pow.f64 re 2))) (*.f64 1/48 (*.f64 (+.f64 2 (pow.f64 im 2)) (pow.f64 re 4)))))
(+.f64 (*.f64 1/2 (+.f64 2 (pow.f64 im 2))) (+.f64 (*.f64 (+.f64 2 (pow.f64 im 2)) (*.f64 (pow.f64 re 2) -1/4)) (*.f64 (+.f64 2 (pow.f64 im 2)) (*.f64 (pow.f64 re 4) 1/48))))
(+.f64 (*.f64 1/2 (+.f64 2 (pow.f64 im 2))) (+.f64 (*.f64 (+.f64 2 (pow.f64 im 2)) (*.f64 -1/4 (pow.f64 re 2))) (*.f64 (+.f64 2 (pow.f64 im 2)) (*.f64 1/48 (pow.f64 re 4)))))
(+.f64 (*.f64 (+.f64 2 (pow.f64 im 2)) (*.f64 -1/4 (pow.f64 re 2))) (+.f64 (*.f64 1/2 (+.f64 2 (pow.f64 im 2))) (*.f64 (+.f64 2 (pow.f64 im 2)) (*.f64 1/48 (pow.f64 re 4)))))
(+.f64 (*.f64 1/2 (+.f64 2 (pow.f64 im 2))) (+.f64 (*.f64 1/48 (*.f64 (+.f64 2 (pow.f64 im 2)) (pow.f64 re 4))) (+.f64 (*.f64 -1/4 (*.f64 (+.f64 2 (pow.f64 im 2)) (pow.f64 re 2))) (*.f64 -1/1440 (*.f64 (+.f64 2 (pow.f64 im 2)) (pow.f64 re 6))))))
(+.f64 (*.f64 1/2 (+.f64 2 (pow.f64 im 2))) (+.f64 (*.f64 (+.f64 2 (pow.f64 im 2)) (*.f64 (pow.f64 re 2) -1/4)) (+.f64 (*.f64 (+.f64 2 (pow.f64 im 2)) (*.f64 (pow.f64 re 4) 1/48)) (*.f64 (+.f64 2 (pow.f64 im 2)) (*.f64 (pow.f64 re 6) -1/1440)))))
(+.f64 (*.f64 1/2 (+.f64 2 (pow.f64 im 2))) (+.f64 (*.f64 (+.f64 2 (pow.f64 im 2)) (*.f64 -1/4 (pow.f64 re 2))) (+.f64 (*.f64 (+.f64 2 (pow.f64 im 2)) (*.f64 1/48 (pow.f64 re 4))) (*.f64 (+.f64 2 (pow.f64 im 2)) (*.f64 -1/1440 (pow.f64 re 6))))))
(+.f64 (*.f64 (+.f64 2 (pow.f64 im 2)) (*.f64 -1/4 (pow.f64 re 2))) (+.f64 (*.f64 (+.f64 2 (pow.f64 im 2)) (*.f64 -1/1440 (pow.f64 re 6))) (+.f64 (*.f64 1/2 (+.f64 2 (pow.f64 im 2))) (*.f64 (+.f64 2 (pow.f64 im 2)) (*.f64 1/48 (pow.f64 re 4))))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))))
(*.f64 1/2 (*.f64 (+.f64 2 (pow.f64 im 2)) (cos.f64 re)))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))))
(*.f64 1/2 (*.f64 (+.f64 2 (pow.f64 im 2)) (cos.f64 re)))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))))
(*.f64 1/2 (*.f64 (+.f64 2 (pow.f64 im 2)) (cos.f64 re)))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))))
(*.f64 1/2 (*.f64 (+.f64 2 (pow.f64 im 2)) (cos.f64 re)))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))))
(*.f64 1/2 (*.f64 (+.f64 2 (pow.f64 im 2)) (cos.f64 re)))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))))
(*.f64 1/2 (*.f64 (+.f64 2 (pow.f64 im 2)) (cos.f64 re)))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))))
(*.f64 1/2 (*.f64 (+.f64 2 (pow.f64 im 2)) (cos.f64 re)))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))))
(*.f64 1/2 (*.f64 (+.f64 2 (pow.f64 im 2)) (cos.f64 re)))
(cos.f64 re)
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (cos.f64 re))
(+.f64 (cos.f64 re) (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))))
(+.f64 (cos.f64 re) (*.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2))))
(*.f64 (cos.f64 re) (-.f64 (*.f64 1/2 (pow.f64 im 2)) -1))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (cos.f64 re))
(+.f64 (cos.f64 re) (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))))
(+.f64 (cos.f64 re) (*.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2))))
(*.f64 (cos.f64 re) (-.f64 (*.f64 1/2 (pow.f64 im 2)) -1))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (cos.f64 re))
(+.f64 (cos.f64 re) (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))))
(+.f64 (cos.f64 re) (*.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2))))
(*.f64 (cos.f64 re) (-.f64 (*.f64 1/2 (pow.f64 im 2)) -1))
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(*.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(*.f64 (cos.f64 re) (/.f64 (pow.f64 im 2) 2))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (cos.f64 re))
(+.f64 (cos.f64 re) (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))))
(+.f64 (cos.f64 re) (*.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2))))
(*.f64 (cos.f64 re) (-.f64 (*.f64 1/2 (pow.f64 im 2)) -1))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (cos.f64 re))
(+.f64 (cos.f64 re) (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))))
(+.f64 (cos.f64 re) (*.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2))))
(*.f64 (cos.f64 re) (-.f64 (*.f64 1/2 (pow.f64 im 2)) -1))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (cos.f64 re))
(+.f64 (cos.f64 re) (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))))
(+.f64 (cos.f64 re) (*.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2))))
(*.f64 (cos.f64 re) (-.f64 (*.f64 1/2 (pow.f64 im 2)) -1))
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(*.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(*.f64 (cos.f64 re) (/.f64 (pow.f64 im 2) 2))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (cos.f64 re))
(+.f64 (cos.f64 re) (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))))
(+.f64 (cos.f64 re) (*.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2))))
(*.f64 (cos.f64 re) (-.f64 (*.f64 1/2 (pow.f64 im 2)) -1))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (cos.f64 re))
(+.f64 (cos.f64 re) (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))))
(+.f64 (cos.f64 re) (*.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2))))
(*.f64 (cos.f64 re) (-.f64 (*.f64 1/2 (pow.f64 im 2)) -1))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (cos.f64 re))
(+.f64 (cos.f64 re) (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))))
(+.f64 (cos.f64 re) (*.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2))))
(*.f64 (cos.f64 re) (-.f64 (*.f64 1/2 (pow.f64 im 2)) -1))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2)))) 0)
(*.f64 1/2 (*.f64 (+.f64 2 (pow.f64 im 2)) (cos.f64 re)))
(+.f64 0 (*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2)))))
(*.f64 1/2 (*.f64 (+.f64 2 (pow.f64 im 2)) (cos.f64 re)))
(+.f64 (*.f64 (cos.f64 re) (+.f64 1/2 (/.f64 (pow.f64 im 2) 4))) (*.f64 (cos.f64 re) (+.f64 1/2 (/.f64 (pow.f64 im 2) 4))))
(*.f64 (+.f64 1/2 (/.f64 (pow.f64 im 2) 4)) (+.f64 (cos.f64 re) (cos.f64 re)))
(*.f64 (*.f64 (cos.f64 re) (+.f64 1/2 (/.f64 (pow.f64 im 2) 4))) 2)
(+.f64 (/.f64 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))) 8) (+.f64 (/.f64 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))) 8) (*.f64 (cos.f64 re) (+.f64 1/2 (/.f64 (pow.f64 im 2) 4)))))
(+.f64 (/.f64 (*.f64 (+.f64 2 (pow.f64 im 2)) (cos.f64 re)) 8) (+.f64 (*.f64 (cos.f64 re) (+.f64 1/2 (/.f64 (pow.f64 im 2) 4))) (/.f64 (*.f64 (+.f64 2 (pow.f64 im 2)) (cos.f64 re)) 8)))
(+.f64 (*.f64 (cos.f64 re) (+.f64 1/2 (/.f64 (pow.f64 im 2) 4))) (/.f64 (*.f64 (+.f64 2 (pow.f64 im 2)) (cos.f64 re)) 4))
(+.f64 (/.f64 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))) 8) (/.f64 (/.f64 (*.f64 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))) 3/2) 2) 2))
(+.f64 (/.f64 (*.f64 (+.f64 2 (pow.f64 im 2)) (cos.f64 re)) 8) (/.f64 (*.f64 (*.f64 (+.f64 2 (pow.f64 im 2)) (cos.f64 re)) 3/2) 4))
(/.f64 (+.f64 (*.f64 (+.f64 2 (pow.f64 im 2)) (cos.f64 re)) (*.f64 (*.f64 (+.f64 2 (pow.f64 im 2)) (cos.f64 re)) 3)) 8)
(/.f64 (*.f64 (+.f64 2 (pow.f64 im 2)) (*.f64 (cos.f64 re) 8)) 16)
(+.f64 (/.f64 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))) 8) (/.f64 (*.f64 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))) 3/2) 4))
(+.f64 (/.f64 (*.f64 (+.f64 2 (pow.f64 im 2)) (cos.f64 re)) 8) (/.f64 (*.f64 (*.f64 (+.f64 2 (pow.f64 im 2)) (cos.f64 re)) 3/2) 4))
(/.f64 (+.f64 (*.f64 (+.f64 2 (pow.f64 im 2)) (cos.f64 re)) (*.f64 (*.f64 (+.f64 2 (pow.f64 im 2)) (cos.f64 re)) 3)) 8)
(/.f64 (*.f64 (+.f64 2 (pow.f64 im 2)) (*.f64 (cos.f64 re) 8)) 16)
(-.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2)))) 0)
(*.f64 1/2 (*.f64 (+.f64 2 (pow.f64 im 2)) (cos.f64 re)))
(-.f64 (*.f64 (cos.f64 re) (+.f64 1/2 (/.f64 (pow.f64 im 2) 4))) (neg.f64 (*.f64 (cos.f64 re) (+.f64 1/2 (/.f64 (pow.f64 im 2) 4)))))
(*.f64 (+.f64 1/2 (/.f64 (pow.f64 im 2) 4)) (+.f64 (cos.f64 re) (cos.f64 re)))
(*.f64 (*.f64 (cos.f64 re) (+.f64 1/2 (/.f64 (pow.f64 im 2) 4))) 2)
(-.f64 (+.f64 (/.f64 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))) 8) (*.f64 (cos.f64 re) (+.f64 1/2 (/.f64 (pow.f64 im 2) 4)))) (neg.f64 (/.f64 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))) 8)))
(+.f64 (/.f64 (*.f64 (+.f64 2 (pow.f64 im 2)) (cos.f64 re)) 8) (+.f64 (*.f64 (cos.f64 re) (+.f64 1/2 (/.f64 (pow.f64 im 2) 4))) (/.f64 (*.f64 (+.f64 2 (pow.f64 im 2)) (cos.f64 re)) 8)))
(+.f64 (*.f64 (cos.f64 re) (+.f64 1/2 (/.f64 (pow.f64 im 2) 4))) (/.f64 (*.f64 (+.f64 2 (pow.f64 im 2)) (cos.f64 re)) 4))
(-.f64 (/.f64 (/.f64 (*.f64 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))) 3/2) 2) 2) (/.f64 (neg.f64 (*.f64 (cos.f64 re) (+.f64 1/2 (/.f64 (pow.f64 im 2) 4)))) 2))
(/.f64 (-.f64 (/.f64 (*.f64 (*.f64 (+.f64 2 (pow.f64 im 2)) (cos.f64 re)) 3/2) 2) (neg.f64 (*.f64 (cos.f64 re) (+.f64 1/2 (/.f64 (pow.f64 im 2) 4))))) 2)
(-.f64 (/.f64 (*.f64 (+.f64 2 (pow.f64 im 2)) (*.f64 (cos.f64 re) 3/2)) 4) (/.f64 (*.f64 (cos.f64 re) (+.f64 1/2 (/.f64 (pow.f64 im 2) 4))) -2))
(/.f64 (-.f64 (*.f64 (+.f64 2 (pow.f64 im 2)) (*.f64 (cos.f64 re) 3/2)) (*.f64 (+.f64 1/2 (/.f64 (pow.f64 im 2) 4)) (*.f64 (cos.f64 re) -2))) 4)
(-.f64 (/.f64 (*.f64 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))) 3/2) 4) (/.f64 (/.f64 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))) -2) 4))
(+.f64 (/.f64 (*.f64 (+.f64 2 (pow.f64 im 2)) (cos.f64 re)) 8) (/.f64 (*.f64 (*.f64 (+.f64 2 (pow.f64 im 2)) (cos.f64 re)) 3/2) 4))
(/.f64 (+.f64 (*.f64 (+.f64 2 (pow.f64 im 2)) (cos.f64 re)) (*.f64 (*.f64 (+.f64 2 (pow.f64 im 2)) (cos.f64 re)) 3)) 8)
(/.f64 (*.f64 (+.f64 2 (pow.f64 im 2)) (*.f64 (cos.f64 re) 8)) 16)
(/.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2)))) 1)
(*.f64 1/2 (*.f64 (+.f64 2 (pow.f64 im 2)) (cos.f64 re)))
(/.f64 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))) 2)
(*.f64 1/2 (*.f64 (+.f64 2 (pow.f64 im 2)) (cos.f64 re)))
(/.f64 (*.f64 (cos.f64 re) (+.f64 (*.f64 2 (pow.f64 im 2)) 4)) 4)
(/.f64 (*.f64 (cos.f64 re) (+.f64 4 (*.f64 2 (pow.f64 im 2)))) 4)
(/.f64 (*.f64 (cos.f64 re) (*.f64 (+.f64 2 (pow.f64 im 2)) 4)) 8)
(+.f64 (/.f64 (*.f64 (+.f64 2 (pow.f64 im 2)) (cos.f64 re)) 8) (/.f64 (*.f64 (*.f64 (+.f64 2 (pow.f64 im 2)) (cos.f64 re)) 3/2) 4))
(/.f64 (+.f64 (*.f64 (+.f64 2 (pow.f64 im 2)) (cos.f64 re)) (*.f64 (*.f64 (+.f64 2 (pow.f64 im 2)) (cos.f64 re)) 3)) 8)
(/.f64 (*.f64 (+.f64 2 (pow.f64 im 2)) (*.f64 (cos.f64 re) 8)) 16)
(/.f64 (*.f64 (*.f64 (+.f64 2 (pow.f64 im 2)) 4) (*.f64 (cos.f64 re) 4)) 32)
(/.f64 (*.f64 (*.f64 (+.f64 2 (pow.f64 im 2)) 4) (*.f64 4 (cos.f64 re))) 32)
(/.f64 (*.f64 (*.f64 (+.f64 2 (pow.f64 im 2)) (cos.f64 re)) 16) 32)
(/.f64 (*.f64 (+.f64 2 (pow.f64 im 2)) (*.f64 (cos.f64 re) 16)) 32)
(/.f64 (*.f64 (cos.f64 re) (*.f64 (+.f64 2 (pow.f64 im 2)) 16)) 32)
(/.f64 (*.f64 (cos.f64 re) (*.f64 (+.f64 (*.f64 2 (pow.f64 im 2)) 4) 4)) 16)
(/.f64 (*.f64 4 (*.f64 (cos.f64 re) (+.f64 4 (*.f64 2 (pow.f64 im 2))))) 16)
(/.f64 (*.f64 (+.f64 4 (*.f64 2 (pow.f64 im 2))) (*.f64 4 (cos.f64 re))) 16)
(/.f64 (/.f64 (*.f64 (*.f64 (+.f64 2 (pow.f64 im 2)) 4) (*.f64 (cos.f64 re) 4)) 2) 16)
(/.f64 (*.f64 (*.f64 (+.f64 2 (pow.f64 im 2)) 4) (*.f64 4 (cos.f64 re))) 32)
(/.f64 (*.f64 (*.f64 (+.f64 2 (pow.f64 im 2)) (cos.f64 re)) 16) 32)
(/.f64 (*.f64 (+.f64 2 (pow.f64 im 2)) (*.f64 (cos.f64 re) 16)) 32)
(/.f64 (*.f64 (cos.f64 re) (*.f64 (+.f64 2 (pow.f64 im 2)) 16)) 32)
(/.f64 (+.f64 (*.f64 (cos.f64 re) (*.f64 (+.f64 (*.f64 2 (pow.f64 im 2)) 4) 4)) (*.f64 (cos.f64 re) (*.f64 (+.f64 (*.f64 2 (pow.f64 im 2)) 4) 4))) 32)
(/.f64 (*.f64 4 (*.f64 (cos.f64 re) (+.f64 4 (*.f64 2 (pow.f64 im 2))))) 16)
(/.f64 (*.f64 (+.f64 4 (*.f64 2 (pow.f64 im 2))) (*.f64 4 (cos.f64 re))) 16)
(/.f64 (*.f64 (*.f64 (+.f64 (*.f64 2 (pow.f64 im 2)) 4) 4) (*.f64 (cos.f64 re) 4)) 64)
(/.f64 (*.f64 4 (*.f64 (+.f64 4 (*.f64 2 (pow.f64 im 2))) (*.f64 4 (cos.f64 re)))) 64)
(/.f64 (*.f64 (*.f64 (cos.f64 re) (+.f64 4 (*.f64 2 (pow.f64 im 2)))) 16) 64)
(/.f64 (*.f64 (cos.f64 re) (*.f64 (+.f64 4 (*.f64 2 (pow.f64 im 2))) 16)) 64)
(/.f64 (*.f64 (*.f64 (cos.f64 re) 4) (*.f64 (+.f64 (*.f64 2 (pow.f64 im 2)) 4) 4)) 64)
(/.f64 (*.f64 4 (*.f64 (+.f64 4 (*.f64 2 (pow.f64 im 2))) (*.f64 4 (cos.f64 re)))) 64)
(/.f64 (*.f64 (*.f64 (cos.f64 re) (+.f64 4 (*.f64 2 (pow.f64 im 2)))) 16) 64)
(/.f64 (*.f64 (cos.f64 re) (*.f64 (+.f64 4 (*.f64 2 (pow.f64 im 2))) 16)) 64)
(/.f64 (*.f64 (*.f64 (+.f64 2 (pow.f64 im 2)) 4) (*.f64 2 (*.f64 (cos.f64 re) 4))) 64)
(/.f64 (*.f64 (*.f64 (+.f64 2 (pow.f64 im 2)) 4) (*.f64 4 (cos.f64 re))) 32)
(/.f64 (*.f64 (*.f64 (+.f64 2 (pow.f64 im 2)) (cos.f64 re)) 16) 32)
(/.f64 (*.f64 (+.f64 2 (pow.f64 im 2)) (*.f64 (cos.f64 re) 16)) 32)
(/.f64 (*.f64 (cos.f64 re) (*.f64 (+.f64 2 (pow.f64 im 2)) 16)) 32)
(/.f64 (*.f64 (*.f64 2 (*.f64 (cos.f64 re) 4)) (*.f64 (+.f64 2 (pow.f64 im 2)) 4)) 64)
(/.f64 (*.f64 (*.f64 (+.f64 2 (pow.f64 im 2)) 4) (*.f64 4 (cos.f64 re))) 32)
(/.f64 (*.f64 (*.f64 (+.f64 2 (pow.f64 im 2)) (cos.f64 re)) 16) 32)
(/.f64 (*.f64 (+.f64 2 (pow.f64 im 2)) (*.f64 (cos.f64 re) 16)) 32)
(/.f64 (*.f64 (cos.f64 re) (*.f64 (+.f64 2 (pow.f64 im 2)) 16)) 32)
(/.f64 (*.f64 (neg.f64 (cos.f64 re)) (+.f64 2 (pow.f64 im 2))) -2)
(*.f64 1/2 (*.f64 (+.f64 2 (pow.f64 im 2)) (cos.f64 re)))
(/.f64 (*.f64 (neg.f64 (cos.f64 re)) (+.f64 (*.f64 2 (pow.f64 im 2)) 4)) -4)
(/.f64 (*.f64 (+.f64 4 (*.f64 2 (pow.f64 im 2))) (neg.f64 (cos.f64 re))) -4)
(/.f64 (*.f64 (cos.f64 re) (+.f64 -4 (*.f64 (pow.f64 im 2) -2))) -4)
(/.f64 (*.f64 (neg.f64 (cos.f64 re)) (*.f64 1/2 (+.f64 2 (pow.f64 im 2)))) -1)
(*.f64 1/2 (*.f64 (+.f64 2 (pow.f64 im 2)) (cos.f64 re)))
(/.f64 (*.f64 (neg.f64 (cos.f64 re)) (*.f64 (+.f64 2 (pow.f64 im 2)) 4)) -8)
(*.f64 1/2 (*.f64 (+.f64 2 (pow.f64 im 2)) (cos.f64 re)))
(/.f64 (*.f64 (neg.f64 (cos.f64 re)) (*.f64 (+.f64 (*.f64 2 (pow.f64 im 2)) 4) 4)) -16)
(/.f64 (*.f64 4 (*.f64 (+.f64 4 (*.f64 2 (pow.f64 im 2))) (neg.f64 (cos.f64 re)))) -16)
(/.f64 (*.f64 (+.f64 4 (*.f64 2 (pow.f64 im 2))) (*.f64 (cos.f64 re) -4)) -16)
(/.f64 (*.f64 (neg.f64 (cos.f64 re)) (*.f64 (+.f64 (*.f64 2 (pow.f64 im 2)) 4) (cos.f64 0))) -4)
(/.f64 (*.f64 (cos.f64 0) (*.f64 (+.f64 4 (*.f64 2 (pow.f64 im 2))) (neg.f64 (cos.f64 re)))) -4)
(/.f64 (*.f64 (+.f64 4 (*.f64 2 (pow.f64 im 2))) (*.f64 (neg.f64 (cos.f64 re)) (cos.f64 0))) -4)
(/.f64 (*.f64 (+.f64 -4 (*.f64 (pow.f64 im 2) -2)) (*.f64 (cos.f64 re) (cos.f64 0))) -4)
(/.f64 (*.f64 (neg.f64 (cos.f64 re)) (*.f64 (cos.f64 0) (*.f64 1/2 (+.f64 2 (pow.f64 im 2))))) -1)
(neg.f64 (*.f64 (*.f64 1/2 (+.f64 2 (pow.f64 im 2))) (*.f64 (cos.f64 0) (neg.f64 (cos.f64 re)))))
(neg.f64 (*.f64 (cos.f64 0) (*.f64 (+.f64 2 (pow.f64 im 2)) (*.f64 (cos.f64 re) -1/2))))
(neg.f64 (*.f64 (*.f64 (cos.f64 re) (-.f64 -2 (pow.f64 im 2))) (*.f64 1/2 (cos.f64 0))))
(*.f64 (+.f64 2 (pow.f64 im 2)) (*.f64 (*.f64 1/2 (cos.f64 0)) (cos.f64 re)))
(/.f64 (*.f64 (neg.f64 (cos.f64 re)) (*.f64 (*.f64 2 (cos.f64 0)) (+.f64 2 (pow.f64 im 2)))) -4)
(/.f64 (*.f64 (neg.f64 (cos.f64 re)) (*.f64 (+.f64 2 (pow.f64 im 2)) (*.f64 2 (cos.f64 0)))) -4)
(/.f64 (*.f64 (*.f64 (cos.f64 re) (-.f64 -2 (pow.f64 im 2))) (*.f64 2 (cos.f64 0))) -4)
(/.f64 (*.f64 (neg.f64 (cos.f64 re)) (*.f64 (*.f64 2 (cos.f64 0)) (*.f64 (+.f64 2 (pow.f64 im 2)) 4))) -16)
(/.f64 (*.f64 (*.f64 (+.f64 2 (pow.f64 im 2)) 4) (*.f64 (*.f64 2 (cos.f64 0)) (neg.f64 (cos.f64 re)))) -16)
(/.f64 (*.f64 (neg.f64 (cos.f64 re)) (*.f64 (cos.f64 0) (*.f64 (+.f64 2 (pow.f64 im 2)) 8))) -16)
(/.f64 (*.f64 (*.f64 (cos.f64 re) (-.f64 -2 (pow.f64 im 2))) (*.f64 (cos.f64 0) 8)) -16)
(/.f64 (*.f64 (cos.f64 re) (-.f64 -2 (pow.f64 im 2))) -2)
(*.f64 1/2 (*.f64 (+.f64 2 (pow.f64 im 2)) (cos.f64 re)))
(/.f64 (*.f64 (cos.f64 re) (*.f64 (+.f64 2 (pow.f64 im 2)) -2)) -4)
(*.f64 1/2 (*.f64 (+.f64 2 (pow.f64 im 2)) (cos.f64 re)))
(/.f64 (*.f64 (cos.f64 re) (+.f64 -1 (/.f64 (pow.f64 im 2) -2))) -1)
(*.f64 1/2 (*.f64 (+.f64 2 (pow.f64 im 2)) (cos.f64 re)))
(pow.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2)))) 1)
(*.f64 1/2 (*.f64 (+.f64 2 (pow.f64 im 2)) (cos.f64 re)))
(+.f64 (pow.f64 im 2) 0)
(pow.f64 im 2)
(+.f64 0 (pow.f64 im 2))
(pow.f64 im 2)
(+.f64 (/.f64 (pow.f64 im 2) 2) (/.f64 (pow.f64 im 2) 2))
(pow.f64 im 2)
(+.f64 (/.f64 (pow.f64 im 2) 4) (+.f64 (/.f64 (pow.f64 im 2) 4) (/.f64 (pow.f64 im 2) 2)))
(pow.f64 im 2)
(+.f64 (/.f64 (pow.f64 im 2) 4) (/.f64 (*.f64 -3 (/.f64 (pow.f64 im 2) -2)) 2))
(pow.f64 im 2)
(+.f64 (/.f64 (pow.f64 im 2) 4) (/.f64 (*.f64 (pow.f64 im 2) 3) 4))
(pow.f64 im 2)
(-.f64 (pow.f64 im 2) 0)
(pow.f64 im 2)
(-.f64 (/.f64 (pow.f64 im 2) 2) (/.f64 (pow.f64 im 2) -2))
(pow.f64 im 2)
(-.f64 (+.f64 (/.f64 (pow.f64 im 2) 4) (/.f64 (pow.f64 im 2) 2)) (neg.f64 (/.f64 (pow.f64 im 2) 4)))
(pow.f64 im 2)
(-.f64 (/.f64 (*.f64 -3 (/.f64 (pow.f64 im 2) -2)) 2) (/.f64 (/.f64 (pow.f64 im 2) -2) 2))
(pow.f64 im 2)
(-.f64 (/.f64 (*.f64 (pow.f64 im 2) 3) 4) (/.f64 (neg.f64 (pow.f64 im 2)) 4))
(pow.f64 im 2)
(*.f64 1/2 (*.f64 2 (pow.f64 im 2)))
(pow.f64 im 2)
(*.f64 2 (/.f64 (pow.f64 im 2) 2))
(pow.f64 im 2)
(*.f64 (pow.f64 im 2) 1)
(pow.f64 im 2)
(*.f64 1 (pow.f64 im 2))
(pow.f64 im 2)
(*.f64 -2 (/.f64 (pow.f64 im 2) -2))
(pow.f64 im 2)
(*.f64 (*.f64 2 (pow.f64 im 2)) 1/2)
(pow.f64 im 2)
(*.f64 1/4 (*.f64 (pow.f64 im 2) 4))
(pow.f64 im 2)
(*.f64 (*.f64 (pow.f64 im 2) 4) 1/4)
(pow.f64 im 2)
(*.f64 (*.f64 2 (*.f64 (pow.f64 im 2) 4)) 1/8)
(pow.f64 im 2)
(*.f64 (pow.f64 (*.f64 im 4) 2) 1/16)
(pow.f64 im 2)
(/.f64 (pow.f64 im 2) 1)
(pow.f64 im 2)
(/.f64 (*.f64 2 (pow.f64 im 2)) 2)
(pow.f64 im 2)
(/.f64 (*.f64 (pow.f64 im 2) 4) 4)
(pow.f64 im 2)
(/.f64 (*.f64 2 (*.f64 (pow.f64 im 2) 4)) 8)
(pow.f64 im 2)
(/.f64 (+.f64 (*.f64 2 (*.f64 (pow.f64 im 2) 4)) (*.f64 2 (*.f64 (pow.f64 im 2) 4))) 16)
(pow.f64 im 2)

localize15.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(pow.f64 im 2)
0.0b
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (cos.f64 re))
0.0b
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
0.1b
(*.f64 (cos.f64 re) (pow.f64 im 2))
Compiler

Compiled 36 to 21 computations (41.7% saved)

series4.0ms (0%)

Counts
3 → 15
Calls

18 calls:

TimeVariablePointExpression
1.0ms
re
@inf
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
0.0ms
re
@inf
(*.f64 (cos.f64 re) (pow.f64 im 2))
0.0ms
im
@inf
(*.f64 (cos.f64 re) (pow.f64 im 2))
0.0ms
re
@0
(*.f64 (cos.f64 re) (pow.f64 im 2))
0.0ms
re
@0
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))

rewrite79.0ms (0.8%)

Algorithm
batch-egg-rewrite
Rules
872×rational_best-simplify-48
842×rational_best-simplify-83
812×rational_best-simplify-63
666×rational_best-simplify-47
644×rational_best-simplify-52
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01273
17973
215273
341969
4154469
Stop Event
node limit
Counts
3 → 134
Calls
Call 1
Inputs
(*.f64 (cos.f64 re) (pow.f64 im 2))
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (cos.f64 re))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (cos.f64 re) (pow.f64 im 2)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 1/2)) (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (cos.f64 re) (pow.f64 im 2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (pow.f64 im 2) (/.f64 (cos.f64 re) 4)) (/.f64 (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 3)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 3)) 4) (*.f64 (pow.f64 im 2) (/.f64 (cos.f64 re) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 3)) 4) (neg.f64 (/.f64 (*.f64 (cos.f64 re) (pow.f64 im 2)) -4)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (cos.f64 re) (pow.f64 im 2)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 1/2)) (*.f64 (*.f64 (cos.f64 re) (pow.f64 im 2)) -1/2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (neg.f64 (*.f64 (cos.f64 re) (pow.f64 im 2))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (pow.f64 im 2) (/.f64 (cos.f64 re) 4)) (*.f64 -3 (*.f64 (pow.f64 im 2) (/.f64 (cos.f64 re) 4))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 3)) 4) (/.f64 (*.f64 (cos.f64 re) (pow.f64 im 2)) -4))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (/.f64 (*.f64 (cos.f64 re) (pow.f64 im 2)) 8) (*.f64 (pow.f64 im 2) (/.f64 (cos.f64 re) 4))) (-.f64 (*.f64 (*.f64 (cos.f64 re) (pow.f64 im 2)) -1/2) (/.f64 (*.f64 (cos.f64 re) (pow.f64 im 2)) 8)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cos.f64 re) (pow.f64 im 2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cos.f64 re) (*.f64 2 (pow.f64 im 2))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 4)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 (pow.f64 im 2) 4) (*.f64 (cos.f64 re) 4)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 (cos.f64 re) (*.f64 2 (pow.f64 im 2))) 4) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 (*.f64 2 (pow.f64 im 2)) 4) (*.f64 2 (*.f64 (cos.f64 re) 4))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 2 (*.f64 (cos.f64 re) 4)) (*.f64 (*.f64 2 (pow.f64 im 2)) 4)) 64)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 (cos.f64 0) 2) (*.f64 (*.f64 (cos.f64 re) (*.f64 2 (pow.f64 im 2))) 4)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 (cos.f64 re) 2) (*.f64 (*.f64 2 (pow.f64 im 2)) 4)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 2 (pow.f64 im 2)) (*.f64 2 (*.f64 (cos.f64 re) 4))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (cos.f64 re) (pow.f64 im 2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (neg.f64 (*.f64 (cos.f64 re) (pow.f64 im 2))))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 1/2)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (pow.f64 im 2) (/.f64 (cos.f64 re) 4)) (*.f64 (pow.f64 im 2) (/.f64 (cos.f64 re) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (*.f64 (cos.f64 re) (pow.f64 im 2)) 8) (+.f64 (/.f64 (*.f64 (cos.f64 re) (pow.f64 im 2)) 8) (*.f64 (pow.f64 im 2) (/.f64 (cos.f64 re) 4))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (*.f64 (cos.f64 re) (pow.f64 im 2)) 8) (/.f64 (/.f64 (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 3)) 4) 2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (*.f64 (cos.f64 re) (pow.f64 im 2)) 8) (/.f64 (*.f64 (pow.f64 im 2) (*.f64 (cos.f64 re) 3/2)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (*.f64 (cos.f64 re) (pow.f64 im 2)) 8) (/.f64 (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 3)) 8))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 1/2)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (*.f64 (*.f64 (cos.f64 re) (pow.f64 im 2)) -1/2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (cos.f64 re) 1/2) (-.f64 (/.f64 (cos.f64 (neg.f64 re)) 2) (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (pow.f64 im 2) (/.f64 (cos.f64 re) 4)) (/.f64 (*.f64 (cos.f64 re) (pow.f64 im 2)) -4))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (*.f64 (cos.f64 re) (pow.f64 im 2)) 8) (/.f64 (-.f64 0 (*.f64 (pow.f64 im 2) (*.f64 (cos.f64 re) 3/2))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (/.f64 (*.f64 (cos.f64 re) (pow.f64 im 2)) 8) (*.f64 (pow.f64 im 2) (/.f64 (cos.f64 re) 4))) (-.f64 0 (/.f64 (*.f64 (cos.f64 re) (pow.f64 im 2)) 8)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (/.f64 (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 3)) 4) 2) (/.f64 (/.f64 (*.f64 (cos.f64 re) (pow.f64 im 2)) -4) 2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (*.f64 (pow.f64 im 2) (*.f64 (cos.f64 re) 3/2)) 4) (/.f64 (*.f64 (*.f64 (cos.f64 re) (pow.f64 im 2)) -1/2) 4))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 3)) 8) (/.f64 (neg.f64 (*.f64 (cos.f64 re) (pow.f64 im 2))) 8))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cos.f64 re) (pow.f64 im 2)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 1/2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 (cos.f64 re) (pow.f64 im 2)) -1/2) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cos.f64 re) (*.f64 2 (pow.f64 im 2))) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 4)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 (pow.f64 im 2) 4) (*.f64 (cos.f64 re) 4)) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 (cos.f64 re) (*.f64 2 (pow.f64 im 2))) 4) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 (cos.f64 re) (pow.f64 im 2)) (-.f64 (cos.f64 (neg.f64 re)) (cos.f64 re))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 (*.f64 (pow.f64 im 2) 4) (*.f64 (cos.f64 re) 4)) 2) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 (cos.f64 re) (pow.f64 im 2)) (+.f64 (cos.f64 (/.f64 (+.f64 (PI.f64) (-.f64 (PI.f64) (+.f64 re re))) 2)) (cos.f64 (-.f64 re (-.f64 (/.f64 (PI.f64) 2) (/.f64 (PI.f64) 2)))))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 (cos.f64 re) (pow.f64 im 2)) (+.f64 (cos.f64 (/.f64 (+.f64 (PI.f64) (-.f64 (PI.f64) (+.f64 re re))) 2)) (cos.f64 (/.f64 (-.f64 (-.f64 (PI.f64) (+.f64 re re)) (PI.f64)) 2)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 (cos.f64 re) (*.f64 2 (pow.f64 im 2))) (+.f64 (-.f64 (cos.f64 (neg.f64 re)) (cos.f64 re)) (-.f64 (cos.f64 (neg.f64 re)) (cos.f64 re)))) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 (cos.f64 re) 4) (*.f64 (*.f64 2 (pow.f64 im 2)) 4)) 64)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 (pow.f64 im 2) 4) (*.f64 2 (*.f64 (cos.f64 re) 4))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 (*.f64 2 (pow.f64 im 2)) 4) (*.f64 (cos.f64 re) 4)) 64)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 2 (*.f64 (cos.f64 re) 4)) (*.f64 (pow.f64 im 2) 4)) 64)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 (cos.f64 0) 2) (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 4))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 1/2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (*.f64 (*.f64 (cos.f64 re) (pow.f64 im 2)) -1/2))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (cos.f64 re) (*.f64 (*.f64 (cos.f64 re) (pow.f64 im 2)) -1/2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (cos.f64 re) (+.f64 (+.f64 (cos.f64 re) (*.f64 (*.f64 (cos.f64 re) (pow.f64 im 2)) -1/2)) (neg.f64 (cos.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (cos.f64 re) (pow.f64 im 2)) (*.f64 (cos.f64 re) (+.f64 -1 (*.f64 (pow.f64 im 2) 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (cos.f64 re) (pow.f64 im 2)) (+.f64 (*.f64 (cos.f64 re) (+.f64 -1 (*.f64 (pow.f64 im 2) 1/2))) 0))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 1/2)) (neg.f64 (cos.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 1/2)) (+.f64 (*.f64 (cos.f64 re) (+.f64 -1 (*.f64 (pow.f64 im 2) 1/2))) (*.f64 (*.f64 (cos.f64 re) (pow.f64 im 2)) -1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (cos.f64 re) (+.f64 1 (*.f64 (pow.f64 im 2) 1/2))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (*.f64 (cos.f64 re) (-.f64 -1 (*.f64 (pow.f64 im 2) 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (+.f64 (*.f64 (cos.f64 re) (+.f64 -1 (*.f64 (pow.f64 im 2) 1/2))) (neg.f64 (*.f64 (cos.f64 re) (pow.f64 im 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (+.f64 (+.f64 (cos.f64 re) (*.f64 (*.f64 (cos.f64 re) (pow.f64 im 2)) -1/2)) (*.f64 (cos.f64 re) -2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (cos.f64 re) 2) (+.f64 (cos.f64 re) (*.f64 (*.f64 (cos.f64 re) (pow.f64 im 2)) -1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (cos.f64 re) 2) (+.f64 (+.f64 (cos.f64 re) (*.f64 (*.f64 (cos.f64 re) (pow.f64 im 2)) -1/2)) 0))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (cos.f64 re) 1/2) (-.f64 0 (*.f64 (cos.f64 re) (+.f64 1/2 (*.f64 (pow.f64 im 2) 1/2)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (cos.f64 re) 1/2) (-.f64 (/.f64 (cos.f64 (neg.f64 re)) 2) (*.f64 (cos.f64 re) (+.f64 1 (*.f64 (pow.f64 im 2) 1/2)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (cos.f64 re) 1/2) (+.f64 (/.f64 (cos.f64 re) -2) (*.f64 (*.f64 (cos.f64 re) (pow.f64 im 2)) -1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (cos.f64 re) 1/2) (/.f64 (-.f64 0 (*.f64 (cos.f64 re) (+.f64 1 (pow.f64 im 2)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (pow.f64 im 2) (/.f64 (cos.f64 re) 4)) (-.f64 (/.f64 (*.f64 (cos.f64 re) (pow.f64 im 2)) -4) (cos.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (pow.f64 im 2) (/.f64 (cos.f64 re) 4)) (+.f64 (/.f64 (*.f64 (cos.f64 re) (pow.f64 im 2)) -4) (neg.f64 (cos.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (pow.f64 im 2) (/.f64 (cos.f64 re) 4)) (/.f64 (-.f64 0 (*.f64 (cos.f64 re) (+.f64 (*.f64 (pow.f64 im 2) 1/2) 2))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))) 4) (neg.f64 (/.f64 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))) 4) (/.f64 (neg.f64 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2)))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 3)) 4) (+.f64 (*.f64 (cos.f64 re) (+.f64 -1 (*.f64 (pow.f64 im 2) 1/2))) (/.f64 (*.f64 (cos.f64 re) (pow.f64 im 2)) -4)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 (cos.f64 re) (/.f64 (*.f64 (cos.f64 re) (pow.f64 im 2)) -4)) (/.f64 (*.f64 (cos.f64 re) (pow.f64 im 2)) -4))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (cos.f64 re) (+.f64 1/2 (*.f64 (pow.f64 im 2) 1/2))) (/.f64 (cos.f64 re) -2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (cos.f64 re) 3/2) (+.f64 (+.f64 (cos.f64 re) (*.f64 (*.f64 (cos.f64 re) (pow.f64 im 2)) -1/2)) (/.f64 (cos.f64 re) -2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (cos.f64 (/.f64 re 2)) (cos.f64 (/.f64 re 2))) (+.f64 (*.f64 (*.f64 (cos.f64 re) (pow.f64 im 2)) -1/2) (*.f64 (sin.f64 (/.f64 re 2)) (sin.f64 (/.f64 re 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (cos.f64 (/.f64 re 2)) (cos.f64 (/.f64 re 2))) (+.f64 (*.f64 (sin.f64 (/.f64 re 2)) (sin.f64 (/.f64 re 2))) (*.f64 (*.f64 (cos.f64 re) (pow.f64 im 2)) -1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (/.f64 (cos.f64 re) 4) (*.f64 (cos.f64 re) 1/2)) (-.f64 (*.f64 (*.f64 (cos.f64 re) (pow.f64 im 2)) -1/2) (/.f64 (cos.f64 re) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (/.f64 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))) 8) (/.f64 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))) 4)) (-.f64 0 (/.f64 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))) 8)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (/.f64 (*.f64 (cos.f64 re) (pow.f64 im 2)) 8) (*.f64 (pow.f64 im 2) (/.f64 (cos.f64 re) 4))) (-.f64 (neg.f64 (cos.f64 re)) (/.f64 (*.f64 (cos.f64 re) (pow.f64 im 2)) 8)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 (*.f64 (cos.f64 (/.f64 re 2)) (cos.f64 (/.f64 re 2))) (*.f64 (*.f64 (cos.f64 re) (pow.f64 im 2)) -1/2)) (*.f64 (sin.f64 (/.f64 re 2)) (sin.f64 (/.f64 re 2))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 1/2)) (*.f64 (cos.f64 re) (+.f64 -1 (*.f64 (pow.f64 im 2) 1/2)))) (*.f64 (*.f64 (cos.f64 re) (pow.f64 im 2)) -1/2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 0 (*.f64 (cos.f64 re) (+.f64 -1 (*.f64 (pow.f64 im 2) 1/2)))) (neg.f64 (*.f64 (cos.f64 re) (pow.f64 im 2))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 (/.f64 (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 3)) 4) (*.f64 (cos.f64 re) (+.f64 -1 (*.f64 (pow.f64 im 2) 1/2)))) (/.f64 (*.f64 (cos.f64 re) (pow.f64 im 2)) -4))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 (cos.f64 re) (+.f64 (cos.f64 re) (*.f64 (*.f64 (cos.f64 re) (pow.f64 im 2)) -1/2))) (neg.f64 (cos.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 0 (+.f64 (cos.f64 re) (*.f64 (*.f64 (cos.f64 re) (pow.f64 im 2)) -1/2))) (*.f64 (cos.f64 re) -2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 (*.f64 (cos.f64 re) 3/2) (+.f64 (cos.f64 re) (*.f64 (*.f64 (cos.f64 re) (pow.f64 im 2)) -1/2))) (/.f64 (cos.f64 re) -2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 (*.f64 (cos.f64 re) 1/2) (neg.f64 (/.f64 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))) 4))) (/.f64 (*.f64 (cos.f64 re) (pow.f64 im 2)) -4))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 (*.f64 (pow.f64 im 2) (/.f64 (cos.f64 re) 4)) (neg.f64 (/.f64 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))) 4))) (/.f64 (cos.f64 re) -2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (+.f64 (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 1/2)) (/.f64 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))) 4)) 2) (/.f64 (+.f64 (*.f64 (cos.f64 re) -3/2) (/.f64 (*.f64 (cos.f64 re) (pow.f64 im 2)) -4)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (/.f64 (*.f64 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))) 3/2) 2) 2) (/.f64 (neg.f64 (/.f64 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))) 4)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (*.f64 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))) 3/2) 4) (/.f64 (*.f64 (cos.f64 re) (-.f64 -1 (*.f64 (pow.f64 im 2) 1/2))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (+.f64 (cos.f64 re) (/.f64 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))) 4)) 2) (/.f64 (+.f64 (*.f64 -3 (*.f64 (pow.f64 im 2) (/.f64 (cos.f64 re) 4))) (/.f64 (cos.f64 re) -2)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 1/2)) (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 1/2))) (*.f64 (cos.f64 re) (-.f64 -1 (*.f64 (pow.f64 im 2) 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (*.f64 (pow.f64 im 2) (/.f64 (cos.f64 re) 4)) (*.f64 (cos.f64 (/.f64 re 2)) (cos.f64 (/.f64 re 2)))) (-.f64 (*.f64 (sin.f64 (/.f64 re 2)) (sin.f64 (/.f64 re 2))) (*.f64 (pow.f64 im 2) (/.f64 (cos.f64 re) 4))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (/.f64 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))) 8) (*.f64 (cos.f64 re) 1/2)) (-.f64 (/.f64 (*.f64 (cos.f64 re) (pow.f64 im 2)) -4) (/.f64 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))) 8)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (/.f64 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))) 8) (*.f64 (pow.f64 im 2) (/.f64 (cos.f64 re) 4))) (-.f64 (/.f64 (cos.f64 re) -2) (/.f64 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))) 8)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cos.f64 re) (+.f64 1 (*.f64 (pow.f64 im 2) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cos.f64 re) (+.f64 (cos.f64 0) (*.f64 (pow.f64 im 2) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cos.f64 re) (+.f64 1 (*.f64 (pow.f64 im 2) 1/2))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (*.f64 (cos.f64 re) (+.f64 1 (*.f64 (pow.f64 im 2) 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 2 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cos.f64 re) 1/2) (+.f64 2 (pow.f64 im 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cos.f64 re) 1/2) (+.f64 (*.f64 (cos.f64 0) 2) (pow.f64 im 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cos.f64 re) 1/2) (+.f64 (pow.f64 im 2) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cos.f64 re) 1/2) (+.f64 (pow.f64 im 2) (*.f64 (cos.f64 0) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2)))) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 1 (*.f64 (pow.f64 im 2) 1/2)) (cos.f64 re))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (cos.f64 0) (*.f64 (pow.f64 im 2) 1/2)) (cos.f64 re))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))) 4) 1/8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cos.f64 re) (+.f64 1 (*.f64 (pow.f64 im 2) 1/2))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2)))) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))) 4) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 (cos.f64 re) 4)) (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 4))) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 4)) (*.f64 2 (*.f64 (cos.f64 re) 4))) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 (cos.f64 re) 4) (*.f64 -2 (*.f64 (cos.f64 re) (pow.f64 im 2)))) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 (cos.f64 re) (*.f64 2 (pow.f64 im 2))) (neg.f64 (*.f64 (cos.f64 re) 4))) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))) (+.f64 (cos.f64 (/.f64 (+.f64 (PI.f64) (-.f64 (PI.f64) (+.f64 re re))) 2)) (cos.f64 (-.f64 re (-.f64 (/.f64 (PI.f64) 2) (/.f64 (PI.f64) 2)))))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))) (+.f64 (cos.f64 (/.f64 (+.f64 (PI.f64) (-.f64 (PI.f64) (+.f64 re re))) 2)) (cos.f64 (/.f64 (-.f64 (-.f64 (PI.f64) (+.f64 re re)) (PI.f64)) 2)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 2 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2)))) (+.f64 (-.f64 (cos.f64 (neg.f64 re)) (cos.f64 re)) (-.f64 (cos.f64 (neg.f64 re)) (cos.f64 re)))) 4)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (cos.f64 re) (+.f64 1 (*.f64 (pow.f64 im 2) 1/2))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (*.f64 (cos.f64 re) (-.f64 -1 (*.f64 (pow.f64 im 2) 1/2))))))))

simplify108.0ms (1%)

Algorithm
egg-herbie
Rules
824×rational_best-simplify-47
672×rational_best-simplify-50
660×rational_best-simplify-1
652×rational_best-simplify-57
592×rational_best-simplify-3
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
03836343
19735913
225085539
Stop Event
node limit
Counts
149 → 262
Calls
Call 1
Inputs
(pow.f64 im 2)
(+.f64 (pow.f64 im 2) (*.f64 -1/2 (*.f64 (pow.f64 re 2) (pow.f64 im 2))))
(+.f64 (*.f64 1/24 (*.f64 (pow.f64 re 4) (pow.f64 im 2))) (+.f64 (pow.f64 im 2) (*.f64 -1/2 (*.f64 (pow.f64 re 2) (pow.f64 im 2)))))
(+.f64 (*.f64 1/24 (*.f64 (pow.f64 re 4) (pow.f64 im 2))) (+.f64 (pow.f64 im 2) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 re 2) (pow.f64 im 2))) (*.f64 -1/720 (*.f64 (pow.f64 re 6) (pow.f64 im 2))))))
(*.f64 1/2 (pow.f64 im 2))
(+.f64 (*.f64 1/2 (pow.f64 im 2)) (*.f64 -1/4 (*.f64 (pow.f64 re 2) (pow.f64 im 2))))
(+.f64 (*.f64 1/2 (pow.f64 im 2)) (+.f64 (*.f64 1/48 (*.f64 (pow.f64 re 4) (pow.f64 im 2))) (*.f64 -1/4 (*.f64 (pow.f64 re 2) (pow.f64 im 2)))))
(+.f64 (*.f64 -1/1440 (*.f64 (pow.f64 re 6) (pow.f64 im 2))) (+.f64 (*.f64 1/2 (pow.f64 im 2)) (+.f64 (*.f64 1/48 (*.f64 (pow.f64 re 4) (pow.f64 im 2))) (*.f64 -1/4 (*.f64 (pow.f64 re 2) (pow.f64 im 2))))))
(+.f64 1 (*.f64 1/2 (pow.f64 im 2)))
(+.f64 1 (+.f64 (*.f64 1/2 (pow.f64 im 2)) (*.f64 (-.f64 (*.f64 -1/4 (pow.f64 im 2)) 1/2) (pow.f64 re 2))))
(+.f64 1 (+.f64 (*.f64 (pow.f64 re 4) (+.f64 1/24 (*.f64 1/48 (pow.f64 im 2)))) (+.f64 (*.f64 1/2 (pow.f64 im 2)) (*.f64 (-.f64 (*.f64 -1/4 (pow.f64 im 2)) 1/2) (pow.f64 re 2)))))
(+.f64 1 (+.f64 (*.f64 (pow.f64 re 4) (+.f64 1/24 (*.f64 1/48 (pow.f64 im 2)))) (+.f64 (*.f64 1/2 (pow.f64 im 2)) (+.f64 (*.f64 (-.f64 (*.f64 -1/4 (pow.f64 im 2)) 1/2) (pow.f64 re 2)) (*.f64 (-.f64 (*.f64 -1/1440 (pow.f64 im 2)) 1/720) (pow.f64 re 6))))))
(cos.f64 re)
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(+.f64 (*.f64 (cos.f64 re) (pow.f64 im 2)) 0)
(+.f64 (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 1/2)) (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 1/2)))
(+.f64 0 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(+.f64 (*.f64 (pow.f64 im 2) (/.f64 (cos.f64 re) 4)) (/.f64 (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 3)) 4))
(+.f64 (/.f64 (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 3)) 4) (*.f64 (pow.f64 im 2) (/.f64 (cos.f64 re) 4)))
(+.f64 (/.f64 (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 3)) 4) (neg.f64 (/.f64 (*.f64 (cos.f64 re) (pow.f64 im 2)) -4)))
(-.f64 (*.f64 (cos.f64 re) (pow.f64 im 2)) 0)
(-.f64 (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 1/2)) (*.f64 (*.f64 (cos.f64 re) (pow.f64 im 2)) -1/2))
(-.f64 0 (neg.f64 (*.f64 (cos.f64 re) (pow.f64 im 2))))
(-.f64 (*.f64 (pow.f64 im 2) (/.f64 (cos.f64 re) 4)) (*.f64 -3 (*.f64 (pow.f64 im 2) (/.f64 (cos.f64 re) 4))))
(-.f64 (/.f64 (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 3)) 4) (/.f64 (*.f64 (cos.f64 re) (pow.f64 im 2)) -4))
(-.f64 (+.f64 (/.f64 (*.f64 (cos.f64 re) (pow.f64 im 2)) 8) (*.f64 (pow.f64 im 2) (/.f64 (cos.f64 re) 4))) (-.f64 (*.f64 (*.f64 (cos.f64 re) (pow.f64 im 2)) -1/2) (/.f64 (*.f64 (cos.f64 re) (pow.f64 im 2)) 8)))
(/.f64 (*.f64 (cos.f64 re) (pow.f64 im 2)) 1)
(/.f64 (*.f64 (cos.f64 re) (*.f64 2 (pow.f64 im 2))) 2)
(/.f64 (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 4)) 4)
(/.f64 (*.f64 (*.f64 (pow.f64 im 2) 4) (*.f64 (cos.f64 re) 4)) 16)
(/.f64 (*.f64 (*.f64 (cos.f64 re) (*.f64 2 (pow.f64 im 2))) 4) 8)
(/.f64 (*.f64 (*.f64 (*.f64 2 (pow.f64 im 2)) 4) (*.f64 2 (*.f64 (cos.f64 re) 4))) 64)
(/.f64 (*.f64 (*.f64 2 (*.f64 (cos.f64 re) 4)) (*.f64 (*.f64 2 (pow.f64 im 2)) 4)) 64)
(/.f64 (*.f64 (*.f64 (cos.f64 0) 2) (*.f64 (*.f64 (cos.f64 re) (*.f64 2 (pow.f64 im 2))) 4)) 16)
(/.f64 (*.f64 (*.f64 (cos.f64 re) 2) (*.f64 (*.f64 2 (pow.f64 im 2)) 4)) 16)
(/.f64 (*.f64 (*.f64 2 (pow.f64 im 2)) (*.f64 2 (*.f64 (cos.f64 re) 4))) 16)
(pow.f64 (*.f64 (cos.f64 re) (pow.f64 im 2)) 1)
(neg.f64 (neg.f64 (*.f64 (cos.f64 re) (pow.f64 im 2))))
(+.f64 (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 1/2)) 0)
(+.f64 0 (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 1/2)))
(+.f64 (*.f64 (pow.f64 im 2) (/.f64 (cos.f64 re) 4)) (*.f64 (pow.f64 im 2) (/.f64 (cos.f64 re) 4)))
(+.f64 (/.f64 (*.f64 (cos.f64 re) (pow.f64 im 2)) 8) (+.f64 (/.f64 (*.f64 (cos.f64 re) (pow.f64 im 2)) 8) (*.f64 (pow.f64 im 2) (/.f64 (cos.f64 re) 4))))
(+.f64 (/.f64 (*.f64 (cos.f64 re) (pow.f64 im 2)) 8) (/.f64 (/.f64 (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 3)) 4) 2))
(+.f64 (/.f64 (*.f64 (cos.f64 re) (pow.f64 im 2)) 8) (/.f64 (*.f64 (pow.f64 im 2) (*.f64 (cos.f64 re) 3/2)) 4))
(+.f64 (/.f64 (*.f64 (cos.f64 re) (pow.f64 im 2)) 8) (/.f64 (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 3)) 8))
(-.f64 (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 1/2)) 0)
(-.f64 0 (*.f64 (*.f64 (cos.f64 re) (pow.f64 im 2)) -1/2))
(-.f64 (*.f64 (cos.f64 re) 1/2) (-.f64 (/.f64 (cos.f64 (neg.f64 re)) 2) (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 1/2))))
(-.f64 (*.f64 (pow.f64 im 2) (/.f64 (cos.f64 re) 4)) (/.f64 (*.f64 (cos.f64 re) (pow.f64 im 2)) -4))
(-.f64 (/.f64 (*.f64 (cos.f64 re) (pow.f64 im 2)) 8) (/.f64 (-.f64 0 (*.f64 (pow.f64 im 2) (*.f64 (cos.f64 re) 3/2))) 4))
(-.f64 (+.f64 (/.f64 (*.f64 (cos.f64 re) (pow.f64 im 2)) 8) (*.f64 (pow.f64 im 2) (/.f64 (cos.f64 re) 4))) (-.f64 0 (/.f64 (*.f64 (cos.f64 re) (pow.f64 im 2)) 8)))
(-.f64 (/.f64 (/.f64 (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 3)) 4) 2) (/.f64 (/.f64 (*.f64 (cos.f64 re) (pow.f64 im 2)) -4) 2))
(-.f64 (/.f64 (*.f64 (pow.f64 im 2) (*.f64 (cos.f64 re) 3/2)) 4) (/.f64 (*.f64 (*.f64 (cos.f64 re) (pow.f64 im 2)) -1/2) 4))
(-.f64 (/.f64 (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 3)) 8) (/.f64 (neg.f64 (*.f64 (cos.f64 re) (pow.f64 im 2))) 8))
(/.f64 (*.f64 (cos.f64 re) (pow.f64 im 2)) 2)
(/.f64 (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 1/2)) 1)
(/.f64 (*.f64 (*.f64 (cos.f64 re) (pow.f64 im 2)) -1/2) -1)
(/.f64 (*.f64 (cos.f64 re) (*.f64 2 (pow.f64 im 2))) 4)
(/.f64 (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 4)) 8)
(/.f64 (*.f64 (*.f64 (pow.f64 im 2) 4) (*.f64 (cos.f64 re) 4)) 32)
(/.f64 (*.f64 (*.f64 (cos.f64 re) (*.f64 2 (pow.f64 im 2))) 4) 16)
(/.f64 (-.f64 (*.f64 (cos.f64 re) (pow.f64 im 2)) (-.f64 (cos.f64 (neg.f64 re)) (cos.f64 re))) 2)
(/.f64 (/.f64 (*.f64 (*.f64 (pow.f64 im 2) 4) (*.f64 (cos.f64 re) 4)) 2) 16)
(/.f64 (-.f64 (*.f64 (cos.f64 re) (pow.f64 im 2)) (+.f64 (cos.f64 (/.f64 (+.f64 (PI.f64) (-.f64 (PI.f64) (+.f64 re re))) 2)) (cos.f64 (-.f64 re (-.f64 (/.f64 (PI.f64) 2) (/.f64 (PI.f64) 2)))))) 2)
(/.f64 (-.f64 (*.f64 (cos.f64 re) (pow.f64 im 2)) (+.f64 (cos.f64 (/.f64 (+.f64 (PI.f64) (-.f64 (PI.f64) (+.f64 re re))) 2)) (cos.f64 (/.f64 (-.f64 (-.f64 (PI.f64) (+.f64 re re)) (PI.f64)) 2)))) 2)
(/.f64 (-.f64 (*.f64 (cos.f64 re) (*.f64 2 (pow.f64 im 2))) (+.f64 (-.f64 (cos.f64 (neg.f64 re)) (cos.f64 re)) (-.f64 (cos.f64 (neg.f64 re)) (cos.f64 re)))) 4)
(/.f64 (*.f64 (*.f64 (cos.f64 re) 4) (*.f64 (*.f64 2 (pow.f64 im 2)) 4)) 64)
(/.f64 (*.f64 (*.f64 (pow.f64 im 2) 4) (*.f64 2 (*.f64 (cos.f64 re) 4))) 64)
(/.f64 (*.f64 (*.f64 (*.f64 2 (pow.f64 im 2)) 4) (*.f64 (cos.f64 re) 4)) 64)
(/.f64 (*.f64 (*.f64 2 (*.f64 (cos.f64 re) 4)) (*.f64 (pow.f64 im 2) 4)) 64)
(/.f64 (*.f64 (*.f64 (cos.f64 0) 2) (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 4))) 16)
(pow.f64 (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 1/2)) 1)
(neg.f64 (*.f64 (*.f64 (cos.f64 re) (pow.f64 im 2)) -1/2))
(-.f64 (cos.f64 re) (*.f64 (*.f64 (cos.f64 re) (pow.f64 im 2)) -1/2))
(-.f64 (cos.f64 re) (+.f64 (+.f64 (cos.f64 re) (*.f64 (*.f64 (cos.f64 re) (pow.f64 im 2)) -1/2)) (neg.f64 (cos.f64 re))))
(-.f64 (*.f64 (cos.f64 re) (pow.f64 im 2)) (*.f64 (cos.f64 re) (+.f64 -1 (*.f64 (pow.f64 im 2) 1/2))))
(-.f64 (*.f64 (cos.f64 re) (pow.f64 im 2)) (+.f64 (*.f64 (cos.f64 re) (+.f64 -1 (*.f64 (pow.f64 im 2) 1/2))) 0))
(-.f64 (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 1/2)) (neg.f64 (cos.f64 re)))
(-.f64 (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 1/2)) (+.f64 (*.f64 (cos.f64 re) (+.f64 -1 (*.f64 (pow.f64 im 2) 1/2))) (*.f64 (*.f64 (cos.f64 re) (pow.f64 im 2)) -1/2)))
(-.f64 (*.f64 (cos.f64 re) (+.f64 1 (*.f64 (pow.f64 im 2) 1/2))) 0)
(-.f64 0 (*.f64 (cos.f64 re) (-.f64 -1 (*.f64 (pow.f64 im 2) 1/2))))
(-.f64 0 (+.f64 (*.f64 (cos.f64 re) (+.f64 -1 (*.f64 (pow.f64 im 2) 1/2))) (neg.f64 (*.f64 (cos.f64 re) (pow.f64 im 2)))))
(-.f64 0 (+.f64 (+.f64 (cos.f64 re) (*.f64 (*.f64 (cos.f64 re) (pow.f64 im 2)) -1/2)) (*.f64 (cos.f64 re) -2)))
(-.f64 (*.f64 (cos.f64 re) 2) (+.f64 (cos.f64 re) (*.f64 (*.f64 (cos.f64 re) (pow.f64 im 2)) -1/2)))
(-.f64 (*.f64 (cos.f64 re) 2) (+.f64 (+.f64 (cos.f64 re) (*.f64 (*.f64 (cos.f64 re) (pow.f64 im 2)) -1/2)) 0))
(-.f64 (*.f64 (cos.f64 re) 1/2) (-.f64 0 (*.f64 (cos.f64 re) (+.f64 1/2 (*.f64 (pow.f64 im 2) 1/2)))))
(-.f64 (*.f64 (cos.f64 re) 1/2) (-.f64 (/.f64 (cos.f64 (neg.f64 re)) 2) (*.f64 (cos.f64 re) (+.f64 1 (*.f64 (pow.f64 im 2) 1/2)))))
(-.f64 (*.f64 (cos.f64 re) 1/2) (+.f64 (/.f64 (cos.f64 re) -2) (*.f64 (*.f64 (cos.f64 re) (pow.f64 im 2)) -1/2)))
(-.f64 (*.f64 (cos.f64 re) 1/2) (/.f64 (-.f64 0 (*.f64 (cos.f64 re) (+.f64 1 (pow.f64 im 2)))) 2))
(-.f64 (*.f64 (pow.f64 im 2) (/.f64 (cos.f64 re) 4)) (-.f64 (/.f64 (*.f64 (cos.f64 re) (pow.f64 im 2)) -4) (cos.f64 re)))
(-.f64 (*.f64 (pow.f64 im 2) (/.f64 (cos.f64 re) 4)) (+.f64 (/.f64 (*.f64 (cos.f64 re) (pow.f64 im 2)) -4) (neg.f64 (cos.f64 re))))
(-.f64 (*.f64 (pow.f64 im 2) (/.f64 (cos.f64 re) 4)) (/.f64 (-.f64 0 (*.f64 (cos.f64 re) (+.f64 (*.f64 (pow.f64 im 2) 1/2) 2))) 2))
(-.f64 (/.f64 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))) 4) (neg.f64 (/.f64 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))) 4)))
(-.f64 (/.f64 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))) 4) (/.f64 (neg.f64 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2)))) 4))
(-.f64 (/.f64 (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 3)) 4) (+.f64 (*.f64 (cos.f64 re) (+.f64 -1 (*.f64 (pow.f64 im 2) 1/2))) (/.f64 (*.f64 (cos.f64 re) (pow.f64 im 2)) -4)))
(-.f64 (-.f64 (cos.f64 re) (/.f64 (*.f64 (cos.f64 re) (pow.f64 im 2)) -4)) (/.f64 (*.f64 (cos.f64 re) (pow.f64 im 2)) -4))
(-.f64 (*.f64 (cos.f64 re) (+.f64 1/2 (*.f64 (pow.f64 im 2) 1/2))) (/.f64 (cos.f64 re) -2))
(-.f64 (*.f64 (cos.f64 re) 3/2) (+.f64 (+.f64 (cos.f64 re) (*.f64 (*.f64 (cos.f64 re) (pow.f64 im 2)) -1/2)) (/.f64 (cos.f64 re) -2)))
(-.f64 (*.f64 (cos.f64 (/.f64 re 2)) (cos.f64 (/.f64 re 2))) (+.f64 (*.f64 (*.f64 (cos.f64 re) (pow.f64 im 2)) -1/2) (*.f64 (sin.f64 (/.f64 re 2)) (sin.f64 (/.f64 re 2)))))
(-.f64 (*.f64 (cos.f64 (/.f64 re 2)) (cos.f64 (/.f64 re 2))) (+.f64 (*.f64 (sin.f64 (/.f64 re 2)) (sin.f64 (/.f64 re 2))) (*.f64 (*.f64 (cos.f64 re) (pow.f64 im 2)) -1/2)))
(-.f64 (+.f64 (/.f64 (cos.f64 re) 4) (*.f64 (cos.f64 re) 1/2)) (-.f64 (*.f64 (*.f64 (cos.f64 re) (pow.f64 im 2)) -1/2) (/.f64 (cos.f64 re) 4)))
(-.f64 (+.f64 (/.f64 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))) 8) (/.f64 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))) 4)) (-.f64 0 (/.f64 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))) 8)))
(-.f64 (+.f64 (/.f64 (*.f64 (cos.f64 re) (pow.f64 im 2)) 8) (*.f64 (pow.f64 im 2) (/.f64 (cos.f64 re) 4))) (-.f64 (neg.f64 (cos.f64 re)) (/.f64 (*.f64 (cos.f64 re) (pow.f64 im 2)) 8)))
(-.f64 (-.f64 (*.f64 (cos.f64 (/.f64 re 2)) (cos.f64 (/.f64 re 2))) (*.f64 (*.f64 (cos.f64 re) (pow.f64 im 2)) -1/2)) (*.f64 (sin.f64 (/.f64 re 2)) (sin.f64 (/.f64 re 2))))
(-.f64 (-.f64 (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 1/2)) (*.f64 (cos.f64 re) (+.f64 -1 (*.f64 (pow.f64 im 2) 1/2)))) (*.f64 (*.f64 (cos.f64 re) (pow.f64 im 2)) -1/2))
(-.f64 (-.f64 0 (*.f64 (cos.f64 re) (+.f64 -1 (*.f64 (pow.f64 im 2) 1/2)))) (neg.f64 (*.f64 (cos.f64 re) (pow.f64 im 2))))
(-.f64 (-.f64 (/.f64 (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 3)) 4) (*.f64 (cos.f64 re) (+.f64 -1 (*.f64 (pow.f64 im 2) 1/2)))) (/.f64 (*.f64 (cos.f64 re) (pow.f64 im 2)) -4))
(-.f64 (-.f64 (cos.f64 re) (+.f64 (cos.f64 re) (*.f64 (*.f64 (cos.f64 re) (pow.f64 im 2)) -1/2))) (neg.f64 (cos.f64 re)))
(-.f64 (-.f64 0 (+.f64 (cos.f64 re) (*.f64 (*.f64 (cos.f64 re) (pow.f64 im 2)) -1/2))) (*.f64 (cos.f64 re) -2))
(-.f64 (-.f64 (*.f64 (cos.f64 re) 3/2) (+.f64 (cos.f64 re) (*.f64 (*.f64 (cos.f64 re) (pow.f64 im 2)) -1/2))) (/.f64 (cos.f64 re) -2))
(-.f64 (-.f64 (*.f64 (cos.f64 re) 1/2) (neg.f64 (/.f64 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))) 4))) (/.f64 (*.f64 (cos.f64 re) (pow.f64 im 2)) -4))
(-.f64 (-.f64 (*.f64 (pow.f64 im 2) (/.f64 (cos.f64 re) 4)) (neg.f64 (/.f64 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))) 4))) (/.f64 (cos.f64 re) -2))
(-.f64 (/.f64 (+.f64 (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 1/2)) (/.f64 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))) 4)) 2) (/.f64 (+.f64 (*.f64 (cos.f64 re) -3/2) (/.f64 (*.f64 (cos.f64 re) (pow.f64 im 2)) -4)) 2))
(-.f64 (/.f64 (/.f64 (*.f64 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))) 3/2) 2) 2) (/.f64 (neg.f64 (/.f64 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))) 4)) 2))
(-.f64 (/.f64 (*.f64 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))) 3/2) 4) (/.f64 (*.f64 (cos.f64 re) (-.f64 -1 (*.f64 (pow.f64 im 2) 1/2))) 4))
(-.f64 (/.f64 (+.f64 (cos.f64 re) (/.f64 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))) 4)) 2) (/.f64 (+.f64 (*.f64 -3 (*.f64 (pow.f64 im 2) (/.f64 (cos.f64 re) 4))) (/.f64 (cos.f64 re) -2)) 2))
(-.f64 (-.f64 (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 1/2)) (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 1/2))) (*.f64 (cos.f64 re) (-.f64 -1 (*.f64 (pow.f64 im 2) 1/2))))
(-.f64 (+.f64 (*.f64 (pow.f64 im 2) (/.f64 (cos.f64 re) 4)) (*.f64 (cos.f64 (/.f64 re 2)) (cos.f64 (/.f64 re 2)))) (-.f64 (*.f64 (sin.f64 (/.f64 re 2)) (sin.f64 (/.f64 re 2))) (*.f64 (pow.f64 im 2) (/.f64 (cos.f64 re) 4))))
(-.f64 (+.f64 (/.f64 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))) 8) (*.f64 (cos.f64 re) 1/2)) (-.f64 (/.f64 (*.f64 (cos.f64 re) (pow.f64 im 2)) -4) (/.f64 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))) 8)))
(-.f64 (+.f64 (/.f64 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))) 8) (*.f64 (pow.f64 im 2) (/.f64 (cos.f64 re) 4))) (-.f64 (/.f64 (cos.f64 re) -2) (/.f64 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))) 8)))
(*.f64 (cos.f64 re) (+.f64 1 (*.f64 (pow.f64 im 2) 1/2)))
(*.f64 (cos.f64 re) (+.f64 (cos.f64 0) (*.f64 (pow.f64 im 2) 1/2)))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))))
(*.f64 (*.f64 (cos.f64 re) (+.f64 1 (*.f64 (pow.f64 im 2) 1/2))) 1)
(*.f64 1 (*.f64 (cos.f64 re) (+.f64 1 (*.f64 (pow.f64 im 2) 1/2))))
(*.f64 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))) 1/2)
(*.f64 1/4 (*.f64 2 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2)))))
(*.f64 (*.f64 (cos.f64 re) 1/2) (+.f64 2 (pow.f64 im 2)))
(*.f64 (*.f64 (cos.f64 re) 1/2) (+.f64 (*.f64 (cos.f64 0) 2) (pow.f64 im 2)))
(*.f64 (*.f64 (cos.f64 re) 1/2) (+.f64 (pow.f64 im 2) 2))
(*.f64 (*.f64 (cos.f64 re) 1/2) (+.f64 (pow.f64 im 2) (*.f64 (cos.f64 0) 2)))
(*.f64 (*.f64 2 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2)))) 1/4)
(*.f64 (+.f64 1 (*.f64 (pow.f64 im 2) 1/2)) (cos.f64 re))
(*.f64 (+.f64 (cos.f64 0) (*.f64 (pow.f64 im 2) 1/2)) (cos.f64 re))
(*.f64 (*.f64 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))) 4) 1/8)
(/.f64 (*.f64 (cos.f64 re) (+.f64 1 (*.f64 (pow.f64 im 2) 1/2))) 1)
(/.f64 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))) 2)
(/.f64 (*.f64 2 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2)))) 4)
(/.f64 (*.f64 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))) 4) 8)
(/.f64 (+.f64 (*.f64 2 (*.f64 (cos.f64 re) 4)) (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 4))) 8)
(/.f64 (+.f64 (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 4)) (*.f64 2 (*.f64 (cos.f64 re) 4))) 8)
(/.f64 (-.f64 (*.f64 (cos.f64 re) 4) (*.f64 -2 (*.f64 (cos.f64 re) (pow.f64 im 2)))) 4)
(/.f64 (-.f64 (*.f64 (cos.f64 re) (*.f64 2 (pow.f64 im 2))) (neg.f64 (*.f64 (cos.f64 re) 4))) 4)
(/.f64 (-.f64 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))) (+.f64 (cos.f64 (/.f64 (+.f64 (PI.f64) (-.f64 (PI.f64) (+.f64 re re))) 2)) (cos.f64 (-.f64 re (-.f64 (/.f64 (PI.f64) 2) (/.f64 (PI.f64) 2)))))) 2)
(/.f64 (-.f64 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))) (+.f64 (cos.f64 (/.f64 (+.f64 (PI.f64) (-.f64 (PI.f64) (+.f64 re re))) 2)) (cos.f64 (/.f64 (-.f64 (-.f64 (PI.f64) (+.f64 re re)) (PI.f64)) 2)))) 2)
(/.f64 (-.f64 (*.f64 2 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2)))) (+.f64 (-.f64 (cos.f64 (neg.f64 re)) (cos.f64 re)) (-.f64 (cos.f64 (neg.f64 re)) (cos.f64 re)))) 4)
(pow.f64 (*.f64 (cos.f64 re) (+.f64 1 (*.f64 (pow.f64 im 2) 1/2))) 1)
(neg.f64 (*.f64 (cos.f64 re) (-.f64 -1 (*.f64 (pow.f64 im 2) 1/2))))
Outputs
(pow.f64 im 2)
(+.f64 (pow.f64 im 2) (*.f64 -1/2 (*.f64 (pow.f64 re 2) (pow.f64 im 2))))
(+.f64 (pow.f64 im 2) (*.f64 -1/2 (pow.f64 (*.f64 re im) 2)))
(+.f64 (pow.f64 im 2) (*.f64 -1/2 (pow.f64 (*.f64 im re) 2)))
(+.f64 (*.f64 1/24 (*.f64 (pow.f64 re 4) (pow.f64 im 2))) (+.f64 (pow.f64 im 2) (*.f64 -1/2 (*.f64 (pow.f64 re 2) (pow.f64 im 2)))))
(+.f64 (*.f64 -1/2 (pow.f64 (*.f64 re im) 2)) (+.f64 (pow.f64 im 2) (*.f64 (pow.f64 im 2) (*.f64 (pow.f64 re 4) 1/24))))
(+.f64 (pow.f64 im 2) (+.f64 (*.f64 -1/2 (pow.f64 (*.f64 im re) 2)) (*.f64 (pow.f64 im 2) (*.f64 1/24 (pow.f64 re 4)))))
(+.f64 (pow.f64 im 2) (*.f64 (pow.f64 im 2) (+.f64 (*.f64 -1/2 (pow.f64 re 2)) (*.f64 1/24 (pow.f64 re 4)))))
(+.f64 (*.f64 1/24 (*.f64 (pow.f64 re 4) (pow.f64 im 2))) (+.f64 (pow.f64 im 2) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 re 2) (pow.f64 im 2))) (*.f64 -1/720 (*.f64 (pow.f64 re 6) (pow.f64 im 2))))))
(+.f64 (+.f64 (*.f64 -1/2 (pow.f64 (*.f64 re im) 2)) (*.f64 (pow.f64 im 2) (*.f64 (pow.f64 re 6) -1/720))) (+.f64 (pow.f64 im 2) (*.f64 (pow.f64 im 2) (*.f64 (pow.f64 re 4) 1/24))))
(+.f64 (pow.f64 im 2) (+.f64 (+.f64 (*.f64 -1/2 (pow.f64 (*.f64 im re) 2)) (*.f64 -1/720 (*.f64 (pow.f64 im 2) (pow.f64 re 6)))) (*.f64 (pow.f64 im 2) (*.f64 1/24 (pow.f64 re 4)))))
(+.f64 (+.f64 (pow.f64 im 2) (*.f64 -1/2 (pow.f64 (*.f64 im re) 2))) (*.f64 (pow.f64 im 2) (+.f64 (*.f64 -1/720 (pow.f64 re 6)) (*.f64 1/24 (pow.f64 re 4)))))
(*.f64 1/2 (pow.f64 im 2))
(*.f64 (pow.f64 im 2) 1/2)
(+.f64 (*.f64 1/2 (pow.f64 im 2)) (*.f64 -1/4 (*.f64 (pow.f64 re 2) (pow.f64 im 2))))
(+.f64 (*.f64 (pow.f64 (*.f64 re im) 2) -1/4) (*.f64 (pow.f64 im 2) 1/2))
(+.f64 (*.f64 (pow.f64 (*.f64 im re) 2) -1/4) (*.f64 (pow.f64 im 2) 1/2))
(*.f64 (pow.f64 im 2) (+.f64 (*.f64 (pow.f64 re 2) -1/4) 1/2))
(+.f64 (*.f64 1/2 (pow.f64 im 2)) (+.f64 (*.f64 1/48 (*.f64 (pow.f64 re 4) (pow.f64 im 2))) (*.f64 -1/4 (*.f64 (pow.f64 re 2) (pow.f64 im 2)))))
(+.f64 (*.f64 (pow.f64 (*.f64 re im) 2) -1/4) (+.f64 (*.f64 (pow.f64 im 2) (*.f64 (pow.f64 re 4) 1/48)) (*.f64 (pow.f64 im 2) 1/2)))
(+.f64 (+.f64 (*.f64 (pow.f64 (*.f64 im re) 2) -1/4) (*.f64 (*.f64 (pow.f64 im 2) (pow.f64 re 4)) 1/48)) (*.f64 (pow.f64 im 2) 1/2))
(+.f64 (*.f64 (pow.f64 (*.f64 im re) 2) -1/4) (*.f64 (pow.f64 im 2) (+.f64 (*.f64 (pow.f64 re 4) 1/48) 1/2)))
(+.f64 (*.f64 -1/1440 (*.f64 (pow.f64 re 6) (pow.f64 im 2))) (+.f64 (*.f64 1/2 (pow.f64 im 2)) (+.f64 (*.f64 1/48 (*.f64 (pow.f64 re 4) (pow.f64 im 2))) (*.f64 -1/4 (*.f64 (pow.f64 re 2) (pow.f64 im 2))))))
(+.f64 (+.f64 (*.f64 (pow.f64 (*.f64 re im) 2) -1/4) (*.f64 (pow.f64 im 2) (*.f64 (pow.f64 re 4) 1/48))) (+.f64 (*.f64 (pow.f64 im 2) 1/2) (*.f64 (pow.f64 im 2) (*.f64 (pow.f64 re 6) -1/1440))))
(+.f64 (+.f64 (*.f64 (pow.f64 (*.f64 im re) 2) -1/4) (*.f64 (*.f64 (pow.f64 im 2) (pow.f64 re 4)) 1/48)) (+.f64 (*.f64 (pow.f64 im 2) (*.f64 (pow.f64 re 6) -1/1440)) (*.f64 (pow.f64 im 2) 1/2)))
(+.f64 (*.f64 (pow.f64 im 2) (+.f64 (*.f64 (pow.f64 re 4) 1/48) 1/2)) (*.f64 (pow.f64 im 2) (+.f64 (*.f64 (pow.f64 re 2) -1/4) (*.f64 (pow.f64 re 6) -1/1440))))
(+.f64 1 (*.f64 1/2 (pow.f64 im 2)))
(+.f64 1 (*.f64 (pow.f64 im 2) 1/2))
(+.f64 1 (+.f64 (*.f64 1/2 (pow.f64 im 2)) (*.f64 (-.f64 (*.f64 -1/4 (pow.f64 im 2)) 1/2) (pow.f64 re 2))))
(+.f64 (*.f64 (pow.f64 re 2) (-.f64 (*.f64 (pow.f64 im 2) -1/4) 1/2)) (+.f64 1 (*.f64 (pow.f64 im 2) 1/2)))
(+.f64 1 (+.f64 (*.f64 (pow.f64 re 2) (-.f64 (*.f64 (pow.f64 im 2) -1/4) 1/2)) (*.f64 (pow.f64 im 2) 1/2)))
(+.f64 1 (+.f64 (*.f64 (pow.f64 re 4) (+.f64 1/24 (*.f64 1/48 (pow.f64 im 2)))) (+.f64 (*.f64 1/2 (pow.f64 im 2)) (*.f64 (-.f64 (*.f64 -1/4 (pow.f64 im 2)) 1/2) (pow.f64 re 2)))))
(+.f64 1 (+.f64 (*.f64 (pow.f64 re 2) (-.f64 (*.f64 (pow.f64 im 2) -1/4) 1/2)) (+.f64 (*.f64 (pow.f64 im 2) 1/2) (*.f64 (pow.f64 re 4) (+.f64 1/24 (*.f64 (pow.f64 im 2) 1/48))))))
(+.f64 1 (+.f64 (*.f64 (pow.f64 re 2) (-.f64 (*.f64 (pow.f64 im 2) -1/4) 1/2)) (+.f64 (*.f64 (pow.f64 re 4) (+.f64 1/24 (*.f64 (pow.f64 im 2) 1/48))) (*.f64 (pow.f64 im 2) 1/2))))
(+.f64 (+.f64 (*.f64 (pow.f64 re 2) (-.f64 (*.f64 (pow.f64 im 2) -1/4) 1/2)) (+.f64 1 (*.f64 (pow.f64 im 2) 1/2))) (*.f64 (pow.f64 re 4) (+.f64 1/24 (*.f64 (pow.f64 im 2) 1/48))))
(+.f64 1 (+.f64 (*.f64 (pow.f64 re 4) (+.f64 1/24 (*.f64 1/48 (pow.f64 im 2)))) (+.f64 (*.f64 1/2 (pow.f64 im 2)) (+.f64 (*.f64 (-.f64 (*.f64 -1/4 (pow.f64 im 2)) 1/2) (pow.f64 re 2)) (*.f64 (-.f64 (*.f64 -1/1440 (pow.f64 im 2)) 1/720) (pow.f64 re 6))))))
(+.f64 1 (+.f64 (+.f64 (*.f64 (pow.f64 re 2) (-.f64 (*.f64 (pow.f64 im 2) -1/4) 1/2)) (*.f64 (pow.f64 re 6) (-.f64 (*.f64 (pow.f64 im 2) -1/1440) 1/720))) (+.f64 (*.f64 (pow.f64 im 2) 1/2) (*.f64 (pow.f64 re 4) (+.f64 1/24 (*.f64 (pow.f64 im 2) 1/48))))))
(+.f64 1 (+.f64 (+.f64 (*.f64 (pow.f64 re 2) (-.f64 (*.f64 (pow.f64 im 2) -1/4) 1/2)) (*.f64 (pow.f64 im 2) 1/2)) (+.f64 (*.f64 (pow.f64 re 6) (-.f64 (*.f64 (pow.f64 im 2) -1/1440) 1/720)) (*.f64 (pow.f64 re 4) (+.f64 1/24 (*.f64 (pow.f64 im 2) 1/48))))))
(+.f64 (*.f64 (pow.f64 re 6) (-.f64 (*.f64 (pow.f64 im 2) -1/1440) 1/720)) (+.f64 (+.f64 (*.f64 (pow.f64 re 2) (-.f64 (*.f64 (pow.f64 im 2) -1/4) 1/2)) (+.f64 1 (*.f64 (pow.f64 im 2) 1/2))) (*.f64 (pow.f64 re 4) (+.f64 1/24 (*.f64 (pow.f64 im 2) 1/48)))))
(cos.f64 re)
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(*.f64 (pow.f64 im 2) (*.f64 1/2 (cos.f64 re)))
(*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 1/2))
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(*.f64 (pow.f64 im 2) (*.f64 1/2 (cos.f64 re)))
(*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 1/2))
(+.f64 (*.f64 (cos.f64 re) (pow.f64 im 2)) 0)
(*.f64 (pow.f64 im 2) (cos.f64 re))
(+.f64 (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 1/2)) (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 1/2)))
(*.f64 (pow.f64 im 2) (cos.f64 re))
(+.f64 0 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(*.f64 (pow.f64 im 2) (cos.f64 re))
(+.f64 (*.f64 (pow.f64 im 2) (/.f64 (cos.f64 re) 4)) (/.f64 (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 3)) 4))
(+.f64 (*.f64 (cos.f64 re) (/.f64 (pow.f64 im 2) 4)) (/.f64 (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 3)) 4))
(+.f64 (*.f64 (cos.f64 re) (/.f64 (pow.f64 im 2) 4)) (/.f64 (*.f64 (pow.f64 im 2) (*.f64 (cos.f64 re) 3)) 4))
(+.f64 (/.f64 (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 3)) 4) (*.f64 (pow.f64 im 2) (/.f64 (cos.f64 re) 4)))
(+.f64 (*.f64 (cos.f64 re) (/.f64 (pow.f64 im 2) 4)) (/.f64 (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 3)) 4))
(+.f64 (*.f64 (cos.f64 re) (/.f64 (pow.f64 im 2) 4)) (/.f64 (*.f64 (pow.f64 im 2) (*.f64 (cos.f64 re) 3)) 4))
(+.f64 (/.f64 (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 3)) 4) (neg.f64 (/.f64 (*.f64 (cos.f64 re) (pow.f64 im 2)) -4)))
(*.f64 (pow.f64 im 2) (cos.f64 re))
(-.f64 (*.f64 (cos.f64 re) (pow.f64 im 2)) 0)
(*.f64 (pow.f64 im 2) (cos.f64 re))
(-.f64 (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 1/2)) (*.f64 (*.f64 (cos.f64 re) (pow.f64 im 2)) -1/2))
(*.f64 (pow.f64 im 2) (cos.f64 re))
(-.f64 0 (neg.f64 (*.f64 (cos.f64 re) (pow.f64 im 2))))
(*.f64 (pow.f64 im 2) (cos.f64 re))
(-.f64 (*.f64 (pow.f64 im 2) (/.f64 (cos.f64 re) 4)) (*.f64 -3 (*.f64 (pow.f64 im 2) (/.f64 (cos.f64 re) 4))))
(-.f64 (*.f64 (cos.f64 re) (/.f64 (pow.f64 im 2) 4)) (*.f64 (/.f64 (cos.f64 re) 4) (*.f64 (pow.f64 im 2) -3)))
(*.f64 (/.f64 (cos.f64 re) 4) (-.f64 (pow.f64 im 2) (*.f64 (pow.f64 im 2) -3)))
(*.f64 (/.f64 (pow.f64 im 2) 4) (-.f64 (cos.f64 re) (*.f64 (cos.f64 re) -3)))
(-.f64 (/.f64 (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 3)) 4) (/.f64 (*.f64 (cos.f64 re) (pow.f64 im 2)) -4))
(*.f64 (pow.f64 im 2) (cos.f64 re))
(-.f64 (+.f64 (/.f64 (*.f64 (cos.f64 re) (pow.f64 im 2)) 8) (*.f64 (pow.f64 im 2) (/.f64 (cos.f64 re) 4))) (-.f64 (*.f64 (*.f64 (cos.f64 re) (pow.f64 im 2)) -1/2) (/.f64 (*.f64 (cos.f64 re) (pow.f64 im 2)) 8)))
(-.f64 (+.f64 (*.f64 (cos.f64 re) (/.f64 (pow.f64 im 2) 4)) (/.f64 (*.f64 (pow.f64 im 2) (cos.f64 re)) 8)) (-.f64 (*.f64 -1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))) (/.f64 (*.f64 (pow.f64 im 2) (cos.f64 re)) 8)))
(-.f64 (*.f64 (cos.f64 re) (/.f64 (pow.f64 im 2) 4)) (+.f64 (-.f64 (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) -1/2)) (/.f64 (*.f64 (pow.f64 im 2) (cos.f64 re)) 8)) (/.f64 (*.f64 (pow.f64 im 2) (cos.f64 re)) -8)))
(-.f64 (*.f64 (pow.f64 im 2) (-.f64 (/.f64 (cos.f64 re) 4) (*.f64 -1/2 (cos.f64 re)))) (/.f64 (*.f64 (pow.f64 im 2) (cos.f64 re)) -4))
(/.f64 (*.f64 (cos.f64 re) (pow.f64 im 2)) 1)
(*.f64 (pow.f64 im 2) (cos.f64 re))
(/.f64 (*.f64 (cos.f64 re) (*.f64 2 (pow.f64 im 2))) 2)
(*.f64 (pow.f64 im 2) (cos.f64 re))
(/.f64 (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 4)) 4)
(*.f64 (pow.f64 im 2) (cos.f64 re))
(/.f64 (*.f64 (*.f64 (pow.f64 im 2) 4) (*.f64 (cos.f64 re) 4)) 16)
(*.f64 (pow.f64 im 2) (cos.f64 re))
(/.f64 (*.f64 (*.f64 (cos.f64 re) (*.f64 2 (pow.f64 im 2))) 4) 8)
(*.f64 (pow.f64 im 2) (cos.f64 re))
(/.f64 (*.f64 (*.f64 (*.f64 2 (pow.f64 im 2)) 4) (*.f64 2 (*.f64 (cos.f64 re) 4))) 64)
(*.f64 (pow.f64 im 2) (cos.f64 re))
(/.f64 (*.f64 (*.f64 2 (*.f64 (cos.f64 re) 4)) (*.f64 (*.f64 2 (pow.f64 im 2)) 4)) 64)
(*.f64 (pow.f64 im 2) (cos.f64 re))
(/.f64 (*.f64 (*.f64 (cos.f64 0) 2) (*.f64 (*.f64 (cos.f64 re) (*.f64 2 (pow.f64 im 2))) 4)) 16)
(/.f64 (*.f64 4 (*.f64 (*.f64 (pow.f64 im 2) (*.f64 2 (cos.f64 re))) (*.f64 2 (cos.f64 0)))) 16)
(/.f64 (*.f64 (cos.f64 0) (*.f64 (*.f64 (pow.f64 im 2) (cos.f64 re)) 16)) 16)
(/.f64 (*.f64 16 (*.f64 (*.f64 (pow.f64 im 2) (cos.f64 re)) (cos.f64 0))) 16)
(/.f64 (*.f64 (*.f64 (cos.f64 re) 2) (*.f64 (*.f64 2 (pow.f64 im 2)) 4)) 16)
(*.f64 (pow.f64 im 2) (cos.f64 re))
(/.f64 (*.f64 (*.f64 2 (pow.f64 im 2)) (*.f64 2 (*.f64 (cos.f64 re) 4))) 16)
(*.f64 (pow.f64 im 2) (cos.f64 re))
(pow.f64 (*.f64 (cos.f64 re) (pow.f64 im 2)) 1)
(*.f64 (pow.f64 im 2) (cos.f64 re))
(neg.f64 (neg.f64 (*.f64 (cos.f64 re) (pow.f64 im 2))))
(*.f64 (pow.f64 im 2) (cos.f64 re))
(+.f64 (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 1/2)) 0)
(*.f64 (pow.f64 im 2) (*.f64 1/2 (cos.f64 re)))
(*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 1/2))
(+.f64 0 (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 1/2)))
(*.f64 (pow.f64 im 2) (*.f64 1/2 (cos.f64 re)))
(*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 1/2))
(+.f64 (*.f64 (pow.f64 im 2) (/.f64 (cos.f64 re) 4)) (*.f64 (pow.f64 im 2) (/.f64 (cos.f64 re) 4)))
(*.f64 (/.f64 (cos.f64 re) 4) (+.f64 (pow.f64 im 2) (pow.f64 im 2)))
(*.f64 (/.f64 (pow.f64 im 2) 4) (+.f64 (cos.f64 re) (cos.f64 re)))
(*.f64 (pow.f64 im 2) (/.f64 (cos.f64 re) 2))
(+.f64 (/.f64 (*.f64 (cos.f64 re) (pow.f64 im 2)) 8) (+.f64 (/.f64 (*.f64 (cos.f64 re) (pow.f64 im 2)) 8) (*.f64 (pow.f64 im 2) (/.f64 (cos.f64 re) 4))))
(+.f64 (*.f64 (cos.f64 re) (/.f64 (pow.f64 im 2) 4)) (+.f64 (/.f64 (*.f64 (pow.f64 im 2) (cos.f64 re)) 8) (/.f64 (*.f64 (pow.f64 im 2) (cos.f64 re)) 8)))
(+.f64 (*.f64 (cos.f64 re) (/.f64 (pow.f64 im 2) 4)) (/.f64 (*.f64 (pow.f64 im 2) (cos.f64 re)) 4))
(-.f64 (*.f64 (cos.f64 re) (/.f64 (pow.f64 im 2) 4)) (/.f64 (*.f64 (pow.f64 im 2) (cos.f64 re)) -4))
(+.f64 (/.f64 (*.f64 (cos.f64 re) (pow.f64 im 2)) 8) (/.f64 (/.f64 (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 3)) 4) 2))
(*.f64 (pow.f64 im 2) (*.f64 1/2 (cos.f64 re)))
(*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 1/2))
(+.f64 (/.f64 (*.f64 (cos.f64 re) (pow.f64 im 2)) 8) (/.f64 (*.f64 (pow.f64 im 2) (*.f64 (cos.f64 re) 3/2)) 4))
(*.f64 (pow.f64 im 2) (*.f64 1/2 (cos.f64 re)))
(*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 1/2))
(+.f64 (/.f64 (*.f64 (cos.f64 re) (pow.f64 im 2)) 8) (/.f64 (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 3)) 8))
(*.f64 (pow.f64 im 2) (*.f64 1/2 (cos.f64 re)))
(*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 1/2))
(-.f64 (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 1/2)) 0)
(*.f64 (pow.f64 im 2) (*.f64 1/2 (cos.f64 re)))
(*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 1/2))
(-.f64 0 (*.f64 (*.f64 (cos.f64 re) (pow.f64 im 2)) -1/2))
(*.f64 (pow.f64 im 2) (*.f64 1/2 (cos.f64 re)))
(*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 1/2))
(-.f64 (*.f64 (cos.f64 re) 1/2) (-.f64 (/.f64 (cos.f64 (neg.f64 re)) 2) (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 1/2))))
(-.f64 (*.f64 (pow.f64 im 2) (*.f64 1/2 (cos.f64 re))) (-.f64 (/.f64 (cos.f64 (neg.f64 re)) 2) (*.f64 1/2 (cos.f64 re))))
(-.f64 (*.f64 1/2 (cos.f64 re)) (/.f64 (-.f64 (cos.f64 (neg.f64 re)) (*.f64 (pow.f64 im 2) (cos.f64 re))) 2))
(-.f64 (*.f64 (pow.f64 im 2) (/.f64 (cos.f64 re) 4)) (/.f64 (*.f64 (cos.f64 re) (pow.f64 im 2)) -4))
(+.f64 (*.f64 (cos.f64 re) (/.f64 (pow.f64 im 2) 4)) (+.f64 (/.f64 (*.f64 (pow.f64 im 2) (cos.f64 re)) 8) (/.f64 (*.f64 (pow.f64 im 2) (cos.f64 re)) 8)))
(+.f64 (*.f64 (cos.f64 re) (/.f64 (pow.f64 im 2) 4)) (/.f64 (*.f64 (pow.f64 im 2) (cos.f64 re)) 4))
(-.f64 (*.f64 (cos.f64 re) (/.f64 (pow.f64 im 2) 4)) (/.f64 (*.f64 (pow.f64 im 2) (cos.f64 re)) -4))
(-.f64 (/.f64 (*.f64 (cos.f64 re) (pow.f64 im 2)) 8) (/.f64 (-.f64 0 (*.f64 (pow.f64 im 2) (*.f64 (cos.f64 re) 3/2))) 4))
(*.f64 (pow.f64 im 2) (*.f64 1/2 (cos.f64 re)))
(*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 1/2))
(-.f64 (+.f64 (/.f64 (*.f64 (cos.f64 re) (pow.f64 im 2)) 8) (*.f64 (pow.f64 im 2) (/.f64 (cos.f64 re) 4))) (-.f64 0 (/.f64 (*.f64 (cos.f64 re) (pow.f64 im 2)) 8)))
(+.f64 (*.f64 (cos.f64 re) (/.f64 (pow.f64 im 2) 4)) (+.f64 (/.f64 (*.f64 (pow.f64 im 2) (cos.f64 re)) 8) (/.f64 (*.f64 (pow.f64 im 2) (cos.f64 re)) 8)))
(+.f64 (*.f64 (cos.f64 re) (/.f64 (pow.f64 im 2) 4)) (/.f64 (*.f64 (pow.f64 im 2) (cos.f64 re)) 4))
(-.f64 (*.f64 (cos.f64 re) (/.f64 (pow.f64 im 2) 4)) (/.f64 (*.f64 (pow.f64 im 2) (cos.f64 re)) -4))
(-.f64 (/.f64 (/.f64 (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 3)) 4) 2) (/.f64 (/.f64 (*.f64 (cos.f64 re) (pow.f64 im 2)) -4) 2))
(*.f64 (pow.f64 im 2) (*.f64 1/2 (cos.f64 re)))
(*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 1/2))
(-.f64 (/.f64 (*.f64 (pow.f64 im 2) (*.f64 (cos.f64 re) 3/2)) 4) (/.f64 (*.f64 (*.f64 (cos.f64 re) (pow.f64 im 2)) -1/2) 4))
(*.f64 (pow.f64 im 2) (*.f64 1/2 (cos.f64 re)))
(*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 1/2))
(-.f64 (/.f64 (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 3)) 8) (/.f64 (neg.f64 (*.f64 (cos.f64 re) (pow.f64 im 2))) 8))
(*.f64 (pow.f64 im 2) (*.f64 1/2 (cos.f64 re)))
(*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 1/2))
(/.f64 (*.f64 (cos.f64 re) (pow.f64 im 2)) 2)
(*.f64 (pow.f64 im 2) (*.f64 1/2 (cos.f64 re)))
(*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 1/2))
(/.f64 (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 1/2)) 1)
(*.f64 (pow.f64 im 2) (*.f64 1/2 (cos.f64 re)))
(*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 1/2))
(/.f64 (*.f64 (*.f64 (cos.f64 re) (pow.f64 im 2)) -1/2) -1)
(*.f64 (pow.f64 im 2) (*.f64 1/2 (cos.f64 re)))
(*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 1/2))
(/.f64 (*.f64 (cos.f64 re) (*.f64 2 (pow.f64 im 2))) 4)
(*.f64 (pow.f64 im 2) (*.f64 1/2 (cos.f64 re)))
(*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 1/2))
(/.f64 (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 4)) 8)
(*.f64 (pow.f64 im 2) (*.f64 1/2 (cos.f64 re)))
(*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 1/2))
(/.f64 (*.f64 (*.f64 (pow.f64 im 2) 4) (*.f64 (cos.f64 re) 4)) 32)
(*.f64 (pow.f64 im 2) (*.f64 1/2 (cos.f64 re)))
(*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 1/2))
(/.f64 (*.f64 (*.f64 (cos.f64 re) (*.f64 2 (pow.f64 im 2))) 4) 16)
(*.f64 (pow.f64 im 2) (*.f64 1/2 (cos.f64 re)))
(*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 1/2))
(/.f64 (-.f64 (*.f64 (cos.f64 re) (pow.f64 im 2)) (-.f64 (cos.f64 (neg.f64 re)) (cos.f64 re))) 2)
(/.f64 (-.f64 (cos.f64 re) (-.f64 (cos.f64 (neg.f64 re)) (*.f64 (pow.f64 im 2) (cos.f64 re)))) 2)
(/.f64 (+.f64 (-.f64 (cos.f64 re) (cos.f64 (neg.f64 re))) (*.f64 (pow.f64 im 2) (cos.f64 re))) 2)
(/.f64 (/.f64 (*.f64 (*.f64 (pow.f64 im 2) 4) (*.f64 (cos.f64 re) 4)) 2) 16)
(*.f64 (pow.f64 im 2) (*.f64 1/2 (cos.f64 re)))
(*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 1/2))
(/.f64 (-.f64 (*.f64 (cos.f64 re) (pow.f64 im 2)) (+.f64 (cos.f64 (/.f64 (+.f64 (PI.f64) (-.f64 (PI.f64) (+.f64 re re))) 2)) (cos.f64 (-.f64 re (-.f64 (/.f64 (PI.f64) 2) (/.f64 (PI.f64) 2)))))) 2)
(/.f64 (-.f64 (*.f64 (pow.f64 im 2) (cos.f64 re)) (+.f64 (cos.f64 (/.f64 (+.f64 (PI.f64) (-.f64 (PI.f64) (+.f64 re re))) 2)) (cos.f64 (-.f64 re 0)))) 2)
(/.f64 (-.f64 (*.f64 (pow.f64 im 2) (cos.f64 re)) (+.f64 (cos.f64 re) (cos.f64 (/.f64 (+.f64 (PI.f64) (-.f64 (PI.f64) (+.f64 re re))) 2)))) 2)
(/.f64 (+.f64 (neg.f64 (cos.f64 (/.f64 (+.f64 (PI.f64) (-.f64 (PI.f64) (+.f64 re re))) 2))) (*.f64 (cos.f64 re) (-.f64 (pow.f64 im 2) 1))) 2)
(/.f64 (-.f64 (*.f64 (cos.f64 re) (pow.f64 im 2)) (+.f64 (cos.f64 (/.f64 (+.f64 (PI.f64) (-.f64 (PI.f64) (+.f64 re re))) 2)) (cos.f64 (/.f64 (-.f64 (-.f64 (PI.f64) (+.f64 re re)) (PI.f64)) 2)))) 2)
(/.f64 (-.f64 (*.f64 (pow.f64 im 2) (cos.f64 re)) (+.f64 (cos.f64 (/.f64 (+.f64 (PI.f64) (-.f64 (PI.f64) (+.f64 re re))) 2)) (cos.f64 (/.f64 (-.f64 (PI.f64) (+.f64 (PI.f64) (+.f64 re re))) 2)))) 2)
(/.f64 (-.f64 (*.f64 (pow.f64 im 2) (cos.f64 re)) (+.f64 (cos.f64 (/.f64 (+.f64 (PI.f64) (-.f64 (PI.f64) (+.f64 re re))) 2)) (cos.f64 (-.f64 0 (/.f64 (+.f64 re re) 2))))) 2)
(/.f64 (-.f64 (*.f64 (pow.f64 im 2) (cos.f64 re)) (+.f64 (cos.f64 (neg.f64 re)) (cos.f64 (/.f64 (+.f64 (PI.f64) (-.f64 (PI.f64) (+.f64 re re))) 2)))) 2)
(/.f64 (-.f64 (*.f64 (cos.f64 re) (*.f64 2 (pow.f64 im 2))) (+.f64 (-.f64 (cos.f64 (neg.f64 re)) (cos.f64 re)) (-.f64 (cos.f64 (neg.f64 re)) (cos.f64 re)))) 4)
(/.f64 (-.f64 (cos.f64 re) (-.f64 (cos.f64 (neg.f64 re)) (*.f64 (pow.f64 im 2) (cos.f64 re)))) 2)
(/.f64 (+.f64 (-.f64 (cos.f64 re) (cos.f64 (neg.f64 re))) (*.f64 (pow.f64 im 2) (cos.f64 re))) 2)
(/.f64 (*.f64 (*.f64 (cos.f64 re) 4) (*.f64 (*.f64 2 (pow.f64 im 2)) 4)) 64)
(*.f64 (pow.f64 im 2) (*.f64 1/2 (cos.f64 re)))
(*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 1/2))
(/.f64 (*.f64 (*.f64 (pow.f64 im 2) 4) (*.f64 2 (*.f64 (cos.f64 re) 4))) 64)
(*.f64 (pow.f64 im 2) (*.f64 1/2 (cos.f64 re)))
(*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 1/2))
(/.f64 (*.f64 (*.f64 (*.f64 2 (pow.f64 im 2)) 4) (*.f64 (cos.f64 re) 4)) 64)
(*.f64 (pow.f64 im 2) (*.f64 1/2 (cos.f64 re)))
(*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 1/2))
(/.f64 (*.f64 (*.f64 2 (*.f64 (cos.f64 re) 4)) (*.f64 (pow.f64 im 2) 4)) 64)
(*.f64 (pow.f64 im 2) (*.f64 1/2 (cos.f64 re)))
(*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 1/2))
(/.f64 (*.f64 (*.f64 (cos.f64 0) 2) (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 4))) 16)
(/.f64 (*.f64 (*.f64 (pow.f64 im 2) 4) (*.f64 (cos.f64 re) (*.f64 2 (cos.f64 0)))) 16)
(/.f64 (*.f64 (cos.f64 re) (*.f64 (*.f64 (pow.f64 im 2) 4) (*.f64 2 (cos.f64 0)))) 16)
(/.f64 (*.f64 16 (*.f64 (*.f64 (pow.f64 im 2) (cos.f64 re)) (cos.f64 0))) 32)
(pow.f64 (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 1/2)) 1)
(*.f64 (pow.f64 im 2) (*.f64 1/2 (cos.f64 re)))
(*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 1/2))
(neg.f64 (*.f64 (*.f64 (cos.f64 re) (pow.f64 im 2)) -1/2))
(*.f64 (pow.f64 im 2) (*.f64 1/2 (cos.f64 re)))
(*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 1/2))
(-.f64 (cos.f64 re) (*.f64 (*.f64 (cos.f64 re) (pow.f64 im 2)) -1/2))
(-.f64 (cos.f64 re) (*.f64 -1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))))
(-.f64 (cos.f64 re) (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) -1/2)))
(*.f64 (cos.f64 re) (+.f64 1 (*.f64 (pow.f64 im 2) 1/2)))
(-.f64 (cos.f64 re) (+.f64 (+.f64 (cos.f64 re) (*.f64 (*.f64 (cos.f64 re) (pow.f64 im 2)) -1/2)) (neg.f64 (cos.f64 re))))
(-.f64 (cos.f64 re) (*.f64 -1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))))
(-.f64 (cos.f64 re) (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) -1/2)))
(*.f64 (cos.f64 re) (+.f64 1 (*.f64 (pow.f64 im 2) 1/2)))
(-.f64 (*.f64 (cos.f64 re) (pow.f64 im 2)) (*.f64 (cos.f64 re) (+.f64 -1 (*.f64 (pow.f64 im 2) 1/2))))
(-.f64 (*.f64 (pow.f64 im 2) (cos.f64 re)) (*.f64 (cos.f64 re) (+.f64 (*.f64 (pow.f64 im 2) 1/2) -1)))
(*.f64 (cos.f64 re) (-.f64 (pow.f64 im 2) (+.f64 (*.f64 (pow.f64 im 2) 1/2) -1)))
(*.f64 (cos.f64 re) (+.f64 (-.f64 (pow.f64 im 2) (*.f64 (pow.f64 im 2) 1/2)) 1))
(-.f64 (*.f64 (cos.f64 re) (pow.f64 im 2)) (+.f64 (*.f64 (cos.f64 re) (+.f64 -1 (*.f64 (pow.f64 im 2) 1/2))) 0))
(-.f64 (*.f64 (pow.f64 im 2) (cos.f64 re)) (*.f64 (cos.f64 re) (+.f64 (*.f64 (pow.f64 im 2) 1/2) -1)))
(*.f64 (cos.f64 re) (-.f64 (pow.f64 im 2) (+.f64 (*.f64 (pow.f64 im 2) 1/2) -1)))
(*.f64 (cos.f64 re) (+.f64 (-.f64 (pow.f64 im 2) (*.f64 (pow.f64 im 2) 1/2)) 1))
(-.f64 (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 1/2)) (neg.f64 (cos.f64 re)))
(-.f64 (cos.f64 re) (*.f64 -1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))))
(-.f64 (cos.f64 re) (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) -1/2)))
(*.f64 (cos.f64 re) (+.f64 1 (*.f64 (pow.f64 im 2) 1/2)))
(-.f64 (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 1/2)) (+.f64 (*.f64 (cos.f64 re) (+.f64 -1 (*.f64 (pow.f64 im 2) 1/2))) (*.f64 (*.f64 (cos.f64 re) (pow.f64 im 2)) -1/2)))
(-.f64 (*.f64 (pow.f64 im 2) (cos.f64 re)) (*.f64 (cos.f64 re) (+.f64 (*.f64 (pow.f64 im 2) 1/2) -1)))
(*.f64 (cos.f64 re) (-.f64 (pow.f64 im 2) (+.f64 (*.f64 (pow.f64 im 2) 1/2) -1)))
(*.f64 (cos.f64 re) (+.f64 (-.f64 (pow.f64 im 2) (*.f64 (pow.f64 im 2) 1/2)) 1))
(-.f64 (*.f64 (cos.f64 re) (+.f64 1 (*.f64 (pow.f64 im 2) 1/2))) 0)
(-.f64 (cos.f64 re) (*.f64 -1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))))
(-.f64 (cos.f64 re) (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) -1/2)))
(*.f64 (cos.f64 re) (+.f64 1 (*.f64 (pow.f64 im 2) 1/2)))
(-.f64 0 (*.f64 (cos.f64 re) (-.f64 -1 (*.f64 (pow.f64 im 2) 1/2))))
(neg.f64 (*.f64 (cos.f64 re) (-.f64 -1 (*.f64 (pow.f64 im 2) 1/2))))
(*.f64 (-.f64 -1 (*.f64 (pow.f64 im 2) 1/2)) (neg.f64 (cos.f64 re)))
(-.f64 0 (+.f64 (*.f64 (cos.f64 re) (+.f64 -1 (*.f64 (pow.f64 im 2) 1/2))) (neg.f64 (*.f64 (cos.f64 re) (pow.f64 im 2)))))
(-.f64 (*.f64 (pow.f64 im 2) (cos.f64 re)) (*.f64 (cos.f64 re) (+.f64 (*.f64 (pow.f64 im 2) 1/2) -1)))
(*.f64 (cos.f64 re) (-.f64 (pow.f64 im 2) (+.f64 (*.f64 (pow.f64 im 2) 1/2) -1)))
(*.f64 (cos.f64 re) (+.f64 (-.f64 (pow.f64 im 2) (*.f64 (pow.f64 im 2) 1/2)) 1))
(-.f64 0 (+.f64 (+.f64 (cos.f64 re) (*.f64 (*.f64 (cos.f64 re) (pow.f64 im 2)) -1/2)) (*.f64 (cos.f64 re) -2)))
(-.f64 (cos.f64 re) (*.f64 -1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))))
(-.f64 (cos.f64 re) (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) -1/2)))
(*.f64 (cos.f64 re) (+.f64 1 (*.f64 (pow.f64 im 2) 1/2)))
(-.f64 (*.f64 (cos.f64 re) 2) (+.f64 (cos.f64 re) (*.f64 (*.f64 (cos.f64 re) (pow.f64 im 2)) -1/2)))
(-.f64 (cos.f64 re) (*.f64 -1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))))
(-.f64 (cos.f64 re) (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) -1/2)))
(*.f64 (cos.f64 re) (+.f64 1 (*.f64 (pow.f64 im 2) 1/2)))
(-.f64 (*.f64 (cos.f64 re) 2) (+.f64 (+.f64 (cos.f64 re) (*.f64 (*.f64 (cos.f64 re) (pow.f64 im 2)) -1/2)) 0))
(-.f64 (cos.f64 re) (*.f64 -1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))))
(-.f64 (cos.f64 re) (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) -1/2)))
(*.f64 (cos.f64 re) (+.f64 1 (*.f64 (pow.f64 im 2) 1/2)))
(-.f64 (*.f64 (cos.f64 re) 1/2) (-.f64 0 (*.f64 (cos.f64 re) (+.f64 1/2 (*.f64 (pow.f64 im 2) 1/2)))))
(-.f64 (*.f64 1/2 (cos.f64 re)) (neg.f64 (*.f64 (cos.f64 re) (+.f64 1/2 (*.f64 (pow.f64 im 2) 1/2)))))
(-.f64 (*.f64 (cos.f64 re) (+.f64 1/2 (*.f64 (pow.f64 im 2) 1/2))) (neg.f64 (*.f64 1/2 (cos.f64 re))))
(-.f64 (*.f64 (cos.f64 re) 1/2) (-.f64 (/.f64 (cos.f64 (neg.f64 re)) 2) (*.f64 (cos.f64 re) (+.f64 1 (*.f64 (pow.f64 im 2) 1/2)))))
(-.f64 (*.f64 (cos.f64 re) (+.f64 1 (*.f64 (pow.f64 im 2) 1/2))) (-.f64 (/.f64 (cos.f64 (neg.f64 re)) 2) (*.f64 1/2 (cos.f64 re))))
(-.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (/.f64 (cos.f64 (neg.f64 re)) 2) (*.f64 (cos.f64 re) (+.f64 1 (*.f64 (pow.f64 im 2) 1/2)))))
(-.f64 (*.f64 (cos.f64 re) 1/2) (+.f64 (/.f64 (cos.f64 re) -2) (*.f64 (*.f64 (cos.f64 re) (pow.f64 im 2)) -1/2)))
(-.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))) (/.f64 (cos.f64 re) -2)))
(-.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) -1/2)) (/.f64 (cos.f64 re) -2)))
(+.f64 (/.f64 (cos.f64 re) 2) (*.f64 (cos.f64 re) (-.f64 1/2 (*.f64 (pow.f64 im 2) -1/2))))
(-.f64 (*.f64 (cos.f64 re) 1/2) (/.f64 (-.f64 0 (*.f64 (cos.f64 re) (+.f64 1 (pow.f64 im 2)))) 2))
(-.f64 (*.f64 1/2 (cos.f64 re)) (/.f64 (neg.f64 (*.f64 (cos.f64 re) (+.f64 (pow.f64 im 2) 1))) 2))
(-.f64 (*.f64 1/2 (cos.f64 re)) (/.f64 (*.f64 (cos.f64 re) (+.f64 (pow.f64 im 2) 1)) -2))
(-.f64 (*.f64 (pow.f64 im 2) (/.f64 (cos.f64 re) 4)) (-.f64 (/.f64 (*.f64 (cos.f64 re) (pow.f64 im 2)) -4) (cos.f64 re)))
(-.f64 (*.f64 (cos.f64 re) (/.f64 (pow.f64 im 2) 4)) (-.f64 (/.f64 (*.f64 (pow.f64 im 2) (cos.f64 re)) -4) (cos.f64 re)))
(+.f64 (*.f64 (*.f64 (pow.f64 im 2) (cos.f64 re)) 1/4) (*.f64 (cos.f64 re) (-.f64 (/.f64 (pow.f64 im 2) 4) -1)))
(-.f64 (*.f64 (pow.f64 im 2) (/.f64 (cos.f64 re) 4)) (+.f64 (/.f64 (*.f64 (cos.f64 re) (pow.f64 im 2)) -4) (neg.f64 (cos.f64 re))))
(-.f64 (*.f64 (cos.f64 re) (/.f64 (pow.f64 im 2) 4)) (-.f64 (/.f64 (*.f64 (pow.f64 im 2) (cos.f64 re)) -4) (cos.f64 re)))
(+.f64 (*.f64 (*.f64 (pow.f64 im 2) (cos.f64 re)) 1/4) (*.f64 (cos.f64 re) (-.f64 (/.f64 (pow.f64 im 2) 4) -1)))
(-.f64 (*.f64 (pow.f64 im 2) (/.f64 (cos.f64 re) 4)) (/.f64 (-.f64 0 (*.f64 (cos.f64 re) (+.f64 (*.f64 (pow.f64 im 2) 1/2) 2))) 2))
(-.f64 (*.f64 (cos.f64 re) (/.f64 (pow.f64 im 2) 4)) (/.f64 (neg.f64 (*.f64 (cos.f64 re) (+.f64 2 (*.f64 (pow.f64 im 2) 1/2)))) 2))
(-.f64 (*.f64 (cos.f64 re) (/.f64 (pow.f64 im 2) 4)) (/.f64 (*.f64 (cos.f64 re) (+.f64 2 (*.f64 (pow.f64 im 2) 1/2))) -2))
(-.f64 (/.f64 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))) 4) (neg.f64 (/.f64 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))) 4)))
(-.f64 (cos.f64 re) (*.f64 -1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))))
(-.f64 (cos.f64 re) (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) -1/2)))
(*.f64 (cos.f64 re) (+.f64 1 (*.f64 (pow.f64 im 2) 1/2)))
(-.f64 (/.f64 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))) 4) (/.f64 (neg.f64 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2)))) 4))
(-.f64 (cos.f64 re) (*.f64 -1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))))
(-.f64 (cos.f64 re) (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) -1/2)))
(*.f64 (cos.f64 re) (+.f64 1 (*.f64 (pow.f64 im 2) 1/2)))
(-.f64 (/.f64 (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 3)) 4) (+.f64 (*.f64 (cos.f64 re) (+.f64 -1 (*.f64 (pow.f64 im 2) 1/2))) (/.f64 (*.f64 (cos.f64 re) (pow.f64 im 2)) -4)))
(-.f64 (*.f64 (pow.f64 im 2) (cos.f64 re)) (*.f64 (cos.f64 re) (+.f64 (*.f64 (pow.f64 im 2) 1/2) -1)))
(*.f64 (cos.f64 re) (-.f64 (pow.f64 im 2) (+.f64 (*.f64 (pow.f64 im 2) 1/2) -1)))
(*.f64 (cos.f64 re) (+.f64 (-.f64 (pow.f64 im 2) (*.f64 (pow.f64 im 2) 1/2)) 1))
(-.f64 (-.f64 (cos.f64 re) (/.f64 (*.f64 (cos.f64 re) (pow.f64 im 2)) -4)) (/.f64 (*.f64 (cos.f64 re) (pow.f64 im 2)) -4))
(-.f64 (cos.f64 re) (*.f64 -1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))))
(-.f64 (cos.f64 re) (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) -1/2)))
(*.f64 (cos.f64 re) (+.f64 1 (*.f64 (pow.f64 im 2) 1/2)))
(-.f64 (*.f64 (cos.f64 re) (+.f64 1/2 (*.f64 (pow.f64 im 2) 1/2))) (/.f64 (cos.f64 re) -2))
(-.f64 (*.f64 (cos.f64 re) 3/2) (+.f64 (+.f64 (cos.f64 re) (*.f64 (*.f64 (cos.f64 re) (pow.f64 im 2)) -1/2)) (/.f64 (cos.f64 re) -2)))
(-.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))) (/.f64 (cos.f64 re) -2)))
(-.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) -1/2)) (/.f64 (cos.f64 re) -2)))
(+.f64 (/.f64 (cos.f64 re) 2) (*.f64 (cos.f64 re) (-.f64 1/2 (*.f64 (pow.f64 im 2) -1/2))))
(-.f64 (*.f64 (cos.f64 (/.f64 re 2)) (cos.f64 (/.f64 re 2))) (+.f64 (*.f64 (*.f64 (cos.f64 re) (pow.f64 im 2)) -1/2) (*.f64 (sin.f64 (/.f64 re 2)) (sin.f64 (/.f64 re 2)))))
(-.f64 (-.f64 (*.f64 (cos.f64 (/.f64 re 2)) (cos.f64 (/.f64 re 2))) (*.f64 -1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))) (*.f64 (sin.f64 (/.f64 re 2)) (sin.f64 (/.f64 re 2))))
(-.f64 (cos.f64 (/.f64 (+.f64 re re) 2)) (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) -1/2)))
(+.f64 (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 1/2)) (cos.f64 (/.f64 (+.f64 re re) 2)))
(-.f64 (*.f64 (cos.f64 (/.f64 re 2)) (cos.f64 (/.f64 re 2))) (+.f64 (*.f64 (sin.f64 (/.f64 re 2)) (sin.f64 (/.f64 re 2))) (*.f64 (*.f64 (cos.f64 re) (pow.f64 im 2)) -1/2)))
(-.f64 (-.f64 (*.f64 (cos.f64 (/.f64 re 2)) (cos.f64 (/.f64 re 2))) (*.f64 -1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))) (*.f64 (sin.f64 (/.f64 re 2)) (sin.f64 (/.f64 re 2))))
(-.f64 (cos.f64 (/.f64 (+.f64 re re) 2)) (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) -1/2)))
(+.f64 (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 1/2)) (cos.f64 (/.f64 (+.f64 re re) 2)))
(-.f64 (+.f64 (/.f64 (cos.f64 re) 4) (*.f64 (cos.f64 re) 1/2)) (-.f64 (*.f64 (*.f64 (cos.f64 re) (pow.f64 im 2)) -1/2) (/.f64 (cos.f64 re) 4)))
(-.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))) (/.f64 (cos.f64 re) -2)))
(-.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) -1/2)) (/.f64 (cos.f64 re) -2)))
(+.f64 (/.f64 (cos.f64 re) 2) (*.f64 (cos.f64 re) (-.f64 1/2 (*.f64 (pow.f64 im 2) -1/2))))
(-.f64 (+.f64 (/.f64 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))) 8) (/.f64 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))) 4)) (-.f64 0 (/.f64 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))) 8)))
(-.f64 (cos.f64 re) (*.f64 -1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))))
(-.f64 (cos.f64 re) (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) -1/2)))
(*.f64 (cos.f64 re) (+.f64 1 (*.f64 (pow.f64 im 2) 1/2)))
(-.f64 (+.f64 (/.f64 (*.f64 (cos.f64 re) (pow.f64 im 2)) 8) (*.f64 (pow.f64 im 2) (/.f64 (cos.f64 re) 4))) (-.f64 (neg.f64 (cos.f64 re)) (/.f64 (*.f64 (cos.f64 re) (pow.f64 im 2)) 8)))
(-.f64 (*.f64 (cos.f64 re) (/.f64 (pow.f64 im 2) 4)) (-.f64 (/.f64 (*.f64 (pow.f64 im 2) (cos.f64 re)) -4) (cos.f64 re)))
(+.f64 (*.f64 (*.f64 (pow.f64 im 2) (cos.f64 re)) 1/4) (*.f64 (cos.f64 re) (-.f64 (/.f64 (pow.f64 im 2) 4) -1)))
(-.f64 (-.f64 (*.f64 (cos.f64 (/.f64 re 2)) (cos.f64 (/.f64 re 2))) (*.f64 (*.f64 (cos.f64 re) (pow.f64 im 2)) -1/2)) (*.f64 (sin.f64 (/.f64 re 2)) (sin.f64 (/.f64 re 2))))
(-.f64 (-.f64 (*.f64 (cos.f64 (/.f64 re 2)) (cos.f64 (/.f64 re 2))) (*.f64 -1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))) (*.f64 (sin.f64 (/.f64 re 2)) (sin.f64 (/.f64 re 2))))
(-.f64 (cos.f64 (/.f64 (+.f64 re re) 2)) (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) -1/2)))
(+.f64 (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 1/2)) (cos.f64 (/.f64 (+.f64 re re) 2)))
(-.f64 (-.f64 (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 1/2)) (*.f64 (cos.f64 re) (+.f64 -1 (*.f64 (pow.f64 im 2) 1/2)))) (*.f64 (*.f64 (cos.f64 re) (pow.f64 im 2)) -1/2))
(-.f64 (*.f64 (pow.f64 im 2) (cos.f64 re)) (*.f64 (cos.f64 re) (+.f64 (*.f64 (pow.f64 im 2) 1/2) -1)))
(*.f64 (cos.f64 re) (-.f64 (pow.f64 im 2) (+.f64 (*.f64 (pow.f64 im 2) 1/2) -1)))
(*.f64 (cos.f64 re) (+.f64 (-.f64 (pow.f64 im 2) (*.f64 (pow.f64 im 2) 1/2)) 1))
(-.f64 (-.f64 0 (*.f64 (cos.f64 re) (+.f64 -1 (*.f64 (pow.f64 im 2) 1/2)))) (neg.f64 (*.f64 (cos.f64 re) (pow.f64 im 2))))
(-.f64 (*.f64 (pow.f64 im 2) (cos.f64 re)) (*.f64 (cos.f64 re) (+.f64 (*.f64 (pow.f64 im 2) 1/2) -1)))
(*.f64 (cos.f64 re) (-.f64 (pow.f64 im 2) (+.f64 (*.f64 (pow.f64 im 2) 1/2) -1)))
(*.f64 (cos.f64 re) (+.f64 (-.f64 (pow.f64 im 2) (*.f64 (pow.f64 im 2) 1/2)) 1))
(-.f64 (-.f64 (/.f64 (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 3)) 4) (*.f64 (cos.f64 re) (+.f64 -1 (*.f64 (pow.f64 im 2) 1/2)))) (/.f64 (*.f64 (cos.f64 re) (pow.f64 im 2)) -4))
(-.f64 (*.f64 (pow.f64 im 2) (cos.f64 re)) (*.f64 (cos.f64 re) (+.f64 (*.f64 (pow.f64 im 2) 1/2) -1)))
(*.f64 (cos.f64 re) (-.f64 (pow.f64 im 2) (+.f64 (*.f64 (pow.f64 im 2) 1/2) -1)))
(*.f64 (cos.f64 re) (+.f64 (-.f64 (pow.f64 im 2) (*.f64 (pow.f64 im 2) 1/2)) 1))
(-.f64 (-.f64 (cos.f64 re) (+.f64 (cos.f64 re) (*.f64 (*.f64 (cos.f64 re) (pow.f64 im 2)) -1/2))) (neg.f64 (cos.f64 re)))
(-.f64 (cos.f64 re) (*.f64 -1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))))
(-.f64 (cos.f64 re) (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) -1/2)))
(*.f64 (cos.f64 re) (+.f64 1 (*.f64 (pow.f64 im 2) 1/2)))
(-.f64 (-.f64 0 (+.f64 (cos.f64 re) (*.f64 (*.f64 (cos.f64 re) (pow.f64 im 2)) -1/2))) (*.f64 (cos.f64 re) -2))
(-.f64 (cos.f64 re) (*.f64 -1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))))
(-.f64 (cos.f64 re) (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) -1/2)))
(*.f64 (cos.f64 re) (+.f64 1 (*.f64 (pow.f64 im 2) 1/2)))
(-.f64 (-.f64 (*.f64 (cos.f64 re) 3/2) (+.f64 (cos.f64 re) (*.f64 (*.f64 (cos.f64 re) (pow.f64 im 2)) -1/2))) (/.f64 (cos.f64 re) -2))
(-.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))) (/.f64 (cos.f64 re) -2)))
(-.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) -1/2)) (/.f64 (cos.f64 re) -2)))
(+.f64 (/.f64 (cos.f64 re) 2) (*.f64 (cos.f64 re) (-.f64 1/2 (*.f64 (pow.f64 im 2) -1/2))))
(-.f64 (-.f64 (*.f64 (cos.f64 re) 1/2) (neg.f64 (/.f64 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))) 4))) (/.f64 (*.f64 (cos.f64 re) (pow.f64 im 2)) -4))
(-.f64 (-.f64 (*.f64 1/2 (cos.f64 re)) (/.f64 (*.f64 (pow.f64 im 2) (cos.f64 re)) -4)) (neg.f64 (/.f64 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))) 4)))
(-.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (/.f64 (*.f64 (pow.f64 im 2) (cos.f64 re)) -4) (/.f64 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))) -4)))
(-.f64 (*.f64 1/2 (cos.f64 re)) (/.f64 (+.f64 (*.f64 (pow.f64 im 2) (cos.f64 re)) (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2)))) -4))
(-.f64 (-.f64 (*.f64 (pow.f64 im 2) (/.f64 (cos.f64 re) 4)) (neg.f64 (/.f64 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))) 4))) (/.f64 (cos.f64 re) -2))
(-.f64 (-.f64 (*.f64 (cos.f64 re) (/.f64 (pow.f64 im 2) 4)) (/.f64 (cos.f64 re) -2)) (neg.f64 (/.f64 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))) 4)))
(-.f64 (-.f64 (*.f64 (cos.f64 re) (/.f64 (pow.f64 im 2) 4)) (/.f64 (cos.f64 re) -2)) (/.f64 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))) -4))
(+.f64 (-.f64 (*.f64 (cos.f64 re) (/.f64 (pow.f64 im 2) 4)) (*.f64 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))) -1/4)) (/.f64 (cos.f64 re) 2))
(-.f64 (/.f64 (+.f64 (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 1/2)) (/.f64 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))) 4)) 2) (/.f64 (+.f64 (*.f64 (cos.f64 re) -3/2) (/.f64 (*.f64 (cos.f64 re) (pow.f64 im 2)) -4)) 2))
(/.f64 (-.f64 (+.f64 (*.f64 (pow.f64 im 2) (*.f64 1/2 (cos.f64 re))) (/.f64 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))) 4)) (+.f64 (/.f64 (*.f64 (pow.f64 im 2) (cos.f64 re)) -4) (*.f64 (cos.f64 re) -3/2))) 2)
(/.f64 (+.f64 (-.f64 (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 1/2)) (/.f64 (+.f64 (*.f64 (pow.f64 im 2) (cos.f64 re)) (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2)))) -4)) (neg.f64 (*.f64 (cos.f64 re) -3/2))) 2)
(-.f64 (/.f64 (/.f64 (*.f64 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))) 3/2) 2) 2) (/.f64 (neg.f64 (/.f64 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))) 4)) 2))
(-.f64 (/.f64 (*.f64 3/2 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2)))) 4) (/.f64 (neg.f64 (/.f64 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))) 4)) 2))
(-.f64 (/.f64 (*.f64 (cos.f64 re) (*.f64 (+.f64 2 (pow.f64 im 2)) 3/2)) 4) (neg.f64 (/.f64 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))) 8)))
(/.f64 (-.f64 (*.f64 3 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2)))) (*.f64 (+.f64 2 (pow.f64 im 2)) (neg.f64 (cos.f64 re)))) 8)
(-.f64 (/.f64 (*.f64 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))) 3/2) 4) (/.f64 (*.f64 (cos.f64 re) (-.f64 -1 (*.f64 (pow.f64 im 2) 1/2))) 4))
(/.f64 (-.f64 (*.f64 3/2 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2)))) (*.f64 (cos.f64 re) (-.f64 -1 (*.f64 (pow.f64 im 2) 1/2)))) 4)
(/.f64 (-.f64 (*.f64 (cos.f64 re) (*.f64 (+.f64 2 (pow.f64 im 2)) 3/2)) (*.f64 (cos.f64 re) (-.f64 -1 (*.f64 (pow.f64 im 2) 1/2)))) 4)
(/.f64 (-.f64 (*.f64 (cos.f64 re) (*.f64 3/2 (+.f64 2 (pow.f64 im 2)))) (*.f64 (cos.f64 re) (-.f64 -1 (*.f64 (pow.f64 im 2) 1/2)))) 4)
(-.f64 (/.f64 (+.f64 (cos.f64 re) (/.f64 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))) 4)) 2) (/.f64 (+.f64 (*.f64 -3 (*.f64 (pow.f64 im 2) (/.f64 (cos.f64 re) 4))) (/.f64 (cos.f64 re) -2)) 2))
(/.f64 (-.f64 (+.f64 (cos.f64 re) (/.f64 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))) 4)) (+.f64 (*.f64 (/.f64 (cos.f64 re) 4) (*.f64 (pow.f64 im 2) -3)) (/.f64 (cos.f64 re) -2))) 2)
(/.f64 (-.f64 (+.f64 (cos.f64 re) (/.f64 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))) 4)) (+.f64 (*.f64 (*.f64 (cos.f64 re) (/.f64 (pow.f64 im 2) 4)) -3) (/.f64 (cos.f64 re) -2))) 2)
(/.f64 (+.f64 (/.f64 (cos.f64 re) 2) (-.f64 (+.f64 (cos.f64 re) (/.f64 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))) 4)) (*.f64 (cos.f64 re) (*.f64 (/.f64 (pow.f64 im 2) 4) -3)))) 2)
(-.f64 (-.f64 (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 1/2)) (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 1/2))) (*.f64 (cos.f64 re) (-.f64 -1 (*.f64 (pow.f64 im 2) 1/2))))
(neg.f64 (*.f64 (cos.f64 re) (-.f64 -1 (*.f64 (pow.f64 im 2) 1/2))))
(*.f64 (-.f64 -1 (*.f64 (pow.f64 im 2) 1/2)) (neg.f64 (cos.f64 re)))
(-.f64 (+.f64 (*.f64 (pow.f64 im 2) (/.f64 (cos.f64 re) 4)) (*.f64 (cos.f64 (/.f64 re 2)) (cos.f64 (/.f64 re 2)))) (-.f64 (*.f64 (sin.f64 (/.f64 re 2)) (sin.f64 (/.f64 re 2))) (*.f64 (pow.f64 im 2) (/.f64 (cos.f64 re) 4))))
(-.f64 (*.f64 (cos.f64 re) (/.f64 (pow.f64 im 2) 4)) (-.f64 (*.f64 (sin.f64 (/.f64 re 2)) (sin.f64 (/.f64 re 2))) (+.f64 (*.f64 (cos.f64 re) (/.f64 (pow.f64 im 2) 4)) (*.f64 (cos.f64 (/.f64 re 2)) (cos.f64 (/.f64 re 2))))))
(-.f64 (*.f64 (cos.f64 re) (/.f64 (pow.f64 im 2) 4)) (-.f64 (neg.f64 (*.f64 (cos.f64 re) (/.f64 (pow.f64 im 2) 4))) (cos.f64 (/.f64 (+.f64 re re) 2))))
(-.f64 (+.f64 1/2 (/.f64 (cos.f64 re) 2)) (-.f64 (-.f64 1/2 (/.f64 (cos.f64 re) 2)) (*.f64 (pow.f64 im 2) (/.f64 (cos.f64 re) 2))))
(-.f64 (+.f64 (/.f64 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))) 8) (*.f64 (cos.f64 re) 1/2)) (-.f64 (/.f64 (*.f64 (cos.f64 re) (pow.f64 im 2)) -4) (/.f64 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))) 8)))
(-.f64 (-.f64 (*.f64 1/2 (cos.f64 re)) (/.f64 (*.f64 (pow.f64 im 2) (cos.f64 re)) -4)) (neg.f64 (/.f64 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))) 4)))
(-.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (/.f64 (*.f64 (pow.f64 im 2) (cos.f64 re)) -4) (/.f64 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))) -4)))
(-.f64 (*.f64 1/2 (cos.f64 re)) (/.f64 (+.f64 (*.f64 (pow.f64 im 2) (cos.f64 re)) (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2)))) -4))
(-.f64 (+.f64 (/.f64 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))) 8) (*.f64 (pow.f64 im 2) (/.f64 (cos.f64 re) 4))) (-.f64 (/.f64 (cos.f64 re) -2) (/.f64 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))) 8)))
(-.f64 (-.f64 (*.f64 (cos.f64 re) (/.f64 (pow.f64 im 2) 4)) (/.f64 (cos.f64 re) -2)) (neg.f64 (/.f64 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))) 4)))
(-.f64 (-.f64 (*.f64 (cos.f64 re) (/.f64 (pow.f64 im 2) 4)) (/.f64 (cos.f64 re) -2)) (/.f64 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))) -4))
(+.f64 (-.f64 (*.f64 (cos.f64 re) (/.f64 (pow.f64 im 2) 4)) (*.f64 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))) -1/4)) (/.f64 (cos.f64 re) 2))
(*.f64 (cos.f64 re) (+.f64 1 (*.f64 (pow.f64 im 2) 1/2)))
(-.f64 (cos.f64 re) (*.f64 -1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))))
(-.f64 (cos.f64 re) (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) -1/2)))
(*.f64 (cos.f64 re) (+.f64 (cos.f64 0) (*.f64 (pow.f64 im 2) 1/2)))
(*.f64 (cos.f64 re) (+.f64 (*.f64 (pow.f64 im 2) 1/2) (cos.f64 0)))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))))
(-.f64 (cos.f64 re) (*.f64 -1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))))
(-.f64 (cos.f64 re) (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) -1/2)))
(*.f64 (cos.f64 re) (+.f64 1 (*.f64 (pow.f64 im 2) 1/2)))
(*.f64 (*.f64 (cos.f64 re) (+.f64 1 (*.f64 (pow.f64 im 2) 1/2))) 1)
(-.f64 (cos.f64 re) (*.f64 -1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))))
(-.f64 (cos.f64 re) (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) -1/2)))
(*.f64 (cos.f64 re) (+.f64 1 (*.f64 (pow.f64 im 2) 1/2)))
(*.f64 1 (*.f64 (cos.f64 re) (+.f64 1 (*.f64 (pow.f64 im 2) 1/2))))
(-.f64 (cos.f64 re) (*.f64 -1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))))
(-.f64 (cos.f64 re) (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) -1/2)))
(*.f64 (cos.f64 re) (+.f64 1 (*.f64 (pow.f64 im 2) 1/2)))
(*.f64 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))) 1/2)
(-.f64 (cos.f64 re) (*.f64 -1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))))
(-.f64 (cos.f64 re) (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) -1/2)))
(*.f64 (cos.f64 re) (+.f64 1 (*.f64 (pow.f64 im 2) 1/2)))
(*.f64 1/4 (*.f64 2 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2)))))
(-.f64 (cos.f64 re) (*.f64 -1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))))
(-.f64 (cos.f64 re) (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) -1/2)))
(*.f64 (cos.f64 re) (+.f64 1 (*.f64 (pow.f64 im 2) 1/2)))
(*.f64 (*.f64 (cos.f64 re) 1/2) (+.f64 2 (pow.f64 im 2)))
(-.f64 (cos.f64 re) (*.f64 -1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))))
(-.f64 (cos.f64 re) (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) -1/2)))
(*.f64 (cos.f64 re) (+.f64 1 (*.f64 (pow.f64 im 2) 1/2)))
(*.f64 (*.f64 (cos.f64 re) 1/2) (+.f64 (*.f64 (cos.f64 0) 2) (pow.f64 im 2)))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (pow.f64 im 2) (*.f64 2 (cos.f64 0))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (pow.f64 im 2) (*.f64 2 (cos.f64 0)))))
(*.f64 (*.f64 (cos.f64 re) 1/2) (+.f64 (pow.f64 im 2) 2))
(-.f64 (cos.f64 re) (*.f64 -1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))))
(-.f64 (cos.f64 re) (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) -1/2)))
(*.f64 (cos.f64 re) (+.f64 1 (*.f64 (pow.f64 im 2) 1/2)))
(*.f64 (*.f64 (cos.f64 re) 1/2) (+.f64 (pow.f64 im 2) (*.f64 (cos.f64 0) 2)))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (pow.f64 im 2) (*.f64 2 (cos.f64 0))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (pow.f64 im 2) (*.f64 2 (cos.f64 0)))))
(*.f64 (*.f64 2 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2)))) 1/4)
(-.f64 (cos.f64 re) (*.f64 -1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))))
(-.f64 (cos.f64 re) (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) -1/2)))
(*.f64 (cos.f64 re) (+.f64 1 (*.f64 (pow.f64 im 2) 1/2)))
(*.f64 (+.f64 1 (*.f64 (pow.f64 im 2) 1/2)) (cos.f64 re))
(-.f64 (cos.f64 re) (*.f64 -1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))))
(-.f64 (cos.f64 re) (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) -1/2)))
(*.f64 (cos.f64 re) (+.f64 1 (*.f64 (pow.f64 im 2) 1/2)))
(*.f64 (+.f64 (cos.f64 0) (*.f64 (pow.f64 im 2) 1/2)) (cos.f64 re))
(*.f64 (cos.f64 re) (+.f64 (*.f64 (pow.f64 im 2) 1/2) (cos.f64 0)))
(*.f64 (*.f64 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))) 4) 1/8)
(-.f64 (cos.f64 re) (*.f64 -1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))))
(-.f64 (cos.f64 re) (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) -1/2)))
(*.f64 (cos.f64 re) (+.f64 1 (*.f64 (pow.f64 im 2) 1/2)))
(/.f64 (*.f64 (cos.f64 re) (+.f64 1 (*.f64 (pow.f64 im 2) 1/2))) 1)
(-.f64 (cos.f64 re) (*.f64 -1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))))
(-.f64 (cos.f64 re) (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) -1/2)))
(*.f64 (cos.f64 re) (+.f64 1 (*.f64 (pow.f64 im 2) 1/2)))
(/.f64 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))) 2)
(-.f64 (cos.f64 re) (*.f64 -1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))))
(-.f64 (cos.f64 re) (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) -1/2)))
(*.f64 (cos.f64 re) (+.f64 1 (*.f64 (pow.f64 im 2) 1/2)))
(/.f64 (*.f64 2 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2)))) 4)
(-.f64 (cos.f64 re) (*.f64 -1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))))
(-.f64 (cos.f64 re) (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) -1/2)))
(*.f64 (cos.f64 re) (+.f64 1 (*.f64 (pow.f64 im 2) 1/2)))
(/.f64 (*.f64 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))) 4) 8)
(-.f64 (cos.f64 re) (*.f64 -1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))))
(-.f64 (cos.f64 re) (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) -1/2)))
(*.f64 (cos.f64 re) (+.f64 1 (*.f64 (pow.f64 im 2) 1/2)))
(/.f64 (+.f64 (*.f64 2 (*.f64 (cos.f64 re) 4)) (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 4))) 8)
(-.f64 (cos.f64 re) (*.f64 -1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))))
(-.f64 (cos.f64 re) (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) -1/2)))
(*.f64 (cos.f64 re) (+.f64 1 (*.f64 (pow.f64 im 2) 1/2)))
(/.f64 (+.f64 (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 4)) (*.f64 2 (*.f64 (cos.f64 re) 4))) 8)
(-.f64 (cos.f64 re) (*.f64 -1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))))
(-.f64 (cos.f64 re) (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) -1/2)))
(*.f64 (cos.f64 re) (+.f64 1 (*.f64 (pow.f64 im 2) 1/2)))
(/.f64 (-.f64 (*.f64 (cos.f64 re) 4) (*.f64 -2 (*.f64 (cos.f64 re) (pow.f64 im 2)))) 4)
(-.f64 (cos.f64 re) (*.f64 -1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))))
(-.f64 (cos.f64 re) (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) -1/2)))
(*.f64 (cos.f64 re) (+.f64 1 (*.f64 (pow.f64 im 2) 1/2)))
(/.f64 (-.f64 (*.f64 (cos.f64 re) (*.f64 2 (pow.f64 im 2))) (neg.f64 (*.f64 (cos.f64 re) 4))) 4)
(-.f64 (cos.f64 re) (*.f64 -1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))))
(-.f64 (cos.f64 re) (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) -1/2)))
(*.f64 (cos.f64 re) (+.f64 1 (*.f64 (pow.f64 im 2) 1/2)))
(/.f64 (-.f64 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))) (+.f64 (cos.f64 (/.f64 (+.f64 (PI.f64) (-.f64 (PI.f64) (+.f64 re re))) 2)) (cos.f64 (-.f64 re (-.f64 (/.f64 (PI.f64) 2) (/.f64 (PI.f64) 2)))))) 2)
(/.f64 (-.f64 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))) (+.f64 (cos.f64 (/.f64 (+.f64 (PI.f64) (-.f64 (PI.f64) (+.f64 re re))) 2)) (cos.f64 (-.f64 re 0)))) 2)
(/.f64 (-.f64 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))) (+.f64 (cos.f64 re) (cos.f64 (/.f64 (+.f64 (PI.f64) (-.f64 (PI.f64) (+.f64 re re))) 2)))) 2)
(/.f64 (+.f64 (neg.f64 (cos.f64 (/.f64 (+.f64 (PI.f64) (-.f64 (PI.f64) (+.f64 re re))) 2))) (*.f64 (cos.f64 re) (-.f64 (+.f64 2 (pow.f64 im 2)) 1))) 2)
(/.f64 (-.f64 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))) (+.f64 (cos.f64 (/.f64 (+.f64 (PI.f64) (-.f64 (PI.f64) (+.f64 re re))) 2)) (cos.f64 (/.f64 (-.f64 (-.f64 (PI.f64) (+.f64 re re)) (PI.f64)) 2)))) 2)
(/.f64 (-.f64 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))) (+.f64 (cos.f64 (/.f64 (+.f64 (PI.f64) (-.f64 (PI.f64) (+.f64 re re))) 2)) (cos.f64 (/.f64 (-.f64 (PI.f64) (+.f64 (PI.f64) (+.f64 re re))) 2)))) 2)
(/.f64 (-.f64 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))) (+.f64 (cos.f64 (/.f64 (+.f64 (PI.f64) (-.f64 (PI.f64) (+.f64 re re))) 2)) (cos.f64 (-.f64 0 (/.f64 (+.f64 re re) 2))))) 2)
(/.f64 (-.f64 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))) (+.f64 (cos.f64 (neg.f64 re)) (cos.f64 (/.f64 (+.f64 (PI.f64) (-.f64 (PI.f64) (+.f64 re re))) 2)))) 2)
(/.f64 (-.f64 (*.f64 2 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2)))) (+.f64 (-.f64 (cos.f64 (neg.f64 re)) (cos.f64 re)) (-.f64 (cos.f64 (neg.f64 re)) (cos.f64 re)))) 4)
(/.f64 (-.f64 (*.f64 (+.f64 2 (pow.f64 im 2)) (*.f64 2 (cos.f64 re))) (+.f64 (-.f64 (cos.f64 (neg.f64 re)) (cos.f64 re)) (-.f64 (cos.f64 (neg.f64 re)) (cos.f64 re)))) 4)
(-.f64 (/.f64 (*.f64 2 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2)))) 4) (/.f64 (-.f64 (cos.f64 (neg.f64 re)) (cos.f64 re)) 2))
(-.f64 (*.f64 (cos.f64 re) (+.f64 1 (*.f64 (pow.f64 im 2) 1/2))) (/.f64 (-.f64 (cos.f64 (neg.f64 re)) (cos.f64 re)) 2))
(pow.f64 (*.f64 (cos.f64 re) (+.f64 1 (*.f64 (pow.f64 im 2) 1/2))) 1)
(-.f64 (cos.f64 re) (*.f64 -1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))))
(-.f64 (cos.f64 re) (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) -1/2)))
(*.f64 (cos.f64 re) (+.f64 1 (*.f64 (pow.f64 im 2) 1/2)))
(neg.f64 (*.f64 (cos.f64 re) (-.f64 -1 (*.f64 (pow.f64 im 2) 1/2))))
(*.f64 (-.f64 -1 (*.f64 (pow.f64 im 2) 1/2)) (neg.f64 (cos.f64 re)))

eval255.0ms (2.4%)

Compiler

Compiled 9487 to 6359 computations (33% saved)

prune278.0ms (2.7%)

Pruning

10 alts after pruning (5 fresh and 5 done)

PrunedKeptTotal
New4955500
Fresh000
Picked011
Done044
Total49510505
Error
0.0b
Counts
505 → 10
Alt Table
Click to see full alt table
StatusErrorProgram
1.1b
(-.f64 (*.f64 (pow.f64 im 2) (cos.f64 re)) (*.f64 (cos.f64 re) (+.f64 (*.f64 (pow.f64 im 2) 1/2) -1)))
1.3b
(+.f64 (*.f64 (pow.f64 im 2) 1/2) (cos.f64 re))
1.1b
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (cos.f64 re))
28.0b
(+.f64 1 (*.f64 (pow.f64 im 2) 1/2))
61.1b
(*.f64 (pow.f64 im 2) (*.f64 1/2 (cos.f64 re)))
0.0b
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
1.1b
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (pow.f64 im 2)))
27.5b
(*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
28.1b
(*.f64 1/2 2)
1.4b
(cos.f64 re)
Compiler

Compiled 158 to 126 computations (20.3% saved)

localize21.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(pow.f64 im 2)
0.0b
(*.f64 (cos.f64 re) (+.f64 (*.f64 (pow.f64 im 2) 1/2) -1))
0.0b
(-.f64 (*.f64 (pow.f64 im 2) (cos.f64 re)) (*.f64 (cos.f64 re) (+.f64 (*.f64 (pow.f64 im 2) 1/2) -1)))
0.1b
(*.f64 (pow.f64 im 2) (cos.f64 re))
Compiler

Compiled 57 to 39 computations (31.6% saved)

series89.0ms (0.8%)

Counts
3 → 72
Calls

18 calls:

TimeVariablePointExpression
86.0ms
re
@0
(-.f64 (*.f64 (pow.f64 im 2) (cos.f64 re)) (*.f64 (cos.f64 re) (+.f64 (*.f64 (pow.f64 im 2) 1/2) -1)))
0.0ms
re
@inf
(-.f64 (*.f64 (pow.f64 im 2) (cos.f64 re)) (*.f64 (cos.f64 re) (+.f64 (*.f64 (pow.f64 im 2) 1/2) -1)))
0.0ms
im
@inf
(-.f64 (*.f64 (pow.f64 im 2) (cos.f64 re)) (*.f64 (cos.f64 re) (+.f64 (*.f64 (pow.f64 im 2) 1/2) -1)))
0.0ms
re
@-inf
(-.f64 (*.f64 (pow.f64 im 2) (cos.f64 re)) (*.f64 (cos.f64 re) (+.f64 (*.f64 (pow.f64 im 2) 1/2) -1)))
0.0ms
im
@0
(-.f64 (*.f64 (pow.f64 im 2) (cos.f64 re)) (*.f64 (cos.f64 re) (+.f64 (*.f64 (pow.f64 im 2) 1/2) -1)))

rewrite87.0ms (0.8%)

Algorithm
batch-egg-rewrite
Rules
1046×rational_best-simplify-63
1012×rational_best-2
1012×rational_best-3
1012×rational_best-1
1010×rational_best-4
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01587
19987
219175
358075
4247075
Stop Event
node limit
Counts
3 → 121
Calls
Call 1
Inputs
(*.f64 (pow.f64 im 2) (cos.f64 re))
(-.f64 (*.f64 (pow.f64 im 2) (cos.f64 re)) (*.f64 (cos.f64 re) (+.f64 (*.f64 (pow.f64 im 2) 1/2) -1)))
(*.f64 (cos.f64 re) (+.f64 (*.f64 (pow.f64 im 2) 1/2) -1))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (pow.f64 im 2) (cos.f64 re)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (pow.f64 im 2) (cos.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (*.f64 (pow.f64 im 2) (cos.f64 re)) 2) (/.f64 (*.f64 (pow.f64 im 2) (cos.f64 re)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (pow.f64 im 2) (cos.f64 re)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 2 (*.f64 (pow.f64 im 2) (cos.f64 re))) (*.f64 (pow.f64 im 2) (cos.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (*.f64 (pow.f64 im 2) (cos.f64 re)) 2) (/.f64 (*.f64 (pow.f64 im 2) (cos.f64 re)) -2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 im 2) (cos.f64 re)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (pow.f64 im 2) (cos.f64 re))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 (pow.f64 im 2) (cos.f64 re)) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (*.f64 (pow.f64 im 2) (cos.f64 re)) 4)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 (pow.f64 im 2) 4) (+.f64 (cos.f64 re) (cos.f64 (neg.f64 re)))) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 (pow.f64 im 2) 4) (*.f64 (cos.f64 re) 4)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 2 (pow.f64 im 2)) (+.f64 (cos.f64 re) (cos.f64 (neg.f64 re)))) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 (*.f64 (pow.f64 im 2) 4) (+.f64 (cos.f64 re) (cos.f64 (neg.f64 re)))) 2) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 (pow.f64 im 2) -1/2) (*.f64 (cos.f64 re) 4)) -2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 (pow.f64 im 2) -1/2) (*.f64 (*.f64 2 (cos.f64 re)) 4)) -4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 (pow.f64 im 2) -1/2) (*.f64 2 (cos.f64 re))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 (pow.f64 im 2) -1/2) (+.f64 (+.f64 (cos.f64 re) (cos.f64 (neg.f64 re))) (+.f64 (cos.f64 re) (cos.f64 (neg.f64 re))))) -2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 (pow.f64 im 2) -1/2) (+.f64 (*.f64 2 (cos.f64 re)) (+.f64 (cos.f64 re) (cos.f64 (neg.f64 re))))) -2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (pow.f64 im 2) (cos.f64 re)) 1)))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (cos.f64 re) (/.f64 (*.f64 (pow.f64 im 2) (cos.f64 re)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (pow.f64 im 2) (cos.f64 re)) (/.f64 (*.f64 (cos.f64 re) (+.f64 -2 (pow.f64 im 2))) -2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (cos.f64 re) (+.f64 (*.f64 (pow.f64 im 2) 1/2) 1)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (cos.f64 re) (+.f64 (*.f64 (pow.f64 im 2) 1/2) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (*.f64 (cos.f64 re) (+.f64 -2 (pow.f64 im 2))) -2) (*.f64 (pow.f64 im 2) (cos.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (*.f64 (cos.f64 re) (+.f64 -2 (pow.f64 im 2))) -2) (neg.f64 (neg.f64 (*.f64 (pow.f64 im 2) (cos.f64 re)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (cos.f64 re) (-.f64 (*.f64 (pow.f64 im 2) 3/2) -1)) (neg.f64 (*.f64 (pow.f64 im 2) (cos.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (neg.f64 (*.f64 (pow.f64 im 2) (cos.f64 re))) (*.f64 (cos.f64 re) (-.f64 (*.f64 (pow.f64 im 2) 3/2) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))) 4) (/.f64 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (*.f64 (pow.f64 im 2) (cos.f64 re)) 2) (cos.f64 re))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (*.f64 (cos.f64 re) (-.f64 (*.f64 (pow.f64 im 2) 3/2) -1)) 2) (/.f64 (*.f64 (cos.f64 re) (+.f64 -2 (pow.f64 im 2))) -4))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (*.f64 (cos.f64 re) (+.f64 -2 (pow.f64 im 2))) -4) (/.f64 (*.f64 (cos.f64 re) (-.f64 (*.f64 (pow.f64 im 2) 3/2) -1)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (neg.f64 (neg.f64 (*.f64 (pow.f64 im 2) (cos.f64 re)))) (/.f64 (*.f64 (cos.f64 re) (+.f64 -2 (pow.f64 im 2))) -2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (/.f64 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cos.f64 re) (+.f64 (*.f64 (pow.f64 im 2) 1/2) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cos.f64 re) (*.f64 (+.f64 (*.f64 (pow.f64 im 2) 1/2) 1) (cos.f64 0)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cos.f64 re) (-.f64 (pow.f64 im 2) (*.f64 (-.f64 -1 (*.f64 (pow.f64 im 2) -1/2)) (cos.f64 0))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (-.f64 (*.f64 (*.f64 (pow.f64 im 2) (cos.f64 re)) 4) (*.f64 2 (*.f64 (cos.f64 re) (+.f64 -1 (*.f64 (pow.f64 im 2) 3/2))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (*.f64 (cos.f64 re) (+.f64 -1 (*.f64 (pow.f64 im 2) -1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cos.f64 re) (+.f64 (*.f64 (pow.f64 im 2) 1/2) 1)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cos.f64 re) (+.f64 (*.f64 (pow.f64 im 2) 1/2) 1)) (cos.f64 0))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (*.f64 (cos.f64 re) (+.f64 (*.f64 (pow.f64 im 2) 1/2) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (*.f64 (pow.f64 im 2) 1/2) 1) (cos.f64 re))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cos.f64 re) (+.f64 -1 (*.f64 (pow.f64 im 2) -1/2))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 -1 (*.f64 (pow.f64 im 2) -1/2)) (neg.f64 (cos.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (cos.f64 re)) (-.f64 1/2 (/.f64 (pow.f64 im 2) -4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (cos.f64 re)) (-.f64 (*.f64 (pow.f64 im 2) 1/2) (*.f64 (cos.f64 0) (+.f64 -1/2 (/.f64 (pow.f64 im 2) 4)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))) (/.f64 (cos.f64 0) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cos.f64 0) (*.f64 (cos.f64 re) (+.f64 (*.f64 (pow.f64 im 2) 1/2) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 1/2 (/.f64 (pow.f64 im 2) -4)) (*.f64 2 (cos.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 1/2 (/.f64 (pow.f64 im 2) -4)) (+.f64 (cos.f64 re) (cos.f64 (neg.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cos.f64 re) 2) (+.f64 2 (pow.f64 im 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cos.f64 re) 2) (-.f64 (*.f64 (pow.f64 im 2) 4) (*.f64 2 (+.f64 -1 (*.f64 (pow.f64 im 2) 3/2)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cos.f64 0) 2) (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 2 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 2 (pow.f64 im 2)) (/.f64 (cos.f64 re) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2)))) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cos.f64 re) 4) (/.f64 (+.f64 2 (pow.f64 im 2)) 8))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))) 4) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 -2 (pow.f64 im 2)) (/.f64 (cos.f64 re) -2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (cos.f64 re)) (+.f64 -1 (*.f64 (pow.f64 im 2) -1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (cos.f64 re) (cos.f64 (neg.f64 re))) (-.f64 1/2 (/.f64 (pow.f64 im 2) -4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (*.f64 (pow.f64 im 2) 1/2) 1) (cos.f64 0)) (cos.f64 re))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 2 (pow.f64 im 2)) 8) (*.f64 (cos.f64 re) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (-.f64 -2 (pow.f64 im 2)) 4) (*.f64 (cos.f64 re) -2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cos.f64 re) (+.f64 (*.f64 (pow.f64 im 2) 1/2) 1)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cos.f64 re) (+.f64 -1 (*.f64 (pow.f64 im 2) -1/2))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2)))) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))) 4) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cos.f64 re) (-.f64 -2 (pow.f64 im 2))) -2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))) -4) -1/2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 -1 (*.f64 (pow.f64 im 2) -1/2)) (*.f64 (cos.f64 re) 4)) -4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 -1 (*.f64 (pow.f64 im 2) -1/2)) (+.f64 (cos.f64 re) (cos.f64 (neg.f64 re)))) -2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))) 4) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (cos.f64 re) (-.f64 -2 (pow.f64 im 2)))) -4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 -2 (pow.f64 im 2)) (+.f64 (cos.f64 re) (cos.f64 (neg.f64 re)))) -4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 2 (pow.f64 im 2)) (+.f64 (cos.f64 re) (cos.f64 (neg.f64 re)))) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 (cos.f64 re) (-.f64 -2 (pow.f64 im 2))) 2) -4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 2 (*.f64 (cos.f64 re) (-.f64 -2 (pow.f64 im 2)))) -1) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 (-.f64 -2 (pow.f64 im 2)) (+.f64 (cos.f64 re) (cos.f64 (neg.f64 re)))) -1) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 (*.f64 (cos.f64 re) (-.f64 -2 (pow.f64 im 2))) 2) -1) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 (+.f64 -1 (*.f64 (pow.f64 im 2) -1/2)) (*.f64 (cos.f64 re) 4)) 2) -2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 -1 (*.f64 (pow.f64 im 2) -1/2)) (*.f64 (*.f64 2 (cos.f64 re)) 4)) -8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 -1 (*.f64 (pow.f64 im 2) -1/2)) (+.f64 (+.f64 (cos.f64 re) (cos.f64 (neg.f64 re))) (+.f64 (cos.f64 re) (cos.f64 (neg.f64 re))))) -4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 -1 (*.f64 (pow.f64 im 2) -1/2)) (*.f64 (cos.f64 0) (*.f64 (cos.f64 re) 4))) -4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cos.f64 re) (*.f64 2 (-.f64 -2 (pow.f64 im 2)))) -4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cos.f64 re) (*.f64 (-.f64 -2 (pow.f64 im 2)) 2)) -4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 (*.f64 (pow.f64 im 2) (cos.f64 re)) 4) (*.f64 2 (*.f64 (cos.f64 re) (+.f64 -1 (*.f64 (pow.f64 im 2) 3/2))))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 (*.f64 (pow.f64 im 2) (cos.f64 re)) 4) (*.f64 (+.f64 -2 (pow.f64 im 2)) (+.f64 (cos.f64 re) (cos.f64 (neg.f64 re))))) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 2 (*.f64 (*.f64 (pow.f64 im 2) (cos.f64 re)) 4)) (*.f64 (*.f64 (cos.f64 re) (+.f64 -2 (pow.f64 im 2))) 4)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 (*.f64 (pow.f64 im 2) 4) (*.f64 (cos.f64 re) 4)) (*.f64 (*.f64 2 (+.f64 -2 (pow.f64 im 2))) (*.f64 (cos.f64 re) 4))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 (*.f64 2 (pow.f64 im 2)) (+.f64 (cos.f64 re) (cos.f64 (neg.f64 re)))) (*.f64 (*.f64 2 (cos.f64 re)) (+.f64 -2 (pow.f64 im 2)))) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 (*.f64 2 (pow.f64 im 2)) (+.f64 (cos.f64 re) (cos.f64 (neg.f64 re)))) (*.f64 (+.f64 -2 (pow.f64 im 2)) (+.f64 (cos.f64 re) (cos.f64 (neg.f64 re))))) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 2 (*.f64 (*.f64 (pow.f64 im 2) (cos.f64 re)) 4)) (*.f64 2 (*.f64 2 (*.f64 (cos.f64 re) (+.f64 -1 (*.f64 (pow.f64 im 2) 3/2)))))) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 (*.f64 (pow.f64 im 2) 4) (+.f64 (cos.f64 re) (cos.f64 (neg.f64 re)))) (*.f64 2 (*.f64 2 (*.f64 (cos.f64 re) (+.f64 -1 (*.f64 (pow.f64 im 2) 3/2)))))) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 2 (*.f64 (cos.f64 re) (+.f64 -1 (*.f64 (pow.f64 im 2) 3/2)))) (*.f64 (*.f64 2 (cos.f64 re)) (+.f64 -2 (pow.f64 im 2)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 2 (*.f64 2 (*.f64 (cos.f64 re) (+.f64 -1 (*.f64 (pow.f64 im 2) 3/2))))) (*.f64 (*.f64 (cos.f64 re) (+.f64 -2 (pow.f64 im 2))) 4)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 2 (*.f64 2 (*.f64 (cos.f64 re) (+.f64 -1 (*.f64 (pow.f64 im 2) 3/2))))) (*.f64 (*.f64 2 (+.f64 -2 (pow.f64 im 2))) (+.f64 (cos.f64 re) (cos.f64 (neg.f64 re))))) 4)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (cos.f64 re) (+.f64 (*.f64 (pow.f64 im 2) 1/2) 1)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (*.f64 (cos.f64 re) (+.f64 -1 (*.f64 (pow.f64 im 2) -1/2))))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (cos.f64 re) (-.f64 -1 (*.f64 (pow.f64 im 2) -1/2))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (cos.f64 re) (-.f64 -1 (*.f64 (pow.f64 im 2) -1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (*.f64 (cos.f64 re) (+.f64 -2 (pow.f64 im 2))) 4) (/.f64 (*.f64 (cos.f64 re) (+.f64 -2 (pow.f64 im 2))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (cos.f64 re) (-.f64 -1 (*.f64 (pow.f64 im 2) -1/2))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (/.f64 (*.f64 (cos.f64 re) (+.f64 -2 (pow.f64 im 2))) -2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (cos.f64 re) (+.f64 -2 (pow.f64 im 2))) (*.f64 (cos.f64 re) (-.f64 -1 (*.f64 (pow.f64 im 2) -1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (*.f64 (cos.f64 re) (+.f64 -2 (pow.f64 im 2))) 4) (/.f64 (*.f64 (cos.f64 re) (+.f64 -2 (pow.f64 im 2))) -4))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cos.f64 re) (-.f64 -1 (*.f64 (pow.f64 im 2) -1/2))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 (cos.f64 re) (+.f64 -2 (pow.f64 im 2))) -2) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cos.f64 re) (+.f64 -2 (pow.f64 im 2))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 2 (cos.f64 re)) (+.f64 -2 (pow.f64 im 2))) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 (cos.f64 re) (+.f64 -2 (pow.f64 im 2))) 4) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 2 (+.f64 -2 (pow.f64 im 2))) (+.f64 (cos.f64 re) (cos.f64 (neg.f64 re)))) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 -2 (pow.f64 im 2)) (+.f64 (cos.f64 re) (cos.f64 (neg.f64 re)))) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 2 (+.f64 -2 (pow.f64 im 2))) (*.f64 (cos.f64 re) 4)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 (*.f64 2 (+.f64 -2 (pow.f64 im 2))) (+.f64 (cos.f64 re) (cos.f64 (neg.f64 re)))) 2) 4)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (cos.f64 re) (-.f64 -1 (*.f64 (pow.f64 im 2) -1/2))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 (*.f64 (cos.f64 re) (+.f64 -2 (pow.f64 im 2))) -2))))))

simplify190.0ms (1.8%)

Algorithm
egg-herbie
Rules
1292×rational_best-simplify-51
1196×rational_best-simplify-57
1000×rational_best-simplify-3
942×rational_best-simplify-55
766×rational_best-simplify-1
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
03197475
17457261
217797007
349696909
Stop Event
node limit
Counts
193 → 272
Calls
Call 1
Inputs
(*.f64 (cos.f64 re) (pow.f64 im 2))
(*.f64 (cos.f64 re) (pow.f64 im 2))
(*.f64 (cos.f64 re) (pow.f64 im 2))
(*.f64 (cos.f64 re) (pow.f64 im 2))
(*.f64 (cos.f64 re) (pow.f64 im 2))
(*.f64 (cos.f64 re) (pow.f64 im 2))
(*.f64 (cos.f64 re) (pow.f64 im 2))
(*.f64 (cos.f64 re) (pow.f64 im 2))
(*.f64 (cos.f64 re) (pow.f64 im 2))
(*.f64 (cos.f64 re) (pow.f64 im 2))
(*.f64 (cos.f64 re) (pow.f64 im 2))
(*.f64 (cos.f64 re) (pow.f64 im 2))
(pow.f64 im 2)
(+.f64 (pow.f64 im 2) (*.f64 -1/2 (*.f64 (pow.f64 re 2) (pow.f64 im 2))))
(+.f64 (*.f64 1/24 (*.f64 (pow.f64 re 4) (pow.f64 im 2))) (+.f64 (pow.f64 im 2) (*.f64 -1/2 (*.f64 (pow.f64 re 2) (pow.f64 im 2)))))
(+.f64 (*.f64 1/24 (*.f64 (pow.f64 re 4) (pow.f64 im 2))) (+.f64 (pow.f64 im 2) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 re 2) (pow.f64 im 2))) (*.f64 -1/720 (*.f64 (pow.f64 re 6) (pow.f64 im 2))))))
(*.f64 (cos.f64 re) (pow.f64 im 2))
(*.f64 (cos.f64 re) (pow.f64 im 2))
(*.f64 (cos.f64 re) (pow.f64 im 2))
(*.f64 (cos.f64 re) (pow.f64 im 2))
(*.f64 (cos.f64 re) (pow.f64 im 2))
(*.f64 (cos.f64 re) (pow.f64 im 2))
(*.f64 (cos.f64 re) (pow.f64 im 2))
(*.f64 (cos.f64 re) (pow.f64 im 2))
(cos.f64 re)
(+.f64 (cos.f64 re) (*.f64 (-.f64 (cos.f64 re) (*.f64 1/2 (cos.f64 re))) (pow.f64 im 2)))
(+.f64 (cos.f64 re) (*.f64 (-.f64 (cos.f64 re) (*.f64 1/2 (cos.f64 re))) (pow.f64 im 2)))
(+.f64 (cos.f64 re) (*.f64 (-.f64 (cos.f64 re) (*.f64 1/2 (cos.f64 re))) (pow.f64 im 2)))
(*.f64 (-.f64 (cos.f64 re) (*.f64 1/2 (cos.f64 re))) (pow.f64 im 2))
(+.f64 (cos.f64 re) (*.f64 (-.f64 (cos.f64 re) (*.f64 1/2 (cos.f64 re))) (pow.f64 im 2)))
(+.f64 (cos.f64 re) (*.f64 (-.f64 (cos.f64 re) (*.f64 1/2 (cos.f64 re))) (pow.f64 im 2)))
(+.f64 (cos.f64 re) (*.f64 (-.f64 (cos.f64 re) (*.f64 1/2 (cos.f64 re))) (pow.f64 im 2)))
(*.f64 (-.f64 (cos.f64 re) (*.f64 1/2 (cos.f64 re))) (pow.f64 im 2))
(+.f64 (cos.f64 re) (*.f64 (-.f64 (cos.f64 re) (*.f64 1/2 (cos.f64 re))) (pow.f64 im 2)))
(+.f64 (cos.f64 re) (*.f64 (-.f64 (cos.f64 re) (*.f64 1/2 (cos.f64 re))) (pow.f64 im 2)))
(+.f64 (cos.f64 re) (*.f64 (-.f64 (cos.f64 re) (*.f64 1/2 (cos.f64 re))) (pow.f64 im 2)))
(-.f64 (+.f64 1 (pow.f64 im 2)) (*.f64 1/2 (pow.f64 im 2)))
(-.f64 (+.f64 (*.f64 (-.f64 (*.f64 -1/2 (pow.f64 im 2)) (*.f64 -1/2 (-.f64 (*.f64 1/2 (pow.f64 im 2)) 1))) (pow.f64 re 2)) (+.f64 1 (pow.f64 im 2))) (*.f64 1/2 (pow.f64 im 2)))
(-.f64 (+.f64 (*.f64 (-.f64 (*.f64 -1/2 (pow.f64 im 2)) (*.f64 -1/2 (-.f64 (*.f64 1/2 (pow.f64 im 2)) 1))) (pow.f64 re 2)) (+.f64 1 (+.f64 (pow.f64 im 2) (*.f64 (-.f64 (*.f64 1/24 (pow.f64 im 2)) (*.f64 1/24 (-.f64 (*.f64 1/2 (pow.f64 im 2)) 1))) (pow.f64 re 4))))) (*.f64 1/2 (pow.f64 im 2)))
(-.f64 (+.f64 (*.f64 (-.f64 (*.f64 -1/2 (pow.f64 im 2)) (*.f64 -1/2 (-.f64 (*.f64 1/2 (pow.f64 im 2)) 1))) (pow.f64 re 2)) (+.f64 1 (+.f64 (*.f64 (-.f64 (*.f64 -1/720 (pow.f64 im 2)) (*.f64 -1/720 (-.f64 (*.f64 1/2 (pow.f64 im 2)) 1))) (pow.f64 re 6)) (+.f64 (pow.f64 im 2) (*.f64 (-.f64 (*.f64 1/24 (pow.f64 im 2)) (*.f64 1/24 (-.f64 (*.f64 1/2 (pow.f64 im 2)) 1))) (pow.f64 re 4)))))) (*.f64 1/2 (pow.f64 im 2)))
(-.f64 (*.f64 (cos.f64 re) (pow.f64 im 2)) (*.f64 (-.f64 (*.f64 1/2 (pow.f64 im 2)) 1) (cos.f64 re)))
(-.f64 (*.f64 (cos.f64 re) (pow.f64 im 2)) (*.f64 (-.f64 (*.f64 1/2 (pow.f64 im 2)) 1) (cos.f64 re)))
(-.f64 (*.f64 (cos.f64 re) (pow.f64 im 2)) (*.f64 (-.f64 (*.f64 1/2 (pow.f64 im 2)) 1) (cos.f64 re)))
(-.f64 (*.f64 (cos.f64 re) (pow.f64 im 2)) (*.f64 (-.f64 (*.f64 1/2 (pow.f64 im 2)) 1) (cos.f64 re)))
(-.f64 (*.f64 (cos.f64 re) (pow.f64 im 2)) (*.f64 (-.f64 (*.f64 1/2 (pow.f64 im 2)) 1) (cos.f64 re)))
(-.f64 (*.f64 (cos.f64 re) (pow.f64 im 2)) (*.f64 (-.f64 (*.f64 1/2 (pow.f64 im 2)) 1) (cos.f64 re)))
(-.f64 (*.f64 (cos.f64 re) (pow.f64 im 2)) (*.f64 (-.f64 (*.f64 1/2 (pow.f64 im 2)) 1) (cos.f64 re)))
(-.f64 (*.f64 (cos.f64 re) (pow.f64 im 2)) (*.f64 (-.f64 (*.f64 1/2 (pow.f64 im 2)) 1) (cos.f64 re)))
(-.f64 (*.f64 1/2 (pow.f64 im 2)) 1)
(-.f64 (+.f64 (*.f64 1/2 (pow.f64 im 2)) (*.f64 -1/2 (*.f64 (-.f64 (*.f64 1/2 (pow.f64 im 2)) 1) (pow.f64 re 2)))) 1)
(-.f64 (+.f64 (*.f64 1/2 (pow.f64 im 2)) (+.f64 (*.f64 -1/2 (*.f64 (-.f64 (*.f64 1/2 (pow.f64 im 2)) 1) (pow.f64 re 2))) (*.f64 1/24 (*.f64 (-.f64 (*.f64 1/2 (pow.f64 im 2)) 1) (pow.f64 re 4))))) 1)
(-.f64 (+.f64 (*.f64 -1/720 (*.f64 (-.f64 (*.f64 1/2 (pow.f64 im 2)) 1) (pow.f64 re 6))) (+.f64 (*.f64 1/2 (pow.f64 im 2)) (+.f64 (*.f64 -1/2 (*.f64 (-.f64 (*.f64 1/2 (pow.f64 im 2)) 1) (pow.f64 re 2))) (*.f64 1/24 (*.f64 (-.f64 (*.f64 1/2 (pow.f64 im 2)) 1) (pow.f64 re 4)))))) 1)
(*.f64 (cos.f64 re) (-.f64 (*.f64 1/2 (pow.f64 im 2)) 1))
(*.f64 (cos.f64 re) (-.f64 (*.f64 1/2 (pow.f64 im 2)) 1))
(*.f64 (cos.f64 re) (-.f64 (*.f64 1/2 (pow.f64 im 2)) 1))
(*.f64 (cos.f64 re) (-.f64 (*.f64 1/2 (pow.f64 im 2)) 1))
(*.f64 (cos.f64 re) (-.f64 (*.f64 1/2 (pow.f64 im 2)) 1))
(*.f64 (cos.f64 re) (-.f64 (*.f64 1/2 (pow.f64 im 2)) 1))
(*.f64 (cos.f64 re) (-.f64 (*.f64 1/2 (pow.f64 im 2)) 1))
(*.f64 (cos.f64 re) (-.f64 (*.f64 1/2 (pow.f64 im 2)) 1))
(*.f64 -1 (cos.f64 re))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (*.f64 -1 (cos.f64 re)))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (*.f64 -1 (cos.f64 re)))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (*.f64 -1 (cos.f64 re)))
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (*.f64 -1 (cos.f64 re)))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (*.f64 -1 (cos.f64 re)))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (*.f64 -1 (cos.f64 re)))
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (*.f64 -1 (cos.f64 re)))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (*.f64 -1 (cos.f64 re)))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (*.f64 -1 (cos.f64 re)))
(+.f64 (*.f64 (pow.f64 im 2) (cos.f64 re)) 0)
(+.f64 0 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(+.f64 (/.f64 (*.f64 (pow.f64 im 2) (cos.f64 re)) 2) (/.f64 (*.f64 (pow.f64 im 2) (cos.f64 re)) 2))
(-.f64 (*.f64 (pow.f64 im 2) (cos.f64 re)) 0)
(-.f64 (*.f64 2 (*.f64 (pow.f64 im 2) (cos.f64 re))) (*.f64 (pow.f64 im 2) (cos.f64 re)))
(-.f64 (/.f64 (*.f64 (pow.f64 im 2) (cos.f64 re)) 2) (/.f64 (*.f64 (pow.f64 im 2) (cos.f64 re)) -2))
(/.f64 (*.f64 (pow.f64 im 2) (cos.f64 re)) 1)
(/.f64 (*.f64 2 (*.f64 (pow.f64 im 2) (cos.f64 re))) 2)
(/.f64 (*.f64 (*.f64 (pow.f64 im 2) (cos.f64 re)) 4) 4)
(/.f64 (*.f64 2 (*.f64 (*.f64 (pow.f64 im 2) (cos.f64 re)) 4)) 8)
(/.f64 (*.f64 (*.f64 (pow.f64 im 2) 4) (+.f64 (cos.f64 re) (cos.f64 (neg.f64 re)))) 8)
(/.f64 (*.f64 (*.f64 (pow.f64 im 2) 4) (*.f64 (cos.f64 re) 4)) 16)
(/.f64 (*.f64 (*.f64 2 (pow.f64 im 2)) (+.f64 (cos.f64 re) (cos.f64 (neg.f64 re)))) 4)
(/.f64 (/.f64 (*.f64 (*.f64 (pow.f64 im 2) 4) (+.f64 (cos.f64 re) (cos.f64 (neg.f64 re)))) 2) 4)
(/.f64 (*.f64 (*.f64 (pow.f64 im 2) -1/2) (*.f64 (cos.f64 re) 4)) -2)
(/.f64 (*.f64 (*.f64 (pow.f64 im 2) -1/2) (*.f64 (*.f64 2 (cos.f64 re)) 4)) -4)
(/.f64 (*.f64 (*.f64 (pow.f64 im 2) -1/2) (*.f64 2 (cos.f64 re))) -1)
(/.f64 (*.f64 (*.f64 (pow.f64 im 2) -1/2) (+.f64 (+.f64 (cos.f64 re) (cos.f64 (neg.f64 re))) (+.f64 (cos.f64 re) (cos.f64 (neg.f64 re))))) -2)
(/.f64 (*.f64 (*.f64 (pow.f64 im 2) -1/2) (+.f64 (*.f64 2 (cos.f64 re)) (+.f64 (cos.f64 re) (cos.f64 (neg.f64 re))))) -2)
(pow.f64 (*.f64 (pow.f64 im 2) (cos.f64 re)) 1)
(+.f64 (cos.f64 re) (/.f64 (*.f64 (pow.f64 im 2) (cos.f64 re)) 2))
(+.f64 (*.f64 (pow.f64 im 2) (cos.f64 re)) (/.f64 (*.f64 (cos.f64 re) (+.f64 -2 (pow.f64 im 2))) -2))
(+.f64 (*.f64 (cos.f64 re) (+.f64 (*.f64 (pow.f64 im 2) 1/2) 1)) 0)
(+.f64 0 (*.f64 (cos.f64 re) (+.f64 (*.f64 (pow.f64 im 2) 1/2) 1)))
(+.f64 (/.f64 (*.f64 (cos.f64 re) (+.f64 -2 (pow.f64 im 2))) -2) (*.f64 (pow.f64 im 2) (cos.f64 re)))
(+.f64 (/.f64 (*.f64 (cos.f64 re) (+.f64 -2 (pow.f64 im 2))) -2) (neg.f64 (neg.f64 (*.f64 (pow.f64 im 2) (cos.f64 re)))))
(+.f64 (*.f64 (cos.f64 re) (-.f64 (*.f64 (pow.f64 im 2) 3/2) -1)) (neg.f64 (*.f64 (pow.f64 im 2) (cos.f64 re))))
(+.f64 (neg.f64 (*.f64 (pow.f64 im 2) (cos.f64 re))) (*.f64 (cos.f64 re) (-.f64 (*.f64 (pow.f64 im 2) 3/2) -1)))
(+.f64 (/.f64 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))) 4) (/.f64 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))) 4))
(+.f64 (/.f64 (*.f64 (pow.f64 im 2) (cos.f64 re)) 2) (cos.f64 re))
(+.f64 (/.f64 (*.f64 (cos.f64 re) (-.f64 (*.f64 (pow.f64 im 2) 3/2) -1)) 2) (/.f64 (*.f64 (cos.f64 re) (+.f64 -2 (pow.f64 im 2))) -4))
(+.f64 (/.f64 (*.f64 (cos.f64 re) (+.f64 -2 (pow.f64 im 2))) -4) (/.f64 (*.f64 (cos.f64 re) (-.f64 (*.f64 (pow.f64 im 2) 3/2) -1)) 2))
(+.f64 (neg.f64 (neg.f64 (*.f64 (pow.f64 im 2) (cos.f64 re)))) (/.f64 (*.f64 (cos.f64 re) (+.f64 -2 (pow.f64 im 2))) -2))
(*.f64 2 (/.f64 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))) 4))
(*.f64 (cos.f64 re) (+.f64 (*.f64 (pow.f64 im 2) 1/2) 1))
(*.f64 (cos.f64 re) (*.f64 (+.f64 (*.f64 (pow.f64 im 2) 1/2) 1) (cos.f64 0)))
(*.f64 (cos.f64 re) (-.f64 (pow.f64 im 2) (*.f64 (-.f64 -1 (*.f64 (pow.f64 im 2) -1/2)) (cos.f64 0))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))))
(*.f64 1/2 (-.f64 (*.f64 (*.f64 (pow.f64 im 2) (cos.f64 re)) 4) (*.f64 2 (*.f64 (cos.f64 re) (+.f64 -1 (*.f64 (pow.f64 im 2) 3/2))))))
(*.f64 -1 (*.f64 (cos.f64 re) (+.f64 -1 (*.f64 (pow.f64 im 2) -1/2))))
(*.f64 (*.f64 (cos.f64 re) (+.f64 (*.f64 (pow.f64 im 2) 1/2) 1)) 1)
(*.f64 (*.f64 (cos.f64 re) (+.f64 (*.f64 (pow.f64 im 2) 1/2) 1)) (cos.f64 0))
(*.f64 1 (*.f64 (cos.f64 re) (+.f64 (*.f64 (pow.f64 im 2) 1/2) 1)))
(*.f64 (+.f64 (*.f64 (pow.f64 im 2) 1/2) 1) (cos.f64 re))
(*.f64 (*.f64 (cos.f64 re) (+.f64 -1 (*.f64 (pow.f64 im 2) -1/2))) -1)
(*.f64 (+.f64 -1 (*.f64 (pow.f64 im 2) -1/2)) (neg.f64 (cos.f64 re)))
(*.f64 (*.f64 2 (cos.f64 re)) (-.f64 1/2 (/.f64 (pow.f64 im 2) -4)))
(*.f64 (*.f64 2 (cos.f64 re)) (-.f64 (*.f64 (pow.f64 im 2) 1/2) (*.f64 (cos.f64 0) (+.f64 -1/2 (/.f64 (pow.f64 im 2) 4)))))
(*.f64 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))) 1/2)
(*.f64 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))) (/.f64 (cos.f64 0) 2))
(*.f64 (cos.f64 0) (*.f64 (cos.f64 re) (+.f64 (*.f64 (pow.f64 im 2) 1/2) 1)))
(*.f64 (-.f64 1/2 (/.f64 (pow.f64 im 2) -4)) (*.f64 2 (cos.f64 re)))
(*.f64 (-.f64 1/2 (/.f64 (pow.f64 im 2) -4)) (+.f64 (cos.f64 re) (cos.f64 (neg.f64 re))))
(*.f64 (/.f64 (cos.f64 re) 2) (+.f64 2 (pow.f64 im 2)))
(*.f64 (/.f64 (cos.f64 re) 2) (-.f64 (*.f64 (pow.f64 im 2) 4) (*.f64 2 (+.f64 -1 (*.f64 (pow.f64 im 2) 3/2)))))
(*.f64 (/.f64 (cos.f64 0) 2) (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))))
(*.f64 1/4 (*.f64 2 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2)))))
(*.f64 (+.f64 2 (pow.f64 im 2)) (/.f64 (cos.f64 re) 2))
(*.f64 (*.f64 2 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2)))) 1/4)
(*.f64 (*.f64 (cos.f64 re) 4) (/.f64 (+.f64 2 (pow.f64 im 2)) 8))
(*.f64 (/.f64 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))) 4) 2)
(*.f64 (-.f64 -2 (pow.f64 im 2)) (/.f64 (cos.f64 re) -2))
(*.f64 (neg.f64 (cos.f64 re)) (+.f64 -1 (*.f64 (pow.f64 im 2) -1/2)))
(*.f64 (+.f64 (cos.f64 re) (cos.f64 (neg.f64 re))) (-.f64 1/2 (/.f64 (pow.f64 im 2) -4)))
(*.f64 (*.f64 (+.f64 (*.f64 (pow.f64 im 2) 1/2) 1) (cos.f64 0)) (cos.f64 re))
(*.f64 (/.f64 (+.f64 2 (pow.f64 im 2)) 8) (*.f64 (cos.f64 re) 4))
(*.f64 (/.f64 (-.f64 -2 (pow.f64 im 2)) 4) (*.f64 (cos.f64 re) -2))
(/.f64 (*.f64 (cos.f64 re) (+.f64 (*.f64 (pow.f64 im 2) 1/2) 1)) 1)
(/.f64 (*.f64 (cos.f64 re) (+.f64 -1 (*.f64 (pow.f64 im 2) -1/2))) -1)
(/.f64 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))) 2)
(/.f64 (*.f64 2 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2)))) 4)
(/.f64 (/.f64 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))) 4) 1/2)
(/.f64 (*.f64 (cos.f64 re) (-.f64 -2 (pow.f64 im 2))) -2)
(/.f64 (/.f64 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))) -4) -1/2)
(/.f64 (*.f64 (+.f64 -1 (*.f64 (pow.f64 im 2) -1/2)) (*.f64 (cos.f64 re) 4)) -4)
(/.f64 (*.f64 (+.f64 -1 (*.f64 (pow.f64 im 2) -1/2)) (+.f64 (cos.f64 re) (cos.f64 (neg.f64 re)))) -2)
(/.f64 (*.f64 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))) 4) 8)
(/.f64 (*.f64 2 (*.f64 (cos.f64 re) (-.f64 -2 (pow.f64 im 2)))) -4)
(/.f64 (*.f64 (-.f64 -2 (pow.f64 im 2)) (+.f64 (cos.f64 re) (cos.f64 (neg.f64 re)))) -4)
(/.f64 (*.f64 (+.f64 2 (pow.f64 im 2)) (+.f64 (cos.f64 re) (cos.f64 (neg.f64 re)))) 4)
(/.f64 (*.f64 (*.f64 (cos.f64 re) (-.f64 -2 (pow.f64 im 2))) 2) -4)
(/.f64 (/.f64 (*.f64 2 (*.f64 (cos.f64 re) (-.f64 -2 (pow.f64 im 2)))) -1) 4)
(/.f64 (/.f64 (*.f64 (-.f64 -2 (pow.f64 im 2)) (+.f64 (cos.f64 re) (cos.f64 (neg.f64 re)))) -1) 4)
(/.f64 (/.f64 (*.f64 (*.f64 (cos.f64 re) (-.f64 -2 (pow.f64 im 2))) 2) -1) 4)
(/.f64 (/.f64 (*.f64 (+.f64 -1 (*.f64 (pow.f64 im 2) -1/2)) (*.f64 (cos.f64 re) 4)) 2) -2)
(/.f64 (*.f64 (+.f64 -1 (*.f64 (pow.f64 im 2) -1/2)) (*.f64 (*.f64 2 (cos.f64 re)) 4)) -8)
(/.f64 (*.f64 (+.f64 -1 (*.f64 (pow.f64 im 2) -1/2)) (+.f64 (+.f64 (cos.f64 re) (cos.f64 (neg.f64 re))) (+.f64 (cos.f64 re) (cos.f64 (neg.f64 re))))) -4)
(/.f64 (*.f64 (+.f64 -1 (*.f64 (pow.f64 im 2) -1/2)) (*.f64 (cos.f64 0) (*.f64 (cos.f64 re) 4))) -4)
(/.f64 (*.f64 (cos.f64 re) (*.f64 2 (-.f64 -2 (pow.f64 im 2)))) -4)
(/.f64 (*.f64 (cos.f64 re) (*.f64 (-.f64 -2 (pow.f64 im 2)) 2)) -4)
(/.f64 (-.f64 (*.f64 (*.f64 (pow.f64 im 2) (cos.f64 re)) 4) (*.f64 2 (*.f64 (cos.f64 re) (+.f64 -1 (*.f64 (pow.f64 im 2) 3/2))))) 2)
(/.f64 (-.f64 (*.f64 (*.f64 (pow.f64 im 2) (cos.f64 re)) 4) (*.f64 (+.f64 -2 (pow.f64 im 2)) (+.f64 (cos.f64 re) (cos.f64 (neg.f64 re))))) 4)
(/.f64 (-.f64 (*.f64 2 (*.f64 (*.f64 (pow.f64 im 2) (cos.f64 re)) 4)) (*.f64 (*.f64 (cos.f64 re) (+.f64 -2 (pow.f64 im 2))) 4)) 8)
(/.f64 (-.f64 (*.f64 (*.f64 (pow.f64 im 2) 4) (*.f64 (cos.f64 re) 4)) (*.f64 (*.f64 2 (+.f64 -2 (pow.f64 im 2))) (*.f64 (cos.f64 re) 4))) 16)
(/.f64 (-.f64 (*.f64 (*.f64 2 (pow.f64 im 2)) (+.f64 (cos.f64 re) (cos.f64 (neg.f64 re)))) (*.f64 (*.f64 2 (cos.f64 re)) (+.f64 -2 (pow.f64 im 2)))) 4)
(/.f64 (-.f64 (*.f64 (*.f64 2 (pow.f64 im 2)) (+.f64 (cos.f64 re) (cos.f64 (neg.f64 re)))) (*.f64 (+.f64 -2 (pow.f64 im 2)) (+.f64 (cos.f64 re) (cos.f64 (neg.f64 re))))) 4)
(/.f64 (-.f64 (*.f64 2 (*.f64 (*.f64 (pow.f64 im 2) (cos.f64 re)) 4)) (*.f64 2 (*.f64 2 (*.f64 (cos.f64 re) (+.f64 -1 (*.f64 (pow.f64 im 2) 3/2)))))) 4)
(/.f64 (-.f64 (*.f64 (*.f64 (pow.f64 im 2) 4) (+.f64 (cos.f64 re) (cos.f64 (neg.f64 re)))) (*.f64 2 (*.f64 2 (*.f64 (cos.f64 re) (+.f64 -1 (*.f64 (pow.f64 im 2) 3/2)))))) 4)
(/.f64 (-.f64 (*.f64 2 (*.f64 (cos.f64 re) (+.f64 -1 (*.f64 (pow.f64 im 2) 3/2)))) (*.f64 (*.f64 2 (cos.f64 re)) (+.f64 -2 (pow.f64 im 2)))) 2)
(/.f64 (-.f64 (*.f64 2 (*.f64 2 (*.f64 (cos.f64 re) (+.f64 -1 (*.f64 (pow.f64 im 2) 3/2))))) (*.f64 (*.f64 (cos.f64 re) (+.f64 -2 (pow.f64 im 2))) 4)) 4)
(/.f64 (-.f64 (*.f64 2 (*.f64 2 (*.f64 (cos.f64 re) (+.f64 -1 (*.f64 (pow.f64 im 2) 3/2))))) (*.f64 (*.f64 2 (+.f64 -2 (pow.f64 im 2))) (+.f64 (cos.f64 re) (cos.f64 (neg.f64 re))))) 4)
(pow.f64 (*.f64 (cos.f64 re) (+.f64 (*.f64 (pow.f64 im 2) 1/2) 1)) 1)
(neg.f64 (*.f64 (cos.f64 re) (+.f64 -1 (*.f64 (pow.f64 im 2) -1/2))))
(+.f64 (*.f64 (cos.f64 re) (-.f64 -1 (*.f64 (pow.f64 im 2) -1/2))) 0)
(+.f64 0 (*.f64 (cos.f64 re) (-.f64 -1 (*.f64 (pow.f64 im 2) -1/2))))
(+.f64 (/.f64 (*.f64 (cos.f64 re) (+.f64 -2 (pow.f64 im 2))) 4) (/.f64 (*.f64 (cos.f64 re) (+.f64 -2 (pow.f64 im 2))) 4))
(-.f64 (*.f64 (cos.f64 re) (-.f64 -1 (*.f64 (pow.f64 im 2) -1/2))) 0)
(-.f64 0 (/.f64 (*.f64 (cos.f64 re) (+.f64 -2 (pow.f64 im 2))) -2))
(-.f64 (*.f64 (cos.f64 re) (+.f64 -2 (pow.f64 im 2))) (*.f64 (cos.f64 re) (-.f64 -1 (*.f64 (pow.f64 im 2) -1/2))))
(-.f64 (/.f64 (*.f64 (cos.f64 re) (+.f64 -2 (pow.f64 im 2))) 4) (/.f64 (*.f64 (cos.f64 re) (+.f64 -2 (pow.f64 im 2))) -4))
(/.f64 (*.f64 (cos.f64 re) (-.f64 -1 (*.f64 (pow.f64 im 2) -1/2))) 1)
(/.f64 (/.f64 (*.f64 (cos.f64 re) (+.f64 -2 (pow.f64 im 2))) -2) -1)
(/.f64 (*.f64 (cos.f64 re) (+.f64 -2 (pow.f64 im 2))) 2)
(/.f64 (*.f64 (*.f64 2 (cos.f64 re)) (+.f64 -2 (pow.f64 im 2))) 4)
(/.f64 (*.f64 (*.f64 (cos.f64 re) (+.f64 -2 (pow.f64 im 2))) 4) 8)
(/.f64 (*.f64 (*.f64 2 (+.f64 -2 (pow.f64 im 2))) (+.f64 (cos.f64 re) (cos.f64 (neg.f64 re)))) 8)
(/.f64 (*.f64 (+.f64 -2 (pow.f64 im 2)) (+.f64 (cos.f64 re) (cos.f64 (neg.f64 re)))) 4)
(/.f64 (*.f64 (*.f64 2 (+.f64 -2 (pow.f64 im 2))) (*.f64 (cos.f64 re) 4)) 16)
(/.f64 (/.f64 (*.f64 (*.f64 2 (+.f64 -2 (pow.f64 im 2))) (+.f64 (cos.f64 re) (cos.f64 (neg.f64 re)))) 2) 4)
(pow.f64 (*.f64 (cos.f64 re) (-.f64 -1 (*.f64 (pow.f64 im 2) -1/2))) 1)
(neg.f64 (/.f64 (*.f64 (cos.f64 re) (+.f64 -2 (pow.f64 im 2))) -2))
Outputs
(*.f64 (cos.f64 re) (pow.f64 im 2))
(*.f64 (cos.f64 re) (pow.f64 im 2))
(*.f64 (cos.f64 re) (pow.f64 im 2))
(*.f64 (cos.f64 re) (pow.f64 im 2))
(*.f64 (cos.f64 re) (pow.f64 im 2))
(*.f64 (cos.f64 re) (pow.f64 im 2))
(*.f64 (cos.f64 re) (pow.f64 im 2))
(*.f64 (cos.f64 re) (pow.f64 im 2))
(*.f64 (cos.f64 re) (pow.f64 im 2))
(*.f64 (cos.f64 re) (pow.f64 im 2))
(*.f64 (cos.f64 re) (pow.f64 im 2))
(*.f64 (cos.f64 re) (pow.f64 im 2))
(pow.f64 im 2)
(+.f64 (pow.f64 im 2) (*.f64 -1/2 (*.f64 (pow.f64 re 2) (pow.f64 im 2))))
(+.f64 (pow.f64 im 2) (*.f64 -1/2 (pow.f64 (*.f64 re im) 2)))
(*.f64 (*.f64 (pow.f64 im 2) -1/2) (-.f64 (pow.f64 re 2) 2))
(+.f64 (*.f64 1/24 (*.f64 (pow.f64 re 4) (pow.f64 im 2))) (+.f64 (pow.f64 im 2) (*.f64 -1/2 (*.f64 (pow.f64 re 2) (pow.f64 im 2)))))
(+.f64 (*.f64 -1/2 (pow.f64 (*.f64 re im) 2)) (+.f64 (pow.f64 im 2) (*.f64 (pow.f64 im 2) (*.f64 (pow.f64 re 4) 1/24))))
(+.f64 (*.f64 -1/2 (pow.f64 (*.f64 re im) 2)) (+.f64 (pow.f64 im 2) (*.f64 (pow.f64 im 2) (*.f64 1/24 (pow.f64 re 4)))))
(+.f64 (pow.f64 im 2) (*.f64 (pow.f64 im 2) (+.f64 (*.f64 -1/2 (pow.f64 re 2)) (*.f64 1/24 (pow.f64 re 4)))))
(+.f64 (pow.f64 im 2) (*.f64 (pow.f64 im 2) (+.f64 (*.f64 1/24 (pow.f64 re 4)) (*.f64 -1/2 (pow.f64 re 2)))))
(+.f64 (*.f64 1/24 (*.f64 (pow.f64 re 4) (pow.f64 im 2))) (+.f64 (pow.f64 im 2) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 re 2) (pow.f64 im 2))) (*.f64 -1/720 (*.f64 (pow.f64 re 6) (pow.f64 im 2))))))
(+.f64 (*.f64 (pow.f64 im 2) (*.f64 (pow.f64 re 4) 1/24)) (+.f64 (pow.f64 im 2) (+.f64 (*.f64 -1/2 (pow.f64 (*.f64 re im) 2)) (*.f64 (pow.f64 im 2) (*.f64 (pow.f64 re 6) -1/720)))))
(+.f64 (+.f64 (pow.f64 im 2) (*.f64 -1/2 (pow.f64 (*.f64 re im) 2))) (+.f64 (*.f64 (pow.f64 im 2) (*.f64 -1/720 (pow.f64 re 6))) (*.f64 (pow.f64 im 2) (*.f64 1/24 (pow.f64 re 4)))))
(+.f64 (+.f64 (pow.f64 im 2) (*.f64 -1/2 (pow.f64 (*.f64 re im) 2))) (*.f64 (pow.f64 im 2) (+.f64 (*.f64 -1/720 (pow.f64 re 6)) (*.f64 1/24 (pow.f64 re 4)))))
(+.f64 (*.f64 (*.f64 (pow.f64 im 2) -1/2) (-.f64 (pow.f64 re 2) 2)) (*.f64 (pow.f64 im 2) (+.f64 (*.f64 1/24 (pow.f64 re 4)) (*.f64 -1/720 (pow.f64 re 6)))))
(*.f64 (cos.f64 re) (pow.f64 im 2))
(*.f64 (cos.f64 re) (pow.f64 im 2))
(*.f64 (cos.f64 re) (pow.f64 im 2))
(*.f64 (cos.f64 re) (pow.f64 im 2))
(*.f64 (cos.f64 re) (pow.f64 im 2))
(*.f64 (cos.f64 re) (pow.f64 im 2))
(*.f64 (cos.f64 re) (pow.f64 im 2))
(*.f64 (cos.f64 re) (pow.f64 im 2))
(cos.f64 re)
(+.f64 (cos.f64 re) (*.f64 (-.f64 (cos.f64 re) (*.f64 1/2 (cos.f64 re))) (pow.f64 im 2)))
(+.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) (-.f64 (cos.f64 re) (*.f64 (cos.f64 re) 1/2))))
(+.f64 (cos.f64 re) (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 1/2)))
(+.f64 (cos.f64 re) (*.f64 (-.f64 (cos.f64 re) (*.f64 1/2 (cos.f64 re))) (pow.f64 im 2)))
(+.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) (-.f64 (cos.f64 re) (*.f64 (cos.f64 re) 1/2))))
(+.f64 (cos.f64 re) (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 1/2)))
(+.f64 (cos.f64 re) (*.f64 (-.f64 (cos.f64 re) (*.f64 1/2 (cos.f64 re))) (pow.f64 im 2)))
(+.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) (-.f64 (cos.f64 re) (*.f64 (cos.f64 re) 1/2))))
(+.f64 (cos.f64 re) (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 1/2)))
(*.f64 (-.f64 (cos.f64 re) (*.f64 1/2 (cos.f64 re))) (pow.f64 im 2))
(*.f64 (pow.f64 im 2) (-.f64 (cos.f64 re) (*.f64 (cos.f64 re) 1/2)))
(*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 1/2))
(+.f64 (cos.f64 re) (*.f64 (-.f64 (cos.f64 re) (*.f64 1/2 (cos.f64 re))) (pow.f64 im 2)))
(+.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) (-.f64 (cos.f64 re) (*.f64 (cos.f64 re) 1/2))))
(+.f64 (cos.f64 re) (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 1/2)))
(+.f64 (cos.f64 re) (*.f64 (-.f64 (cos.f64 re) (*.f64 1/2 (cos.f64 re))) (pow.f64 im 2)))
(+.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) (-.f64 (cos.f64 re) (*.f64 (cos.f64 re) 1/2))))
(+.f64 (cos.f64 re) (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 1/2)))
(+.f64 (cos.f64 re) (*.f64 (-.f64 (cos.f64 re) (*.f64 1/2 (cos.f64 re))) (pow.f64 im 2)))
(+.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) (-.f64 (cos.f64 re) (*.f64 (cos.f64 re) 1/2))))
(+.f64 (cos.f64 re) (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 1/2)))
(*.f64 (-.f64 (cos.f64 re) (*.f64 1/2 (cos.f64 re))) (pow.f64 im 2))
(*.f64 (pow.f64 im 2) (-.f64 (cos.f64 re) (*.f64 (cos.f64 re) 1/2)))
(*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 1/2))
(+.f64 (cos.f64 re) (*.f64 (-.f64 (cos.f64 re) (*.f64 1/2 (cos.f64 re))) (pow.f64 im 2)))
(+.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) (-.f64 (cos.f64 re) (*.f64 (cos.f64 re) 1/2))))
(+.f64 (cos.f64 re) (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 1/2)))
(+.f64 (cos.f64 re) (*.f64 (-.f64 (cos.f64 re) (*.f64 1/2 (cos.f64 re))) (pow.f64 im 2)))
(+.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) (-.f64 (cos.f64 re) (*.f64 (cos.f64 re) 1/2))))
(+.f64 (cos.f64 re) (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 1/2)))
(+.f64 (cos.f64 re) (*.f64 (-.f64 (cos.f64 re) (*.f64 1/2 (cos.f64 re))) (pow.f64 im 2)))
(+.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) (-.f64 (cos.f64 re) (*.f64 (cos.f64 re) 1/2))))
(+.f64 (cos.f64 re) (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 1/2)))
(-.f64 (+.f64 1 (pow.f64 im 2)) (*.f64 1/2 (pow.f64 im 2)))
(-.f64 (+.f64 (pow.f64 im 2) 1) (*.f64 (pow.f64 im 2) 1/2))
(+.f64 (-.f64 (pow.f64 im 2) (*.f64 (pow.f64 im 2) 1/2)) 1)
(+.f64 1 (-.f64 (pow.f64 im 2) (*.f64 (pow.f64 im 2) 1/2)))
(-.f64 (+.f64 (*.f64 (-.f64 (*.f64 -1/2 (pow.f64 im 2)) (*.f64 -1/2 (-.f64 (*.f64 1/2 (pow.f64 im 2)) 1))) (pow.f64 re 2)) (+.f64 1 (pow.f64 im 2))) (*.f64 1/2 (pow.f64 im 2)))
(-.f64 (+.f64 (+.f64 (pow.f64 im 2) 1) (*.f64 (pow.f64 re 2) (-.f64 (*.f64 (pow.f64 im 2) -1/2) (*.f64 -1/2 (+.f64 (*.f64 (pow.f64 im 2) 1/2) -1))))) (*.f64 (pow.f64 im 2) 1/2))
(-.f64 (+.f64 (pow.f64 im 2) (+.f64 1 (*.f64 (pow.f64 re 2) (*.f64 -1/2 (-.f64 (pow.f64 im 2) (+.f64 (*.f64 (pow.f64 im 2) 1/2) -1)))))) (*.f64 (pow.f64 im 2) 1/2))
(-.f64 (+.f64 (+.f64 (pow.f64 im 2) 1) (*.f64 (pow.f64 re 2) (*.f64 -1/2 (+.f64 (-.f64 (pow.f64 im 2) (*.f64 (pow.f64 im 2) 1/2)) 1)))) (*.f64 (pow.f64 im 2) 1/2))
(-.f64 (+.f64 1 (+.f64 (pow.f64 im 2) (*.f64 (pow.f64 re 2) (*.f64 -1/2 (+.f64 1 (-.f64 (pow.f64 im 2) (*.f64 (pow.f64 im 2) 1/2))))))) (*.f64 (pow.f64 im 2) 1/2))
(-.f64 (+.f64 (*.f64 (-.f64 (*.f64 -1/2 (pow.f64 im 2)) (*.f64 -1/2 (-.f64 (*.f64 1/2 (pow.f64 im 2)) 1))) (pow.f64 re 2)) (+.f64 1 (+.f64 (pow.f64 im 2) (*.f64 (-.f64 (*.f64 1/24 (pow.f64 im 2)) (*.f64 1/24 (-.f64 (*.f64 1/2 (pow.f64 im 2)) 1))) (pow.f64 re 4))))) (*.f64 1/2 (pow.f64 im 2)))
(-.f64 (+.f64 (*.f64 (pow.f64 re 2) (-.f64 (*.f64 (pow.f64 im 2) -1/2) (*.f64 -1/2 (+.f64 (*.f64 (pow.f64 im 2) 1/2) -1)))) (+.f64 1 (+.f64 (pow.f64 im 2) (*.f64 (pow.f64 re 4) (-.f64 (*.f64 (pow.f64 im 2) 1/24) (*.f64 1/24 (+.f64 (*.f64 (pow.f64 im 2) 1/2) -1))))))) (*.f64 (pow.f64 im 2) 1/2))
(-.f64 (+.f64 (+.f64 (pow.f64 im 2) 1) (+.f64 (*.f64 (pow.f64 re 4) (*.f64 1/24 (-.f64 (pow.f64 im 2) (+.f64 (*.f64 (pow.f64 im 2) 1/2) -1)))) (*.f64 (pow.f64 re 2) (*.f64 -1/2 (-.f64 (pow.f64 im 2) (+.f64 (*.f64 (pow.f64 im 2) 1/2) -1)))))) (*.f64 (pow.f64 im 2) 1/2))
(-.f64 (+.f64 1 (+.f64 (*.f64 (pow.f64 re 2) (*.f64 -1/2 (+.f64 (-.f64 (pow.f64 im 2) (*.f64 (pow.f64 im 2) 1/2)) 1))) (+.f64 (pow.f64 im 2) (*.f64 (pow.f64 re 4) (*.f64 1/24 (+.f64 (-.f64 (pow.f64 im 2) (*.f64 (pow.f64 im 2) 1/2)) 1)))))) (*.f64 (pow.f64 im 2) 1/2))
(-.f64 (+.f64 (+.f64 (pow.f64 im 2) 1) (+.f64 (*.f64 (pow.f64 re 2) (*.f64 -1/2 (+.f64 1 (-.f64 (pow.f64 im 2) (*.f64 (pow.f64 im 2) 1/2))))) (*.f64 (pow.f64 re 4) (*.f64 1/24 (+.f64 1 (-.f64 (pow.f64 im 2) (*.f64 (pow.f64 im 2) 1/2))))))) (*.f64 (pow.f64 im 2) 1/2))
(-.f64 (+.f64 (*.f64 (-.f64 (*.f64 -1/2 (pow.f64 im 2)) (*.f64 -1/2 (-.f64 (*.f64 1/2 (pow.f64 im 2)) 1))) (pow.f64 re 2)) (+.f64 1 (+.f64 (*.f64 (-.f64 (*.f64 -1/720 (pow.f64 im 2)) (*.f64 -1/720 (-.f64 (*.f64 1/2 (pow.f64 im 2)) 1))) (pow.f64 re 6)) (+.f64 (pow.f64 im 2) (*.f64 (-.f64 (*.f64 1/24 (pow.f64 im 2)) (*.f64 1/24 (-.f64 (*.f64 1/2 (pow.f64 im 2)) 1))) (pow.f64 re 4)))))) (*.f64 1/2 (pow.f64 im 2)))
(-.f64 (+.f64 (*.f64 (pow.f64 re 2) (-.f64 (*.f64 (pow.f64 im 2) -1/2) (*.f64 -1/2 (+.f64 (*.f64 (pow.f64 im 2) 1/2) -1)))) (+.f64 1 (+.f64 (*.f64 (pow.f64 re 4) (-.f64 (*.f64 (pow.f64 im 2) 1/24) (*.f64 1/24 (+.f64 (*.f64 (pow.f64 im 2) 1/2) -1)))) (+.f64 (pow.f64 im 2) (*.f64 (pow.f64 re 6) (-.f64 (*.f64 (pow.f64 im 2) -1/720) (*.f64 -1/720 (+.f64 (*.f64 (pow.f64 im 2) 1/2) -1)))))))) (*.f64 (pow.f64 im 2) 1/2))
(-.f64 (+.f64 (*.f64 (pow.f64 re 2) (*.f64 -1/2 (-.f64 (pow.f64 im 2) (+.f64 (*.f64 (pow.f64 im 2) 1/2) -1)))) (+.f64 (*.f64 (pow.f64 re 6) (*.f64 -1/720 (-.f64 (pow.f64 im 2) (+.f64 (*.f64 (pow.f64 im 2) 1/2) -1)))) (+.f64 (pow.f64 im 2) (+.f64 1 (*.f64 (pow.f64 re 4) (*.f64 1/24 (-.f64 (pow.f64 im 2) (+.f64 (*.f64 (pow.f64 im 2) 1/2) -1)))))))) (*.f64 (pow.f64 im 2) 1/2))
(-.f64 (+.f64 (*.f64 (pow.f64 re 2) (*.f64 -1/2 (+.f64 (-.f64 (pow.f64 im 2) (*.f64 (pow.f64 im 2) 1/2)) 1))) (+.f64 (*.f64 (pow.f64 re 4) (*.f64 1/24 (+.f64 (-.f64 (pow.f64 im 2) (*.f64 (pow.f64 im 2) 1/2)) 1))) (+.f64 (+.f64 (pow.f64 im 2) 1) (*.f64 (pow.f64 re 6) (*.f64 -1/720 (+.f64 (-.f64 (pow.f64 im 2) (*.f64 (pow.f64 im 2) 1/2)) 1)))))) (*.f64 (pow.f64 im 2) 1/2))
(-.f64 (+.f64 (*.f64 (pow.f64 re 2) (*.f64 -1/2 (+.f64 1 (-.f64 (pow.f64 im 2) (*.f64 (pow.f64 im 2) 1/2))))) (+.f64 (pow.f64 im 2) (+.f64 (*.f64 (pow.f64 re 4) (*.f64 1/24 (+.f64 1 (-.f64 (pow.f64 im 2) (*.f64 (pow.f64 im 2) 1/2))))) (+.f64 1 (*.f64 (+.f64 1 (-.f64 (pow.f64 im 2) (*.f64 (pow.f64 im 2) 1/2))) (*.f64 -1/720 (pow.f64 re 6))))))) (*.f64 (pow.f64 im 2) 1/2))
(-.f64 (*.f64 (cos.f64 re) (pow.f64 im 2)) (*.f64 (-.f64 (*.f64 1/2 (pow.f64 im 2)) 1) (cos.f64 re)))
(-.f64 (*.f64 (cos.f64 re) (pow.f64 im 2)) (*.f64 (cos.f64 re) (+.f64 (*.f64 (pow.f64 im 2) 1/2) -1)))
(*.f64 (cos.f64 re) (-.f64 (pow.f64 im 2) (+.f64 (*.f64 (pow.f64 im 2) 1/2) -1)))
(*.f64 (cos.f64 re) (+.f64 (-.f64 (pow.f64 im 2) (*.f64 (pow.f64 im 2) 1/2)) 1))
(*.f64 (cos.f64 re) (+.f64 1 (-.f64 (pow.f64 im 2) (*.f64 (pow.f64 im 2) 1/2))))
(-.f64 (*.f64 (cos.f64 re) (pow.f64 im 2)) (*.f64 (-.f64 (*.f64 1/2 (pow.f64 im 2)) 1) (cos.f64 re)))
(-.f64 (*.f64 (cos.f64 re) (pow.f64 im 2)) (*.f64 (cos.f64 re) (+.f64 (*.f64 (pow.f64 im 2) 1/2) -1)))
(*.f64 (cos.f64 re) (-.f64 (pow.f64 im 2) (+.f64 (*.f64 (pow.f64 im 2) 1/2) -1)))
(*.f64 (cos.f64 re) (+.f64 (-.f64 (pow.f64 im 2) (*.f64 (pow.f64 im 2) 1/2)) 1))
(*.f64 (cos.f64 re) (+.f64 1 (-.f64 (pow.f64 im 2) (*.f64 (pow.f64 im 2) 1/2))))
(-.f64 (*.f64 (cos.f64 re) (pow.f64 im 2)) (*.f64 (-.f64 (*.f64 1/2 (pow.f64 im 2)) 1) (cos.f64 re)))
(-.f64 (*.f64 (cos.f64 re) (pow.f64 im 2)) (*.f64 (cos.f64 re) (+.f64 (*.f64 (pow.f64 im 2) 1/2) -1)))
(*.f64 (cos.f64 re) (-.f64 (pow.f64 im 2) (+.f64 (*.f64 (pow.f64 im 2) 1/2) -1)))
(*.f64 (cos.f64 re) (+.f64 (-.f64 (pow.f64 im 2) (*.f64 (pow.f64 im 2) 1/2)) 1))
(*.f64 (cos.f64 re) (+.f64 1 (-.f64 (pow.f64 im 2) (*.f64 (pow.f64 im 2) 1/2))))
(-.f64 (*.f64 (cos.f64 re) (pow.f64 im 2)) (*.f64 (-.f64 (*.f64 1/2 (pow.f64 im 2)) 1) (cos.f64 re)))
(-.f64 (*.f64 (cos.f64 re) (pow.f64 im 2)) (*.f64 (cos.f64 re) (+.f64 (*.f64 (pow.f64 im 2) 1/2) -1)))
(*.f64 (cos.f64 re) (-.f64 (pow.f64 im 2) (+.f64 (*.f64 (pow.f64 im 2) 1/2) -1)))
(*.f64 (cos.f64 re) (+.f64 (-.f64 (pow.f64 im 2) (*.f64 (pow.f64 im 2) 1/2)) 1))
(*.f64 (cos.f64 re) (+.f64 1 (-.f64 (pow.f64 im 2) (*.f64 (pow.f64 im 2) 1/2))))
(-.f64 (*.f64 (cos.f64 re) (pow.f64 im 2)) (*.f64 (-.f64 (*.f64 1/2 (pow.f64 im 2)) 1) (cos.f64 re)))
(-.f64 (*.f64 (cos.f64 re) (pow.f64 im 2)) (*.f64 (cos.f64 re) (+.f64 (*.f64 (pow.f64 im 2) 1/2) -1)))
(*.f64 (cos.f64 re) (-.f64 (pow.f64 im 2) (+.f64 (*.f64 (pow.f64 im 2) 1/2) -1)))
(*.f64 (cos.f64 re) (+.f64 (-.f64 (pow.f64 im 2) (*.f64 (pow.f64 im 2) 1/2)) 1))
(*.f64 (cos.f64 re) (+.f64 1 (-.f64 (pow.f64 im 2) (*.f64 (pow.f64 im 2) 1/2))))
(-.f64 (*.f64 (cos.f64 re) (pow.f64 im 2)) (*.f64 (-.f64 (*.f64 1/2 (pow.f64 im 2)) 1) (cos.f64 re)))
(-.f64 (*.f64 (cos.f64 re) (pow.f64 im 2)) (*.f64 (cos.f64 re) (+.f64 (*.f64 (pow.f64 im 2) 1/2) -1)))
(*.f64 (cos.f64 re) (-.f64 (pow.f64 im 2) (+.f64 (*.f64 (pow.f64 im 2) 1/2) -1)))
(*.f64 (cos.f64 re) (+.f64 (-.f64 (pow.f64 im 2) (*.f64 (pow.f64 im 2) 1/2)) 1))
(*.f64 (cos.f64 re) (+.f64 1 (-.f64 (pow.f64 im 2) (*.f64 (pow.f64 im 2) 1/2))))
(-.f64 (*.f64 (cos.f64 re) (pow.f64 im 2)) (*.f64 (-.f64 (*.f64 1/2 (pow.f64 im 2)) 1) (cos.f64 re)))
(-.f64 (*.f64 (cos.f64 re) (pow.f64 im 2)) (*.f64 (cos.f64 re) (+.f64 (*.f64 (pow.f64 im 2) 1/2) -1)))
(*.f64 (cos.f64 re) (-.f64 (pow.f64 im 2) (+.f64 (*.f64 (pow.f64 im 2) 1/2) -1)))
(*.f64 (cos.f64 re) (+.f64 (-.f64 (pow.f64 im 2) (*.f64 (pow.f64 im 2) 1/2)) 1))
(*.f64 (cos.f64 re) (+.f64 1 (-.f64 (pow.f64 im 2) (*.f64 (pow.f64 im 2) 1/2))))
(-.f64 (*.f64 (cos.f64 re) (pow.f64 im 2)) (*.f64 (-.f64 (*.f64 1/2 (pow.f64 im 2)) 1) (cos.f64 re)))
(-.f64 (*.f64 (cos.f64 re) (pow.f64 im 2)) (*.f64 (cos.f64 re) (+.f64 (*.f64 (pow.f64 im 2) 1/2) -1)))
(*.f64 (cos.f64 re) (-.f64 (pow.f64 im 2) (+.f64 (*.f64 (pow.f64 im 2) 1/2) -1)))
(*.f64 (cos.f64 re) (+.f64 (-.f64 (pow.f64 im 2) (*.f64 (pow.f64 im 2) 1/2)) 1))
(*.f64 (cos.f64 re) (+.f64 1 (-.f64 (pow.f64 im 2) (*.f64 (pow.f64 im 2) 1/2))))
(-.f64 (*.f64 1/2 (pow.f64 im 2)) 1)
(+.f64 (*.f64 (pow.f64 im 2) 1/2) -1)
(-.f64 (+.f64 (*.f64 1/2 (pow.f64 im 2)) (*.f64 -1/2 (*.f64 (-.f64 (*.f64 1/2 (pow.f64 im 2)) 1) (pow.f64 re 2)))) 1)
(+.f64 (+.f64 (*.f64 (pow.f64 im 2) 1/2) (*.f64 -1/2 (*.f64 (pow.f64 re 2) (+.f64 (*.f64 (pow.f64 im 2) 1/2) -1)))) -1)
(+.f64 (+.f64 (*.f64 (pow.f64 im 2) 1/2) (*.f64 (+.f64 (*.f64 (pow.f64 im 2) 1/2) -1) (*.f64 -1/2 (pow.f64 re 2)))) -1)
(+.f64 (*.f64 (pow.f64 im 2) 1/2) (+.f64 (*.f64 (+.f64 (*.f64 (pow.f64 im 2) 1/2) -1) (*.f64 -1/2 (pow.f64 re 2))) -1))
(-.f64 (+.f64 (*.f64 1/2 (pow.f64 im 2)) (+.f64 (*.f64 -1/2 (*.f64 (-.f64 (*.f64 1/2 (pow.f64 im 2)) 1) (pow.f64 re 2))) (*.f64 1/24 (*.f64 (-.f64 (*.f64 1/2 (pow.f64 im 2)) 1) (pow.f64 re 4))))) 1)
(+.f64 (+.f64 (*.f64 (pow.f64 im 2) 1/2) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 re 2) (+.f64 (*.f64 (pow.f64 im 2) 1/2) -1))) (*.f64 1/24 (*.f64 (pow.f64 re 4) (+.f64 (*.f64 (pow.f64 im 2) 1/2) -1))))) -1)
(+.f64 (+.f64 (+.f64 (*.f64 (pow.f64 im 2) 1/2) (*.f64 (+.f64 (*.f64 (pow.f64 im 2) 1/2) -1) (*.f64 -1/2 (pow.f64 re 2)))) (*.f64 1/24 (*.f64 (pow.f64 re 4) (+.f64 (*.f64 (pow.f64 im 2) 1/2) -1)))) -1)
(+.f64 (*.f64 (pow.f64 im 2) 1/2) (+.f64 (+.f64 (*.f64 (+.f64 (*.f64 (pow.f64 im 2) 1/2) -1) (*.f64 -1/2 (pow.f64 re 2))) (*.f64 1/24 (*.f64 (pow.f64 re 4) (+.f64 (*.f64 (pow.f64 im 2) 1/2) -1)))) -1))
(+.f64 (+.f64 (*.f64 (pow.f64 im 2) 1/2) -1) (+.f64 (*.f64 (+.f64 (*.f64 (pow.f64 im 2) 1/2) -1) (*.f64 -1/2 (pow.f64 re 2))) (*.f64 (+.f64 (*.f64 (pow.f64 im 2) 1/2) -1) (*.f64 1/24 (pow.f64 re 4)))))
(-.f64 (+.f64 (*.f64 -1/720 (*.f64 (-.f64 (*.f64 1/2 (pow.f64 im 2)) 1) (pow.f64 re 6))) (+.f64 (*.f64 1/2 (pow.f64 im 2)) (+.f64 (*.f64 -1/2 (*.f64 (-.f64 (*.f64 1/2 (pow.f64 im 2)) 1) (pow.f64 re 2))) (*.f64 1/24 (*.f64 (-.f64 (*.f64 1/2 (pow.f64 im 2)) 1) (pow.f64 re 4)))))) 1)
(+.f64 (+.f64 (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 re 2) (+.f64 (*.f64 (pow.f64 im 2) 1/2) -1))) (*.f64 1/24 (*.f64 (pow.f64 re 4) (+.f64 (*.f64 (pow.f64 im 2) 1/2) -1)))) (+.f64 (*.f64 (pow.f64 im 2) 1/2) (*.f64 -1/720 (*.f64 (pow.f64 re 6) (+.f64 (*.f64 (pow.f64 im 2) 1/2) -1))))) -1)
(+.f64 (+.f64 (+.f64 (*.f64 (pow.f64 im 2) 1/2) (*.f64 (+.f64 (*.f64 (pow.f64 im 2) 1/2) -1) (*.f64 -1/2 (pow.f64 re 2)))) (+.f64 (*.f64 1/24 (*.f64 (pow.f64 re 4) (+.f64 (*.f64 (pow.f64 im 2) 1/2) -1))) (*.f64 -1/720 (*.f64 (pow.f64 re 6) (+.f64 (*.f64 (pow.f64 im 2) 1/2) -1))))) -1)
(+.f64 (*.f64 -1/720 (*.f64 (pow.f64 re 6) (+.f64 (*.f64 (pow.f64 im 2) 1/2) -1))) (+.f64 (*.f64 (pow.f64 im 2) 1/2) (+.f64 (+.f64 (*.f64 (+.f64 (*.f64 (pow.f64 im 2) 1/2) -1) (*.f64 -1/2 (pow.f64 re 2))) (*.f64 1/24 (*.f64 (pow.f64 re 4) (+.f64 (*.f64 (pow.f64 im 2) 1/2) -1)))) -1)))
(+.f64 (+.f64 (*.f64 (pow.f64 im 2) 1/2) -1) (+.f64 (+.f64 (*.f64 (+.f64 (*.f64 (pow.f64 im 2) 1/2) -1) (*.f64 -1/2 (pow.f64 re 2))) (*.f64 (+.f64 (*.f64 (pow.f64 im 2) 1/2) -1) (*.f64 1/24 (pow.f64 re 4)))) (*.f64 (+.f64 (*.f64 (pow.f64 im 2) 1/2) -1) (*.f64 -1/720 (pow.f64 re 6)))))
(*.f64 (cos.f64 re) (-.f64 (*.f64 1/2 (pow.f64 im 2)) 1))
(*.f64 (cos.f64 re) (+.f64 (*.f64 (pow.f64 im 2) 1/2) -1))
(*.f64 (cos.f64 re) (-.f64 (*.f64 1/2 (pow.f64 im 2)) 1))
(*.f64 (cos.f64 re) (+.f64 (*.f64 (pow.f64 im 2) 1/2) -1))
(*.f64 (cos.f64 re) (-.f64 (*.f64 1/2 (pow.f64 im 2)) 1))
(*.f64 (cos.f64 re) (+.f64 (*.f64 (pow.f64 im 2) 1/2) -1))
(*.f64 (cos.f64 re) (-.f64 (*.f64 1/2 (pow.f64 im 2)) 1))
(*.f64 (cos.f64 re) (+.f64 (*.f64 (pow.f64 im 2) 1/2) -1))
(*.f64 (cos.f64 re) (-.f64 (*.f64 1/2 (pow.f64 im 2)) 1))
(*.f64 (cos.f64 re) (+.f64 (*.f64 (pow.f64 im 2) 1/2) -1))
(*.f64 (cos.f64 re) (-.f64 (*.f64 1/2 (pow.f64 im 2)) 1))
(*.f64 (cos.f64 re) (+.f64 (*.f64 (pow.f64 im 2) 1/2) -1))
(*.f64 (cos.f64 re) (-.f64 (*.f64 1/2 (pow.f64 im 2)) 1))
(*.f64 (cos.f64 re) (+.f64 (*.f64 (pow.f64 im 2) 1/2) -1))
(*.f64 (cos.f64 re) (-.f64 (*.f64 1/2 (pow.f64 im 2)) 1))
(*.f64 (cos.f64 re) (+.f64 (*.f64 (pow.f64 im 2) 1/2) -1))
(*.f64 -1 (cos.f64 re))
(neg.f64 (cos.f64 re))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (*.f64 -1 (cos.f64 re)))
(+.f64 (*.f64 (pow.f64 im 2) (*.f64 (cos.f64 re) 1/2)) (neg.f64 (cos.f64 re)))
(+.f64 (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 1/2)) (neg.f64 (cos.f64 re)))
(-.f64 (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 1/2)) (cos.f64 re))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (*.f64 -1 (cos.f64 re)))
(+.f64 (*.f64 (pow.f64 im 2) (*.f64 (cos.f64 re) 1/2)) (neg.f64 (cos.f64 re)))
(+.f64 (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 1/2)) (neg.f64 (cos.f64 re)))
(-.f64 (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 1/2)) (cos.f64 re))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (*.f64 -1 (cos.f64 re)))
(+.f64 (*.f64 (pow.f64 im 2) (*.f64 (cos.f64 re) 1/2)) (neg.f64 (cos.f64 re)))
(+.f64 (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 1/2)) (neg.f64 (cos.f64 re)))
(-.f64 (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 1/2)) (cos.f64 re))
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(*.f64 (pow.f64 im 2) (-.f64 (cos.f64 re) (*.f64 (cos.f64 re) 1/2)))
(*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 1/2))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (*.f64 -1 (cos.f64 re)))
(+.f64 (*.f64 (pow.f64 im 2) (*.f64 (cos.f64 re) 1/2)) (neg.f64 (cos.f64 re)))
(+.f64 (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 1/2)) (neg.f64 (cos.f64 re)))
(-.f64 (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 1/2)) (cos.f64 re))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (*.f64 -1 (cos.f64 re)))
(+.f64 (*.f64 (pow.f64 im 2) (*.f64 (cos.f64 re) 1/2)) (neg.f64 (cos.f64 re)))
(+.f64 (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 1/2)) (neg.f64 (cos.f64 re)))
(-.f64 (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 1/2)) (cos.f64 re))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (*.f64 -1 (cos.f64 re)))
(+.f64 (*.f64 (pow.f64 im 2) (*.f64 (cos.f64 re) 1/2)) (neg.f64 (cos.f64 re)))
(+.f64 (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 1/2)) (neg.f64 (cos.f64 re)))
(-.f64 (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 1/2)) (cos.f64 re))
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(*.f64 (pow.f64 im 2) (-.f64 (cos.f64 re) (*.f64 (cos.f64 re) 1/2)))
(*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 1/2))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (*.f64 -1 (cos.f64 re)))
(+.f64 (*.f64 (pow.f64 im 2) (*.f64 (cos.f64 re) 1/2)) (neg.f64 (cos.f64 re)))
(+.f64 (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 1/2)) (neg.f64 (cos.f64 re)))
(-.f64 (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 1/2)) (cos.f64 re))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (*.f64 -1 (cos.f64 re)))
(+.f64 (*.f64 (pow.f64 im 2) (*.f64 (cos.f64 re) 1/2)) (neg.f64 (cos.f64 re)))
(+.f64 (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 1/2)) (neg.f64 (cos.f64 re)))
(-.f64 (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 1/2)) (cos.f64 re))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (*.f64 -1 (cos.f64 re)))
(+.f64 (*.f64 (pow.f64 im 2) (*.f64 (cos.f64 re) 1/2)) (neg.f64 (cos.f64 re)))
(+.f64 (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 1/2)) (neg.f64 (cos.f64 re)))
(-.f64 (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 1/2)) (cos.f64 re))
(+.f64 (*.f64 (pow.f64 im 2) (cos.f64 re)) 0)
(*.f64 (cos.f64 re) (pow.f64 im 2))
(+.f64 0 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(*.f64 (cos.f64 re) (pow.f64 im 2))
(+.f64 (/.f64 (*.f64 (pow.f64 im 2) (cos.f64 re)) 2) (/.f64 (*.f64 (pow.f64 im 2) (cos.f64 re)) 2))
(*.f64 (cos.f64 re) (pow.f64 im 2))
(-.f64 (*.f64 (pow.f64 im 2) (cos.f64 re)) 0)
(*.f64 (cos.f64 re) (pow.f64 im 2))
(-.f64 (*.f64 2 (*.f64 (pow.f64 im 2) (cos.f64 re))) (*.f64 (pow.f64 im 2) (cos.f64 re)))
(*.f64 (cos.f64 re) (pow.f64 im 2))
(-.f64 (/.f64 (*.f64 (pow.f64 im 2) (cos.f64 re)) 2) (/.f64 (*.f64 (pow.f64 im 2) (cos.f64 re)) -2))
(*.f64 (cos.f64 re) (pow.f64 im 2))
(/.f64 (*.f64 (pow.f64 im 2) (cos.f64 re)) 1)
(*.f64 (cos.f64 re) (pow.f64 im 2))
(/.f64 (*.f64 2 (*.f64 (pow.f64 im 2) (cos.f64 re))) 2)
(*.f64 (cos.f64 re) (pow.f64 im 2))
(/.f64 (*.f64 (*.f64 (pow.f64 im 2) (cos.f64 re)) 4) 4)
(*.f64 (cos.f64 re) (pow.f64 im 2))
(/.f64 (*.f64 2 (*.f64 (*.f64 (pow.f64 im 2) (cos.f64 re)) 4)) 8)
(*.f64 (cos.f64 re) (pow.f64 im 2))
(/.f64 (*.f64 (*.f64 (pow.f64 im 2) 4) (+.f64 (cos.f64 re) (cos.f64 (neg.f64 re)))) 8)
(/.f64 (*.f64 4 (*.f64 (pow.f64 im 2) (+.f64 (cos.f64 re) (cos.f64 (neg.f64 re))))) 8)
(/.f64 (*.f64 (pow.f64 im 2) (*.f64 (*.f64 (cos.f64 re) 2) 2)) 4)
(/.f64 (*.f64 (*.f64 (pow.f64 im 2) 4) (*.f64 (cos.f64 re) 4)) 16)
(*.f64 (cos.f64 re) (pow.f64 im 2))
(/.f64 (*.f64 (*.f64 2 (pow.f64 im 2)) (+.f64 (cos.f64 re) (cos.f64 (neg.f64 re)))) 4)
(/.f64 (*.f64 (*.f64 (pow.f64 im 2) 4) (+.f64 (cos.f64 re) (cos.f64 (neg.f64 re)))) 8)
(/.f64 (*.f64 4 (*.f64 (pow.f64 im 2) (+.f64 (cos.f64 re) (cos.f64 (neg.f64 re))))) 8)
(/.f64 (*.f64 (pow.f64 im 2) (*.f64 (*.f64 (cos.f64 re) 2) 2)) 4)
(/.f64 (/.f64 (*.f64 (*.f64 (pow.f64 im 2) 4) (+.f64 (cos.f64 re) (cos.f64 (neg.f64 re)))) 2) 4)
(/.f64 (*.f64 (*.f64 (pow.f64 im 2) 4) (+.f64 (cos.f64 re) (cos.f64 (neg.f64 re)))) 8)
(/.f64 (*.f64 4 (*.f64 (pow.f64 im 2) (+.f64 (cos.f64 re) (cos.f64 (neg.f64 re))))) 8)
(/.f64 (*.f64 (pow.f64 im 2) (*.f64 (*.f64 (cos.f64 re) 2) 2)) 4)
(/.f64 (*.f64 (*.f64 (pow.f64 im 2) -1/2) (*.f64 (cos.f64 re) 4)) -2)
(*.f64 (cos.f64 re) (pow.f64 im 2))
(/.f64 (*.f64 (*.f64 (pow.f64 im 2) -1/2) (*.f64 (*.f64 2 (cos.f64 re)) 4)) -4)
(*.f64 (cos.f64 re) (pow.f64 im 2))
(/.f64 (*.f64 (*.f64 (pow.f64 im 2) -1/2) (*.f64 2 (cos.f64 re))) -1)
(*.f64 (cos.f64 re) (pow.f64 im 2))
(/.f64 (*.f64 (*.f64 (pow.f64 im 2) -1/2) (+.f64 (+.f64 (cos.f64 re) (cos.f64 (neg.f64 re))) (+.f64 (cos.f64 re) (cos.f64 (neg.f64 re))))) -2)
(/.f64 (*.f64 -1 (*.f64 (pow.f64 im 2) (+.f64 (cos.f64 re) (cos.f64 (neg.f64 re))))) -2)
(/.f64 (*.f64 (+.f64 (cos.f64 re) (cos.f64 (neg.f64 re))) (neg.f64 (pow.f64 im 2))) -2)
(/.f64 (*.f64 (*.f64 (pow.f64 im 2) -1/2) (+.f64 (*.f64 2 (cos.f64 re)) (+.f64 (cos.f64 re) (cos.f64 (neg.f64 re))))) -2)
(/.f64 (*.f64 (*.f64 (pow.f64 im 2) -1/2) (+.f64 (cos.f64 (neg.f64 re)) (+.f64 (cos.f64 re) (*.f64 (cos.f64 re) 2)))) -2)
(/.f64 (*.f64 (pow.f64 im 2) (*.f64 -1/2 (+.f64 (+.f64 (cos.f64 re) (cos.f64 (neg.f64 re))) (*.f64 (cos.f64 re) 2)))) -2)
(/.f64 (*.f64 (+.f64 (cos.f64 (neg.f64 re)) (*.f64 (cos.f64 re) 3)) (neg.f64 (pow.f64 im 2))) -4)
(pow.f64 (*.f64 (pow.f64 im 2) (cos.f64 re)) 1)
(*.f64 (cos.f64 re) (pow.f64 im 2))
(+.f64 (cos.f64 re) (/.f64 (*.f64 (pow.f64 im 2) (cos.f64 re)) 2))
(+.f64 (cos.f64 re) (/.f64 (*.f64 (cos.f64 re) (pow.f64 im 2)) 2))
(-.f64 (cos.f64 re) (/.f64 (*.f64 (cos.f64 re) (pow.f64 im 2)) -2))
(+.f64 (*.f64 (pow.f64 im 2) (cos.f64 re)) (/.f64 (*.f64 (cos.f64 re) (+.f64 -2 (pow.f64 im 2))) -2))
(+.f64 (*.f64 (cos.f64 re) (pow.f64 im 2)) (/.f64 (*.f64 (cos.f64 re) (+.f64 (pow.f64 im 2) -2)) -2))
(+.f64 (*.f64 (cos.f64 re) (+.f64 (*.f64 (pow.f64 im 2) 1/2) 1)) 0)
(*.f64 (cos.f64 re) (+.f64 1 (*.f64 (pow.f64 im 2) 1/2)))
(+.f64 0 (*.f64 (cos.f64 re) (+.f64 (*.f64 (pow.f64 im 2) 1/2) 1)))
(*.f64 (cos.f64 re) (+.f64 1 (*.f64 (pow.f64 im 2) 1/2)))
(+.f64 (/.f64 (*.f64 (cos.f64 re) (+.f64 -2 (pow.f64 im 2))) -2) (*.f64 (pow.f64 im 2) (cos.f64 re)))
(+.f64 (*.f64 (cos.f64 re) (pow.f64 im 2)) (/.f64 (*.f64 (cos.f64 re) (+.f64 (pow.f64 im 2) -2)) -2))
(+.f64 (/.f64 (*.f64 (cos.f64 re) (+.f64 -2 (pow.f64 im 2))) -2) (neg.f64 (neg.f64 (*.f64 (pow.f64 im 2) (cos.f64 re)))))
(+.f64 (*.f64 (cos.f64 re) (pow.f64 im 2)) (/.f64 (*.f64 (cos.f64 re) (+.f64 (pow.f64 im 2) -2)) -2))
(+.f64 (*.f64 (cos.f64 re) (-.f64 (*.f64 (pow.f64 im 2) 3/2) -1)) (neg.f64 (*.f64 (pow.f64 im 2) (cos.f64 re))))
(+.f64 (neg.f64 (*.f64 (cos.f64 re) (pow.f64 im 2))) (*.f64 (cos.f64 re) (+.f64 (*.f64 (pow.f64 im 2) 3/2) 1)))
(-.f64 (*.f64 (cos.f64 re) (+.f64 1 (*.f64 (pow.f64 im 2) 3/2))) (*.f64 (cos.f64 re) (pow.f64 im 2)))
(*.f64 (cos.f64 re) (-.f64 (+.f64 1 (*.f64 (pow.f64 im 2) 3/2)) (pow.f64 im 2)))
(+.f64 (neg.f64 (*.f64 (pow.f64 im 2) (cos.f64 re))) (*.f64 (cos.f64 re) (-.f64 (*.f64 (pow.f64 im 2) 3/2) -1)))
(+.f64 (neg.f64 (*.f64 (cos.f64 re) (pow.f64 im 2))) (*.f64 (cos.f64 re) (+.f64 (*.f64 (pow.f64 im 2) 3/2) 1)))
(-.f64 (*.f64 (cos.f64 re) (+.f64 1 (*.f64 (pow.f64 im 2) 3/2))) (*.f64 (cos.f64 re) (pow.f64 im 2)))
(*.f64 (cos.f64 re) (-.f64 (+.f64 1 (*.f64 (pow.f64 im 2) 3/2)) (pow.f64 im 2)))
(+.f64 (/.f64 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))) 4) (/.f64 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))) 4))
(/.f64 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))) 2)
(*.f64 (cos.f64 re) (+.f64 1 (/.f64 (pow.f64 im 2) 2)))
(+.f64 (/.f64 (*.f64 (pow.f64 im 2) (cos.f64 re)) 2) (cos.f64 re))
(+.f64 (cos.f64 re) (/.f64 (*.f64 (cos.f64 re) (pow.f64 im 2)) 2))
(-.f64 (cos.f64 re) (/.f64 (*.f64 (cos.f64 re) (pow.f64 im 2)) -2))
(+.f64 (/.f64 (*.f64 (cos.f64 re) (-.f64 (*.f64 (pow.f64 im 2) 3/2) -1)) 2) (/.f64 (*.f64 (cos.f64 re) (+.f64 -2 (pow.f64 im 2))) -4))
(+.f64 (/.f64 (*.f64 (cos.f64 re) (+.f64 (*.f64 (pow.f64 im 2) 3/2) 1)) 2) (/.f64 (*.f64 (cos.f64 re) (+.f64 (pow.f64 im 2) -2)) -4))
(+.f64 (/.f64 (*.f64 (cos.f64 re) (+.f64 1 (*.f64 (pow.f64 im 2) 3/2))) 2) (/.f64 (*.f64 (cos.f64 re) (+.f64 (pow.f64 im 2) -2)) -4))
(+.f64 (/.f64 (*.f64 (cos.f64 re) (+.f64 -2 (pow.f64 im 2))) -4) (/.f64 (*.f64 (cos.f64 re) (-.f64 (*.f64 (pow.f64 im 2) 3/2) -1)) 2))
(+.f64 (/.f64 (*.f64 (cos.f64 re) (+.f64 (*.f64 (pow.f64 im 2) 3/2) 1)) 2) (/.f64 (*.f64 (cos.f64 re) (+.f64 (pow.f64 im 2) -2)) -4))
(+.f64 (/.f64 (*.f64 (cos.f64 re) (+.f64 1 (*.f64 (pow.f64 im 2) 3/2))) 2) (/.f64 (*.f64 (cos.f64 re) (+.f64 (pow.f64 im 2) -2)) -4))
(+.f64 (neg.f64 (neg.f64 (*.f64 (pow.f64 im 2) (cos.f64 re)))) (/.f64 (*.f64 (cos.f64 re) (+.f64 -2 (pow.f64 im 2))) -2))
(+.f64 (*.f64 (cos.f64 re) (pow.f64 im 2)) (/.f64 (*.f64 (cos.f64 re) (+.f64 (pow.f64 im 2) -2)) -2))
(*.f64 2 (/.f64 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))) 4))
(/.f64 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))) 2)
(*.f64 (cos.f64 re) (+.f64 1 (/.f64 (pow.f64 im 2) 2)))
(*.f64 (cos.f64 re) (+.f64 (*.f64 (pow.f64 im 2) 1/2) 1))
(*.f64 (cos.f64 re) (+.f64 1 (*.f64 (pow.f64 im 2) 1/2)))
(*.f64 (cos.f64 re) (*.f64 (+.f64 (*.f64 (pow.f64 im 2) 1/2) 1) (cos.f64 0)))
(*.f64 (cos.f64 re) (*.f64 (+.f64 1 (*.f64 (pow.f64 im 2) 1/2)) (cos.f64 0)))
(*.f64 (+.f64 1 (*.f64 (pow.f64 im 2) 1/2)) (*.f64 (cos.f64 re) (cos.f64 0)))
(*.f64 (cos.f64 re) (-.f64 (pow.f64 im 2) (*.f64 (-.f64 -1 (*.f64 (pow.f64 im 2) -1/2)) (cos.f64 0))))
(*.f64 (cos.f64 re) (-.f64 (pow.f64 im 2) (*.f64 (cos.f64 0) (-.f64 -1 (*.f64 (pow.f64 im 2) -1/2)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))))
(/.f64 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))) 2)
(*.f64 (cos.f64 re) (+.f64 1 (/.f64 (pow.f64 im 2) 2)))
(*.f64 1/2 (-.f64 (*.f64 (*.f64 (pow.f64 im 2) (cos.f64 re)) 4) (*.f64 2 (*.f64 (cos.f64 re) (+.f64 -1 (*.f64 (pow.f64 im 2) 3/2))))))
(*.f64 1/2 (-.f64 (*.f64 4 (*.f64 (cos.f64 re) (pow.f64 im 2))) (*.f64 2 (*.f64 (cos.f64 re) (+.f64 -1 (*.f64 (pow.f64 im 2) 3/2))))))
(*.f64 1/2 (-.f64 (*.f64 4 (*.f64 (cos.f64 re) (pow.f64 im 2))) (*.f64 (cos.f64 re) (*.f64 2 (+.f64 -1 (*.f64 (pow.f64 im 2) 3/2))))))
(*.f64 1/2 (*.f64 (cos.f64 re) (-.f64 (*.f64 (pow.f64 im 2) 4) (*.f64 2 (+.f64 -1 (*.f64 (pow.f64 im 2) 3/2))))))
(*.f64 -1 (*.f64 (cos.f64 re) (+.f64 -1 (*.f64 (pow.f64 im 2) -1/2))))
(*.f64 (+.f64 -1 (*.f64 (pow.f64 im 2) -1/2)) (neg.f64 (cos.f64 re)))
(*.f64 (cos.f64 re) (/.f64 (-.f64 (neg.f64 (pow.f64 im 2)) 2) -2))
(*.f64 (*.f64 (cos.f64 re) (+.f64 (*.f64 (pow.f64 im 2) 1/2) 1)) 1)
(*.f64 (cos.f64 re) (+.f64 1 (*.f64 (pow.f64 im 2) 1/2)))
(*.f64 (*.f64 (cos.f64 re) (+.f64 (*.f64 (pow.f64 im 2) 1/2) 1)) (cos.f64 0))
(*.f64 (cos.f64 re) (*.f64 (+.f64 1 (*.f64 (pow.f64 im 2) 1/2)) (cos.f64 0)))
(*.f64 (+.f64 1 (*.f64 (pow.f64 im 2) 1/2)) (*.f64 (cos.f64 re) (cos.f64 0)))
(*.f64 1 (*.f64 (cos.f64 re) (+.f64 (*.f64 (pow.f64 im 2) 1/2) 1)))
(*.f64 (cos.f64 re) (+.f64 1 (*.f64 (pow.f64 im 2) 1/2)))
(*.f64 (+.f64 (*.f64 (pow.f64 im 2) 1/2) 1) (cos.f64 re))
(*.f64 (cos.f64 re) (+.f64 1 (*.f64 (pow.f64 im 2) 1/2)))
(*.f64 (*.f64 (cos.f64 re) (+.f64 -1 (*.f64 (pow.f64 im 2) -1/2))) -1)
(*.f64 (+.f64 -1 (*.f64 (pow.f64 im 2) -1/2)) (neg.f64 (cos.f64 re)))
(*.f64 (cos.f64 re) (/.f64 (-.f64 (neg.f64 (pow.f64 im 2)) 2) -2))
(*.f64 (+.f64 -1 (*.f64 (pow.f64 im 2) -1/2)) (neg.f64 (cos.f64 re)))
(*.f64 (cos.f64 re) (/.f64 (-.f64 (neg.f64 (pow.f64 im 2)) 2) -2))
(*.f64 (*.f64 2 (cos.f64 re)) (-.f64 1/2 (/.f64 (pow.f64 im 2) -4)))
(*.f64 (cos.f64 re) (*.f64 2 (-.f64 1/2 (/.f64 (pow.f64 im 2) -4))))
(*.f64 (cos.f64 re) (-.f64 1 (/.f64 (pow.f64 im 2) -2)))
(*.f64 (cos.f64 re) (/.f64 (-.f64 -2 (pow.f64 im 2)) -2))
(*.f64 (*.f64 2 (cos.f64 re)) (-.f64 (*.f64 (pow.f64 im 2) 1/2) (*.f64 (cos.f64 0) (+.f64 -1/2 (/.f64 (pow.f64 im 2) 4)))))
(*.f64 (*.f64 (cos.f64 re) 2) (-.f64 (*.f64 (pow.f64 im 2) 1/2) (*.f64 (cos.f64 0) (+.f64 -1/2 (/.f64 (pow.f64 im 2) 4)))))
(*.f64 2 (*.f64 (cos.f64 re) (-.f64 (*.f64 (pow.f64 im 2) 1/2) (*.f64 (cos.f64 0) (+.f64 -1/2 (/.f64 (pow.f64 im 2) 4))))))
(*.f64 (cos.f64 re) (*.f64 2 (-.f64 (*.f64 (pow.f64 im 2) 1/2) (*.f64 (cos.f64 0) (+.f64 -1/2 (/.f64 (pow.f64 im 2) 4))))))
(*.f64 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))) 1/2)
(/.f64 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))) 2)
(*.f64 (cos.f64 re) (+.f64 1 (/.f64 (pow.f64 im 2) 2)))
(*.f64 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))) (/.f64 (cos.f64 0) 2))
(*.f64 (+.f64 2 (pow.f64 im 2)) (*.f64 (cos.f64 re) (/.f64 (cos.f64 0) 2)))
(*.f64 (cos.f64 re) (*.f64 (+.f64 2 (pow.f64 im 2)) (/.f64 (cos.f64 0) 2)))
(*.f64 (cos.f64 0) (*.f64 (cos.f64 re) (+.f64 (*.f64 (pow.f64 im 2) 1/2) 1)))
(*.f64 (cos.f64 re) (*.f64 (+.f64 1 (*.f64 (pow.f64 im 2) 1/2)) (cos.f64 0)))
(*.f64 (+.f64 1 (*.f64 (pow.f64 im 2) 1/2)) (*.f64 (cos.f64 re) (cos.f64 0)))
(*.f64 (-.f64 1/2 (/.f64 (pow.f64 im 2) -4)) (*.f64 2 (cos.f64 re)))
(*.f64 (cos.f64 re) (*.f64 2 (-.f64 1/2 (/.f64 (pow.f64 im 2) -4))))
(*.f64 (cos.f64 re) (-.f64 1 (/.f64 (pow.f64 im 2) -2)))
(*.f64 (cos.f64 re) (/.f64 (-.f64 -2 (pow.f64 im 2)) -2))
(*.f64 (-.f64 1/2 (/.f64 (pow.f64 im 2) -4)) (+.f64 (cos.f64 re) (cos.f64 (neg.f64 re))))
(*.f64 (+.f64 (cos.f64 re) (cos.f64 (neg.f64 re))) (-.f64 1/2 (/.f64 (pow.f64 im 2) -4)))
(*.f64 (+.f64 (cos.f64 re) (cos.f64 (neg.f64 re))) (/.f64 (-.f64 -2 (pow.f64 im 2)) -4))
(*.f64 (/.f64 (cos.f64 re) 2) (+.f64 2 (pow.f64 im 2)))
(/.f64 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))) 2)
(*.f64 (cos.f64 re) (+.f64 1 (/.f64 (pow.f64 im 2) 2)))
(*.f64 (/.f64 (cos.f64 re) 2) (-.f64 (*.f64 (pow.f64 im 2) 4) (*.f64 2 (+.f64 -1 (*.f64 (pow.f64 im 2) 3/2)))))
(*.f64 (cos.f64 re) (/.f64 (-.f64 (*.f64 (pow.f64 im 2) 4) (*.f64 2 (+.f64 -1 (*.f64 (pow.f64 im 2) 3/2)))) 2))
(*.f64 (/.f64 (cos.f64 0) 2) (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))))
(*.f64 (+.f64 2 (pow.f64 im 2)) (*.f64 (cos.f64 re) (/.f64 (cos.f64 0) 2)))
(*.f64 (cos.f64 re) (*.f64 (+.f64 2 (pow.f64 im 2)) (/.f64 (cos.f64 0) 2)))
(*.f64 1/4 (*.f64 2 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2)))))
(/.f64 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))) 2)
(*.f64 (cos.f64 re) (+.f64 1 (/.f64 (pow.f64 im 2) 2)))
(*.f64 (+.f64 2 (pow.f64 im 2)) (/.f64 (cos.f64 re) 2))
(/.f64 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))) 2)
(*.f64 (cos.f64 re) (+.f64 1 (/.f64 (pow.f64 im 2) 2)))
(*.f64 (*.f64 2 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2)))) 1/4)
(/.f64 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))) 2)
(*.f64 (cos.f64 re) (+.f64 1 (/.f64 (pow.f64 im 2) 2)))
(*.f64 (*.f64 (cos.f64 re) 4) (/.f64 (+.f64 2 (pow.f64 im 2)) 8))
(/.f64 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))) 2)
(*.f64 (cos.f64 re) (+.f64 1 (/.f64 (pow.f64 im 2) 2)))
(*.f64 (/.f64 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))) 4) 2)
(/.f64 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))) 2)
(*.f64 (cos.f64 re) (+.f64 1 (/.f64 (pow.f64 im 2) 2)))
(*.f64 (-.f64 -2 (pow.f64 im 2)) (/.f64 (cos.f64 re) -2))
(*.f64 (cos.f64 re) (*.f64 2 (-.f64 1/2 (/.f64 (pow.f64 im 2) -4))))
(*.f64 (cos.f64 re) (-.f64 1 (/.f64 (pow.f64 im 2) -2)))
(*.f64 (cos.f64 re) (/.f64 (-.f64 -2 (pow.f64 im 2)) -2))
(*.f64 (neg.f64 (cos.f64 re)) (+.f64 -1 (*.f64 (pow.f64 im 2) -1/2)))
(*.f64 (+.f64 -1 (*.f64 (pow.f64 im 2) -1/2)) (neg.f64 (cos.f64 re)))
(*.f64 (cos.f64 re) (/.f64 (-.f64 (neg.f64 (pow.f64 im 2)) 2) -2))
(*.f64 (+.f64 (cos.f64 re) (cos.f64 (neg.f64 re))) (-.f64 1/2 (/.f64 (pow.f64 im 2) -4)))
(*.f64 (+.f64 (cos.f64 re) (cos.f64 (neg.f64 re))) (/.f64 (-.f64 -2 (pow.f64 im 2)) -4))
(*.f64 (*.f64 (+.f64 (*.f64 (pow.f64 im 2) 1/2) 1) (cos.f64 0)) (cos.f64 re))
(*.f64 (cos.f64 re) (*.f64 (+.f64 1 (*.f64 (pow.f64 im 2) 1/2)) (cos.f64 0)))
(*.f64 (+.f64 1 (*.f64 (pow.f64 im 2) 1/2)) (*.f64 (cos.f64 re) (cos.f64 0)))
(*.f64 (/.f64 (+.f64 2 (pow.f64 im 2)) 8) (*.f64 (cos.f64 re) 4))
(/.f64 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))) 2)
(*.f64 (cos.f64 re) (+.f64 1 (/.f64 (pow.f64 im 2) 2)))
(*.f64 (/.f64 (-.f64 -2 (pow.f64 im 2)) 4) (*.f64 (cos.f64 re) -2))
(*.f64 (cos.f64 re) (*.f64 2 (-.f64 1/2 (/.f64 (pow.f64 im 2) -4))))
(*.f64 (cos.f64 re) (-.f64 1 (/.f64 (pow.f64 im 2) -2)))
(*.f64 (cos.f64 re) (/.f64 (-.f64 -2 (pow.f64 im 2)) -2))
(/.f64 (*.f64 (cos.f64 re) (+.f64 (*.f64 (pow.f64 im 2) 1/2) 1)) 1)
(*.f64 (cos.f64 re) (+.f64 1 (*.f64 (pow.f64 im 2) 1/2)))
(/.f64 (*.f64 (cos.f64 re) (+.f64 -1 (*.f64 (pow.f64 im 2) -1/2))) -1)
(*.f64 (+.f64 -1 (*.f64 (pow.f64 im 2) -1/2)) (neg.f64 (cos.f64 re)))
(*.f64 (cos.f64 re) (/.f64 (-.f64 (neg.f64 (pow.f64 im 2)) 2) -2))
(/.f64 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))) 2)
(*.f64 (cos.f64 re) (+.f64 1 (/.f64 (pow.f64 im 2) 2)))
(/.f64 (*.f64 2 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2)))) 4)
(/.f64 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))) 2)
(*.f64 (cos.f64 re) (+.f64 1 (/.f64 (pow.f64 im 2) 2)))
(/.f64 (/.f64 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))) 4) 1/2)
(/.f64 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))) 2)
(*.f64 (cos.f64 re) (+.f64 1 (/.f64 (pow.f64 im 2) 2)))
(/.f64 (*.f64 (cos.f64 re) (-.f64 -2 (pow.f64 im 2))) -2)
(/.f64 (/.f64 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))) -4) -1/2)
(/.f64 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))) 2)
(*.f64 (cos.f64 re) (+.f64 1 (/.f64 (pow.f64 im 2) 2)))
(/.f64 (*.f64 (+.f64 -1 (*.f64 (pow.f64 im 2) -1/2)) (*.f64 (cos.f64 re) 4)) -4)
(/.f64 (*.f64 4 (*.f64 (cos.f64 re) (+.f64 -1 (*.f64 (pow.f64 im 2) -1/2)))) -4)
(/.f64 (*.f64 (*.f64 (cos.f64 re) 8) (-.f64 (neg.f64 (pow.f64 im 2)) 2)) -16)
(/.f64 (*.f64 4 (*.f64 (cos.f64 re) (-.f64 (neg.f64 (pow.f64 im 2)) 2))) -8)
(/.f64 (*.f64 (+.f64 -1 (*.f64 (pow.f64 im 2) -1/2)) (+.f64 (cos.f64 re) (cos.f64 (neg.f64 re)))) -2)
(/.f64 (*.f64 (+.f64 (cos.f64 re) (cos.f64 (neg.f64 re))) (+.f64 -1 (*.f64 (pow.f64 im 2) -1/2))) -2)
(/.f64 (*.f64 (+.f64 (cos.f64 re) (cos.f64 (neg.f64 re))) (-.f64 (neg.f64 (pow.f64 im 2)) 2)) -4)
(/.f64 (*.f64 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))) 4) 8)
(/.f64 (*.f64 (cos.f64 re) (+.f64 2 (pow.f64 im 2))) 2)
(*.f64 (cos.f64 re) (+.f64 1 (/.f64 (pow.f64 im 2) 2)))
(/.f64 (*.f64 2 (*.f64 (cos.f64 re) (-.f64 -2 (pow.f64 im 2)))) -4)
(/.f64 (*.f64 (cos.f64 re) (-.f64 -2 (pow.f64 im 2))) -2)
(/.f64 (*.f64 (-.f64 -2 (pow.f64 im 2)) (+.f64 (cos.f64 re) (cos.f64 (neg.f64 re)))) -4)
(/.f64 (*.f64 (+.f64 (cos.f64 re) (cos.f64 (neg.f64 re))) (-.f64 -2 (pow.f64 im 2))) -4)
(/.f64 (*.f64 (+.f64 2 (pow.f64 im 2)) (+.f64 (cos.f64 re) (cos.f64 (neg.f64 re)))) 4)
(/.f64 (*.f64 (+.f64 (cos.f64 re) (cos.f64 (neg.f64 re))) (+.f64 2 (pow.f64 im 2))) 4)
(/.f64 (*.f64 (*.f64 (cos.f64 re) (-.f64 -2 (pow.f64 im 2))) 2) -4)
(/.f64 (*.f64 (cos.f64 re) (-.f64 -2 (pow.f64 im 2))) -2)
(/.f64 (/.f64 (*.f64 2 (*.f64 (cos.f64 re) (-.f64 -2 (pow.f64 im 2)))) -1) 4)
(/.f64 (*.f64 (cos.f64 re) (-.f64 -2 (pow.f64 im 2))) -2)
(/.f64 (/.f64 (*.f64 (-.f64 -2 (pow.f64 im 2)) (+.f64 (cos.f64 re) (cos.f64 (neg.f64 re)))) -1) 4)
(/.f64 (*.f64 (+.f64 (cos.f64 re) (cos.f64 (neg.f64 re))) (-.f64 -2 (pow.f64 im 2))) -4)
(/.f64 (/.f64 (*.f64 (*.f64 (cos.f64 re) (-.f64 -2 (pow.f64 im 2))) 2) -1) 4)
(/.f64 (*.f64 (cos.f64 re) (-.f64 -2 (pow.f64 im 2))) -2)
(/.f64 (/.f64 (*.f64 (+.f64 -1 (*.f64 (pow.f64 im 2) -1/2)) (*.f64 (cos.f64 re) 4)) 2) -2)
(/.f64 (*.f64 4 (*.f64 (cos.f64 re) (+.f64 -1 (*.f64 (pow.f64 im 2) -1/2)))) -4)
(/.f64 (*.f64 (*.f64 (cos.f64 re) 8) (-.f64 (neg.f64 (pow.f64 im 2)) 2)) -16)
(/.f64 (*.f64 4 (*.f64 (cos.f64 re) (-.f64 (neg.f64 (pow.f64 im 2)) 2))) -8)
(/.f64 (*.f64 (+.f64 -1 (*.f64 (pow.f64 im 2) -1/2)) (*.f64 (*.f64 2 (cos.f64 re)) 4)) -8)
(/.f64 (*.f64 4 (*.f64 (cos.f64 re) (+.f64 -1 (*.f64 (pow.f64 im 2) -1/2)))) -4)
(/.f64 (*.f64 (*.f64 (cos.f64 re) 8) (-.f64 (neg.f64 (pow.f64 im 2)) 2)) -16)
(/.f64 (*.f64 4 (*.f64 (cos.f64 re) (-.f64 (neg.f64 (pow.f64 im 2)) 2))) -8)
(/.f64 (*.f64 (+.f64 -1 (*.f64 (pow.f64 im 2) -1/2)) (+.f64 (+.f64 (cos.f64 re) (cos.f64 (neg.f64 re))) (+.f64 (cos.f64 re) (cos.f64 (neg.f64 re))))) -4)
(/.f64 (*.f64 (+.f64 (cos.f64 re) (cos.f64 (neg.f64 re))) (+.f64 -1 (*.f64 (pow.f64 im 2) -1/2))) -2)
(/.f64 (*.f64 (+.f64 (cos.f64 re) (cos.f64 (neg.f64 re))) (-.f64 (neg.f64 (pow.f64 im 2)) 2)) -4)
(/.f64 (*.f64 (+.f64 -1 (*.f64 (pow.f64 im 2) -1/2)) (*.f64 (cos.f64 0) (*.f64 (cos.f64 re) 4))) -4)
(/.f64 (*.f64 (+.f64 -1 (*.f64 (pow.f64 im 2) -1/2)) (*.f64 4 (*.f64 (cos.f64 re) (cos.f64 0)))) -4)
(/.f64 (*.f64 (*.f64 (cos.f64 re) 4) (*.f64 (cos.f64 0) (+.f64 -1 (*.f64 (pow.f64 im 2) -1/2)))) -4)
(/.f64 (*.f64 (-.f64 (neg.f64 (pow.f64 im 2)) 2) (*.f64 (cos.f64 0) (*.f64 (cos.f64 re) 8))) -16)
(/.f64 (*.f64 (*.f64 (*.f64 (cos.f64 re) 2) 2) (-.f64 (neg.f64 (pow.f64 im 2)) 2)) -8)
(/.f64 (*.f64 (cos.f64 re) (*.f64 2 (-.f64 -2 (pow.f64 im 2)))) -4)
(/.f64 (*.f64 (cos.f64 re) (-.f64 -2 (pow.f64 im 2))) -2)
(/.f64 (*.f64 (cos.f64 re) (*.f64 (-.f64 -2 (pow.f64 im 2)) 2)) -4)
(/.f64 (*.f64 (cos.f64 re) (-.f64 -2 (pow.f64 im 2))) -2)
(/.f64 (-.f64 (*.f64 (*.f64 (pow.f64 im 2) (cos.f64 re)) 4) (*.f64 2 (*.f64 (cos.f64 re) (+.f64 -1 (*.f64 (pow.f64 im 2) 3/2))))) 2)
(/.f64 (-.f64 (*.f64 4 (*.f64 (cos.f64 re) (pow.f64 im 2))) (*.f64 2 (*.f64 (cos.f64 re) (+.f64 -1 (*.f64 (pow.f64 im 2) 3/2))))) 2)
(/.f64 (-.f64 (*.f64 4 (*.f64 (cos.f64 re) (pow.f64 im 2))) (*.f64 (cos.f64 re) (*.f64 2 (+.f64 -1 (*.f64 (pow.f64 im 2) 3/2))))) 2)
(/.f64 (*.f64 (cos.f64 re) (-.f64 (*.f64 (pow.f64 im 2) 4) (*.f64 2 (+.f64 -1 (*.f64 (pow.f64 im 2) 3/2))))) 2)
(/.f64 (-.f64 (*.f64 (*.f64 (pow.f64 im 2) (cos.f64 re)) 4) (*.f64 (+.f64 -2 (pow.f64 im 2)) (+.f64 (cos.f64 re) (cos.f64 (neg.f64 re))))) 4)
(/.f64 (-.f64 (*.f64 4 (*.f64 (cos.f64 re) (pow.f64 im 2))) (*.f64 (+.f64 (cos.f64 re) (cos.f64 (neg.f64 re))) (+.f64 (pow.f64 im 2) -2))) 4)
(-.f64 (*.f64 (cos.f64 re) (pow.f64 im 2)) (/.f64 (*.f64 (+.f64 (cos.f64 re) (cos.f64 (neg.f64 re))) (+.f64 (pow.f64 im 2) -2)) 4))
(/.f64 (-.f64 (*.f64 2 (*.f64 (*.f64 (pow.f64 im 2) (cos.f64 re)) 4)) (*.f64 (*.f64 (cos.f64 re) (+.f64 -2 (pow.f64 im 2))) 4)) 8)
(+.f64 (*.f64 (cos.f64 re) (pow.f64 im 2)) (/.f64 (*.f64 (cos.f64 re) (+.f64 (pow.f64 im 2) -2)) -2))
(/.f64 (-.f64 (*.f64 (*.f64 (pow.f64 im 2) 4) (*.f64 (cos.f64 re) 4)) (*.f64 (*.f64 2 (+.f64 -2 (pow.f64 im 2))) (*.f64 (cos.f64 re) 4))) 16)
(+.f64 (*.f64 (cos.f64 re) (pow.f64 im 2)) (/.f64 (*.f64 (cos.f64 re) (+.f64 (pow.f64 im 2) -2)) -2))
(/.f64 (-.f64 (*.f64 (*.f64 2 (pow.f64 im 2)) (+.f64 (cos.f64 re) (cos.f64 (neg.f64 re)))) (*.f64 (*.f64 2 (cos.f64 re)) (+.f64 -2 (pow.f64 im 2)))) 4)
(/.f64 (-.f64 (*.f64 (+.f64 (cos.f64 re) (cos.f64 (neg.f64 re))) (*.f64 2 (pow.f64 im 2))) (*.f64 (*.f64 (cos.f64 re) 2) (+.f64 (pow.f64 im 2) -2))) 4)
(/.f64 (-.f64 (*.f64 2 (*.f64 (pow.f64 im 2) (+.f64 (cos.f64 re) (cos.f64 (neg.f64 re))))) (*.f64 (cos.f64 re) (*.f64 2 (+.f64 (pow.f64 im 2) -2)))) 4)
(-.f64 (/.f64 (*.f64 (*.f64 (pow.f64 im 2) 4) (+.f64 (cos.f64 re) (cos.f64 (neg.f64 re)))) 8) (*.f64 (*.f64 (cos.f64 re) (+.f64 (pow.f64 im 2) -2)) 1/2))
(-.f64 (/.f64 (*.f64 (pow.f64 im 2) (*.f64 (*.f64 (cos.f64 re) 2) 2)) 4) (*.f64 (*.f64 (cos.f64 re) (+.f64 (pow.f64 im 2) -2)) 1/2))
(/.f64 (-.f64 (*.f64 (*.f64 2 (pow.f64 im 2)) (+.f64 (cos.f64 re) (cos.f64 (neg.f64 re)))) (*.f64 (+.f64 -2 (pow.f64 im 2)) (+.f64 (cos.f64 re) (cos.f64 (neg.f64 re))))) 4)
(/.f64 (-.f64 (*.f64 (+.f64 (cos.f64 re) (cos.f64 (neg.f64 re))) (*.f64 2 (pow.f64 im 2))) (*.f64 (+.f64 (cos.f64 re) (cos.f64 (neg.f64 re))) (+.f64 (pow.f64 im 2) -2))) 4)
(/.f64 (*.f64 (+.f64 (cos.f64 re) (cos.f64 (neg.f64 re))) (-.f64 (*.f64 2 (pow.f64 im 2)) (+.f64 (pow.f64 im 2) -2))) 4)
(/.f64 (*.f64 (+.f64 (cos.f64 re) (cos.f64 (neg.f64 re))) (+.f64 (-.f64 (*.f64 2 (pow.f64 im 2)) (pow.f64 im 2)) 2)) 4)
(/.f64 (*.f64 (+.f64 (cos.f64 re) (cos.f64 (neg.f64 re))) (+.f64 2 (-.f64 (*.f64 2 (pow.f64 im 2)) (pow.f64 im 2)))) 4)
(/.f64 (-.f64 (*.f64 2 (*.f64 (*.f64 (pow.f64 im 2) (cos.f64 re)) 4)) (*.f64 2 (*.f64 2 (*.f64 (cos.f64 re) (+.f64 -1 (*.f64 (pow.f64 im 2) 3/2)))))) 4)
(/.f64 (-.f64 (*.f64 4 (*.f64 (cos.f64 re) (pow.f64 im 2))) (*.f64 2 (*.f64 (cos.f64 re) (+.f64 -1 (*.f64 (pow.f64 im 2) 3/2))))) 2)
(/.f64 (-.f64 (*.f64 4 (*.f64 (cos.f64 re) (pow.f64 im 2))) (*.f64 (cos.f64 re) (*.f64 2 (+.f64 -1 (*.f64 (pow.f64 im 2) 3/2))))) 2)
(/.f64 (*.f64 (cos.f64 re) (-.f64 (*.f64 (pow.f64 im 2) 4) (*.f64 2 (+.f64 -1 (*.f64 (pow.f64 im 2) 3/2))))) 2)
(/.f64 (-.f64 (*.f64 (*.f64 (pow.f64 im 2) 4) (+.f64 (cos.f64 re) (cos.f64 (neg.f64 re)))) (*.f64 2 (*.f64 2 (*.f64 (cos.f64 re) (+.f64 -1 (*.f64 (pow.f64 im 2) 3/2)))))) 4)
(/.f64 (-.f64 (*.f64 (*.f64 (pow.f64 im 2) 4) (+.f64 (cos.f64 re) (cos.f64 (neg.f64 re)))) (*.f64 (*.f64 (cos.f64 re) (+.f64 -1 (*.f64 (pow.f64 im 2) 3/2))) 4)) 4)
(/.f64 (-.f64 (*.f64 4 (*.f64 (pow.f64 im 2) (+.f64 (cos.f64 re) (cos.f64 (neg.f64 re))))) (*.f64 4 (*.f64 (cos.f64 re) (+.f64 -1 (*.f64 (pow.f64 im 2) 3/2))))) 4)
(/.f64 (-.f64 (*.f64 (+.f64 (cos.f64 re) (cos.f64 (neg.f64 re))) (*.f64 (pow.f64 im 2) 8)) (*.f64 (*.f64 (cos.f64 re) (+.f64 -1 (*.f64 (pow.f64 im 2) 3/2))) 8)) 8)
(/.f64 (-.f64 (*.f64 (pow.f64 im 2) (*.f64 4 (+.f64 (cos.f64 re) (cos.f64 (neg.f64 re))))) (*.f64 (+.f64 -1 (*.f64 (pow.f64 im 2) 3/2)) (*.f64 (cos.f64 re) 4))) 4)
(/.f64 (-.f64 (*.f64 2 (*.f64 (cos.f64 re) (+.f64 -1 (*.f64 (pow.f64 im 2) 3/2)))) (*.f64 (*.f64 2 (cos.f64 re)) (+.f64 -2 (pow.f64 im 2)))) 2)
(/.f64 (-.f64 (*.f64 2 (*.f64 (cos.f64 re) (+.f64 -1 (*.f64 (pow.f64 im 2) 3/2)))) (*.f64 (*.f64 (cos.f64 re) 2) (+.f64 (pow.f64 im 2) -2))) 2)
(/.f64 (*.f64 (*.f64 (cos.f64 re) 2) (-.f64 (+.f64 -1 (*.f64 (pow.f64 im 2) 3/2)) (+.f64 (pow.f64 im 2) -2))) 2)
(/.f64 (*.f64 (*.f64 (cos.f64 re) 2) (-.f64 (*.f64 (pow.f64 im 2) 3/2) (+.f64 (+.f64 (pow.f64 im 2) -2) 1))) 2)
(/.f64 (*.f64 (*.f64 (cos.f64 re) 2) (-.f64 (*.f64 (pow.f64 im 2) 3/2) (+.f64 1 (+.f64 (pow.f64 im 2) -2)))) 2)
(/.f64 (-.f64 (*.f64 2 (*.f64 2 (*.f64 (cos.f64 re) (+.f64 -1 (*.f64 (pow.f64 im 2) 3/2))))) (*.f64 (*.f64 (cos.f64 re) (+.f64 -2 (pow.f64 im 2))) 4)) 4)
(/.f64 (-.f64 (*.f64 2 (*.f64 (cos.f64 re) (+.f64 -1 (*.f64 (pow.f64 im 2) 3/2)))) (*.f64 (*.f64 (cos.f64 re) 2) (+.f64 (pow.f64 im 2) -2))) 2)
(/.f64 (*.f64 (*.f64 (cos.f64 re) 2) (-.f64 (+.f64 -1 (*.f64 (pow.f64 im 2) 3/2)) (+.f64 (pow.f64 im 2) -2))) 2)
(/.f64 (*.f64 (*.f64 (cos.f64 re) 2) (-.f64 (*.f64 (pow.f64 im 2) 3/2) (+.f64 (+.f64 (pow.f64 im 2) -2) 1))) 2)
(/.f64 (*.f64 (*.f64 (cos.f64 re) 2) (-.f64 (*.f64 (pow.f64 im 2) 3/2) (+.f64 1 (+.f64 (pow.f64 im 2) -2)))) 2)
(/.f64 (-.f64 (*.f64 2 (*.f64 2 (*.f64 (cos.f64 re) (+.f64 -1 (*.f64 (pow.f64 im 2) 3/2))))) (*.f64 (*.f64 2 (+.f64 -2 (pow.f64 im 2))) (+.f64 (cos.f64 re) (cos.f64 (neg.f64 re))))) 4)
(/.f64 (-.f64 (*.f64 (*.f64 (cos.f64 re) (+.f64 -1 (*.f64 (pow.f64 im 2) 3/2))) 4) (*.f64 (+.f64 (cos.f64 re) (cos.f64 (neg.f64 re))) (*.f64 2 (+.f64 (pow.f64 im 2) -2)))) 4)
(/.f64 (-.f64 (*.f64 4 (*.f64 (cos.f64 re) (+.f64 -1 (*.f64 (pow.f64 im 2) 3/2)))) (*.f64 (+.f64 (cos.f64 re) (cos.f64 (neg.f64 re))) (*.f64 2 (+.f64 (pow.f64 im 2) -2)))) 4)
(/.f64 (-.f64 (*.f64 (cos.f64 re) (*.f64 (+.f64 -1 (*.f64 (pow.f64 im 2) 3/2)) 4)) (*.f64 (+.f64 (cos.f64 re) (cos.f64 (neg.f64 re))) (*.f64 2 (+.f64 (pow.f64 im 2) -2)))) 4)
(/.f64 (-.f64 (*.f64 (+.f64 -1 (*.f64 (pow.f64 im 2) 3/2)) (*.f64 (cos.f64 re) 4)) (*.f64 (+.f64 (pow.f64 im 2) -2) (*.f64 (*.f64 (cos.f64 re) 2) 2))) 4)
(pow.f64 (*.f64 (cos.f64 re) (+.f64 (*.f64 (pow.f64 im 2) 1/2) 1)) 1)
(*.f64 (cos.f64 re) (+.f64 1 (*.f64 (pow.f64 im 2) 1/2)))
(neg.f64 (*.f64 (cos.f64 re) (+.f64 -1 (*.f64 (pow.f64 im 2) -1/2))))
(*.f64 (+.f64 -1 (*.f64 (pow.f64 im 2) -1/2)) (neg.f64 (cos.f64 re)))
(*.f64 (cos.f64 re) (/.f64 (-.f64 (neg.f64 (pow.f64 im 2)) 2) -2))
(+.f64 (*.f64 (cos.f64 re) (-.f64 -1 (*.f64 (pow.f64 im 2) -1/2))) 0)
(*.f64 (cos.f64 re) (-.f64 -1 (*.f64 (pow.f64 im 2) -1/2)))
(+.f64 0 (*.f64 (cos.f64 re) (-.f64 -1 (*.f64 (pow.f64 im 2) -1/2))))
(*.f64 (cos.f64 re) (-.f64 -1 (*.f64 (pow.f64 im 2) -1/2)))
(+.f64 (/.f64 (*.f64 (cos.f64 re) (+.f64 -2 (pow.f64 im 2))) 4) (/.f64 (*.f64 (cos.f64 re) (+.f64 -2 (pow.f64 im 2))) 4))
(/.f64 (*.f64 (cos.f64 re) (+.f64 (pow.f64 im 2) -2)) 2)
(*.f64 (*.f64 (cos.f64 re) (+.f64 (pow.f64 im 2) -2)) 1/2)
(-.f64 (*.f64 (cos.f64 re) (-.f64 -1 (*.f64 (pow.f64 im 2) -1/2))) 0)
(*.f64 (cos.f64 re) (-.f64 -1 (*.f64 (pow.f64 im 2) -1/2)))
(-.f64 0 (/.f64 (*.f64 (cos.f64 re) (+.f64 -2 (pow.f64 im 2))) -2))
(/.f64 (*.f64 (cos.f64 re) (+.f64 (pow.f64 im 2) -2)) 2)
(*.f64 (*.f64 (cos.f64 re) (+.f64 (pow.f64 im 2) -2)) 1/2)
(-.f64 (*.f64 (cos.f64 re) (+.f64 -2 (pow.f64 im 2))) (*.f64 (cos.f64 re) (-.f64 -1 (*.f64 (pow.f64 im 2) -1/2))))
(-.f64 (*.f64 (cos.f64 re) (+.f64 (pow.f64 im 2) -2)) (*.f64 (cos.f64 re) (-.f64 -1 (*.f64 (pow.f64 im 2) -1/2))))
(*.f64 (cos.f64 re) (-.f64 (+.f64 (pow.f64 im 2) -2) (-.f64 -1 (*.f64 (pow.f64 im 2) -1/2))))
(*.f64 (cos.f64 re) (-.f64 (*.f64 (pow.f64 im 2) -1/2) (-.f64 -1 (+.f64 (pow.f64 im 2) -2))))
(*.f64 (cos.f64 re) (-.f64 (*.f64 (pow.f64 im 2) -1/2) (+.f64 1 (neg.f64 (pow.f64 im 2)))))
(-.f64 (/.f64 (*.f64 (cos.f64 re) (+.f64 -2 (pow.f64 im 2))) 4) (/.f64 (*.f64 (cos.f64 re) (+.f64 -2 (pow.f64 im 2))) -4))
(/.f64 (*.f64 (cos.f64 re) (+.f64 (pow.f64 im 2) -2)) 2)
(*.f64 (*.f64 (cos.f64 re) (+.f64 (pow.f64 im 2) -2)) 1/2)
(/.f64 (*.f64 (cos.f64 re) (-.f64 -1 (*.f64 (pow.f64 im 2) -1/2))) 1)
(*.f64 (cos.f64 re) (-.f64 -1 (*.f64 (pow.f64 im 2) -1/2)))
(/.f64 (/.f64 (*.f64 (cos.f64 re) (+.f64 -2 (pow.f64 im 2))) -2) -1)
(/.f64 (*.f64 (cos.f64 re) (+.f64 (pow.f64 im 2) -2)) 2)
(*.f64 (*.f64 (cos.f64 re) (+.f64 (pow.f64 im 2) -2)) 1/2)
(/.f64 (*.f64 (cos.f64 re) (+.f64 -2 (pow.f64 im 2))) 2)
(/.f64 (*.f64 (cos.f64 re) (+.f64 (pow.f64 im 2) -2)) 2)
(*.f64 (*.f64 (cos.f64 re) (+.f64 (pow.f64 im 2) -2)) 1/2)
(/.f64 (*.f64 (*.f64 2 (cos.f64 re)) (+.f64 -2 (pow.f64 im 2))) 4)
(/.f64 (*.f64 (cos.f64 re) (+.f64 (pow.f64 im 2) -2)) 2)
(*.f64 (*.f64 (cos.f64 re) (+.f64 (pow.f64 im 2) -2)) 1/2)
(/.f64 (*.f64 (*.f64 (cos.f64 re) (+.f64 -2 (pow.f64 im 2))) 4) 8)
(/.f64 (*.f64 (cos.f64 re) (+.f64 (pow.f64 im 2) -2)) 2)
(*.f64 (*.f64 (cos.f64 re) (+.f64 (pow.f64 im 2) -2)) 1/2)
(/.f64 (*.f64 (*.f64 2 (+.f64 -2 (pow.f64 im 2))) (+.f64 (cos.f64 re) (cos.f64 (neg.f64 re)))) 8)
(/.f64 (*.f64 (+.f64 (cos.f64 re) (cos.f64 (neg.f64 re))) (*.f64 2 (+.f64 (pow.f64 im 2) -2))) 8)
(/.f64 (*.f64 (+.f64 (pow.f64 im 2) -2) (*.f64 (*.f64 (cos.f64 re) 2) 2)) 8)
(/.f64 (*.f64 (+.f64 -2 (pow.f64 im 2)) (+.f64 (cos.f64 re) (cos.f64 (neg.f64 re)))) 4)
(/.f64 (*.f64 (+.f64 (cos.f64 re) (cos.f64 (neg.f64 re))) (+.f64 (pow.f64 im 2) -2)) 4)
(/.f64 (*.f64 (*.f64 2 (+.f64 -2 (pow.f64 im 2))) (*.f64 (cos.f64 re) 4)) 16)
(/.f64 (*.f64 (cos.f64 re) (+.f64 (pow.f64 im 2) -2)) 2)
(*.f64 (*.f64 (cos.f64 re) (+.f64 (pow.f64 im 2) -2)) 1/2)
(/.f64 (/.f64 (*.f64 (*.f64 2 (+.f64 -2 (pow.f64 im 2))) (+.f64 (cos.f64 re) (cos.f64 (neg.f64 re)))) 2) 4)
(/.f64 (*.f64 (+.f64 (cos.f64 re) (cos.f64 (neg.f64 re))) (*.f64 2 (+.f64 (pow.f64 im 2) -2))) 8)
(/.f64 (*.f64 (+.f64 (pow.f64 im 2) -2) (*.f64 (*.f64 (cos.f64 re) 2) 2)) 8)
(pow.f64 (*.f64 (cos.f64 re) (-.f64 -1 (*.f64 (pow.f64 im 2) -1/2))) 1)
(*.f64 (cos.f64 re) (-.f64 -1 (*.f64 (pow.f64 im 2) -1/2)))
(neg.f64 (/.f64 (*.f64 (cos.f64 re) (+.f64 -2 (pow.f64 im 2))) -2))
(/.f64 (*.f64 (cos.f64 re) (+.f64 (pow.f64 im 2) -2)) 2)
(*.f64 (*.f64 (cos.f64 re) (+.f64 (pow.f64 im 2) -2)) 1/2)

localize4.0ms (0%)

Compiler

Compiled 7 to 7 computations (0% saved)

localize8.0ms (0.1%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.0b
(pow.f64 im 2)
0.0b
(*.f64 (pow.f64 im 2) 1/2)
Compiler

Compiled 21 to 17 computations (19% saved)

series1.0ms (0%)

Counts
1 → 12
Calls

3 calls:

TimeVariablePointExpression
0.0ms
im
@inf
(*.f64 (pow.f64 im 2) 1/2)
0.0ms
im
@0
(*.f64 (pow.f64 im 2) 1/2)
0.0ms
im
@-inf
(*.f64 (pow.f64 im 2) 1/2)

rewrite151.0ms (1.4%)

Algorithm
batch-egg-rewrite
Rules
932×rational_best-simplify-51
920×rational_best-simplify-1
792×rational_best-simplify-47
774×rational_best-simplify-83
694×rational_best-simplify-57
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0713
14513
28013
316613
443313
5162313
6771913
Stop Event
node limit
Counts
1 → 30
Calls
Call 1
Inputs
(*.f64 (pow.f64 im 2) 1/2)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (pow.f64 im 2) 1/2) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (pow.f64 im 2) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (pow.f64 im 2) 1/4) (*.f64 (pow.f64 im 2) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (pow.f64 im 2) 8) (/.f64 (*.f64 (pow.f64 im 2) 3) 8))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (*.f64 (pow.f64 im 2) 3) 16) (+.f64 (/.f64 (pow.f64 im 2) 16) (*.f64 (pow.f64 im 2) 1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (*.f64 (pow.f64 im 2) 3) 8) (/.f64 (pow.f64 im 2) 8))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (*.f64 (pow.f64 im 2) 1/4) (/.f64 (pow.f64 im 2) -8)) (neg.f64 (/.f64 (pow.f64 im 2) -8)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (pow.f64 im 2) 1/2) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (pow.f64 im 2) 1/2) (+.f64 (/.f64 (pow.f64 im 2) -4) (*.f64 (pow.f64 im 2) 1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (*.f64 (pow.f64 im 2) -1/2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (pow.f64 im 2) 1/4) (/.f64 (pow.f64 im 2) -4))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (pow.f64 im 2) 8) (*.f64 (/.f64 (pow.f64 im 2) 8) -3))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (*.f64 (pow.f64 im 2) 3) 8) (/.f64 (pow.f64 im 2) -8))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (/.f64 (pow.f64 im 2) 8) (/.f64 (*.f64 (pow.f64 im 2) 3) 16)) (-.f64 (/.f64 (pow.f64 im 2) -16) (/.f64 (pow.f64 im 2) 8)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (/.f64 (pow.f64 im 2) 8) (/.f64 (pow.f64 im 2) 16)) (-.f64 (/.f64 (*.f64 (pow.f64 im 2) -3/2) 8) (/.f64 (pow.f64 im 2) 8)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (pow.f64 im 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 im 2) 1/2) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (pow.f64 im 2)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (pow.f64 im 2)) -2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 im 2) -1/2) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 im 2) 4) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 im 2) 1/4) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 im 2) -2) -4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 im 2) 8) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (pow.f64 im 2) -4) -1/2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 im 2) -4) -8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 im 2) 16) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 (pow.f64 im 2) -4) -1) 8)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (pow.f64 im 2) 1/2) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (*.f64 (pow.f64 im 2) -1/2))))))

simplify55.0ms (0.5%)

Algorithm
egg-herbie
Rules
786×rational_best-simplify-47
742×rational_best-simplify-51
626×rational_best-simplify-67
614×rational_best-simplify-57
602×rational_best-simplify-49
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
084570
1193564
2419564
31271552
Stop Event
node limit
Counts
42 → 34
Calls
Call 1
Inputs
(*.f64 1/2 (pow.f64 im 2))
(*.f64 1/2 (pow.f64 im 2))
(*.f64 1/2 (pow.f64 im 2))
(*.f64 1/2 (pow.f64 im 2))
(*.f64 1/2 (pow.f64 im 2))
(*.f64 1/2 (pow.f64 im 2))
(*.f64 1/2 (pow.f64 im 2))
(*.f64 1/2 (pow.f64 im 2))
(*.f64 1/2 (pow.f64 im 2))
(*.f64 1/2 (pow.f64 im 2))
(*.f64 1/2 (pow.f64 im 2))
(*.f64 1/2 (pow.f64 im 2))
(+.f64 (*.f64 (pow.f64 im 2) 1/2) 0)
(+.f64 0 (*.f64 (pow.f64 im 2) 1/2))
(+.f64 (*.f64 (pow.f64 im 2) 1/4) (*.f64 (pow.f64 im 2) 1/4))
(+.f64 (/.f64 (pow.f64 im 2) 8) (/.f64 (*.f64 (pow.f64 im 2) 3) 8))
(+.f64 (/.f64 (*.f64 (pow.f64 im 2) 3) 16) (+.f64 (/.f64 (pow.f64 im 2) 16) (*.f64 (pow.f64 im 2) 1/4)))
(+.f64 (/.f64 (*.f64 (pow.f64 im 2) 3) 8) (/.f64 (pow.f64 im 2) 8))
(+.f64 (-.f64 (*.f64 (pow.f64 im 2) 1/4) (/.f64 (pow.f64 im 2) -8)) (neg.f64 (/.f64 (pow.f64 im 2) -8)))
(-.f64 (*.f64 (pow.f64 im 2) 1/2) 0)
(-.f64 (*.f64 (pow.f64 im 2) 1/2) (+.f64 (/.f64 (pow.f64 im 2) -4) (*.f64 (pow.f64 im 2) 1/4)))
(-.f64 0 (*.f64 (pow.f64 im 2) -1/2))
(-.f64 (*.f64 (pow.f64 im 2) 1/4) (/.f64 (pow.f64 im 2) -4))
(-.f64 (/.f64 (pow.f64 im 2) 8) (*.f64 (/.f64 (pow.f64 im 2) 8) -3))
(-.f64 (/.f64 (*.f64 (pow.f64 im 2) 3) 8) (/.f64 (pow.f64 im 2) -8))
(-.f64 (+.f64 (/.f64 (pow.f64 im 2) 8) (/.f64 (*.f64 (pow.f64 im 2) 3) 16)) (-.f64 (/.f64 (pow.f64 im 2) -16) (/.f64 (pow.f64 im 2) 8)))
(-.f64 (+.f64 (/.f64 (pow.f64 im 2) 8) (/.f64 (pow.f64 im 2) 16)) (-.f64 (/.f64 (*.f64 (pow.f64 im 2) -3/2) 8) (/.f64 (pow.f64 im 2) 8)))
(/.f64 (pow.f64 im 2) 2)
(/.f64 (*.f64 (pow.f64 im 2) 1/2) 1)
(/.f64 (*.f64 2 (pow.f64 im 2)) 4)
(/.f64 (neg.f64 (pow.f64 im 2)) -2)
(/.f64 (*.f64 (pow.f64 im 2) -1/2) -1)
(/.f64 (*.f64 (pow.f64 im 2) 4) 8)
(/.f64 (*.f64 (pow.f64 im 2) 1/4) 1/2)
(/.f64 (*.f64 (pow.f64 im 2) -2) -4)
(/.f64 (*.f64 (pow.f64 im 2) 8) 16)
(/.f64 (/.f64 (pow.f64 im 2) -4) -1/2)
(/.f64 (*.f64 (pow.f64 im 2) -4) -8)
(/.f64 (*.f64 (pow.f64 im 2) 16) 32)
(/.f64 (/.f64 (*.f64 (pow.f64 im 2) -4) -1) 8)
(pow.f64 (*.f64 (pow.f64 im 2) 1/2) 1)
(neg.f64 (*.f64 (pow.f64 im 2) -1/2))
Outputs
(*.f64 1/2 (pow.f64 im 2))
(*.f64 1/2 (pow.f64 im 2))
(*.f64 1/2 (pow.f64 im 2))
(*.f64 1/2 (pow.f64 im 2))
(*.f64 1/2 (pow.f64 im 2))
(*.f64 1/2 (pow.f64 im 2))
(*.f64 1/2 (pow.f64 im 2))
(*.f64 1/2 (pow.f64 im 2))
(*.f64 1/2 (pow.f64 im 2))
(*.f64 1/2 (pow.f64 im 2))
(*.f64 1/2 (pow.f64 im 2))
(*.f64 1/2 (pow.f64 im 2))
(+.f64 (*.f64 (pow.f64 im 2) 1/2) 0)
(*.f64 1/2 (pow.f64 im 2))
(+.f64 0 (*.f64 (pow.f64 im 2) 1/2))
(*.f64 1/2 (pow.f64 im 2))
(+.f64 (*.f64 (pow.f64 im 2) 1/4) (*.f64 (pow.f64 im 2) 1/4))
(*.f64 1/2 (pow.f64 im 2))
(+.f64 (/.f64 (pow.f64 im 2) 8) (/.f64 (*.f64 (pow.f64 im 2) 3) 8))
(*.f64 1/2 (pow.f64 im 2))
(+.f64 (/.f64 (*.f64 (pow.f64 im 2) 3) 16) (+.f64 (/.f64 (pow.f64 im 2) 16) (*.f64 (pow.f64 im 2) 1/4)))
(*.f64 1/2 (pow.f64 im 2))
(+.f64 (/.f64 (*.f64 (pow.f64 im 2) 3) 8) (/.f64 (pow.f64 im 2) 8))
(*.f64 1/2 (pow.f64 im 2))
(+.f64 (-.f64 (*.f64 (pow.f64 im 2) 1/4) (/.f64 (pow.f64 im 2) -8)) (neg.f64 (/.f64 (pow.f64 im 2) -8)))
(*.f64 1/2 (pow.f64 im 2))
(-.f64 (*.f64 (pow.f64 im 2) 1/2) 0)
(*.f64 1/2 (pow.f64 im 2))
(-.f64 (*.f64 (pow.f64 im 2) 1/2) (+.f64 (/.f64 (pow.f64 im 2) -4) (*.f64 (pow.f64 im 2) 1/4)))
(*.f64 1/2 (pow.f64 im 2))
(-.f64 0 (*.f64 (pow.f64 im 2) -1/2))
(*.f64 1/2 (pow.f64 im 2))
(-.f64 (*.f64 (pow.f64 im 2) 1/4) (/.f64 (pow.f64 im 2) -4))
(*.f64 1/2 (pow.f64 im 2))
(-.f64 (/.f64 (pow.f64 im 2) 8) (*.f64 (/.f64 (pow.f64 im 2) 8) -3))
(-.f64 (/.f64 (pow.f64 im 2) 8) (*.f64 (pow.f64 im 2) -3/8))
(-.f64 (*.f64 (pow.f64 im 2) 1/8) (*.f64 (pow.f64 im 2) -3/8))
(*.f64 (/.f64 (pow.f64 im 2) -8) -4)
(-.f64 (/.f64 (*.f64 (pow.f64 im 2) 3) 8) (/.f64 (pow.f64 im 2) -8))
(*.f64 1/2 (pow.f64 im 2))
(-.f64 (+.f64 (/.f64 (pow.f64 im 2) 8) (/.f64 (*.f64 (pow.f64 im 2) 3) 16)) (-.f64 (/.f64 (pow.f64 im 2) -16) (/.f64 (pow.f64 im 2) 8)))
(*.f64 1/2 (pow.f64 im 2))
(-.f64 (+.f64 (/.f64 (pow.f64 im 2) 8) (/.f64 (pow.f64 im 2) 16)) (-.f64 (/.f64 (*.f64 (pow.f64 im 2) -3/2) 8) (/.f64 (pow.f64 im 2) 8)))
(*.f64 1/2 (pow.f64 im 2))
(/.f64 (pow.f64 im 2) 2)
(*.f64 1/2 (pow.f64 im 2))
(/.f64 (*.f64 (pow.f64 im 2) 1/2) 1)
(*.f64 1/2 (pow.f64 im 2))
(/.f64 (*.f64 2 (pow.f64 im 2)) 4)
(*.f64 1/2 (pow.f64 im 2))
(/.f64 (neg.f64 (pow.f64 im 2)) -2)
(*.f64 1/2 (pow.f64 im 2))
(/.f64 (*.f64 (pow.f64 im 2) -1/2) -1)
(*.f64 1/2 (pow.f64 im 2))
(/.f64 (*.f64 (pow.f64 im 2) 4) 8)
(*.f64 1/2 (pow.f64 im 2))
(/.f64 (*.f64 (pow.f64 im 2) 1/4) 1/2)
(*.f64 1/2 (pow.f64 im 2))
(/.f64 (*.f64 (pow.f64 im 2) -2) -4)
(*.f64 1/2 (pow.f64 im 2))
(/.f64 (*.f64 (pow.f64 im 2) 8) 16)
(*.f64 1/2 (pow.f64 im 2))
(/.f64 (/.f64 (pow.f64 im 2) -4) -1/2)
(*.f64 1/2 (pow.f64 im 2))
(/.f64 (*.f64 (pow.f64 im 2) -4) -8)
(*.f64 1/2 (pow.f64 im 2))
(/.f64 (*.f64 (pow.f64 im 2) 16) 32)
(*.f64 1/2 (pow.f64 im 2))
(/.f64 (/.f64 (*.f64 (pow.f64 im 2) -4) -1) 8)
(*.f64 1/2 (pow.f64 im 2))
(pow.f64 (*.f64 (pow.f64 im 2) 1/2) 1)
(*.f64 1/2 (pow.f64 im 2))
(neg.f64 (*.f64 (pow.f64 im 2) -1/2))
(*.f64 1/2 (pow.f64 im 2))

localize9.0ms (0.1%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.0b
(pow.f64 im 2)
0.1b
(*.f64 (pow.f64 im 2) (*.f64 1/2 (cos.f64 re)))
Compiler

Compiled 23 to 14 computations (39.1% saved)

series1.0ms (0%)

Counts
1 → 24
Calls

6 calls:

TimeVariablePointExpression
0.0ms
im
@0
(*.f64 (pow.f64 im 2) (*.f64 1/2 (cos.f64 re)))
0.0ms
re
@0
(*.f64 (pow.f64 im 2) (*.f64 1/2 (cos.f64 re)))
0.0ms
im
@inf
(*.f64 (pow.f64 im 2) (*.f64 1/2 (cos.f64 re)))
0.0ms
im
@-inf
(*.f64 (pow.f64 im 2) (*.f64 1/2 (cos.f64 re)))
0.0ms
re
@inf
(*.f64 (pow.f64 im 2) (*.f64 1/2 (cos.f64 re)))

rewrite185.0ms (1.8%)

Algorithm
batch-egg-rewrite
Rules
1928×rational_best-1
1926×rational_best-2
1926×rational_best-3
1912×rational_best-4
582×rational_best-simplify-63
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01123
17223
213823
336123
4123823
5551823
Stop Event
node limit
Counts
1 → 25
Calls
Call 1
Inputs
(*.f64 (pow.f64 im 2) (*.f64 1/2 (cos.f64 re)))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (pow.f64 im 2) (*.f64 1/2 (cos.f64 re))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (pow.f64 im 2) (*.f64 1/2 (cos.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (cos.f64 re) (/.f64 (pow.f64 im 2) 4)) (*.f64 (cos.f64 re) (/.f64 (pow.f64 im 2) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (*.f64 (pow.f64 im 2) (cos.f64 re)) 8) (+.f64 (/.f64 (*.f64 (pow.f64 im 2) (cos.f64 re)) 8) (*.f64 (cos.f64 re) (/.f64 (pow.f64 im 2) 4))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (*.f64 (pow.f64 im 2) (cos.f64 re)) 8) (/.f64 (/.f64 (*.f64 (pow.f64 im 2) (*.f64 (cos.f64 re) 3/2)) 2) 2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (*.f64 (pow.f64 im 2) (cos.f64 re)) 8) (/.f64 (*.f64 (pow.f64 im 2) (*.f64 (cos.f64 re) 3/2)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (pow.f64 im 2) (*.f64 1/2 (cos.f64 re))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (cos.f64 re) (/.f64 (pow.f64 im 2) 4)) (neg.f64 (*.f64 (cos.f64 re) (/.f64 (pow.f64 im 2) 4))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (/.f64 (*.f64 (pow.f64 im 2) (cos.f64 re)) 8) (*.f64 (cos.f64 re) (/.f64 (pow.f64 im 2) 4))) (-.f64 0 (/.f64 (*.f64 (pow.f64 im 2) (cos.f64 re)) 8)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (/.f64 (*.f64 (pow.f64 im 2) (*.f64 (cos.f64 re) 3/2)) 2) 2) (/.f64 (neg.f64 (*.f64 (cos.f64 re) (/.f64 (pow.f64 im 2) 4))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (*.f64 (pow.f64 im 2) (*.f64 (cos.f64 re) 3/2)) 4) (/.f64 (/.f64 (*.f64 (pow.f64 im 2) (cos.f64 re)) -2) 4))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 im 2) (*.f64 1/2 (cos.f64 re))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 im 2) (cos.f64 re)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 im 2) (*.f64 (cos.f64 re) 4)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cos.f64 re) (*.f64 2 (pow.f64 im 2))) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 (pow.f64 im 2) 4) (*.f64 (cos.f64 re) 4)) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (pow.f64 im 2) (*.f64 (cos.f64 re) 4))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 (*.f64 (pow.f64 im 2) 4) (*.f64 (cos.f64 re) 4)) 2) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 (pow.f64 im 2) (*.f64 (cos.f64 re) 4))) (*.f64 2 (*.f64 (pow.f64 im 2) (*.f64 (cos.f64 re) 4)))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 2 (*.f64 (pow.f64 im 2) 4)) (*.f64 (cos.f64 re) 4)) 64)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 (pow.f64 im 2) 4) (*.f64 2 (*.f64 (cos.f64 re) 4))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 (cos.f64 re) 4) (*.f64 2 (*.f64 (pow.f64 im 2) 4))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 2 (*.f64 (cos.f64 re) 4)) (*.f64 (pow.f64 im 2) 4)) 64)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 im 2) (*.f64 2 (*.f64 (cos.f64 re) 4))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (pow.f64 im 2) (*.f64 1/2 (cos.f64 re))) 1)))))

simplify177.0ms (1.7%)

Algorithm
egg-herbie
Rules
1334×rational_best-simplify-1
1002×rational_best-simplify-3
866×rational_best-simplify-55
654×rational_best-simplify-63
636×rational_best-simplify-62
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
0961249
12361249
25421213
314041213
457681205
Stop Event
node limit
Counts
49 → 42
Calls
Call 1
Inputs
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (pow.f64 im 2))
(+.f64 (*.f64 1/2 (pow.f64 im 2)) (*.f64 -1/4 (*.f64 (pow.f64 re 2) (pow.f64 im 2))))
(+.f64 (*.f64 1/2 (pow.f64 im 2)) (+.f64 (*.f64 1/48 (*.f64 (pow.f64 re 4) (pow.f64 im 2))) (*.f64 -1/4 (*.f64 (pow.f64 re 2) (pow.f64 im 2)))))
(+.f64 (*.f64 -1/1440 (*.f64 (pow.f64 re 6) (pow.f64 im 2))) (+.f64 (*.f64 1/2 (pow.f64 im 2)) (+.f64 (*.f64 1/48 (*.f64 (pow.f64 re 4) (pow.f64 im 2))) (*.f64 -1/4 (*.f64 (pow.f64 re 2) (pow.f64 im 2))))))
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(+.f64 (*.f64 (pow.f64 im 2) (*.f64 1/2 (cos.f64 re))) 0)
(+.f64 0 (*.f64 (pow.f64 im 2) (*.f64 1/2 (cos.f64 re))))
(+.f64 (*.f64 (cos.f64 re) (/.f64 (pow.f64 im 2) 4)) (*.f64 (cos.f64 re) (/.f64 (pow.f64 im 2) 4)))
(+.f64 (/.f64 (*.f64 (pow.f64 im 2) (cos.f64 re)) 8) (+.f64 (/.f64 (*.f64 (pow.f64 im 2) (cos.f64 re)) 8) (*.f64 (cos.f64 re) (/.f64 (pow.f64 im 2) 4))))
(+.f64 (/.f64 (*.f64 (pow.f64 im 2) (cos.f64 re)) 8) (/.f64 (/.f64 (*.f64 (pow.f64 im 2) (*.f64 (cos.f64 re) 3/2)) 2) 2))
(+.f64 (/.f64 (*.f64 (pow.f64 im 2) (cos.f64 re)) 8) (/.f64 (*.f64 (pow.f64 im 2) (*.f64 (cos.f64 re) 3/2)) 4))
(-.f64 (*.f64 (pow.f64 im 2) (*.f64 1/2 (cos.f64 re))) 0)
(-.f64 (*.f64 (cos.f64 re) (/.f64 (pow.f64 im 2) 4)) (neg.f64 (*.f64 (cos.f64 re) (/.f64 (pow.f64 im 2) 4))))
(-.f64 (+.f64 (/.f64 (*.f64 (pow.f64 im 2) (cos.f64 re)) 8) (*.f64 (cos.f64 re) (/.f64 (pow.f64 im 2) 4))) (-.f64 0 (/.f64 (*.f64 (pow.f64 im 2) (cos.f64 re)) 8)))
(-.f64 (/.f64 (/.f64 (*.f64 (pow.f64 im 2) (*.f64 (cos.f64 re) 3/2)) 2) 2) (/.f64 (neg.f64 (*.f64 (cos.f64 re) (/.f64 (pow.f64 im 2) 4))) 2))
(-.f64 (/.f64 (*.f64 (pow.f64 im 2) (*.f64 (cos.f64 re) 3/2)) 4) (/.f64 (/.f64 (*.f64 (pow.f64 im 2) (cos.f64 re)) -2) 4))
(/.f64 (*.f64 (pow.f64 im 2) (*.f64 1/2 (cos.f64 re))) 1)
(/.f64 (*.f64 (pow.f64 im 2) (cos.f64 re)) 2)
(/.f64 (*.f64 (pow.f64 im 2) (*.f64 (cos.f64 re) 4)) 8)
(/.f64 (*.f64 (cos.f64 re) (*.f64 2 (pow.f64 im 2))) 4)
(/.f64 (*.f64 (*.f64 (pow.f64 im 2) 4) (*.f64 (cos.f64 re) 4)) 32)
(/.f64 (*.f64 2 (*.f64 (pow.f64 im 2) (*.f64 (cos.f64 re) 4))) 16)
(/.f64 (/.f64 (*.f64 (*.f64 (pow.f64 im 2) 4) (*.f64 (cos.f64 re) 4)) 2) 16)
(/.f64 (+.f64 (*.f64 2 (*.f64 (pow.f64 im 2) (*.f64 (cos.f64 re) 4))) (*.f64 2 (*.f64 (pow.f64 im 2) (*.f64 (cos.f64 re) 4)))) 32)
(/.f64 (*.f64 (*.f64 2 (*.f64 (pow.f64 im 2) 4)) (*.f64 (cos.f64 re) 4)) 64)
(/.f64 (*.f64 (*.f64 (pow.f64 im 2) 4) (*.f64 2 (*.f64 (cos.f64 re) 4))) 64)
(/.f64 (*.f64 (*.f64 (cos.f64 re) 4) (*.f64 2 (*.f64 (pow.f64 im 2) 4))) 64)
(/.f64 (*.f64 (*.f64 2 (*.f64 (cos.f64 re) 4)) (*.f64 (pow.f64 im 2) 4)) 64)
(/.f64 (*.f64 (pow.f64 im 2) (*.f64 2 (*.f64 (cos.f64 re) 4))) 16)
(pow.f64 (*.f64 (pow.f64 im 2) (*.f64 1/2 (cos.f64 re))) 1)
Outputs
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(*.f64 (pow.f64 im 2) (*.f64 1/2 (cos.f64 re)))
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(*.f64 (pow.f64 im 2) (*.f64 1/2 (cos.f64 re)))
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(*.f64 (pow.f64 im 2) (*.f64 1/2 (cos.f64 re)))
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(*.f64 (pow.f64 im 2) (*.f64 1/2 (cos.f64 re)))
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(*.f64 (pow.f64 im 2) (*.f64 1/2 (cos.f64 re)))
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(*.f64 (pow.f64 im 2) (*.f64 1/2 (cos.f64 re)))
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(*.f64 (pow.f64 im 2) (*.f64 1/2 (cos.f64 re)))
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(*.f64 (pow.f64 im 2) (*.f64 1/2 (cos.f64 re)))
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(*.f64 (pow.f64 im 2) (*.f64 1/2 (cos.f64 re)))
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(*.f64 (pow.f64 im 2) (*.f64 1/2 (cos.f64 re)))
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(*.f64 (pow.f64 im 2) (*.f64 1/2 (cos.f64 re)))
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(*.f64 (pow.f64 im 2) (*.f64 1/2 (cos.f64 re)))
(*.f64 1/2 (pow.f64 im 2))
(+.f64 (*.f64 1/2 (pow.f64 im 2)) (*.f64 -1/4 (*.f64 (pow.f64 re 2) (pow.f64 im 2))))
(+.f64 (*.f64 1/2 (pow.f64 im 2)) (*.f64 -1/4 (pow.f64 (*.f64 re im) 2)))
(*.f64 (pow.f64 im 2) (+.f64 1/2 (*.f64 -1/4 (pow.f64 re 2))))
(+.f64 (*.f64 1/2 (pow.f64 im 2)) (+.f64 (*.f64 1/48 (*.f64 (pow.f64 re 4) (pow.f64 im 2))) (*.f64 -1/4 (*.f64 (pow.f64 re 2) (pow.f64 im 2)))))
(+.f64 (*.f64 1/2 (pow.f64 im 2)) (+.f64 (*.f64 -1/4 (pow.f64 (*.f64 re im) 2)) (*.f64 (pow.f64 im 2) (*.f64 (pow.f64 re 4) 1/48))))
(+.f64 (*.f64 1/2 (pow.f64 im 2)) (+.f64 (*.f64 -1/4 (pow.f64 (*.f64 re im) 2)) (*.f64 (pow.f64 re 4) (*.f64 (pow.f64 im 2) 1/48))))
(+.f64 (*.f64 -1/4 (pow.f64 (*.f64 re im) 2)) (*.f64 (pow.f64 im 2) (+.f64 1/2 (*.f64 1/48 (pow.f64 re 4)))))
(*.f64 (pow.f64 im 2) (-.f64 (+.f64 (*.f64 1/48 (pow.f64 re 4)) (*.f64 -1/4 (pow.f64 re 2))) -1/2))
(+.f64 (*.f64 -1/1440 (*.f64 (pow.f64 re 6) (pow.f64 im 2))) (+.f64 (*.f64 1/2 (pow.f64 im 2)) (+.f64 (*.f64 1/48 (*.f64 (pow.f64 re 4) (pow.f64 im 2))) (*.f64 -1/4 (*.f64 (pow.f64 re 2) (pow.f64 im 2))))))
(+.f64 (+.f64 (*.f64 -1/4 (pow.f64 (*.f64 re im) 2)) (*.f64 (pow.f64 im 2) (*.f64 (pow.f64 re 4) 1/48))) (+.f64 (*.f64 1/2 (pow.f64 im 2)) (*.f64 (pow.f64 im 2) (*.f64 (pow.f64 re 6) -1/1440))))
(+.f64 (+.f64 (*.f64 1/2 (pow.f64 im 2)) (+.f64 (*.f64 -1/4 (pow.f64 (*.f64 re im) 2)) (*.f64 (pow.f64 re 4) (*.f64 (pow.f64 im 2) 1/48)))) (*.f64 (pow.f64 im 2) (*.f64 -1/1440 (pow.f64 re 6))))
(+.f64 (*.f64 (pow.f64 im 2) (+.f64 (*.f64 -1/4 (pow.f64 re 2)) (*.f64 1/48 (pow.f64 re 4)))) (*.f64 (pow.f64 im 2) (+.f64 1/2 (*.f64 -1/1440 (pow.f64 re 6)))))
(+.f64 (*.f64 (pow.f64 im 2) (+.f64 1/2 (*.f64 -1/4 (pow.f64 re 2)))) (*.f64 (pow.f64 im 2) (+.f64 (*.f64 1/48 (pow.f64 re 4)) (*.f64 -1/1440 (pow.f64 re 6)))))
(+.f64 (*.f64 -1/4 (pow.f64 (*.f64 re im) 2)) (*.f64 (pow.f64 im 2) (-.f64 (+.f64 1/2 (*.f64 -1/1440 (pow.f64 re 6))) (neg.f64 (*.f64 1/48 (pow.f64 re 4))))))
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(*.f64 (pow.f64 im 2) (*.f64 1/2 (cos.f64 re)))
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(*.f64 (pow.f64 im 2) (*.f64 1/2 (cos.f64 re)))
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(*.f64 (pow.f64 im 2) (*.f64 1/2 (cos.f64 re)))
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(*.f64 (pow.f64 im 2) (*.f64 1/2 (cos.f64 re)))
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(*.f64 (pow.f64 im 2) (*.f64 1/2 (cos.f64 re)))
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(*.f64 (pow.f64 im 2) (*.f64 1/2 (cos.f64 re)))
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(*.f64 (pow.f64 im 2) (*.f64 1/2 (cos.f64 re)))
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(*.f64 (pow.f64 im 2) (*.f64 1/2 (cos.f64 re)))
(+.f64 (*.f64 (pow.f64 im 2) (*.f64 1/2 (cos.f64 re))) 0)
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(*.f64 (pow.f64 im 2) (*.f64 1/2 (cos.f64 re)))
(+.f64 0 (*.f64 (pow.f64 im 2) (*.f64 1/2 (cos.f64 re))))
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(*.f64 (pow.f64 im 2) (*.f64 1/2 (cos.f64 re)))
(+.f64 (*.f64 (cos.f64 re) (/.f64 (pow.f64 im 2) 4)) (*.f64 (cos.f64 re) (/.f64 (pow.f64 im 2) 4)))
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(*.f64 (pow.f64 im 2) (*.f64 1/2 (cos.f64 re)))
(+.f64 (/.f64 (*.f64 (pow.f64 im 2) (cos.f64 re)) 8) (+.f64 (/.f64 (*.f64 (pow.f64 im 2) (cos.f64 re)) 8) (*.f64 (cos.f64 re) (/.f64 (pow.f64 im 2) 4))))
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(*.f64 (pow.f64 im 2) (*.f64 1/2 (cos.f64 re)))
(+.f64 (/.f64 (*.f64 (pow.f64 im 2) (cos.f64 re)) 8) (/.f64 (/.f64 (*.f64 (pow.f64 im 2) (*.f64 (cos.f64 re) 3/2)) 2) 2))
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(*.f64 (pow.f64 im 2) (*.f64 1/2 (cos.f64 re)))
(+.f64 (/.f64 (*.f64 (pow.f64 im 2) (cos.f64 re)) 8) (/.f64 (*.f64 (pow.f64 im 2) (*.f64 (cos.f64 re) 3/2)) 4))
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(*.f64 (pow.f64 im 2) (*.f64 1/2 (cos.f64 re)))
(-.f64 (*.f64 (pow.f64 im 2) (*.f64 1/2 (cos.f64 re))) 0)
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(*.f64 (pow.f64 im 2) (*.f64 1/2 (cos.f64 re)))
(-.f64 (*.f64 (cos.f64 re) (/.f64 (pow.f64 im 2) 4)) (neg.f64 (*.f64 (cos.f64 re) (/.f64 (pow.f64 im 2) 4))))
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(*.f64 (pow.f64 im 2) (*.f64 1/2 (cos.f64 re)))
(-.f64 (+.f64 (/.f64 (*.f64 (pow.f64 im 2) (cos.f64 re)) 8) (*.f64 (cos.f64 re) (/.f64 (pow.f64 im 2) 4))) (-.f64 0 (/.f64 (*.f64 (pow.f64 im 2) (cos.f64 re)) 8)))
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(*.f64 (pow.f64 im 2) (*.f64 1/2 (cos.f64 re)))
(-.f64 (/.f64 (/.f64 (*.f64 (pow.f64 im 2) (*.f64 (cos.f64 re) 3/2)) 2) 2) (/.f64 (neg.f64 (*.f64 (cos.f64 re) (/.f64 (pow.f64 im 2) 4))) 2))
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(*.f64 (pow.f64 im 2) (*.f64 1/2 (cos.f64 re)))
(-.f64 (/.f64 (*.f64 (pow.f64 im 2) (*.f64 (cos.f64 re) 3/2)) 4) (/.f64 (/.f64 (*.f64 (pow.f64 im 2) (cos.f64 re)) -2) 4))
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(*.f64 (pow.f64 im 2) (*.f64 1/2 (cos.f64 re)))
(/.f64 (*.f64 (pow.f64 im 2) (*.f64 1/2 (cos.f64 re))) 1)
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(*.f64 (pow.f64 im 2) (*.f64 1/2 (cos.f64 re)))
(/.f64 (*.f64 (pow.f64 im 2) (cos.f64 re)) 2)
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(*.f64 (pow.f64 im 2) (*.f64 1/2 (cos.f64 re)))
(/.f64 (*.f64 (pow.f64 im 2) (*.f64 (cos.f64 re) 4)) 8)
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(*.f64 (pow.f64 im 2) (*.f64 1/2 (cos.f64 re)))
(/.f64 (*.f64 (cos.f64 re) (*.f64 2 (pow.f64 im 2))) 4)
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(*.f64 (pow.f64 im 2) (*.f64 1/2 (cos.f64 re)))
(/.f64 (*.f64 (*.f64 (pow.f64 im 2) 4) (*.f64 (cos.f64 re) 4)) 32)
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(*.f64 (pow.f64 im 2) (*.f64 1/2 (cos.f64 re)))
(/.f64 (*.f64 2 (*.f64 (pow.f64 im 2) (*.f64 (cos.f64 re) 4))) 16)
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(*.f64 (pow.f64 im 2) (*.f64 1/2 (cos.f64 re)))
(/.f64 (/.f64 (*.f64 (*.f64 (pow.f64 im 2) 4) (*.f64 (cos.f64 re) 4)) 2) 16)
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(*.f64 (pow.f64 im 2) (*.f64 1/2 (cos.f64 re)))
(/.f64 (+.f64 (*.f64 2 (*.f64 (pow.f64 im 2) (*.f64 (cos.f64 re) 4))) (*.f64 2 (*.f64 (pow.f64 im 2) (*.f64 (cos.f64 re) 4)))) 32)
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(*.f64 (pow.f64 im 2) (*.f64 1/2 (cos.f64 re)))
(/.f64 (*.f64 (*.f64 2 (*.f64 (pow.f64 im 2) 4)) (*.f64 (cos.f64 re) 4)) 64)
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(*.f64 (pow.f64 im 2) (*.f64 1/2 (cos.f64 re)))
(/.f64 (*.f64 (*.f64 (pow.f64 im 2) 4) (*.f64 2 (*.f64 (cos.f64 re) 4))) 64)
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(*.f64 (pow.f64 im 2) (*.f64 1/2 (cos.f64 re)))
(/.f64 (*.f64 (*.f64 (cos.f64 re) 4) (*.f64 2 (*.f64 (pow.f64 im 2) 4))) 64)
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(*.f64 (pow.f64 im 2) (*.f64 1/2 (cos.f64 re)))
(/.f64 (*.f64 (*.f64 2 (*.f64 (cos.f64 re) 4)) (*.f64 (pow.f64 im 2) 4)) 64)
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(*.f64 (pow.f64 im 2) (*.f64 1/2 (cos.f64 re)))
(/.f64 (*.f64 (pow.f64 im 2) (*.f64 2 (*.f64 (cos.f64 re) 4))) 16)
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(*.f64 (pow.f64 im 2) (*.f64 1/2 (cos.f64 re)))
(pow.f64 (*.f64 (pow.f64 im 2) (*.f64 1/2 (cos.f64 re))) 1)
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(*.f64 (pow.f64 im 2) (*.f64 1/2 (cos.f64 re)))

localize12.0ms (0.1%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.0b
(pow.f64 im 2)
0.0b
(*.f64 (pow.f64 im 2) 1/2)
0.0b
(+.f64 (*.f64 (pow.f64 im 2) 1/2) (cos.f64 re))
Compiler

Compiled 24 to 16 computations (33.3% saved)

series1.0ms (0%)

Counts
1 → 24
Calls

6 calls:

TimeVariablePointExpression
0.0ms
re
@0
(+.f64 (*.f64 (pow.f64 im 2) 1/2) (cos.f64 re))
0.0ms
im
@0
(+.f64 (*.f64 (pow.f64 im 2) 1/2) (cos.f64 re))
0.0ms
re
@inf
(+.f64 (*.f64 (pow.f64 im 2) 1/2) (cos.f64 re))
0.0ms
re
@-inf
(+.f64 (*.f64 (pow.f64 im 2) 1/2) (cos.f64 re))
0.0ms
im
@inf
(+.f64 (*.f64 (pow.f64 im 2) 1/2) (cos.f64 re))

rewrite101.0ms (1%)

Algorithm
batch-egg-rewrite
Rules
850×rational_best-simplify-48
772×rational_best-simplify-83
656×rational_best-simplify-47
632×rational_best-simplify-52
538×rational_best-4
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01123
17023
213023
335623
4126523
Stop Event
node limit
Counts
1 → 68
Calls
Call 1
Inputs
(+.f64 (*.f64 (pow.f64 im 2) 1/2) (cos.f64 re))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (pow.f64 im 2) (-.f64 (*.f64 (pow.f64 im 2) 1/2) (cos.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (pow.f64 im 2) (+.f64 (-.f64 (*.f64 (pow.f64 im 2) 1/2) (cos.f64 re)) 0))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (pow.f64 im 2) 1/2) (neg.f64 (cos.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (pow.f64 im 2) 1/2) (+.f64 (-.f64 (*.f64 (pow.f64 im 2) 1/2) (cos.f64 re)) (*.f64 (pow.f64 im 2) -1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) -1/2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (cos.f64 re) (+.f64 (-.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 1/2)) (neg.f64 (cos.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (*.f64 (pow.f64 im 2) 1/2) (cos.f64 re)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (-.f64 (*.f64 (pow.f64 im 2) -1/2) (cos.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (+.f64 (-.f64 (*.f64 (pow.f64 im 2) 1/2) (cos.f64 re)) (neg.f64 (pow.f64 im 2))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (+.f64 (-.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 1/2)) (*.f64 (cos.f64 re) -2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (pow.f64 im 2) (*.f64 2 (cos.f64 re))) (+.f64 (*.f64 (pow.f64 im 2) 1/2) (cos.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 2 (cos.f64 re)) (-.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 2 (cos.f64 re)) (+.f64 (-.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 1/2)) 0))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (*.f64 (cos.f64 re) 1/2) (/.f64 (pow.f64 im 2) 4)) (-.f64 (/.f64 (cos.f64 re) -2) (/.f64 (pow.f64 im 2) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (cos.f64 re) 1/2) (/.f64 (-.f64 (neg.f64 (pow.f64 im 2)) (cos.f64 re)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (cos.f64 re) 1/2) (-.f64 (/.f64 (cos.f64 (neg.f64 re)) 2) (+.f64 (*.f64 (pow.f64 im 2) 1/2) (cos.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (cos.f64 re) 1/2) (+.f64 (/.f64 (cos.f64 re) -2) (*.f64 (pow.f64 im 2) -1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (cos.f64 re) 1/2) (neg.f64 (/.f64 (+.f64 (pow.f64 im 2) (cos.f64 re)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (cos.f64 re) 1/2) (/.f64 (-.f64 0 (+.f64 (pow.f64 im 2) (cos.f64 re))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (pow.f64 im 2) 4) (-.f64 (/.f64 (pow.f64 im 2) -4) (cos.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (pow.f64 im 2) 4) (+.f64 (/.f64 (pow.f64 im 2) -4) (neg.f64 (cos.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (pow.f64 im 2) 4) (neg.f64 (+.f64 (cos.f64 re) (/.f64 (pow.f64 im 2) 4))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (pow.f64 im 2) 4) (/.f64 (-.f64 (-.f64 (*.f64 (pow.f64 im 2) -1/2) (cos.f64 re)) (cos.f64 re)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (+.f64 (pow.f64 im 2) (cos.f64 re)) 2) (/.f64 (cos.f64 re) -2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (cos.f64 re) (/.f64 (pow.f64 im 2) 4)) (/.f64 (pow.f64 im 2) -4))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 3 (/.f64 (pow.f64 im 2) 4)) (+.f64 (-.f64 (*.f64 (pow.f64 im 2) 1/2) (cos.f64 re)) (/.f64 (pow.f64 im 2) -4)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 3 (*.f64 (cos.f64 re) 1/2)) (+.f64 (-.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 1/2)) (/.f64 (cos.f64 re) -2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (cos.f64 (/.f64 re 2)) (cos.f64 (/.f64 re 2))) (+.f64 (*.f64 (pow.f64 im 2) -1/2) (*.f64 (sin.f64 (/.f64 re 2)) (sin.f64 (/.f64 re 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (cos.f64 (/.f64 re 2)) (cos.f64 (/.f64 re 2))) (+.f64 (*.f64 (sin.f64 (/.f64 re 2)) (sin.f64 (/.f64 re 2))) (*.f64 (pow.f64 im 2) -1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (/.f64 (cos.f64 re) 4) (*.f64 (cos.f64 re) 1/2)) (-.f64 (*.f64 (pow.f64 im 2) -1/2) (/.f64 (cos.f64 re) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (/.f64 (pow.f64 im 2) 8) (/.f64 (pow.f64 im 2) 4)) (-.f64 (neg.f64 (cos.f64 re)) (/.f64 (pow.f64 im 2) 8)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (+.f64 (/.f64 (cos.f64 re) 4) (/.f64 (pow.f64 im 2) 8)) (+.f64 (*.f64 (cos.f64 re) 1/2) (/.f64 (pow.f64 im 2) 4))) (-.f64 0 (+.f64 (/.f64 (cos.f64 re) 4) (/.f64 (pow.f64 im 2) 8))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 (*.f64 (pow.f64 im 2) 1/2) (-.f64 (*.f64 (pow.f64 im 2) 1/2) (cos.f64 re))) (*.f64 (pow.f64 im 2) -1/2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 0 (-.f64 (*.f64 (pow.f64 im 2) 1/2) (cos.f64 re))) (neg.f64 (pow.f64 im 2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 (*.f64 3 (/.f64 (pow.f64 im 2) 4)) (-.f64 (*.f64 (pow.f64 im 2) 1/2) (cos.f64 re))) (/.f64 (pow.f64 im 2) -4))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 (*.f64 (cos.f64 (/.f64 re 2)) (cos.f64 (/.f64 re 2))) (*.f64 (pow.f64 im 2) -1/2)) (*.f64 (sin.f64 (/.f64 re 2)) (sin.f64 (/.f64 re 2))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 (cos.f64 re) (-.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 1/2))) (neg.f64 (cos.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 0 (-.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 1/2))) (*.f64 (cos.f64 re) -2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 (*.f64 3 (*.f64 (cos.f64 re) 1/2)) (-.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 1/2))) (/.f64 (cos.f64 re) -2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 (*.f64 (cos.f64 re) 1/2) (-.f64 (/.f64 (cos.f64 re) -2) (/.f64 (pow.f64 im 2) 4))) (/.f64 (pow.f64 im 2) -4))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 (/.f64 (pow.f64 im 2) 4) (-.f64 (/.f64 (cos.f64 re) -2) (/.f64 (pow.f64 im 2) 4))) (/.f64 (cos.f64 re) -2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (+.f64 (cos.f64 re) (+.f64 (*.f64 (cos.f64 re) 1/2) (/.f64 (pow.f64 im 2) 4))) 2) (/.f64 (+.f64 (*.f64 -3 (/.f64 (pow.f64 im 2) 4)) (/.f64 (cos.f64 re) -2)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (/.f64 (*.f64 (+.f64 (*.f64 (pow.f64 im 2) 1/2) (cos.f64 re)) 3) 2) 2) (/.f64 (-.f64 (/.f64 (cos.f64 re) -2) (/.f64 (pow.f64 im 2) 4)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (*.f64 (+.f64 (*.f64 (pow.f64 im 2) 1/2) (cos.f64 re)) 3) 4) (/.f64 (-.f64 (*.f64 (pow.f64 im 2) -1/2) (cos.f64 re)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (+.f64 (/.f64 (pow.f64 im 2) 4) (/.f64 (+.f64 (pow.f64 im 2) (cos.f64 re)) 2)) 2) (/.f64 (+.f64 (*.f64 -3 (*.f64 (cos.f64 re) 1/2)) (/.f64 (pow.f64 im 2) -4)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 (*.f64 (pow.f64 im 2) 1/2) (*.f64 (pow.f64 im 2) 1/2)) (-.f64 (*.f64 (pow.f64 im 2) -1/2) (cos.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (+.f64 (/.f64 (cos.f64 re) 4) (/.f64 (pow.f64 im 2) 8)) (*.f64 (cos.f64 re) 1/2)) (-.f64 (/.f64 (pow.f64 im 2) -4) (+.f64 (/.f64 (cos.f64 re) 4) (/.f64 (pow.f64 im 2) 8))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (+.f64 (/.f64 (cos.f64 re) 4) (/.f64 (pow.f64 im 2) 8)) (/.f64 (pow.f64 im 2) 4)) (-.f64 (/.f64 (cos.f64 re) -2) (+.f64 (/.f64 (cos.f64 re) 4) (/.f64 (pow.f64 im 2) 8))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (/.f64 (pow.f64 im 2) 4) (*.f64 (cos.f64 (/.f64 re 2)) (cos.f64 (/.f64 re 2)))) (-.f64 (*.f64 (sin.f64 (/.f64 re 2)) (sin.f64 (/.f64 re 2))) (/.f64 (pow.f64 im 2) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (+.f64 (*.f64 (pow.f64 im 2) 1/2) (cos.f64 re)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (+.f64 (pow.f64 im 2) (*.f64 2 (cos.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (*.f64 (pow.f64 im 2) 1/2) (cos.f64 re)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 (*.f64 (pow.f64 im 2) 1/2) (cos.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (pow.f64 im 2) (*.f64 2 (cos.f64 re))) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (+.f64 (*.f64 2 (pow.f64 im 2)) (*.f64 (cos.f64 re) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (*.f64 2 (pow.f64 im 2)) (*.f64 (cos.f64 re) 4)) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (pow.f64 im 2) (*.f64 2 (cos.f64 re))) 4) 1/8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 (pow.f64 im 2) 1/2) (cos.f64 re)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 im 2) (*.f64 2 (cos.f64 re))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (pow.f64 im 2)) (*.f64 (cos.f64 re) 4)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (pow.f64 im 2) (*.f64 2 (cos.f64 re))) 4) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 (+.f64 (pow.f64 im 2) (*.f64 2 (cos.f64 re))) 4) (*.f64 (+.f64 (pow.f64 im 2) (*.f64 2 (cos.f64 re))) 4)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 (pow.f64 im 2) 4) (*.f64 (*.f64 2 (cos.f64 re)) 4)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 (*.f64 2 (cos.f64 re)) 4) (*.f64 (pow.f64 im 2) 4)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (+.f64 (pow.f64 im 2) (*.f64 2 (cos.f64 re))) (+.f64 (cos.f64 (+.f64 (/.f64 (PI.f64) 2) (-.f64 (/.f64 (PI.f64) 2) re))) (sin.f64 (-.f64 (/.f64 (PI.f64) 2) re)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (+.f64 (pow.f64 im 2) (*.f64 2 (cos.f64 re))) (+.f64 (cos.f64 (+.f64 (/.f64 (PI.f64) 2) (-.f64 (/.f64 (PI.f64) 2) re))) (cos.f64 (-.f64 0 (+.f64 -1 (-.f64 1 (neg.f64 re))))))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (+.f64 (*.f64 (pow.f64 im 2) 1/2) (cos.f64 re)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (-.f64 (*.f64 (pow.f64 im 2) -1/2) (cos.f64 re)))))))

simplify116.0ms (1.1%)

Algorithm
egg-herbie
Rules
938×rational_best-simplify-85
578×rational_best-simplify-63
546×rational_best-simplify-47
516×rational_best-simplify-57
490×rational_best-simplify-3
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
02272584
16062528
215492512
357372442
Stop Event
node limit
Counts
92 → 111
Calls
Call 1
Inputs
(cos.f64 re)
(+.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(+.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(+.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(*.f64 1/2 (pow.f64 im 2))
(+.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(+.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(+.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(*.f64 1/2 (pow.f64 im 2))
(+.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(+.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(+.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(+.f64 1 (*.f64 1/2 (pow.f64 im 2)))
(+.f64 1 (+.f64 (*.f64 1/2 (pow.f64 im 2)) (*.f64 -1/2 (pow.f64 re 2))))
(+.f64 (*.f64 1/24 (pow.f64 re 4)) (+.f64 1 (+.f64 (*.f64 1/2 (pow.f64 im 2)) (*.f64 -1/2 (pow.f64 re 2)))))
(+.f64 (*.f64 1/24 (pow.f64 re 4)) (+.f64 1 (+.f64 (*.f64 1/2 (pow.f64 im 2)) (+.f64 (*.f64 -1/2 (pow.f64 re 2)) (*.f64 -1/720 (pow.f64 re 6))))))
(+.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(+.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(+.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(+.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(+.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(+.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(+.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(+.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(-.f64 (pow.f64 im 2) (-.f64 (*.f64 (pow.f64 im 2) 1/2) (cos.f64 re)))
(-.f64 (pow.f64 im 2) (+.f64 (-.f64 (*.f64 (pow.f64 im 2) 1/2) (cos.f64 re)) 0))
(-.f64 (*.f64 (pow.f64 im 2) 1/2) (neg.f64 (cos.f64 re)))
(-.f64 (*.f64 (pow.f64 im 2) 1/2) (+.f64 (-.f64 (*.f64 (pow.f64 im 2) 1/2) (cos.f64 re)) (*.f64 (pow.f64 im 2) -1/2)))
(-.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) -1/2))
(-.f64 (cos.f64 re) (+.f64 (-.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 1/2)) (neg.f64 (cos.f64 re))))
(-.f64 (+.f64 (*.f64 (pow.f64 im 2) 1/2) (cos.f64 re)) 0)
(-.f64 0 (-.f64 (*.f64 (pow.f64 im 2) -1/2) (cos.f64 re)))
(-.f64 0 (+.f64 (-.f64 (*.f64 (pow.f64 im 2) 1/2) (cos.f64 re)) (neg.f64 (pow.f64 im 2))))
(-.f64 0 (+.f64 (-.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 1/2)) (*.f64 (cos.f64 re) -2)))
(-.f64 (+.f64 (pow.f64 im 2) (*.f64 2 (cos.f64 re))) (+.f64 (*.f64 (pow.f64 im 2) 1/2) (cos.f64 re)))
(-.f64 (*.f64 2 (cos.f64 re)) (-.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 1/2)))
(-.f64 (*.f64 2 (cos.f64 re)) (+.f64 (-.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 1/2)) 0))
(-.f64 (+.f64 (*.f64 (cos.f64 re) 1/2) (/.f64 (pow.f64 im 2) 4)) (-.f64 (/.f64 (cos.f64 re) -2) (/.f64 (pow.f64 im 2) 4)))
(-.f64 (*.f64 (cos.f64 re) 1/2) (/.f64 (-.f64 (neg.f64 (pow.f64 im 2)) (cos.f64 re)) 2))
(-.f64 (*.f64 (cos.f64 re) 1/2) (-.f64 (/.f64 (cos.f64 (neg.f64 re)) 2) (+.f64 (*.f64 (pow.f64 im 2) 1/2) (cos.f64 re))))
(-.f64 (*.f64 (cos.f64 re) 1/2) (+.f64 (/.f64 (cos.f64 re) -2) (*.f64 (pow.f64 im 2) -1/2)))
(-.f64 (*.f64 (cos.f64 re) 1/2) (neg.f64 (/.f64 (+.f64 (pow.f64 im 2) (cos.f64 re)) 2)))
(-.f64 (*.f64 (cos.f64 re) 1/2) (/.f64 (-.f64 0 (+.f64 (pow.f64 im 2) (cos.f64 re))) 2))
(-.f64 (/.f64 (pow.f64 im 2) 4) (-.f64 (/.f64 (pow.f64 im 2) -4) (cos.f64 re)))
(-.f64 (/.f64 (pow.f64 im 2) 4) (+.f64 (/.f64 (pow.f64 im 2) -4) (neg.f64 (cos.f64 re))))
(-.f64 (/.f64 (pow.f64 im 2) 4) (neg.f64 (+.f64 (cos.f64 re) (/.f64 (pow.f64 im 2) 4))))
(-.f64 (/.f64 (pow.f64 im 2) 4) (/.f64 (-.f64 (-.f64 (*.f64 (pow.f64 im 2) -1/2) (cos.f64 re)) (cos.f64 re)) 2))
(-.f64 (/.f64 (+.f64 (pow.f64 im 2) (cos.f64 re)) 2) (/.f64 (cos.f64 re) -2))
(-.f64 (+.f64 (cos.f64 re) (/.f64 (pow.f64 im 2) 4)) (/.f64 (pow.f64 im 2) -4))
(-.f64 (*.f64 3 (/.f64 (pow.f64 im 2) 4)) (+.f64 (-.f64 (*.f64 (pow.f64 im 2) 1/2) (cos.f64 re)) (/.f64 (pow.f64 im 2) -4)))
(-.f64 (*.f64 3 (*.f64 (cos.f64 re) 1/2)) (+.f64 (-.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 1/2)) (/.f64 (cos.f64 re) -2)))
(-.f64 (*.f64 (cos.f64 (/.f64 re 2)) (cos.f64 (/.f64 re 2))) (+.f64 (*.f64 (pow.f64 im 2) -1/2) (*.f64 (sin.f64 (/.f64 re 2)) (sin.f64 (/.f64 re 2)))))
(-.f64 (*.f64 (cos.f64 (/.f64 re 2)) (cos.f64 (/.f64 re 2))) (+.f64 (*.f64 (sin.f64 (/.f64 re 2)) (sin.f64 (/.f64 re 2))) (*.f64 (pow.f64 im 2) -1/2)))
(-.f64 (+.f64 (/.f64 (cos.f64 re) 4) (*.f64 (cos.f64 re) 1/2)) (-.f64 (*.f64 (pow.f64 im 2) -1/2) (/.f64 (cos.f64 re) 4)))
(-.f64 (+.f64 (/.f64 (pow.f64 im 2) 8) (/.f64 (pow.f64 im 2) 4)) (-.f64 (neg.f64 (cos.f64 re)) (/.f64 (pow.f64 im 2) 8)))
(-.f64 (+.f64 (+.f64 (/.f64 (cos.f64 re) 4) (/.f64 (pow.f64 im 2) 8)) (+.f64 (*.f64 (cos.f64 re) 1/2) (/.f64 (pow.f64 im 2) 4))) (-.f64 0 (+.f64 (/.f64 (cos.f64 re) 4) (/.f64 (pow.f64 im 2) 8))))
(-.f64 (-.f64 (*.f64 (pow.f64 im 2) 1/2) (-.f64 (*.f64 (pow.f64 im 2) 1/2) (cos.f64 re))) (*.f64 (pow.f64 im 2) -1/2))
(-.f64 (-.f64 0 (-.f64 (*.f64 (pow.f64 im 2) 1/2) (cos.f64 re))) (neg.f64 (pow.f64 im 2)))
(-.f64 (-.f64 (*.f64 3 (/.f64 (pow.f64 im 2) 4)) (-.f64 (*.f64 (pow.f64 im 2) 1/2) (cos.f64 re))) (/.f64 (pow.f64 im 2) -4))
(-.f64 (-.f64 (*.f64 (cos.f64 (/.f64 re 2)) (cos.f64 (/.f64 re 2))) (*.f64 (pow.f64 im 2) -1/2)) (*.f64 (sin.f64 (/.f64 re 2)) (sin.f64 (/.f64 re 2))))
(-.f64 (-.f64 (cos.f64 re) (-.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 1/2))) (neg.f64 (cos.f64 re)))
(-.f64 (-.f64 0 (-.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 1/2))) (*.f64 (cos.f64 re) -2))
(-.f64 (-.f64 (*.f64 3 (*.f64 (cos.f64 re) 1/2)) (-.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 1/2))) (/.f64 (cos.f64 re) -2))
(-.f64 (-.f64 (*.f64 (cos.f64 re) 1/2) (-.f64 (/.f64 (cos.f64 re) -2) (/.f64 (pow.f64 im 2) 4))) (/.f64 (pow.f64 im 2) -4))
(-.f64 (-.f64 (/.f64 (pow.f64 im 2) 4) (-.f64 (/.f64 (cos.f64 re) -2) (/.f64 (pow.f64 im 2) 4))) (/.f64 (cos.f64 re) -2))
(-.f64 (/.f64 (+.f64 (cos.f64 re) (+.f64 (*.f64 (cos.f64 re) 1/2) (/.f64 (pow.f64 im 2) 4))) 2) (/.f64 (+.f64 (*.f64 -3 (/.f64 (pow.f64 im 2) 4)) (/.f64 (cos.f64 re) -2)) 2))
(-.f64 (/.f64 (/.f64 (*.f64 (+.f64 (*.f64 (pow.f64 im 2) 1/2) (cos.f64 re)) 3) 2) 2) (/.f64 (-.f64 (/.f64 (cos.f64 re) -2) (/.f64 (pow.f64 im 2) 4)) 2))
(-.f64 (/.f64 (*.f64 (+.f64 (*.f64 (pow.f64 im 2) 1/2) (cos.f64 re)) 3) 4) (/.f64 (-.f64 (*.f64 (pow.f64 im 2) -1/2) (cos.f64 re)) 4))
(-.f64 (/.f64 (+.f64 (/.f64 (pow.f64 im 2) 4) (/.f64 (+.f64 (pow.f64 im 2) (cos.f64 re)) 2)) 2) (/.f64 (+.f64 (*.f64 -3 (*.f64 (cos.f64 re) 1/2)) (/.f64 (pow.f64 im 2) -4)) 2))
(-.f64 (-.f64 (*.f64 (pow.f64 im 2) 1/2) (*.f64 (pow.f64 im 2) 1/2)) (-.f64 (*.f64 (pow.f64 im 2) -1/2) (cos.f64 re)))
(-.f64 (+.f64 (+.f64 (/.f64 (cos.f64 re) 4) (/.f64 (pow.f64 im 2) 8)) (*.f64 (cos.f64 re) 1/2)) (-.f64 (/.f64 (pow.f64 im 2) -4) (+.f64 (/.f64 (cos.f64 re) 4) (/.f64 (pow.f64 im 2) 8))))
(-.f64 (+.f64 (+.f64 (/.f64 (cos.f64 re) 4) (/.f64 (pow.f64 im 2) 8)) (/.f64 (pow.f64 im 2) 4)) (-.f64 (/.f64 (cos.f64 re) -2) (+.f64 (/.f64 (cos.f64 re) 4) (/.f64 (pow.f64 im 2) 8))))
(-.f64 (+.f64 (/.f64 (pow.f64 im 2) 4) (*.f64 (cos.f64 (/.f64 re 2)) (cos.f64 (/.f64 re 2)))) (-.f64 (*.f64 (sin.f64 (/.f64 re 2)) (sin.f64 (/.f64 re 2))) (/.f64 (pow.f64 im 2) 4)))
(*.f64 2 (*.f64 (+.f64 (*.f64 (pow.f64 im 2) 1/2) (cos.f64 re)) 1/2))
(*.f64 1/2 (+.f64 (pow.f64 im 2) (*.f64 2 (cos.f64 re))))
(*.f64 (+.f64 (*.f64 (pow.f64 im 2) 1/2) (cos.f64 re)) 1)
(*.f64 1 (+.f64 (*.f64 (pow.f64 im 2) 1/2) (cos.f64 re)))
(*.f64 (+.f64 (pow.f64 im 2) (*.f64 2 (cos.f64 re))) 1/2)
(*.f64 1/4 (+.f64 (*.f64 2 (pow.f64 im 2)) (*.f64 (cos.f64 re) 4)))
(*.f64 (+.f64 (*.f64 2 (pow.f64 im 2)) (*.f64 (cos.f64 re) 4)) 1/4)
(*.f64 (*.f64 (+.f64 (pow.f64 im 2) (*.f64 2 (cos.f64 re))) 4) 1/8)
(/.f64 (+.f64 (*.f64 (pow.f64 im 2) 1/2) (cos.f64 re)) 1)
(/.f64 (+.f64 (pow.f64 im 2) (*.f64 2 (cos.f64 re))) 2)
(/.f64 (+.f64 (*.f64 2 (pow.f64 im 2)) (*.f64 (cos.f64 re) 4)) 4)
(/.f64 (*.f64 (+.f64 (pow.f64 im 2) (*.f64 2 (cos.f64 re))) 4) 8)
(/.f64 (+.f64 (*.f64 (+.f64 (pow.f64 im 2) (*.f64 2 (cos.f64 re))) 4) (*.f64 (+.f64 (pow.f64 im 2) (*.f64 2 (cos.f64 re))) 4)) 16)
(/.f64 (+.f64 (*.f64 (pow.f64 im 2) 4) (*.f64 (*.f64 2 (cos.f64 re)) 4)) 8)
(/.f64 (+.f64 (*.f64 (*.f64 2 (cos.f64 re)) 4) (*.f64 (pow.f64 im 2) 4)) 8)
(/.f64 (-.f64 (+.f64 (pow.f64 im 2) (*.f64 2 (cos.f64 re))) (+.f64 (cos.f64 (+.f64 (/.f64 (PI.f64) 2) (-.f64 (/.f64 (PI.f64) 2) re))) (sin.f64 (-.f64 (/.f64 (PI.f64) 2) re)))) 2)
(/.f64 (-.f64 (+.f64 (pow.f64 im 2) (*.f64 2 (cos.f64 re))) (+.f64 (cos.f64 (+.f64 (/.f64 (PI.f64) 2) (-.f64 (/.f64 (PI.f64) 2) re))) (cos.f64 (-.f64 0 (+.f64 -1 (-.f64 1 (neg.f64 re))))))) 2)
(pow.f64 (+.f64 (*.f64 (pow.f64 im 2) 1/2) (cos.f64 re)) 1)
(neg.f64 (-.f64 (*.f64 (pow.f64 im 2) -1/2) (cos.f64 re)))
Outputs
(cos.f64 re)
(+.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(+.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(+.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(*.f64 1/2 (pow.f64 im 2))
(+.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(+.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(+.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(*.f64 1/2 (pow.f64 im 2))
(+.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(+.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(+.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(+.f64 1 (*.f64 1/2 (pow.f64 im 2)))
(+.f64 1 (+.f64 (*.f64 1/2 (pow.f64 im 2)) (*.f64 -1/2 (pow.f64 re 2))))
(+.f64 1 (+.f64 (*.f64 -1/2 (pow.f64 re 2)) (*.f64 1/2 (pow.f64 im 2))))
(+.f64 (*.f64 -1/2 (pow.f64 re 2)) (+.f64 1 (*.f64 1/2 (pow.f64 im 2))))
(+.f64 1 (*.f64 -1/2 (-.f64 (pow.f64 re 2) (pow.f64 im 2))))
(+.f64 (*.f64 1/24 (pow.f64 re 4)) (+.f64 1 (+.f64 (*.f64 1/2 (pow.f64 im 2)) (*.f64 -1/2 (pow.f64 re 2)))))
(+.f64 (+.f64 (*.f64 -1/2 (pow.f64 re 2)) (*.f64 1/2 (pow.f64 im 2))) (+.f64 1 (*.f64 1/24 (pow.f64 re 4))))
(+.f64 1 (+.f64 (+.f64 (*.f64 -1/2 (pow.f64 re 2)) (*.f64 1/2 (pow.f64 im 2))) (*.f64 1/24 (pow.f64 re 4))))
(+.f64 (*.f64 -1/2 (pow.f64 re 2)) (+.f64 (+.f64 1 (*.f64 1/2 (pow.f64 im 2))) (*.f64 1/24 (pow.f64 re 4))))
(+.f64 (+.f64 1 (*.f64 -1/2 (-.f64 (pow.f64 re 2) (pow.f64 im 2)))) (*.f64 1/24 (pow.f64 re 4)))
(+.f64 (*.f64 1/24 (pow.f64 re 4)) (+.f64 1 (+.f64 (*.f64 1/2 (pow.f64 im 2)) (+.f64 (*.f64 -1/2 (pow.f64 re 2)) (*.f64 -1/720 (pow.f64 re 6))))))
(+.f64 (*.f64 1/24 (pow.f64 re 4)) (+.f64 1 (+.f64 (+.f64 (*.f64 -1/2 (pow.f64 re 2)) (*.f64 -1/720 (pow.f64 re 6))) (*.f64 1/2 (pow.f64 im 2)))))
(+.f64 1 (+.f64 (+.f64 (*.f64 -1/2 (pow.f64 re 2)) (+.f64 (*.f64 1/2 (pow.f64 im 2)) (*.f64 -1/720 (pow.f64 re 6)))) (*.f64 1/24 (pow.f64 re 4))))
(+.f64 (+.f64 (*.f64 -1/2 (pow.f64 re 2)) (*.f64 1/2 (pow.f64 im 2))) (+.f64 (*.f64 -1/720 (pow.f64 re 6)) (+.f64 1 (*.f64 1/24 (pow.f64 re 4)))))
(+.f64 (*.f64 -1/2 (-.f64 (pow.f64 re 2) (pow.f64 im 2))) (+.f64 (*.f64 -1/720 (pow.f64 re 6)) (+.f64 1 (*.f64 1/24 (pow.f64 re 4)))))
(+.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(+.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(+.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(+.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(+.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(+.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(+.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(+.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(-.f64 (pow.f64 im 2) (-.f64 (*.f64 (pow.f64 im 2) 1/2) (cos.f64 re)))
(+.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(-.f64 (pow.f64 im 2) (+.f64 (-.f64 (*.f64 (pow.f64 im 2) 1/2) (cos.f64 re)) 0))
(+.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(-.f64 (*.f64 (pow.f64 im 2) 1/2) (neg.f64 (cos.f64 re)))
(+.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(-.f64 (*.f64 (pow.f64 im 2) 1/2) (+.f64 (-.f64 (*.f64 (pow.f64 im 2) 1/2) (cos.f64 re)) (*.f64 (pow.f64 im 2) -1/2)))
(+.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(-.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) -1/2))
(+.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(-.f64 (cos.f64 re) (+.f64 (-.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 1/2)) (neg.f64 (cos.f64 re))))
(+.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(-.f64 (+.f64 (*.f64 (pow.f64 im 2) 1/2) (cos.f64 re)) 0)
(+.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(-.f64 0 (-.f64 (*.f64 (pow.f64 im 2) -1/2) (cos.f64 re)))
(+.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(-.f64 0 (+.f64 (-.f64 (*.f64 (pow.f64 im 2) 1/2) (cos.f64 re)) (neg.f64 (pow.f64 im 2))))
(+.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(-.f64 0 (+.f64 (-.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 1/2)) (*.f64 (cos.f64 re) -2)))
(+.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(-.f64 (+.f64 (pow.f64 im 2) (*.f64 2 (cos.f64 re))) (+.f64 (*.f64 (pow.f64 im 2) 1/2) (cos.f64 re)))
(+.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(-.f64 (*.f64 2 (cos.f64 re)) (-.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 1/2)))
(+.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(-.f64 (*.f64 2 (cos.f64 re)) (+.f64 (-.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 1/2)) 0))
(+.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(-.f64 (+.f64 (*.f64 (cos.f64 re) 1/2) (/.f64 (pow.f64 im 2) 4)) (-.f64 (/.f64 (cos.f64 re) -2) (/.f64 (pow.f64 im 2) 4)))
(+.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(-.f64 (*.f64 (cos.f64 re) 1/2) (/.f64 (-.f64 (neg.f64 (pow.f64 im 2)) (cos.f64 re)) 2))
(+.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(-.f64 (*.f64 (cos.f64 re) 1/2) (-.f64 (/.f64 (cos.f64 (neg.f64 re)) 2) (+.f64 (*.f64 (pow.f64 im 2) 1/2) (cos.f64 re))))
(-.f64 (+.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2))) (-.f64 (/.f64 (cos.f64 (neg.f64 re)) 2) (*.f64 (cos.f64 re) 1/2)))
(+.f64 (cos.f64 re) (-.f64 (*.f64 (cos.f64 re) 1/2) (/.f64 (-.f64 (cos.f64 (neg.f64 re)) (pow.f64 im 2)) 2)))
(-.f64 (/.f64 (-.f64 (pow.f64 im 2) (cos.f64 (neg.f64 re))) 2) (*.f64 (cos.f64 re) -3/2))
(-.f64 (*.f64 (cos.f64 re) 1/2) (+.f64 (/.f64 (cos.f64 re) -2) (*.f64 (pow.f64 im 2) -1/2)))
(+.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(-.f64 (*.f64 (cos.f64 re) 1/2) (neg.f64 (/.f64 (+.f64 (pow.f64 im 2) (cos.f64 re)) 2)))
(+.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(-.f64 (*.f64 (cos.f64 re) 1/2) (/.f64 (-.f64 0 (+.f64 (pow.f64 im 2) (cos.f64 re))) 2))
(+.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(-.f64 (/.f64 (pow.f64 im 2) 4) (-.f64 (/.f64 (pow.f64 im 2) -4) (cos.f64 re)))
(+.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(-.f64 (/.f64 (pow.f64 im 2) 4) (+.f64 (/.f64 (pow.f64 im 2) -4) (neg.f64 (cos.f64 re))))
(+.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(-.f64 (/.f64 (pow.f64 im 2) 4) (neg.f64 (+.f64 (cos.f64 re) (/.f64 (pow.f64 im 2) 4))))
(+.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(-.f64 (/.f64 (pow.f64 im 2) 4) (/.f64 (-.f64 (-.f64 (*.f64 (pow.f64 im 2) -1/2) (cos.f64 re)) (cos.f64 re)) 2))
(+.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(-.f64 (/.f64 (+.f64 (pow.f64 im 2) (cos.f64 re)) 2) (/.f64 (cos.f64 re) -2))
(+.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(-.f64 (+.f64 (cos.f64 re) (/.f64 (pow.f64 im 2) 4)) (/.f64 (pow.f64 im 2) -4))
(+.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(-.f64 (*.f64 3 (/.f64 (pow.f64 im 2) 4)) (+.f64 (-.f64 (*.f64 (pow.f64 im 2) 1/2) (cos.f64 re)) (/.f64 (pow.f64 im 2) -4)))
(+.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(-.f64 (*.f64 3 (*.f64 (cos.f64 re) 1/2)) (+.f64 (-.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 1/2)) (/.f64 (cos.f64 re) -2)))
(-.f64 (*.f64 1/2 (*.f64 (cos.f64 re) 3)) (+.f64 (-.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2))) (/.f64 (cos.f64 re) -2)))
(+.f64 (-.f64 (*.f64 (cos.f64 re) 3/2) (/.f64 (cos.f64 re) -2)) (-.f64 (*.f64 1/2 (pow.f64 im 2)) (cos.f64 re)))
(+.f64 (-.f64 (*.f64 1/2 (pow.f64 im 2)) (cos.f64 re)) (-.f64 (*.f64 (cos.f64 re) 3/2) (/.f64 (cos.f64 re) -2)))
(-.f64 (*.f64 (cos.f64 (/.f64 re 2)) (cos.f64 (/.f64 re 2))) (+.f64 (*.f64 (pow.f64 im 2) -1/2) (*.f64 (sin.f64 (/.f64 re 2)) (sin.f64 (/.f64 re 2)))))
(+.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(-.f64 (*.f64 (cos.f64 (/.f64 re 2)) (cos.f64 (/.f64 re 2))) (+.f64 (*.f64 (sin.f64 (/.f64 re 2)) (sin.f64 (/.f64 re 2))) (*.f64 (pow.f64 im 2) -1/2)))
(+.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(-.f64 (+.f64 (/.f64 (cos.f64 re) 4) (*.f64 (cos.f64 re) 1/2)) (-.f64 (*.f64 (pow.f64 im 2) -1/2) (/.f64 (cos.f64 re) 4)))
(+.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(-.f64 (+.f64 (/.f64 (pow.f64 im 2) 8) (/.f64 (pow.f64 im 2) 4)) (-.f64 (neg.f64 (cos.f64 re)) (/.f64 (pow.f64 im 2) 8)))
(-.f64 (/.f64 (pow.f64 im 2) 8) (-.f64 (neg.f64 (cos.f64 re)) (+.f64 (/.f64 (pow.f64 im 2) 4) (/.f64 (pow.f64 im 2) 8))))
(-.f64 (+.f64 (/.f64 (pow.f64 im 2) 4) (/.f64 (pow.f64 im 2) 8)) (-.f64 (neg.f64 (cos.f64 re)) (/.f64 (pow.f64 im 2) 8)))
(+.f64 (-.f64 (/.f64 (pow.f64 im 2) 8) (-.f64 (/.f64 (pow.f64 im 2) -8) (cos.f64 re))) (/.f64 (pow.f64 im 2) 4))
(-.f64 (cos.f64 re) (-.f64 (*.f64 (pow.f64 im 2) -1/8) (/.f64 (*.f64 (pow.f64 im 2) 3/2) 4)))
(-.f64 (+.f64 (+.f64 (/.f64 (cos.f64 re) 4) (/.f64 (pow.f64 im 2) 8)) (+.f64 (*.f64 (cos.f64 re) 1/2) (/.f64 (pow.f64 im 2) 4))) (-.f64 0 (+.f64 (/.f64 (cos.f64 re) 4) (/.f64 (pow.f64 im 2) 8))))
(+.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(-.f64 (-.f64 (*.f64 (pow.f64 im 2) 1/2) (-.f64 (*.f64 (pow.f64 im 2) 1/2) (cos.f64 re))) (*.f64 (pow.f64 im 2) -1/2))
(+.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(-.f64 (-.f64 0 (-.f64 (*.f64 (pow.f64 im 2) 1/2) (cos.f64 re))) (neg.f64 (pow.f64 im 2)))
(+.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(-.f64 (-.f64 (*.f64 3 (/.f64 (pow.f64 im 2) 4)) (-.f64 (*.f64 (pow.f64 im 2) 1/2) (cos.f64 re))) (/.f64 (pow.f64 im 2) -4))
(+.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(-.f64 (-.f64 (*.f64 (cos.f64 (/.f64 re 2)) (cos.f64 (/.f64 re 2))) (*.f64 (pow.f64 im 2) -1/2)) (*.f64 (sin.f64 (/.f64 re 2)) (sin.f64 (/.f64 re 2))))
(+.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(-.f64 (-.f64 (cos.f64 re) (-.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 1/2))) (neg.f64 (cos.f64 re)))
(+.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(-.f64 (-.f64 0 (-.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 1/2))) (*.f64 (cos.f64 re) -2))
(+.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(-.f64 (-.f64 (*.f64 3 (*.f64 (cos.f64 re) 1/2)) (-.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 1/2))) (/.f64 (cos.f64 re) -2))
(-.f64 (*.f64 1/2 (*.f64 (cos.f64 re) 3)) (+.f64 (-.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2))) (/.f64 (cos.f64 re) -2)))
(+.f64 (-.f64 (*.f64 (cos.f64 re) 3/2) (/.f64 (cos.f64 re) -2)) (-.f64 (*.f64 1/2 (pow.f64 im 2)) (cos.f64 re)))
(+.f64 (-.f64 (*.f64 1/2 (pow.f64 im 2)) (cos.f64 re)) (-.f64 (*.f64 (cos.f64 re) 3/2) (/.f64 (cos.f64 re) -2)))
(-.f64 (-.f64 (*.f64 (cos.f64 re) 1/2) (-.f64 (/.f64 (cos.f64 re) -2) (/.f64 (pow.f64 im 2) 4))) (/.f64 (pow.f64 im 2) -4))
(+.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(-.f64 (-.f64 (/.f64 (pow.f64 im 2) 4) (-.f64 (/.f64 (cos.f64 re) -2) (/.f64 (pow.f64 im 2) 4))) (/.f64 (cos.f64 re) -2))
(+.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(-.f64 (/.f64 (+.f64 (cos.f64 re) (+.f64 (*.f64 (cos.f64 re) 1/2) (/.f64 (pow.f64 im 2) 4))) 2) (/.f64 (+.f64 (*.f64 -3 (/.f64 (pow.f64 im 2) 4)) (/.f64 (cos.f64 re) -2)) 2))
(/.f64 (-.f64 (+.f64 (cos.f64 re) (+.f64 (*.f64 (cos.f64 re) 1/2) (/.f64 (pow.f64 im 2) 4))) (+.f64 (/.f64 (cos.f64 re) -2) (*.f64 (pow.f64 im 2) -3/4))) 2)
(/.f64 (-.f64 (+.f64 (*.f64 (cos.f64 re) 1/2) (+.f64 (cos.f64 re) (/.f64 (pow.f64 im 2) 4))) (+.f64 (/.f64 (cos.f64 re) -2) (*.f64 (pow.f64 im 2) -3/4))) 2)
(+.f64 (/.f64 (-.f64 (+.f64 (cos.f64 re) (+.f64 (*.f64 (cos.f64 re) 1/2) (/.f64 (pow.f64 im 2) 4))) (*.f64 (pow.f64 im 2) -3/4)) 2) (/.f64 (cos.f64 re) 4))
(+.f64 (/.f64 (cos.f64 re) 4) (/.f64 (-.f64 (+.f64 (*.f64 (pow.f64 im 2) 1/4) (*.f64 (cos.f64 re) 3/2)) (*.f64 (pow.f64 im 2) -3/4)) 2))
(-.f64 (/.f64 (/.f64 (*.f64 (+.f64 (*.f64 (pow.f64 im 2) 1/2) (cos.f64 re)) 3) 2) 2) (/.f64 (-.f64 (/.f64 (cos.f64 re) -2) (/.f64 (pow.f64 im 2) 4)) 2))
(+.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(-.f64 (/.f64 (*.f64 (+.f64 (*.f64 (pow.f64 im 2) 1/2) (cos.f64 re)) 3) 4) (/.f64 (-.f64 (*.f64 (pow.f64 im 2) -1/2) (cos.f64 re)) 4))
(+.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(-.f64 (/.f64 (+.f64 (/.f64 (pow.f64 im 2) 4) (/.f64 (+.f64 (pow.f64 im 2) (cos.f64 re)) 2)) 2) (/.f64 (+.f64 (*.f64 -3 (*.f64 (cos.f64 re) 1/2)) (/.f64 (pow.f64 im 2) -4)) 2))
(/.f64 (-.f64 (+.f64 (/.f64 (pow.f64 im 2) 4) (/.f64 (+.f64 (cos.f64 re) (pow.f64 im 2)) 2)) (+.f64 (/.f64 (pow.f64 im 2) -4) (*.f64 1/2 (*.f64 (cos.f64 re) -3)))) 2)
(-.f64 (+.f64 (/.f64 (pow.f64 im 2) 8) (/.f64 (+.f64 (cos.f64 re) (pow.f64 im 2)) 4)) (+.f64 (/.f64 (*.f64 (cos.f64 re) -3/2) 2) (/.f64 (pow.f64 im 2) -8)))
(+.f64 (-.f64 (+.f64 (/.f64 (pow.f64 im 2) 8) (/.f64 (+.f64 (cos.f64 re) (pow.f64 im 2)) 4)) (/.f64 (*.f64 (cos.f64 re) -3/2) 2)) (/.f64 (pow.f64 im 2) 8))
(+.f64 (-.f64 (+.f64 (/.f64 (cos.f64 re) 4) (/.f64 (*.f64 (pow.f64 im 2) 3/2) 4)) (/.f64 (*.f64 (cos.f64 re) -3/2) 2)) (/.f64 (pow.f64 im 2) 8))
(-.f64 (-.f64 (*.f64 (pow.f64 im 2) 1/2) (*.f64 (pow.f64 im 2) 1/2)) (-.f64 (*.f64 (pow.f64 im 2) -1/2) (cos.f64 re)))
(+.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(-.f64 (+.f64 (+.f64 (/.f64 (cos.f64 re) 4) (/.f64 (pow.f64 im 2) 8)) (*.f64 (cos.f64 re) 1/2)) (-.f64 (/.f64 (pow.f64 im 2) -4) (+.f64 (/.f64 (cos.f64 re) 4) (/.f64 (pow.f64 im 2) 8))))
(+.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(-.f64 (+.f64 (+.f64 (/.f64 (cos.f64 re) 4) (/.f64 (pow.f64 im 2) 8)) (/.f64 (pow.f64 im 2) 4)) (-.f64 (/.f64 (cos.f64 re) -2) (+.f64 (/.f64 (cos.f64 re) 4) (/.f64 (pow.f64 im 2) 8))))
(+.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(-.f64 (+.f64 (/.f64 (pow.f64 im 2) 4) (*.f64 (cos.f64 (/.f64 re 2)) (cos.f64 (/.f64 re 2)))) (-.f64 (*.f64 (sin.f64 (/.f64 re 2)) (sin.f64 (/.f64 re 2))) (/.f64 (pow.f64 im 2) 4)))
(+.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(*.f64 2 (*.f64 (+.f64 (*.f64 (pow.f64 im 2) 1/2) (cos.f64 re)) 1/2))
(+.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(*.f64 1/2 (+.f64 (pow.f64 im 2) (*.f64 2 (cos.f64 re))))
(+.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(*.f64 (+.f64 (*.f64 (pow.f64 im 2) 1/2) (cos.f64 re)) 1)
(+.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(*.f64 1 (+.f64 (*.f64 (pow.f64 im 2) 1/2) (cos.f64 re)))
(+.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(*.f64 (+.f64 (pow.f64 im 2) (*.f64 2 (cos.f64 re))) 1/2)
(+.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(*.f64 1/4 (+.f64 (*.f64 2 (pow.f64 im 2)) (*.f64 (cos.f64 re) 4)))
(+.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(*.f64 (+.f64 (*.f64 2 (pow.f64 im 2)) (*.f64 (cos.f64 re) 4)) 1/4)
(+.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(*.f64 (*.f64 (+.f64 (pow.f64 im 2) (*.f64 2 (cos.f64 re))) 4) 1/8)
(+.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(/.f64 (+.f64 (*.f64 (pow.f64 im 2) 1/2) (cos.f64 re)) 1)
(+.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(/.f64 (+.f64 (pow.f64 im 2) (*.f64 2 (cos.f64 re))) 2)
(+.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(/.f64 (+.f64 (*.f64 2 (pow.f64 im 2)) (*.f64 (cos.f64 re) 4)) 4)
(+.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(/.f64 (*.f64 (+.f64 (pow.f64 im 2) (*.f64 2 (cos.f64 re))) 4) 8)
(+.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(/.f64 (+.f64 (*.f64 (+.f64 (pow.f64 im 2) (*.f64 2 (cos.f64 re))) 4) (*.f64 (+.f64 (pow.f64 im 2) (*.f64 2 (cos.f64 re))) 4)) 16)
(+.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(/.f64 (+.f64 (*.f64 (pow.f64 im 2) 4) (*.f64 (*.f64 2 (cos.f64 re)) 4)) 8)
(+.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(/.f64 (+.f64 (*.f64 (*.f64 2 (cos.f64 re)) 4) (*.f64 (pow.f64 im 2) 4)) 8)
(+.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(/.f64 (-.f64 (+.f64 (pow.f64 im 2) (*.f64 2 (cos.f64 re))) (+.f64 (cos.f64 (+.f64 (/.f64 (PI.f64) 2) (-.f64 (/.f64 (PI.f64) 2) re))) (sin.f64 (-.f64 (/.f64 (PI.f64) 2) re)))) 2)
(/.f64 (-.f64 (+.f64 (pow.f64 im 2) (*.f64 (cos.f64 re) 2)) (+.f64 (cos.f64 (+.f64 (/.f64 (PI.f64) 2) (-.f64 (/.f64 (PI.f64) 2) re))) (sin.f64 (-.f64 (/.f64 (PI.f64) 2) re)))) 2)
(-.f64 (/.f64 (+.f64 (pow.f64 im 2) (*.f64 (cos.f64 re) 2)) 2) (*.f64 (cos.f64 (/.f64 (PI.f64) 2)) (sin.f64 re)))
(-.f64 (cos.f64 re) (+.f64 (*.f64 (cos.f64 (/.f64 (PI.f64) 2)) (sin.f64 re)) (*.f64 (pow.f64 im 2) -1/2)))
(/.f64 (-.f64 (+.f64 (pow.f64 im 2) (*.f64 2 (cos.f64 re))) (+.f64 (cos.f64 (+.f64 (/.f64 (PI.f64) 2) (-.f64 (/.f64 (PI.f64) 2) re))) (cos.f64 (-.f64 0 (+.f64 -1 (-.f64 1 (neg.f64 re))))))) 2)
(/.f64 (-.f64 (+.f64 (pow.f64 im 2) (*.f64 (cos.f64 re) 2)) (+.f64 (cos.f64 (+.f64 (/.f64 (PI.f64) 2) (-.f64 (/.f64 (PI.f64) 2) re))) (cos.f64 (+.f64 1 (neg.f64 (-.f64 1 (neg.f64 re))))))) 2)
(/.f64 (-.f64 (+.f64 (pow.f64 im 2) (*.f64 (cos.f64 re) 2)) (+.f64 (cos.f64 (+.f64 (/.f64 (PI.f64) 2) (-.f64 (/.f64 (PI.f64) 2) re))) (cos.f64 (+.f64 1 (neg.f64 (-.f64 re -1)))))) 2)
(/.f64 (+.f64 (-.f64 (*.f64 (cos.f64 re) 2) (+.f64 (cos.f64 (+.f64 (/.f64 (PI.f64) 2) (-.f64 (/.f64 (PI.f64) 2) re))) (cos.f64 (neg.f64 (-.f64 re 0))))) (pow.f64 im 2)) 2)
(-.f64 (cos.f64 re) (/.f64 (+.f64 (neg.f64 (pow.f64 im 2)) (+.f64 (cos.f64 (+.f64 (/.f64 (PI.f64) 2) (-.f64 (/.f64 (PI.f64) 2) re))) (cos.f64 (neg.f64 re)))) 2))
(pow.f64 (+.f64 (*.f64 (pow.f64 im 2) 1/2) (cos.f64 re)) 1)
(+.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(neg.f64 (-.f64 (*.f64 (pow.f64 im 2) -1/2) (cos.f64 re)))
(+.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))

eval295.0ms (2.8%)

Compiler

Compiled 11874 to 8719 computations (26.6% saved)

prune109.0ms (1%)

Pruning

12 alts after pruning (2 fresh and 10 done)

PrunedKeptTotal
New6262628
Fresh000
Picked011
Done099
Total62612638
Error
0.0b
Counts
638 → 12
Alt Table
Click to see full alt table
StatusErrorProgram
1.1b
(-.f64 (*.f64 (pow.f64 im 2) (cos.f64 re)) (*.f64 (cos.f64 re) (+.f64 (*.f64 (pow.f64 im 2) 1/2) -1)))
1.3b
(+.f64 (*.f64 (pow.f64 im 2) 1/2) (cos.f64 re))
1.1b
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (cos.f64 re))
28.0b
(+.f64 1 (*.f64 (pow.f64 im 2) 1/2))
62.0b
(*.f64 (pow.f64 im 2) (+.f64 1/2 (*.f64 -1/4 (pow.f64 re 2))))
61.1b
(*.f64 (pow.f64 im 2) (*.f64 1/2 (cos.f64 re)))
0.0b
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
1.1b
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (pow.f64 im 2)))
61.4b
(*.f64 1/2 (pow.f64 im 2))
27.5b
(*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
28.1b
(*.f64 1/2 2)
1.4b
(cos.f64 re)
Compiler

Compiled 125 to 100 computations (20% saved)

localize6.0ms (0.1%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.0b
(pow.f64 im 2)
0.0b
(*.f64 1/2 (pow.f64 im 2))
Compiler

Compiled 13 to 10 computations (23.1% saved)

series0.0ms (0%)

Counts
1 → 0
Calls

3 calls:

TimeVariablePointExpression
0.0ms
im
@0
(*.f64 1/2 (pow.f64 im 2))
0.0ms
im
@inf
(*.f64 1/2 (pow.f64 im 2))
0.0ms
im
@-inf
(*.f64 1/2 (pow.f64 im 2))

rewrite154.0ms (1.5%)

Algorithm
batch-egg-rewrite
Rules
928×rational_best-simplify-51
920×rational_best-simplify-1
798×rational_best-simplify-47
766×rational_best-simplify-83
698×rational_best-simplify-57
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0713
14513
28013
316613
443313
5162213
6775013
Stop Event
node limit
Counts
1 → 30
Calls
Call 1
Inputs
(*.f64 1/2 (pow.f64 im 2))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 1/2 (pow.f64 im 2)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 1/2 (pow.f64 im 2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (pow.f64 im 2) 1/4) (*.f64 (pow.f64 im 2) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (pow.f64 im 2) 8) (/.f64 (*.f64 (pow.f64 im 2) 3) 8))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (*.f64 (pow.f64 im 2) 3) 8) (/.f64 (pow.f64 im 2) 8))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (*.f64 (pow.f64 im 2) 3) 16) (+.f64 (/.f64 (pow.f64 im 2) 16) (*.f64 (pow.f64 im 2) 1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (*.f64 (pow.f64 im 2) 1/4) (/.f64 (pow.f64 im 2) -8)) (neg.f64 (/.f64 (pow.f64 im 2) -8)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 1/2 (pow.f64 im 2)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 1/2 (pow.f64 im 2)) (+.f64 (/.f64 (pow.f64 im 2) -4) (*.f64 (pow.f64 im 2) 1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (*.f64 (pow.f64 im 2) -1/2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (pow.f64 im 2) 1/4) (/.f64 (pow.f64 im 2) -4))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (pow.f64 im 2) 8) (/.f64 (*.f64 (pow.f64 im 2) -3/2) 4))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (*.f64 (pow.f64 im 2) 3) 8) (/.f64 (pow.f64 im 2) -8))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (/.f64 (pow.f64 im 2) 8) (/.f64 (*.f64 (pow.f64 im 2) 3) 16)) (-.f64 (/.f64 (pow.f64 im 2) -16) (/.f64 (pow.f64 im 2) 8)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (/.f64 (pow.f64 im 2) 8) (/.f64 (pow.f64 im 2) 16)) (-.f64 (/.f64 (*.f64 (pow.f64 im 2) 3/2) -8) (/.f64 (pow.f64 im 2) 8)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (pow.f64 im 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 1/2 (pow.f64 im 2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (pow.f64 im 2)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 im 2) -1/2) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (pow.f64 im 2)) -2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 im 2) 4) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 im 2) 1/4) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 im 2) -2) -4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 im 2) 8) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (pow.f64 im 2) -4) -1/2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 im 2) -4) -8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 im 2) 16) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 (pow.f64 im 2) -4) -1) 8)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 1/2 (pow.f64 im 2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (*.f64 (pow.f64 im 2) -1/2))))))

simplify56.0ms (0.5%)

Algorithm
egg-herbie
Rules
844×rational_best-simplify-47
776×rational_best-simplify-51
702×rational_best-simplify-67
644×rational_best-simplify-83
628×rational_best-simplify-57
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
084390
1194390
2418390
31292390
Stop Event
node limit
Counts
30 → 31
Calls
Call 1
Inputs
(+.f64 (*.f64 1/2 (pow.f64 im 2)) 0)
(+.f64 0 (*.f64 1/2 (pow.f64 im 2)))
(+.f64 (*.f64 (pow.f64 im 2) 1/4) (*.f64 (pow.f64 im 2) 1/4))
(+.f64 (/.f64 (pow.f64 im 2) 8) (/.f64 (*.f64 (pow.f64 im 2) 3) 8))
(+.f64 (/.f64 (*.f64 (pow.f64 im 2) 3) 8) (/.f64 (pow.f64 im 2) 8))
(+.f64 (/.f64 (*.f64 (pow.f64 im 2) 3) 16) (+.f64 (/.f64 (pow.f64 im 2) 16) (*.f64 (pow.f64 im 2) 1/4)))
(+.f64 (-.f64 (*.f64 (pow.f64 im 2) 1/4) (/.f64 (pow.f64 im 2) -8)) (neg.f64 (/.f64 (pow.f64 im 2) -8)))
(-.f64 (*.f64 1/2 (pow.f64 im 2)) 0)
(-.f64 (*.f64 1/2 (pow.f64 im 2)) (+.f64 (/.f64 (pow.f64 im 2) -4) (*.f64 (pow.f64 im 2) 1/4)))
(-.f64 0 (*.f64 (pow.f64 im 2) -1/2))
(-.f64 (*.f64 (pow.f64 im 2) 1/4) (/.f64 (pow.f64 im 2) -4))
(-.f64 (/.f64 (pow.f64 im 2) 8) (/.f64 (*.f64 (pow.f64 im 2) -3/2) 4))
(-.f64 (/.f64 (*.f64 (pow.f64 im 2) 3) 8) (/.f64 (pow.f64 im 2) -8))
(-.f64 (+.f64 (/.f64 (pow.f64 im 2) 8) (/.f64 (*.f64 (pow.f64 im 2) 3) 16)) (-.f64 (/.f64 (pow.f64 im 2) -16) (/.f64 (pow.f64 im 2) 8)))
(-.f64 (+.f64 (/.f64 (pow.f64 im 2) 8) (/.f64 (pow.f64 im 2) 16)) (-.f64 (/.f64 (*.f64 (pow.f64 im 2) 3/2) -8) (/.f64 (pow.f64 im 2) 8)))
(/.f64 (pow.f64 im 2) 2)
(/.f64 (*.f64 1/2 (pow.f64 im 2)) 1)
(/.f64 (*.f64 2 (pow.f64 im 2)) 4)
(/.f64 (*.f64 (pow.f64 im 2) -1/2) -1)
(/.f64 (neg.f64 (pow.f64 im 2)) -2)
(/.f64 (*.f64 (pow.f64 im 2) 4) 8)
(/.f64 (*.f64 (pow.f64 im 2) 1/4) 1/2)
(/.f64 (*.f64 (pow.f64 im 2) -2) -4)
(/.f64 (*.f64 (pow.f64 im 2) 8) 16)
(/.f64 (/.f64 (pow.f64 im 2) -4) -1/2)
(/.f64 (*.f64 (pow.f64 im 2) -4) -8)
(/.f64 (*.f64 (pow.f64 im 2) 16) 32)
(/.f64 (/.f64 (*.f64 (pow.f64 im 2) -4) -1) 8)
(pow.f64 (*.f64 1/2 (pow.f64 im 2)) 1)
(neg.f64 (*.f64 (pow.f64 im 2) -1/2))
Outputs
(+.f64 (*.f64 1/2 (pow.f64 im 2)) 0)
(*.f64 1/2 (pow.f64 im 2))
(+.f64 0 (*.f64 1/2 (pow.f64 im 2)))
(*.f64 1/2 (pow.f64 im 2))
(+.f64 (*.f64 (pow.f64 im 2) 1/4) (*.f64 (pow.f64 im 2) 1/4))
(*.f64 1/2 (pow.f64 im 2))
(+.f64 (/.f64 (pow.f64 im 2) 8) (/.f64 (*.f64 (pow.f64 im 2) 3) 8))
(*.f64 1/2 (pow.f64 im 2))
(+.f64 (/.f64 (*.f64 (pow.f64 im 2) 3) 8) (/.f64 (pow.f64 im 2) 8))
(*.f64 1/2 (pow.f64 im 2))
(+.f64 (/.f64 (*.f64 (pow.f64 im 2) 3) 16) (+.f64 (/.f64 (pow.f64 im 2) 16) (*.f64 (pow.f64 im 2) 1/4)))
(*.f64 1/2 (pow.f64 im 2))
(+.f64 (-.f64 (*.f64 (pow.f64 im 2) 1/4) (/.f64 (pow.f64 im 2) -8)) (neg.f64 (/.f64 (pow.f64 im 2) -8)))
(*.f64 1/2 (pow.f64 im 2))
(-.f64 (*.f64 1/2 (pow.f64 im 2)) 0)
(*.f64 1/2 (pow.f64 im 2))
(-.f64 (*.f64 1/2 (pow.f64 im 2)) (+.f64 (/.f64 (pow.f64 im 2) -4) (*.f64 (pow.f64 im 2) 1/4)))
(*.f64 1/2 (pow.f64 im 2))
(-.f64 0 (*.f64 (pow.f64 im 2) -1/2))
(*.f64 1/2 (pow.f64 im 2))
(-.f64 (*.f64 (pow.f64 im 2) 1/4) (/.f64 (pow.f64 im 2) -4))
(*.f64 1/2 (pow.f64 im 2))
(-.f64 (/.f64 (pow.f64 im 2) 8) (/.f64 (*.f64 (pow.f64 im 2) -3/2) 4))
(*.f64 1/2 (pow.f64 im 2))
(-.f64 (/.f64 (*.f64 (pow.f64 im 2) 3) 8) (/.f64 (pow.f64 im 2) -8))
(*.f64 1/2 (pow.f64 im 2))
(-.f64 (+.f64 (/.f64 (pow.f64 im 2) 8) (/.f64 (*.f64 (pow.f64 im 2) 3) 16)) (-.f64 (/.f64 (pow.f64 im 2) -16) (/.f64 (pow.f64 im 2) 8)))
(*.f64 1/2 (pow.f64 im 2))
(-.f64 (+.f64 (/.f64 (pow.f64 im 2) 8) (/.f64 (pow.f64 im 2) 16)) (-.f64 (/.f64 (*.f64 (pow.f64 im 2) 3/2) -8) (/.f64 (pow.f64 im 2) 8)))
(*.f64 1/2 (pow.f64 im 2))
(/.f64 (pow.f64 im 2) 2)
(*.f64 1/2 (pow.f64 im 2))
(/.f64 (*.f64 1/2 (pow.f64 im 2)) 1)
(*.f64 1/2 (pow.f64 im 2))
(/.f64 (*.f64 2 (pow.f64 im 2)) 4)
(*.f64 1/2 (pow.f64 im 2))
(/.f64 (*.f64 (pow.f64 im 2) -1/2) -1)
(*.f64 1/2 (pow.f64 im 2))
(/.f64 (neg.f64 (pow.f64 im 2)) -2)
(*.f64 1/2 (pow.f64 im 2))
(/.f64 (*.f64 (pow.f64 im 2) 4) 8)
(*.f64 1/2 (pow.f64 im 2))
(/.f64 (*.f64 (pow.f64 im 2) 1/4) 1/2)
(*.f64 1/2 (pow.f64 im 2))
(/.f64 (*.f64 (pow.f64 im 2) -2) -4)
(*.f64 1/2 (pow.f64 im 2))
(/.f64 (*.f64 (pow.f64 im 2) 8) 16)
(*.f64 1/2 (pow.f64 im 2))
(/.f64 (/.f64 (pow.f64 im 2) -4) -1/2)
(*.f64 1/2 (pow.f64 im 2))
(/.f64 (*.f64 (pow.f64 im 2) -4) -8)
(*.f64 1/2 (pow.f64 im 2))
(/.f64 (*.f64 (pow.f64 im 2) 16) 32)
(*.f64 1/2 (pow.f64 im 2))
(/.f64 (/.f64 (*.f64 (pow.f64 im 2) -4) -1) 8)
(*.f64 1/2 (pow.f64 im 2))
(pow.f64 (*.f64 1/2 (pow.f64 im 2)) 1)
(*.f64 1/2 (pow.f64 im 2))
(neg.f64 (*.f64 (pow.f64 im 2) -1/2))
(*.f64 1/2 (pow.f64 im 2))

localize14.0ms (0.1%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.0b
(pow.f64 im 2)
0.0b
(pow.f64 re 2)
12.4b
(*.f64 (pow.f64 im 2) (+.f64 1/2 (*.f64 -1/4 (pow.f64 re 2))))
Compiler

Compiled 36 to 28 computations (22.2% saved)

series3.0ms (0%)

Counts
2 → 24
Calls

9 calls:

TimeVariablePointExpression
1.0ms
im
@0
(*.f64 (pow.f64 im 2) (+.f64 1/2 (*.f64 -1/4 (pow.f64 re 2))))
0.0ms
re
@inf
(*.f64 (pow.f64 im 2) (+.f64 1/2 (*.f64 -1/4 (pow.f64 re 2))))
0.0ms
re
@0
(*.f64 (pow.f64 im 2) (+.f64 1/2 (*.f64 -1/4 (pow.f64 re 2))))
0.0ms
im
@inf
(*.f64 (pow.f64 im 2) (+.f64 1/2 (*.f64 -1/4 (pow.f64 re 2))))
0.0ms
re
@-inf
(pow.f64 re 2)

rewrite100.0ms (1%)

Algorithm
batch-egg-rewrite
Rules
1434×rational_best-4
1434×rational_best-2
1434×rational_best-3
1434×rational_best-1
1434×exponential-1
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01238
18138
214338
330538
493438
5398338
Stop Event
node limit
Counts
2 → 56
Calls
Call 1
Inputs
(*.f64 (pow.f64 im 2) (+.f64 1/2 (*.f64 -1/4 (pow.f64 re 2))))
(pow.f64 re 2)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (pow.f64 im 2) (+.f64 1/2 (*.f64 -1/4 (pow.f64 re 2)))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (pow.f64 im 2) (+.f64 1/2 (*.f64 -1/4 (pow.f64 re 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (pow.f64 im 2) (+.f64 (/.f64 (neg.f64 (pow.f64 re 2)) 8) 1/4)) (*.f64 (pow.f64 im 2) (+.f64 (/.f64 (neg.f64 (pow.f64 re 2)) 8) 1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (*.f64 (pow.f64 im 2) (-.f64 (neg.f64 (pow.f64 re 2)) -2)) 16) (+.f64 (*.f64 (pow.f64 im 2) (+.f64 (/.f64 (neg.f64 (pow.f64 re 2)) 8) 1/4)) (/.f64 (*.f64 (pow.f64 im 2) (-.f64 (neg.f64 (pow.f64 re 2)) -2)) 16)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (*.f64 (pow.f64 im 2) (-.f64 (neg.f64 (pow.f64 re 2)) -2)) 16) (/.f64 (*.f64 -3 (/.f64 (*.f64 (pow.f64 im 2) (+.f64 1/2 (*.f64 -1/4 (pow.f64 re 2)))) -2)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (*.f64 (pow.f64 im 2) (-.f64 (neg.f64 (pow.f64 re 2)) -2)) 16) (/.f64 (*.f64 (pow.f64 im 2) (*.f64 (+.f64 1/2 (*.f64 -1/4 (pow.f64 re 2))) 3)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (*.f64 (pow.f64 im 2) (+.f64 (/.f64 (neg.f64 (pow.f64 re 2)) 8) 1/4)) (/.f64 (*.f64 (pow.f64 im 2) (-.f64 (neg.f64 (pow.f64 re 2)) -2)) 16)) (/.f64 (*.f64 (pow.f64 im 2) (-.f64 (neg.f64 (pow.f64 re 2)) -2)) 16))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (*.f64 -3 (/.f64 (*.f64 (pow.f64 im 2) (+.f64 1/2 (*.f64 -1/4 (pow.f64 re 2)))) -2)) 2) (/.f64 (*.f64 (pow.f64 im 2) (-.f64 (neg.f64 (pow.f64 re 2)) -2)) 16))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (*.f64 (pow.f64 im 2) (*.f64 (+.f64 1/2 (*.f64 -1/4 (pow.f64 re 2))) 3)) 4) (/.f64 (*.f64 (pow.f64 im 2) (-.f64 (neg.f64 (pow.f64 re 2)) -2)) 16))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (pow.f64 im 2) (+.f64 1/2 (*.f64 -1/4 (pow.f64 re 2)))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (pow.f64 im 2) (+.f64 (/.f64 (neg.f64 (pow.f64 re 2)) 8) 1/4)) (/.f64 (*.f64 (pow.f64 im 2) (+.f64 1/2 (*.f64 -1/4 (pow.f64 re 2)))) -2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (*.f64 (pow.f64 im 2) (+.f64 (/.f64 (neg.f64 (pow.f64 re 2)) 8) 1/4)) (/.f64 (*.f64 (pow.f64 im 2) (-.f64 (neg.f64 (pow.f64 re 2)) -2)) 16)) (neg.f64 (/.f64 (*.f64 (pow.f64 im 2) (-.f64 (neg.f64 (pow.f64 re 2)) -2)) 16)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (*.f64 -3 (/.f64 (*.f64 (pow.f64 im 2) (+.f64 1/2 (*.f64 -1/4 (pow.f64 re 2)))) -2)) 2) (/.f64 (/.f64 (*.f64 (pow.f64 im 2) (+.f64 1/2 (*.f64 -1/4 (pow.f64 re 2)))) -2) 2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (*.f64 (pow.f64 im 2) (*.f64 (+.f64 1/2 (*.f64 -1/4 (pow.f64 re 2))) 3)) 4) (/.f64 (/.f64 (*.f64 (pow.f64 im 2) (-.f64 (neg.f64 (pow.f64 re 2)) -2)) -4) 4))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 im 2) (+.f64 1/2 (*.f64 -1/4 (pow.f64 re 2)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 im 2) (+.f64 1 (*.f64 (pow.f64 re 2) -1/2))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 im 2) (-.f64 (neg.f64 (pow.f64 re 2)) -2)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 (pow.f64 im 2) 4) (-.f64 (neg.f64 (pow.f64 re 2)) -2)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 im 2) (*.f64 2 (-.f64 (neg.f64 (pow.f64 re 2)) -2))) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 (pow.f64 im 2) (*.f64 2 (-.f64 (neg.f64 (pow.f64 re 2)) -2))) (*.f64 (pow.f64 im 2) (*.f64 2 (-.f64 (neg.f64 (pow.f64 re 2)) -2)))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 (*.f64 (pow.f64 im 2) 4) (-.f64 (neg.f64 (pow.f64 re 2)) -2)) (*.f64 (*.f64 (pow.f64 im 2) 4) (-.f64 (neg.f64 (pow.f64 re 2)) -2))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 2 (-.f64 (neg.f64 (pow.f64 re 2)) -2)) (*.f64 2 (*.f64 (pow.f64 im 2) 4))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (pow.f64 im 2) (+.f64 1/2 (*.f64 -1/4 (pow.f64 re 2)))) 1)))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (pow.f64 re 2) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (pow.f64 re 2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (pow.f64 re 2) 4) (neg.f64 (*.f64 (pow.f64 re 2) -3/4)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (pow.f64 re 2) 4) (/.f64 (*.f64 -3 (*.f64 (pow.f64 re 2) -1/2)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (pow.f64 re 2) 4) (/.f64 (*.f64 (pow.f64 re 2) 3) 4))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (pow.f64 re 2) 2) (/.f64 (pow.f64 re 2) 2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (neg.f64 (*.f64 (pow.f64 re 2) -3/4)) (/.f64 (pow.f64 re 2) 4))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (*.f64 -3 (*.f64 (pow.f64 re 2) -1/2)) 2) (/.f64 (pow.f64 re 2) 4))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (*.f64 (pow.f64 re 2) 3) 4) (/.f64 (pow.f64 re 2) 4))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (pow.f64 re 2) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (pow.f64 re 2) 2) (*.f64 (pow.f64 re 2) -1/2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (neg.f64 (*.f64 (pow.f64 re 2) -3/4)) (neg.f64 (/.f64 (pow.f64 re 2) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (*.f64 -3 (*.f64 (pow.f64 re 2) -1/2)) 2) (*.f64 -1/4 (pow.f64 re 2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (*.f64 (pow.f64 re 2) 3) 4) (*.f64 -1/4 (pow.f64 re 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (/.f64 (pow.f64 re 2) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 1/2 (pow.f64 re 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 2 (pow.f64 re 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 re 2) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (pow.f64 re 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (pow.f64 re 2)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (+.f64 re re) 2) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (pow.f64 (+.f64 re re) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (pow.f64 (+.f64 re re) 2)) 1/8)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -2 (*.f64 (pow.f64 re 2) -1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 1/2 (pow.f64 re 2)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/8 (*.f64 2 (pow.f64 (+.f64 re re) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/16 (pow.f64 (*.f64 re 4) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 re 4) 2) 1/16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (pow.f64 re 2) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (pow.f64 re 2)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (pow.f64 (+.f64 re re) 2) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (pow.f64 (+.f64 re re) 2)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (pow.f64 (+.f64 re re) 2)) (*.f64 2 (pow.f64 (+.f64 re re) 2))) 16)))))

simplify88.0ms (0.8%)

Algorithm
egg-herbie
Rules
1038×rational_best-simplify-63
846×rational_best-simplify-49
778×rational_best-simplify-48
760×rational_best-simplify-57
734×rational_best-simplify-1
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01362416
12992348
28392232
325602164
Stop Event
node limit
Counts
80 → 88
Calls
Call 1
Inputs
(*.f64 (+.f64 1/2 (*.f64 -1/4 (pow.f64 re 2))) (pow.f64 im 2))
(*.f64 (+.f64 1/2 (*.f64 -1/4 (pow.f64 re 2))) (pow.f64 im 2))
(*.f64 (+.f64 1/2 (*.f64 -1/4 (pow.f64 re 2))) (pow.f64 im 2))
(*.f64 (+.f64 1/2 (*.f64 -1/4 (pow.f64 re 2))) (pow.f64 im 2))
(*.f64 (+.f64 1/2 (*.f64 -1/4 (pow.f64 re 2))) (pow.f64 im 2))
(*.f64 (+.f64 1/2 (*.f64 -1/4 (pow.f64 re 2))) (pow.f64 im 2))
(*.f64 (+.f64 1/2 (*.f64 -1/4 (pow.f64 re 2))) (pow.f64 im 2))
(*.f64 (+.f64 1/2 (*.f64 -1/4 (pow.f64 re 2))) (pow.f64 im 2))
(*.f64 (+.f64 1/2 (*.f64 -1/4 (pow.f64 re 2))) (pow.f64 im 2))
(*.f64 (+.f64 1/2 (*.f64 -1/4 (pow.f64 re 2))) (pow.f64 im 2))
(*.f64 (+.f64 1/2 (*.f64 -1/4 (pow.f64 re 2))) (pow.f64 im 2))
(*.f64 (+.f64 1/2 (*.f64 -1/4 (pow.f64 re 2))) (pow.f64 im 2))
(*.f64 1/2 (pow.f64 im 2))
(+.f64 (*.f64 1/2 (pow.f64 im 2)) (*.f64 -1/4 (*.f64 (pow.f64 re 2) (pow.f64 im 2))))
(+.f64 (*.f64 1/2 (pow.f64 im 2)) (*.f64 -1/4 (*.f64 (pow.f64 re 2) (pow.f64 im 2))))
(+.f64 (*.f64 1/2 (pow.f64 im 2)) (*.f64 -1/4 (*.f64 (pow.f64 re 2) (pow.f64 im 2))))
(*.f64 -1/4 (*.f64 (pow.f64 re 2) (pow.f64 im 2)))
(+.f64 (*.f64 1/2 (pow.f64 im 2)) (*.f64 -1/4 (*.f64 (pow.f64 re 2) (pow.f64 im 2))))
(+.f64 (*.f64 1/2 (pow.f64 im 2)) (*.f64 -1/4 (*.f64 (pow.f64 re 2) (pow.f64 im 2))))
(+.f64 (*.f64 1/2 (pow.f64 im 2)) (*.f64 -1/4 (*.f64 (pow.f64 re 2) (pow.f64 im 2))))
(*.f64 -1/4 (*.f64 (pow.f64 re 2) (pow.f64 im 2)))
(+.f64 (*.f64 1/2 (pow.f64 im 2)) (*.f64 -1/4 (*.f64 (pow.f64 re 2) (pow.f64 im 2))))
(+.f64 (*.f64 1/2 (pow.f64 im 2)) (*.f64 -1/4 (*.f64 (pow.f64 re 2) (pow.f64 im 2))))
(+.f64 (*.f64 1/2 (pow.f64 im 2)) (*.f64 -1/4 (*.f64 (pow.f64 re 2) (pow.f64 im 2))))
(+.f64 (*.f64 (pow.f64 im 2) (+.f64 1/2 (*.f64 -1/4 (pow.f64 re 2)))) 0)
(+.f64 0 (*.f64 (pow.f64 im 2) (+.f64 1/2 (*.f64 -1/4 (pow.f64 re 2)))))
(+.f64 (*.f64 (pow.f64 im 2) (+.f64 (/.f64 (neg.f64 (pow.f64 re 2)) 8) 1/4)) (*.f64 (pow.f64 im 2) (+.f64 (/.f64 (neg.f64 (pow.f64 re 2)) 8) 1/4)))
(+.f64 (/.f64 (*.f64 (pow.f64 im 2) (-.f64 (neg.f64 (pow.f64 re 2)) -2)) 16) (+.f64 (*.f64 (pow.f64 im 2) (+.f64 (/.f64 (neg.f64 (pow.f64 re 2)) 8) 1/4)) (/.f64 (*.f64 (pow.f64 im 2) (-.f64 (neg.f64 (pow.f64 re 2)) -2)) 16)))
(+.f64 (/.f64 (*.f64 (pow.f64 im 2) (-.f64 (neg.f64 (pow.f64 re 2)) -2)) 16) (/.f64 (*.f64 -3 (/.f64 (*.f64 (pow.f64 im 2) (+.f64 1/2 (*.f64 -1/4 (pow.f64 re 2)))) -2)) 2))
(+.f64 (/.f64 (*.f64 (pow.f64 im 2) (-.f64 (neg.f64 (pow.f64 re 2)) -2)) 16) (/.f64 (*.f64 (pow.f64 im 2) (*.f64 (+.f64 1/2 (*.f64 -1/4 (pow.f64 re 2))) 3)) 4))
(+.f64 (+.f64 (*.f64 (pow.f64 im 2) (+.f64 (/.f64 (neg.f64 (pow.f64 re 2)) 8) 1/4)) (/.f64 (*.f64 (pow.f64 im 2) (-.f64 (neg.f64 (pow.f64 re 2)) -2)) 16)) (/.f64 (*.f64 (pow.f64 im 2) (-.f64 (neg.f64 (pow.f64 re 2)) -2)) 16))
(+.f64 (/.f64 (*.f64 -3 (/.f64 (*.f64 (pow.f64 im 2) (+.f64 1/2 (*.f64 -1/4 (pow.f64 re 2)))) -2)) 2) (/.f64 (*.f64 (pow.f64 im 2) (-.f64 (neg.f64 (pow.f64 re 2)) -2)) 16))
(+.f64 (/.f64 (*.f64 (pow.f64 im 2) (*.f64 (+.f64 1/2 (*.f64 -1/4 (pow.f64 re 2))) 3)) 4) (/.f64 (*.f64 (pow.f64 im 2) (-.f64 (neg.f64 (pow.f64 re 2)) -2)) 16))
(-.f64 (*.f64 (pow.f64 im 2) (+.f64 1/2 (*.f64 -1/4 (pow.f64 re 2)))) 0)
(-.f64 (*.f64 (pow.f64 im 2) (+.f64 (/.f64 (neg.f64 (pow.f64 re 2)) 8) 1/4)) (/.f64 (*.f64 (pow.f64 im 2) (+.f64 1/2 (*.f64 -1/4 (pow.f64 re 2)))) -2))
(-.f64 (+.f64 (*.f64 (pow.f64 im 2) (+.f64 (/.f64 (neg.f64 (pow.f64 re 2)) 8) 1/4)) (/.f64 (*.f64 (pow.f64 im 2) (-.f64 (neg.f64 (pow.f64 re 2)) -2)) 16)) (neg.f64 (/.f64 (*.f64 (pow.f64 im 2) (-.f64 (neg.f64 (pow.f64 re 2)) -2)) 16)))
(-.f64 (/.f64 (*.f64 -3 (/.f64 (*.f64 (pow.f64 im 2) (+.f64 1/2 (*.f64 -1/4 (pow.f64 re 2)))) -2)) 2) (/.f64 (/.f64 (*.f64 (pow.f64 im 2) (+.f64 1/2 (*.f64 -1/4 (pow.f64 re 2)))) -2) 2))
(-.f64 (/.f64 (*.f64 (pow.f64 im 2) (*.f64 (+.f64 1/2 (*.f64 -1/4 (pow.f64 re 2))) 3)) 4) (/.f64 (/.f64 (*.f64 (pow.f64 im 2) (-.f64 (neg.f64 (pow.f64 re 2)) -2)) -4) 4))
(/.f64 (*.f64 (pow.f64 im 2) (+.f64 1/2 (*.f64 -1/4 (pow.f64 re 2)))) 1)
(/.f64 (*.f64 (pow.f64 im 2) (+.f64 1 (*.f64 (pow.f64 re 2) -1/2))) 2)
(/.f64 (*.f64 (pow.f64 im 2) (-.f64 (neg.f64 (pow.f64 re 2)) -2)) 4)
(/.f64 (*.f64 (*.f64 (pow.f64 im 2) 4) (-.f64 (neg.f64 (pow.f64 re 2)) -2)) 16)
(/.f64 (*.f64 (pow.f64 im 2) (*.f64 2 (-.f64 (neg.f64 (pow.f64 re 2)) -2))) 8)
(/.f64 (+.f64 (*.f64 (pow.f64 im 2) (*.f64 2 (-.f64 (neg.f64 (pow.f64 re 2)) -2))) (*.f64 (pow.f64 im 2) (*.f64 2 (-.f64 (neg.f64 (pow.f64 re 2)) -2)))) 16)
(/.f64 (+.f64 (*.f64 (*.f64 (pow.f64 im 2) 4) (-.f64 (neg.f64 (pow.f64 re 2)) -2)) (*.f64 (*.f64 (pow.f64 im 2) 4) (-.f64 (neg.f64 (pow.f64 re 2)) -2))) 32)
(/.f64 (*.f64 (*.f64 2 (-.f64 (neg.f64 (pow.f64 re 2)) -2)) (*.f64 2 (*.f64 (pow.f64 im 2) 4))) 64)
(pow.f64 (*.f64 (pow.f64 im 2) (+.f64 1/2 (*.f64 -1/4 (pow.f64 re 2)))) 1)
(+.f64 (pow.f64 re 2) 0)
(+.f64 0 (pow.f64 re 2))
(+.f64 (/.f64 (pow.f64 re 2) 4) (neg.f64 (*.f64 (pow.f64 re 2) -3/4)))
(+.f64 (/.f64 (pow.f64 re 2) 4) (/.f64 (*.f64 -3 (*.f64 (pow.f64 re 2) -1/2)) 2))
(+.f64 (/.f64 (pow.f64 re 2) 4) (/.f64 (*.f64 (pow.f64 re 2) 3) 4))
(+.f64 (/.f64 (pow.f64 re 2) 2) (/.f64 (pow.f64 re 2) 2))
(+.f64 (neg.f64 (*.f64 (pow.f64 re 2) -3/4)) (/.f64 (pow.f64 re 2) 4))
(+.f64 (/.f64 (*.f64 -3 (*.f64 (pow.f64 re 2) -1/2)) 2) (/.f64 (pow.f64 re 2) 4))
(+.f64 (/.f64 (*.f64 (pow.f64 re 2) 3) 4) (/.f64 (pow.f64 re 2) 4))
(-.f64 (pow.f64 re 2) 0)
(-.f64 (/.f64 (pow.f64 re 2) 2) (*.f64 (pow.f64 re 2) -1/2))
(-.f64 (neg.f64 (*.f64 (pow.f64 re 2) -3/4)) (neg.f64 (/.f64 (pow.f64 re 2) 4)))
(-.f64 (/.f64 (*.f64 -3 (*.f64 (pow.f64 re 2) -1/2)) 2) (*.f64 -1/4 (pow.f64 re 2)))
(-.f64 (/.f64 (*.f64 (pow.f64 re 2) 3) 4) (*.f64 -1/4 (pow.f64 re 2)))
(*.f64 2 (/.f64 (pow.f64 re 2) 2))
(*.f64 2 (*.f64 1/2 (pow.f64 re 2)))
(*.f64 1/2 (*.f64 2 (pow.f64 re 2)))
(*.f64 (pow.f64 re 2) 1)
(*.f64 1 (pow.f64 re 2))
(*.f64 (*.f64 2 (pow.f64 re 2)) 1/2)
(*.f64 (pow.f64 (+.f64 re re) 2) 1/4)
(*.f64 1/4 (pow.f64 (+.f64 re re) 2))
(*.f64 (*.f64 2 (pow.f64 (+.f64 re re) 2)) 1/8)
(*.f64 -2 (*.f64 (pow.f64 re 2) -1/2))
(*.f64 (*.f64 1/2 (pow.f64 re 2)) 2)
(*.f64 1/8 (*.f64 2 (pow.f64 (+.f64 re re) 2)))
(*.f64 1/16 (pow.f64 (*.f64 re 4) 2))
(*.f64 (pow.f64 (*.f64 re 4) 2) 1/16)
(/.f64 (pow.f64 re 2) 1)
(/.f64 (*.f64 2 (pow.f64 re 2)) 2)
(/.f64 (pow.f64 (+.f64 re re) 2) 4)
(/.f64 (*.f64 2 (pow.f64 (+.f64 re re) 2)) 8)
(/.f64 (+.f64 (*.f64 2 (pow.f64 (+.f64 re re) 2)) (*.f64 2 (pow.f64 (+.f64 re re) 2))) 16)
Outputs
(*.f64 (+.f64 1/2 (*.f64 -1/4 (pow.f64 re 2))) (pow.f64 im 2))
(*.f64 (-.f64 1/2 (/.f64 (pow.f64 re 2) 4)) (pow.f64 im 2))
(*.f64 (+.f64 1/2 (*.f64 -1/4 (pow.f64 re 2))) (pow.f64 im 2))
(*.f64 (-.f64 1/2 (/.f64 (pow.f64 re 2) 4)) (pow.f64 im 2))
(*.f64 (+.f64 1/2 (*.f64 -1/4 (pow.f64 re 2))) (pow.f64 im 2))
(*.f64 (-.f64 1/2 (/.f64 (pow.f64 re 2) 4)) (pow.f64 im 2))
(*.f64 (+.f64 1/2 (*.f64 -1/4 (pow.f64 re 2))) (pow.f64 im 2))
(*.f64 (-.f64 1/2 (/.f64 (pow.f64 re 2) 4)) (pow.f64 im 2))
(*.f64 (+.f64 1/2 (*.f64 -1/4 (pow.f64 re 2))) (pow.f64 im 2))
(*.f64 (-.f64 1/2 (/.f64 (pow.f64 re 2) 4)) (pow.f64 im 2))
(*.f64 (+.f64 1/2 (*.f64 -1/4 (pow.f64 re 2))) (pow.f64 im 2))
(*.f64 (-.f64 1/2 (/.f64 (pow.f64 re 2) 4)) (pow.f64 im 2))
(*.f64 (+.f64 1/2 (*.f64 -1/4 (pow.f64 re 2))) (pow.f64 im 2))
(*.f64 (-.f64 1/2 (/.f64 (pow.f64 re 2) 4)) (pow.f64 im 2))
(*.f64 (+.f64 1/2 (*.f64 -1/4 (pow.f64 re 2))) (pow.f64 im 2))
(*.f64 (-.f64 1/2 (/.f64 (pow.f64 re 2) 4)) (pow.f64 im 2))
(*.f64 (+.f64 1/2 (*.f64 -1/4 (pow.f64 re 2))) (pow.f64 im 2))
(*.f64 (-.f64 1/2 (/.f64 (pow.f64 re 2) 4)) (pow.f64 im 2))
(*.f64 (+.f64 1/2 (*.f64 -1/4 (pow.f64 re 2))) (pow.f64 im 2))
(*.f64 (-.f64 1/2 (/.f64 (pow.f64 re 2) 4)) (pow.f64 im 2))
(*.f64 (+.f64 1/2 (*.f64 -1/4 (pow.f64 re 2))) (pow.f64 im 2))
(*.f64 (-.f64 1/2 (/.f64 (pow.f64 re 2) 4)) (pow.f64 im 2))
(*.f64 (+.f64 1/2 (*.f64 -1/4 (pow.f64 re 2))) (pow.f64 im 2))
(*.f64 (-.f64 1/2 (/.f64 (pow.f64 re 2) 4)) (pow.f64 im 2))
(*.f64 1/2 (pow.f64 im 2))
(+.f64 (*.f64 1/2 (pow.f64 im 2)) (*.f64 -1/4 (*.f64 (pow.f64 re 2) (pow.f64 im 2))))
(*.f64 (+.f64 1/2 (*.f64 -1/4 (pow.f64 re 2))) (pow.f64 im 2))
(*.f64 (-.f64 1/2 (/.f64 (pow.f64 re 2) 4)) (pow.f64 im 2))
(+.f64 (*.f64 1/2 (pow.f64 im 2)) (*.f64 -1/4 (*.f64 (pow.f64 re 2) (pow.f64 im 2))))
(*.f64 (+.f64 1/2 (*.f64 -1/4 (pow.f64 re 2))) (pow.f64 im 2))
(*.f64 (-.f64 1/2 (/.f64 (pow.f64 re 2) 4)) (pow.f64 im 2))
(+.f64 (*.f64 1/2 (pow.f64 im 2)) (*.f64 -1/4 (*.f64 (pow.f64 re 2) (pow.f64 im 2))))
(*.f64 (+.f64 1/2 (*.f64 -1/4 (pow.f64 re 2))) (pow.f64 im 2))
(*.f64 (-.f64 1/2 (/.f64 (pow.f64 re 2) 4)) (pow.f64 im 2))
(*.f64 -1/4 (*.f64 (pow.f64 re 2) (pow.f64 im 2)))
(*.f64 -1/4 (pow.f64 (*.f64 re im) 2))
(+.f64 (*.f64 1/2 (pow.f64 im 2)) (*.f64 -1/4 (*.f64 (pow.f64 re 2) (pow.f64 im 2))))
(*.f64 (+.f64 1/2 (*.f64 -1/4 (pow.f64 re 2))) (pow.f64 im 2))
(*.f64 (-.f64 1/2 (/.f64 (pow.f64 re 2) 4)) (pow.f64 im 2))
(+.f64 (*.f64 1/2 (pow.f64 im 2)) (*.f64 -1/4 (*.f64 (pow.f64 re 2) (pow.f64 im 2))))
(*.f64 (+.f64 1/2 (*.f64 -1/4 (pow.f64 re 2))) (pow.f64 im 2))
(*.f64 (-.f64 1/2 (/.f64 (pow.f64 re 2) 4)) (pow.f64 im 2))
(+.f64 (*.f64 1/2 (pow.f64 im 2)) (*.f64 -1/4 (*.f64 (pow.f64 re 2) (pow.f64 im 2))))
(*.f64 (+.f64 1/2 (*.f64 -1/4 (pow.f64 re 2))) (pow.f64 im 2))
(*.f64 (-.f64 1/2 (/.f64 (pow.f64 re 2) 4)) (pow.f64 im 2))
(*.f64 -1/4 (*.f64 (pow.f64 re 2) (pow.f64 im 2)))
(*.f64 -1/4 (pow.f64 (*.f64 re im) 2))
(+.f64 (*.f64 1/2 (pow.f64 im 2)) (*.f64 -1/4 (*.f64 (pow.f64 re 2) (pow.f64 im 2))))
(*.f64 (+.f64 1/2 (*.f64 -1/4 (pow.f64 re 2))) (pow.f64 im 2))
(*.f64 (-.f64 1/2 (/.f64 (pow.f64 re 2) 4)) (pow.f64 im 2))
(+.f64 (*.f64 1/2 (pow.f64 im 2)) (*.f64 -1/4 (*.f64 (pow.f64 re 2) (pow.f64 im 2))))
(*.f64 (+.f64 1/2 (*.f64 -1/4 (pow.f64 re 2))) (pow.f64 im 2))
(*.f64 (-.f64 1/2 (/.f64 (pow.f64 re 2) 4)) (pow.f64 im 2))
(+.f64 (*.f64 1/2 (pow.f64 im 2)) (*.f64 -1/4 (*.f64 (pow.f64 re 2) (pow.f64 im 2))))
(*.f64 (+.f64 1/2 (*.f64 -1/4 (pow.f64 re 2))) (pow.f64 im 2))
(*.f64 (-.f64 1/2 (/.f64 (pow.f64 re 2) 4)) (pow.f64 im 2))
(+.f64 (*.f64 (pow.f64 im 2) (+.f64 1/2 (*.f64 -1/4 (pow.f64 re 2)))) 0)
(*.f64 (+.f64 1/2 (*.f64 -1/4 (pow.f64 re 2))) (pow.f64 im 2))
(*.f64 (-.f64 1/2 (/.f64 (pow.f64 re 2) 4)) (pow.f64 im 2))
(+.f64 0 (*.f64 (pow.f64 im 2) (+.f64 1/2 (*.f64 -1/4 (pow.f64 re 2)))))
(*.f64 (+.f64 1/2 (*.f64 -1/4 (pow.f64 re 2))) (pow.f64 im 2))
(*.f64 (-.f64 1/2 (/.f64 (pow.f64 re 2) 4)) (pow.f64 im 2))
(+.f64 (*.f64 (pow.f64 im 2) (+.f64 (/.f64 (neg.f64 (pow.f64 re 2)) 8) 1/4)) (*.f64 (pow.f64 im 2) (+.f64 (/.f64 (neg.f64 (pow.f64 re 2)) 8) 1/4)))
(*.f64 (+.f64 (/.f64 (neg.f64 (pow.f64 re 2)) 8) 1/4) (+.f64 (pow.f64 im 2) (pow.f64 im 2)))
(*.f64 (+.f64 (/.f64 (pow.f64 re 2) -8) 1/4) (+.f64 (pow.f64 im 2) (pow.f64 im 2)))
(*.f64 -2 (neg.f64 (*.f64 (pow.f64 im 2) (+.f64 (/.f64 (pow.f64 re 2) -8) 1/4))))
(*.f64 (*.f64 (pow.f64 im 2) (+.f64 (/.f64 (pow.f64 re 2) -8) 1/4)) 2)
(+.f64 (/.f64 (*.f64 (pow.f64 im 2) (-.f64 (neg.f64 (pow.f64 re 2)) -2)) 16) (+.f64 (*.f64 (pow.f64 im 2) (+.f64 (/.f64 (neg.f64 (pow.f64 re 2)) 8) 1/4)) (/.f64 (*.f64 (pow.f64 im 2) (-.f64 (neg.f64 (pow.f64 re 2)) -2)) 16)))
(+.f64 (*.f64 (pow.f64 im 2) (+.f64 (/.f64 (pow.f64 re 2) -8) 1/4)) (+.f64 (/.f64 (*.f64 (pow.f64 im 2) (-.f64 2 (pow.f64 re 2))) 16) (/.f64 (*.f64 (pow.f64 im 2) (-.f64 2 (pow.f64 re 2))) 16)))
(+.f64 (*.f64 (pow.f64 im 2) (+.f64 (/.f64 (pow.f64 re 2) -8) 1/4)) (/.f64 (*.f64 (pow.f64 im 2) (-.f64 2 (pow.f64 re 2))) 8))
(+.f64 (/.f64 (*.f64 (pow.f64 im 2) (-.f64 (neg.f64 (pow.f64 re 2)) -2)) 16) (/.f64 (*.f64 -3 (/.f64 (*.f64 (pow.f64 im 2) (+.f64 1/2 (*.f64 -1/4 (pow.f64 re 2)))) -2)) 2))
(+.f64 (/.f64 (*.f64 (pow.f64 im 2) (-.f64 (neg.f64 (pow.f64 re 2)) -2)) 16) (/.f64 (*.f64 (*.f64 (+.f64 1/2 (*.f64 -1/4 (pow.f64 re 2))) (pow.f64 im 2)) 3/2) 2))
(+.f64 (/.f64 (*.f64 (pow.f64 im 2) (-.f64 2 (pow.f64 re 2))) 16) (/.f64 (*.f64 (*.f64 (+.f64 1/2 (*.f64 -1/4 (pow.f64 re 2))) (pow.f64 im 2)) 3/2) 2))
(+.f64 (/.f64 (*.f64 (pow.f64 im 2) (-.f64 2 (pow.f64 re 2))) 16) (/.f64 (*.f64 (+.f64 1/2 (*.f64 -1/4 (pow.f64 re 2))) (*.f64 (pow.f64 im 2) 3/2)) 2))
(/.f64 (+.f64 (*.f64 (pow.f64 im 2) (-.f64 2 (pow.f64 re 2))) (*.f64 (*.f64 (-.f64 1/2 (/.f64 (pow.f64 re 2) 4)) (pow.f64 im 2)) 12)) 16)
(+.f64 (/.f64 (*.f64 (pow.f64 im 2) (-.f64 (neg.f64 (pow.f64 re 2)) -2)) 16) (/.f64 (*.f64 (pow.f64 im 2) (*.f64 (+.f64 1/2 (*.f64 -1/4 (pow.f64 re 2))) 3)) 4))
(+.f64 (/.f64 (*.f64 (pow.f64 im 2) (-.f64 (neg.f64 (pow.f64 re 2)) -2)) 16) (/.f64 (*.f64 (*.f64 (+.f64 1/2 (*.f64 -1/4 (pow.f64 re 2))) (pow.f64 im 2)) 3/2) 2))
(+.f64 (/.f64 (*.f64 (pow.f64 im 2) (-.f64 2 (pow.f64 re 2))) 16) (/.f64 (*.f64 (*.f64 (+.f64 1/2 (*.f64 -1/4 (pow.f64 re 2))) (pow.f64 im 2)) 3/2) 2))
(+.f64 (/.f64 (*.f64 (pow.f64 im 2) (-.f64 2 (pow.f64 re 2))) 16) (/.f64 (*.f64 (+.f64 1/2 (*.f64 -1/4 (pow.f64 re 2))) (*.f64 (pow.f64 im 2) 3/2)) 2))
(/.f64 (+.f64 (*.f64 (pow.f64 im 2) (-.f64 2 (pow.f64 re 2))) (*.f64 (*.f64 (-.f64 1/2 (/.f64 (pow.f64 re 2) 4)) (pow.f64 im 2)) 12)) 16)
(+.f64 (+.f64 (*.f64 (pow.f64 im 2) (+.f64 (/.f64 (neg.f64 (pow.f64 re 2)) 8) 1/4)) (/.f64 (*.f64 (pow.f64 im 2) (-.f64 (neg.f64 (pow.f64 re 2)) -2)) 16)) (/.f64 (*.f64 (pow.f64 im 2) (-.f64 (neg.f64 (pow.f64 re 2)) -2)) 16))
(+.f64 (/.f64 (*.f64 (pow.f64 im 2) (-.f64 (neg.f64 (pow.f64 re 2)) -2)) 16) (+.f64 (*.f64 (pow.f64 im 2) (+.f64 (/.f64 (neg.f64 (pow.f64 re 2)) 8) 1/4)) (/.f64 (*.f64 (pow.f64 im 2) (-.f64 (neg.f64 (pow.f64 re 2)) -2)) 16)))
(+.f64 (*.f64 (pow.f64 im 2) (+.f64 (/.f64 (pow.f64 re 2) -8) 1/4)) (+.f64 (/.f64 (*.f64 (pow.f64 im 2) (-.f64 2 (pow.f64 re 2))) 16) (/.f64 (*.f64 (pow.f64 im 2) (-.f64 2 (pow.f64 re 2))) 16)))
(+.f64 (*.f64 (pow.f64 im 2) (+.f64 (/.f64 (pow.f64 re 2) -8) 1/4)) (/.f64 (*.f64 (pow.f64 im 2) (-.f64 2 (pow.f64 re 2))) 8))
(+.f64 (/.f64 (*.f64 -3 (/.f64 (*.f64 (pow.f64 im 2) (+.f64 1/2 (*.f64 -1/4 (pow.f64 re 2)))) -2)) 2) (/.f64 (*.f64 (pow.f64 im 2) (-.f64 (neg.f64 (pow.f64 re 2)) -2)) 16))
(+.f64 (/.f64 (*.f64 (pow.f64 im 2) (-.f64 (neg.f64 (pow.f64 re 2)) -2)) 16) (/.f64 (*.f64 (*.f64 (+.f64 1/2 (*.f64 -1/4 (pow.f64 re 2))) (pow.f64 im 2)) 3/2) 2))
(+.f64 (/.f64 (*.f64 (pow.f64 im 2) (-.f64 2 (pow.f64 re 2))) 16) (/.f64 (*.f64 (*.f64 (+.f64 1/2 (*.f64 -1/4 (pow.f64 re 2))) (pow.f64 im 2)) 3/2) 2))
(+.f64 (/.f64 (*.f64 (pow.f64 im 2) (-.f64 2 (pow.f64 re 2))) 16) (/.f64 (*.f64 (+.f64 1/2 (*.f64 -1/4 (pow.f64 re 2))) (*.f64 (pow.f64 im 2) 3/2)) 2))
(/.f64 (+.f64 (*.f64 (pow.f64 im 2) (-.f64 2 (pow.f64 re 2))) (*.f64 (*.f64 (-.f64 1/2 (/.f64 (pow.f64 re 2) 4)) (pow.f64 im 2)) 12)) 16)
(+.f64 (/.f64 (*.f64 (pow.f64 im 2) (*.f64 (+.f64 1/2 (*.f64 -1/4 (pow.f64 re 2))) 3)) 4) (/.f64 (*.f64 (pow.f64 im 2) (-.f64 (neg.f64 (pow.f64 re 2)) -2)) 16))
(+.f64 (/.f64 (*.f64 (pow.f64 im 2) (-.f64 (neg.f64 (pow.f64 re 2)) -2)) 16) (/.f64 (*.f64 (*.f64 (+.f64 1/2 (*.f64 -1/4 (pow.f64 re 2))) (pow.f64 im 2)) 3/2) 2))
(+.f64 (/.f64 (*.f64 (pow.f64 im 2) (-.f64 2 (pow.f64 re 2))) 16) (/.f64 (*.f64 (*.f64 (+.f64 1/2 (*.f64 -1/4 (pow.f64 re 2))) (pow.f64 im 2)) 3/2) 2))
(+.f64 (/.f64 (*.f64 (pow.f64 im 2) (-.f64 2 (pow.f64 re 2))) 16) (/.f64 (*.f64 (+.f64 1/2 (*.f64 -1/4 (pow.f64 re 2))) (*.f64 (pow.f64 im 2) 3/2)) 2))
(/.f64 (+.f64 (*.f64 (pow.f64 im 2) (-.f64 2 (pow.f64 re 2))) (*.f64 (*.f64 (-.f64 1/2 (/.f64 (pow.f64 re 2) 4)) (pow.f64 im 2)) 12)) 16)
(-.f64 (*.f64 (pow.f64 im 2) (+.f64 1/2 (*.f64 -1/4 (pow.f64 re 2)))) 0)
(*.f64 (+.f64 1/2 (*.f64 -1/4 (pow.f64 re 2))) (pow.f64 im 2))
(*.f64 (-.f64 1/2 (/.f64 (pow.f64 re 2) 4)) (pow.f64 im 2))
(-.f64 (*.f64 (pow.f64 im 2) (+.f64 (/.f64 (neg.f64 (pow.f64 re 2)) 8) 1/4)) (/.f64 (*.f64 (pow.f64 im 2) (+.f64 1/2 (*.f64 -1/4 (pow.f64 re 2)))) -2))
(-.f64 (*.f64 (pow.f64 im 2) (+.f64 (/.f64 (neg.f64 (pow.f64 re 2)) 8) 1/4)) (/.f64 (*.f64 (+.f64 1/2 (*.f64 -1/4 (pow.f64 re 2))) (pow.f64 im 2)) -2))
(-.f64 (*.f64 (pow.f64 im 2) (+.f64 (/.f64 (pow.f64 re 2) -8) 1/4)) (/.f64 (*.f64 (+.f64 1/2 (*.f64 -1/4 (pow.f64 re 2))) (pow.f64 im 2)) -2))
(+.f64 (*.f64 (pow.f64 im 2) (+.f64 (/.f64 (pow.f64 re 2) -8) 1/4)) (/.f64 (*.f64 (-.f64 1/2 (/.f64 (pow.f64 re 2) 4)) (pow.f64 im 2)) 2))
(-.f64 (+.f64 (*.f64 (pow.f64 im 2) (+.f64 (/.f64 (neg.f64 (pow.f64 re 2)) 8) 1/4)) (/.f64 (*.f64 (pow.f64 im 2) (-.f64 (neg.f64 (pow.f64 re 2)) -2)) 16)) (neg.f64 (/.f64 (*.f64 (pow.f64 im 2) (-.f64 (neg.f64 (pow.f64 re 2)) -2)) 16)))
(-.f64 (+.f64 (*.f64 (pow.f64 im 2) (+.f64 (/.f64 (pow.f64 re 2) -8) 1/4)) (/.f64 (*.f64 (pow.f64 im 2) (-.f64 2 (pow.f64 re 2))) 16)) (/.f64 (*.f64 (pow.f64 im 2) (-.f64 2 (pow.f64 re 2))) -16))
(-.f64 (*.f64 (pow.f64 im 2) (+.f64 (/.f64 (pow.f64 re 2) -8) 1/4)) (+.f64 (*.f64 (*.f64 (pow.f64 im 2) (-.f64 2 (pow.f64 re 2))) -1/16) (*.f64 (*.f64 (pow.f64 im 2) (-.f64 2 (pow.f64 re 2))) -1/16)))
(-.f64 (*.f64 (pow.f64 im 2) (+.f64 (/.f64 (pow.f64 re 2) -8) 1/4)) (/.f64 (*.f64 (pow.f64 im 2) (-.f64 2 (pow.f64 re 2))) -8))
(-.f64 (/.f64 (*.f64 -3 (/.f64 (*.f64 (pow.f64 im 2) (+.f64 1/2 (*.f64 -1/4 (pow.f64 re 2)))) -2)) 2) (/.f64 (/.f64 (*.f64 (pow.f64 im 2) (+.f64 1/2 (*.f64 -1/4 (pow.f64 re 2)))) -2) 2))
(-.f64 (/.f64 (*.f64 (*.f64 (+.f64 1/2 (*.f64 -1/4 (pow.f64 re 2))) (pow.f64 im 2)) 3/2) 2) (/.f64 (*.f64 (+.f64 1/2 (*.f64 -1/4 (pow.f64 re 2))) (pow.f64 im 2)) -4))
(-.f64 (/.f64 (*.f64 (+.f64 1/2 (*.f64 -1/4 (pow.f64 re 2))) (*.f64 (pow.f64 im 2) 3/2)) 2) (/.f64 (*.f64 (+.f64 1/2 (*.f64 -1/4 (pow.f64 re 2))) (pow.f64 im 2)) -4))
(/.f64 (-.f64 (*.f64 (-.f64 1/2 (/.f64 (pow.f64 re 2) 4)) (*.f64 (pow.f64 im 2) 3)) (neg.f64 (*.f64 (-.f64 1/2 (/.f64 (pow.f64 re 2) 4)) (pow.f64 im 2)))) 4)
(-.f64 (/.f64 (*.f64 (pow.f64 im 2) (*.f64 (+.f64 1/2 (*.f64 -1/4 (pow.f64 re 2))) 3)) 4) (/.f64 (/.f64 (*.f64 (pow.f64 im 2) (-.f64 (neg.f64 (pow.f64 re 2)) -2)) -4) 4))
(-.f64 (/.f64 (*.f64 (pow.f64 im 2) (*.f64 (+.f64 1/2 (*.f64 -1/4 (pow.f64 re 2))) 3)) 4) (/.f64 (*.f64 (pow.f64 im 2) (-.f64 (neg.f64 (pow.f64 re 2)) -2)) -16))
(-.f64 (/.f64 (*.f64 (+.f64 1/2 (*.f64 -1/4 (pow.f64 re 2))) (*.f64 3 (pow.f64 im 2))) 4) (/.f64 (*.f64 (pow.f64 im 2) (-.f64 2 (pow.f64 re 2))) -16))
(-.f64 (/.f64 (*.f64 (+.f64 1/2 (*.f64 -1/4 (pow.f64 re 2))) (*.f64 (pow.f64 im 2) 3/2)) 2) (*.f64 (*.f64 (pow.f64 im 2) (-.f64 2 (pow.f64 re 2))) -1/16))
(/.f64 (-.f64 (*.f64 (*.f64 (-.f64 1/2 (/.f64 (pow.f64 re 2) 4)) (pow.f64 im 2)) 12) (neg.f64 (*.f64 (pow.f64 im 2) (-.f64 2 (pow.f64 re 2))))) 16)
(/.f64 (*.f64 (pow.f64 im 2) (+.f64 1/2 (*.f64 -1/4 (pow.f64 re 2)))) 1)
(*.f64 (+.f64 1/2 (*.f64 -1/4 (pow.f64 re 2))) (pow.f64 im 2))
(*.f64 (-.f64 1/2 (/.f64 (pow.f64 re 2) 4)) (pow.f64 im 2))
(/.f64 (*.f64 (pow.f64 im 2) (+.f64 1 (*.f64 (pow.f64 re 2) -1/2))) 2)
(/.f64 (*.f64 (pow.f64 im 2) (-.f64 2 (pow.f64 re 2))) 4)
(/.f64 (*.f64 (pow.f64 im 2) (-.f64 (neg.f64 (pow.f64 re 2)) -2)) 4)
(/.f64 (*.f64 (pow.f64 im 2) (+.f64 1 (*.f64 (pow.f64 re 2) -1/2))) 2)
(/.f64 (*.f64 (pow.f64 im 2) (-.f64 2 (pow.f64 re 2))) 4)
(/.f64 (*.f64 (*.f64 (pow.f64 im 2) 4) (-.f64 (neg.f64 (pow.f64 re 2)) -2)) 16)
(/.f64 (*.f64 (pow.f64 im 2) (+.f64 1 (*.f64 (pow.f64 re 2) -1/2))) 2)
(/.f64 (*.f64 (pow.f64 im 2) (-.f64 2 (pow.f64 re 2))) 4)
(/.f64 (*.f64 (pow.f64 im 2) (*.f64 2 (-.f64 (neg.f64 (pow.f64 re 2)) -2))) 8)
(/.f64 (*.f64 (pow.f64 im 2) (+.f64 1 (*.f64 (pow.f64 re 2) -1/2))) 2)
(/.f64 (*.f64 (pow.f64 im 2) (-.f64 2 (pow.f64 re 2))) 4)
(/.f64 (+.f64 (*.f64 (pow.f64 im 2) (*.f64 2 (-.f64 (neg.f64 (pow.f64 re 2)) -2))) (*.f64 (pow.f64 im 2) (*.f64 2 (-.f64 (neg.f64 (pow.f64 re 2)) -2)))) 16)
(/.f64 (*.f64 (pow.f64 im 2) (+.f64 1 (*.f64 (pow.f64 re 2) -1/2))) 2)
(/.f64 (*.f64 (pow.f64 im 2) (-.f64 2 (pow.f64 re 2))) 4)
(/.f64 (+.f64 (*.f64 (*.f64 (pow.f64 im 2) 4) (-.f64 (neg.f64 (pow.f64 re 2)) -2)) (*.f64 (*.f64 (pow.f64 im 2) 4) (-.f64 (neg.f64 (pow.f64 re 2)) -2))) 32)
(/.f64 (*.f64 (pow.f64 im 2) (+.f64 1 (*.f64 (pow.f64 re 2) -1/2))) 2)
(/.f64 (*.f64 (pow.f64 im 2) (-.f64 2 (pow.f64 re 2))) 4)
(/.f64 (*.f64 (*.f64 2 (-.f64 (neg.f64 (pow.f64 re 2)) -2)) (*.f64 2 (*.f64 (pow.f64 im 2) 4))) 64)
(/.f64 (*.f64 (pow.f64 im 2) (+.f64 1 (*.f64 (pow.f64 re 2) -1/2))) 2)
(/.f64 (*.f64 (pow.f64 im 2) (-.f64 2 (pow.f64 re 2))) 4)
(pow.f64 (*.f64 (pow.f64 im 2) (+.f64 1/2 (*.f64 -1/4 (pow.f64 re 2)))) 1)
(*.f64 (+.f64 1/2 (*.f64 -1/4 (pow.f64 re 2))) (pow.f64 im 2))
(*.f64 (-.f64 1/2 (/.f64 (pow.f64 re 2) 4)) (pow.f64 im 2))
(+.f64 (pow.f64 re 2) 0)
(pow.f64 re 2)
(+.f64 0 (pow.f64 re 2))
(pow.f64 re 2)
(+.f64 (/.f64 (pow.f64 re 2) 4) (neg.f64 (*.f64 (pow.f64 re 2) -3/4)))
(pow.f64 re 2)
(+.f64 (/.f64 (pow.f64 re 2) 4) (/.f64 (*.f64 -3 (*.f64 (pow.f64 re 2) -1/2)) 2))
(pow.f64 re 2)
(+.f64 (/.f64 (pow.f64 re 2) 4) (/.f64 (*.f64 (pow.f64 re 2) 3) 4))
(pow.f64 re 2)
(+.f64 (/.f64 (pow.f64 re 2) 2) (/.f64 (pow.f64 re 2) 2))
(pow.f64 re 2)
(+.f64 (neg.f64 (*.f64 (pow.f64 re 2) -3/4)) (/.f64 (pow.f64 re 2) 4))
(pow.f64 re 2)
(+.f64 (/.f64 (*.f64 -3 (*.f64 (pow.f64 re 2) -1/2)) 2) (/.f64 (pow.f64 re 2) 4))
(pow.f64 re 2)
(+.f64 (/.f64 (*.f64 (pow.f64 re 2) 3) 4) (/.f64 (pow.f64 re 2) 4))
(pow.f64 re 2)
(-.f64 (pow.f64 re 2) 0)
(pow.f64 re 2)
(-.f64 (/.f64 (pow.f64 re 2) 2) (*.f64 (pow.f64 re 2) -1/2))
(pow.f64 re 2)
(-.f64 (neg.f64 (*.f64 (pow.f64 re 2) -3/4)) (neg.f64 (/.f64 (pow.f64 re 2) 4)))
(pow.f64 re 2)
(-.f64 (/.f64 (*.f64 -3 (*.f64 (pow.f64 re 2) -1/2)) 2) (*.f64 -1/4 (pow.f64 re 2)))
(pow.f64 re 2)
(-.f64 (/.f64 (*.f64 (pow.f64 re 2) 3) 4) (*.f64 -1/4 (pow.f64 re 2)))
(pow.f64 re 2)
(*.f64 2 (/.f64 (pow.f64 re 2) 2))
(pow.f64 re 2)
(*.f64 2 (*.f64 1/2 (pow.f64 re 2)))
(pow.f64 re 2)
(*.f64 1/2 (*.f64 2 (pow.f64 re 2)))
(pow.f64 re 2)
(*.f64 (pow.f64 re 2) 1)
(pow.f64 re 2)
(*.f64 1 (pow.f64 re 2))
(pow.f64 re 2)
(*.f64 (*.f64 2 (pow.f64 re 2)) 1/2)
(pow.f64 re 2)
(*.f64 (pow.f64 (+.f64 re re) 2) 1/4)
(*.f64 1/4 (pow.f64 (+.f64 re re) 2))
(*.f64 1/4 (pow.f64 (+.f64 re re) 2))
(*.f64 (*.f64 2 (pow.f64 (+.f64 re re) 2)) 1/8)
(*.f64 1/4 (pow.f64 (+.f64 re re) 2))
(*.f64 -2 (*.f64 (pow.f64 re 2) -1/2))
(pow.f64 re 2)
(*.f64 (*.f64 1/2 (pow.f64 re 2)) 2)
(pow.f64 re 2)
(*.f64 1/8 (*.f64 2 (pow.f64 (+.f64 re re) 2)))
(*.f64 1/4 (pow.f64 (+.f64 re re) 2))
(*.f64 1/16 (pow.f64 (*.f64 re 4) 2))
(pow.f64 re 2)
(*.f64 (pow.f64 (*.f64 re 4) 2) 1/16)
(pow.f64 re 2)
(/.f64 (pow.f64 re 2) 1)
(pow.f64 re 2)
(/.f64 (*.f64 2 (pow.f64 re 2)) 2)
(pow.f64 re 2)
(/.f64 (pow.f64 (+.f64 re re) 2) 4)
(/.f64 (*.f64 2 (pow.f64 (+.f64 re re) 2)) 8)
(*.f64 -2 (/.f64 (pow.f64 (+.f64 re re) 2) -8))
(/.f64 (+.f64 (*.f64 2 (pow.f64 (+.f64 re re) 2)) (*.f64 2 (pow.f64 (+.f64 re re) 2))) 16)
(/.f64 (*.f64 2 (pow.f64 (+.f64 re re) 2)) 8)
(*.f64 -2 (/.f64 (pow.f64 (+.f64 re re) 2) -8))

eval65.0ms (0.6%)

Compiler

Compiled 2863 to 2428 computations (15.2% saved)

prune26.0ms (0.2%)

Pruning

11 alts after pruning (1 fresh and 10 done)

PrunedKeptTotal
New1721173
Fresh000
Picked101
Done11011
Total17411185
Error
0.0b
Counts
185 → 11
Alt Table
Click to see full alt table
StatusErrorProgram
1.1b
(-.f64 (*.f64 (pow.f64 im 2) (cos.f64 re)) (*.f64 (cos.f64 re) (+.f64 (*.f64 (pow.f64 im 2) 1/2) -1)))
1.3b
(+.f64 (*.f64 (pow.f64 im 2) 1/2) (cos.f64 re))
1.1b
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (cos.f64 re))
28.0b
(+.f64 1 (*.f64 (pow.f64 im 2) 1/2))
0.0b
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
1.1b
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (pow.f64 im 2)))
61.4b
(*.f64 1/2 (pow.f64 im 2))
27.5b
(*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
28.1b
(*.f64 1/2 2)
62.1b
(*.f64 -1/4 (pow.f64 (*.f64 re im) 2))
1.4b
(cos.f64 re)
Compiler

Compiled 111 to 88 computations (20.7% saved)

regimes37.0ms (0.4%)

Counts
13 → 1
Calls
Call 1
Inputs
(*.f64 1/2 2)
(cos.f64 re)
(*.f64 1/2 (pow.f64 im 2))
(*.f64 -1/4 (pow.f64 (*.f64 re im) 2))
(+.f64 1 (*.f64 (pow.f64 im 2) 1/2))
(*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (pow.f64 im 2) (*.f64 1/2 (cos.f64 re)))
(+.f64 (*.f64 (pow.f64 im 2) 1/2) (cos.f64 re))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (pow.f64 im 2)))
(*.f64 (pow.f64 im 2) (+.f64 1/2 (*.f64 -1/4 (pow.f64 re 2))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (cos.f64 re))
(-.f64 (*.f64 (pow.f64 im 2) (cos.f64 re)) (*.f64 (cos.f64 re) (+.f64 (*.f64 (pow.f64 im 2) 1/2) -1)))
Outputs
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
Calls

6 calls:

7.0ms
im
7.0ms
re
6.0ms
(cos.f64 re)
6.0ms
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
6.0ms
(*.f64 1/2 (cos.f64 re))
Results
ErrorSegmentsBranch
0.0b1re
0.0b1im
0.0b1(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
0.0b1(*.f64 1/2 (cos.f64 re))
0.0b1(cos.f64 re)
0.0b1(+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
Compiler

Compiled 147 to 102 computations (30.6% saved)

regimes26.0ms (0.2%)

Counts
10 → 1
Calls
Call 1
Inputs
(*.f64 1/2 2)
(cos.f64 re)
(*.f64 1/2 (pow.f64 im 2))
(*.f64 -1/4 (pow.f64 (*.f64 re im) 2))
(+.f64 1 (*.f64 (pow.f64 im 2) 1/2))
(*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (pow.f64 im 2) (*.f64 1/2 (cos.f64 re)))
(+.f64 (*.f64 (pow.f64 im 2) 1/2) (cos.f64 re))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (pow.f64 im 2)))
(*.f64 (pow.f64 im 2) (+.f64 1/2 (*.f64 -1/4 (pow.f64 re 2))))
Outputs
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (pow.f64 im 2)))
Calls

4 calls:

8.0ms
re
5.0ms
im
5.0ms
(cos.f64 re)
5.0ms
(*.f64 1/2 (cos.f64 re))
Results
ErrorSegmentsBranch
1.1b1re
1.1b1im
1.1b1(*.f64 1/2 (cos.f64 re))
1.1b1(cos.f64 re)
Compiler

Compiled 87 to 65 computations (25.3% saved)

regimes21.0ms (0.2%)

Counts
8 → 1
Calls
Call 1
Inputs
(*.f64 1/2 2)
(cos.f64 re)
(*.f64 1/2 (pow.f64 im 2))
(*.f64 -1/4 (pow.f64 (*.f64 re im) 2))
(+.f64 1 (*.f64 (pow.f64 im 2) 1/2))
(*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (pow.f64 im 2) (*.f64 1/2 (cos.f64 re)))
(+.f64 (*.f64 (pow.f64 im 2) 1/2) (cos.f64 re))
Outputs
(+.f64 (*.f64 (pow.f64 im 2) 1/2) (cos.f64 re))
Calls

4 calls:

5.0ms
im
5.0ms
re
4.0ms
(*.f64 1/2 (cos.f64 re))
4.0ms
(cos.f64 re)
Results
ErrorSegmentsBranch
1.3b1re
1.3b1im
1.3b1(*.f64 1/2 (cos.f64 re))
1.3b1(cos.f64 re)
Compiler

Compiled 66 to 49 computations (25.8% saved)

regimes19.0ms (0.2%)

Accuracy

Total -61.1b remaining (-4348%)

Threshold costs -61.1b (-4348%)

Counts
7 → 1
Calls
Call 1
Inputs
(*.f64 1/2 2)
(cos.f64 re)
(*.f64 1/2 (pow.f64 im 2))
(*.f64 -1/4 (pow.f64 (*.f64 re im) 2))
(+.f64 1 (*.f64 (pow.f64 im 2) 1/2))
(*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (pow.f64 im 2) (*.f64 1/2 (cos.f64 re)))
Outputs
(cos.f64 re)
Calls

4 calls:

4.0ms
im
4.0ms
re
4.0ms
(*.f64 1/2 (cos.f64 re))
4.0ms
(cos.f64 re)
Results
ErrorSegmentsBranch
1.4b1re
1.4b1im
1.4b1(*.f64 1/2 (cos.f64 re))
1.4b1(cos.f64 re)
Compiler

Compiled 58 to 44 computations (24.1% saved)

simplify3.0ms (0%)

Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02193
Stop Event
fuel
saturated
Calls
Call 1
Inputs
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (pow.f64 im 2)))
(+.f64 (*.f64 (pow.f64 im 2) 1/2) (cos.f64 re))
(cos.f64 re)
(*.f64 1/2 2)
Outputs
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 2 (pow.f64 im 2)))
(+.f64 (*.f64 (pow.f64 im 2) 1/2) (cos.f64 re))
(cos.f64 re)
(*.f64 1/2 2)
1
Compiler

Compiled 42 to 34 computations (19% saved)

soundness0.0ms (0%)

end31.0ms (0.3%)

Compiler

Compiled 34 to 23 computations (32.4% saved)

Profiling

Loading profile data...