Details

Time bar (total: 21.0s)

analyze183.0ms (0.9%)

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
50%50%50%0.1%0%0%0%2
50%50%50%0.1%0%0%0%3
75%74.9%25%0.1%0%0%0%4
75%74.9%25%0.1%0%0%0%5
80%74.9%18.7%0.1%6.2%0%0%6
80%74.9%18.7%0.1%6.2%0%0%7
82.8%74.9%15.6%0.1%9.4%0%0%8
82.8%74.9%15.6%0.1%9.4%0%0%9
84.2%74.9%14%0.1%10.9%0%0%10
84.2%74.9%14%0.1%10.9%0%0%11
85%74.9%13.3%0.1%11.7%0%0%12
Compiler

Compiled 8 to 6 computations (25% saved)

sample7.4s (35.3%)

Results
3.9s6254×body256valid
1.7s1334×body1024valid
955.0ms660×body1024infinite
423.0ms665×body512valid
178.0ms376×body512infinite
122.0ms406×body256infinite
4.0msbody2048valid
Bogosity

preprocess9.0ms (0%)

Algorithm
egg-herbie
Rules
rational_best-simplify-1
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01130
11330
022
Stop Event
saturated
saturated
Calls
Call 1
Inputs
0
1
Outputs
0
1
Call 2
Inputs
(*.f64 (exp.f64 re) (cos.f64 im))
(*.f64 (exp.f64 im) (cos.f64 re))
Outputs
(*.f64 (exp.f64 re) (cos.f64 im))
(*.f64 (exp.f64 im) (cos.f64 re))
Compiler

Compiled 9 to 7 computations (22.2% saved)

simplify58.0ms (0.3%)

Algorithm
egg-herbie
Rules
rational_best-simplify-1
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0815
1915
Stop Event
saturated
Counts
1 → 1
Calls
Call 1
Inputs
(*.f64 (exp.f64 re) (cos.f64 im))
Outputs
(*.f64 (exp.f64 re) (cos.f64 im))

eval1.0ms (0%)

Compiler

Compiled 7 to 5 computations (28.6% saved)

prune1.0ms (0%)

Pruning

2 alts after pruning (2 fresh and 0 done)

PrunedKeptTotal
New011
Fresh011
Picked000
Done000
Total022
Error
0.0b
Counts
2 → 1
Alt Table
Click to see full alt table
StatusErrorProgram
0.0b
(*.f64 (exp.f64 re) (cos.f64 im))
Compiler

Compiled 7 to 5 computations (28.6% saved)

localize25.0ms (0.1%)

Local error

Found 1 expressions with local error:

NewErrorProgram
0.0b
(*.f64 (exp.f64 re) (cos.f64 im))
Compiler

Compiled 13 to 5 computations (61.5% saved)

series4.0ms (0%)

Counts
1 → 8
Calls

6 calls:

TimeVariablePointExpression
1.0ms
re
@inf
(*.f64 (exp.f64 re) (cos.f64 im))
1.0ms
im
@0
(*.f64 (exp.f64 re) (cos.f64 im))
1.0ms
re
@0
(*.f64 (exp.f64 re) (cos.f64 im))
0.0ms
im
@-inf
(*.f64 (exp.f64 re) (cos.f64 im))
0.0ms
im
@inf
(*.f64 (exp.f64 re) (cos.f64 im))

rewrite364.0ms (1.7%)

Algorithm
batch-egg-rewrite
Rules
1772×rational_best-1
1770×rational_best-2
1770×rational_best-3
1764×rational_best-4
1762×exponential-1
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0815
15115
210415
331215
4103815
5483515
Stop Event
node limit
Counts
1 → 22
Calls
Call 1
Inputs
(*.f64 (exp.f64 re) (cos.f64 im))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (exp.f64 re) (cos.f64 im)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (exp.f64 re) (cos.f64 im)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (exp.f64 re) (*.f64 (cos.f64 im) 1/2)) (*.f64 (exp.f64 re) (*.f64 (cos.f64 im) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (*.f64 (exp.f64 re) (cos.f64 im)) 4) (+.f64 (/.f64 (*.f64 (exp.f64 re) (cos.f64 im)) 4) (*.f64 (exp.f64 re) (*.f64 (cos.f64 im) 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (*.f64 (exp.f64 re) (cos.f64 im)) 4) (/.f64 (/.f64 (*.f64 (exp.f64 re) (*.f64 (cos.f64 im) 3)) 2) 2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (*.f64 (exp.f64 re) (cos.f64 im)) 4) (/.f64 (*.f64 (exp.f64 re) (*.f64 (cos.f64 im) 3)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (exp.f64 re) (cos.f64 im)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (exp.f64 re) (*.f64 (cos.f64 im) 1/2)) (/.f64 (*.f64 (exp.f64 re) (cos.f64 im)) -2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (/.f64 (*.f64 (exp.f64 re) (cos.f64 im)) 4) (*.f64 (exp.f64 re) (*.f64 (cos.f64 im) 1/2))) (-.f64 0 (/.f64 (*.f64 (exp.f64 re) (cos.f64 im)) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (/.f64 (*.f64 (exp.f64 re) (*.f64 (cos.f64 im) 3)) 2) 2) (/.f64 (/.f64 (*.f64 (exp.f64 re) (cos.f64 im)) -2) 2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (*.f64 (exp.f64 re) (*.f64 (cos.f64 im) 3)) 4) (/.f64 (neg.f64 (*.f64 (exp.f64 re) (cos.f64 im))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (exp.f64 re) (cos.f64 im)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (exp.f64 re) (*.f64 (cos.f64 im) 2)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (exp.f64 re) (*.f64 (cos.f64 im) 4)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 (cos.f64 im) 2) (*.f64 (exp.f64 re) 4)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 (exp.f64 re) 4) (*.f64 (cos.f64 im) 4)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 (*.f64 (cos.f64 im) 2) (*.f64 (exp.f64 re) 4)) (*.f64 (*.f64 (cos.f64 im) 2) (*.f64 (exp.f64 re) 4))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 (*.f64 (exp.f64 re) 4) (*.f64 (cos.f64 im) 4)) (*.f64 (*.f64 (exp.f64 re) 4) (*.f64 (cos.f64 im) 4))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 2 (*.f64 (exp.f64 re) 4)) (*.f64 2 (*.f64 (cos.f64 im) 4))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 2 (*.f64 (cos.f64 im) 4)) (*.f64 2 (*.f64 (exp.f64 re) 4))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 (cos.f64 0) 2) (*.f64 (*.f64 (cos.f64 im) 2) (*.f64 (exp.f64 re) 4))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (exp.f64 re) (cos.f64 im)) 1)))))

simplify229.0ms (1.1%)

Algorithm
egg-herbie
Rules
1040×rational_best-simplify-47
1038×rational_best-simplify-51
978×rational_best-simplify-63
748×rational_best-simplify-57
692×rational_best-simplify-65
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
0101704
1253698
2653692
31783636
Stop Event
node limit
Counts
30 → 57
Calls
Call 1
Inputs
(cos.f64 im)
(+.f64 (*.f64 (cos.f64 im) re) (cos.f64 im))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 im) (pow.f64 re 2))) (+.f64 (*.f64 (cos.f64 im) re) (cos.f64 im)))
(+.f64 (*.f64 1/6 (*.f64 (cos.f64 im) (pow.f64 re 3))) (+.f64 (*.f64 1/2 (*.f64 (cos.f64 im) (pow.f64 re 2))) (+.f64 (*.f64 (cos.f64 im) re) (cos.f64 im))))
(exp.f64 re)
(+.f64 (*.f64 -1/2 (*.f64 (exp.f64 re) (pow.f64 im 2))) (exp.f64 re))
(+.f64 (*.f64 -1/2 (*.f64 (exp.f64 re) (pow.f64 im 2))) (+.f64 (*.f64 1/24 (*.f64 (exp.f64 re) (pow.f64 im 4))) (exp.f64 re)))
(+.f64 (*.f64 -1/2 (*.f64 (exp.f64 re) (pow.f64 im 2))) (+.f64 (*.f64 1/24 (*.f64 (exp.f64 re) (pow.f64 im 4))) (+.f64 (exp.f64 re) (*.f64 -1/720 (*.f64 (exp.f64 re) (pow.f64 im 6))))))
(+.f64 (*.f64 (exp.f64 re) (cos.f64 im)) 0)
(+.f64 0 (*.f64 (exp.f64 re) (cos.f64 im)))
(+.f64 (*.f64 (exp.f64 re) (*.f64 (cos.f64 im) 1/2)) (*.f64 (exp.f64 re) (*.f64 (cos.f64 im) 1/2)))
(+.f64 (/.f64 (*.f64 (exp.f64 re) (cos.f64 im)) 4) (+.f64 (/.f64 (*.f64 (exp.f64 re) (cos.f64 im)) 4) (*.f64 (exp.f64 re) (*.f64 (cos.f64 im) 1/2))))
(+.f64 (/.f64 (*.f64 (exp.f64 re) (cos.f64 im)) 4) (/.f64 (/.f64 (*.f64 (exp.f64 re) (*.f64 (cos.f64 im) 3)) 2) 2))
(+.f64 (/.f64 (*.f64 (exp.f64 re) (cos.f64 im)) 4) (/.f64 (*.f64 (exp.f64 re) (*.f64 (cos.f64 im) 3)) 4))
(-.f64 (*.f64 (exp.f64 re) (cos.f64 im)) 0)
(-.f64 (*.f64 (exp.f64 re) (*.f64 (cos.f64 im) 1/2)) (/.f64 (*.f64 (exp.f64 re) (cos.f64 im)) -2))
(-.f64 (+.f64 (/.f64 (*.f64 (exp.f64 re) (cos.f64 im)) 4) (*.f64 (exp.f64 re) (*.f64 (cos.f64 im) 1/2))) (-.f64 0 (/.f64 (*.f64 (exp.f64 re) (cos.f64 im)) 4)))
(-.f64 (/.f64 (/.f64 (*.f64 (exp.f64 re) (*.f64 (cos.f64 im) 3)) 2) 2) (/.f64 (/.f64 (*.f64 (exp.f64 re) (cos.f64 im)) -2) 2))
(-.f64 (/.f64 (*.f64 (exp.f64 re) (*.f64 (cos.f64 im) 3)) 4) (/.f64 (neg.f64 (*.f64 (exp.f64 re) (cos.f64 im))) 4))
(/.f64 (*.f64 (exp.f64 re) (cos.f64 im)) 1)
(/.f64 (*.f64 (exp.f64 re) (*.f64 (cos.f64 im) 2)) 2)
(/.f64 (*.f64 (exp.f64 re) (*.f64 (cos.f64 im) 4)) 4)
(/.f64 (*.f64 (*.f64 (cos.f64 im) 2) (*.f64 (exp.f64 re) 4)) 8)
(/.f64 (*.f64 (*.f64 (exp.f64 re) 4) (*.f64 (cos.f64 im) 4)) 16)
(/.f64 (+.f64 (*.f64 (*.f64 (cos.f64 im) 2) (*.f64 (exp.f64 re) 4)) (*.f64 (*.f64 (cos.f64 im) 2) (*.f64 (exp.f64 re) 4))) 16)
(/.f64 (+.f64 (*.f64 (*.f64 (exp.f64 re) 4) (*.f64 (cos.f64 im) 4)) (*.f64 (*.f64 (exp.f64 re) 4) (*.f64 (cos.f64 im) 4))) 32)
(/.f64 (*.f64 (*.f64 2 (*.f64 (exp.f64 re) 4)) (*.f64 2 (*.f64 (cos.f64 im) 4))) 64)
(/.f64 (*.f64 (*.f64 2 (*.f64 (cos.f64 im) 4)) (*.f64 2 (*.f64 (exp.f64 re) 4))) 64)
(/.f64 (*.f64 (*.f64 (cos.f64 0) 2) (*.f64 (*.f64 (cos.f64 im) 2) (*.f64 (exp.f64 re) 4))) 16)
(pow.f64 (*.f64 (exp.f64 re) (cos.f64 im)) 1)
Outputs
(cos.f64 im)
(+.f64 (*.f64 (cos.f64 im) re) (cos.f64 im))
(+.f64 (cos.f64 im) (*.f64 (cos.f64 im) re))
(*.f64 (cos.f64 im) (-.f64 re -1))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 im) (pow.f64 re 2))) (+.f64 (*.f64 (cos.f64 im) re) (cos.f64 im)))
(+.f64 (+.f64 (cos.f64 im) (*.f64 (cos.f64 im) re)) (*.f64 (pow.f64 re 2) (*.f64 (cos.f64 im) 1/2)))
(+.f64 (*.f64 (cos.f64 im) re) (+.f64 (cos.f64 im) (*.f64 1/2 (*.f64 (cos.f64 im) (pow.f64 re 2)))))
(+.f64 (*.f64 (cos.f64 im) re) (+.f64 (cos.f64 im) (*.f64 (pow.f64 re 2) (*.f64 (cos.f64 im) 1/2))))
(+.f64 (cos.f64 im) (*.f64 (cos.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))))
(+.f64 (*.f64 1/6 (*.f64 (cos.f64 im) (pow.f64 re 3))) (+.f64 (*.f64 1/2 (*.f64 (cos.f64 im) (pow.f64 re 2))) (+.f64 (*.f64 (cos.f64 im) re) (cos.f64 im))))
(+.f64 (+.f64 (cos.f64 im) (*.f64 (cos.f64 im) re)) (+.f64 (*.f64 (pow.f64 re 2) (*.f64 (cos.f64 im) 1/2)) (*.f64 (pow.f64 re 3) (*.f64 (cos.f64 im) 1/6))))
(+.f64 (+.f64 (cos.f64 im) (*.f64 (cos.f64 im) re)) (+.f64 (*.f64 1/2 (*.f64 (cos.f64 im) (pow.f64 re 2))) (*.f64 (cos.f64 im) (*.f64 (pow.f64 re 3) 1/6))))
(+.f64 (*.f64 (cos.f64 im) re) (+.f64 (cos.f64 im) (+.f64 (*.f64 (pow.f64 re 2) (*.f64 (cos.f64 im) 1/2)) (*.f64 (cos.f64 im) (*.f64 1/6 (pow.f64 re 3))))))
(+.f64 (*.f64 (cos.f64 im) (-.f64 re -1)) (*.f64 (cos.f64 im) (+.f64 (*.f64 1/2 (pow.f64 re 2)) (*.f64 1/6 (pow.f64 re 3)))))
(exp.f64 re)
(+.f64 (*.f64 -1/2 (*.f64 (exp.f64 re) (pow.f64 im 2))) (exp.f64 re))
(+.f64 (exp.f64 re) (*.f64 -1/2 (*.f64 (exp.f64 re) (pow.f64 im 2))))
(+.f64 (exp.f64 re) (*.f64 (exp.f64 re) (*.f64 (pow.f64 im 2) -1/2)))
(+.f64 (exp.f64 re) (*.f64 (exp.f64 re) (*.f64 -1/2 (pow.f64 im 2))))
(*.f64 (exp.f64 re) (-.f64 (*.f64 -1/2 (pow.f64 im 2)) -1))
(+.f64 (*.f64 -1/2 (*.f64 (exp.f64 re) (pow.f64 im 2))) (+.f64 (*.f64 1/24 (*.f64 (exp.f64 re) (pow.f64 im 4))) (exp.f64 re)))
(+.f64 (exp.f64 re) (+.f64 (*.f64 1/24 (*.f64 (exp.f64 re) (pow.f64 im 4))) (*.f64 -1/2 (*.f64 (exp.f64 re) (pow.f64 im 2)))))
(+.f64 (*.f64 (exp.f64 re) (*.f64 (pow.f64 im 2) -1/2)) (+.f64 (exp.f64 re) (*.f64 (exp.f64 re) (*.f64 (pow.f64 im 4) 1/24))))
(+.f64 (exp.f64 re) (+.f64 (*.f64 (exp.f64 re) (*.f64 -1/2 (pow.f64 im 2))) (*.f64 (pow.f64 im 4) (*.f64 (exp.f64 re) 1/24))))
(+.f64 (exp.f64 re) (*.f64 (exp.f64 re) (+.f64 (*.f64 -1/2 (pow.f64 im 2)) (*.f64 1/24 (pow.f64 im 4)))))
(+.f64 (*.f64 -1/2 (*.f64 (exp.f64 re) (pow.f64 im 2))) (+.f64 (*.f64 1/24 (*.f64 (exp.f64 re) (pow.f64 im 4))) (+.f64 (exp.f64 re) (*.f64 -1/720 (*.f64 (exp.f64 re) (pow.f64 im 6))))))
(+.f64 (+.f64 (exp.f64 re) (*.f64 -1/720 (*.f64 (exp.f64 re) (pow.f64 im 6)))) (+.f64 (*.f64 1/24 (*.f64 (exp.f64 re) (pow.f64 im 4))) (*.f64 -1/2 (*.f64 (exp.f64 re) (pow.f64 im 2)))))
(+.f64 (*.f64 (exp.f64 re) (*.f64 (pow.f64 im 2) -1/2)) (+.f64 (exp.f64 re) (+.f64 (*.f64 (exp.f64 re) (*.f64 (pow.f64 im 6) -1/720)) (*.f64 (exp.f64 re) (*.f64 (pow.f64 im 4) 1/24)))))
(+.f64 (exp.f64 re) (+.f64 (*.f64 (exp.f64 re) (*.f64 -1/720 (pow.f64 im 6))) (+.f64 (*.f64 (exp.f64 re) (*.f64 -1/2 (pow.f64 im 2))) (*.f64 (pow.f64 im 4) (*.f64 (exp.f64 re) 1/24)))))
(+.f64 (*.f64 (exp.f64 re) (-.f64 (*.f64 -1/2 (pow.f64 im 2)) -1)) (*.f64 (exp.f64 re) (+.f64 (*.f64 1/24 (pow.f64 im 4)) (*.f64 -1/720 (pow.f64 im 6)))))
(+.f64 (*.f64 (exp.f64 re) (cos.f64 im)) 0)
(*.f64 (cos.f64 im) (exp.f64 re))
(+.f64 0 (*.f64 (exp.f64 re) (cos.f64 im)))
(*.f64 (cos.f64 im) (exp.f64 re))
(+.f64 (*.f64 (exp.f64 re) (*.f64 (cos.f64 im) 1/2)) (*.f64 (exp.f64 re) (*.f64 (cos.f64 im) 1/2)))
(*.f64 (cos.f64 im) (exp.f64 re))
(+.f64 (/.f64 (*.f64 (exp.f64 re) (cos.f64 im)) 4) (+.f64 (/.f64 (*.f64 (exp.f64 re) (cos.f64 im)) 4) (*.f64 (exp.f64 re) (*.f64 (cos.f64 im) 1/2))))
(*.f64 (cos.f64 im) (exp.f64 re))
(+.f64 (/.f64 (*.f64 (exp.f64 re) (cos.f64 im)) 4) (/.f64 (/.f64 (*.f64 (exp.f64 re) (*.f64 (cos.f64 im) 3)) 2) 2))
(*.f64 (cos.f64 im) (exp.f64 re))
(+.f64 (/.f64 (*.f64 (exp.f64 re) (cos.f64 im)) 4) (/.f64 (*.f64 (exp.f64 re) (*.f64 (cos.f64 im) 3)) 4))
(*.f64 (cos.f64 im) (exp.f64 re))
(-.f64 (*.f64 (exp.f64 re) (cos.f64 im)) 0)
(*.f64 (cos.f64 im) (exp.f64 re))
(-.f64 (*.f64 (exp.f64 re) (*.f64 (cos.f64 im) 1/2)) (/.f64 (*.f64 (exp.f64 re) (cos.f64 im)) -2))
(*.f64 (cos.f64 im) (exp.f64 re))
(-.f64 (+.f64 (/.f64 (*.f64 (exp.f64 re) (cos.f64 im)) 4) (*.f64 (exp.f64 re) (*.f64 (cos.f64 im) 1/2))) (-.f64 0 (/.f64 (*.f64 (exp.f64 re) (cos.f64 im)) 4)))
(*.f64 (cos.f64 im) (exp.f64 re))
(-.f64 (/.f64 (/.f64 (*.f64 (exp.f64 re) (*.f64 (cos.f64 im) 3)) 2) 2) (/.f64 (/.f64 (*.f64 (exp.f64 re) (cos.f64 im)) -2) 2))
(*.f64 (cos.f64 im) (exp.f64 re))
(-.f64 (/.f64 (*.f64 (exp.f64 re) (*.f64 (cos.f64 im) 3)) 4) (/.f64 (neg.f64 (*.f64 (exp.f64 re) (cos.f64 im))) 4))
(*.f64 (cos.f64 im) (exp.f64 re))
(/.f64 (*.f64 (exp.f64 re) (cos.f64 im)) 1)
(*.f64 (cos.f64 im) (exp.f64 re))
(/.f64 (*.f64 (exp.f64 re) (*.f64 (cos.f64 im) 2)) 2)
(*.f64 (cos.f64 im) (exp.f64 re))
(/.f64 (*.f64 (exp.f64 re) (*.f64 (cos.f64 im) 4)) 4)
(*.f64 (cos.f64 im) (exp.f64 re))
(/.f64 (*.f64 (*.f64 (cos.f64 im) 2) (*.f64 (exp.f64 re) 4)) 8)
(*.f64 (cos.f64 im) (exp.f64 re))
(/.f64 (*.f64 (*.f64 (exp.f64 re) 4) (*.f64 (cos.f64 im) 4)) 16)
(*.f64 (cos.f64 im) (exp.f64 re))
(/.f64 (+.f64 (*.f64 (*.f64 (cos.f64 im) 2) (*.f64 (exp.f64 re) 4)) (*.f64 (*.f64 (cos.f64 im) 2) (*.f64 (exp.f64 re) 4))) 16)
(*.f64 (cos.f64 im) (exp.f64 re))
(/.f64 (+.f64 (*.f64 (*.f64 (exp.f64 re) 4) (*.f64 (cos.f64 im) 4)) (*.f64 (*.f64 (exp.f64 re) 4) (*.f64 (cos.f64 im) 4))) 32)
(*.f64 (cos.f64 im) (exp.f64 re))
(/.f64 (*.f64 (*.f64 2 (*.f64 (exp.f64 re) 4)) (*.f64 2 (*.f64 (cos.f64 im) 4))) 64)
(*.f64 (cos.f64 im) (exp.f64 re))
(/.f64 (*.f64 (*.f64 2 (*.f64 (cos.f64 im) 4)) (*.f64 2 (*.f64 (exp.f64 re) 4))) 64)
(*.f64 (cos.f64 im) (exp.f64 re))
(/.f64 (*.f64 (*.f64 (cos.f64 0) 2) (*.f64 (*.f64 (cos.f64 im) 2) (*.f64 (exp.f64 re) 4))) 16)
(/.f64 (*.f64 (*.f64 (exp.f64 re) 4) (*.f64 (*.f64 (cos.f64 im) 2) (*.f64 2 (cos.f64 0)))) 16)
(/.f64 (*.f64 2 (*.f64 (cos.f64 0) (*.f64 (exp.f64 re) (*.f64 (cos.f64 im) 8)))) 16)
(/.f64 (*.f64 (*.f64 (exp.f64 re) (*.f64 (cos.f64 im) 16)) (cos.f64 0)) 16)
(/.f64 (*.f64 (*.f64 (cos.f64 im) (*.f64 (exp.f64 re) 16)) (cos.f64 0)) 16)
(pow.f64 (*.f64 (exp.f64 re) (cos.f64 im)) 1)
(*.f64 (cos.f64 im) (exp.f64 re))

eval65.0ms (0.3%)

Compiler

Compiled 891 to 492 computations (44.8% saved)

prune53.0ms (0.3%)

Pruning

5 alts after pruning (4 fresh and 1 done)

PrunedKeptTotal
New53457
Fresh000
Picked011
Done000
Total53558
Error
0.0b
Counts
58 → 5
Alt Table
Click to see full alt table
StatusErrorProgram
20.7b
(+.f64 (cos.f64 im) (*.f64 (cos.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))))
0.0b
(*.f64 (exp.f64 re) (cos.f64 im))
20.7b
(*.f64 (cos.f64 im) (-.f64 re -1))
20.0b
(exp.f64 re)
20.9b
(cos.f64 im)
Compiler

Compiled 38 to 27 computations (28.9% saved)

localize5.0ms (0%)

Compiler

Compiled 5 to 3 computations (40% saved)

localize4.0ms (0%)

Compiler

Compiled 5 to 3 computations (40% saved)

localize31.0ms (0.1%)

Local error

Found 1 expressions with local error:

NewErrorProgram
0.0b
(*.f64 (cos.f64 im) (-.f64 re -1))
Compiler

Compiled 16 to 9 computations (43.8% saved)

series3.0ms (0%)

Counts
1 → 24
Calls

6 calls:

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

rewrite297.0ms (1.4%)

Algorithm
batch-egg-rewrite
Rules
2074×rational_best-1
2072×rational_best-2
2072×rational_best-3
2066×rational_best-4
464×rational_best-simplify-50
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0917
15817
211117
330717
4109617
5546317
Stop Event
node limit
Counts
1 → 22
Calls
Call 1
Inputs
(*.f64 (cos.f64 im) (-.f64 re -1))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (cos.f64 im) (+.f64 re 1)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (cos.f64 im) (+.f64 re 1)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (cos.f64 im) (+.f64 1/2 (/.f64 re 2))) (*.f64 (cos.f64 im) (+.f64 1/2 (/.f64 re 2))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (*.f64 (cos.f64 im) (+.f64 re 1)) 4) (+.f64 (/.f64 (*.f64 (cos.f64 im) (+.f64 re 1)) 4) (*.f64 (cos.f64 im) (+.f64 1/2 (/.f64 re 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (*.f64 (cos.f64 im) (+.f64 re 1)) 4) (/.f64 (/.f64 (*.f64 (cos.f64 im) (*.f64 (+.f64 re 1) 3)) 2) 2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (*.f64 (cos.f64 im) (+.f64 re 1)) 4) (/.f64 (*.f64 (cos.f64 im) (*.f64 (+.f64 re 1) 3)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (cos.f64 im) (+.f64 re 1)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (cos.f64 im) (+.f64 1/2 (/.f64 re 2))) (/.f64 (*.f64 (cos.f64 im) (+.f64 re 1)) -2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (/.f64 (*.f64 (cos.f64 im) (+.f64 re 1)) 4) (*.f64 (cos.f64 im) (+.f64 1/2 (/.f64 re 2)))) (-.f64 0 (/.f64 (*.f64 (cos.f64 im) (+.f64 re 1)) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (/.f64 (*.f64 (cos.f64 im) (*.f64 (+.f64 re 1) 3)) 2) 2) (/.f64 (/.f64 (*.f64 (cos.f64 im) (+.f64 re 1)) -2) 2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (*.f64 (cos.f64 im) (*.f64 (+.f64 re 1) 3)) 4) (/.f64 (neg.f64 (*.f64 (cos.f64 im) (+.f64 re 1))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cos.f64 im) (+.f64 re 1)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cos.f64 im) (+.f64 re (+.f64 re 2))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cos.f64 im) (*.f64 (+.f64 re 1) 4)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (cos.f64 im) (*.f64 (+.f64 re 1) 4))) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 (+.f64 re 1) 4) (*.f64 (cos.f64 im) 4)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 (cos.f64 im) (*.f64 (+.f64 re 1) 4))) (*.f64 2 (*.f64 (cos.f64 im) (*.f64 (+.f64 re 1) 4)))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 (*.f64 (+.f64 re 1) 4) (*.f64 (cos.f64 im) 4)) (*.f64 (*.f64 (+.f64 re 1) 4) (*.f64 (cos.f64 im) 4))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 2 (*.f64 (+.f64 re 1) 4)) (*.f64 2 (*.f64 (cos.f64 im) 4))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 2 (*.f64 (cos.f64 im) 4)) (*.f64 2 (*.f64 (+.f64 re 1) 4))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 (cos.f64 0) 2) (*.f64 2 (*.f64 (cos.f64 im) (*.f64 (+.f64 re 1) 4)))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (cos.f64 im) (+.f64 re 1)) 1)))))

simplify248.0ms (1.2%)

Algorithm
egg-herbie
Rules
878×rational_best-simplify-48
860×rational_best-simplify-63
806×rational_best-simplify-47
762×rational_best-simplify-52
702×rational_best-simplify-51
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
0961134
12511038
25971038
316531010
Stop Event
node limit
Counts
46 → 52
Calls
Call 1
Inputs
(+.f64 1 re)
(+.f64 1 (+.f64 re (*.f64 -1/2 (*.f64 (+.f64 1 re) (pow.f64 im 2)))))
(+.f64 (*.f64 1/24 (*.f64 (+.f64 1 re) (pow.f64 im 4))) (+.f64 1 (+.f64 re (*.f64 -1/2 (*.f64 (+.f64 1 re) (pow.f64 im 2))))))
(+.f64 (*.f64 1/24 (*.f64 (+.f64 1 re) (pow.f64 im 4))) (+.f64 (*.f64 -1/720 (*.f64 (+.f64 1 re) (pow.f64 im 6))) (+.f64 1 (+.f64 re (*.f64 -1/2 (*.f64 (+.f64 1 re) (pow.f64 im 2)))))))
(*.f64 (cos.f64 im) (+.f64 1 re))
(*.f64 (cos.f64 im) (+.f64 1 re))
(*.f64 (cos.f64 im) (+.f64 1 re))
(*.f64 (cos.f64 im) (+.f64 1 re))
(*.f64 (+.f64 1 re) (cos.f64 im))
(*.f64 (+.f64 1 re) (cos.f64 im))
(*.f64 (+.f64 1 re) (cos.f64 im))
(*.f64 (+.f64 1 re) (cos.f64 im))
(cos.f64 im)
(+.f64 (*.f64 (cos.f64 im) re) (cos.f64 im))
(+.f64 (*.f64 (cos.f64 im) re) (cos.f64 im))
(+.f64 (*.f64 (cos.f64 im) re) (cos.f64 im))
(*.f64 (cos.f64 im) re)
(+.f64 (*.f64 (cos.f64 im) re) (cos.f64 im))
(+.f64 (*.f64 (cos.f64 im) re) (cos.f64 im))
(+.f64 (*.f64 (cos.f64 im) re) (cos.f64 im))
(*.f64 (cos.f64 im) re)
(+.f64 (*.f64 (cos.f64 im) re) (cos.f64 im))
(+.f64 (*.f64 (cos.f64 im) re) (cos.f64 im))
(+.f64 (*.f64 (cos.f64 im) re) (cos.f64 im))
(+.f64 (*.f64 (cos.f64 im) (+.f64 re 1)) 0)
(+.f64 0 (*.f64 (cos.f64 im) (+.f64 re 1)))
(+.f64 (*.f64 (cos.f64 im) (+.f64 1/2 (/.f64 re 2))) (*.f64 (cos.f64 im) (+.f64 1/2 (/.f64 re 2))))
(+.f64 (/.f64 (*.f64 (cos.f64 im) (+.f64 re 1)) 4) (+.f64 (/.f64 (*.f64 (cos.f64 im) (+.f64 re 1)) 4) (*.f64 (cos.f64 im) (+.f64 1/2 (/.f64 re 2)))))
(+.f64 (/.f64 (*.f64 (cos.f64 im) (+.f64 re 1)) 4) (/.f64 (/.f64 (*.f64 (cos.f64 im) (*.f64 (+.f64 re 1) 3)) 2) 2))
(+.f64 (/.f64 (*.f64 (cos.f64 im) (+.f64 re 1)) 4) (/.f64 (*.f64 (cos.f64 im) (*.f64 (+.f64 re 1) 3)) 4))
(-.f64 (*.f64 (cos.f64 im) (+.f64 re 1)) 0)
(-.f64 (*.f64 (cos.f64 im) (+.f64 1/2 (/.f64 re 2))) (/.f64 (*.f64 (cos.f64 im) (+.f64 re 1)) -2))
(-.f64 (+.f64 (/.f64 (*.f64 (cos.f64 im) (+.f64 re 1)) 4) (*.f64 (cos.f64 im) (+.f64 1/2 (/.f64 re 2)))) (-.f64 0 (/.f64 (*.f64 (cos.f64 im) (+.f64 re 1)) 4)))
(-.f64 (/.f64 (/.f64 (*.f64 (cos.f64 im) (*.f64 (+.f64 re 1) 3)) 2) 2) (/.f64 (/.f64 (*.f64 (cos.f64 im) (+.f64 re 1)) -2) 2))
(-.f64 (/.f64 (*.f64 (cos.f64 im) (*.f64 (+.f64 re 1) 3)) 4) (/.f64 (neg.f64 (*.f64 (cos.f64 im) (+.f64 re 1))) 4))
(/.f64 (*.f64 (cos.f64 im) (+.f64 re 1)) 1)
(/.f64 (*.f64 (cos.f64 im) (+.f64 re (+.f64 re 2))) 2)
(/.f64 (*.f64 (cos.f64 im) (*.f64 (+.f64 re 1) 4)) 4)
(/.f64 (*.f64 2 (*.f64 (cos.f64 im) (*.f64 (+.f64 re 1) 4))) 8)
(/.f64 (*.f64 (*.f64 (+.f64 re 1) 4) (*.f64 (cos.f64 im) 4)) 16)
(/.f64 (+.f64 (*.f64 2 (*.f64 (cos.f64 im) (*.f64 (+.f64 re 1) 4))) (*.f64 2 (*.f64 (cos.f64 im) (*.f64 (+.f64 re 1) 4)))) 16)
(/.f64 (+.f64 (*.f64 (*.f64 (+.f64 re 1) 4) (*.f64 (cos.f64 im) 4)) (*.f64 (*.f64 (+.f64 re 1) 4) (*.f64 (cos.f64 im) 4))) 32)
(/.f64 (*.f64 (*.f64 2 (*.f64 (+.f64 re 1) 4)) (*.f64 2 (*.f64 (cos.f64 im) 4))) 64)
(/.f64 (*.f64 (*.f64 2 (*.f64 (cos.f64 im) 4)) (*.f64 2 (*.f64 (+.f64 re 1) 4))) 64)
(/.f64 (*.f64 (*.f64 (cos.f64 0) 2) (*.f64 2 (*.f64 (cos.f64 im) (*.f64 (+.f64 re 1) 4)))) 16)
(pow.f64 (*.f64 (cos.f64 im) (+.f64 re 1)) 1)
Outputs
(+.f64 1 re)
(+.f64 1 (+.f64 re (*.f64 -1/2 (*.f64 (+.f64 1 re) (pow.f64 im 2)))))
(+.f64 (*.f64 -1/2 (*.f64 (+.f64 1 re) (pow.f64 im 2))) (+.f64 1 re))
(+.f64 (+.f64 1 re) (*.f64 (+.f64 1 re) (*.f64 (pow.f64 im 2) -1/2)))
(+.f64 re (+.f64 1 (*.f64 (+.f64 1 re) (*.f64 -1/2 (pow.f64 im 2)))))
(+.f64 (+.f64 1 re) (*.f64 (+.f64 1 re) (*.f64 -1/2 (pow.f64 im 2))))
(+.f64 (*.f64 1/24 (*.f64 (+.f64 1 re) (pow.f64 im 4))) (+.f64 1 (+.f64 re (*.f64 -1/2 (*.f64 (+.f64 1 re) (pow.f64 im 2))))))
(+.f64 (+.f64 re (*.f64 -1/2 (*.f64 (+.f64 1 re) (pow.f64 im 2)))) (+.f64 1 (*.f64 (pow.f64 im 4) (*.f64 (+.f64 1 re) 1/24))))
(+.f64 (+.f64 re (*.f64 (+.f64 1 re) (*.f64 (pow.f64 im 2) -1/2))) (+.f64 1 (*.f64 (+.f64 1 re) (*.f64 (pow.f64 im 4) 1/24))))
(+.f64 re (+.f64 (*.f64 (+.f64 1 re) (*.f64 -1/2 (pow.f64 im 2))) (+.f64 1 (*.f64 (+.f64 1 re) (*.f64 1/24 (pow.f64 im 4))))))
(+.f64 re (+.f64 1 (*.f64 (+.f64 1 re) (+.f64 (*.f64 -1/2 (pow.f64 im 2)) (*.f64 1/24 (pow.f64 im 4))))))
(+.f64 (*.f64 1/24 (*.f64 (+.f64 1 re) (pow.f64 im 4))) (+.f64 (*.f64 -1/720 (*.f64 (+.f64 1 re) (pow.f64 im 6))) (+.f64 1 (+.f64 re (*.f64 -1/2 (*.f64 (+.f64 1 re) (pow.f64 im 2)))))))
(+.f64 (+.f64 (*.f64 -1/2 (*.f64 (+.f64 1 re) (pow.f64 im 2))) (+.f64 1 re)) (+.f64 (*.f64 -1/720 (*.f64 (+.f64 1 re) (pow.f64 im 6))) (*.f64 (pow.f64 im 4) (*.f64 (+.f64 1 re) 1/24))))
(+.f64 (*.f64 (+.f64 1 re) (*.f64 (pow.f64 im 6) -1/720)) (+.f64 (+.f64 re (*.f64 (+.f64 1 re) (*.f64 (pow.f64 im 2) -1/2))) (+.f64 1 (*.f64 (+.f64 1 re) (*.f64 (pow.f64 im 4) 1/24)))))
(+.f64 (+.f64 re (*.f64 (+.f64 1 re) (*.f64 -1/2 (pow.f64 im 2)))) (+.f64 (+.f64 1 (*.f64 (+.f64 1 re) (*.f64 -1/720 (pow.f64 im 6)))) (*.f64 (+.f64 1 re) (*.f64 1/24 (pow.f64 im 4)))))
(+.f64 (+.f64 1 re) (+.f64 (*.f64 (+.f64 1 re) (*.f64 1/24 (pow.f64 im 4))) (*.f64 (+.f64 1 re) (+.f64 (*.f64 -1/2 (pow.f64 im 2)) (*.f64 -1/720 (pow.f64 im 6))))))
(*.f64 (cos.f64 im) (+.f64 1 re))
(*.f64 (+.f64 1 re) (cos.f64 im))
(*.f64 (cos.f64 im) (+.f64 1 re))
(*.f64 (+.f64 1 re) (cos.f64 im))
(*.f64 (cos.f64 im) (+.f64 1 re))
(*.f64 (+.f64 1 re) (cos.f64 im))
(*.f64 (cos.f64 im) (+.f64 1 re))
(*.f64 (+.f64 1 re) (cos.f64 im))
(*.f64 (+.f64 1 re) (cos.f64 im))
(*.f64 (+.f64 1 re) (cos.f64 im))
(*.f64 (+.f64 1 re) (cos.f64 im))
(*.f64 (+.f64 1 re) (cos.f64 im))
(cos.f64 im)
(+.f64 (*.f64 (cos.f64 im) re) (cos.f64 im))
(*.f64 (+.f64 1 re) (cos.f64 im))
(+.f64 (*.f64 (cos.f64 im) re) (cos.f64 im))
(*.f64 (+.f64 1 re) (cos.f64 im))
(+.f64 (*.f64 (cos.f64 im) re) (cos.f64 im))
(*.f64 (+.f64 1 re) (cos.f64 im))
(*.f64 (cos.f64 im) re)
(*.f64 re (cos.f64 im))
(+.f64 (*.f64 (cos.f64 im) re) (cos.f64 im))
(*.f64 (+.f64 1 re) (cos.f64 im))
(+.f64 (*.f64 (cos.f64 im) re) (cos.f64 im))
(*.f64 (+.f64 1 re) (cos.f64 im))
(+.f64 (*.f64 (cos.f64 im) re) (cos.f64 im))
(*.f64 (+.f64 1 re) (cos.f64 im))
(*.f64 (cos.f64 im) re)
(*.f64 re (cos.f64 im))
(+.f64 (*.f64 (cos.f64 im) re) (cos.f64 im))
(*.f64 (+.f64 1 re) (cos.f64 im))
(+.f64 (*.f64 (cos.f64 im) re) (cos.f64 im))
(*.f64 (+.f64 1 re) (cos.f64 im))
(+.f64 (*.f64 (cos.f64 im) re) (cos.f64 im))
(*.f64 (+.f64 1 re) (cos.f64 im))
(+.f64 (*.f64 (cos.f64 im) (+.f64 re 1)) 0)
(*.f64 (+.f64 1 re) (cos.f64 im))
(+.f64 0 (*.f64 (cos.f64 im) (+.f64 re 1)))
(*.f64 (+.f64 1 re) (cos.f64 im))
(+.f64 (*.f64 (cos.f64 im) (+.f64 1/2 (/.f64 re 2))) (*.f64 (cos.f64 im) (+.f64 1/2 (/.f64 re 2))))
(*.f64 (+.f64 1/2 (/.f64 re 2)) (+.f64 (cos.f64 im) (cos.f64 im)))
(*.f64 (*.f64 (cos.f64 im) (+.f64 1/2 (/.f64 re 2))) 2)
(+.f64 (/.f64 (*.f64 (cos.f64 im) (+.f64 re 1)) 4) (+.f64 (/.f64 (*.f64 (cos.f64 im) (+.f64 re 1)) 4) (*.f64 (cos.f64 im) (+.f64 1/2 (/.f64 re 2)))))
(+.f64 (*.f64 (cos.f64 im) (+.f64 1/2 (/.f64 re 2))) (+.f64 (/.f64 (*.f64 (+.f64 1 re) (cos.f64 im)) 4) (/.f64 (*.f64 (+.f64 1 re) (cos.f64 im)) 4)))
(+.f64 (*.f64 (cos.f64 im) (+.f64 1/2 (/.f64 re 2))) (/.f64 (*.f64 (+.f64 1 re) (cos.f64 im)) 2))
(+.f64 (/.f64 (*.f64 (cos.f64 im) (+.f64 re 1)) 4) (/.f64 (/.f64 (*.f64 (cos.f64 im) (*.f64 (+.f64 re 1) 3)) 2) 2))
(*.f64 (+.f64 1 re) (cos.f64 im))
(+.f64 (/.f64 (*.f64 (cos.f64 im) (+.f64 re 1)) 4) (/.f64 (*.f64 (cos.f64 im) (*.f64 (+.f64 re 1) 3)) 4))
(*.f64 (+.f64 1 re) (cos.f64 im))
(-.f64 (*.f64 (cos.f64 im) (+.f64 re 1)) 0)
(*.f64 (+.f64 1 re) (cos.f64 im))
(-.f64 (*.f64 (cos.f64 im) (+.f64 1/2 (/.f64 re 2))) (/.f64 (*.f64 (cos.f64 im) (+.f64 re 1)) -2))
(+.f64 (*.f64 (cos.f64 im) (+.f64 1/2 (/.f64 re 2))) (+.f64 (/.f64 (*.f64 (+.f64 1 re) (cos.f64 im)) 4) (/.f64 (*.f64 (+.f64 1 re) (cos.f64 im)) 4)))
(+.f64 (*.f64 (cos.f64 im) (+.f64 1/2 (/.f64 re 2))) (/.f64 (*.f64 (+.f64 1 re) (cos.f64 im)) 2))
(-.f64 (+.f64 (/.f64 (*.f64 (cos.f64 im) (+.f64 re 1)) 4) (*.f64 (cos.f64 im) (+.f64 1/2 (/.f64 re 2)))) (-.f64 0 (/.f64 (*.f64 (cos.f64 im) (+.f64 re 1)) 4)))
(+.f64 (*.f64 (cos.f64 im) (+.f64 1/2 (/.f64 re 2))) (+.f64 (/.f64 (*.f64 (+.f64 1 re) (cos.f64 im)) 4) (/.f64 (*.f64 (+.f64 1 re) (cos.f64 im)) 4)))
(+.f64 (*.f64 (cos.f64 im) (+.f64 1/2 (/.f64 re 2))) (/.f64 (*.f64 (+.f64 1 re) (cos.f64 im)) 2))
(-.f64 (/.f64 (/.f64 (*.f64 (cos.f64 im) (*.f64 (+.f64 re 1) 3)) 2) 2) (/.f64 (/.f64 (*.f64 (cos.f64 im) (+.f64 re 1)) -2) 2))
(*.f64 (+.f64 1 re) (cos.f64 im))
(-.f64 (/.f64 (*.f64 (cos.f64 im) (*.f64 (+.f64 re 1) 3)) 4) (/.f64 (neg.f64 (*.f64 (cos.f64 im) (+.f64 re 1))) 4))
(*.f64 (+.f64 1 re) (cos.f64 im))
(/.f64 (*.f64 (cos.f64 im) (+.f64 re 1)) 1)
(*.f64 (+.f64 1 re) (cos.f64 im))
(/.f64 (*.f64 (cos.f64 im) (+.f64 re (+.f64 re 2))) 2)
(*.f64 (+.f64 1 re) (cos.f64 im))
(/.f64 (*.f64 (cos.f64 im) (*.f64 (+.f64 re 1) 4)) 4)
(*.f64 (+.f64 1 re) (cos.f64 im))
(/.f64 (*.f64 2 (*.f64 (cos.f64 im) (*.f64 (+.f64 re 1) 4))) 8)
(*.f64 (+.f64 1 re) (cos.f64 im))
(/.f64 (*.f64 (*.f64 (+.f64 re 1) 4) (*.f64 (cos.f64 im) 4)) 16)
(*.f64 (+.f64 1 re) (cos.f64 im))
(/.f64 (+.f64 (*.f64 2 (*.f64 (cos.f64 im) (*.f64 (+.f64 re 1) 4))) (*.f64 2 (*.f64 (cos.f64 im) (*.f64 (+.f64 re 1) 4)))) 16)
(*.f64 (+.f64 1 re) (cos.f64 im))
(/.f64 (+.f64 (*.f64 (*.f64 (+.f64 re 1) 4) (*.f64 (cos.f64 im) 4)) (*.f64 (*.f64 (+.f64 re 1) 4) (*.f64 (cos.f64 im) 4))) 32)
(*.f64 (+.f64 1 re) (cos.f64 im))
(/.f64 (*.f64 (*.f64 2 (*.f64 (+.f64 re 1) 4)) (*.f64 2 (*.f64 (cos.f64 im) 4))) 64)
(*.f64 (+.f64 1 re) (cos.f64 im))
(/.f64 (*.f64 (*.f64 2 (*.f64 (cos.f64 im) 4)) (*.f64 2 (*.f64 (+.f64 re 1) 4))) 64)
(*.f64 (+.f64 1 re) (cos.f64 im))
(/.f64 (*.f64 (*.f64 (cos.f64 0) 2) (*.f64 2 (*.f64 (cos.f64 im) (*.f64 (+.f64 re 1) 4)))) 16)
(/.f64 (*.f64 (*.f64 4 (*.f64 (+.f64 1 re) (cos.f64 im))) (*.f64 2 (*.f64 2 (cos.f64 0)))) 16)
(/.f64 (*.f64 (cos.f64 0) (*.f64 (*.f64 (+.f64 1 re) (cos.f64 im)) 16)) 16)
(/.f64 (*.f64 (*.f64 (+.f64 1 re) (*.f64 (cos.f64 im) 16)) (cos.f64 0)) 16)
(/.f64 (*.f64 (*.f64 (cos.f64 im) (*.f64 (+.f64 1 re) 16)) (cos.f64 0)) 16)
(pow.f64 (*.f64 (cos.f64 im) (+.f64 re 1)) 1)
(*.f64 (+.f64 1 re) (cos.f64 im))

localize68.0ms (0.3%)

Local error

Found 3 expressions with local error:

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

Compiled 46 to 29 computations (37% saved)

series6.0ms (0%)

Counts
3 → 48
Calls

15 calls:

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

rewrite235.0ms (1.1%)

Algorithm
batch-egg-rewrite
Rules
950×rational_best-simplify-63
926×rational_best-4
926×rational_best-2
926×rational_best-3
926×rational_best-1
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01381
18881
217777
350577
4209577
Stop Event
node limit
Counts
3 → 124
Calls
Call 1
Inputs
(*.f64 (cos.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2))))
(+.f64 (cos.f64 im) (*.f64 (cos.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))))
(*.f64 1/2 (pow.f64 re 2))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (cos.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (cos.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (+.f64 re (*.f64 1/2 (pow.f64 re 2))) (*.f64 (cos.f64 im) 1/2)) (*.f64 (+.f64 re (*.f64 1/2 (pow.f64 re 2))) (*.f64 (cos.f64 im) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (cos.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (+.f64 re (*.f64 1/2 (pow.f64 re 2))) (*.f64 (cos.f64 im) 1/2)) (/.f64 (*.f64 (cos.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))) -2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (+.f64 re (*.f64 1/2 (pow.f64 re 2))) (*.f64 (cos.f64 im) 1/2)) (+.f64 (/.f64 (*.f64 (cos.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))) -2) 0))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cos.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cos.f64 im) (+.f64 (pow.f64 re 2) (+.f64 re re))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cos.f64 im) (+.f64 (*.f64 2 (pow.f64 re 2)) (*.f64 re 4))) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (pow.f64 re 2) (+.f64 re re)) (*.f64 (cos.f64 im) 4)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 (*.f64 (cos.f64 im) 2) 4) (+.f64 (pow.f64 re 2) (+.f64 re re))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (neg.f64 (cos.f64 im)) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (neg.f64 (cos.f64 im)) (+.f64 (pow.f64 re 2) (+.f64 re re))) -2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (neg.f64 (cos.f64 im)) (+.f64 (*.f64 2 (pow.f64 re 2)) (*.f64 re 4))) -4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (neg.f64 (cos.f64 im)) (*.f64 (+.f64 (pow.f64 re 2) (+.f64 re re)) 4)) -8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (*.f64 (pow.f64 re 2) -1/2) re) (*.f64 (cos.f64 im) 2)) -2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (*.f64 (pow.f64 re 2) -1/2) re) (*.f64 (cos.f64 im) 4)) -4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (*.f64 (pow.f64 re 2) -1/2) re) (*.f64 (*.f64 (cos.f64 im) 2) 4)) -8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 re (*.f64 1/2 (pow.f64 re 2))) (*.f64 (cos.f64 im) -2)) -2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 re (*.f64 1/2 (pow.f64 re 2))) (neg.f64 (*.f64 (cos.f64 im) 4))) -4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 re (*.f64 1/2 (pow.f64 re 2))) (*.f64 2 (*.f64 (cos.f64 im) -2))) -4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (*.f64 (pow.f64 re 2) -1/2) re) (cos.f64 im)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 re (*.f64 1/2 (pow.f64 re 2))) (neg.f64 (cos.f64 im))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 re (*.f64 1/2 (pow.f64 re 2))) (-.f64 (-.f64 (cos.f64 (neg.f64 im)) (cos.f64 im)) (*.f64 (cos.f64 im) 2))) -2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 (cos.f64 im) (+.f64 (pow.f64 re 2) (+.f64 re re))) (-.f64 (cos.f64 (neg.f64 im)) (cos.f64 im))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 (cos.f64 im) (+.f64 (pow.f64 re 2) (+.f64 re re))) (+.f64 (cos.f64 (+.f64 (/.f64 (PI.f64) 2) (-.f64 (/.f64 (PI.f64) 2) im))) (cos.f64 (-.f64 (/.f64 (PI.f64) 2) (-.f64 (/.f64 (PI.f64) 2) im))))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 (cos.f64 im) (+.f64 (pow.f64 re 2) (+.f64 re re))) (+.f64 (cos.f64 (+.f64 (/.f64 (PI.f64) 2) (-.f64 (/.f64 (PI.f64) 2) im))) (cos.f64 (-.f64 (-.f64 (/.f64 (PI.f64) 2) im) (/.f64 (PI.f64) 2))))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 (cos.f64 im) (+.f64 (*.f64 2 (pow.f64 re 2)) (*.f64 re 4))) (+.f64 (-.f64 (cos.f64 (neg.f64 im)) (cos.f64 im)) (-.f64 (cos.f64 (neg.f64 im)) (cos.f64 im)))) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 (*.f64 (cos.f64 im) 2) 4) (*.f64 (+.f64 (pow.f64 re 2) (+.f64 re re)) 4)) 64)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 (+.f64 (pow.f64 re 2) (+.f64 re re)) 4) (*.f64 (*.f64 (cos.f64 im) 2) 4)) 64)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 (cos.f64 im) 2) (*.f64 (+.f64 (pow.f64 re 2) (+.f64 re re)) 4)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (pow.f64 re 2) (+.f64 re re)) (*.f64 (*.f64 (cos.f64 im) 2) 4)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cos.f64 0) (*.f64 (cos.f64 im) (+.f64 (*.f64 2 (pow.f64 re 2)) (*.f64 re 4)))) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 (cos.f64 0) 2) (*.f64 (+.f64 (pow.f64 re 2) (+.f64 re re)) (*.f64 (cos.f64 im) 4))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (*.f64 re -2) (pow.f64 re 2)) (-.f64 (-.f64 (cos.f64 (neg.f64 im)) (cos.f64 im)) (*.f64 (cos.f64 im) 2))) 4)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (cos.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))) 1)))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (cos.f64 im) (neg.f64 (*.f64 (cos.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (cos.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))) (neg.f64 (cos.f64 im)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (cos.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))) (-.f64 (*.f64 (cos.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))) (*.f64 (cos.f64 im) (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re 1)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (cos.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))) (+.f64 (-.f64 (*.f64 (cos.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))) (*.f64 (cos.f64 im) (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re 1)))) 0))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (cos.f64 im) (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re 1))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (cos.f64 im) (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re 1))) (+.f64 (/.f64 (*.f64 (cos.f64 im) (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re 1))) -2) (/.f64 (*.f64 (cos.f64 im) (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re 1))) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (*.f64 (cos.f64 im) (-.f64 -1 (+.f64 re (*.f64 1/2 (pow.f64 re 2))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (cos.f64 im) 2) (-.f64 0 (*.f64 (cos.f64 im) (+.f64 (+.f64 re (*.f64 1/2 (pow.f64 re 2))) -1))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (cos.f64 im) 2) (+.f64 (-.f64 0 (*.f64 (cos.f64 im) (+.f64 (+.f64 re (*.f64 1/2 (pow.f64 re 2))) -1))) 0))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (cos.f64 im) (+.f64 (pow.f64 re 2) (+.f64 re re))) (*.f64 (cos.f64 im) (+.f64 (+.f64 re (*.f64 1/2 (pow.f64 re 2))) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (cos.f64 im) 1/2) (-.f64 (neg.f64 (*.f64 (cos.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2))))) (*.f64 (cos.f64 im) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (cos.f64 im) 1/2) (+.f64 (/.f64 (cos.f64 im) -2) (neg.f64 (*.f64 (cos.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (cos.f64 im) 1/2) (+.f64 (-.f64 (neg.f64 (*.f64 (cos.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2))))) (*.f64 (cos.f64 im) 1/2)) 0))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (+.f64 re (*.f64 1/2 (pow.f64 re 2))) (*.f64 (cos.f64 im) 1/2)) (-.f64 (neg.f64 (cos.f64 im)) (*.f64 (+.f64 re (*.f64 1/2 (pow.f64 re 2))) (*.f64 (cos.f64 im) 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (+.f64 re (*.f64 1/2 (pow.f64 re 2))) (*.f64 (cos.f64 im) 1/2)) (+.f64 (/.f64 (*.f64 (cos.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))) -2) (neg.f64 (cos.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (+.f64 re (*.f64 1/2 (pow.f64 re 2))) (*.f64 (cos.f64 im) 1/2)) (+.f64 (-.f64 (neg.f64 (cos.f64 im)) (*.f64 (+.f64 re (*.f64 1/2 (pow.f64 re 2))) (*.f64 (cos.f64 im) 1/2))) 0))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (*.f64 (cos.f64 im) (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re 1))) 2) (/.f64 (*.f64 (cos.f64 im) (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re 1))) -2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (*.f64 (cos.f64 im) (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re 1))) 2) (+.f64 (/.f64 (*.f64 (cos.f64 im) (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re 1))) -2) 0))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (*.f64 (cos.f64 im) (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re 1))) 2) (-.f64 (/.f64 (cos.f64 im) -2) (*.f64 (+.f64 re (*.f64 1/2 (pow.f64 re 2))) (*.f64 (cos.f64 im) 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (*.f64 (cos.f64 im) (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re 1))) 2) (-.f64 (/.f64 (*.f64 (cos.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))) -2) (*.f64 (cos.f64 im) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (*.f64 (cos.f64 im) (+.f64 (+.f64 re (*.f64 1/2 (pow.f64 re 2))) 2)) 2) (/.f64 (*.f64 (cos.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))) -2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (*.f64 (cos.f64 im) (+.f64 (+.f64 re (*.f64 1/2 (pow.f64 re 2))) 2)) 2) (+.f64 (/.f64 (*.f64 (cos.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))) -2) 0))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (*.f64 (cos.f64 im) (+.f64 (+.f64 re (*.f64 1/2 (pow.f64 re 2))) 2)) 2) (-.f64 (*.f64 (+.f64 re (*.f64 1/2 (pow.f64 re 2))) (*.f64 (cos.f64 im) 1/2)) (*.f64 (cos.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (*.f64 (cos.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))) (*.f64 (cos.f64 im) 1/2)) (/.f64 (cos.f64 im) -2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (*.f64 (cos.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))) (*.f64 (cos.f64 im) 1/2)) (+.f64 (/.f64 (cos.f64 im) -2) 0))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (cos.f64 im) (-.f64 (+.f64 re (*.f64 1/2 (pow.f64 re 2))) (+.f64 (+.f64 re (*.f64 1/2 (pow.f64 re 2))) -1))) (neg.f64 (*.f64 (cos.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 3 (*.f64 (+.f64 re (*.f64 1/2 (pow.f64 re 2))) (*.f64 (cos.f64 im) 1/2))) (-.f64 (*.f64 (cos.f64 im) (+.f64 (+.f64 re (*.f64 1/2 (pow.f64 re 2))) -1)) (*.f64 (+.f64 re (*.f64 1/2 (pow.f64 re 2))) (*.f64 (cos.f64 im) 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 (*.f64 (cos.f64 im) 1/2) (neg.f64 (*.f64 (cos.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))))) (/.f64 (cos.f64 im) -2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 (*.f64 (cos.f64 im) 1/2) (neg.f64 (*.f64 (cos.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))))) (+.f64 (/.f64 (cos.f64 im) -2) 0))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (cos.f64 (/.f64 im 2)) (cos.f64 (/.f64 im 2))) (+.f64 (*.f64 (sin.f64 (/.f64 im 2)) (sin.f64 (/.f64 im 2))) (neg.f64 (*.f64 (cos.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cos.f64 im) (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re 1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cos.f64 im) (+.f64 (+.f64 re (*.f64 1/2 (pow.f64 re 2))) (cos.f64 0)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cos.f64 im) (-.f64 (+.f64 re (*.f64 1/2 (pow.f64 re 2))) (neg.f64 (cos.f64 0))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cos.f64 im) (-.f64 (+.f64 (pow.f64 re 2) (+.f64 re re)) (+.f64 (+.f64 re (*.f64 1/2 (pow.f64 re 2))) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 (cos.f64 im) (-.f64 (+.f64 (pow.f64 re 2) (+.f64 re re)) -2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cos.f64 im) (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re 1))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (*.f64 (cos.f64 im) (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re 1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (cos.f64 im)) (+.f64 -1 (-.f64 (*.f64 (pow.f64 re 2) -1/2) re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (cos.f64 im)) (/.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re 1)) -1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (cos.f64 im)) (-.f64 (-.f64 (*.f64 (pow.f64 re 2) -1/2) re) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (cos.f64 im)) (-.f64 0 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re 1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (*.f64 (cos.f64 im) (-.f64 -1 (+.f64 re (*.f64 1/2 (pow.f64 re 2))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cos.f64 im) 2) (/.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re 1)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cos.f64 im) 2) (-.f64 (+.f64 (/.f64 re 2) (/.f64 (pow.f64 re 2) 4)) -1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cos.f64 im) 2) (+.f64 1/2 (+.f64 (/.f64 re 2) (/.f64 (pow.f64 re 2) 4))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cos.f64 im) 2) (+.f64 (/.f64 (cos.f64 0) 2) (+.f64 (/.f64 re 2) (/.f64 (pow.f64 re 2) 4))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cos.f64 im) 2) (+.f64 (+.f64 (/.f64 re 2) (/.f64 (pow.f64 re 2) 4)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cos.f64 im) 2) (+.f64 (+.f64 (/.f64 re 2) (/.f64 (pow.f64 re 2) 4)) (/.f64 (cos.f64 0) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cos.f64 im) (-.f64 -1 (+.f64 re (*.f64 1/2 (pow.f64 re 2))))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cos.f64 im) 1/2) (+.f64 (*.f64 (cos.f64 0) 2) (+.f64 (pow.f64 re 2) (+.f64 re re))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cos.f64 im) 1/2) (+.f64 (+.f64 (pow.f64 re 2) (+.f64 re re)) (*.f64 (cos.f64 0) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re 1)) (*.f64 (cos.f64 im) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re 1)) (cos.f64 im))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cos.f64 im) 4) (/.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re 1)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cos.f64 im) (-.f64 (+.f64 (pow.f64 re 2) (+.f64 re re)) -2)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re 1)) (*.f64 (cos.f64 im) 4)) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 -1 (-.f64 (*.f64 (pow.f64 re 2) -1/2) re)) (neg.f64 (cos.f64 im)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (+.f64 re (*.f64 1/2 (pow.f64 re 2))) (cos.f64 0)) (cos.f64 im))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (*.f64 (cos.f64 im) (-.f64 (+.f64 (pow.f64 re 2) (+.f64 re re)) -2)) 4) 1/8)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (*.f64 (cos.f64 im) 2) 4) (/.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re 1)) 8))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re 1)) (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re 1))) (*.f64 (cos.f64 im) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cos.f64 im) (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re 1))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cos.f64 im) (-.f64 -1 (+.f64 re (*.f64 1/2 (pow.f64 re 2))))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cos.f64 im) (-.f64 (+.f64 (pow.f64 re 2) (+.f64 re re)) -2)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re 1)) (*.f64 (cos.f64 im) 4)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 (cos.f64 im) (-.f64 (+.f64 (pow.f64 re 2) (+.f64 re re)) -2)) 4) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (neg.f64 (cos.f64 im)) (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re 1))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 (cos.f64 im) (+.f64 (*.f64 2 (pow.f64 re 2)) (*.f64 re 4))) (neg.f64 (*.f64 (cos.f64 im) 4))) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 (cos.f64 im) (+.f64 (*.f64 2 (pow.f64 re 2)) (*.f64 re 4))) (*.f64 2 (*.f64 (cos.f64 im) -2))) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 (cos.f64 im) 4) (neg.f64 (*.f64 (cos.f64 im) (+.f64 (*.f64 2 (pow.f64 re 2)) (*.f64 re 4))))) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 (cos.f64 im) (+.f64 (pow.f64 re 2) (+.f64 re re))) (-.f64 (-.f64 (cos.f64 (neg.f64 im)) (cos.f64 im)) (*.f64 (cos.f64 im) 2))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 (cos.f64 im) (-.f64 (+.f64 (pow.f64 re 2) (+.f64 re re)) -2)) (+.f64 (cos.f64 (+.f64 (/.f64 (PI.f64) 2) (-.f64 (/.f64 (PI.f64) 2) im))) (cos.f64 (-.f64 (/.f64 (PI.f64) 2) (-.f64 (/.f64 (PI.f64) 2) im))))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 (cos.f64 im) (-.f64 (+.f64 (pow.f64 re 2) (+.f64 re re)) -2)) (+.f64 (cos.f64 (+.f64 (/.f64 (PI.f64) 2) (-.f64 (/.f64 (PI.f64) 2) im))) (cos.f64 (-.f64 (-.f64 (/.f64 (PI.f64) 2) im) (/.f64 (PI.f64) 2))))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re 1)) (*.f64 (cos.f64 im) 4)) (+.f64 (-.f64 (cos.f64 (neg.f64 im)) (cos.f64 im)) (-.f64 (cos.f64 (neg.f64 im)) (cos.f64 im)))) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (neg.f64 (-.f64 (cos.f64 (neg.f64 im)) (cos.f64 im))) (neg.f64 (*.f64 (cos.f64 im) (-.f64 (+.f64 (pow.f64 re 2) (+.f64 re re)) -2)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (cos.f64 im) (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re 1))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (*.f64 (cos.f64 im) (-.f64 -1 (+.f64 re (*.f64 1/2 (pow.f64 re 2))))))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 1/2 (pow.f64 re 2)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 1/2 (pow.f64 re 2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (pow.f64 re 2) 4) (/.f64 (pow.f64 re 2) 4))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 1/2 (pow.f64 re 2)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (pow.f64 re 2) 4) (/.f64 (pow.f64 re 2) -4))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (pow.f64 re 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 1/2 (pow.f64 re 2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (pow.f64 re 2)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 re 2) 4) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 2 (pow.f64 re 2)) 4) 16)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 1/2 (pow.f64 re 2)) 1)))))

simplify2.0s (9.7%)

Algorithm
egg-herbie
Rules
920×rational_best-simplify-47
768×rational_best-simplify-1
694×rational_best-simplify-108
660×rational_best-simplify-65
652×rational_best-simplify-50
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
03517888
18957340
223487106
375107106
Stop Event
node limit
Counts
172 → 252
Calls
Call 1
Inputs
(+.f64 (*.f64 1/2 (pow.f64 re 2)) re)
(+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 (*.f64 -1/2 (*.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) re) (pow.f64 im 2))) re))
(+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 (*.f64 -1/2 (*.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) re) (pow.f64 im 2))) (+.f64 re (*.f64 1/24 (*.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) re) (pow.f64 im 4))))))
(+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 (*.f64 -1/2 (*.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) re) (pow.f64 im 2))) (+.f64 (*.f64 -1/720 (*.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) re) (pow.f64 im 6))) (+.f64 re (*.f64 1/24 (*.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) re) (pow.f64 im 4)))))))
(*.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) re) (cos.f64 im))
(*.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) re) (cos.f64 im))
(*.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) re) (cos.f64 im))
(*.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) re) (cos.f64 im))
(*.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) re) (cos.f64 im))
(*.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) re) (cos.f64 im))
(*.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) re) (cos.f64 im))
(*.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) re) (cos.f64 im))
(*.f64 (cos.f64 im) re)
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 im) (pow.f64 re 2))) (*.f64 (cos.f64 im) re))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 im) (pow.f64 re 2))) (*.f64 (cos.f64 im) re))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 im) (pow.f64 re 2))) (*.f64 (cos.f64 im) re))
(*.f64 1/2 (*.f64 (cos.f64 im) (pow.f64 re 2)))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 im) (pow.f64 re 2))) (*.f64 (cos.f64 im) re))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 im) (pow.f64 re 2))) (*.f64 (cos.f64 im) re))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 im) (pow.f64 re 2))) (*.f64 (cos.f64 im) re))
(*.f64 1/2 (*.f64 (cos.f64 im) (pow.f64 re 2)))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 im) (pow.f64 re 2))) (*.f64 (cos.f64 im) re))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 im) (pow.f64 re 2))) (*.f64 (cos.f64 im) re))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 im) (pow.f64 re 2))) (*.f64 (cos.f64 im) re))
(+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 1 re))
(+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 1 (+.f64 re (*.f64 (-.f64 (*.f64 -1/2 (+.f64 (*.f64 1/2 (pow.f64 re 2)) re)) 1/2) (pow.f64 im 2)))))
(+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 1 (+.f64 (*.f64 (+.f64 1/24 (*.f64 1/24 (+.f64 (*.f64 1/2 (pow.f64 re 2)) re))) (pow.f64 im 4)) (+.f64 re (*.f64 (-.f64 (*.f64 -1/2 (+.f64 (*.f64 1/2 (pow.f64 re 2)) re)) 1/2) (pow.f64 im 2))))))
(+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 (*.f64 (-.f64 (*.f64 -1/720 (+.f64 (*.f64 1/2 (pow.f64 re 2)) re)) 1/720) (pow.f64 im 6)) (+.f64 1 (+.f64 (*.f64 (+.f64 1/24 (*.f64 1/24 (+.f64 (*.f64 1/2 (pow.f64 re 2)) re))) (pow.f64 im 4)) (+.f64 re (*.f64 (-.f64 (*.f64 -1/2 (+.f64 (*.f64 1/2 (pow.f64 re 2)) re)) 1/2) (pow.f64 im 2)))))))
(+.f64 (*.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) re) (cos.f64 im)) (cos.f64 im))
(+.f64 (*.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) re) (cos.f64 im)) (cos.f64 im))
(+.f64 (*.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) re) (cos.f64 im)) (cos.f64 im))
(+.f64 (*.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) re) (cos.f64 im)) (cos.f64 im))
(+.f64 (cos.f64 im) (*.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) re) (cos.f64 im)))
(+.f64 (cos.f64 im) (*.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) re) (cos.f64 im)))
(+.f64 (cos.f64 im) (*.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) re) (cos.f64 im)))
(+.f64 (cos.f64 im) (*.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) re) (cos.f64 im)))
(cos.f64 im)
(+.f64 (*.f64 (cos.f64 im) re) (cos.f64 im))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 im) (pow.f64 re 2))) (+.f64 (*.f64 (cos.f64 im) re) (cos.f64 im)))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 im) (pow.f64 re 2))) (+.f64 (*.f64 (cos.f64 im) re) (cos.f64 im)))
(*.f64 1/2 (*.f64 (cos.f64 im) (pow.f64 re 2)))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 im) (pow.f64 re 2))) (*.f64 (cos.f64 im) re))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 im) (pow.f64 re 2))) (+.f64 (*.f64 (cos.f64 im) re) (cos.f64 im)))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 im) (pow.f64 re 2))) (+.f64 (*.f64 (cos.f64 im) re) (cos.f64 im)))
(*.f64 1/2 (*.f64 (cos.f64 im) (pow.f64 re 2)))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 im) (pow.f64 re 2))) (*.f64 (cos.f64 im) re))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 im) (pow.f64 re 2))) (+.f64 (*.f64 (cos.f64 im) re) (cos.f64 im)))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 im) (pow.f64 re 2))) (+.f64 (*.f64 (cos.f64 im) re) (cos.f64 im)))
(+.f64 (*.f64 (cos.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))) 0)
(+.f64 0 (*.f64 (cos.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))))
(+.f64 (*.f64 (+.f64 re (*.f64 1/2 (pow.f64 re 2))) (*.f64 (cos.f64 im) 1/2)) (*.f64 (+.f64 re (*.f64 1/2 (pow.f64 re 2))) (*.f64 (cos.f64 im) 1/2)))
(-.f64 (*.f64 (cos.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))) 0)
(-.f64 (*.f64 (+.f64 re (*.f64 1/2 (pow.f64 re 2))) (*.f64 (cos.f64 im) 1/2)) (/.f64 (*.f64 (cos.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))) -2))
(-.f64 (*.f64 (+.f64 re (*.f64 1/2 (pow.f64 re 2))) (*.f64 (cos.f64 im) 1/2)) (+.f64 (/.f64 (*.f64 (cos.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))) -2) 0))
(/.f64 (*.f64 (cos.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))) 1)
(/.f64 (*.f64 (cos.f64 im) (+.f64 (pow.f64 re 2) (+.f64 re re))) 2)
(/.f64 (*.f64 (cos.f64 im) (+.f64 (*.f64 2 (pow.f64 re 2)) (*.f64 re 4))) 4)
(/.f64 (*.f64 (+.f64 (pow.f64 re 2) (+.f64 re re)) (*.f64 (cos.f64 im) 4)) 8)
(/.f64 (*.f64 (*.f64 (*.f64 (cos.f64 im) 2) 4) (+.f64 (pow.f64 re 2) (+.f64 re re))) 16)
(/.f64 (*.f64 (neg.f64 (cos.f64 im)) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))) -1)
(/.f64 (*.f64 (neg.f64 (cos.f64 im)) (+.f64 (pow.f64 re 2) (+.f64 re re))) -2)
(/.f64 (*.f64 (neg.f64 (cos.f64 im)) (+.f64 (*.f64 2 (pow.f64 re 2)) (*.f64 re 4))) -4)
(/.f64 (*.f64 (neg.f64 (cos.f64 im)) (*.f64 (+.f64 (pow.f64 re 2) (+.f64 re re)) 4)) -8)
(/.f64 (*.f64 (-.f64 (*.f64 (pow.f64 re 2) -1/2) re) (*.f64 (cos.f64 im) 2)) -2)
(/.f64 (*.f64 (-.f64 (*.f64 (pow.f64 re 2) -1/2) re) (*.f64 (cos.f64 im) 4)) -4)
(/.f64 (*.f64 (-.f64 (*.f64 (pow.f64 re 2) -1/2) re) (*.f64 (*.f64 (cos.f64 im) 2) 4)) -8)
(/.f64 (*.f64 (+.f64 re (*.f64 1/2 (pow.f64 re 2))) (*.f64 (cos.f64 im) -2)) -2)
(/.f64 (*.f64 (+.f64 re (*.f64 1/2 (pow.f64 re 2))) (neg.f64 (*.f64 (cos.f64 im) 4))) -4)
(/.f64 (*.f64 (+.f64 re (*.f64 1/2 (pow.f64 re 2))) (*.f64 2 (*.f64 (cos.f64 im) -2))) -4)
(/.f64 (*.f64 (-.f64 (*.f64 (pow.f64 re 2) -1/2) re) (cos.f64 im)) -1)
(/.f64 (*.f64 (+.f64 re (*.f64 1/2 (pow.f64 re 2))) (neg.f64 (cos.f64 im))) -1)
(/.f64 (*.f64 (+.f64 re (*.f64 1/2 (pow.f64 re 2))) (-.f64 (-.f64 (cos.f64 (neg.f64 im)) (cos.f64 im)) (*.f64 (cos.f64 im) 2))) -2)
(/.f64 (-.f64 (*.f64 (cos.f64 im) (+.f64 (pow.f64 re 2) (+.f64 re re))) (-.f64 (cos.f64 (neg.f64 im)) (cos.f64 im))) 2)
(/.f64 (-.f64 (*.f64 (cos.f64 im) (+.f64 (pow.f64 re 2) (+.f64 re re))) (+.f64 (cos.f64 (+.f64 (/.f64 (PI.f64) 2) (-.f64 (/.f64 (PI.f64) 2) im))) (cos.f64 (-.f64 (/.f64 (PI.f64) 2) (-.f64 (/.f64 (PI.f64) 2) im))))) 2)
(/.f64 (-.f64 (*.f64 (cos.f64 im) (+.f64 (pow.f64 re 2) (+.f64 re re))) (+.f64 (cos.f64 (+.f64 (/.f64 (PI.f64) 2) (-.f64 (/.f64 (PI.f64) 2) im))) (cos.f64 (-.f64 (-.f64 (/.f64 (PI.f64) 2) im) (/.f64 (PI.f64) 2))))) 2)
(/.f64 (-.f64 (*.f64 (cos.f64 im) (+.f64 (*.f64 2 (pow.f64 re 2)) (*.f64 re 4))) (+.f64 (-.f64 (cos.f64 (neg.f64 im)) (cos.f64 im)) (-.f64 (cos.f64 (neg.f64 im)) (cos.f64 im)))) 4)
(/.f64 (*.f64 (*.f64 (*.f64 (cos.f64 im) 2) 4) (*.f64 (+.f64 (pow.f64 re 2) (+.f64 re re)) 4)) 64)
(/.f64 (*.f64 (*.f64 (+.f64 (pow.f64 re 2) (+.f64 re re)) 4) (*.f64 (*.f64 (cos.f64 im) 2) 4)) 64)
(/.f64 (*.f64 (*.f64 (cos.f64 im) 2) (*.f64 (+.f64 (pow.f64 re 2) (+.f64 re re)) 4)) 16)
(/.f64 (*.f64 (+.f64 (pow.f64 re 2) (+.f64 re re)) (*.f64 (*.f64 (cos.f64 im) 2) 4)) 16)
(/.f64 (*.f64 (cos.f64 0) (*.f64 (cos.f64 im) (+.f64 (*.f64 2 (pow.f64 re 2)) (*.f64 re 4)))) 4)
(/.f64 (*.f64 (*.f64 (cos.f64 0) 2) (*.f64 (+.f64 (pow.f64 re 2) (+.f64 re re)) (*.f64 (cos.f64 im) 4))) 16)
(/.f64 (*.f64 (-.f64 (*.f64 re -2) (pow.f64 re 2)) (-.f64 (-.f64 (cos.f64 (neg.f64 im)) (cos.f64 im)) (*.f64 (cos.f64 im) 2))) 4)
(pow.f64 (*.f64 (cos.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))) 1)
(-.f64 (cos.f64 im) (neg.f64 (*.f64 (cos.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2))))))
(-.f64 (*.f64 (cos.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))) (neg.f64 (cos.f64 im)))
(-.f64 (*.f64 (cos.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))) (-.f64 (*.f64 (cos.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))) (*.f64 (cos.f64 im) (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re 1)))))
(-.f64 (*.f64 (cos.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))) (+.f64 (-.f64 (*.f64 (cos.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))) (*.f64 (cos.f64 im) (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re 1)))) 0))
(-.f64 (*.f64 (cos.f64 im) (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re 1))) 0)
(-.f64 (*.f64 (cos.f64 im) (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re 1))) (+.f64 (/.f64 (*.f64 (cos.f64 im) (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re 1))) -2) (/.f64 (*.f64 (cos.f64 im) (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re 1))) 2)))
(-.f64 0 (*.f64 (cos.f64 im) (-.f64 -1 (+.f64 re (*.f64 1/2 (pow.f64 re 2))))))
(-.f64 (*.f64 (cos.f64 im) 2) (-.f64 0 (*.f64 (cos.f64 im) (+.f64 (+.f64 re (*.f64 1/2 (pow.f64 re 2))) -1))))
(-.f64 (*.f64 (cos.f64 im) 2) (+.f64 (-.f64 0 (*.f64 (cos.f64 im) (+.f64 (+.f64 re (*.f64 1/2 (pow.f64 re 2))) -1))) 0))
(-.f64 (*.f64 (cos.f64 im) (+.f64 (pow.f64 re 2) (+.f64 re re))) (*.f64 (cos.f64 im) (+.f64 (+.f64 re (*.f64 1/2 (pow.f64 re 2))) -1)))
(-.f64 (*.f64 (cos.f64 im) 1/2) (-.f64 (neg.f64 (*.f64 (cos.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2))))) (*.f64 (cos.f64 im) 1/2)))
(-.f64 (*.f64 (cos.f64 im) 1/2) (+.f64 (/.f64 (cos.f64 im) -2) (neg.f64 (*.f64 (cos.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))))))
(-.f64 (*.f64 (cos.f64 im) 1/2) (+.f64 (-.f64 (neg.f64 (*.f64 (cos.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2))))) (*.f64 (cos.f64 im) 1/2)) 0))
(-.f64 (*.f64 (+.f64 re (*.f64 1/2 (pow.f64 re 2))) (*.f64 (cos.f64 im) 1/2)) (-.f64 (neg.f64 (cos.f64 im)) (*.f64 (+.f64 re (*.f64 1/2 (pow.f64 re 2))) (*.f64 (cos.f64 im) 1/2))))
(-.f64 (*.f64 (+.f64 re (*.f64 1/2 (pow.f64 re 2))) (*.f64 (cos.f64 im) 1/2)) (+.f64 (/.f64 (*.f64 (cos.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))) -2) (neg.f64 (cos.f64 im))))
(-.f64 (*.f64 (+.f64 re (*.f64 1/2 (pow.f64 re 2))) (*.f64 (cos.f64 im) 1/2)) (+.f64 (-.f64 (neg.f64 (cos.f64 im)) (*.f64 (+.f64 re (*.f64 1/2 (pow.f64 re 2))) (*.f64 (cos.f64 im) 1/2))) 0))
(-.f64 (/.f64 (*.f64 (cos.f64 im) (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re 1))) 2) (/.f64 (*.f64 (cos.f64 im) (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re 1))) -2))
(-.f64 (/.f64 (*.f64 (cos.f64 im) (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re 1))) 2) (+.f64 (/.f64 (*.f64 (cos.f64 im) (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re 1))) -2) 0))
(-.f64 (/.f64 (*.f64 (cos.f64 im) (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re 1))) 2) (-.f64 (/.f64 (cos.f64 im) -2) (*.f64 (+.f64 re (*.f64 1/2 (pow.f64 re 2))) (*.f64 (cos.f64 im) 1/2))))
(-.f64 (/.f64 (*.f64 (cos.f64 im) (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re 1))) 2) (-.f64 (/.f64 (*.f64 (cos.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))) -2) (*.f64 (cos.f64 im) 1/2)))
(-.f64 (/.f64 (*.f64 (cos.f64 im) (+.f64 (+.f64 re (*.f64 1/2 (pow.f64 re 2))) 2)) 2) (/.f64 (*.f64 (cos.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))) -2))
(-.f64 (/.f64 (*.f64 (cos.f64 im) (+.f64 (+.f64 re (*.f64 1/2 (pow.f64 re 2))) 2)) 2) (+.f64 (/.f64 (*.f64 (cos.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))) -2) 0))
(-.f64 (/.f64 (*.f64 (cos.f64 im) (+.f64 (+.f64 re (*.f64 1/2 (pow.f64 re 2))) 2)) 2) (-.f64 (*.f64 (+.f64 re (*.f64 1/2 (pow.f64 re 2))) (*.f64 (cos.f64 im) 1/2)) (*.f64 (cos.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2))))))
(-.f64 (+.f64 (*.f64 (cos.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))) (*.f64 (cos.f64 im) 1/2)) (/.f64 (cos.f64 im) -2))
(-.f64 (+.f64 (*.f64 (cos.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))) (*.f64 (cos.f64 im) 1/2)) (+.f64 (/.f64 (cos.f64 im) -2) 0))
(-.f64 (*.f64 (cos.f64 im) (-.f64 (+.f64 re (*.f64 1/2 (pow.f64 re 2))) (+.f64 (+.f64 re (*.f64 1/2 (pow.f64 re 2))) -1))) (neg.f64 (*.f64 (cos.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2))))))
(-.f64 (*.f64 3 (*.f64 (+.f64 re (*.f64 1/2 (pow.f64 re 2))) (*.f64 (cos.f64 im) 1/2))) (-.f64 (*.f64 (cos.f64 im) (+.f64 (+.f64 re (*.f64 1/2 (pow.f64 re 2))) -1)) (*.f64 (+.f64 re (*.f64 1/2 (pow.f64 re 2))) (*.f64 (cos.f64 im) 1/2))))
(-.f64 (-.f64 (*.f64 (cos.f64 im) 1/2) (neg.f64 (*.f64 (cos.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))))) (/.f64 (cos.f64 im) -2))
(-.f64 (-.f64 (*.f64 (cos.f64 im) 1/2) (neg.f64 (*.f64 (cos.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))))) (+.f64 (/.f64 (cos.f64 im) -2) 0))
(-.f64 (*.f64 (cos.f64 (/.f64 im 2)) (cos.f64 (/.f64 im 2))) (+.f64 (*.f64 (sin.f64 (/.f64 im 2)) (sin.f64 (/.f64 im 2))) (neg.f64 (*.f64 (cos.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))))))
(*.f64 (cos.f64 im) (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re 1)))
(*.f64 (cos.f64 im) (+.f64 (+.f64 re (*.f64 1/2 (pow.f64 re 2))) (cos.f64 0)))
(*.f64 (cos.f64 im) (-.f64 (+.f64 re (*.f64 1/2 (pow.f64 re 2))) (neg.f64 (cos.f64 0))))
(*.f64 (cos.f64 im) (-.f64 (+.f64 (pow.f64 re 2) (+.f64 re re)) (+.f64 (+.f64 re (*.f64 1/2 (pow.f64 re 2))) -1)))
(*.f64 1/2 (*.f64 (cos.f64 im) (-.f64 (+.f64 (pow.f64 re 2) (+.f64 re re)) -2)))
(*.f64 (*.f64 (cos.f64 im) (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re 1))) 1)
(*.f64 1 (*.f64 (cos.f64 im) (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re 1))))
(*.f64 (neg.f64 (cos.f64 im)) (+.f64 -1 (-.f64 (*.f64 (pow.f64 re 2) -1/2) re)))
(*.f64 (neg.f64 (cos.f64 im)) (/.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re 1)) -1))
(*.f64 (neg.f64 (cos.f64 im)) (-.f64 (-.f64 (*.f64 (pow.f64 re 2) -1/2) re) 1))
(*.f64 (neg.f64 (cos.f64 im)) (-.f64 0 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re 1))))
(*.f64 -1 (*.f64 (cos.f64 im) (-.f64 -1 (+.f64 re (*.f64 1/2 (pow.f64 re 2))))))
(*.f64 (*.f64 (cos.f64 im) 2) (/.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re 1)) 2))
(*.f64 (*.f64 (cos.f64 im) 2) (-.f64 (+.f64 (/.f64 re 2) (/.f64 (pow.f64 re 2) 4)) -1/2))
(*.f64 (*.f64 (cos.f64 im) 2) (+.f64 1/2 (+.f64 (/.f64 re 2) (/.f64 (pow.f64 re 2) 4))))
(*.f64 (*.f64 (cos.f64 im) 2) (+.f64 (/.f64 (cos.f64 0) 2) (+.f64 (/.f64 re 2) (/.f64 (pow.f64 re 2) 4))))
(*.f64 (*.f64 (cos.f64 im) 2) (+.f64 (+.f64 (/.f64 re 2) (/.f64 (pow.f64 re 2) 4)) 1/2))
(*.f64 (*.f64 (cos.f64 im) 2) (+.f64 (+.f64 (/.f64 re 2) (/.f64 (pow.f64 re 2) 4)) (/.f64 (cos.f64 0) 2)))
(*.f64 (*.f64 (cos.f64 im) (-.f64 -1 (+.f64 re (*.f64 1/2 (pow.f64 re 2))))) -1)
(*.f64 (*.f64 (cos.f64 im) 1/2) (+.f64 (*.f64 (cos.f64 0) 2) (+.f64 (pow.f64 re 2) (+.f64 re re))))
(*.f64 (*.f64 (cos.f64 im) 1/2) (+.f64 (+.f64 (pow.f64 re 2) (+.f64 re re)) (*.f64 (cos.f64 0) 2)))
(*.f64 1/4 (*.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re 1)) (*.f64 (cos.f64 im) 4)))
(*.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re 1)) (cos.f64 im))
(*.f64 (*.f64 (cos.f64 im) 4) (/.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re 1)) 4))
(*.f64 (*.f64 (cos.f64 im) (-.f64 (+.f64 (pow.f64 re 2) (+.f64 re re)) -2)) 1/2)
(*.f64 (*.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re 1)) (*.f64 (cos.f64 im) 4)) 1/4)
(*.f64 (+.f64 -1 (-.f64 (*.f64 (pow.f64 re 2) -1/2) re)) (neg.f64 (cos.f64 im)))
(*.f64 (+.f64 (+.f64 re (*.f64 1/2 (pow.f64 re 2))) (cos.f64 0)) (cos.f64 im))
(*.f64 (*.f64 (*.f64 (cos.f64 im) (-.f64 (+.f64 (pow.f64 re 2) (+.f64 re re)) -2)) 4) 1/8)
(*.f64 (*.f64 (*.f64 (cos.f64 im) 2) 4) (/.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re 1)) 8))
(*.f64 (+.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re 1)) (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re 1))) (*.f64 (cos.f64 im) 1/2))
(/.f64 (*.f64 (cos.f64 im) (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re 1))) 1)
(/.f64 (*.f64 (cos.f64 im) (-.f64 -1 (+.f64 re (*.f64 1/2 (pow.f64 re 2))))) -1)
(/.f64 (*.f64 (cos.f64 im) (-.f64 (+.f64 (pow.f64 re 2) (+.f64 re re)) -2)) 2)
(/.f64 (*.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re 1)) (*.f64 (cos.f64 im) 4)) 4)
(/.f64 (*.f64 (*.f64 (cos.f64 im) (-.f64 (+.f64 (pow.f64 re 2) (+.f64 re re)) -2)) 4) 8)
(/.f64 (*.f64 (neg.f64 (cos.f64 im)) (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re 1))) -1)
(/.f64 (-.f64 (*.f64 (cos.f64 im) (+.f64 (*.f64 2 (pow.f64 re 2)) (*.f64 re 4))) (neg.f64 (*.f64 (cos.f64 im) 4))) 4)
(/.f64 (-.f64 (*.f64 (cos.f64 im) (+.f64 (*.f64 2 (pow.f64 re 2)) (*.f64 re 4))) (*.f64 2 (*.f64 (cos.f64 im) -2))) 4)
(/.f64 (-.f64 (*.f64 (cos.f64 im) 4) (neg.f64 (*.f64 (cos.f64 im) (+.f64 (*.f64 2 (pow.f64 re 2)) (*.f64 re 4))))) 4)
(/.f64 (-.f64 (*.f64 (cos.f64 im) (+.f64 (pow.f64 re 2) (+.f64 re re))) (-.f64 (-.f64 (cos.f64 (neg.f64 im)) (cos.f64 im)) (*.f64 (cos.f64 im) 2))) 2)
(/.f64 (-.f64 (*.f64 (cos.f64 im) (-.f64 (+.f64 (pow.f64 re 2) (+.f64 re re)) -2)) (+.f64 (cos.f64 (+.f64 (/.f64 (PI.f64) 2) (-.f64 (/.f64 (PI.f64) 2) im))) (cos.f64 (-.f64 (/.f64 (PI.f64) 2) (-.f64 (/.f64 (PI.f64) 2) im))))) 2)
(/.f64 (-.f64 (*.f64 (cos.f64 im) (-.f64 (+.f64 (pow.f64 re 2) (+.f64 re re)) -2)) (+.f64 (cos.f64 (+.f64 (/.f64 (PI.f64) 2) (-.f64 (/.f64 (PI.f64) 2) im))) (cos.f64 (-.f64 (-.f64 (/.f64 (PI.f64) 2) im) (/.f64 (PI.f64) 2))))) 2)
(/.f64 (-.f64 (*.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re 1)) (*.f64 (cos.f64 im) 4)) (+.f64 (-.f64 (cos.f64 (neg.f64 im)) (cos.f64 im)) (-.f64 (cos.f64 (neg.f64 im)) (cos.f64 im)))) 4)
(/.f64 (-.f64 (neg.f64 (-.f64 (cos.f64 (neg.f64 im)) (cos.f64 im))) (neg.f64 (*.f64 (cos.f64 im) (-.f64 (+.f64 (pow.f64 re 2) (+.f64 re re)) -2)))) 2)
(pow.f64 (*.f64 (cos.f64 im) (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re 1))) 1)
(neg.f64 (*.f64 (cos.f64 im) (-.f64 -1 (+.f64 re (*.f64 1/2 (pow.f64 re 2))))))
(+.f64 (*.f64 1/2 (pow.f64 re 2)) 0)
(+.f64 0 (*.f64 1/2 (pow.f64 re 2)))
(+.f64 (/.f64 (pow.f64 re 2) 4) (/.f64 (pow.f64 re 2) 4))
(-.f64 (*.f64 1/2 (pow.f64 re 2)) 0)
(-.f64 (/.f64 (pow.f64 re 2) 4) (/.f64 (pow.f64 re 2) -4))
(/.f64 (pow.f64 re 2) 2)
(/.f64 (*.f64 1/2 (pow.f64 re 2)) 1)
(/.f64 (*.f64 2 (pow.f64 re 2)) 4)
(/.f64 (*.f64 (pow.f64 re 2) 4) 8)
(/.f64 (*.f64 (*.f64 2 (pow.f64 re 2)) 4) 16)
(pow.f64 (*.f64 1/2 (pow.f64 re 2)) 1)
Outputs
(+.f64 (*.f64 1/2 (pow.f64 re 2)) re)
(+.f64 re (*.f64 1/2 (pow.f64 re 2)))
(+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 (*.f64 -1/2 (*.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) re) (pow.f64 im 2))) re))
(+.f64 re (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 im 2) (+.f64 re (*.f64 1/2 (pow.f64 re 2))))) (*.f64 1/2 (pow.f64 re 2))))
(+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) (*.f64 -1/2 (*.f64 (pow.f64 im 2) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))))))
(+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) (*.f64 (pow.f64 im 2) (*.f64 -1/2 (+.f64 re (*.f64 1/2 (pow.f64 re 2)))))))
(+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 (*.f64 -1/2 (*.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) re) (pow.f64 im 2))) (+.f64 re (*.f64 1/24 (*.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) re) (pow.f64 im 4))))))
(+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 (*.f64 1/24 (*.f64 (pow.f64 im 4) (+.f64 re (*.f64 1/2 (pow.f64 re 2))))) (+.f64 re (*.f64 -1/2 (*.f64 (pow.f64 im 2) (+.f64 re (*.f64 1/2 (pow.f64 re 2))))))))
(+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 im 2) (+.f64 re (*.f64 1/2 (pow.f64 re 2))))) (*.f64 1/24 (*.f64 (pow.f64 im 4) (+.f64 re (*.f64 1/2 (pow.f64 re 2))))))))
(+.f64 re (+.f64 (*.f64 1/24 (*.f64 (pow.f64 im 4) (+.f64 re (*.f64 1/2 (pow.f64 re 2))))) (+.f64 (*.f64 1/2 (pow.f64 re 2)) (*.f64 (pow.f64 im 2) (*.f64 -1/2 (+.f64 re (*.f64 1/2 (pow.f64 re 2))))))))
(+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 (*.f64 -1/2 (*.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) re) (pow.f64 im 2))) (+.f64 (*.f64 -1/720 (*.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) re) (pow.f64 im 6))) (+.f64 re (*.f64 1/24 (*.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) re) (pow.f64 im 4)))))))
(+.f64 (+.f64 (*.f64 1/24 (*.f64 (pow.f64 im 4) (+.f64 re (*.f64 1/2 (pow.f64 re 2))))) (+.f64 re (*.f64 -1/720 (*.f64 (pow.f64 im 6) (+.f64 re (*.f64 1/2 (pow.f64 re 2))))))) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 im 2) (+.f64 re (*.f64 1/2 (pow.f64 re 2))))) (*.f64 1/2 (pow.f64 re 2))))
(+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 im 2) (+.f64 re (*.f64 1/2 (pow.f64 re 2))))) (+.f64 re (+.f64 (*.f64 1/24 (*.f64 (pow.f64 im 4) (+.f64 re (*.f64 1/2 (pow.f64 re 2))))) (*.f64 -1/720 (*.f64 (pow.f64 im 6) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))))))))
(+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 (+.f64 re (*.f64 (pow.f64 im 2) (*.f64 -1/2 (+.f64 re (*.f64 1/2 (pow.f64 re 2)))))) (+.f64 (*.f64 1/24 (*.f64 (pow.f64 im 4) (+.f64 re (*.f64 1/2 (pow.f64 re 2))))) (*.f64 (+.f64 re (*.f64 1/2 (pow.f64 re 2))) (*.f64 -1/720 (pow.f64 im 6))))))
(*.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) re) (cos.f64 im))
(*.f64 (cos.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2))))
(*.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) re) (cos.f64 im))
(*.f64 (cos.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2))))
(*.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) re) (cos.f64 im))
(*.f64 (cos.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2))))
(*.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) re) (cos.f64 im))
(*.f64 (cos.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2))))
(*.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) re) (cos.f64 im))
(*.f64 (cos.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2))))
(*.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) re) (cos.f64 im))
(*.f64 (cos.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2))))
(*.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) re) (cos.f64 im))
(*.f64 (cos.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2))))
(*.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) re) (cos.f64 im))
(*.f64 (cos.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2))))
(*.f64 (cos.f64 im) re)
(*.f64 re (cos.f64 im))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 im) (pow.f64 re 2))) (*.f64 (cos.f64 im) re))
(+.f64 (*.f64 re (cos.f64 im)) (*.f64 (pow.f64 re 2) (*.f64 1/2 (cos.f64 im))))
(+.f64 (*.f64 re (cos.f64 im)) (*.f64 1/2 (*.f64 (pow.f64 re 2) (cos.f64 im))))
(+.f64 (*.f64 re (cos.f64 im)) (*.f64 (pow.f64 re 2) (/.f64 (cos.f64 im) 2)))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 im) (pow.f64 re 2))) (*.f64 (cos.f64 im) re))
(+.f64 (*.f64 re (cos.f64 im)) (*.f64 (pow.f64 re 2) (*.f64 1/2 (cos.f64 im))))
(+.f64 (*.f64 re (cos.f64 im)) (*.f64 1/2 (*.f64 (pow.f64 re 2) (cos.f64 im))))
(+.f64 (*.f64 re (cos.f64 im)) (*.f64 (pow.f64 re 2) (/.f64 (cos.f64 im) 2)))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 im) (pow.f64 re 2))) (*.f64 (cos.f64 im) re))
(+.f64 (*.f64 re (cos.f64 im)) (*.f64 (pow.f64 re 2) (*.f64 1/2 (cos.f64 im))))
(+.f64 (*.f64 re (cos.f64 im)) (*.f64 1/2 (*.f64 (pow.f64 re 2) (cos.f64 im))))
(+.f64 (*.f64 re (cos.f64 im)) (*.f64 (pow.f64 re 2) (/.f64 (cos.f64 im) 2)))
(*.f64 1/2 (*.f64 (cos.f64 im) (pow.f64 re 2)))
(*.f64 (pow.f64 re 2) (*.f64 1/2 (cos.f64 im)))
(*.f64 1/2 (*.f64 (pow.f64 re 2) (cos.f64 im)))
(*.f64 (pow.f64 re 2) (/.f64 (cos.f64 im) 2))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 im) (pow.f64 re 2))) (*.f64 (cos.f64 im) re))
(+.f64 (*.f64 re (cos.f64 im)) (*.f64 (pow.f64 re 2) (*.f64 1/2 (cos.f64 im))))
(+.f64 (*.f64 re (cos.f64 im)) (*.f64 1/2 (*.f64 (pow.f64 re 2) (cos.f64 im))))
(+.f64 (*.f64 re (cos.f64 im)) (*.f64 (pow.f64 re 2) (/.f64 (cos.f64 im) 2)))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 im) (pow.f64 re 2))) (*.f64 (cos.f64 im) re))
(+.f64 (*.f64 re (cos.f64 im)) (*.f64 (pow.f64 re 2) (*.f64 1/2 (cos.f64 im))))
(+.f64 (*.f64 re (cos.f64 im)) (*.f64 1/2 (*.f64 (pow.f64 re 2) (cos.f64 im))))
(+.f64 (*.f64 re (cos.f64 im)) (*.f64 (pow.f64 re 2) (/.f64 (cos.f64 im) 2)))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 im) (pow.f64 re 2))) (*.f64 (cos.f64 im) re))
(+.f64 (*.f64 re (cos.f64 im)) (*.f64 (pow.f64 re 2) (*.f64 1/2 (cos.f64 im))))
(+.f64 (*.f64 re (cos.f64 im)) (*.f64 1/2 (*.f64 (pow.f64 re 2) (cos.f64 im))))
(+.f64 (*.f64 re (cos.f64 im)) (*.f64 (pow.f64 re 2) (/.f64 (cos.f64 im) 2)))
(*.f64 1/2 (*.f64 (cos.f64 im) (pow.f64 re 2)))
(*.f64 (pow.f64 re 2) (*.f64 1/2 (cos.f64 im)))
(*.f64 1/2 (*.f64 (pow.f64 re 2) (cos.f64 im)))
(*.f64 (pow.f64 re 2) (/.f64 (cos.f64 im) 2))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 im) (pow.f64 re 2))) (*.f64 (cos.f64 im) re))
(+.f64 (*.f64 re (cos.f64 im)) (*.f64 (pow.f64 re 2) (*.f64 1/2 (cos.f64 im))))
(+.f64 (*.f64 re (cos.f64 im)) (*.f64 1/2 (*.f64 (pow.f64 re 2) (cos.f64 im))))
(+.f64 (*.f64 re (cos.f64 im)) (*.f64 (pow.f64 re 2) (/.f64 (cos.f64 im) 2)))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 im) (pow.f64 re 2))) (*.f64 (cos.f64 im) re))
(+.f64 (*.f64 re (cos.f64 im)) (*.f64 (pow.f64 re 2) (*.f64 1/2 (cos.f64 im))))
(+.f64 (*.f64 re (cos.f64 im)) (*.f64 1/2 (*.f64 (pow.f64 re 2) (cos.f64 im))))
(+.f64 (*.f64 re (cos.f64 im)) (*.f64 (pow.f64 re 2) (/.f64 (cos.f64 im) 2)))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 im) (pow.f64 re 2))) (*.f64 (cos.f64 im) re))
(+.f64 (*.f64 re (cos.f64 im)) (*.f64 (pow.f64 re 2) (*.f64 1/2 (cos.f64 im))))
(+.f64 (*.f64 re (cos.f64 im)) (*.f64 1/2 (*.f64 (pow.f64 re 2) (cos.f64 im))))
(+.f64 (*.f64 re (cos.f64 im)) (*.f64 (pow.f64 re 2) (/.f64 (cos.f64 im) 2)))
(+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 1 re))
(+.f64 re (+.f64 1 (*.f64 1/2 (pow.f64 re 2))))
(+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) 1))
(+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 1 (+.f64 re (*.f64 (-.f64 (*.f64 -1/2 (+.f64 (*.f64 1/2 (pow.f64 re 2)) re)) 1/2) (pow.f64 im 2)))))
(+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 (*.f64 (pow.f64 im 2) (-.f64 (*.f64 -1/2 (+.f64 re (*.f64 1/2 (pow.f64 re 2)))) 1/2)) (+.f64 re 1)))
(+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re (+.f64 1 (*.f64 (pow.f64 im 2) (-.f64 (*.f64 -1/2 (+.f64 re (*.f64 1/2 (pow.f64 re 2)))) 1/2)))))
(+.f64 re (+.f64 (*.f64 (pow.f64 im 2) (-.f64 (*.f64 -1/2 (+.f64 re (*.f64 1/2 (pow.f64 re 2)))) 1/2)) (+.f64 (*.f64 1/2 (pow.f64 re 2)) 1)))
(+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 1 (+.f64 (*.f64 (+.f64 1/24 (*.f64 1/24 (+.f64 (*.f64 1/2 (pow.f64 re 2)) re))) (pow.f64 im 4)) (+.f64 re (*.f64 (-.f64 (*.f64 -1/2 (+.f64 (*.f64 1/2 (pow.f64 re 2)) re)) 1/2) (pow.f64 im 2))))))
(+.f64 (+.f64 (*.f64 (pow.f64 im 2) (-.f64 (*.f64 -1/2 (+.f64 re (*.f64 1/2 (pow.f64 re 2)))) 1/2)) (+.f64 re (*.f64 (pow.f64 im 4) (+.f64 1/24 (*.f64 1/24 (+.f64 re (*.f64 1/2 (pow.f64 re 2)))))))) (+.f64 1 (*.f64 1/2 (pow.f64 re 2))))
(+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 (+.f64 re (*.f64 (pow.f64 im 2) (-.f64 (*.f64 -1/2 (+.f64 re (*.f64 1/2 (pow.f64 re 2)))) 1/2))) (+.f64 1 (*.f64 (pow.f64 im 4) (+.f64 1/24 (*.f64 1/24 (+.f64 re (*.f64 1/2 (pow.f64 re 2)))))))))
(+.f64 (+.f64 re (*.f64 (pow.f64 im 2) (-.f64 (*.f64 -1/2 (+.f64 re (*.f64 1/2 (pow.f64 re 2)))) 1/2))) (+.f64 (+.f64 1 (*.f64 (pow.f64 im 4) (+.f64 1/24 (*.f64 1/24 (+.f64 re (*.f64 1/2 (pow.f64 re 2))))))) (*.f64 1/2 (pow.f64 re 2))))
(+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 (*.f64 (-.f64 (*.f64 -1/720 (+.f64 (*.f64 1/2 (pow.f64 re 2)) re)) 1/720) (pow.f64 im 6)) (+.f64 1 (+.f64 (*.f64 (+.f64 1/24 (*.f64 1/24 (+.f64 (*.f64 1/2 (pow.f64 re 2)) re))) (pow.f64 im 4)) (+.f64 re (*.f64 (-.f64 (*.f64 -1/2 (+.f64 (*.f64 1/2 (pow.f64 re 2)) re)) 1/2) (pow.f64 im 2)))))))
(+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 (+.f64 (*.f64 (pow.f64 im 2) (-.f64 (*.f64 -1/2 (+.f64 re (*.f64 1/2 (pow.f64 re 2)))) 1/2)) (+.f64 re (*.f64 (pow.f64 im 4) (+.f64 1/24 (*.f64 1/24 (+.f64 re (*.f64 1/2 (pow.f64 re 2)))))))) (+.f64 1 (*.f64 (pow.f64 im 6) (-.f64 (*.f64 -1/720 (+.f64 re (*.f64 1/2 (pow.f64 re 2)))) 1/720)))))
(+.f64 (+.f64 (+.f64 re (*.f64 (pow.f64 im 2) (-.f64 (*.f64 -1/2 (+.f64 re (*.f64 1/2 (pow.f64 re 2)))) 1/2))) (+.f64 1 (*.f64 (pow.f64 im 4) (+.f64 1/24 (*.f64 1/24 (+.f64 re (*.f64 1/2 (pow.f64 re 2)))))))) (+.f64 (*.f64 1/2 (pow.f64 re 2)) (*.f64 (pow.f64 im 6) (-.f64 (*.f64 -1/720 (+.f64 re (*.f64 1/2 (pow.f64 re 2)))) 1/720))))
(+.f64 1 (+.f64 (+.f64 re (+.f64 (*.f64 (pow.f64 im 2) (-.f64 (*.f64 -1/2 (+.f64 re (*.f64 1/2 (pow.f64 re 2)))) 1/2)) (*.f64 (pow.f64 im 4) (+.f64 1/24 (*.f64 1/24 (+.f64 re (*.f64 1/2 (pow.f64 re 2)))))))) (+.f64 (*.f64 1/2 (pow.f64 re 2)) (*.f64 (pow.f64 im 6) (-.f64 (*.f64 -1/720 (+.f64 re (*.f64 1/2 (pow.f64 re 2)))) 1/720)))))
(+.f64 (*.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) re) (cos.f64 im)) (cos.f64 im))
(+.f64 (cos.f64 im) (*.f64 (cos.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))))
(*.f64 (cos.f64 im) (-.f64 (+.f64 re (*.f64 1/2 (pow.f64 re 2))) -1))
(*.f64 (cos.f64 im) (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) 1)))
(+.f64 (*.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) re) (cos.f64 im)) (cos.f64 im))
(+.f64 (cos.f64 im) (*.f64 (cos.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))))
(*.f64 (cos.f64 im) (-.f64 (+.f64 re (*.f64 1/2 (pow.f64 re 2))) -1))
(*.f64 (cos.f64 im) (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) 1)))
(+.f64 (*.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) re) (cos.f64 im)) (cos.f64 im))
(+.f64 (cos.f64 im) (*.f64 (cos.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))))
(*.f64 (cos.f64 im) (-.f64 (+.f64 re (*.f64 1/2 (pow.f64 re 2))) -1))
(*.f64 (cos.f64 im) (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) 1)))
(+.f64 (*.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) re) (cos.f64 im)) (cos.f64 im))
(+.f64 (cos.f64 im) (*.f64 (cos.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))))
(*.f64 (cos.f64 im) (-.f64 (+.f64 re (*.f64 1/2 (pow.f64 re 2))) -1))
(*.f64 (cos.f64 im) (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) 1)))
(+.f64 (cos.f64 im) (*.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) re) (cos.f64 im)))
(+.f64 (cos.f64 im) (*.f64 (cos.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))))
(*.f64 (cos.f64 im) (-.f64 (+.f64 re (*.f64 1/2 (pow.f64 re 2))) -1))
(*.f64 (cos.f64 im) (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) 1)))
(+.f64 (cos.f64 im) (*.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) re) (cos.f64 im)))
(+.f64 (cos.f64 im) (*.f64 (cos.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))))
(*.f64 (cos.f64 im) (-.f64 (+.f64 re (*.f64 1/2 (pow.f64 re 2))) -1))
(*.f64 (cos.f64 im) (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) 1)))
(+.f64 (cos.f64 im) (*.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) re) (cos.f64 im)))
(+.f64 (cos.f64 im) (*.f64 (cos.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))))
(*.f64 (cos.f64 im) (-.f64 (+.f64 re (*.f64 1/2 (pow.f64 re 2))) -1))
(*.f64 (cos.f64 im) (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) 1)))
(+.f64 (cos.f64 im) (*.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) re) (cos.f64 im)))
(+.f64 (cos.f64 im) (*.f64 (cos.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))))
(*.f64 (cos.f64 im) (-.f64 (+.f64 re (*.f64 1/2 (pow.f64 re 2))) -1))
(*.f64 (cos.f64 im) (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) 1)))
(cos.f64 im)
(+.f64 (*.f64 (cos.f64 im) re) (cos.f64 im))
(+.f64 (cos.f64 im) (*.f64 re (cos.f64 im)))
(*.f64 (cos.f64 im) (+.f64 re 1))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 im) (pow.f64 re 2))) (+.f64 (*.f64 (cos.f64 im) re) (cos.f64 im)))
(+.f64 (cos.f64 im) (+.f64 (*.f64 re (cos.f64 im)) (*.f64 (pow.f64 re 2) (*.f64 1/2 (cos.f64 im)))))
(+.f64 (cos.f64 im) (+.f64 (*.f64 re (cos.f64 im)) (*.f64 1/2 (*.f64 (pow.f64 re 2) (cos.f64 im)))))
(+.f64 (*.f64 (pow.f64 re 2) (/.f64 (cos.f64 im) 2)) (*.f64 (cos.f64 im) (+.f64 re 1)))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 im) (pow.f64 re 2))) (+.f64 (*.f64 (cos.f64 im) re) (cos.f64 im)))
(+.f64 (cos.f64 im) (+.f64 (*.f64 re (cos.f64 im)) (*.f64 (pow.f64 re 2) (*.f64 1/2 (cos.f64 im)))))
(+.f64 (cos.f64 im) (+.f64 (*.f64 re (cos.f64 im)) (*.f64 1/2 (*.f64 (pow.f64 re 2) (cos.f64 im)))))
(+.f64 (*.f64 (pow.f64 re 2) (/.f64 (cos.f64 im) 2)) (*.f64 (cos.f64 im) (+.f64 re 1)))
(*.f64 1/2 (*.f64 (cos.f64 im) (pow.f64 re 2)))
(*.f64 (pow.f64 re 2) (*.f64 1/2 (cos.f64 im)))
(*.f64 1/2 (*.f64 (pow.f64 re 2) (cos.f64 im)))
(*.f64 (pow.f64 re 2) (/.f64 (cos.f64 im) 2))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 im) (pow.f64 re 2))) (*.f64 (cos.f64 im) re))
(+.f64 (*.f64 re (cos.f64 im)) (*.f64 (pow.f64 re 2) (*.f64 1/2 (cos.f64 im))))
(+.f64 (*.f64 re (cos.f64 im)) (*.f64 1/2 (*.f64 (pow.f64 re 2) (cos.f64 im))))
(+.f64 (*.f64 re (cos.f64 im)) (*.f64 (pow.f64 re 2) (/.f64 (cos.f64 im) 2)))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 im) (pow.f64 re 2))) (+.f64 (*.f64 (cos.f64 im) re) (cos.f64 im)))
(+.f64 (cos.f64 im) (+.f64 (*.f64 re (cos.f64 im)) (*.f64 (pow.f64 re 2) (*.f64 1/2 (cos.f64 im)))))
(+.f64 (cos.f64 im) (+.f64 (*.f64 re (cos.f64 im)) (*.f64 1/2 (*.f64 (pow.f64 re 2) (cos.f64 im)))))
(+.f64 (*.f64 (pow.f64 re 2) (/.f64 (cos.f64 im) 2)) (*.f64 (cos.f64 im) (+.f64 re 1)))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 im) (pow.f64 re 2))) (+.f64 (*.f64 (cos.f64 im) re) (cos.f64 im)))
(+.f64 (cos.f64 im) (+.f64 (*.f64 re (cos.f64 im)) (*.f64 (pow.f64 re 2) (*.f64 1/2 (cos.f64 im)))))
(+.f64 (cos.f64 im) (+.f64 (*.f64 re (cos.f64 im)) (*.f64 1/2 (*.f64 (pow.f64 re 2) (cos.f64 im)))))
(+.f64 (*.f64 (pow.f64 re 2) (/.f64 (cos.f64 im) 2)) (*.f64 (cos.f64 im) (+.f64 re 1)))
(*.f64 1/2 (*.f64 (cos.f64 im) (pow.f64 re 2)))
(*.f64 (pow.f64 re 2) (*.f64 1/2 (cos.f64 im)))
(*.f64 1/2 (*.f64 (pow.f64 re 2) (cos.f64 im)))
(*.f64 (pow.f64 re 2) (/.f64 (cos.f64 im) 2))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 im) (pow.f64 re 2))) (*.f64 (cos.f64 im) re))
(+.f64 (*.f64 re (cos.f64 im)) (*.f64 (pow.f64 re 2) (*.f64 1/2 (cos.f64 im))))
(+.f64 (*.f64 re (cos.f64 im)) (*.f64 1/2 (*.f64 (pow.f64 re 2) (cos.f64 im))))
(+.f64 (*.f64 re (cos.f64 im)) (*.f64 (pow.f64 re 2) (/.f64 (cos.f64 im) 2)))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 im) (pow.f64 re 2))) (+.f64 (*.f64 (cos.f64 im) re) (cos.f64 im)))
(+.f64 (cos.f64 im) (+.f64 (*.f64 re (cos.f64 im)) (*.f64 (pow.f64 re 2) (*.f64 1/2 (cos.f64 im)))))
(+.f64 (cos.f64 im) (+.f64 (*.f64 re (cos.f64 im)) (*.f64 1/2 (*.f64 (pow.f64 re 2) (cos.f64 im)))))
(+.f64 (*.f64 (pow.f64 re 2) (/.f64 (cos.f64 im) 2)) (*.f64 (cos.f64 im) (+.f64 re 1)))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 im) (pow.f64 re 2))) (+.f64 (*.f64 (cos.f64 im) re) (cos.f64 im)))
(+.f64 (cos.f64 im) (+.f64 (*.f64 re (cos.f64 im)) (*.f64 (pow.f64 re 2) (*.f64 1/2 (cos.f64 im)))))
(+.f64 (cos.f64 im) (+.f64 (*.f64 re (cos.f64 im)) (*.f64 1/2 (*.f64 (pow.f64 re 2) (cos.f64 im)))))
(+.f64 (*.f64 (pow.f64 re 2) (/.f64 (cos.f64 im) 2)) (*.f64 (cos.f64 im) (+.f64 re 1)))
(+.f64 (*.f64 (cos.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))) 0)
(*.f64 (cos.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2))))
(+.f64 0 (*.f64 (cos.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))))
(*.f64 (cos.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2))))
(+.f64 (*.f64 (+.f64 re (*.f64 1/2 (pow.f64 re 2))) (*.f64 (cos.f64 im) 1/2)) (*.f64 (+.f64 re (*.f64 1/2 (pow.f64 re 2))) (*.f64 (cos.f64 im) 1/2)))
(*.f64 (cos.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2))))
(-.f64 (*.f64 (cos.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))) 0)
(*.f64 (cos.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2))))
(-.f64 (*.f64 (+.f64 re (*.f64 1/2 (pow.f64 re 2))) (*.f64 (cos.f64 im) 1/2)) (/.f64 (*.f64 (cos.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))) -2))
(*.f64 (cos.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2))))
(-.f64 (*.f64 (+.f64 re (*.f64 1/2 (pow.f64 re 2))) (*.f64 (cos.f64 im) 1/2)) (+.f64 (/.f64 (*.f64 (cos.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))) -2) 0))
(*.f64 (cos.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2))))
(/.f64 (*.f64 (cos.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))) 1)
(*.f64 (cos.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2))))
(/.f64 (*.f64 (cos.f64 im) (+.f64 (pow.f64 re 2) (+.f64 re re))) 2)
(*.f64 (cos.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2))))
(/.f64 (*.f64 (cos.f64 im) (+.f64 (*.f64 2 (pow.f64 re 2)) (*.f64 re 4))) 4)
(/.f64 (*.f64 (cos.f64 im) (+.f64 (/.f64 (pow.f64 re 2) -1/2) (/.f64 re -1/4))) -4)
(/.f64 (*.f64 (+.f64 (pow.f64 re 2) (+.f64 re re)) (*.f64 (cos.f64 im) 4)) 8)
(/.f64 (*.f64 4 (*.f64 (cos.f64 im) (+.f64 re (+.f64 re (pow.f64 re 2))))) 8)
(/.f64 (*.f64 (*.f64 (*.f64 (cos.f64 im) 2) 4) (+.f64 (pow.f64 re 2) (+.f64 re re))) 16)
(/.f64 (*.f64 4 (*.f64 (cos.f64 im) (+.f64 re (+.f64 re (pow.f64 re 2))))) 8)
(/.f64 (*.f64 (neg.f64 (cos.f64 im)) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))) -1)
(*.f64 (cos.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2))))
(/.f64 (*.f64 (neg.f64 (cos.f64 im)) (+.f64 (pow.f64 re 2) (+.f64 re re))) -2)
(*.f64 (cos.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2))))
(/.f64 (*.f64 (neg.f64 (cos.f64 im)) (+.f64 (*.f64 2 (pow.f64 re 2)) (*.f64 re 4))) -4)
(/.f64 (*.f64 (cos.f64 im) (+.f64 (*.f64 2 (pow.f64 re 2)) (*.f64 re 4))) 4)
(/.f64 (*.f64 (cos.f64 im) (+.f64 (/.f64 (pow.f64 re 2) -1/2) (/.f64 re -1/4))) -4)
(/.f64 (*.f64 (neg.f64 (cos.f64 im)) (*.f64 (+.f64 (pow.f64 re 2) (+.f64 re re)) 4)) -8)
(*.f64 (cos.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2))))
(/.f64 (*.f64 (-.f64 (*.f64 (pow.f64 re 2) -1/2) re) (*.f64 (cos.f64 im) 2)) -2)
(/.f64 (*.f64 2 (*.f64 (cos.f64 im) (-.f64 (*.f64 (pow.f64 re 2) -1/2) re))) -2)
(neg.f64 (*.f64 (cos.f64 im) (-.f64 (*.f64 (pow.f64 re 2) -1/2) re)))
(/.f64 (*.f64 (-.f64 (*.f64 (pow.f64 re 2) -1/2) re) (*.f64 (cos.f64 im) 4)) -4)
(/.f64 (*.f64 2 (*.f64 (cos.f64 im) (-.f64 (*.f64 (pow.f64 re 2) -1/2) re))) -2)
(neg.f64 (*.f64 (cos.f64 im) (-.f64 (*.f64 (pow.f64 re 2) -1/2) re)))
(/.f64 (*.f64 (-.f64 (*.f64 (pow.f64 re 2) -1/2) re) (*.f64 (*.f64 (cos.f64 im) 2) 4)) -8)
(/.f64 (*.f64 2 (*.f64 (cos.f64 im) (-.f64 (*.f64 (pow.f64 re 2) -1/2) re))) -2)
(neg.f64 (*.f64 (cos.f64 im) (-.f64 (*.f64 (pow.f64 re 2) -1/2) re)))
(/.f64 (*.f64 (+.f64 re (*.f64 1/2 (pow.f64 re 2))) (*.f64 (cos.f64 im) -2)) -2)
(*.f64 (cos.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2))))
(/.f64 (*.f64 (+.f64 re (*.f64 1/2 (pow.f64 re 2))) (neg.f64 (*.f64 (cos.f64 im) 4))) -4)
(*.f64 (cos.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2))))
(/.f64 (*.f64 (+.f64 re (*.f64 1/2 (pow.f64 re 2))) (*.f64 2 (*.f64 (cos.f64 im) -2))) -4)
(*.f64 (cos.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2))))
(/.f64 (*.f64 (-.f64 (*.f64 (pow.f64 re 2) -1/2) re) (cos.f64 im)) -1)
(/.f64 (*.f64 2 (*.f64 (cos.f64 im) (-.f64 (*.f64 (pow.f64 re 2) -1/2) re))) -2)
(neg.f64 (*.f64 (cos.f64 im) (-.f64 (*.f64 (pow.f64 re 2) -1/2) re)))
(/.f64 (*.f64 (+.f64 re (*.f64 1/2 (pow.f64 re 2))) (neg.f64 (cos.f64 im))) -1)
(*.f64 (cos.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2))))
(/.f64 (*.f64 (+.f64 re (*.f64 1/2 (pow.f64 re 2))) (-.f64 (-.f64 (cos.f64 (neg.f64 im)) (cos.f64 im)) (*.f64 (cos.f64 im) 2))) -2)
(/.f64 (*.f64 (+.f64 re (*.f64 1/2 (pow.f64 re 2))) (-.f64 (cos.f64 (neg.f64 im)) (+.f64 (*.f64 2 (cos.f64 im)) (cos.f64 im)))) -2)
(/.f64 (*.f64 (+.f64 re (*.f64 1/2 (pow.f64 re 2))) (-.f64 (cos.f64 (neg.f64 im)) (+.f64 (cos.f64 im) (*.f64 2 (cos.f64 im))))) -2)
(/.f64 (*.f64 (+.f64 re (+.f64 re (pow.f64 re 2))) (-.f64 (cos.f64 (neg.f64 im)) (*.f64 (cos.f64 im) 3))) -4)
(/.f64 (-.f64 (*.f64 (cos.f64 im) (+.f64 (pow.f64 re 2) (+.f64 re re))) (-.f64 (cos.f64 (neg.f64 im)) (cos.f64 im))) 2)
(/.f64 (-.f64 (*.f64 (cos.f64 im) (+.f64 re (+.f64 re (pow.f64 re 2)))) (-.f64 (cos.f64 (neg.f64 im)) (cos.f64 im))) 2)
(-.f64 (*.f64 (cos.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))) (/.f64 (-.f64 (cos.f64 (neg.f64 im)) (cos.f64 im)) 2))
(/.f64 (-.f64 (*.f64 (cos.f64 im) (+.f64 (pow.f64 re 2) (+.f64 re re))) (+.f64 (cos.f64 (+.f64 (/.f64 (PI.f64) 2) (-.f64 (/.f64 (PI.f64) 2) im))) (cos.f64 (-.f64 (/.f64 (PI.f64) 2) (-.f64 (/.f64 (PI.f64) 2) im))))) 2)
(/.f64 (-.f64 (*.f64 (cos.f64 im) (+.f64 re (+.f64 re (pow.f64 re 2)))) (+.f64 (cos.f64 (+.f64 (/.f64 (PI.f64) 2) (-.f64 (/.f64 (PI.f64) 2) im))) (sin.f64 (-.f64 (/.f64 (PI.f64) 2) im)))) 2)
(-.f64 (/.f64 (*.f64 (cos.f64 im) (+.f64 re (+.f64 re (pow.f64 re 2)))) 2) (*.f64 (cos.f64 (/.f64 (PI.f64) 2)) (sin.f64 im)))
(-.f64 (*.f64 (cos.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))) (*.f64 (cos.f64 (/.f64 (PI.f64) 2)) (sin.f64 im)))
(/.f64 (-.f64 (*.f64 (cos.f64 im) (+.f64 (pow.f64 re 2) (+.f64 re re))) (+.f64 (cos.f64 (+.f64 (/.f64 (PI.f64) 2) (-.f64 (/.f64 (PI.f64) 2) im))) (cos.f64 (-.f64 (-.f64 (/.f64 (PI.f64) 2) im) (/.f64 (PI.f64) 2))))) 2)
(/.f64 (-.f64 (*.f64 (cos.f64 im) (+.f64 re (+.f64 re (pow.f64 re 2)))) (+.f64 (cos.f64 (+.f64 (/.f64 (PI.f64) 2) (-.f64 (/.f64 (PI.f64) 2) im))) (sin.f64 (-.f64 (/.f64 (PI.f64) 2) im)))) 2)
(-.f64 (/.f64 (*.f64 (cos.f64 im) (+.f64 re (+.f64 re (pow.f64 re 2)))) 2) (*.f64 (cos.f64 (/.f64 (PI.f64) 2)) (sin.f64 im)))
(-.f64 (*.f64 (cos.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))) (*.f64 (cos.f64 (/.f64 (PI.f64) 2)) (sin.f64 im)))
(/.f64 (-.f64 (*.f64 (cos.f64 im) (+.f64 (*.f64 2 (pow.f64 re 2)) (*.f64 re 4))) (+.f64 (-.f64 (cos.f64 (neg.f64 im)) (cos.f64 im)) (-.f64 (cos.f64 (neg.f64 im)) (cos.f64 im)))) 4)
(-.f64 (/.f64 (*.f64 (cos.f64 im) (+.f64 (*.f64 2 (pow.f64 re 2)) (*.f64 re 4))) 4) (/.f64 (-.f64 (cos.f64 (neg.f64 im)) (cos.f64 im)) 2))
(-.f64 (/.f64 (*.f64 (cos.f64 im) (+.f64 (/.f64 (pow.f64 re 2) -1/2) (/.f64 re -1/4))) -4) (/.f64 (-.f64 (cos.f64 (neg.f64 im)) (cos.f64 im)) 2))
(/.f64 (*.f64 (*.f64 (*.f64 (cos.f64 im) 2) 4) (*.f64 (+.f64 (pow.f64 re 2) (+.f64 re re)) 4)) 64)
(/.f64 (*.f64 4 (*.f64 (cos.f64 im) (+.f64 re (+.f64 re (pow.f64 re 2))))) 8)
(/.f64 (*.f64 (*.f64 (+.f64 (pow.f64 re 2) (+.f64 re re)) 4) (*.f64 (*.f64 (cos.f64 im) 2) 4)) 64)
(/.f64 (*.f64 4 (*.f64 (cos.f64 im) (+.f64 re (+.f64 re (pow.f64 re 2))))) 8)
(/.f64 (*.f64 (*.f64 (cos.f64 im) 2) (*.f64 (+.f64 (pow.f64 re 2) (+.f64 re re)) 4)) 16)
(/.f64 (*.f64 4 (*.f64 (cos.f64 im) (+.f64 re (+.f64 re (pow.f64 re 2))))) 8)
(/.f64 (*.f64 (+.f64 (pow.f64 re 2) (+.f64 re re)) (*.f64 (*.f64 (cos.f64 im) 2) 4)) 16)
(/.f64 (*.f64 4 (*.f64 (cos.f64 im) (+.f64 re (+.f64 re (pow.f64 re 2))))) 8)
(/.f64 (*.f64 (cos.f64 0) (*.f64 (cos.f64 im) (+.f64 (*.f64 2 (pow.f64 re 2)) (*.f64 re 4)))) 4)
(/.f64 (*.f64 (cos.f64 im) (+.f64 (*.f64 2 (pow.f64 re 2)) (*.f64 re 4))) 4)
(/.f64 (*.f64 (cos.f64 im) (+.f64 (/.f64 (pow.f64 re 2) -1/2) (/.f64 re -1/4))) -4)
(/.f64 (*.f64 (*.f64 (cos.f64 0) 2) (*.f64 (+.f64 (pow.f64 re 2) (+.f64 re re)) (*.f64 (cos.f64 im) 4))) 16)
(/.f64 (*.f64 4 (*.f64 (cos.f64 im) (+.f64 re (+.f64 re (pow.f64 re 2))))) 8)
(/.f64 (*.f64 (-.f64 (*.f64 re -2) (pow.f64 re 2)) (-.f64 (-.f64 (cos.f64 (neg.f64 im)) (cos.f64 im)) (*.f64 (cos.f64 im) 2))) 4)
(/.f64 (*.f64 (-.f64 (cos.f64 (neg.f64 im)) (+.f64 (*.f64 2 (cos.f64 im)) (cos.f64 im))) (-.f64 (*.f64 re -2) (pow.f64 re 2))) 4)
(/.f64 (*.f64 (-.f64 (cos.f64 (neg.f64 im)) (+.f64 (cos.f64 im) (*.f64 2 (cos.f64 im)))) (-.f64 (*.f64 re -2) (pow.f64 re 2))) 4)
(/.f64 (*.f64 (-.f64 (cos.f64 (neg.f64 im)) (*.f64 (cos.f64 im) 3)) (-.f64 (*.f64 re -2) (pow.f64 re 2))) 4)
(pow.f64 (*.f64 (cos.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))) 1)
(*.f64 (cos.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2))))
(-.f64 (cos.f64 im) (neg.f64 (*.f64 (cos.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2))))))
(+.f64 (cos.f64 im) (*.f64 (cos.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))))
(*.f64 (cos.f64 im) (-.f64 (+.f64 re (*.f64 1/2 (pow.f64 re 2))) -1))
(*.f64 (cos.f64 im) (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) 1)))
(-.f64 (*.f64 (cos.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))) (neg.f64 (cos.f64 im)))
(+.f64 (cos.f64 im) (*.f64 (cos.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))))
(*.f64 (cos.f64 im) (-.f64 (+.f64 re (*.f64 1/2 (pow.f64 re 2))) -1))
(*.f64 (cos.f64 im) (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) 1)))
(-.f64 (*.f64 (cos.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))) (-.f64 (*.f64 (cos.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))) (*.f64 (cos.f64 im) (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re 1)))))
(+.f64 (cos.f64 im) (*.f64 (cos.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))))
(*.f64 (cos.f64 im) (-.f64 (+.f64 re (*.f64 1/2 (pow.f64 re 2))) -1))
(*.f64 (cos.f64 im) (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) 1)))
(-.f64 (*.f64 (cos.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))) (+.f64 (-.f64 (*.f64 (cos.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))) (*.f64 (cos.f64 im) (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re 1)))) 0))
(+.f64 (cos.f64 im) (*.f64 (cos.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))))
(*.f64 (cos.f64 im) (-.f64 (+.f64 re (*.f64 1/2 (pow.f64 re 2))) -1))
(*.f64 (cos.f64 im) (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) 1)))
(-.f64 (*.f64 (cos.f64 im) (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re 1))) 0)
(+.f64 (cos.f64 im) (*.f64 (cos.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))))
(*.f64 (cos.f64 im) (-.f64 (+.f64 re (*.f64 1/2 (pow.f64 re 2))) -1))
(*.f64 (cos.f64 im) (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) 1)))
(-.f64 (*.f64 (cos.f64 im) (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re 1))) (+.f64 (/.f64 (*.f64 (cos.f64 im) (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re 1))) -2) (/.f64 (*.f64 (cos.f64 im) (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re 1))) 2)))
(+.f64 (cos.f64 im) (*.f64 (cos.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))))
(*.f64 (cos.f64 im) (-.f64 (+.f64 re (*.f64 1/2 (pow.f64 re 2))) -1))
(*.f64 (cos.f64 im) (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) 1)))
(-.f64 0 (*.f64 (cos.f64 im) (-.f64 -1 (+.f64 re (*.f64 1/2 (pow.f64 re 2))))))
(+.f64 (cos.f64 im) (*.f64 (cos.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))))
(*.f64 (cos.f64 im) (-.f64 (+.f64 re (*.f64 1/2 (pow.f64 re 2))) -1))
(*.f64 (cos.f64 im) (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) 1)))
(-.f64 (*.f64 (cos.f64 im) 2) (-.f64 0 (*.f64 (cos.f64 im) (+.f64 (+.f64 re (*.f64 1/2 (pow.f64 re 2))) -1))))
(-.f64 (*.f64 2 (cos.f64 im)) (neg.f64 (*.f64 (cos.f64 im) (+.f64 (+.f64 re (*.f64 1/2 (pow.f64 re 2))) -1))))
(-.f64 (*.f64 2 (cos.f64 im)) (neg.f64 (*.f64 (cos.f64 im) (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re -1)))))
(-.f64 (*.f64 (cos.f64 im) (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re -1))) (*.f64 (cos.f64 im) -2))
(-.f64 (*.f64 (cos.f64 im) 2) (+.f64 (-.f64 0 (*.f64 (cos.f64 im) (+.f64 (+.f64 re (*.f64 1/2 (pow.f64 re 2))) -1))) 0))
(-.f64 (*.f64 2 (cos.f64 im)) (neg.f64 (*.f64 (cos.f64 im) (+.f64 (+.f64 re (*.f64 1/2 (pow.f64 re 2))) -1))))
(-.f64 (*.f64 2 (cos.f64 im)) (neg.f64 (*.f64 (cos.f64 im) (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re -1)))))
(-.f64 (*.f64 (cos.f64 im) (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re -1))) (*.f64 (cos.f64 im) -2))
(-.f64 (*.f64 (cos.f64 im) (+.f64 (pow.f64 re 2) (+.f64 re re))) (*.f64 (cos.f64 im) (+.f64 (+.f64 re (*.f64 1/2 (pow.f64 re 2))) -1)))
(-.f64 (*.f64 (cos.f64 im) (+.f64 re (+.f64 re (pow.f64 re 2)))) (*.f64 (cos.f64 im) (+.f64 (+.f64 re (*.f64 1/2 (pow.f64 re 2))) -1)))
(*.f64 (cos.f64 im) (+.f64 1 (-.f64 (+.f64 re (+.f64 re (pow.f64 re 2))) (+.f64 re (*.f64 1/2 (pow.f64 re 2))))))
(*.f64 (cos.f64 im) (-.f64 (+.f64 re (+.f64 re (pow.f64 re 2))) (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re -1))))
(-.f64 (*.f64 (cos.f64 im) 1/2) (-.f64 (neg.f64 (*.f64 (cos.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2))))) (*.f64 (cos.f64 im) 1/2)))
(-.f64 (*.f64 1/2 (cos.f64 im)) (-.f64 (neg.f64 (*.f64 (cos.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2))))) (*.f64 1/2 (cos.f64 im))))
(-.f64 (*.f64 1/2 (cos.f64 im)) (-.f64 0 (*.f64 (cos.f64 im) (+.f64 (+.f64 re (*.f64 1/2 (pow.f64 re 2))) 1/2))))
(+.f64 (*.f64 1/2 (cos.f64 im)) (*.f64 (cos.f64 im) (+.f64 1/2 (+.f64 re (*.f64 1/2 (pow.f64 re 2))))))
(-.f64 (*.f64 (cos.f64 im) 1/2) (+.f64 (/.f64 (cos.f64 im) -2) (neg.f64 (*.f64 (cos.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))))))
(-.f64 (+.f64 (*.f64 (cos.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))) (*.f64 1/2 (cos.f64 im))) (/.f64 (cos.f64 im) -2))
(-.f64 (*.f64 (cos.f64 im) (+.f64 (+.f64 re (*.f64 1/2 (pow.f64 re 2))) 1/2)) (/.f64 (cos.f64 im) -2))
(+.f64 (*.f64 (cos.f64 im) (+.f64 1/2 (+.f64 re (*.f64 1/2 (pow.f64 re 2))))) (/.f64 (cos.f64 im) 2))
(-.f64 (*.f64 (cos.f64 im) 1/2) (+.f64 (-.f64 (neg.f64 (*.f64 (cos.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2))))) (*.f64 (cos.f64 im) 1/2)) 0))
(-.f64 (*.f64 1/2 (cos.f64 im)) (-.f64 (neg.f64 (*.f64 (cos.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2))))) (*.f64 1/2 (cos.f64 im))))
(-.f64 (*.f64 1/2 (cos.f64 im)) (-.f64 0 (*.f64 (cos.f64 im) (+.f64 (+.f64 re (*.f64 1/2 (pow.f64 re 2))) 1/2))))
(+.f64 (*.f64 1/2 (cos.f64 im)) (*.f64 (cos.f64 im) (+.f64 1/2 (+.f64 re (*.f64 1/2 (pow.f64 re 2))))))
(-.f64 (*.f64 (+.f64 re (*.f64 1/2 (pow.f64 re 2))) (*.f64 (cos.f64 im) 1/2)) (-.f64 (neg.f64 (cos.f64 im)) (*.f64 (+.f64 re (*.f64 1/2 (pow.f64 re 2))) (*.f64 (cos.f64 im) 1/2))))
(+.f64 (cos.f64 im) (*.f64 (cos.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))))
(*.f64 (cos.f64 im) (-.f64 (+.f64 re (*.f64 1/2 (pow.f64 re 2))) -1))
(*.f64 (cos.f64 im) (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) 1)))
(-.f64 (*.f64 (+.f64 re (*.f64 1/2 (pow.f64 re 2))) (*.f64 (cos.f64 im) 1/2)) (+.f64 (/.f64 (*.f64 (cos.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))) -2) (neg.f64 (cos.f64 im))))
(+.f64 (cos.f64 im) (*.f64 (cos.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))))
(*.f64 (cos.f64 im) (-.f64 (+.f64 re (*.f64 1/2 (pow.f64 re 2))) -1))
(*.f64 (cos.f64 im) (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) 1)))
(-.f64 (*.f64 (+.f64 re (*.f64 1/2 (pow.f64 re 2))) (*.f64 (cos.f64 im) 1/2)) (+.f64 (-.f64 (neg.f64 (cos.f64 im)) (*.f64 (+.f64 re (*.f64 1/2 (pow.f64 re 2))) (*.f64 (cos.f64 im) 1/2))) 0))
(+.f64 (cos.f64 im) (*.f64 (cos.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))))
(*.f64 (cos.f64 im) (-.f64 (+.f64 re (*.f64 1/2 (pow.f64 re 2))) -1))
(*.f64 (cos.f64 im) (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) 1)))
(-.f64 (/.f64 (*.f64 (cos.f64 im) (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re 1))) 2) (/.f64 (*.f64 (cos.f64 im) (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re 1))) -2))
(+.f64 (cos.f64 im) (*.f64 (cos.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))))
(*.f64 (cos.f64 im) (-.f64 (+.f64 re (*.f64 1/2 (pow.f64 re 2))) -1))
(*.f64 (cos.f64 im) (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) 1)))
(-.f64 (/.f64 (*.f64 (cos.f64 im) (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re 1))) 2) (+.f64 (/.f64 (*.f64 (cos.f64 im) (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re 1))) -2) 0))
(+.f64 (cos.f64 im) (*.f64 (cos.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))))
(*.f64 (cos.f64 im) (-.f64 (+.f64 re (*.f64 1/2 (pow.f64 re 2))) -1))
(*.f64 (cos.f64 im) (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) 1)))
(-.f64 (/.f64 (*.f64 (cos.f64 im) (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re 1))) 2) (-.f64 (/.f64 (cos.f64 im) -2) (*.f64 (+.f64 re (*.f64 1/2 (pow.f64 re 2))) (*.f64 (cos.f64 im) 1/2))))
(-.f64 (*.f64 1/2 (*.f64 (cos.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2))))) (-.f64 (/.f64 (cos.f64 im) -2) (/.f64 (*.f64 (cos.f64 im) (+.f64 re (+.f64 1 (*.f64 1/2 (pow.f64 re 2))))) 2)))
(-.f64 (*.f64 1/2 (*.f64 (cos.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2))))) (-.f64 (/.f64 (cos.f64 im) -2) (/.f64 (*.f64 (cos.f64 im) (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) 1))) 2)))
(-.f64 (*.f64 1/2 (*.f64 (cos.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2))))) (-.f64 (/.f64 (cos.f64 im) -2) (/.f64 (*.f64 (cos.f64 im) (+.f64 (pow.f64 re 2) (-.f64 (+.f64 re re) -2))) 4)))
(-.f64 (/.f64 (*.f64 (cos.f64 im) (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re 1))) 2) (-.f64 (/.f64 (*.f64 (cos.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))) -2) (*.f64 (cos.f64 im) 1/2)))
(-.f64 (*.f64 1/2 (cos.f64 im)) (-.f64 (/.f64 (*.f64 (cos.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))) -2) (/.f64 (*.f64 (cos.f64 im) (+.f64 re (+.f64 1 (*.f64 1/2 (pow.f64 re 2))))) 2)))
(-.f64 (*.f64 1/2 (cos.f64 im)) (-.f64 (/.f64 (*.f64 (cos.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))) -2) (/.f64 (*.f64 (cos.f64 im) (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) 1))) 2)))
(-.f64 (*.f64 1/2 (cos.f64 im)) (/.f64 (-.f64 (*.f64 (cos.f64 im) (+.f64 (neg.f64 re) (/.f64 (pow.f64 re 2) -2))) (*.f64 (cos.f64 im) (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) 1)))) 2))
(-.f64 (/.f64 (*.f64 (cos.f64 im) (+.f64 (+.f64 re (*.f64 1/2 (pow.f64 re 2))) 2)) 2) (/.f64 (*.f64 (cos.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))) -2))
(-.f64 (/.f64 (*.f64 (cos.f64 im) (+.f64 2 (+.f64 re (*.f64 1/2 (pow.f64 re 2))))) 2) (/.f64 (*.f64 (cos.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))) -2))
(-.f64 (/.f64 (*.f64 (cos.f64 im) (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) 2))) 2) (/.f64 (*.f64 (cos.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))) -2))
(/.f64 (-.f64 (*.f64 (cos.f64 im) (+.f64 re (+.f64 2 (*.f64 1/2 (pow.f64 re 2))))) (*.f64 (cos.f64 im) (+.f64 (neg.f64 re) (/.f64 (pow.f64 re 2) -2)))) 2)
(-.f64 (/.f64 (*.f64 (cos.f64 im) (+.f64 (+.f64 re (*.f64 1/2 (pow.f64 re 2))) 2)) 2) (+.f64 (/.f64 (*.f64 (cos.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))) -2) 0))
(-.f64 (/.f64 (*.f64 (cos.f64 im) (+.f64 2 (+.f64 re (*.f64 1/2 (pow.f64 re 2))))) 2) (/.f64 (*.f64 (cos.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))) -2))
(-.f64 (/.f64 (*.f64 (cos.f64 im) (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) 2))) 2) (/.f64 (*.f64 (cos.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))) -2))
(/.f64 (-.f64 (*.f64 (cos.f64 im) (+.f64 re (+.f64 2 (*.f64 1/2 (pow.f64 re 2))))) (*.f64 (cos.f64 im) (+.f64 (neg.f64 re) (/.f64 (pow.f64 re 2) -2)))) 2)
(-.f64 (/.f64 (*.f64 (cos.f64 im) (+.f64 (+.f64 re (*.f64 1/2 (pow.f64 re 2))) 2)) 2) (-.f64 (*.f64 (+.f64 re (*.f64 1/2 (pow.f64 re 2))) (*.f64 (cos.f64 im) 1/2)) (*.f64 (cos.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2))))))
(-.f64 (*.f64 (cos.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))) (-.f64 (*.f64 1/2 (*.f64 (cos.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2))))) (/.f64 (*.f64 (cos.f64 im) (+.f64 2 (+.f64 re (*.f64 1/2 (pow.f64 re 2))))) 2)))
(-.f64 (/.f64 (*.f64 (cos.f64 im) (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) 2))) 2) (*.f64 (+.f64 re (*.f64 1/2 (pow.f64 re 2))) (-.f64 (*.f64 1/2 (cos.f64 im)) (cos.f64 im))))
(-.f64 (/.f64 (*.f64 (cos.f64 im) (+.f64 re (+.f64 2 (*.f64 1/2 (pow.f64 re 2))))) 2) (*.f64 (+.f64 re (*.f64 1/2 (pow.f64 re 2))) (*.f64 (cos.f64 im) -1/2)))
(-.f64 (+.f64 (*.f64 (cos.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))) (*.f64 (cos.f64 im) 1/2)) (/.f64 (cos.f64 im) -2))
(-.f64 (+.f64 (*.f64 (cos.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))) (*.f64 1/2 (cos.f64 im))) (/.f64 (cos.f64 im) -2))
(-.f64 (*.f64 (cos.f64 im) (+.f64 (+.f64 re (*.f64 1/2 (pow.f64 re 2))) 1/2)) (/.f64 (cos.f64 im) -2))
(+.f64 (*.f64 (cos.f64 im) (+.f64 1/2 (+.f64 re (*.f64 1/2 (pow.f64 re 2))))) (/.f64 (cos.f64 im) 2))
(-.f64 (+.f64 (*.f64 (cos.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))) (*.f64 (cos.f64 im) 1/2)) (+.f64 (/.f64 (cos.f64 im) -2) 0))
(-.f64 (+.f64 (*.f64 (cos.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))) (*.f64 1/2 (cos.f64 im))) (/.f64 (cos.f64 im) -2))
(-.f64 (*.f64 (cos.f64 im) (+.f64 (+.f64 re (*.f64 1/2 (pow.f64 re 2))) 1/2)) (/.f64 (cos.f64 im) -2))
(+.f64 (*.f64 (cos.f64 im) (+.f64 1/2 (+.f64 re (*.f64 1/2 (pow.f64 re 2))))) (/.f64 (cos.f64 im) 2))
(-.f64 (*.f64 (cos.f64 im) (-.f64 (+.f64 re (*.f64 1/2 (pow.f64 re 2))) (+.f64 (+.f64 re (*.f64 1/2 (pow.f64 re 2))) -1))) (neg.f64 (*.f64 (cos.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2))))))
(+.f64 (cos.f64 im) (*.f64 (cos.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))))
(*.f64 (cos.f64 im) (-.f64 (+.f64 re (*.f64 1/2 (pow.f64 re 2))) -1))
(*.f64 (cos.f64 im) (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) 1)))
(-.f64 (*.f64 3 (*.f64 (+.f64 re (*.f64 1/2 (pow.f64 re 2))) (*.f64 (cos.f64 im) 1/2))) (-.f64 (*.f64 (cos.f64 im) (+.f64 (+.f64 re (*.f64 1/2 (pow.f64 re 2))) -1)) (*.f64 (+.f64 re (*.f64 1/2 (pow.f64 re 2))) (*.f64 (cos.f64 im) 1/2))))
(-.f64 (*.f64 1/2 (*.f64 (cos.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2))))) (-.f64 (*.f64 (cos.f64 im) (+.f64 (+.f64 re (*.f64 1/2 (pow.f64 re 2))) -1)) (*.f64 (*.f64 1/2 (cos.f64 im)) (*.f64 (+.f64 re (*.f64 1/2 (pow.f64 re 2))) 3))))
(-.f64 (*.f64 1/2 (*.f64 (cos.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2))))) (-.f64 (*.f64 (cos.f64 im) (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re -1))) (*.f64 (*.f64 (cos.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))) 3/2)))
(-.f64 (*.f64 (*.f64 (cos.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))) 3/2) (*.f64 (cos.f64 im) (-.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re -1)) (*.f64 1/2 (+.f64 re (*.f64 1/2 (pow.f64 re 2)))))))
(-.f64 (-.f64 (*.f64 (cos.f64 im) 1/2) (neg.f64 (*.f64 (cos.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))))) (/.f64 (cos.f64 im) -2))
(-.f64 (+.f64 (*.f64 (cos.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))) (*.f64 1/2 (cos.f64 im))) (/.f64 (cos.f64 im) -2))
(-.f64 (*.f64 (cos.f64 im) (+.f64 (+.f64 re (*.f64 1/2 (pow.f64 re 2))) 1/2)) (/.f64 (cos.f64 im) -2))
(+.f64 (*.f64 (cos.f64 im) (+.f64 1/2 (+.f64 re (*.f64 1/2 (pow.f64 re 2))))) (/.f64 (cos.f64 im) 2))
(-.f64 (-.f64 (*.f64 (cos.f64 im) 1/2) (neg.f64 (*.f64 (cos.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))))) (+.f64 (/.f64 (cos.f64 im) -2) 0))
(-.f64 (+.f64 (*.f64 (cos.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))) (*.f64 1/2 (cos.f64 im))) (/.f64 (cos.f64 im) -2))
(-.f64 (*.f64 (cos.f64 im) (+.f64 (+.f64 re (*.f64 1/2 (pow.f64 re 2))) 1/2)) (/.f64 (cos.f64 im) -2))
(+.f64 (*.f64 (cos.f64 im) (+.f64 1/2 (+.f64 re (*.f64 1/2 (pow.f64 re 2))))) (/.f64 (cos.f64 im) 2))
(-.f64 (*.f64 (cos.f64 (/.f64 im 2)) (cos.f64 (/.f64 im 2))) (+.f64 (*.f64 (sin.f64 (/.f64 im 2)) (sin.f64 (/.f64 im 2))) (neg.f64 (*.f64 (cos.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))))))
(-.f64 (*.f64 (cos.f64 (/.f64 im 2)) (cos.f64 (/.f64 im 2))) (+.f64 (neg.f64 (*.f64 (cos.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2))))) (*.f64 (sin.f64 (/.f64 im 2)) (sin.f64 (/.f64 im 2)))))
(+.f64 (neg.f64 (*.f64 (+.f64 re (*.f64 1/2 (pow.f64 re 2))) (neg.f64 (cos.f64 im)))) (cos.f64 (/.f64 (+.f64 im im) 2)))
(+.f64 (*.f64 (cos.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))) (cos.f64 (/.f64 (+.f64 im im) 2)))
(*.f64 (cos.f64 im) (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re 1)))
(+.f64 (cos.f64 im) (*.f64 (cos.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))))
(*.f64 (cos.f64 im) (-.f64 (+.f64 re (*.f64 1/2 (pow.f64 re 2))) -1))
(*.f64 (cos.f64 im) (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) 1)))
(*.f64 (cos.f64 im) (+.f64 (+.f64 re (*.f64 1/2 (pow.f64 re 2))) (cos.f64 0)))
(*.f64 (cos.f64 im) (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) (cos.f64 0))))
(*.f64 (cos.f64 im) (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re (cos.f64 0))))
(*.f64 (cos.f64 im) (-.f64 (+.f64 re (*.f64 1/2 (pow.f64 re 2))) (neg.f64 (cos.f64 0))))
(*.f64 (cos.f64 im) (-.f64 (-.f64 (cos.f64 0) (/.f64 (pow.f64 re 2) -2)) (neg.f64 re)))
(*.f64 (cos.f64 im) (-.f64 (+.f64 (pow.f64 re 2) (+.f64 re re)) (+.f64 (+.f64 re (*.f64 1/2 (pow.f64 re 2))) -1)))
(-.f64 (*.f64 (cos.f64 im) (+.f64 re (+.f64 re (pow.f64 re 2)))) (*.f64 (cos.f64 im) (+.f64 (+.f64 re (*.f64 1/2 (pow.f64 re 2))) -1)))
(*.f64 (cos.f64 im) (+.f64 1 (-.f64 (+.f64 re (+.f64 re (pow.f64 re 2))) (+.f64 re (*.f64 1/2 (pow.f64 re 2))))))
(*.f64 (cos.f64 im) (-.f64 (+.f64 re (+.f64 re (pow.f64 re 2))) (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re -1))))
(*.f64 1/2 (*.f64 (cos.f64 im) (-.f64 (+.f64 (pow.f64 re 2) (+.f64 re re)) -2)))
(+.f64 (cos.f64 im) (*.f64 (cos.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))))
(*.f64 (cos.f64 im) (-.f64 (+.f64 re (*.f64 1/2 (pow.f64 re 2))) -1))
(*.f64 (cos.f64 im) (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) 1)))
(*.f64 (*.f64 (cos.f64 im) (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re 1))) 1)
(+.f64 (cos.f64 im) (*.f64 (cos.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))))
(*.f64 (cos.f64 im) (-.f64 (+.f64 re (*.f64 1/2 (pow.f64 re 2))) -1))
(*.f64 (cos.f64 im) (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) 1)))
(*.f64 1 (*.f64 (cos.f64 im) (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re 1))))
(+.f64 (cos.f64 im) (*.f64 (cos.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))))
(*.f64 (cos.f64 im) (-.f64 (+.f64 re (*.f64 1/2 (pow.f64 re 2))) -1))
(*.f64 (cos.f64 im) (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) 1)))
(*.f64 (neg.f64 (cos.f64 im)) (+.f64 -1 (-.f64 (*.f64 (pow.f64 re 2) -1/2) re)))
(*.f64 (neg.f64 (cos.f64 im)) (-.f64 (*.f64 (pow.f64 re 2) -1/2) (+.f64 re 1)))
(*.f64 (cos.f64 im) (neg.f64 (+.f64 -1 (-.f64 (*.f64 (pow.f64 re 2) -1/2) re))))
(*.f64 (cos.f64 im) (-.f64 1 (neg.f64 (-.f64 re (*.f64 (pow.f64 re 2) -1/2)))))
(*.f64 (neg.f64 (cos.f64 im)) (/.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re 1)) -1))
(+.f64 (cos.f64 im) (*.f64 (cos.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))))
(*.f64 (cos.f64 im) (-.f64 (+.f64 re (*.f64 1/2 (pow.f64 re 2))) -1))
(*.f64 (cos.f64 im) (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) 1)))
(*.f64 (neg.f64 (cos.f64 im)) (-.f64 (-.f64 (*.f64 (pow.f64 re 2) -1/2) re) 1))
(*.f64 (neg.f64 (cos.f64 im)) (-.f64 (*.f64 (pow.f64 re 2) -1/2) (+.f64 re 1)))
(*.f64 (neg.f64 (cos.f64 im)) (+.f64 -1 (-.f64 (*.f64 (pow.f64 re 2) -1/2) re)))
(*.f64 (cos.f64 im) (neg.f64 (+.f64 -1 (-.f64 (*.f64 (pow.f64 re 2) -1/2) re))))
(*.f64 (cos.f64 im) (-.f64 1 (neg.f64 (-.f64 re (*.f64 (pow.f64 re 2) -1/2)))))
(*.f64 (neg.f64 (cos.f64 im)) (-.f64 0 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re 1))))
(+.f64 (cos.f64 im) (*.f64 (cos.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))))
(*.f64 (cos.f64 im) (-.f64 (+.f64 re (*.f64 1/2 (pow.f64 re 2))) -1))
(*.f64 (cos.f64 im) (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) 1)))
(*.f64 -1 (*.f64 (cos.f64 im) (-.f64 -1 (+.f64 re (*.f64 1/2 (pow.f64 re 2))))))
(+.f64 (cos.f64 im) (*.f64 (cos.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))))
(*.f64 (cos.f64 im) (-.f64 (+.f64 re (*.f64 1/2 (pow.f64 re 2))) -1))
(*.f64 (cos.f64 im) (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) 1)))
(*.f64 (*.f64 (cos.f64 im) 2) (/.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re 1)) 2))
(+.f64 (cos.f64 im) (*.f64 (cos.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))))
(*.f64 (cos.f64 im) (-.f64 (+.f64 re (*.f64 1/2 (pow.f64 re 2))) -1))
(*.f64 (cos.f64 im) (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) 1)))
(*.f64 (*.f64 (cos.f64 im) 2) (-.f64 (+.f64 (/.f64 re 2) (/.f64 (pow.f64 re 2) 4)) -1/2))
(*.f64 (*.f64 2 (cos.f64 im)) (-.f64 (+.f64 (/.f64 re 2) (/.f64 (pow.f64 re 2) 4)) -1/2))
(*.f64 2 (*.f64 (cos.f64 im) (-.f64 (+.f64 (/.f64 re 2) (/.f64 (pow.f64 re 2) 4)) -1/2)))
(*.f64 (*.f64 (cos.f64 im) 2) (+.f64 1/2 (+.f64 (/.f64 re 2) (/.f64 (pow.f64 re 2) 4))))
(+.f64 (cos.f64 im) (*.f64 (cos.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))))
(*.f64 (cos.f64 im) (-.f64 (+.f64 re (*.f64 1/2 (pow.f64 re 2))) -1))
(*.f64 (cos.f64 im) (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) 1)))
(*.f64 (*.f64 (cos.f64 im) 2) (+.f64 (/.f64 (cos.f64 0) 2) (+.f64 (/.f64 re 2) (/.f64 (pow.f64 re 2) 4))))
(*.f64 (*.f64 2 (cos.f64 im)) (+.f64 (/.f64 (pow.f64 re 2) 4) (+.f64 (/.f64 re 2) (/.f64 (cos.f64 0) 2))))
(*.f64 (cos.f64 im) (*.f64 2 (+.f64 (/.f64 (pow.f64 re 2) 4) (/.f64 (+.f64 re (cos.f64 0)) 2))))
(*.f64 (cos.f64 im) (*.f64 2 (+.f64 (/.f64 (+.f64 re (cos.f64 0)) 2) (/.f64 (pow.f64 re 2) 4))))
(*.f64 (*.f64 (cos.f64 im) 2) (+.f64 (+.f64 (/.f64 re 2) (/.f64 (pow.f64 re 2) 4)) 1/2))
(+.f64 (cos.f64 im) (*.f64 (cos.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))))
(*.f64 (cos.f64 im) (-.f64 (+.f64 re (*.f64 1/2 (pow.f64 re 2))) -1))
(*.f64 (cos.f64 im) (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) 1)))
(*.f64 (*.f64 (cos.f64 im) 2) (+.f64 (+.f64 (/.f64 re 2) (/.f64 (pow.f64 re 2) 4)) (/.f64 (cos.f64 0) 2)))
(*.f64 (*.f64 2 (cos.f64 im)) (+.f64 (/.f64 (pow.f64 re 2) 4) (+.f64 (/.f64 re 2) (/.f64 (cos.f64 0) 2))))
(*.f64 (cos.f64 im) (*.f64 2 (+.f64 (/.f64 (pow.f64 re 2) 4) (/.f64 (+.f64 re (cos.f64 0)) 2))))
(*.f64 (cos.f64 im) (*.f64 2 (+.f64 (/.f64 (+.f64 re (cos.f64 0)) 2) (/.f64 (pow.f64 re 2) 4))))
(*.f64 (*.f64 (cos.f64 im) (-.f64 -1 (+.f64 re (*.f64 1/2 (pow.f64 re 2))))) -1)
(+.f64 (cos.f64 im) (*.f64 (cos.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))))
(*.f64 (cos.f64 im) (-.f64 (+.f64 re (*.f64 1/2 (pow.f64 re 2))) -1))
(*.f64 (cos.f64 im) (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) 1)))
(*.f64 (*.f64 (cos.f64 im) 1/2) (+.f64 (*.f64 (cos.f64 0) 2) (+.f64 (pow.f64 re 2) (+.f64 re re))))
(*.f64 (*.f64 1/2 (cos.f64 im)) (+.f64 (+.f64 re re) (+.f64 (pow.f64 re 2) (*.f64 2 (cos.f64 0)))))
(*.f64 1/2 (*.f64 (cos.f64 im) (+.f64 (pow.f64 re 2) (+.f64 (+.f64 re re) (*.f64 2 (cos.f64 0))))))
(*.f64 1/2 (*.f64 (cos.f64 im) (+.f64 re (+.f64 (+.f64 re (pow.f64 re 2)) (*.f64 2 (cos.f64 0))))))
(*.f64 1/2 (*.f64 (cos.f64 im) (-.f64 (+.f64 re (+.f64 re (pow.f64 re 2))) (/.f64 (cos.f64 0) -1/2))))
(*.f64 (*.f64 (cos.f64 im) 1/2) (+.f64 (+.f64 (pow.f64 re 2) (+.f64 re re)) (*.f64 (cos.f64 0) 2)))
(*.f64 (*.f64 1/2 (cos.f64 im)) (+.f64 (+.f64 re re) (+.f64 (pow.f64 re 2) (*.f64 2 (cos.f64 0)))))
(*.f64 1/2 (*.f64 (cos.f64 im) (+.f64 (pow.f64 re 2) (+.f64 (+.f64 re re) (*.f64 2 (cos.f64 0))))))
(*.f64 1/2 (*.f64 (cos.f64 im) (+.f64 re (+.f64 (+.f64 re (pow.f64 re 2)) (*.f64 2 (cos.f64 0))))))
(*.f64 1/2 (*.f64 (cos.f64 im) (-.f64 (+.f64 re (+.f64 re (pow.f64 re 2))) (/.f64 (cos.f64 0) -1/2))))
(*.f64 1/4 (*.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re 1)) (*.f64 (cos.f64 im) 4)))
(+.f64 (cos.f64 im) (*.f64 (cos.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))))
(*.f64 (cos.f64 im) (-.f64 (+.f64 re (*.f64 1/2 (pow.f64 re 2))) -1))
(*.f64 (cos.f64 im) (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) 1)))
(*.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re 1)) (cos.f64 im))
(+.f64 (cos.f64 im) (*.f64 (cos.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))))
(*.f64 (cos.f64 im) (-.f64 (+.f64 re (*.f64 1/2 (pow.f64 re 2))) -1))
(*.f64 (cos.f64 im) (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) 1)))
(*.f64 (*.f64 (cos.f64 im) 4) (/.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re 1)) 4))
(+.f64 (cos.f64 im) (*.f64 (cos.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))))
(*.f64 (cos.f64 im) (-.f64 (+.f64 re (*.f64 1/2 (pow.f64 re 2))) -1))
(*.f64 (cos.f64 im) (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) 1)))
(*.f64 (*.f64 (cos.f64 im) (-.f64 (+.f64 (pow.f64 re 2) (+.f64 re re)) -2)) 1/2)
(+.f64 (cos.f64 im) (*.f64 (cos.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))))
(*.f64 (cos.f64 im) (-.f64 (+.f64 re (*.f64 1/2 (pow.f64 re 2))) -1))
(*.f64 (cos.f64 im) (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) 1)))
(*.f64 (*.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re 1)) (*.f64 (cos.f64 im) 4)) 1/4)
(+.f64 (cos.f64 im) (*.f64 (cos.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))))
(*.f64 (cos.f64 im) (-.f64 (+.f64 re (*.f64 1/2 (pow.f64 re 2))) -1))
(*.f64 (cos.f64 im) (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) 1)))
(*.f64 (+.f64 -1 (-.f64 (*.f64 (pow.f64 re 2) -1/2) re)) (neg.f64 (cos.f64 im)))
(*.f64 (neg.f64 (cos.f64 im)) (-.f64 (*.f64 (pow.f64 re 2) -1/2) (+.f64 re 1)))
(*.f64 (neg.f64 (cos.f64 im)) (+.f64 -1 (-.f64 (*.f64 (pow.f64 re 2) -1/2) re)))
(*.f64 (cos.f64 im) (neg.f64 (+.f64 -1 (-.f64 (*.f64 (pow.f64 re 2) -1/2) re))))
(*.f64 (cos.f64 im) (-.f64 1 (neg.f64 (-.f64 re (*.f64 (pow.f64 re 2) -1/2)))))
(*.f64 (+.f64 (+.f64 re (*.f64 1/2 (pow.f64 re 2))) (cos.f64 0)) (cos.f64 im))
(*.f64 (cos.f64 im) (+.f64 (+.f64 re (*.f64 1/2 (pow.f64 re 2))) (cos.f64 0)))
(*.f64 (cos.f64 im) (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) (cos.f64 0))))
(*.f64 (cos.f64 im) (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re (cos.f64 0))))
(*.f64 (*.f64 (*.f64 (cos.f64 im) (-.f64 (+.f64 (pow.f64 re 2) (+.f64 re re)) -2)) 4) 1/8)
(+.f64 (cos.f64 im) (*.f64 (cos.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))))
(*.f64 (cos.f64 im) (-.f64 (+.f64 re (*.f64 1/2 (pow.f64 re 2))) -1))
(*.f64 (cos.f64 im) (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) 1)))
(*.f64 (*.f64 (*.f64 (cos.f64 im) 2) 4) (/.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re 1)) 8))
(+.f64 (cos.f64 im) (*.f64 (cos.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))))
(*.f64 (cos.f64 im) (-.f64 (+.f64 re (*.f64 1/2 (pow.f64 re 2))) -1))
(*.f64 (cos.f64 im) (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) 1)))
(*.f64 (+.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re 1)) (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re 1))) (*.f64 (cos.f64 im) 1/2))
(+.f64 (cos.f64 im) (*.f64 (cos.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))))
(*.f64 (cos.f64 im) (-.f64 (+.f64 re (*.f64 1/2 (pow.f64 re 2))) -1))
(*.f64 (cos.f64 im) (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) 1)))
(/.f64 (*.f64 (cos.f64 im) (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re 1))) 1)
(+.f64 (cos.f64 im) (*.f64 (cos.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))))
(*.f64 (cos.f64 im) (-.f64 (+.f64 re (*.f64 1/2 (pow.f64 re 2))) -1))
(*.f64 (cos.f64 im) (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) 1)))
(/.f64 (*.f64 (cos.f64 im) (-.f64 -1 (+.f64 re (*.f64 1/2 (pow.f64 re 2))))) -1)
(+.f64 (cos.f64 im) (*.f64 (cos.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))))
(*.f64 (cos.f64 im) (-.f64 (+.f64 re (*.f64 1/2 (pow.f64 re 2))) -1))
(*.f64 (cos.f64 im) (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) 1)))
(/.f64 (*.f64 (cos.f64 im) (-.f64 (+.f64 (pow.f64 re 2) (+.f64 re re)) -2)) 2)
(+.f64 (cos.f64 im) (*.f64 (cos.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))))
(*.f64 (cos.f64 im) (-.f64 (+.f64 re (*.f64 1/2 (pow.f64 re 2))) -1))
(*.f64 (cos.f64 im) (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) 1)))
(/.f64 (*.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re 1)) (*.f64 (cos.f64 im) 4)) 4)
(+.f64 (cos.f64 im) (*.f64 (cos.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))))
(*.f64 (cos.f64 im) (-.f64 (+.f64 re (*.f64 1/2 (pow.f64 re 2))) -1))
(*.f64 (cos.f64 im) (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) 1)))
(/.f64 (*.f64 (*.f64 (cos.f64 im) (-.f64 (+.f64 (pow.f64 re 2) (+.f64 re re)) -2)) 4) 8)
(+.f64 (cos.f64 im) (*.f64 (cos.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))))
(*.f64 (cos.f64 im) (-.f64 (+.f64 re (*.f64 1/2 (pow.f64 re 2))) -1))
(*.f64 (cos.f64 im) (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) 1)))
(/.f64 (*.f64 (neg.f64 (cos.f64 im)) (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re 1))) -1)
(+.f64 (cos.f64 im) (*.f64 (cos.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))))
(*.f64 (cos.f64 im) (-.f64 (+.f64 re (*.f64 1/2 (pow.f64 re 2))) -1))
(*.f64 (cos.f64 im) (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) 1)))
(/.f64 (-.f64 (*.f64 (cos.f64 im) (+.f64 (*.f64 2 (pow.f64 re 2)) (*.f64 re 4))) (neg.f64 (*.f64 (cos.f64 im) 4))) 4)
(/.f64 (-.f64 (*.f64 (cos.f64 im) (+.f64 (*.f64 2 (pow.f64 re 2)) (*.f64 re 4))) (neg.f64 (*.f64 4 (cos.f64 im)))) 4)
(/.f64 (*.f64 (cos.f64 im) (-.f64 (+.f64 (*.f64 2 (pow.f64 re 2)) (*.f64 re 4)) -4)) 4)
(/.f64 (-.f64 (*.f64 (cos.f64 im) (+.f64 (*.f64 2 (pow.f64 re 2)) (*.f64 re 4))) (*.f64 2 (*.f64 (cos.f64 im) -2))) 4)
(/.f64 (-.f64 (*.f64 (cos.f64 im) (+.f64 (*.f64 2 (pow.f64 re 2)) (*.f64 re 4))) (neg.f64 (*.f64 4 (cos.f64 im)))) 4)
(/.f64 (*.f64 (cos.f64 im) (-.f64 (+.f64 (*.f64 2 (pow.f64 re 2)) (*.f64 re 4)) -4)) 4)
(/.f64 (-.f64 (*.f64 (cos.f64 im) 4) (neg.f64 (*.f64 (cos.f64 im) (+.f64 (*.f64 2 (pow.f64 re 2)) (*.f64 re 4))))) 4)
(/.f64 (-.f64 (*.f64 (cos.f64 im) (+.f64 (*.f64 2 (pow.f64 re 2)) (*.f64 re 4))) (neg.f64 (*.f64 4 (cos.f64 im)))) 4)
(/.f64 (*.f64 (cos.f64 im) (-.f64 (+.f64 (*.f64 2 (pow.f64 re 2)) (*.f64 re 4)) -4)) 4)
(/.f64 (-.f64 (*.f64 (cos.f64 im) (+.f64 (pow.f64 re 2) (+.f64 re re))) (-.f64 (-.f64 (cos.f64 (neg.f64 im)) (cos.f64 im)) (*.f64 (cos.f64 im) 2))) 2)
(/.f64 (-.f64 (*.f64 (cos.f64 im) (+.f64 re (+.f64 re (pow.f64 re 2)))) (-.f64 (cos.f64 (neg.f64 im)) (+.f64 (*.f64 2 (cos.f64 im)) (cos.f64 im)))) 2)
(/.f64 (-.f64 (cos.f64 im) (-.f64 (-.f64 (cos.f64 (neg.f64 im)) (*.f64 2 (cos.f64 im))) (*.f64 (cos.f64 im) (+.f64 re (+.f64 re (pow.f64 re 2)))))) 2)
(-.f64 (*.f64 (cos.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))) (/.f64 (-.f64 (cos.f64 (neg.f64 im)) (*.f64 (cos.f64 im) 3)) 2))
(/.f64 (-.f64 (*.f64 (cos.f64 im) (-.f64 (+.f64 (pow.f64 re 2) (+.f64 re re)) -2)) (+.f64 (cos.f64 (+.f64 (/.f64 (PI.f64) 2) (-.f64 (/.f64 (PI.f64) 2) im))) (cos.f64 (-.f64 (/.f64 (PI.f64) 2) (-.f64 (/.f64 (PI.f64) 2) im))))) 2)
(/.f64 (-.f64 (*.f64 (cos.f64 im) (-.f64 (+.f64 re (+.f64 re (pow.f64 re 2))) -2)) (+.f64 (cos.f64 (+.f64 (/.f64 (PI.f64) 2) (-.f64 (/.f64 (PI.f64) 2) im))) (sin.f64 (-.f64 (/.f64 (PI.f64) 2) im)))) 2)
(-.f64 (/.f64 (*.f64 (cos.f64 im) (-.f64 (+.f64 re (+.f64 re (pow.f64 re 2))) -2)) 2) (*.f64 (cos.f64 (/.f64 (PI.f64) 2)) (sin.f64 im)))
(-.f64 (*.f64 (cos.f64 im) (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) 1))) (*.f64 (cos.f64 (/.f64 (PI.f64) 2)) (sin.f64 im)))
(/.f64 (-.f64 (*.f64 (cos.f64 im) (-.f64 (+.f64 (pow.f64 re 2) (+.f64 re re)) -2)) (+.f64 (cos.f64 (+.f64 (/.f64 (PI.f64) 2) (-.f64 (/.f64 (PI.f64) 2) im))) (cos.f64 (-.f64 (-.f64 (/.f64 (PI.f64) 2) im) (/.f64 (PI.f64) 2))))) 2)
(/.f64 (-.f64 (*.f64 (cos.f64 im) (-.f64 (+.f64 re (+.f64 re (pow.f64 re 2))) -2)) (+.f64 (cos.f64 (+.f64 (/.f64 (PI.f64) 2) (-.f64 (/.f64 (PI.f64) 2) im))) (sin.f64 (-.f64 (/.f64 (PI.f64) 2) im)))) 2)
(-.f64 (/.f64 (*.f64 (cos.f64 im) (-.f64 (+.f64 re (+.f64 re (pow.f64 re 2))) -2)) 2) (*.f64 (cos.f64 (/.f64 (PI.f64) 2)) (sin.f64 im)))
(-.f64 (*.f64 (cos.f64 im) (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) 1))) (*.f64 (cos.f64 (/.f64 (PI.f64) 2)) (sin.f64 im)))
(/.f64 (-.f64 (*.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re 1)) (*.f64 (cos.f64 im) 4)) (+.f64 (-.f64 (cos.f64 (neg.f64 im)) (cos.f64 im)) (-.f64 (cos.f64 (neg.f64 im)) (cos.f64 im)))) 4)
(/.f64 (-.f64 (*.f64 (*.f64 4 (cos.f64 im)) (+.f64 re (+.f64 1 (*.f64 1/2 (pow.f64 re 2))))) (+.f64 (-.f64 (cos.f64 (neg.f64 im)) (cos.f64 im)) (-.f64 (cos.f64 (neg.f64 im)) (cos.f64 im)))) 4)
(-.f64 (/.f64 (*.f64 (*.f64 4 (cos.f64 im)) (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) 1))) 4) (/.f64 (-.f64 (cos.f64 (neg.f64 im)) (cos.f64 im)) 2))
(/.f64 (+.f64 (*.f64 (cos.f64 im) (+.f64 (pow.f64 re 2) (-.f64 (+.f64 re re) -2))) (-.f64 (cos.f64 im) (cos.f64 (neg.f64 im)))) 2)
(/.f64 (-.f64 (neg.f64 (-.f64 (cos.f64 (neg.f64 im)) (cos.f64 im))) (neg.f64 (*.f64 (cos.f64 im) (-.f64 (+.f64 (pow.f64 re 2) (+.f64 re re)) -2)))) 2)
(/.f64 (-.f64 (*.f64 (*.f64 4 (cos.f64 im)) (+.f64 re (+.f64 1 (*.f64 1/2 (pow.f64 re 2))))) (+.f64 (-.f64 (cos.f64 (neg.f64 im)) (cos.f64 im)) (-.f64 (cos.f64 (neg.f64 im)) (cos.f64 im)))) 4)
(-.f64 (/.f64 (*.f64 (*.f64 4 (cos.f64 im)) (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) 1))) 4) (/.f64 (-.f64 (cos.f64 (neg.f64 im)) (cos.f64 im)) 2))
(/.f64 (+.f64 (*.f64 (cos.f64 im) (+.f64 (pow.f64 re 2) (-.f64 (+.f64 re re) -2))) (-.f64 (cos.f64 im) (cos.f64 (neg.f64 im)))) 2)
(pow.f64 (*.f64 (cos.f64 im) (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re 1))) 1)
(+.f64 (cos.f64 im) (*.f64 (cos.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))))
(*.f64 (cos.f64 im) (-.f64 (+.f64 re (*.f64 1/2 (pow.f64 re 2))) -1))
(*.f64 (cos.f64 im) (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) 1)))
(neg.f64 (*.f64 (cos.f64 im) (-.f64 -1 (+.f64 re (*.f64 1/2 (pow.f64 re 2))))))
(+.f64 (cos.f64 im) (*.f64 (cos.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))))
(*.f64 (cos.f64 im) (-.f64 (+.f64 re (*.f64 1/2 (pow.f64 re 2))) -1))
(*.f64 (cos.f64 im) (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) 1)))
(+.f64 (*.f64 1/2 (pow.f64 re 2)) 0)
(*.f64 1/2 (pow.f64 re 2))
(+.f64 0 (*.f64 1/2 (pow.f64 re 2)))
(*.f64 1/2 (pow.f64 re 2))
(+.f64 (/.f64 (pow.f64 re 2) 4) (/.f64 (pow.f64 re 2) 4))
(*.f64 1/2 (pow.f64 re 2))
(-.f64 (*.f64 1/2 (pow.f64 re 2)) 0)
(*.f64 1/2 (pow.f64 re 2))
(-.f64 (/.f64 (pow.f64 re 2) 4) (/.f64 (pow.f64 re 2) -4))
(/.f64 (pow.f64 re 2) 2)
(*.f64 1/2 (pow.f64 re 2))
(/.f64 (*.f64 1/2 (pow.f64 re 2)) 1)
(*.f64 1/2 (pow.f64 re 2))
(/.f64 (*.f64 2 (pow.f64 re 2)) 4)
(/.f64 (*.f64 (pow.f64 re 2) 4) 8)
(/.f64 (*.f64 2 (pow.f64 re 2)) 4)
(/.f64 (*.f64 (*.f64 2 (pow.f64 re 2)) 4) 16)
(/.f64 (*.f64 2 (pow.f64 re 2)) 4)
(pow.f64 (*.f64 1/2 (pow.f64 re 2)) 1)
(*.f64 1/2 (pow.f64 re 2))

eval770.0ms (3.7%)

Compiler

Compiled 6283 to 4170 computations (33.6% saved)

prune253.0ms (1.2%)

Pruning

8 alts after pruning (4 fresh and 4 done)

PrunedKeptTotal
New3004304
Fresh000
Picked101
Done044
Total3018309
Error
0.0b
Counts
309 → 8
Alt Table
Click to see full alt table
StatusErrorProgram
20.7b
(-.f64 (*.f64 (cos.f64 im) (+.f64 (+.f64 re (*.f64 1/2 (pow.f64 re 2))) 1/2)) (/.f64 (cos.f64 im) -2))
40.2b
(+.f64 1 re)
0.0b
(*.f64 (exp.f64 re) (cos.f64 im))
20.7b
(*.f64 (cos.f64 im) (-.f64 re -1))
20.7b
(*.f64 (cos.f64 im) (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) 1)))
61.9b
(*.f64 (cos.f64 im) re)
20.0b
(exp.f64 re)
20.9b
(cos.f64 im)
Compiler

Compiled 67 to 50 computations (25.4% saved)

localize32.0ms (0.2%)

Local error

Found 1 expressions with local error:

NewErrorProgram
0.1b
(*.f64 (cos.f64 im) re)
Compiler

Compiled 10 to 4 computations (60% saved)

series20.0ms (0.1%)

Counts
1 → 4
Calls

6 calls:

TimeVariablePointExpression
18.0ms
im
@-inf
(*.f64 (cos.f64 im) re)
1.0ms
re
@0
(*.f64 (cos.f64 im) re)
0.0ms
re
@inf
(*.f64 (cos.f64 im) re)
0.0ms
im
@0
(*.f64 (cos.f64 im) re)
0.0ms
im
@inf
(*.f64 (cos.f64 im) re)

rewrite447.0ms (2.1%)

Algorithm
batch-egg-rewrite
Rules
1632×rational_best-1
1630×rational_best-2
1630×rational_best-3
1626×rational_best-4
1622×exponential-1
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0711
14511
29211
326511
493711
5446511
Stop Event
node limit
Counts
1 → 24
Calls
Call 1
Inputs
(*.f64 (cos.f64 im) re)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (cos.f64 im) re) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (cos.f64 im) re))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (cos.f64 im) (*.f64 re 1/2)) (*.f64 (cos.f64 im) (*.f64 re 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (*.f64 (cos.f64 im) re) 4) (+.f64 (*.f64 (cos.f64 im) (*.f64 re 1/2)) (/.f64 (*.f64 (cos.f64 im) re) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (*.f64 (cos.f64 im) re) 4) (/.f64 (/.f64 (*.f64 (cos.f64 im) (*.f64 re 3)) 2) 2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (*.f64 (cos.f64 im) re) 4) (/.f64 (*.f64 (cos.f64 im) (*.f64 re 3)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (*.f64 (cos.f64 im) (*.f64 re 1/2)) (/.f64 (*.f64 (cos.f64 im) re) 4)) (/.f64 (*.f64 (cos.f64 im) re) 4))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (/.f64 (*.f64 (cos.f64 im) (*.f64 re 3)) 2) 2) (/.f64 (*.f64 (cos.f64 im) re) 4))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (*.f64 (cos.f64 im) (*.f64 re 3)) 4) (/.f64 (*.f64 (cos.f64 im) re) 4))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (cos.f64 im) re) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (cos.f64 im) (*.f64 re 1/2)) (/.f64 (*.f64 (cos.f64 im) re) -2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (*.f64 (cos.f64 im) (*.f64 re 1/2)) (/.f64 (*.f64 (cos.f64 im) re) 4)) (-.f64 0 (/.f64 (*.f64 (cos.f64 im) re) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (/.f64 (*.f64 (cos.f64 im) (*.f64 re 3)) 2) 2) (/.f64 (/.f64 (*.f64 (cos.f64 im) re) -2) 2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (*.f64 (cos.f64 im) (*.f64 re 3)) 4) (/.f64 (neg.f64 (*.f64 (cos.f64 im) re)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cos.f64 im) re) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cos.f64 im) (+.f64 re re)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cos.f64 im) (*.f64 re 4)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cos.f64 im) (*.f64 2 (*.f64 re 4))) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 (cos.f64 im) 4) (*.f64 re 4)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 (cos.f64 im) (*.f64 2 (*.f64 re 4))) (*.f64 (cos.f64 im) (*.f64 2 (*.f64 re 4)))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 (*.f64 (cos.f64 im) 4) (*.f64 re 4)) (*.f64 (*.f64 (cos.f64 im) 4) (*.f64 re 4))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 2 (*.f64 (cos.f64 im) 4)) (*.f64 2 (*.f64 re 4))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 2 (cos.f64 0)) (*.f64 (cos.f64 im) (*.f64 2 (*.f64 re 4)))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (cos.f64 im) re) 1)))))

simplify228.0ms (1.1%)

Algorithm
egg-herbie
Rules
1336×rational_best-simplify-48
904×rational_best-simplify-47
886×rational_best-simplify-52
776×rational_best-simplify-51
774×rational_best-simplify-63
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
090446
1220440
2572434
31620422
Stop Event
node limit
Counts
28 → 44
Calls
Call 1
Inputs
re
(+.f64 (*.f64 -1/2 (*.f64 re (pow.f64 im 2))) re)
(+.f64 (*.f64 -1/2 (*.f64 re (pow.f64 im 2))) (+.f64 (*.f64 1/24 (*.f64 re (pow.f64 im 4))) re))
(+.f64 (*.f64 -1/2 (*.f64 re (pow.f64 im 2))) (+.f64 (*.f64 1/24 (*.f64 re (pow.f64 im 4))) (+.f64 (*.f64 -1/720 (*.f64 re (pow.f64 im 6))) re)))
(+.f64 (*.f64 (cos.f64 im) re) 0)
(+.f64 0 (*.f64 (cos.f64 im) re))
(+.f64 (*.f64 (cos.f64 im) (*.f64 re 1/2)) (*.f64 (cos.f64 im) (*.f64 re 1/2)))
(+.f64 (/.f64 (*.f64 (cos.f64 im) re) 4) (+.f64 (*.f64 (cos.f64 im) (*.f64 re 1/2)) (/.f64 (*.f64 (cos.f64 im) re) 4)))
(+.f64 (/.f64 (*.f64 (cos.f64 im) re) 4) (/.f64 (/.f64 (*.f64 (cos.f64 im) (*.f64 re 3)) 2) 2))
(+.f64 (/.f64 (*.f64 (cos.f64 im) re) 4) (/.f64 (*.f64 (cos.f64 im) (*.f64 re 3)) 4))
(+.f64 (+.f64 (*.f64 (cos.f64 im) (*.f64 re 1/2)) (/.f64 (*.f64 (cos.f64 im) re) 4)) (/.f64 (*.f64 (cos.f64 im) re) 4))
(+.f64 (/.f64 (/.f64 (*.f64 (cos.f64 im) (*.f64 re 3)) 2) 2) (/.f64 (*.f64 (cos.f64 im) re) 4))
(+.f64 (/.f64 (*.f64 (cos.f64 im) (*.f64 re 3)) 4) (/.f64 (*.f64 (cos.f64 im) re) 4))
(-.f64 (*.f64 (cos.f64 im) re) 0)
(-.f64 (*.f64 (cos.f64 im) (*.f64 re 1/2)) (/.f64 (*.f64 (cos.f64 im) re) -2))
(-.f64 (+.f64 (*.f64 (cos.f64 im) (*.f64 re 1/2)) (/.f64 (*.f64 (cos.f64 im) re) 4)) (-.f64 0 (/.f64 (*.f64 (cos.f64 im) re) 4)))
(-.f64 (/.f64 (/.f64 (*.f64 (cos.f64 im) (*.f64 re 3)) 2) 2) (/.f64 (/.f64 (*.f64 (cos.f64 im) re) -2) 2))
(-.f64 (/.f64 (*.f64 (cos.f64 im) (*.f64 re 3)) 4) (/.f64 (neg.f64 (*.f64 (cos.f64 im) re)) 4))
(/.f64 (*.f64 (cos.f64 im) re) 1)
(/.f64 (*.f64 (cos.f64 im) (+.f64 re re)) 2)
(/.f64 (*.f64 (cos.f64 im) (*.f64 re 4)) 4)
(/.f64 (*.f64 (cos.f64 im) (*.f64 2 (*.f64 re 4))) 8)
(/.f64 (*.f64 (*.f64 (cos.f64 im) 4) (*.f64 re 4)) 16)
(/.f64 (+.f64 (*.f64 (cos.f64 im) (*.f64 2 (*.f64 re 4))) (*.f64 (cos.f64 im) (*.f64 2 (*.f64 re 4)))) 16)
(/.f64 (+.f64 (*.f64 (*.f64 (cos.f64 im) 4) (*.f64 re 4)) (*.f64 (*.f64 (cos.f64 im) 4) (*.f64 re 4))) 32)
(/.f64 (*.f64 (*.f64 2 (*.f64 (cos.f64 im) 4)) (*.f64 2 (*.f64 re 4))) 64)
(/.f64 (*.f64 (*.f64 2 (cos.f64 0)) (*.f64 (cos.f64 im) (*.f64 2 (*.f64 re 4)))) 16)
(pow.f64 (*.f64 (cos.f64 im) re) 1)
Outputs
re
(+.f64 (*.f64 -1/2 (*.f64 re (pow.f64 im 2))) re)
(+.f64 re (*.f64 -1/2 (*.f64 re (pow.f64 im 2))))
(+.f64 re (*.f64 re (*.f64 (pow.f64 im 2) -1/2)))
(+.f64 re (*.f64 (pow.f64 im 2) (*.f64 re -1/2)))
(+.f64 (*.f64 -1/2 (*.f64 re (pow.f64 im 2))) (+.f64 (*.f64 1/24 (*.f64 re (pow.f64 im 4))) re))
(+.f64 (*.f64 -1/2 (*.f64 re (pow.f64 im 2))) (+.f64 re (*.f64 (pow.f64 im 4) (*.f64 re 1/24))))
(+.f64 (*.f64 re (*.f64 (pow.f64 im 2) -1/2)) (+.f64 re (*.f64 (pow.f64 im 4) (*.f64 re 1/24))))
(+.f64 (*.f64 -1/2 (*.f64 re (pow.f64 im 2))) (+.f64 re (*.f64 re (*.f64 1/24 (pow.f64 im 4)))))
(+.f64 re (*.f64 re (+.f64 (*.f64 -1/2 (pow.f64 im 2)) (*.f64 1/24 (pow.f64 im 4)))))
(+.f64 (*.f64 -1/2 (*.f64 re (pow.f64 im 2))) (+.f64 (*.f64 1/24 (*.f64 re (pow.f64 im 4))) (+.f64 (*.f64 -1/720 (*.f64 re (pow.f64 im 6))) re)))
(+.f64 (*.f64 -1/2 (*.f64 re (pow.f64 im 2))) (+.f64 re (+.f64 (*.f64 (pow.f64 im 6) (*.f64 re -1/720)) (*.f64 (pow.f64 im 4) (*.f64 re 1/24)))))
(+.f64 (*.f64 re (*.f64 (pow.f64 im 2) -1/2)) (+.f64 re (+.f64 (*.f64 (pow.f64 im 4) (*.f64 re 1/24)) (*.f64 (pow.f64 im 6) (*.f64 re -1/720)))))
(+.f64 (*.f64 -1/2 (*.f64 re (pow.f64 im 2))) (+.f64 (*.f64 re (*.f64 1/24 (pow.f64 im 4))) (+.f64 re (*.f64 re (*.f64 -1/720 (pow.f64 im 6))))))
(+.f64 re (+.f64 (*.f64 (pow.f64 im 2) (*.f64 re -1/2)) (*.f64 re (+.f64 (*.f64 1/24 (pow.f64 im 4)) (*.f64 -1/720 (pow.f64 im 6))))))
(+.f64 (*.f64 (cos.f64 im) re) 0)
(*.f64 re (cos.f64 im))
(+.f64 0 (*.f64 (cos.f64 im) re))
(*.f64 re (cos.f64 im))
(+.f64 (*.f64 (cos.f64 im) (*.f64 re 1/2)) (*.f64 (cos.f64 im) (*.f64 re 1/2)))
(*.f64 re (cos.f64 im))
(+.f64 (/.f64 (*.f64 (cos.f64 im) re) 4) (+.f64 (*.f64 (cos.f64 im) (*.f64 re 1/2)) (/.f64 (*.f64 (cos.f64 im) re) 4)))
(*.f64 re (cos.f64 im))
(+.f64 (/.f64 (*.f64 (cos.f64 im) re) 4) (/.f64 (/.f64 (*.f64 (cos.f64 im) (*.f64 re 3)) 2) 2))
(*.f64 re (cos.f64 im))
(+.f64 (/.f64 (*.f64 (cos.f64 im) re) 4) (/.f64 (*.f64 (cos.f64 im) (*.f64 re 3)) 4))
(*.f64 re (cos.f64 im))
(+.f64 (+.f64 (*.f64 (cos.f64 im) (*.f64 re 1/2)) (/.f64 (*.f64 (cos.f64 im) re) 4)) (/.f64 (*.f64 (cos.f64 im) re) 4))
(*.f64 re (cos.f64 im))
(+.f64 (/.f64 (/.f64 (*.f64 (cos.f64 im) (*.f64 re 3)) 2) 2) (/.f64 (*.f64 (cos.f64 im) re) 4))
(*.f64 re (cos.f64 im))
(+.f64 (/.f64 (*.f64 (cos.f64 im) (*.f64 re 3)) 4) (/.f64 (*.f64 (cos.f64 im) re) 4))
(*.f64 re (cos.f64 im))
(-.f64 (*.f64 (cos.f64 im) re) 0)
(*.f64 re (cos.f64 im))
(-.f64 (*.f64 (cos.f64 im) (*.f64 re 1/2)) (/.f64 (*.f64 (cos.f64 im) re) -2))
(*.f64 re (cos.f64 im))
(-.f64 (+.f64 (*.f64 (cos.f64 im) (*.f64 re 1/2)) (/.f64 (*.f64 (cos.f64 im) re) 4)) (-.f64 0 (/.f64 (*.f64 (cos.f64 im) re) 4)))
(*.f64 re (cos.f64 im))
(-.f64 (/.f64 (/.f64 (*.f64 (cos.f64 im) (*.f64 re 3)) 2) 2) (/.f64 (/.f64 (*.f64 (cos.f64 im) re) -2) 2))
(*.f64 re (cos.f64 im))
(-.f64 (/.f64 (*.f64 (cos.f64 im) (*.f64 re 3)) 4) (/.f64 (neg.f64 (*.f64 (cos.f64 im) re)) 4))
(*.f64 re (cos.f64 im))
(/.f64 (*.f64 (cos.f64 im) re) 1)
(*.f64 re (cos.f64 im))
(/.f64 (*.f64 (cos.f64 im) (+.f64 re re)) 2)
(*.f64 re (cos.f64 im))
(/.f64 (*.f64 (cos.f64 im) (*.f64 re 4)) 4)
(*.f64 re (cos.f64 im))
(/.f64 (*.f64 (cos.f64 im) (*.f64 2 (*.f64 re 4))) 8)
(*.f64 re (cos.f64 im))
(/.f64 (*.f64 (*.f64 (cos.f64 im) 4) (*.f64 re 4)) 16)
(*.f64 re (cos.f64 im))
(/.f64 (+.f64 (*.f64 (cos.f64 im) (*.f64 2 (*.f64 re 4))) (*.f64 (cos.f64 im) (*.f64 2 (*.f64 re 4)))) 16)
(*.f64 re (cos.f64 im))
(/.f64 (+.f64 (*.f64 (*.f64 (cos.f64 im) 4) (*.f64 re 4)) (*.f64 (*.f64 (cos.f64 im) 4) (*.f64 re 4))) 32)
(*.f64 re (cos.f64 im))
(/.f64 (*.f64 (*.f64 2 (*.f64 (cos.f64 im) 4)) (*.f64 2 (*.f64 re 4))) 64)
(*.f64 re (cos.f64 im))
(/.f64 (*.f64 (*.f64 2 (cos.f64 0)) (*.f64 (cos.f64 im) (*.f64 2 (*.f64 re 4)))) 16)
(/.f64 (*.f64 (*.f64 4 (*.f64 re 2)) (*.f64 (cos.f64 im) (*.f64 2 (cos.f64 0)))) 16)
(/.f64 (*.f64 2 (*.f64 (cos.f64 0) (*.f64 (cos.f64 im) (*.f64 re 8)))) 16)
(/.f64 (*.f64 (cos.f64 im) (*.f64 (cos.f64 0) (*.f64 re 16))) 16)
(/.f64 (*.f64 (*.f64 (cos.f64 im) (*.f64 re 16)) (cos.f64 0)) 16)
(pow.f64 (*.f64 (cos.f64 im) re) 1)
(*.f64 re (cos.f64 im))

localize73.0ms (0.3%)

Local error

Found 4 expressions with local error:

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

Compiled 45 to 33 computations (26.7% saved)

series4.0ms (0%)

Counts
3 → 39
Calls

12 calls:

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

rewrite438.0ms (2.1%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
01479
19379
217679
347779
4182979
Stop Event
node limit
Counts
3 → 111
Calls
Call 1
Inputs
(*.f64 (cos.f64 im) (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) 1)))
(+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) 1))
(+.f64 (*.f64 1/2 (pow.f64 re 2)) 1)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (cos.f64 im) (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) 1))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (cos.f64 im) (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) 1))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (*.f64 (cos.f64 im) (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) 1))) 2) (/.f64 (*.f64 (cos.f64 im) (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) 1))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (cos.f64 im) (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) 1))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (*.f64 (cos.f64 im) (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) 1))) 2) (/.f64 (*.f64 (cos.f64 im) (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) 1))) -2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (*.f64 (cos.f64 im) (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) 1))) 2) (/.f64 (neg.f64 (*.f64 (cos.f64 im) (+.f64 (-.f64 (pow.f64 re 2) -2) (+.f64 re re)))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (/.f64 (*.f64 (cos.f64 im) (*.f64 (+.f64 (-.f64 (pow.f64 re 2) -2) (+.f64 re re)) 3/2)) 2) 2) (/.f64 (/.f64 (*.f64 (cos.f64 im) (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) 1))) -2) 2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (*.f64 (cos.f64 im) (*.f64 (+.f64 (-.f64 (pow.f64 re 2) -2) (+.f64 re re)) 3/2)) 4) (/.f64 (neg.f64 (*.f64 (cos.f64 im) (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) 1)))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cos.f64 im) (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) 1))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cos.f64 im) (+.f64 (-.f64 (pow.f64 re 2) -2) (+.f64 re re))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 (cos.f64 im) 2) (+.f64 (-.f64 (pow.f64 re 2) -2) (+.f64 re re))) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (-.f64 (pow.f64 re 2) -2) (+.f64 re re)) (*.f64 2 (*.f64 (cos.f64 im) 4))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cos.f64 im) (*.f64 (+.f64 (-.f64 (pow.f64 re 2) -2) (+.f64 re re)) 4)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (cos.f64 im) (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) 1))) 1)))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 re (*.f64 (-.f64 (pow.f64 re 2) -2) -1/2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 -1 (neg.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 1/2 (pow.f64 re 2)) (neg.f64 (+.f64 re 1)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 1/2 (pow.f64 re 2)) (-.f64 -1 re))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 1 (-.f64 (*.f64 (pow.f64 re 2) -1/2) re))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) 1) (neg.f64 re))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) 1)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (+.f64 -1 (-.f64 (*.f64 (pow.f64 re 2) -1/2) re)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 re (*.f64 1/2 (pow.f64 re 2))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 re 1) (*.f64 (pow.f64 re 2) -1/2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 (pow.f64 re 2) -2) (+.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) 1) (neg.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 re re) (+.f64 re (*.f64 (-.f64 (pow.f64 re 2) -2) -1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 (/.f64 re 2) (/.f64 (-.f64 (pow.f64 re 2) -2) -4)) (+.f64 (/.f64 (-.f64 (pow.f64 re 2) -2) -4) (/.f64 re -2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 (/.f64 re 2) (/.f64 (-.f64 (pow.f64 re 2) -2) -4)) (/.f64 (-.f64 (neg.f64 re) (+.f64 re (-.f64 (pow.f64 re 2) -2))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (-.f64 (pow.f64 re 2) -2) 4) (-.f64 -1/2 (-.f64 re (/.f64 (pow.f64 re 2) -4))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (-.f64 (pow.f64 re 2) -2) 4) (+.f64 (/.f64 (-.f64 (pow.f64 re 2) -2) -4) (neg.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (-.f64 (pow.f64 re 2) -2) 4) (/.f64 (-.f64 (+.f64 -1 (-.f64 (*.f64 (pow.f64 re 2) -1/2) re)) re) 2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 re 2) (/.f64 (-.f64 (-.f64 (neg.f64 (pow.f64 re 2)) 2) re) 2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 re 2) (-.f64 -1 (/.f64 (+.f64 re (pow.f64 re 2)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 re 2) (+.f64 (/.f64 re -2) (*.f64 (-.f64 (pow.f64 re 2) -2) -1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 re 2) (/.f64 (-.f64 0 (+.f64 re (-.f64 (pow.f64 re 2) -2))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (pow.f64 re 2) 4) (+.f64 (+.f64 -1 (neg.f64 re)) (/.f64 (pow.f64 re 2) -4)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (pow.f64 re 2) 4) (-.f64 -1 (-.f64 re (/.f64 (pow.f64 re 2) -4))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (pow.f64 re 2) 4) (-.f64 0 (+.f64 (+.f64 re 1) (/.f64 (pow.f64 re 2) 4))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (pow.f64 re 2) 4) (-.f64 (neg.f64 re) (+.f64 1 (/.f64 (pow.f64 re 2) 4))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (pow.f64 re 2) 4) (/.f64 (+.f64 (+.f64 -1 (neg.f64 re)) (+.f64 -1 (-.f64 (*.f64 (pow.f64 re 2) -1/2) re))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (/.f64 re 2)) (/.f64 (-.f64 (neg.f64 (pow.f64 re 2)) re) 2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 re (/.f64 (pow.f64 re 2) -4)) (+.f64 -1 (/.f64 (pow.f64 re 2) -4)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (+.f64 re (pow.f64 re 2)) 2) (+.f64 -1 (/.f64 re -2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (+.f64 re (pow.f64 re 2)) 2) (/.f64 (-.f64 -2 re) 2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (+.f64 re 1) (/.f64 (pow.f64 re 2) 4)) (/.f64 (pow.f64 re 2) -4))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 (/.f64 re 2) (/.f64 (pow.f64 re 2) -4)) (/.f64 (+.f64 -1 (+.f64 -1 (-.f64 (*.f64 (pow.f64 re 2) -1/2) re))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (+.f64 re (+.f64 re (+.f64 (pow.f64 re 2) 1))) 2) -1/2)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (+.f64 re (+.f64 (pow.f64 re 2) 1)) 2) (-.f64 (/.f64 re -2) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (/.f64 (+.f64 re (pow.f64 re 2)) 2) 1) (/.f64 re -2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (/.f64 (pow.f64 re 2) 4)) (+.f64 (neg.f64 re) (/.f64 (pow.f64 re 2) -4)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 re (/.f64 (-.f64 (pow.f64 re 2) -2) 4)) (/.f64 (-.f64 (pow.f64 re 2) -2) -4))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 (/.f64 (pow.f64 re 2) 4) (+.f64 -1 (neg.f64 re))) (/.f64 (pow.f64 re 2) -4))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (/.f64 (*.f64 (+.f64 (-.f64 (pow.f64 re 2) -2) (+.f64 re re)) 3/2) 2) 2) (/.f64 (+.f64 (/.f64 (-.f64 (pow.f64 re 2) -2) -4) (/.f64 re -2)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (/.f64 (+.f64 (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) 1)) (-.f64 (pow.f64 re 2) -2)) 2) 2) (/.f64 (+.f64 (-.f64 (/.f64 re -2) re) (/.f64 (-.f64 (pow.f64 re 2) -2) -4)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (/.f64 (+.f64 (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) 1)) (pow.f64 re 2)) 2) 2) (/.f64 (+.f64 (+.f64 (+.f64 -1 (neg.f64 re)) (/.f64 re -2)) (/.f64 (-.f64 (pow.f64 re 2) -2) -4)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (+.f64 re (-.f64 (/.f64 re 2) (/.f64 (-.f64 (pow.f64 re 2) -2) -4))) 2) (/.f64 (-.f64 (/.f64 re -2) (/.f64 (*.f64 (-.f64 (pow.f64 re 2) -2) 3/2) 2)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (+.f64 (+.f64 re (*.f64 1/2 (pow.f64 re 2))) (-.f64 (/.f64 re 2) (/.f64 (-.f64 (pow.f64 re 2) -2) -4))) 2) (/.f64 (+.f64 (+.f64 -3/2 (/.f64 (pow.f64 re 2) -4)) (/.f64 re -2)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (*.f64 (+.f64 (-.f64 (pow.f64 re 2) -2) (+.f64 re re)) 3/2) 4) (/.f64 (+.f64 -1 (-.f64 (*.f64 (pow.f64 re 2) -1/2) re)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (+.f64 (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) 1)) (+.f64 re (+.f64 re (pow.f64 re 2)))) 4) (/.f64 (+.f64 -3 (-.f64 (*.f64 (pow.f64 re 2) -1/2) re)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 re re) (+.f64 -1 (-.f64 (*.f64 (pow.f64 re 2) -1/2) re)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) 1) (+.f64 (*.f64 1/2 (pow.f64 re 2)) 1)) (+.f64 -1 (-.f64 (*.f64 (pow.f64 re 2) -1/2) re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (+.f64 (-.f64 (pow.f64 re 2) -2) (+.f64 re re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (-.f64 (/.f64 re 2) (/.f64 (-.f64 (pow.f64 re 2) -2) -4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) 1)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (-.f64 (pow.f64 re 2) -2) (+.f64 re re)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (/.f64 re 2) (/.f64 (-.f64 (pow.f64 re 2) -2) -4)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (+.f64 (*.f64 2 (-.f64 (pow.f64 re 2) -2)) (*.f64 re 4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (*.f64 2 (-.f64 (pow.f64 re 2) -2)) (*.f64 re 4)) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (-.f64 (pow.f64 re 2) -2) (+.f64 re re)) 4) 1/8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) 1)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (-.f64 (pow.f64 re 2) -2) (+.f64 re re)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (-.f64 (pow.f64 re 2) -2)) (*.f64 re 4)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (-.f64 (pow.f64 re 2) -2) (+.f64 re re)) 4) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 (-.f64 (pow.f64 re 2) -2) 4) (*.f64 2 (*.f64 re 4))) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 re 4)) (*.f64 (-.f64 (pow.f64 re 2) -2) 4)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 re 2) (*.f64 (+.f64 re 1) 2)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 (+.f64 re 1) 2) (pow.f64 re 2)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 re 4) (neg.f64 (*.f64 2 (-.f64 (pow.f64 re 2) -2)))) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 2 (-.f64 (pow.f64 re 2) -2)) (neg.f64 (*.f64 re 4))) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 (+.f64 re 1) 2) (neg.f64 (pow.f64 re 2))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) 1)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (+.f64 -1 (-.f64 (*.f64 (pow.f64 re 2) -1/2) re)))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 1/2 (pow.f64 re 2)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) 1) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (*.f64 (-.f64 (pow.f64 re 2) -2) -1/2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (-.f64 (pow.f64 re 2) -2) 4) (/.f64 (-.f64 (pow.f64 re 2) -2) -4))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (pow.f64 re 2) 4) (/.f64 (+.f64 (*.f64 (pow.f64 re 2) -1/2) -2) 2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (pow.f64 re 2) 4) (/.f64 (+.f64 -1 (*.f64 (-.f64 (pow.f64 re 2) -2) -1/2)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 (/.f64 (-.f64 (pow.f64 re 2) -2) 4) -1/2) (/.f64 (pow.f64 re 2) -4))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (+.f64 (pow.f64 re 2) 1) 2) -1/2)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (/.f64 (-.f64 (pow.f64 re 2) -2) 4)) 2) (/.f64 (+.f64 -3/2 (/.f64 (pow.f64 re 2) -4)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (/.f64 (*.f64 (-.f64 (pow.f64 re 2) -2) 3/2) 2) 2) (/.f64 (/.f64 (-.f64 (pow.f64 re 2) -2) -4) 2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (*.f64 (-.f64 (pow.f64 re 2) -2) 3/2) 4) (/.f64 (*.f64 (-.f64 (pow.f64 re 2) -2) -1/2) 4))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (+.f64 (pow.f64 re 2) (+.f64 (*.f64 1/2 (pow.f64 re 2)) 1)) 4) (/.f64 (+.f64 -3 (*.f64 (pow.f64 re 2) -1/2)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (-.f64 (pow.f64 re 2) -2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) 1) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 (*.f64 1/2 (pow.f64 re 2)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) 1) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (-.f64 (pow.f64 re 2) -2) -1/2) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (pow.f64 re 2) -2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 2 (-.f64 (pow.f64 re 2) -2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (-.f64 (pow.f64 re 2) -2)) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (-.f64 (pow.f64 re 2) -2) 4) 1/8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) 1) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (pow.f64 re 2) -2) -1/2) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 re 2) -2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (-.f64 (pow.f64 re 2) -2)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (pow.f64 re 2) -2) 4) 8)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) 1) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (*.f64 (-.f64 (pow.f64 re 2) -2) -1/2))))))

simplify297.0ms (1.4%)

Algorithm
egg-herbie
Rules
1150×rational_best-simplify-65
952×rational_best-simplify-3
836×rational_best-simplify-57
782×rational_best-simplify-108
520×rational_best-simplify-64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
03265196
18875154
224455116
Stop Event
node limit
Counts
150 → 209
Calls
Call 1
Inputs
(+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 1 re))
(+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 1 (+.f64 (*.f64 -1/2 (*.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 1 re)) (pow.f64 im 2))) re)))
(+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 1 (+.f64 (*.f64 -1/2 (*.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 1 re)) (pow.f64 im 2))) (+.f64 re (*.f64 1/24 (*.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 1 re)) (pow.f64 im 4)))))))
(+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 (*.f64 -1/720 (*.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 1 re)) (pow.f64 im 6))) (+.f64 1 (+.f64 (*.f64 -1/2 (*.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 1 re)) (pow.f64 im 2))) (+.f64 re (*.f64 1/24 (*.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 1 re)) (pow.f64 im 4))))))))
(*.f64 (cos.f64 im) (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 1 re)))
(*.f64 (cos.f64 im) (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 1 re)))
(*.f64 (cos.f64 im) (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 1 re)))
(*.f64 (cos.f64 im) (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 1 re)))
(*.f64 (cos.f64 im) (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 1 re)))
(*.f64 (cos.f64 im) (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 1 re)))
(*.f64 (cos.f64 im) (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 1 re)))
(*.f64 (cos.f64 im) (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 1 re)))
(cos.f64 im)
(+.f64 (*.f64 (cos.f64 im) re) (cos.f64 im))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 im) (pow.f64 re 2))) (+.f64 (*.f64 (cos.f64 im) re) (cos.f64 im)))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 im) (pow.f64 re 2))) (+.f64 (*.f64 (cos.f64 im) re) (cos.f64 im)))
(*.f64 1/2 (*.f64 (cos.f64 im) (pow.f64 re 2)))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 im) (pow.f64 re 2))) (*.f64 (cos.f64 im) re))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 im) (pow.f64 re 2))) (+.f64 (*.f64 (cos.f64 im) re) (cos.f64 im)))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 im) (pow.f64 re 2))) (+.f64 (*.f64 (cos.f64 im) re) (cos.f64 im)))
(*.f64 1/2 (*.f64 (cos.f64 im) (pow.f64 re 2)))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 im) (pow.f64 re 2))) (*.f64 (cos.f64 im) re))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 im) (pow.f64 re 2))) (+.f64 (*.f64 (cos.f64 im) re) (cos.f64 im)))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 im) (pow.f64 re 2))) (+.f64 (*.f64 (cos.f64 im) re) (cos.f64 im)))
1
(+.f64 1 re)
(+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 1 re))
(+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 1 re))
(*.f64 1/2 (pow.f64 re 2))
(+.f64 (*.f64 1/2 (pow.f64 re 2)) re)
(+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 1 re))
(+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 1 re))
(*.f64 1/2 (pow.f64 re 2))
(+.f64 (*.f64 1/2 (pow.f64 re 2)) re)
(+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 1 re))
(+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 1 re))
1
(*.f64 1/2 (pow.f64 re 2))
(*.f64 1/2 (pow.f64 re 2))
(+.f64 (*.f64 (cos.f64 im) (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) 1))) 0)
(+.f64 0 (*.f64 (cos.f64 im) (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) 1))))
(+.f64 (/.f64 (*.f64 (cos.f64 im) (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) 1))) 2) (/.f64 (*.f64 (cos.f64 im) (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) 1))) 2))
(-.f64 (*.f64 (cos.f64 im) (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) 1))) 0)
(-.f64 (/.f64 (*.f64 (cos.f64 im) (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) 1))) 2) (/.f64 (*.f64 (cos.f64 im) (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) 1))) -2))
(-.f64 (/.f64 (*.f64 (cos.f64 im) (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) 1))) 2) (/.f64 (neg.f64 (*.f64 (cos.f64 im) (+.f64 (-.f64 (pow.f64 re 2) -2) (+.f64 re re)))) 4))
(-.f64 (/.f64 (/.f64 (*.f64 (cos.f64 im) (*.f64 (+.f64 (-.f64 (pow.f64 re 2) -2) (+.f64 re re)) 3/2)) 2) 2) (/.f64 (/.f64 (*.f64 (cos.f64 im) (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) 1))) -2) 2))
(-.f64 (/.f64 (*.f64 (cos.f64 im) (*.f64 (+.f64 (-.f64 (pow.f64 re 2) -2) (+.f64 re re)) 3/2)) 4) (/.f64 (neg.f64 (*.f64 (cos.f64 im) (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) 1)))) 4))
(/.f64 (*.f64 (cos.f64 im) (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) 1))) 1)
(/.f64 (*.f64 (cos.f64 im) (+.f64 (-.f64 (pow.f64 re 2) -2) (+.f64 re re))) 2)
(/.f64 (*.f64 (*.f64 (cos.f64 im) 2) (+.f64 (-.f64 (pow.f64 re 2) -2) (+.f64 re re))) 4)
(/.f64 (*.f64 (+.f64 (-.f64 (pow.f64 re 2) -2) (+.f64 re re)) (*.f64 2 (*.f64 (cos.f64 im) 4))) 16)
(/.f64 (*.f64 (cos.f64 im) (*.f64 (+.f64 (-.f64 (pow.f64 re 2) -2) (+.f64 re re)) 4)) 8)
(pow.f64 (*.f64 (cos.f64 im) (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) 1))) 1)
(-.f64 re (*.f64 (-.f64 (pow.f64 re 2) -2) -1/2))
(-.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 -1 (neg.f64 re)))
(-.f64 (*.f64 1/2 (pow.f64 re 2)) (neg.f64 (+.f64 re 1)))
(-.f64 (*.f64 1/2 (pow.f64 re 2)) (-.f64 -1 re))
(-.f64 1 (-.f64 (*.f64 (pow.f64 re 2) -1/2) re))
(-.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) 1) (neg.f64 re))
(-.f64 (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) 1)) 0)
(-.f64 0 (+.f64 -1 (-.f64 (*.f64 (pow.f64 re 2) -1/2) re)))
(-.f64 (+.f64 re (*.f64 1/2 (pow.f64 re 2))) -1)
(-.f64 (+.f64 re 1) (*.f64 (pow.f64 re 2) -1/2))
(-.f64 (-.f64 (pow.f64 re 2) -2) (+.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) 1) (neg.f64 re)))
(-.f64 (+.f64 re re) (+.f64 re (*.f64 (-.f64 (pow.f64 re 2) -2) -1/2)))
(-.f64 (-.f64 (/.f64 re 2) (/.f64 (-.f64 (pow.f64 re 2) -2) -4)) (+.f64 (/.f64 (-.f64 (pow.f64 re 2) -2) -4) (/.f64 re -2)))
(-.f64 (-.f64 (/.f64 re 2) (/.f64 (-.f64 (pow.f64 re 2) -2) -4)) (/.f64 (-.f64 (neg.f64 re) (+.f64 re (-.f64 (pow.f64 re 2) -2))) 4))
(-.f64 (/.f64 (-.f64 (pow.f64 re 2) -2) 4) (-.f64 -1/2 (-.f64 re (/.f64 (pow.f64 re 2) -4))))
(-.f64 (/.f64 (-.f64 (pow.f64 re 2) -2) 4) (+.f64 (/.f64 (-.f64 (pow.f64 re 2) -2) -4) (neg.f64 re)))
(-.f64 (/.f64 (-.f64 (pow.f64 re 2) -2) 4) (/.f64 (-.f64 (+.f64 -1 (-.f64 (*.f64 (pow.f64 re 2) -1/2) re)) re) 2))
(-.f64 (/.f64 re 2) (/.f64 (-.f64 (-.f64 (neg.f64 (pow.f64 re 2)) 2) re) 2))
(-.f64 (/.f64 re 2) (-.f64 -1 (/.f64 (+.f64 re (pow.f64 re 2)) 2)))
(-.f64 (/.f64 re 2) (+.f64 (/.f64 re -2) (*.f64 (-.f64 (pow.f64 re 2) -2) -1/2)))
(-.f64 (/.f64 re 2) (/.f64 (-.f64 0 (+.f64 re (-.f64 (pow.f64 re 2) -2))) 2))
(-.f64 (/.f64 (pow.f64 re 2) 4) (+.f64 (+.f64 -1 (neg.f64 re)) (/.f64 (pow.f64 re 2) -4)))
(-.f64 (/.f64 (pow.f64 re 2) 4) (-.f64 -1 (-.f64 re (/.f64 (pow.f64 re 2) -4))))
(-.f64 (/.f64 (pow.f64 re 2) 4) (-.f64 0 (+.f64 (+.f64 re 1) (/.f64 (pow.f64 re 2) 4))))
(-.f64 (/.f64 (pow.f64 re 2) 4) (-.f64 (neg.f64 re) (+.f64 1 (/.f64 (pow.f64 re 2) 4))))
(-.f64 (/.f64 (pow.f64 re 2) 4) (/.f64 (+.f64 (+.f64 -1 (neg.f64 re)) (+.f64 -1 (-.f64 (*.f64 (pow.f64 re 2) -1/2) re))) 2))
(-.f64 (+.f64 1 (/.f64 re 2)) (/.f64 (-.f64 (neg.f64 (pow.f64 re 2)) re) 2))
(-.f64 (-.f64 re (/.f64 (pow.f64 re 2) -4)) (+.f64 -1 (/.f64 (pow.f64 re 2) -4)))
(-.f64 (/.f64 (+.f64 re (pow.f64 re 2)) 2) (+.f64 -1 (/.f64 re -2)))
(-.f64 (/.f64 (+.f64 re (pow.f64 re 2)) 2) (/.f64 (-.f64 -2 re) 2))
(-.f64 (+.f64 (+.f64 re 1) (/.f64 (pow.f64 re 2) 4)) (/.f64 (pow.f64 re 2) -4))
(-.f64 (-.f64 (/.f64 re 2) (/.f64 (pow.f64 re 2) -4)) (/.f64 (+.f64 -1 (+.f64 -1 (-.f64 (*.f64 (pow.f64 re 2) -1/2) re))) 2))
(-.f64 (/.f64 (+.f64 re (+.f64 re (+.f64 (pow.f64 re 2) 1))) 2) -1/2)
(-.f64 (/.f64 (+.f64 re (+.f64 (pow.f64 re 2) 1)) 2) (-.f64 (/.f64 re -2) 1/2))
(-.f64 (+.f64 (/.f64 (+.f64 re (pow.f64 re 2)) 2) 1) (/.f64 re -2))
(-.f64 (+.f64 1 (/.f64 (pow.f64 re 2) 4)) (+.f64 (neg.f64 re) (/.f64 (pow.f64 re 2) -4)))
(-.f64 (+.f64 re (/.f64 (-.f64 (pow.f64 re 2) -2) 4)) (/.f64 (-.f64 (pow.f64 re 2) -2) -4))
(-.f64 (-.f64 (/.f64 (pow.f64 re 2) 4) (+.f64 -1 (neg.f64 re))) (/.f64 (pow.f64 re 2) -4))
(-.f64 (/.f64 (/.f64 (*.f64 (+.f64 (-.f64 (pow.f64 re 2) -2) (+.f64 re re)) 3/2) 2) 2) (/.f64 (+.f64 (/.f64 (-.f64 (pow.f64 re 2) -2) -4) (/.f64 re -2)) 2))
(-.f64 (/.f64 (/.f64 (+.f64 (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) 1)) (-.f64 (pow.f64 re 2) -2)) 2) 2) (/.f64 (+.f64 (-.f64 (/.f64 re -2) re) (/.f64 (-.f64 (pow.f64 re 2) -2) -4)) 2))
(-.f64 (/.f64 (/.f64 (+.f64 (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) 1)) (pow.f64 re 2)) 2) 2) (/.f64 (+.f64 (+.f64 (+.f64 -1 (neg.f64 re)) (/.f64 re -2)) (/.f64 (-.f64 (pow.f64 re 2) -2) -4)) 2))
(-.f64 (/.f64 (+.f64 re (-.f64 (/.f64 re 2) (/.f64 (-.f64 (pow.f64 re 2) -2) -4))) 2) (/.f64 (-.f64 (/.f64 re -2) (/.f64 (*.f64 (-.f64 (pow.f64 re 2) -2) 3/2) 2)) 2))
(-.f64 (/.f64 (+.f64 (+.f64 re (*.f64 1/2 (pow.f64 re 2))) (-.f64 (/.f64 re 2) (/.f64 (-.f64 (pow.f64 re 2) -2) -4))) 2) (/.f64 (+.f64 (+.f64 -3/2 (/.f64 (pow.f64 re 2) -4)) (/.f64 re -2)) 2))
(-.f64 (/.f64 (*.f64 (+.f64 (-.f64 (pow.f64 re 2) -2) (+.f64 re re)) 3/2) 4) (/.f64 (+.f64 -1 (-.f64 (*.f64 (pow.f64 re 2) -1/2) re)) 4))
(-.f64 (/.f64 (+.f64 (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) 1)) (+.f64 re (+.f64 re (pow.f64 re 2)))) 4) (/.f64 (+.f64 -3 (-.f64 (*.f64 (pow.f64 re 2) -1/2) re)) 4))
(-.f64 (-.f64 re re) (+.f64 -1 (-.f64 (*.f64 (pow.f64 re 2) -1/2) re)))
(-.f64 (-.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) 1) (+.f64 (*.f64 1/2 (pow.f64 re 2)) 1)) (+.f64 -1 (-.f64 (*.f64 (pow.f64 re 2) -1/2) re)))
(*.f64 1/2 (+.f64 (-.f64 (pow.f64 re 2) -2) (+.f64 re re)))
(*.f64 2 (-.f64 (/.f64 re 2) (/.f64 (-.f64 (pow.f64 re 2) -2) -4)))
(*.f64 1 (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) 1)))
(*.f64 (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) 1)) 1)
(*.f64 (+.f64 (-.f64 (pow.f64 re 2) -2) (+.f64 re re)) 1/2)
(*.f64 (-.f64 (/.f64 re 2) (/.f64 (-.f64 (pow.f64 re 2) -2) -4)) 2)
(*.f64 1/4 (+.f64 (*.f64 2 (-.f64 (pow.f64 re 2) -2)) (*.f64 re 4)))
(*.f64 (+.f64 (*.f64 2 (-.f64 (pow.f64 re 2) -2)) (*.f64 re 4)) 1/4)
(*.f64 (*.f64 (+.f64 (-.f64 (pow.f64 re 2) -2) (+.f64 re re)) 4) 1/8)
(/.f64 (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) 1)) 1)
(/.f64 (+.f64 (-.f64 (pow.f64 re 2) -2) (+.f64 re re)) 2)
(/.f64 (+.f64 (*.f64 2 (-.f64 (pow.f64 re 2) -2)) (*.f64 re 4)) 4)
(/.f64 (*.f64 (+.f64 (-.f64 (pow.f64 re 2) -2) (+.f64 re re)) 4) 8)
(/.f64 (+.f64 (*.f64 (-.f64 (pow.f64 re 2) -2) 4) (*.f64 2 (*.f64 re 4))) 8)
(/.f64 (+.f64 (*.f64 2 (*.f64 re 4)) (*.f64 (-.f64 (pow.f64 re 2) -2) 4)) 8)
(/.f64 (+.f64 (pow.f64 re 2) (*.f64 (+.f64 re 1) 2)) 2)
(/.f64 (+.f64 (*.f64 (+.f64 re 1) 2) (pow.f64 re 2)) 2)
(/.f64 (-.f64 (*.f64 re 4) (neg.f64 (*.f64 2 (-.f64 (pow.f64 re 2) -2)))) 4)
(/.f64 (-.f64 (*.f64 2 (-.f64 (pow.f64 re 2) -2)) (neg.f64 (*.f64 re 4))) 4)
(/.f64 (-.f64 (*.f64 (+.f64 re 1) 2) (neg.f64 (pow.f64 re 2))) 2)
(pow.f64 (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) 1)) 1)
(neg.f64 (+.f64 -1 (-.f64 (*.f64 (pow.f64 re 2) -1/2) re)))
(-.f64 (*.f64 1/2 (pow.f64 re 2)) -1)
(-.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) 1) 0)
(-.f64 0 (*.f64 (-.f64 (pow.f64 re 2) -2) -1/2))
(-.f64 (/.f64 (-.f64 (pow.f64 re 2) -2) 4) (/.f64 (-.f64 (pow.f64 re 2) -2) -4))
(-.f64 (/.f64 (pow.f64 re 2) 4) (/.f64 (+.f64 (*.f64 (pow.f64 re 2) -1/2) -2) 2))
(-.f64 (/.f64 (pow.f64 re 2) 4) (/.f64 (+.f64 -1 (*.f64 (-.f64 (pow.f64 re 2) -2) -1/2)) 2))
(-.f64 (-.f64 (/.f64 (-.f64 (pow.f64 re 2) -2) 4) -1/2) (/.f64 (pow.f64 re 2) -4))
(-.f64 (/.f64 (+.f64 (pow.f64 re 2) 1) 2) -1/2)
(-.f64 (/.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (/.f64 (-.f64 (pow.f64 re 2) -2) 4)) 2) (/.f64 (+.f64 -3/2 (/.f64 (pow.f64 re 2) -4)) 2))
(-.f64 (/.f64 (/.f64 (*.f64 (-.f64 (pow.f64 re 2) -2) 3/2) 2) 2) (/.f64 (/.f64 (-.f64 (pow.f64 re 2) -2) -4) 2))
(-.f64 (/.f64 (*.f64 (-.f64 (pow.f64 re 2) -2) 3/2) 4) (/.f64 (*.f64 (-.f64 (pow.f64 re 2) -2) -1/2) 4))
(-.f64 (/.f64 (+.f64 (pow.f64 re 2) (+.f64 (*.f64 1/2 (pow.f64 re 2)) 1)) 4) (/.f64 (+.f64 -3 (*.f64 (pow.f64 re 2) -1/2)) 4))
(*.f64 1/2 (-.f64 (pow.f64 re 2) -2))
(*.f64 2 (*.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) 1) 1/2))
(*.f64 1 (+.f64 (*.f64 1/2 (pow.f64 re 2)) 1))
(*.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) 1) 1)
(*.f64 (*.f64 (-.f64 (pow.f64 re 2) -2) -1/2) -1)
(*.f64 (-.f64 (pow.f64 re 2) -2) 1/2)
(*.f64 1/4 (*.f64 2 (-.f64 (pow.f64 re 2) -2)))
(*.f64 (*.f64 2 (-.f64 (pow.f64 re 2) -2)) 1/4)
(*.f64 (*.f64 (-.f64 (pow.f64 re 2) -2) 4) 1/8)
(/.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) 1) 1)
(/.f64 (*.f64 (-.f64 (pow.f64 re 2) -2) -1/2) -1)
(/.f64 (-.f64 (pow.f64 re 2) -2) 2)
(/.f64 (*.f64 2 (-.f64 (pow.f64 re 2) -2)) 4)
(/.f64 (*.f64 (-.f64 (pow.f64 re 2) -2) 4) 8)
(pow.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) 1) 1)
(neg.f64 (*.f64 (-.f64 (pow.f64 re 2) -2) -1/2))
Outputs
(+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 1 re))
(+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re 1))
(+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) 1))
(+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 1 (+.f64 (*.f64 -1/2 (*.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 1 re)) (pow.f64 im 2))) re)))
(+.f64 (+.f64 re (*.f64 -1/2 (*.f64 (pow.f64 im 2) (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re 1))))) (+.f64 (*.f64 1/2 (pow.f64 re 2)) 1))
(+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 1 (+.f64 re (*.f64 -1/2 (*.f64 (pow.f64 im 2) (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) 1)))))))
(+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 (*.f64 (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) 1)) (*.f64 -1/2 (pow.f64 im 2))) (+.f64 re 1)))
(+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 1 (+.f64 (*.f64 -1/2 (*.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 1 re)) (pow.f64 im 2))) (+.f64 re (*.f64 1/24 (*.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 1 re)) (pow.f64 im 4)))))))
(+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 (+.f64 re (*.f64 1/24 (*.f64 (pow.f64 im 4) (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re 1))))) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 im 2) (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re 1)))) 1)))
(+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 1 (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 im 2) (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) 1)))) (+.f64 re (*.f64 1/24 (*.f64 (pow.f64 im 4) (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) 1))))))))
(+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 (*.f64 (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) 1)) (*.f64 -1/2 (pow.f64 im 2))) (+.f64 1 (+.f64 re (*.f64 1/24 (*.f64 (pow.f64 im 4) (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) 1))))))))
(+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 (*.f64 -1/720 (*.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 1 re)) (pow.f64 im 6))) (+.f64 1 (+.f64 (*.f64 -1/2 (*.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 1 re)) (pow.f64 im 2))) (+.f64 re (*.f64 1/24 (*.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 1 re)) (pow.f64 im 4))))))))
(+.f64 (+.f64 (+.f64 re (*.f64 1/24 (*.f64 (pow.f64 im 4) (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re 1))))) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 im 2) (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re 1)))) 1)) (+.f64 (*.f64 -1/720 (*.f64 (pow.f64 im 6) (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re 1)))) (*.f64 1/2 (pow.f64 re 2))))
(+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 1 (+.f64 (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 im 2) (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) 1)))) (+.f64 re (*.f64 1/24 (*.f64 (pow.f64 im 4) (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) 1)))))) (*.f64 -1/720 (*.f64 (pow.f64 im 6) (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) 1)))))))
(+.f64 (+.f64 (*.f64 (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) 1)) (*.f64 -1/2 (pow.f64 im 2))) (+.f64 1 (+.f64 re (*.f64 1/24 (*.f64 (pow.f64 im 4) (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) 1))))))) (+.f64 (*.f64 1/2 (pow.f64 re 2)) (*.f64 -1/720 (*.f64 (pow.f64 im 6) (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) 1))))))
(*.f64 (cos.f64 im) (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 1 re)))
(*.f64 (cos.f64 im) (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re 1)))
(*.f64 (cos.f64 im) (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) 1)))
(*.f64 (cos.f64 im) (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 1 re)))
(*.f64 (cos.f64 im) (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re 1)))
(*.f64 (cos.f64 im) (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) 1)))
(*.f64 (cos.f64 im) (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 1 re)))
(*.f64 (cos.f64 im) (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re 1)))
(*.f64 (cos.f64 im) (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) 1)))
(*.f64 (cos.f64 im) (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 1 re)))
(*.f64 (cos.f64 im) (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re 1)))
(*.f64 (cos.f64 im) (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) 1)))
(*.f64 (cos.f64 im) (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 1 re)))
(*.f64 (cos.f64 im) (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re 1)))
(*.f64 (cos.f64 im) (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) 1)))
(*.f64 (cos.f64 im) (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 1 re)))
(*.f64 (cos.f64 im) (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re 1)))
(*.f64 (cos.f64 im) (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) 1)))
(*.f64 (cos.f64 im) (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 1 re)))
(*.f64 (cos.f64 im) (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re 1)))
(*.f64 (cos.f64 im) (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) 1)))
(*.f64 (cos.f64 im) (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 1 re)))
(*.f64 (cos.f64 im) (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re 1)))
(*.f64 (cos.f64 im) (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) 1)))
(cos.f64 im)
(+.f64 (*.f64 (cos.f64 im) re) (cos.f64 im))
(+.f64 (cos.f64 im) (*.f64 re (cos.f64 im)))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 im) (pow.f64 re 2))) (+.f64 (*.f64 (cos.f64 im) re) (cos.f64 im)))
(+.f64 (cos.f64 im) (+.f64 (*.f64 re (cos.f64 im)) (*.f64 1/2 (*.f64 (pow.f64 re 2) (cos.f64 im)))))
(+.f64 (cos.f64 im) (+.f64 (*.f64 re (cos.f64 im)) (*.f64 (pow.f64 re 2) (*.f64 1/2 (cos.f64 im)))))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 im) (pow.f64 re 2))) (+.f64 (*.f64 (cos.f64 im) re) (cos.f64 im)))
(+.f64 (cos.f64 im) (+.f64 (*.f64 re (cos.f64 im)) (*.f64 1/2 (*.f64 (pow.f64 re 2) (cos.f64 im)))))
(+.f64 (cos.f64 im) (+.f64 (*.f64 re (cos.f64 im)) (*.f64 (pow.f64 re 2) (*.f64 1/2 (cos.f64 im)))))
(*.f64 1/2 (*.f64 (cos.f64 im) (pow.f64 re 2)))
(*.f64 1/2 (*.f64 (pow.f64 re 2) (cos.f64 im)))
(*.f64 (pow.f64 re 2) (*.f64 1/2 (cos.f64 im)))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 im) (pow.f64 re 2))) (*.f64 (cos.f64 im) re))
(+.f64 (*.f64 re (cos.f64 im)) (*.f64 1/2 (*.f64 (pow.f64 re 2) (cos.f64 im))))
(+.f64 (*.f64 re (cos.f64 im)) (*.f64 (pow.f64 re 2) (*.f64 1/2 (cos.f64 im))))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 im) (pow.f64 re 2))) (+.f64 (*.f64 (cos.f64 im) re) (cos.f64 im)))
(+.f64 (cos.f64 im) (+.f64 (*.f64 re (cos.f64 im)) (*.f64 1/2 (*.f64 (pow.f64 re 2) (cos.f64 im)))))
(+.f64 (cos.f64 im) (+.f64 (*.f64 re (cos.f64 im)) (*.f64 (pow.f64 re 2) (*.f64 1/2 (cos.f64 im)))))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 im) (pow.f64 re 2))) (+.f64 (*.f64 (cos.f64 im) re) (cos.f64 im)))
(+.f64 (cos.f64 im) (+.f64 (*.f64 re (cos.f64 im)) (*.f64 1/2 (*.f64 (pow.f64 re 2) (cos.f64 im)))))
(+.f64 (cos.f64 im) (+.f64 (*.f64 re (cos.f64 im)) (*.f64 (pow.f64 re 2) (*.f64 1/2 (cos.f64 im)))))
(*.f64 1/2 (*.f64 (cos.f64 im) (pow.f64 re 2)))
(*.f64 1/2 (*.f64 (pow.f64 re 2) (cos.f64 im)))
(*.f64 (pow.f64 re 2) (*.f64 1/2 (cos.f64 im)))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 im) (pow.f64 re 2))) (*.f64 (cos.f64 im) re))
(+.f64 (*.f64 re (cos.f64 im)) (*.f64 1/2 (*.f64 (pow.f64 re 2) (cos.f64 im))))
(+.f64 (*.f64 re (cos.f64 im)) (*.f64 (pow.f64 re 2) (*.f64 1/2 (cos.f64 im))))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 im) (pow.f64 re 2))) (+.f64 (*.f64 (cos.f64 im) re) (cos.f64 im)))
(+.f64 (cos.f64 im) (+.f64 (*.f64 re (cos.f64 im)) (*.f64 1/2 (*.f64 (pow.f64 re 2) (cos.f64 im)))))
(+.f64 (cos.f64 im) (+.f64 (*.f64 re (cos.f64 im)) (*.f64 (pow.f64 re 2) (*.f64 1/2 (cos.f64 im)))))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 im) (pow.f64 re 2))) (+.f64 (*.f64 (cos.f64 im) re) (cos.f64 im)))
(+.f64 (cos.f64 im) (+.f64 (*.f64 re (cos.f64 im)) (*.f64 1/2 (*.f64 (pow.f64 re 2) (cos.f64 im)))))
(+.f64 (cos.f64 im) (+.f64 (*.f64 re (cos.f64 im)) (*.f64 (pow.f64 re 2) (*.f64 1/2 (cos.f64 im)))))
1
(+.f64 1 re)
(+.f64 re 1)
(+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 1 re))
(+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re 1))
(+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) 1))
(+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 1 re))
(+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re 1))
(+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) 1))
(*.f64 1/2 (pow.f64 re 2))
(+.f64 (*.f64 1/2 (pow.f64 re 2)) re)
(+.f64 re (*.f64 1/2 (pow.f64 re 2)))
(-.f64 re (/.f64 (pow.f64 re 2) -2))
(+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 1 re))
(+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re 1))
(+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) 1))
(+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 1 re))
(+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re 1))
(+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) 1))
(*.f64 1/2 (pow.f64 re 2))
(+.f64 (*.f64 1/2 (pow.f64 re 2)) re)
(+.f64 re (*.f64 1/2 (pow.f64 re 2)))
(-.f64 re (/.f64 (pow.f64 re 2) -2))
(+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 1 re))
(+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re 1))
(+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) 1))
(+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 1 re))
(+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re 1))
(+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) 1))
1
(*.f64 1/2 (pow.f64 re 2))
(*.f64 1/2 (pow.f64 re 2))
(+.f64 (*.f64 (cos.f64 im) (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) 1))) 0)
(*.f64 (cos.f64 im) (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re 1)))
(*.f64 (cos.f64 im) (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) 1)))
(+.f64 0 (*.f64 (cos.f64 im) (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) 1))))
(*.f64 (cos.f64 im) (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re 1)))
(*.f64 (cos.f64 im) (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) 1)))
(+.f64 (/.f64 (*.f64 (cos.f64 im) (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) 1))) 2) (/.f64 (*.f64 (cos.f64 im) (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) 1))) 2))
(*.f64 (cos.f64 im) (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re 1)))
(*.f64 (cos.f64 im) (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) 1)))
(-.f64 (*.f64 (cos.f64 im) (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) 1))) 0)
(*.f64 (cos.f64 im) (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re 1)))
(*.f64 (cos.f64 im) (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) 1)))
(-.f64 (/.f64 (*.f64 (cos.f64 im) (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) 1))) 2) (/.f64 (*.f64 (cos.f64 im) (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) 1))) -2))
(*.f64 (cos.f64 im) (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re 1)))
(*.f64 (cos.f64 im) (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) 1)))
(-.f64 (/.f64 (*.f64 (cos.f64 im) (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) 1))) 2) (/.f64 (neg.f64 (*.f64 (cos.f64 im) (+.f64 (-.f64 (pow.f64 re 2) -2) (+.f64 re re)))) 4))
(-.f64 (/.f64 (*.f64 (cos.f64 im) (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re 1))) 2) (/.f64 (neg.f64 (*.f64 (cos.f64 im) (+.f64 (-.f64 (pow.f64 re 2) -2) (+.f64 re re)))) 4))
(-.f64 (/.f64 (*.f64 (cos.f64 im) (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) 1))) 2) (/.f64 (*.f64 (cos.f64 im) (+.f64 (-.f64 (pow.f64 re 2) -2) (+.f64 re re))) -4))
(-.f64 (/.f64 (*.f64 (cos.f64 im) (-.f64 2 (-.f64 (*.f64 re -2) (pow.f64 re 2)))) 4) (/.f64 (*.f64 (cos.f64 im) (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) 1))) -2))
(-.f64 (/.f64 (/.f64 (*.f64 (cos.f64 im) (*.f64 (+.f64 (-.f64 (pow.f64 re 2) -2) (+.f64 re re)) 3/2)) 2) 2) (/.f64 (/.f64 (*.f64 (cos.f64 im) (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) 1))) -2) 2))
(-.f64 (/.f64 (*.f64 (cos.f64 im) (*.f64 (+.f64 (-.f64 (pow.f64 re 2) -2) (+.f64 re re)) 3/2)) 4) (/.f64 (*.f64 (cos.f64 im) (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re 1))) -4))
(/.f64 (-.f64 (*.f64 (+.f64 (-.f64 (pow.f64 re 2) -2) (+.f64 re re)) (*.f64 3/2 (cos.f64 im))) (neg.f64 (*.f64 (cos.f64 im) (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) 1))))) 4)
(/.f64 (-.f64 (*.f64 (cos.f64 im) (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) 1))) (neg.f64 (*.f64 (-.f64 2 (-.f64 (*.f64 re -2) (pow.f64 re 2))) (*.f64 (cos.f64 im) 3/2)))) 4)
(-.f64 (/.f64 (*.f64 (cos.f64 im) (*.f64 (+.f64 (-.f64 (pow.f64 re 2) -2) (+.f64 re re)) 3/2)) 4) (/.f64 (neg.f64 (*.f64 (cos.f64 im) (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) 1)))) 4))
(-.f64 (/.f64 (*.f64 (cos.f64 im) (*.f64 (+.f64 (-.f64 (pow.f64 re 2) -2) (+.f64 re re)) 3/2)) 4) (/.f64 (*.f64 (cos.f64 im) (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re 1))) -4))
(/.f64 (-.f64 (*.f64 (+.f64 (-.f64 (pow.f64 re 2) -2) (+.f64 re re)) (*.f64 3/2 (cos.f64 im))) (neg.f64 (*.f64 (cos.f64 im) (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) 1))))) 4)
(/.f64 (-.f64 (*.f64 (cos.f64 im) (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) 1))) (neg.f64 (*.f64 (-.f64 2 (-.f64 (*.f64 re -2) (pow.f64 re 2))) (*.f64 (cos.f64 im) 3/2)))) 4)
(/.f64 (*.f64 (cos.f64 im) (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) 1))) 1)
(*.f64 (cos.f64 im) (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re 1)))
(*.f64 (cos.f64 im) (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) 1)))
(/.f64 (*.f64 (cos.f64 im) (+.f64 (-.f64 (pow.f64 re 2) -2) (+.f64 re re))) 2)
(/.f64 (*.f64 (cos.f64 im) (-.f64 2 (-.f64 (*.f64 re -2) (pow.f64 re 2)))) 2)
(/.f64 (*.f64 (*.f64 (cos.f64 im) 2) (+.f64 (-.f64 (pow.f64 re 2) -2) (+.f64 re re))) 4)
(/.f64 (*.f64 (+.f64 (-.f64 (pow.f64 re 2) -2) (+.f64 re re)) (*.f64 2 (cos.f64 im))) 4)
(/.f64 (*.f64 (cos.f64 im) (*.f64 2 (-.f64 2 (-.f64 (*.f64 re -2) (pow.f64 re 2))))) 4)
(/.f64 (*.f64 (+.f64 (-.f64 (pow.f64 re 2) -2) (+.f64 re re)) (*.f64 2 (*.f64 (cos.f64 im) 4))) 16)
(/.f64 (*.f64 (+.f64 (-.f64 (pow.f64 re 2) -2) (+.f64 re re)) (*.f64 2 (cos.f64 im))) 4)
(/.f64 (*.f64 (cos.f64 im) (*.f64 2 (-.f64 2 (-.f64 (*.f64 re -2) (pow.f64 re 2))))) 4)
(/.f64 (*.f64 (cos.f64 im) (*.f64 (+.f64 (-.f64 (pow.f64 re 2) -2) (+.f64 re re)) 4)) 8)
(/.f64 (*.f64 (+.f64 (-.f64 (pow.f64 re 2) -2) (+.f64 re re)) (*.f64 2 (cos.f64 im))) 4)
(/.f64 (*.f64 (cos.f64 im) (*.f64 2 (-.f64 2 (-.f64 (*.f64 re -2) (pow.f64 re 2))))) 4)
(pow.f64 (*.f64 (cos.f64 im) (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) 1))) 1)
(*.f64 (cos.f64 im) (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re 1)))
(*.f64 (cos.f64 im) (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) 1)))
(-.f64 re (*.f64 (-.f64 (pow.f64 re 2) -2) -1/2))
(+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re 1))
(+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) 1))
(-.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 -1 (neg.f64 re)))
(+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re 1))
(+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) 1))
(-.f64 (*.f64 1/2 (pow.f64 re 2)) (neg.f64 (+.f64 re 1)))
(+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re 1))
(+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) 1))
(-.f64 (*.f64 1/2 (pow.f64 re 2)) (-.f64 -1 re))
(+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re 1))
(+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) 1))
(-.f64 1 (-.f64 (*.f64 (pow.f64 re 2) -1/2) re))
(-.f64 re (-.f64 (*.f64 (pow.f64 re 2) -1/2) 1))
(-.f64 re (+.f64 (*.f64 (pow.f64 re 2) -1/2) -1))
(+.f64 (-.f64 re (*.f64 (pow.f64 re 2) -1/2)) 1)
(-.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) 1) (neg.f64 re))
(+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re 1))
(+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) 1))
(-.f64 (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) 1)) 0)
(+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re 1))
(+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) 1))
(-.f64 0 (+.f64 -1 (-.f64 (*.f64 (pow.f64 re 2) -1/2) re)))
(+.f64 1 (neg.f64 (-.f64 (*.f64 (pow.f64 re 2) -1/2) re)))
(neg.f64 (+.f64 -1 (-.f64 (*.f64 (pow.f64 re 2) -1/2) re)))
(neg.f64 (-.f64 (*.f64 (pow.f64 re 2) -1/2) (+.f64 re 1)))
(-.f64 (+.f64 re (*.f64 1/2 (pow.f64 re 2))) -1)
(+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re 1))
(+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) 1))
(-.f64 (+.f64 re 1) (*.f64 (pow.f64 re 2) -1/2))
(-.f64 re (-.f64 (*.f64 (pow.f64 re 2) -1/2) 1))
(-.f64 re (+.f64 (*.f64 (pow.f64 re 2) -1/2) -1))
(+.f64 (-.f64 re (*.f64 (pow.f64 re 2) -1/2)) 1)
(-.f64 (-.f64 (pow.f64 re 2) -2) (+.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) 1) (neg.f64 re)))
(+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re 1))
(+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) 1))
(-.f64 (+.f64 re re) (+.f64 re (*.f64 (-.f64 (pow.f64 re 2) -2) -1/2)))
(+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re 1))
(+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) 1))
(-.f64 (-.f64 (/.f64 re 2) (/.f64 (-.f64 (pow.f64 re 2) -2) -4)) (+.f64 (/.f64 (-.f64 (pow.f64 re 2) -2) -4) (/.f64 re -2)))
(+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re 1))
(+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) 1))
(-.f64 (-.f64 (/.f64 re 2) (/.f64 (-.f64 (pow.f64 re 2) -2) -4)) (/.f64 (-.f64 (neg.f64 re) (+.f64 re (-.f64 (pow.f64 re 2) -2))) 4))
(+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re 1))
(+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) 1))
(-.f64 (/.f64 (-.f64 (pow.f64 re 2) -2) 4) (-.f64 -1/2 (-.f64 re (/.f64 (pow.f64 re 2) -4))))
(+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re 1))
(+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) 1))
(-.f64 (/.f64 (-.f64 (pow.f64 re 2) -2) 4) (+.f64 (/.f64 (-.f64 (pow.f64 re 2) -2) -4) (neg.f64 re)))
(+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re 1))
(+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) 1))
(-.f64 (/.f64 (-.f64 (pow.f64 re 2) -2) 4) (/.f64 (-.f64 (+.f64 -1 (-.f64 (*.f64 (pow.f64 re 2) -1/2) re)) re) 2))
(-.f64 (-.f64 (/.f64 (pow.f64 re 2) 4) -1/2) (/.f64 (-.f64 (+.f64 -1 (-.f64 (*.f64 (pow.f64 re 2) -1/2) re)) re) 2))
(-.f64 (/.f64 (pow.f64 re 2) 4) (+.f64 -1/2 (/.f64 (-.f64 (-.f64 (*.f64 (pow.f64 re 2) -1/2) re) (+.f64 re 1)) 2)))
(-.f64 (/.f64 re 2) (/.f64 (-.f64 (-.f64 (neg.f64 (pow.f64 re 2)) 2) re) 2))
(+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re 1))
(+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) 1))
(-.f64 (/.f64 re 2) (-.f64 -1 (/.f64 (+.f64 re (pow.f64 re 2)) 2)))
(+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re 1))
(+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) 1))
(-.f64 (/.f64 re 2) (+.f64 (/.f64 re -2) (*.f64 (-.f64 (pow.f64 re 2) -2) -1/2)))
(+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re 1))
(+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) 1))
(-.f64 (/.f64 re 2) (/.f64 (-.f64 0 (+.f64 re (-.f64 (pow.f64 re 2) -2))) 2))
(+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re 1))
(+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) 1))
(-.f64 (/.f64 (pow.f64 re 2) 4) (+.f64 (+.f64 -1 (neg.f64 re)) (/.f64 (pow.f64 re 2) -4)))
(+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re 1))
(+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) 1))
(-.f64 (/.f64 (pow.f64 re 2) 4) (-.f64 -1 (-.f64 re (/.f64 (pow.f64 re 2) -4))))
(+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re 1))
(+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) 1))
(-.f64 (/.f64 (pow.f64 re 2) 4) (-.f64 0 (+.f64 (+.f64 re 1) (/.f64 (pow.f64 re 2) 4))))
(+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re 1))
(+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) 1))
(-.f64 (/.f64 (pow.f64 re 2) 4) (-.f64 (neg.f64 re) (+.f64 1 (/.f64 (pow.f64 re 2) 4))))
(+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re 1))
(+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) 1))
(-.f64 (/.f64 (pow.f64 re 2) 4) (/.f64 (+.f64 (+.f64 -1 (neg.f64 re)) (+.f64 -1 (-.f64 (*.f64 (pow.f64 re 2) -1/2) re))) 2))
(-.f64 (/.f64 (pow.f64 re 2) 4) (/.f64 (+.f64 (-.f64 (*.f64 (pow.f64 re 2) -1/2) re) (+.f64 -1 (+.f64 -1 (neg.f64 re)))) 2))
(-.f64 (/.f64 (pow.f64 re 2) 4) (/.f64 (+.f64 (-.f64 (*.f64 (pow.f64 re 2) -1/2) re) (+.f64 (neg.f64 re) -2)) 2))
(-.f64 (/.f64 (pow.f64 re 2) 4) (-.f64 (/.f64 (-.f64 (*.f64 (pow.f64 re 2) -1/2) (+.f64 re re)) 2) 1))
(-.f64 (+.f64 1 (/.f64 re 2)) (/.f64 (-.f64 (neg.f64 (pow.f64 re 2)) re) 2))
(+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re 1))
(+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) 1))
(-.f64 (-.f64 re (/.f64 (pow.f64 re 2) -4)) (+.f64 -1 (/.f64 (pow.f64 re 2) -4)))
(+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re 1))
(+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) 1))
(-.f64 (/.f64 (+.f64 re (pow.f64 re 2)) 2) (+.f64 -1 (/.f64 re -2)))
(-.f64 (/.f64 (+.f64 re (pow.f64 re 2)) 2) (/.f64 (-.f64 -2 re) 2))
(+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re 1))
(+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) 1))
(-.f64 (+.f64 (+.f64 re 1) (/.f64 (pow.f64 re 2) 4)) (/.f64 (pow.f64 re 2) -4))
(+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re 1))
(+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) 1))
(-.f64 (-.f64 (/.f64 re 2) (/.f64 (pow.f64 re 2) -4)) (/.f64 (+.f64 -1 (+.f64 -1 (-.f64 (*.f64 (pow.f64 re 2) -1/2) re))) 2))
(-.f64 (/.f64 (pow.f64 re 2) 4) (/.f64 (+.f64 (-.f64 (*.f64 (pow.f64 re 2) -1/2) re) (+.f64 -1 (+.f64 -1 (neg.f64 re)))) 2))
(-.f64 (/.f64 (pow.f64 re 2) 4) (/.f64 (+.f64 (-.f64 (*.f64 (pow.f64 re 2) -1/2) re) (+.f64 (neg.f64 re) -2)) 2))
(-.f64 (/.f64 (pow.f64 re 2) 4) (-.f64 (/.f64 (-.f64 (*.f64 (pow.f64 re 2) -1/2) (+.f64 re re)) 2) 1))
(-.f64 (/.f64 (+.f64 re (+.f64 re (+.f64 (pow.f64 re 2) 1))) 2) -1/2)
(-.f64 (/.f64 (+.f64 (+.f64 (pow.f64 re 2) 1) (+.f64 re re)) 2) -1/2)
(-.f64 (+.f64 (/.f64 (+.f64 (pow.f64 re 2) 1) 2) re) -1/2)
(-.f64 (+.f64 re (+.f64 1/2 (*.f64 1/2 (pow.f64 re 2)))) -1/2)
(-.f64 (/.f64 (+.f64 re (+.f64 (pow.f64 re 2) 1)) 2) (-.f64 (/.f64 re -2) 1/2))
(-.f64 1/2 (-.f64 (/.f64 re -2) (/.f64 (+.f64 re (+.f64 (pow.f64 re 2) 1)) 2)))
(-.f64 1/2 (+.f64 (neg.f64 re) (neg.f64 (+.f64 1/2 (*.f64 1/2 (pow.f64 re 2))))))
(-.f64 (+.f64 (/.f64 (+.f64 re (pow.f64 re 2)) 2) 1) (/.f64 re -2))
(-.f64 (/.f64 (+.f64 re (pow.f64 re 2)) 2) (+.f64 -1 (/.f64 re -2)))
(-.f64 (+.f64 1 (/.f64 (pow.f64 re 2) 4)) (+.f64 (neg.f64 re) (/.f64 (pow.f64 re 2) -4)))
(+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re 1))
(+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) 1))
(-.f64 (+.f64 re (/.f64 (-.f64 (pow.f64 re 2) -2) 4)) (/.f64 (-.f64 (pow.f64 re 2) -2) -4))
(+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re 1))
(+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) 1))
(-.f64 (-.f64 (/.f64 (pow.f64 re 2) 4) (+.f64 -1 (neg.f64 re))) (/.f64 (pow.f64 re 2) -4))
(+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re 1))
(+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) 1))
(-.f64 (/.f64 (/.f64 (*.f64 (+.f64 (-.f64 (pow.f64 re 2) -2) (+.f64 re re)) 3/2) 2) 2) (/.f64 (+.f64 (/.f64 (-.f64 (pow.f64 re 2) -2) -4) (/.f64 re -2)) 2))
(-.f64 (/.f64 (*.f64 (+.f64 (-.f64 (pow.f64 re 2) -2) (+.f64 re re)) 3/2) 4) (+.f64 (/.f64 (-.f64 (pow.f64 re 2) -2) -8) (/.f64 (/.f64 re -2) 2)))
(-.f64 (/.f64 (*.f64 (+.f64 (-.f64 (pow.f64 re 2) -2) (+.f64 re re)) 3/2) 4) (+.f64 (/.f64 (-.f64 (pow.f64 re 2) -2) -8) (/.f64 re -4)))
(+.f64 (-.f64 (/.f64 (*.f64 (-.f64 2 (-.f64 (*.f64 re -2) (pow.f64 re 2))) 3/2) 4) (/.f64 (-.f64 -2 (pow.f64 re 2)) 8)) (/.f64 re 4))
(-.f64 (/.f64 (/.f64 (+.f64 (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) 1)) (-.f64 (pow.f64 re 2) -2)) 2) 2) (/.f64 (+.f64 (-.f64 (/.f64 re -2) re) (/.f64 (-.f64 (pow.f64 re 2) -2) -4)) 2))
(-.f64 (/.f64 (+.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re 1)) (-.f64 (pow.f64 re 2) -2)) 4) (/.f64 (+.f64 (-.f64 (/.f64 (pow.f64 re 2) -4) 1/2) (-.f64 (/.f64 re -2) re)) 2))
(-.f64 (/.f64 (+.f64 re (+.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) 1) (-.f64 (pow.f64 re 2) -2))) 4) (+.f64 (/.f64 (-.f64 (pow.f64 re 2) -2) -8) (/.f64 (*.f64 re -3/2) 2)))
(-.f64 (/.f64 (+.f64 re (+.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) 1) (-.f64 (pow.f64 re 2) -2))) 4) (+.f64 (/.f64 (-.f64 -2 (pow.f64 re 2)) 8) (/.f64 (*.f64 re -3/2) 2)))
(-.f64 (/.f64 (/.f64 (+.f64 (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) 1)) (pow.f64 re 2)) 2) 2) (/.f64 (+.f64 (+.f64 (+.f64 -1 (neg.f64 re)) (/.f64 re -2)) (/.f64 (-.f64 (pow.f64 re 2) -2) -4)) 2))
(-.f64 (/.f64 (+.f64 (pow.f64 re 2) (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re 1))) 4) (+.f64 (/.f64 (+.f64 (+.f64 -1 (neg.f64 re)) (/.f64 re -2)) 2) (/.f64 (-.f64 (pow.f64 re 2) -2) -8)))
(-.f64 (/.f64 (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 (pow.f64 re 2) 1))) 4) (+.f64 (/.f64 (-.f64 (pow.f64 re 2) -2) -8) (+.f64 (/.f64 re -4) (/.f64 (-.f64 -1 re) 2))))
(-.f64 (+.f64 (/.f64 (pow.f64 re 2) 8) (+.f64 1/4 (/.f64 (+.f64 re (pow.f64 re 2)) 4))) (+.f64 (/.f64 (-.f64 -2 (pow.f64 re 2)) 8) (+.f64 -1/2 (/.f64 (*.f64 re -3/2) 2))))
(-.f64 (/.f64 (+.f64 re (-.f64 (/.f64 re 2) (/.f64 (-.f64 (pow.f64 re 2) -2) -4))) 2) (/.f64 (-.f64 (/.f64 re -2) (/.f64 (*.f64 (-.f64 (pow.f64 re 2) -2) 3/2) 2)) 2))
(/.f64 (-.f64 (+.f64 re (-.f64 (/.f64 re 2) (-.f64 (/.f64 (pow.f64 re 2) -4) 1/2))) (-.f64 (/.f64 re -2) (/.f64 (*.f64 (-.f64 (pow.f64 re 2) -2) 3/2) 2))) 2)
(-.f64 (/.f64 (+.f64 re (-.f64 1/2 (-.f64 (/.f64 (pow.f64 re 2) -4) (/.f64 re 2)))) 2) (-.f64 (/.f64 re -4) (/.f64 (*.f64 (-.f64 (pow.f64 re 2) -2) 3/2) 4)))
(-.f64 (+.f64 (/.f64 re 2) (+.f64 1/4 (-.f64 (/.f64 re 4) (/.f64 (pow.f64 re 2) -8)))) (/.f64 (-.f64 (neg.f64 re) (*.f64 (-.f64 (pow.f64 re 2) -2) 3/2)) 4))
(-.f64 (/.f64 (+.f64 (+.f64 re (*.f64 1/2 (pow.f64 re 2))) (-.f64 (/.f64 re 2) (/.f64 (-.f64 (pow.f64 re 2) -2) -4))) 2) (/.f64 (+.f64 (+.f64 -3/2 (/.f64 (pow.f64 re 2) -4)) (/.f64 re -2)) 2))
(/.f64 (-.f64 (+.f64 (+.f64 re (*.f64 1/2 (pow.f64 re 2))) (-.f64 (/.f64 re 2) (-.f64 (/.f64 (pow.f64 re 2) -4) 1/2))) (+.f64 (/.f64 re -2) (+.f64 (/.f64 (pow.f64 re 2) -4) -3/2))) 2)
(-.f64 (/.f64 (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) (-.f64 1/2 (-.f64 (/.f64 (pow.f64 re 2) -4) (/.f64 re 2))))) 2) (+.f64 (+.f64 -3/4 (/.f64 (pow.f64 re 2) -8)) (/.f64 re -4)))
(+.f64 (+.f64 (-.f64 (/.f64 (-.f64 (-.f64 re (/.f64 (pow.f64 re 2) -2)) (+.f64 (-.f64 (*.f64 re -2) (pow.f64 re 2)) -1)) 4) (/.f64 (pow.f64 re 2) -8)) 3/4) (/.f64 re 4))
(-.f64 (/.f64 (*.f64 (+.f64 (-.f64 (pow.f64 re 2) -2) (+.f64 re re)) 3/2) 4) (/.f64 (+.f64 -1 (-.f64 (*.f64 (pow.f64 re 2) -1/2) re)) 4))
(/.f64 (-.f64 (*.f64 (+.f64 (-.f64 (pow.f64 re 2) -2) (+.f64 re re)) 3/2) (+.f64 -1 (-.f64 (*.f64 (pow.f64 re 2) -1/2) re))) 4)
(/.f64 (+.f64 (-.f64 (*.f64 (+.f64 (-.f64 (pow.f64 re 2) -2) (+.f64 re re)) 3/2) (-.f64 (*.f64 (pow.f64 re 2) -1/2) re)) 1) 4)
(+.f64 (/.f64 (-.f64 re (-.f64 (*.f64 (pow.f64 re 2) -1/2) (*.f64 (-.f64 2 (-.f64 (*.f64 re -2) (pow.f64 re 2))) 3/2))) 4) 1/4)
(-.f64 (/.f64 (+.f64 (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) 1)) (+.f64 re (+.f64 re (pow.f64 re 2)))) 4) (/.f64 (+.f64 -3 (-.f64 (*.f64 (pow.f64 re 2) -1/2) re)) 4))
(/.f64 (-.f64 (+.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re 1)) (+.f64 re (+.f64 re (pow.f64 re 2)))) (+.f64 (-.f64 (*.f64 (pow.f64 re 2) -1/2) re) -3)) 4)
(/.f64 (+.f64 (-.f64 (+.f64 re (+.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) 1) (+.f64 re (+.f64 re (pow.f64 re 2))))) (-.f64 (*.f64 (pow.f64 re 2) -1/2) re)) 3) 4)
(+.f64 (/.f64 (-.f64 re (-.f64 (*.f64 (pow.f64 re 2) -1/2) (-.f64 (-.f64 re (/.f64 (pow.f64 re 2) -2)) (+.f64 (-.f64 (*.f64 re -2) (pow.f64 re 2)) -1)))) 4) 3/4)
(-.f64 (-.f64 re re) (+.f64 -1 (-.f64 (*.f64 (pow.f64 re 2) -1/2) re)))
(+.f64 1 (neg.f64 (-.f64 (*.f64 (pow.f64 re 2) -1/2) re)))
(neg.f64 (+.f64 -1 (-.f64 (*.f64 (pow.f64 re 2) -1/2) re)))
(neg.f64 (-.f64 (*.f64 (pow.f64 re 2) -1/2) (+.f64 re 1)))
(-.f64 (-.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) 1) (+.f64 (*.f64 1/2 (pow.f64 re 2)) 1)) (+.f64 -1 (-.f64 (*.f64 (pow.f64 re 2) -1/2) re)))
(+.f64 1 (neg.f64 (-.f64 (*.f64 (pow.f64 re 2) -1/2) re)))
(neg.f64 (+.f64 -1 (-.f64 (*.f64 (pow.f64 re 2) -1/2) re)))
(neg.f64 (-.f64 (*.f64 (pow.f64 re 2) -1/2) (+.f64 re 1)))
(*.f64 1/2 (+.f64 (-.f64 (pow.f64 re 2) -2) (+.f64 re re)))
(*.f64 1/2 (-.f64 2 (-.f64 (*.f64 re -2) (pow.f64 re 2))))
(*.f64 2 (-.f64 (/.f64 re 2) (/.f64 (-.f64 (pow.f64 re 2) -2) -4)))
(*.f64 2 (-.f64 (/.f64 re 2) (-.f64 (/.f64 (pow.f64 re 2) -4) 1/2)))
(*.f64 2 (-.f64 1/2 (-.f64 (/.f64 (pow.f64 re 2) -4) (/.f64 re 2))))
(*.f64 2 (+.f64 1/2 (+.f64 (/.f64 re 2) (/.f64 (pow.f64 re 2) 4))))
(*.f64 1 (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) 1)))
(+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re 1))
(+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) 1))
(*.f64 (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) 1)) 1)
(+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re 1))
(+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) 1))
(*.f64 (+.f64 (-.f64 (pow.f64 re 2) -2) (+.f64 re re)) 1/2)
(*.f64 1/2 (+.f64 (-.f64 (pow.f64 re 2) -2) (+.f64 re re)))
(*.f64 1/2 (-.f64 2 (-.f64 (*.f64 re -2) (pow.f64 re 2))))
(*.f64 (-.f64 (/.f64 re 2) (/.f64 (-.f64 (pow.f64 re 2) -2) -4)) 2)
(*.f64 2 (-.f64 (/.f64 re 2) (-.f64 (/.f64 (pow.f64 re 2) -4) 1/2)))
(*.f64 2 (-.f64 1/2 (-.f64 (/.f64 (pow.f64 re 2) -4) (/.f64 re 2))))
(*.f64 2 (+.f64 1/2 (+.f64 (/.f64 re 2) (/.f64 (pow.f64 re 2) 4))))
(*.f64 1/4 (+.f64 (*.f64 2 (-.f64 (pow.f64 re 2) -2)) (*.f64 re 4)))
(*.f64 1/4 (-.f64 (*.f64 re 4) (/.f64 (-.f64 (pow.f64 re 2) -2) -1/2)))
(*.f64 1/4 (+.f64 (*.f64 re 4) (*.f64 2 (-.f64 (pow.f64 re 2) -2))))
(*.f64 (+.f64 (*.f64 2 (-.f64 (pow.f64 re 2) -2)) (*.f64 re 4)) 1/4)
(*.f64 1/4 (+.f64 (*.f64 2 (-.f64 (pow.f64 re 2) -2)) (*.f64 re 4)))
(*.f64 1/4 (-.f64 (*.f64 re 4) (/.f64 (-.f64 (pow.f64 re 2) -2) -1/2)))
(*.f64 1/4 (+.f64 (*.f64 re 4) (*.f64 2 (-.f64 (pow.f64 re 2) -2))))
(*.f64 (*.f64 (+.f64 (-.f64 (pow.f64 re 2) -2) (+.f64 re re)) 4) 1/8)
(*.f64 1/2 (+.f64 (-.f64 (pow.f64 re 2) -2) (+.f64 re re)))
(*.f64 1/2 (-.f64 2 (-.f64 (*.f64 re -2) (pow.f64 re 2))))
(/.f64 (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) 1)) 1)
(+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re 1))
(+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) 1))
(/.f64 (+.f64 (-.f64 (pow.f64 re 2) -2) (+.f64 re re)) 2)
(+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re 1))
(+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) 1))
(/.f64 (+.f64 (*.f64 2 (-.f64 (pow.f64 re 2) -2)) (*.f64 re 4)) 4)
(/.f64 (-.f64 (*.f64 re 4) (/.f64 (-.f64 (pow.f64 re 2) -2) -1/2)) 4)
(+.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) 1) (/.f64 (*.f64 re 4) 4))
(/.f64 (*.f64 (+.f64 (-.f64 (pow.f64 re 2) -2) (+.f64 re re)) 4) 8)
(/.f64 (*.f64 4 (+.f64 (-.f64 (pow.f64 re 2) -2) (+.f64 re re))) 8)
(/.f64 (*.f64 4 (-.f64 2 (-.f64 (*.f64 re -2) (pow.f64 re 2)))) 8)
(/.f64 (+.f64 (*.f64 (-.f64 (pow.f64 re 2) -2) 4) (*.f64 2 (*.f64 re 4))) 8)
(/.f64 (+.f64 (*.f64 2 (-.f64 (pow.f64 re 2) -2)) (*.f64 re 4)) 4)
(/.f64 (-.f64 (*.f64 re 4) (/.f64 (-.f64 (pow.f64 re 2) -2) -1/2)) 4)
(+.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) 1) (/.f64 (*.f64 re 4) 4))
(/.f64 (+.f64 (*.f64 2 (*.f64 re 4)) (*.f64 (-.f64 (pow.f64 re 2) -2) 4)) 8)
(/.f64 (+.f64 (*.f64 2 (-.f64 (pow.f64 re 2) -2)) (*.f64 re 4)) 4)
(/.f64 (-.f64 (*.f64 re 4) (/.f64 (-.f64 (pow.f64 re 2) -2) -1/2)) 4)
(+.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) 1) (/.f64 (*.f64 re 4) 4))
(/.f64 (+.f64 (pow.f64 re 2) (*.f64 (+.f64 re 1) 2)) 2)
(/.f64 (+.f64 (pow.f64 re 2) (*.f64 2 (+.f64 re 1))) 2)
(/.f64 (-.f64 (pow.f64 re 2) (/.f64 (-.f64 -1 re) 1/2)) 2)
(/.f64 (+.f64 (*.f64 (+.f64 re 1) 2) (pow.f64 re 2)) 2)
(/.f64 (+.f64 (pow.f64 re 2) (*.f64 2 (+.f64 re 1))) 2)
(/.f64 (-.f64 (pow.f64 re 2) (/.f64 (-.f64 -1 re) 1/2)) 2)
(/.f64 (-.f64 (*.f64 re 4) (neg.f64 (*.f64 2 (-.f64 (pow.f64 re 2) -2)))) 4)
(/.f64 (+.f64 (*.f64 2 (-.f64 (pow.f64 re 2) -2)) (*.f64 re 4)) 4)
(/.f64 (-.f64 (*.f64 re 4) (/.f64 (-.f64 (pow.f64 re 2) -2) -1/2)) 4)
(+.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) 1) (/.f64 (*.f64 re 4) 4))
(/.f64 (-.f64 (*.f64 2 (-.f64 (pow.f64 re 2) -2)) (neg.f64 (*.f64 re 4))) 4)
(/.f64 (+.f64 (*.f64 2 (-.f64 (pow.f64 re 2) -2)) (*.f64 re 4)) 4)
(/.f64 (-.f64 (*.f64 re 4) (/.f64 (-.f64 (pow.f64 re 2) -2) -1/2)) 4)
(+.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) 1) (/.f64 (*.f64 re 4) 4))
(/.f64 (-.f64 (*.f64 (+.f64 re 1) 2) (neg.f64 (pow.f64 re 2))) 2)
(/.f64 (+.f64 (pow.f64 re 2) (*.f64 2 (+.f64 re 1))) 2)
(/.f64 (-.f64 (pow.f64 re 2) (/.f64 (-.f64 -1 re) 1/2)) 2)
(pow.f64 (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) 1)) 1)
(+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re 1))
(+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) 1))
(neg.f64 (+.f64 -1 (-.f64 (*.f64 (pow.f64 re 2) -1/2) re)))
(+.f64 1 (neg.f64 (-.f64 (*.f64 (pow.f64 re 2) -1/2) re)))
(neg.f64 (-.f64 (*.f64 (pow.f64 re 2) -1/2) (+.f64 re 1)))
(-.f64 (*.f64 1/2 (pow.f64 re 2)) -1)
(+.f64 (*.f64 1/2 (pow.f64 re 2)) 1)
(-.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) 1) 0)
(+.f64 (*.f64 1/2 (pow.f64 re 2)) 1)
(-.f64 0 (*.f64 (-.f64 (pow.f64 re 2) -2) -1/2))
(+.f64 (*.f64 1/2 (pow.f64 re 2)) 1)
(-.f64 (/.f64 (-.f64 (pow.f64 re 2) -2) 4) (/.f64 (-.f64 (pow.f64 re 2) -2) -4))
(+.f64 (*.f64 1/2 (pow.f64 re 2)) 1)
(-.f64 (/.f64 (pow.f64 re 2) 4) (/.f64 (+.f64 (*.f64 (pow.f64 re 2) -1/2) -2) 2))
(+.f64 (*.f64 1/2 (pow.f64 re 2)) 1)
(-.f64 (/.f64 (pow.f64 re 2) 4) (/.f64 (+.f64 -1 (*.f64 (-.f64 (pow.f64 re 2) -2) -1/2)) 2))
(+.f64 (*.f64 1/2 (pow.f64 re 2)) 1)
(-.f64 (-.f64 (/.f64 (-.f64 (pow.f64 re 2) -2) 4) -1/2) (/.f64 (pow.f64 re 2) -4))
(+.f64 (*.f64 1/2 (pow.f64 re 2)) 1)
(-.f64 (/.f64 (+.f64 (pow.f64 re 2) 1) 2) -1/2)
(+.f64 (*.f64 1/2 (pow.f64 re 2)) 1)
(-.f64 (/.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (/.f64 (-.f64 (pow.f64 re 2) -2) 4)) 2) (/.f64 (+.f64 -3/2 (/.f64 (pow.f64 re 2) -4)) 2))
(/.f64 (-.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (-.f64 (/.f64 (pow.f64 re 2) 4) -1/2)) (+.f64 (/.f64 (pow.f64 re 2) -4) -3/2)) 2)
(-.f64 (+.f64 (/.f64 (*.f64 1/2 (pow.f64 re 2)) 2) (/.f64 (-.f64 (pow.f64 re 2) -2) 8)) (+.f64 -3/4 (/.f64 (pow.f64 re 2) -8)))
(/.f64 (-.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 (pow.f64 re 2) 1)) (+.f64 (*.f64 (pow.f64 re 2) -1/2) -3)) 4)
(-.f64 (/.f64 (/.f64 (*.f64 (-.f64 (pow.f64 re 2) -2) 3/2) 2) 2) (/.f64 (/.f64 (-.f64 (pow.f64 re 2) -2) -4) 2))
(+.f64 (*.f64 1/2 (pow.f64 re 2)) 1)
(-.f64 (/.f64 (*.f64 (-.f64 (pow.f64 re 2) -2) 3/2) 4) (/.f64 (*.f64 (-.f64 (pow.f64 re 2) -2) -1/2) 4))
(+.f64 (*.f64 1/2 (pow.f64 re 2)) 1)
(-.f64 (/.f64 (+.f64 (pow.f64 re 2) (+.f64 (*.f64 1/2 (pow.f64 re 2)) 1)) 4) (/.f64 (+.f64 -3 (*.f64 (pow.f64 re 2) -1/2)) 4))
(/.f64 (-.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (-.f64 (/.f64 (pow.f64 re 2) 4) -1/2)) (+.f64 (/.f64 (pow.f64 re 2) -4) -3/2)) 2)
(-.f64 (+.f64 (/.f64 (*.f64 1/2 (pow.f64 re 2)) 2) (/.f64 (-.f64 (pow.f64 re 2) -2) 8)) (+.f64 -3/4 (/.f64 (pow.f64 re 2) -8)))
(/.f64 (-.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 (pow.f64 re 2) 1)) (+.f64 (*.f64 (pow.f64 re 2) -1/2) -3)) 4)
(*.f64 1/2 (-.f64 (pow.f64 re 2) -2))
(+.f64 (*.f64 1/2 (pow.f64 re 2)) 1)
(*.f64 2 (*.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) 1) 1/2))
(+.f64 (*.f64 1/2 (pow.f64 re 2)) 1)
(*.f64 1 (+.f64 (*.f64 1/2 (pow.f64 re 2)) 1))
(+.f64 (*.f64 1/2 (pow.f64 re 2)) 1)
(*.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) 1) 1)
(+.f64 (*.f64 1/2 (pow.f64 re 2)) 1)
(*.f64 (*.f64 (-.f64 (pow.f64 re 2) -2) -1/2) -1)
(+.f64 (*.f64 1/2 (pow.f64 re 2)) 1)
(*.f64 (-.f64 (pow.f64 re 2) -2) 1/2)
(+.f64 (*.f64 1/2 (pow.f64 re 2)) 1)
(*.f64 1/4 (*.f64 2 (-.f64 (pow.f64 re 2) -2)))
(+.f64 (*.f64 1/2 (pow.f64 re 2)) 1)
(*.f64 (*.f64 2 (-.f64 (pow.f64 re 2) -2)) 1/4)
(+.f64 (*.f64 1/2 (pow.f64 re 2)) 1)
(*.f64 (*.f64 (-.f64 (pow.f64 re 2) -2) 4) 1/8)
(+.f64 (*.f64 1/2 (pow.f64 re 2)) 1)
(/.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) 1) 1)
(+.f64 (*.f64 1/2 (pow.f64 re 2)) 1)
(/.f64 (*.f64 (-.f64 (pow.f64 re 2) -2) -1/2) -1)
(+.f64 (*.f64 1/2 (pow.f64 re 2)) 1)
(/.f64 (-.f64 (pow.f64 re 2) -2) 2)
(+.f64 (*.f64 1/2 (pow.f64 re 2)) 1)
(/.f64 (*.f64 2 (-.f64 (pow.f64 re 2) -2)) 4)
(+.f64 (*.f64 1/2 (pow.f64 re 2)) 1)
(/.f64 (*.f64 (-.f64 (pow.f64 re 2) -2) 4) 8)
(+.f64 (*.f64 1/2 (pow.f64 re 2)) 1)
(pow.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) 1) 1)
(+.f64 (*.f64 1/2 (pow.f64 re 2)) 1)
(neg.f64 (*.f64 (-.f64 (pow.f64 re 2) -2) -1/2))
(+.f64 (*.f64 1/2 (pow.f64 re 2)) 1)

localize5.0ms (0%)

Compiler

Compiled 7 to 5 computations (28.6% saved)

localize81.0ms (0.4%)

Local error

Found 3 expressions with local error:

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

Compiled 66 to 45 computations (31.8% saved)

series22.0ms (0.1%)

Counts
2 → 48
Calls

12 calls:

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

rewrite297.0ms (1.4%)

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

Useful iterations: 3 (0.0ms)

IterNodesCost
01686
110886
222586
367670
4289070
Stop Event
node limit
Counts
2 → 55
Calls
Call 1
Inputs
(*.f64 (cos.f64 im) (+.f64 (+.f64 re (*.f64 1/2 (pow.f64 re 2))) 1/2))
(-.f64 (*.f64 (cos.f64 im) (+.f64 (+.f64 re (*.f64 1/2 (pow.f64 re 2))) 1/2)) (/.f64 (cos.f64 im) -2))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (cos.f64 im) (+.f64 re (+.f64 1/2 (*.f64 1/2 (pow.f64 re 2))))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (cos.f64 im) (+.f64 re (+.f64 1/2 (*.f64 1/2 (pow.f64 re 2))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (*.f64 (cos.f64 im) (+.f64 re (+.f64 1/2 (*.f64 1/2 (pow.f64 re 2))))) 2) (/.f64 (*.f64 (cos.f64 im) (+.f64 re (+.f64 1/2 (*.f64 1/2 (pow.f64 re 2))))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (cos.f64 im) (+.f64 re (+.f64 1/2 (*.f64 1/2 (pow.f64 re 2))))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (*.f64 (cos.f64 im) (+.f64 re (+.f64 1/2 (*.f64 1/2 (pow.f64 re 2))))) 2) (/.f64 (neg.f64 (*.f64 (cos.f64 im) (+.f64 re (+.f64 1/2 (*.f64 1/2 (pow.f64 re 2)))))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cos.f64 im) (+.f64 re (+.f64 1/2 (*.f64 1/2 (pow.f64 re 2))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cos.f64 im) (+.f64 1/2 (-.f64 1/2 (-.f64 (*.f64 re -2) (pow.f64 re 2))))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cos.f64 im) (*.f64 (+.f64 re (+.f64 1/2 (*.f64 1/2 (pow.f64 re 2)))) 4)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 (cos.f64 im) (+.f64 re (+.f64 1/2 (*.f64 1/2 (pow.f64 re 2))))) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 (cos.f64 im) 4) (*.f64 (+.f64 re (+.f64 1/2 (*.f64 1/2 (pow.f64 re 2)))) 4)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 (cos.f64 im) -1/2) (*.f64 (+.f64 re (+.f64 1/2 (*.f64 1/2 (pow.f64 re 2)))) 4)) -2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 (cos.f64 im) -1/2) (*.f64 2 (*.f64 (+.f64 re (+.f64 1/2 (*.f64 1/2 (pow.f64 re 2)))) 4))) -4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 (cos.f64 im) -1/2) (+.f64 1/2 (-.f64 1/2 (-.f64 (*.f64 re -2) (pow.f64 re 2))))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (cos.f64 im) (+.f64 re (+.f64 1/2 (*.f64 1/2 (pow.f64 re 2))))) 1)))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (cos.f64 im) (+.f64 re (+.f64 1/2 (*.f64 1/2 (pow.f64 re 2))))) (*.f64 (cos.f64 im) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (cos.f64 im) (+.f64 (+.f64 re (*.f64 1/2 (pow.f64 re 2))) 1)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (cos.f64 im) (+.f64 (+.f64 re (*.f64 1/2 (pow.f64 re 2))) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (cos.f64 im) 1/2) (*.f64 (cos.f64 im) (+.f64 re (+.f64 1/2 (*.f64 1/2 (pow.f64 re 2))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (cos.f64 im) 1/2) (neg.f64 (neg.f64 (*.f64 (cos.f64 im) (+.f64 re (+.f64 1/2 (*.f64 1/2 (pow.f64 re 2))))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (cos.f64 im) (-.f64 (+.f64 1/2 (-.f64 1/2 (-.f64 (*.f64 re -2) (pow.f64 re 2)))) -1/2)) (neg.f64 (*.f64 (cos.f64 im) (+.f64 re (+.f64 1/2 (*.f64 1/2 (pow.f64 re 2)))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (neg.f64 (*.f64 (cos.f64 im) (+.f64 re (+.f64 1/2 (*.f64 1/2 (pow.f64 re 2)))))) (*.f64 (cos.f64 im) (-.f64 (+.f64 1/2 (-.f64 1/2 (-.f64 (*.f64 re -2) (pow.f64 re 2)))) -1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (*.f64 (cos.f64 im) (+.f64 re (+.f64 1/2 (*.f64 1/2 (pow.f64 re 2))))) (/.f64 (cos.f64 im) 4)) (/.f64 (cos.f64 im) 4))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (cos.f64 im) 4) (+.f64 (*.f64 (cos.f64 im) (+.f64 re (+.f64 1/2 (*.f64 1/2 (pow.f64 re 2))))) (/.f64 (cos.f64 im) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (*.f64 (cos.f64 im) (+.f64 (+.f64 re (*.f64 1/2 (pow.f64 re 2))) 1)) 2) (/.f64 (*.f64 (cos.f64 im) (+.f64 (+.f64 re (*.f64 1/2 (pow.f64 re 2))) 1)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (*.f64 (cos.f64 im) (+.f64 re (+.f64 1/2 (*.f64 1/2 (pow.f64 re 2))))) 2) (/.f64 (*.f64 (cos.f64 im) (-.f64 (+.f64 re (+.f64 1/2 (*.f64 1/2 (pow.f64 re 2)))) -1)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (*.f64 (cos.f64 im) (-.f64 (+.f64 re (+.f64 1/2 (*.f64 1/2 (pow.f64 re 2)))) -1)) 2) (/.f64 (*.f64 (cos.f64 im) (+.f64 re (+.f64 1/2 (*.f64 1/2 (pow.f64 re 2))))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (neg.f64 (neg.f64 (*.f64 (cos.f64 im) (+.f64 re (+.f64 1/2 (*.f64 1/2 (pow.f64 re 2))))))) (*.f64 (cos.f64 im) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cos.f64 im) (+.f64 (+.f64 re (*.f64 1/2 (pow.f64 re 2))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 (*.f64 (cos.f64 im) 2) (+.f64 (+.f64 re (*.f64 1/2 (pow.f64 re 2))) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (-.f64 (*.f64 (cos.f64 im) (*.f64 (+.f64 re (+.f64 1/2 (*.f64 1/2 (pow.f64 re 2)))) 4)) (*.f64 (cos.f64 im) (+.f64 (+.f64 1/2 (-.f64 1/2 (-.f64 (*.f64 re -2) (pow.f64 re 2)))) -1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cos.f64 im) (+.f64 (+.f64 re (*.f64 1/2 (pow.f64 re 2))) 1)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (*.f64 (cos.f64 im) (+.f64 (+.f64 re (*.f64 1/2 (pow.f64 re 2))) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cos.f64 im) 2) (-.f64 (+.f64 (/.f64 (pow.f64 re 2) 4) (/.f64 (+.f64 re 1/2) 2)) -1/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (neg.f64 (*.f64 (cos.f64 im) (+.f64 (+.f64 re (*.f64 1/2 (pow.f64 re 2))) 1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (*.f64 (cos.f64 im) (+.f64 (+.f64 re (*.f64 1/2 (pow.f64 re 2))) 1))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cos.f64 im) 1/2) (+.f64 (+.f64 1/2 (-.f64 1/2 (-.f64 (*.f64 re -2) (pow.f64 re 2)))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cos.f64 im) 1/2) (+.f64 1 (+.f64 1/2 (-.f64 1/2 (-.f64 (*.f64 re -2) (pow.f64 re 2))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (*.f64 (cos.f64 im) 2) (+.f64 (+.f64 re (*.f64 1/2 (pow.f64 re 2))) 1)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (+.f64 re (*.f64 1/2 (pow.f64 re 2))) 1) (cos.f64 im))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (*.f64 (cos.f64 im) (+.f64 (+.f64 re (*.f64 1/2 (pow.f64 re 2))) 1)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (*.f64 (cos.f64 im) (+.f64 (+.f64 re (*.f64 1/2 (pow.f64 re 2))) 1)) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (*.f64 (*.f64 (cos.f64 im) (+.f64 (+.f64 re (*.f64 1/2 (pow.f64 re 2))) 1)) 4)) 1/8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cos.f64 im) (+.f64 (+.f64 re (*.f64 1/2 (pow.f64 re 2))) 1)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 (cos.f64 im) (+.f64 (+.f64 re (*.f64 1/2 (pow.f64 re 2))) 1))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 (cos.f64 im) 2) (+.f64 (+.f64 re (*.f64 1/2 (pow.f64 re 2))) 1)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 (cos.f64 im) (+.f64 (+.f64 re (*.f64 1/2 (pow.f64 re 2))) 1)) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (*.f64 (cos.f64 im) (+.f64 (+.f64 re (*.f64 1/2 (pow.f64 re 2))) 1)) 4)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 (cos.f64 im) (*.f64 (+.f64 re (+.f64 1/2 (*.f64 1/2 (pow.f64 re 2)))) 4)) (*.f64 (cos.f64 im) (+.f64 (+.f64 1/2 (-.f64 1/2 (-.f64 (*.f64 re -2) (pow.f64 re 2)))) -1))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 (*.f64 (cos.f64 im) (+.f64 re (+.f64 1/2 (*.f64 1/2 (pow.f64 re 2))))) 8) (*.f64 (cos.f64 im) -4)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 (*.f64 (cos.f64 im) (+.f64 re (+.f64 1/2 (*.f64 1/2 (pow.f64 re 2))))) 8) (*.f64 (cos.f64 im) (+.f64 (*.f64 (+.f64 re (+.f64 1/2 (*.f64 1/2 (pow.f64 re 2)))) 4) -2))) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (/.f64 (-.f64 (cos.f64 (neg.f64 im)) (cos.f64 im)) -2) (*.f64 -2 (*.f64 (cos.f64 im) (+.f64 (+.f64 re (*.f64 1/2 (pow.f64 re 2))) 1)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 (cos.f64 im) (+.f64 (+.f64 1/2 (-.f64 1/2 (-.f64 (*.f64 re -2) (pow.f64 re 2)))) -1)) (*.f64 (cos.f64 im) -2)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 (cos.f64 im) (+.f64 (*.f64 (+.f64 re (+.f64 1/2 (*.f64 1/2 (pow.f64 re 2)))) 4) -2)) (*.f64 (cos.f64 im) -4)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (cos.f64 im) (+.f64 (+.f64 re (*.f64 1/2 (pow.f64 re 2))) 1)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (neg.f64 (*.f64 (cos.f64 im) (+.f64 (+.f64 re (*.f64 1/2 (pow.f64 re 2))) 1))))))))

simplify580.0ms (2.8%)

Algorithm
egg-herbie
Rules
1232×rational_best-simplify-51
1208×rational_best-simplify-63
1170×rational_best-simplify-57
1130×rational_best-simplify-3
836×rational_best-simplify-1
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01935257
14734701
211224661
333554291
Stop Event
node limit
Counts
103 → 148
Calls
Call 1
Inputs
(+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 1/2 re))
(+.f64 (*.f64 -1/2 (*.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 1/2 re)) (pow.f64 im 2))) (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 1/2 re)))
(+.f64 (*.f64 -1/2 (*.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 1/2 re)) (pow.f64 im 2))) (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 1/2 (+.f64 (*.f64 1/24 (*.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 1/2 re)) (pow.f64 im 4))) re))))
(+.f64 (*.f64 -1/2 (*.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 1/2 re)) (pow.f64 im 2))) (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 1/2 (+.f64 (*.f64 -1/720 (*.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 1/2 re)) (pow.f64 im 6))) (+.f64 (*.f64 1/24 (*.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 1/2 re)) (pow.f64 im 4))) re)))))
(*.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 1/2 re)) (cos.f64 im))
(*.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 1/2 re)) (cos.f64 im))
(*.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 1/2 re)) (cos.f64 im))
(*.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 1/2 re)) (cos.f64 im))
(*.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 1/2 re)) (cos.f64 im))
(*.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 1/2 re)) (cos.f64 im))
(*.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 1/2 re)) (cos.f64 im))
(*.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 1/2 re)) (cos.f64 im))
(*.f64 1/2 (cos.f64 im))
(+.f64 (*.f64 (cos.f64 im) re) (*.f64 1/2 (cos.f64 im)))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 im) (pow.f64 re 2))) (+.f64 (*.f64 (cos.f64 im) re) (*.f64 1/2 (cos.f64 im))))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 im) (pow.f64 re 2))) (+.f64 (*.f64 (cos.f64 im) re) (*.f64 1/2 (cos.f64 im))))
(*.f64 1/2 (*.f64 (cos.f64 im) (pow.f64 re 2)))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 im) (pow.f64 re 2))) (*.f64 (cos.f64 im) re))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 im) (pow.f64 re 2))) (+.f64 (*.f64 (cos.f64 im) re) (*.f64 1/2 (cos.f64 im))))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 im) (pow.f64 re 2))) (+.f64 (*.f64 (cos.f64 im) re) (*.f64 1/2 (cos.f64 im))))
(*.f64 1/2 (*.f64 (cos.f64 im) (pow.f64 re 2)))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 im) (pow.f64 re 2))) (*.f64 (cos.f64 im) re))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 im) (pow.f64 re 2))) (+.f64 (*.f64 (cos.f64 im) re) (*.f64 1/2 (cos.f64 im))))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 im) (pow.f64 re 2))) (+.f64 (*.f64 (cos.f64 im) re) (*.f64 1/2 (cos.f64 im))))
(+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 1 re))
(+.f64 (*.f64 (-.f64 (*.f64 -1/2 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 1/2 re))) 1/4) (pow.f64 im 2)) (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 1 re)))
(+.f64 (*.f64 (-.f64 (*.f64 -1/2 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 1/2 re))) 1/4) (pow.f64 im 2)) (+.f64 (*.f64 (+.f64 1/48 (*.f64 1/24 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 1/2 re)))) (pow.f64 im 4)) (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 1 re))))
(+.f64 (*.f64 (-.f64 (*.f64 -1/2 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 1/2 re))) 1/4) (pow.f64 im 2)) (+.f64 (*.f64 (-.f64 (*.f64 -1/720 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 1/2 re))) 1/1440) (pow.f64 im 6)) (+.f64 (*.f64 (+.f64 1/48 (*.f64 1/24 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 1/2 re)))) (pow.f64 im 4)) (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 1 re)))))
(-.f64 (*.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 1/2 re)) (cos.f64 im)) (*.f64 -1/2 (cos.f64 im)))
(-.f64 (*.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 1/2 re)) (cos.f64 im)) (*.f64 -1/2 (cos.f64 im)))
(-.f64 (*.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 1/2 re)) (cos.f64 im)) (*.f64 -1/2 (cos.f64 im)))
(-.f64 (*.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 1/2 re)) (cos.f64 im)) (*.f64 -1/2 (cos.f64 im)))
(-.f64 (*.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 1/2 re)) (cos.f64 im)) (*.f64 -1/2 (cos.f64 im)))
(-.f64 (*.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 1/2 re)) (cos.f64 im)) (*.f64 -1/2 (cos.f64 im)))
(-.f64 (*.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 1/2 re)) (cos.f64 im)) (*.f64 -1/2 (cos.f64 im)))
(-.f64 (*.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 1/2 re)) (cos.f64 im)) (*.f64 -1/2 (cos.f64 im)))
(-.f64 (*.f64 1/2 (cos.f64 im)) (*.f64 -1/2 (cos.f64 im)))
(-.f64 (+.f64 (*.f64 (cos.f64 im) re) (*.f64 1/2 (cos.f64 im))) (*.f64 -1/2 (cos.f64 im)))
(-.f64 (+.f64 (*.f64 1/2 (*.f64 (cos.f64 im) (pow.f64 re 2))) (+.f64 (*.f64 (cos.f64 im) re) (*.f64 1/2 (cos.f64 im)))) (*.f64 -1/2 (cos.f64 im)))
(-.f64 (+.f64 (*.f64 1/2 (*.f64 (cos.f64 im) (pow.f64 re 2))) (+.f64 (*.f64 (cos.f64 im) re) (*.f64 1/2 (cos.f64 im)))) (*.f64 -1/2 (cos.f64 im)))
(*.f64 1/2 (*.f64 (cos.f64 im) (pow.f64 re 2)))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 im) (pow.f64 re 2))) (*.f64 (cos.f64 im) re))
(-.f64 (+.f64 (*.f64 1/2 (*.f64 (cos.f64 im) (pow.f64 re 2))) (+.f64 (*.f64 (cos.f64 im) re) (*.f64 1/2 (cos.f64 im)))) (*.f64 -1/2 (cos.f64 im)))
(-.f64 (+.f64 (*.f64 1/2 (*.f64 (cos.f64 im) (pow.f64 re 2))) (+.f64 (*.f64 (cos.f64 im) re) (*.f64 1/2 (cos.f64 im)))) (*.f64 -1/2 (cos.f64 im)))
(*.f64 1/2 (*.f64 (cos.f64 im) (pow.f64 re 2)))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 im) (pow.f64 re 2))) (*.f64 (cos.f64 im) re))
(-.f64 (+.f64 (*.f64 1/2 (*.f64 (cos.f64 im) (pow.f64 re 2))) (+.f64 (*.f64 (cos.f64 im) re) (*.f64 1/2 (cos.f64 im)))) (*.f64 -1/2 (cos.f64 im)))
(-.f64 (+.f64 (*.f64 1/2 (*.f64 (cos.f64 im) (pow.f64 re 2))) (+.f64 (*.f64 (cos.f64 im) re) (*.f64 1/2 (cos.f64 im)))) (*.f64 -1/2 (cos.f64 im)))
(+.f64 (*.f64 (cos.f64 im) (+.f64 re (+.f64 1/2 (*.f64 1/2 (pow.f64 re 2))))) 0)
(+.f64 0 (*.f64 (cos.f64 im) (+.f64 re (+.f64 1/2 (*.f64 1/2 (pow.f64 re 2))))))
(+.f64 (/.f64 (*.f64 (cos.f64 im) (+.f64 re (+.f64 1/2 (*.f64 1/2 (pow.f64 re 2))))) 2) (/.f64 (*.f64 (cos.f64 im) (+.f64 re (+.f64 1/2 (*.f64 1/2 (pow.f64 re 2))))) 2))
(-.f64 (*.f64 (cos.f64 im) (+.f64 re (+.f64 1/2 (*.f64 1/2 (pow.f64 re 2))))) 0)
(-.f64 (/.f64 (*.f64 (cos.f64 im) (+.f64 re (+.f64 1/2 (*.f64 1/2 (pow.f64 re 2))))) 2) (/.f64 (neg.f64 (*.f64 (cos.f64 im) (+.f64 re (+.f64 1/2 (*.f64 1/2 (pow.f64 re 2)))))) 2))
(/.f64 (*.f64 (cos.f64 im) (+.f64 re (+.f64 1/2 (*.f64 1/2 (pow.f64 re 2))))) 1)
(/.f64 (*.f64 (cos.f64 im) (+.f64 1/2 (-.f64 1/2 (-.f64 (*.f64 re -2) (pow.f64 re 2))))) 2)
(/.f64 (*.f64 (cos.f64 im) (*.f64 (+.f64 re (+.f64 1/2 (*.f64 1/2 (pow.f64 re 2)))) 4)) 4)
(/.f64 (*.f64 (*.f64 (cos.f64 im) (+.f64 re (+.f64 1/2 (*.f64 1/2 (pow.f64 re 2))))) 8) 8)
(/.f64 (*.f64 (*.f64 (cos.f64 im) 4) (*.f64 (+.f64 re (+.f64 1/2 (*.f64 1/2 (pow.f64 re 2)))) 4)) 16)
(/.f64 (*.f64 (*.f64 (cos.f64 im) -1/2) (*.f64 (+.f64 re (+.f64 1/2 (*.f64 1/2 (pow.f64 re 2)))) 4)) -2)
(/.f64 (*.f64 (*.f64 (cos.f64 im) -1/2) (*.f64 2 (*.f64 (+.f64 re (+.f64 1/2 (*.f64 1/2 (pow.f64 re 2)))) 4))) -4)
(/.f64 (*.f64 (*.f64 (cos.f64 im) -1/2) (+.f64 1/2 (-.f64 1/2 (-.f64 (*.f64 re -2) (pow.f64 re 2))))) -1)
(pow.f64 (*.f64 (cos.f64 im) (+.f64 re (+.f64 1/2 (*.f64 1/2 (pow.f64 re 2))))) 1)
(+.f64 (*.f64 (cos.f64 im) (+.f64 re (+.f64 1/2 (*.f64 1/2 (pow.f64 re 2))))) (*.f64 (cos.f64 im) 1/2))
(+.f64 (*.f64 (cos.f64 im) (+.f64 (+.f64 re (*.f64 1/2 (pow.f64 re 2))) 1)) 0)
(+.f64 0 (*.f64 (cos.f64 im) (+.f64 (+.f64 re (*.f64 1/2 (pow.f64 re 2))) 1)))
(+.f64 (*.f64 (cos.f64 im) 1/2) (*.f64 (cos.f64 im) (+.f64 re (+.f64 1/2 (*.f64 1/2 (pow.f64 re 2))))))
(+.f64 (*.f64 (cos.f64 im) 1/2) (neg.f64 (neg.f64 (*.f64 (cos.f64 im) (+.f64 re (+.f64 1/2 (*.f64 1/2 (pow.f64 re 2))))))))
(+.f64 (*.f64 (cos.f64 im) (-.f64 (+.f64 1/2 (-.f64 1/2 (-.f64 (*.f64 re -2) (pow.f64 re 2)))) -1/2)) (neg.f64 (*.f64 (cos.f64 im) (+.f64 re (+.f64 1/2 (*.f64 1/2 (pow.f64 re 2)))))))
(+.f64 (neg.f64 (*.f64 (cos.f64 im) (+.f64 re (+.f64 1/2 (*.f64 1/2 (pow.f64 re 2)))))) (*.f64 (cos.f64 im) (-.f64 (+.f64 1/2 (-.f64 1/2 (-.f64 (*.f64 re -2) (pow.f64 re 2)))) -1/2)))
(+.f64 (+.f64 (*.f64 (cos.f64 im) (+.f64 re (+.f64 1/2 (*.f64 1/2 (pow.f64 re 2))))) (/.f64 (cos.f64 im) 4)) (/.f64 (cos.f64 im) 4))
(+.f64 (/.f64 (cos.f64 im) 4) (+.f64 (*.f64 (cos.f64 im) (+.f64 re (+.f64 1/2 (*.f64 1/2 (pow.f64 re 2))))) (/.f64 (cos.f64 im) 4)))
(+.f64 (/.f64 (*.f64 (cos.f64 im) (+.f64 (+.f64 re (*.f64 1/2 (pow.f64 re 2))) 1)) 2) (/.f64 (*.f64 (cos.f64 im) (+.f64 (+.f64 re (*.f64 1/2 (pow.f64 re 2))) 1)) 2))
(+.f64 (/.f64 (*.f64 (cos.f64 im) (+.f64 re (+.f64 1/2 (*.f64 1/2 (pow.f64 re 2))))) 2) (/.f64 (*.f64 (cos.f64 im) (-.f64 (+.f64 re (+.f64 1/2 (*.f64 1/2 (pow.f64 re 2)))) -1)) 2))
(+.f64 (/.f64 (*.f64 (cos.f64 im) (-.f64 (+.f64 re (+.f64 1/2 (*.f64 1/2 (pow.f64 re 2)))) -1)) 2) (/.f64 (*.f64 (cos.f64 im) (+.f64 re (+.f64 1/2 (*.f64 1/2 (pow.f64 re 2))))) 2))
(+.f64 (neg.f64 (neg.f64 (*.f64 (cos.f64 im) (+.f64 re (+.f64 1/2 (*.f64 1/2 (pow.f64 re 2))))))) (*.f64 (cos.f64 im) 1/2))
(*.f64 (cos.f64 im) (+.f64 (+.f64 re (*.f64 1/2 (pow.f64 re 2))) 1))
(*.f64 1/2 (*.f64 (*.f64 (cos.f64 im) 2) (+.f64 (+.f64 re (*.f64 1/2 (pow.f64 re 2))) 1)))
(*.f64 1/2 (-.f64 (*.f64 (cos.f64 im) (*.f64 (+.f64 re (+.f64 1/2 (*.f64 1/2 (pow.f64 re 2)))) 4)) (*.f64 (cos.f64 im) (+.f64 (+.f64 1/2 (-.f64 1/2 (-.f64 (*.f64 re -2) (pow.f64 re 2)))) -1))))
(*.f64 (*.f64 (cos.f64 im) (+.f64 (+.f64 re (*.f64 1/2 (pow.f64 re 2))) 1)) 1)
(*.f64 1 (*.f64 (cos.f64 im) (+.f64 (+.f64 re (*.f64 1/2 (pow.f64 re 2))) 1)))
(*.f64 (*.f64 (cos.f64 im) 2) (-.f64 (+.f64 (/.f64 (pow.f64 re 2) 4) (/.f64 (+.f64 re 1/2) 2)) -1/4))
(*.f64 -1 (neg.f64 (*.f64 (cos.f64 im) (+.f64 (+.f64 re (*.f64 1/2 (pow.f64 re 2))) 1))))
(*.f64 (neg.f64 (*.f64 (cos.f64 im) (+.f64 (+.f64 re (*.f64 1/2 (pow.f64 re 2))) 1))) -1)
(*.f64 (*.f64 (cos.f64 im) 1/2) (+.f64 (+.f64 1/2 (-.f64 1/2 (-.f64 (*.f64 re -2) (pow.f64 re 2)))) 1))
(*.f64 (*.f64 (cos.f64 im) 1/2) (+.f64 1 (+.f64 1/2 (-.f64 1/2 (-.f64 (*.f64 re -2) (pow.f64 re 2))))))
(*.f64 (*.f64 (*.f64 (cos.f64 im) 2) (+.f64 (+.f64 re (*.f64 1/2 (pow.f64 re 2))) 1)) 1/2)
(*.f64 (+.f64 (+.f64 re (*.f64 1/2 (pow.f64 re 2))) 1) (cos.f64 im))
(*.f64 1/4 (*.f64 (*.f64 (cos.f64 im) (+.f64 (+.f64 re (*.f64 1/2 (pow.f64 re 2))) 1)) 4))
(*.f64 (*.f64 (*.f64 (cos.f64 im) (+.f64 (+.f64 re (*.f64 1/2 (pow.f64 re 2))) 1)) 4) 1/4)
(*.f64 (*.f64 2 (*.f64 (*.f64 (cos.f64 im) (+.f64 (+.f64 re (*.f64 1/2 (pow.f64 re 2))) 1)) 4)) 1/8)
(/.f64 (*.f64 (cos.f64 im) (+.f64 (+.f64 re (*.f64 1/2 (pow.f64 re 2))) 1)) 1)
(/.f64 (neg.f64 (*.f64 (cos.f64 im) (+.f64 (+.f64 re (*.f64 1/2 (pow.f64 re 2))) 1))) -1)
(/.f64 (*.f64 (*.f64 (cos.f64 im) 2) (+.f64 (+.f64 re (*.f64 1/2 (pow.f64 re 2))) 1)) 2)
(/.f64 (*.f64 (*.f64 (cos.f64 im) (+.f64 (+.f64 re (*.f64 1/2 (pow.f64 re 2))) 1)) 4) 4)
(/.f64 (*.f64 2 (*.f64 (*.f64 (cos.f64 im) (+.f64 (+.f64 re (*.f64 1/2 (pow.f64 re 2))) 1)) 4)) 8)
(/.f64 (-.f64 (*.f64 (cos.f64 im) (*.f64 (+.f64 re (+.f64 1/2 (*.f64 1/2 (pow.f64 re 2)))) 4)) (*.f64 (cos.f64 im) (+.f64 (+.f64 1/2 (-.f64 1/2 (-.f64 (*.f64 re -2) (pow.f64 re 2)))) -1))) 2)
(/.f64 (-.f64 (*.f64 (*.f64 (cos.f64 im) (+.f64 re (+.f64 1/2 (*.f64 1/2 (pow.f64 re 2))))) 8) (*.f64 (cos.f64 im) -4)) 8)
(/.f64 (-.f64 (*.f64 (*.f64 (cos.f64 im) (+.f64 re (+.f64 1/2 (*.f64 1/2 (pow.f64 re 2))))) 8) (*.f64 (cos.f64 im) (+.f64 (*.f64 (+.f64 re (+.f64 1/2 (*.f64 1/2 (pow.f64 re 2)))) 4) -2))) 4)
(/.f64 (-.f64 (/.f64 (-.f64 (cos.f64 (neg.f64 im)) (cos.f64 im)) -2) (*.f64 -2 (*.f64 (cos.f64 im) (+.f64 (+.f64 re (*.f64 1/2 (pow.f64 re 2))) 1)))) 2)
(/.f64 (-.f64 (*.f64 (cos.f64 im) (+.f64 (+.f64 1/2 (-.f64 1/2 (-.f64 (*.f64 re -2) (pow.f64 re 2)))) -1)) (*.f64 (cos.f64 im) -2)) 2)
(/.f64 (-.f64 (*.f64 (cos.f64 im) (+.f64 (*.f64 (+.f64 re (+.f64 1/2 (*.f64 1/2 (pow.f64 re 2)))) 4) -2)) (*.f64 (cos.f64 im) -4)) 4)
(pow.f64 (*.f64 (cos.f64 im) (+.f64 (+.f64 re (*.f64 1/2 (pow.f64 re 2))) 1)) 1)
(neg.f64 (neg.f64 (*.f64 (cos.f64 im) (+.f64 (+.f64 re (*.f64 1/2 (pow.f64 re 2))) 1))))
Outputs
(+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 1/2 re))
(+.f64 re (+.f64 1/2 (*.f64 1/2 (pow.f64 re 2))))
(+.f64 1/2 (+.f64 re (*.f64 1/2 (pow.f64 re 2))))
(+.f64 (*.f64 -1/2 (*.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 1/2 re)) (pow.f64 im 2))) (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 1/2 re)))
(+.f64 (+.f64 re (+.f64 1/2 (*.f64 1/2 (pow.f64 re 2)))) (*.f64 -1/2 (*.f64 (+.f64 re (+.f64 1/2 (*.f64 1/2 (pow.f64 re 2)))) (pow.f64 im 2))))
(+.f64 (+.f64 1/2 (+.f64 re (*.f64 1/2 (pow.f64 re 2)))) (*.f64 (+.f64 1/2 (+.f64 re (*.f64 1/2 (pow.f64 re 2)))) (*.f64 (pow.f64 im 2) -1/2)))
(+.f64 (+.f64 1/2 re) (+.f64 (*.f64 1/2 (pow.f64 re 2)) (*.f64 (+.f64 re (+.f64 1/2 (*.f64 1/2 (pow.f64 re 2)))) (*.f64 -1/2 (pow.f64 im 2)))))
(*.f64 (+.f64 re (+.f64 1/2 (*.f64 1/2 (pow.f64 re 2)))) (-.f64 (*.f64 -1/2 (pow.f64 im 2)) -1))
(+.f64 (*.f64 -1/2 (*.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 1/2 re)) (pow.f64 im 2))) (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 1/2 (+.f64 (*.f64 1/24 (*.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 1/2 re)) (pow.f64 im 4))) re))))
(+.f64 (*.f64 -1/2 (*.f64 (+.f64 re (+.f64 1/2 (*.f64 1/2 (pow.f64 re 2)))) (pow.f64 im 2))) (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 1/2 (+.f64 re (*.f64 1/24 (*.f64 (+.f64 re (+.f64 1/2 (*.f64 1/2 (pow.f64 re 2)))) (pow.f64 im 4)))))))
(+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 (+.f64 1/2 (+.f64 re (*.f64 (+.f64 1/2 (+.f64 re (*.f64 1/2 (pow.f64 re 2)))) (*.f64 (pow.f64 im 4) 1/24)))) (*.f64 (+.f64 1/2 (+.f64 re (*.f64 1/2 (pow.f64 re 2)))) (*.f64 (pow.f64 im 2) -1/2))))
(+.f64 1/2 (+.f64 (+.f64 re (*.f64 (+.f64 re (+.f64 1/2 (*.f64 1/2 (pow.f64 re 2)))) (*.f64 1/24 (pow.f64 im 4)))) (+.f64 (*.f64 1/2 (pow.f64 re 2)) (*.f64 (+.f64 re (+.f64 1/2 (*.f64 1/2 (pow.f64 re 2)))) (*.f64 -1/2 (pow.f64 im 2))))))
(+.f64 re (+.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (*.f64 (+.f64 re (+.f64 1/2 (*.f64 1/2 (pow.f64 re 2)))) (*.f64 -1/2 (pow.f64 im 2)))) (+.f64 1/2 (*.f64 (+.f64 re (+.f64 1/2 (*.f64 1/2 (pow.f64 re 2)))) (*.f64 1/24 (pow.f64 im 4))))))
(+.f64 (*.f64 -1/2 (*.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 1/2 re)) (pow.f64 im 2))) (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 1/2 (+.f64 (*.f64 -1/720 (*.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 1/2 re)) (pow.f64 im 6))) (+.f64 (*.f64 1/24 (*.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 1/2 re)) (pow.f64 im 4))) re)))))
(+.f64 (*.f64 -1/2 (*.f64 (+.f64 re (+.f64 1/2 (*.f64 1/2 (pow.f64 re 2)))) (pow.f64 im 2))) (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 1/2 (+.f64 (+.f64 re (*.f64 1/24 (*.f64 (+.f64 re (+.f64 1/2 (*.f64 1/2 (pow.f64 re 2)))) (pow.f64 im 4)))) (*.f64 -1/720 (*.f64 (+.f64 re (+.f64 1/2 (*.f64 1/2 (pow.f64 re 2)))) (pow.f64 im 6)))))))
(+.f64 (*.f64 (+.f64 1/2 (+.f64 re (*.f64 1/2 (pow.f64 re 2)))) (*.f64 (pow.f64 im 2) -1/2)) (+.f64 1/2 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 (*.f64 (+.f64 1/2 (+.f64 re (*.f64 1/2 (pow.f64 re 2)))) (*.f64 (pow.f64 im 4) 1/24)) (+.f64 re (*.f64 (+.f64 1/2 (+.f64 re (*.f64 1/2 (pow.f64 re 2)))) (*.f64 (pow.f64 im 6) -1/720)))))))
(+.f64 1/2 (+.f64 (+.f64 (*.f64 (+.f64 re (+.f64 1/2 (*.f64 1/2 (pow.f64 re 2)))) (*.f64 1/24 (pow.f64 im 4))) (+.f64 re (*.f64 (+.f64 re (+.f64 1/2 (*.f64 1/2 (pow.f64 re 2)))) (*.f64 -1/720 (pow.f64 im 6))))) (+.f64 (*.f64 1/2 (pow.f64 re 2)) (*.f64 (+.f64 re (+.f64 1/2 (*.f64 1/2 (pow.f64 re 2)))) (*.f64 -1/2 (pow.f64 im 2))))))
(+.f64 (+.f64 1/2 re) (+.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (*.f64 (+.f64 re (+.f64 1/2 (*.f64 1/2 (pow.f64 re 2)))) (*.f64 -1/2 (pow.f64 im 2)))) (*.f64 (+.f64 re (+.f64 1/2 (*.f64 1/2 (pow.f64 re 2)))) (+.f64 (*.f64 1/24 (pow.f64 im 4)) (*.f64 -1/720 (pow.f64 im 6))))))
(*.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 1/2 re)) (cos.f64 im))
(*.f64 (+.f64 re (+.f64 1/2 (*.f64 1/2 (pow.f64 re 2)))) (cos.f64 im))
(*.f64 (+.f64 1/2 (+.f64 re (*.f64 1/2 (pow.f64 re 2)))) (cos.f64 im))
(*.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 1/2 re)) (cos.f64 im))
(*.f64 (+.f64 re (+.f64 1/2 (*.f64 1/2 (pow.f64 re 2)))) (cos.f64 im))
(*.f64 (+.f64 1/2 (+.f64 re (*.f64 1/2 (pow.f64 re 2)))) (cos.f64 im))
(*.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 1/2 re)) (cos.f64 im))
(*.f64 (+.f64 re (+.f64 1/2 (*.f64 1/2 (pow.f64 re 2)))) (cos.f64 im))
(*.f64 (+.f64 1/2 (+.f64 re (*.f64 1/2 (pow.f64 re 2)))) (cos.f64 im))
(*.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 1/2 re)) (cos.f64 im))
(*.f64 (+.f64 re (+.f64 1/2 (*.f64 1/2 (pow.f64 re 2)))) (cos.f64 im))
(*.f64 (+.f64 1/2 (+.f64 re (*.f64 1/2 (pow.f64 re 2)))) (cos.f64 im))
(*.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 1/2 re)) (cos.f64 im))
(*.f64 (+.f64 re (+.f64 1/2 (*.f64 1/2 (pow.f64 re 2)))) (cos.f64 im))
(*.f64 (+.f64 1/2 (+.f64 re (*.f64 1/2 (pow.f64 re 2)))) (cos.f64 im))
(*.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 1/2 re)) (cos.f64 im))
(*.f64 (+.f64 re (+.f64 1/2 (*.f64 1/2 (pow.f64 re 2)))) (cos.f64 im))
(*.f64 (+.f64 1/2 (+.f64 re (*.f64 1/2 (pow.f64 re 2)))) (cos.f64 im))
(*.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 1/2 re)) (cos.f64 im))
(*.f64 (+.f64 re (+.f64 1/2 (*.f64 1/2 (pow.f64 re 2)))) (cos.f64 im))
(*.f64 (+.f64 1/2 (+.f64 re (*.f64 1/2 (pow.f64 re 2)))) (cos.f64 im))
(*.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 1/2 re)) (cos.f64 im))
(*.f64 (+.f64 re (+.f64 1/2 (*.f64 1/2 (pow.f64 re 2)))) (cos.f64 im))
(*.f64 (+.f64 1/2 (+.f64 re (*.f64 1/2 (pow.f64 re 2)))) (cos.f64 im))
(*.f64 1/2 (cos.f64 im))
(+.f64 (*.f64 (cos.f64 im) re) (*.f64 1/2 (cos.f64 im)))
(+.f64 (*.f64 re (cos.f64 im)) (*.f64 1/2 (cos.f64 im)))
(*.f64 (cos.f64 im) (+.f64 1/2 re))
(*.f64 (+.f64 1/2 re) (cos.f64 im))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 im) (pow.f64 re 2))) (+.f64 (*.f64 (cos.f64 im) re) (*.f64 1/2 (cos.f64 im))))
(*.f64 (+.f64 re (+.f64 1/2 (*.f64 1/2 (pow.f64 re 2)))) (cos.f64 im))
(*.f64 (+.f64 1/2 (+.f64 re (*.f64 1/2 (pow.f64 re 2)))) (cos.f64 im))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 im) (pow.f64 re 2))) (+.f64 (*.f64 (cos.f64 im) re) (*.f64 1/2 (cos.f64 im))))
(*.f64 (+.f64 re (+.f64 1/2 (*.f64 1/2 (pow.f64 re 2)))) (cos.f64 im))
(*.f64 (+.f64 1/2 (+.f64 re (*.f64 1/2 (pow.f64 re 2)))) (cos.f64 im))
(*.f64 1/2 (*.f64 (cos.f64 im) (pow.f64 re 2)))
(*.f64 1/2 (*.f64 (pow.f64 re 2) (cos.f64 im)))
(*.f64 (pow.f64 re 2) (*.f64 1/2 (cos.f64 im)))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 im) (pow.f64 re 2))) (*.f64 (cos.f64 im) re))
(+.f64 (*.f64 re (cos.f64 im)) (*.f64 1/2 (*.f64 (pow.f64 re 2) (cos.f64 im))))
(+.f64 (*.f64 re (cos.f64 im)) (*.f64 (pow.f64 re 2) (*.f64 1/2 (cos.f64 im))))
(*.f64 (cos.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2))))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 im) (pow.f64 re 2))) (+.f64 (*.f64 (cos.f64 im) re) (*.f64 1/2 (cos.f64 im))))
(*.f64 (+.f64 re (+.f64 1/2 (*.f64 1/2 (pow.f64 re 2)))) (cos.f64 im))
(*.f64 (+.f64 1/2 (+.f64 re (*.f64 1/2 (pow.f64 re 2)))) (cos.f64 im))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 im) (pow.f64 re 2))) (+.f64 (*.f64 (cos.f64 im) re) (*.f64 1/2 (cos.f64 im))))
(*.f64 (+.f64 re (+.f64 1/2 (*.f64 1/2 (pow.f64 re 2)))) (cos.f64 im))
(*.f64 (+.f64 1/2 (+.f64 re (*.f64 1/2 (pow.f64 re 2)))) (cos.f64 im))
(*.f64 1/2 (*.f64 (cos.f64 im) (pow.f64 re 2)))
(*.f64 1/2 (*.f64 (pow.f64 re 2) (cos.f64 im)))
(*.f64 (pow.f64 re 2) (*.f64 1/2 (cos.f64 im)))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 im) (pow.f64 re 2))) (*.f64 (cos.f64 im) re))
(+.f64 (*.f64 re (cos.f64 im)) (*.f64 1/2 (*.f64 (pow.f64 re 2) (cos.f64 im))))
(+.f64 (*.f64 re (cos.f64 im)) (*.f64 (pow.f64 re 2) (*.f64 1/2 (cos.f64 im))))
(*.f64 (cos.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2))))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 im) (pow.f64 re 2))) (+.f64 (*.f64 (cos.f64 im) re) (*.f64 1/2 (cos.f64 im))))
(*.f64 (+.f64 re (+.f64 1/2 (*.f64 1/2 (pow.f64 re 2)))) (cos.f64 im))
(*.f64 (+.f64 1/2 (+.f64 re (*.f64 1/2 (pow.f64 re 2)))) (cos.f64 im))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 im) (pow.f64 re 2))) (+.f64 (*.f64 (cos.f64 im) re) (*.f64 1/2 (cos.f64 im))))
(*.f64 (+.f64 re (+.f64 1/2 (*.f64 1/2 (pow.f64 re 2)))) (cos.f64 im))
(*.f64 (+.f64 1/2 (+.f64 re (*.f64 1/2 (pow.f64 re 2)))) (cos.f64 im))
(+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 1 re))
(+.f64 re (+.f64 1 (*.f64 1/2 (pow.f64 re 2))))
(+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) 1))
(+.f64 (*.f64 (-.f64 (*.f64 -1/2 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 1/2 re))) 1/4) (pow.f64 im 2)) (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 1 re)))
(+.f64 (+.f64 re (+.f64 1 (*.f64 1/2 (pow.f64 re 2)))) (*.f64 (pow.f64 im 2) (-.f64 (*.f64 (+.f64 re (+.f64 1/2 (*.f64 1/2 (pow.f64 re 2)))) -1/2) 1/4)))
(+.f64 (*.f64 (pow.f64 im 2) (-.f64 (*.f64 (+.f64 1/2 (+.f64 re (*.f64 1/2 (pow.f64 re 2)))) -1/2) 1/4)) (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) 1)))
(+.f64 (*.f64 (pow.f64 im 2) (-.f64 (*.f64 (+.f64 re (+.f64 1/2 (*.f64 1/2 (pow.f64 re 2)))) -1/2) 1/4)) (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) 1)))
(+.f64 re (+.f64 (*.f64 (pow.f64 im 2) (-.f64 (*.f64 (+.f64 re (+.f64 1/2 (*.f64 1/2 (pow.f64 re 2)))) -1/2) 1/4)) (+.f64 (*.f64 1/2 (pow.f64 re 2)) 1)))
(+.f64 (*.f64 (-.f64 (*.f64 -1/2 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 1/2 re))) 1/4) (pow.f64 im 2)) (+.f64 (*.f64 (+.f64 1/48 (*.f64 1/24 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 1/2 re)))) (pow.f64 im 4)) (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 1 re))))
(+.f64 (*.f64 (pow.f64 im 2) (-.f64 (*.f64 (+.f64 re (+.f64 1/2 (*.f64 1/2 (pow.f64 re 2)))) -1/2) 1/4)) (+.f64 (+.f64 re 1) (+.f64 (*.f64 1/2 (pow.f64 re 2)) (*.f64 (pow.f64 im 4) (+.f64 1/48 (*.f64 (+.f64 re (+.f64 1/2 (*.f64 1/2 (pow.f64 re 2)))) 1/24))))))
(+.f64 (*.f64 (pow.f64 im 2) (-.f64 (*.f64 (+.f64 1/2 (+.f64 re (*.f64 1/2 (pow.f64 re 2)))) -1/2) 1/4)) (+.f64 (+.f64 re 1) (+.f64 (*.f64 1/2 (pow.f64 re 2)) (*.f64 (pow.f64 im 4) (+.f64 1/48 (*.f64 (+.f64 1/2 (+.f64 re (*.f64 1/2 (pow.f64 re 2)))) 1/24))))))
(+.f64 (*.f64 (pow.f64 im 2) (-.f64 (*.f64 (+.f64 re (+.f64 1/2 (*.f64 1/2 (pow.f64 re 2)))) -1/2) 1/4)) (+.f64 (*.f64 (pow.f64 im 4) (+.f64 1/48 (*.f64 (+.f64 re (+.f64 1/2 (*.f64 1/2 (pow.f64 re 2)))) 1/24))) (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) 1))))
(+.f64 re (+.f64 (+.f64 (*.f64 (pow.f64 im 2) (-.f64 (*.f64 (+.f64 re (+.f64 1/2 (*.f64 1/2 (pow.f64 re 2)))) -1/2) 1/4)) (*.f64 (pow.f64 im 4) (+.f64 1/48 (*.f64 (+.f64 re (+.f64 1/2 (*.f64 1/2 (pow.f64 re 2)))) 1/24)))) (+.f64 (*.f64 1/2 (pow.f64 re 2)) 1)))
(+.f64 (*.f64 (-.f64 (*.f64 -1/2 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 1/2 re))) 1/4) (pow.f64 im 2)) (+.f64 (*.f64 (-.f64 (*.f64 -1/720 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 1/2 re))) 1/1440) (pow.f64 im 6)) (+.f64 (*.f64 (+.f64 1/48 (*.f64 1/24 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 1/2 re)))) (pow.f64 im 4)) (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 1 re)))))
(+.f64 (+.f64 (+.f64 re 1) (+.f64 (*.f64 1/2 (pow.f64 re 2)) (*.f64 (pow.f64 im 4) (+.f64 1/48 (*.f64 (+.f64 re (+.f64 1/2 (*.f64 1/2 (pow.f64 re 2)))) 1/24))))) (+.f64 (*.f64 (pow.f64 im 6) (-.f64 (*.f64 (+.f64 re (+.f64 1/2 (*.f64 1/2 (pow.f64 re 2)))) -1/720) 1/1440)) (*.f64 (pow.f64 im 2) (-.f64 (*.f64 (+.f64 re (+.f64 1/2 (*.f64 1/2 (pow.f64 re 2)))) -1/2) 1/4))))
(+.f64 (+.f64 (+.f64 re 1) (+.f64 (*.f64 1/2 (pow.f64 re 2)) (*.f64 (pow.f64 im 4) (+.f64 1/48 (*.f64 (+.f64 1/2 (+.f64 re (*.f64 1/2 (pow.f64 re 2)))) 1/24))))) (+.f64 (*.f64 (pow.f64 im 2) (-.f64 (*.f64 (+.f64 1/2 (+.f64 re (*.f64 1/2 (pow.f64 re 2)))) -1/2) 1/4)) (*.f64 (pow.f64 im 6) (-.f64 (*.f64 (+.f64 1/2 (+.f64 re (*.f64 1/2 (pow.f64 re 2)))) -1/720) 1/1440))))
(+.f64 (*.f64 (pow.f64 im 2) (-.f64 (*.f64 (+.f64 re (+.f64 1/2 (*.f64 1/2 (pow.f64 re 2)))) -1/2) 1/4)) (+.f64 (+.f64 re 1) (+.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (*.f64 (pow.f64 im 4) (+.f64 1/48 (*.f64 (+.f64 re (+.f64 1/2 (*.f64 1/2 (pow.f64 re 2)))) 1/24)))) (*.f64 (pow.f64 im 6) (-.f64 (*.f64 (+.f64 re (+.f64 1/2 (*.f64 1/2 (pow.f64 re 2)))) -1/720) 1/1440)))))
(+.f64 (*.f64 (pow.f64 im 2) (-.f64 (*.f64 (+.f64 re (+.f64 1/2 (*.f64 1/2 (pow.f64 re 2)))) -1/2) 1/4)) (+.f64 re (+.f64 (+.f64 (*.f64 (pow.f64 im 4) (+.f64 1/48 (*.f64 (+.f64 re (+.f64 1/2 (*.f64 1/2 (pow.f64 re 2)))) 1/24))) (*.f64 (pow.f64 im 6) (-.f64 (*.f64 (+.f64 re (+.f64 1/2 (*.f64 1/2 (pow.f64 re 2)))) -1/720) 1/1440))) (+.f64 (*.f64 1/2 (pow.f64 re 2)) 1))))
(-.f64 (*.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 1/2 re)) (cos.f64 im)) (*.f64 -1/2 (cos.f64 im)))
(-.f64 (*.f64 (+.f64 re (+.f64 1/2 (*.f64 1/2 (pow.f64 re 2)))) (cos.f64 im)) (*.f64 -1/2 (cos.f64 im)))
(*.f64 (cos.f64 im) (-.f64 (+.f64 1/2 (+.f64 re (*.f64 1/2 (pow.f64 re 2)))) -1/2))
(*.f64 (cos.f64 im) (-.f64 (+.f64 re (+.f64 1/2 (*.f64 1/2 (pow.f64 re 2)))) -1/2))
(*.f64 (cos.f64 im) (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) 1)))
(-.f64 (*.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 1/2 re)) (cos.f64 im)) (*.f64 -1/2 (cos.f64 im)))
(-.f64 (*.f64 (+.f64 re (+.f64 1/2 (*.f64 1/2 (pow.f64 re 2)))) (cos.f64 im)) (*.f64 -1/2 (cos.f64 im)))
(*.f64 (cos.f64 im) (-.f64 (+.f64 1/2 (+.f64 re (*.f64 1/2 (pow.f64 re 2)))) -1/2))
(*.f64 (cos.f64 im) (-.f64 (+.f64 re (+.f64 1/2 (*.f64 1/2 (pow.f64 re 2)))) -1/2))
(*.f64 (cos.f64 im) (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) 1)))
(-.f64 (*.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 1/2 re)) (cos.f64 im)) (*.f64 -1/2 (cos.f64 im)))
(-.f64 (*.f64 (+.f64 re (+.f64 1/2 (*.f64 1/2 (pow.f64 re 2)))) (cos.f64 im)) (*.f64 -1/2 (cos.f64 im)))
(*.f64 (cos.f64 im) (-.f64 (+.f64 1/2 (+.f64 re (*.f64 1/2 (pow.f64 re 2)))) -1/2))
(*.f64 (cos.f64 im) (-.f64 (+.f64 re (+.f64 1/2 (*.f64 1/2 (pow.f64 re 2)))) -1/2))
(*.f64 (cos.f64 im) (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) 1)))
(-.f64 (*.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 1/2 re)) (cos.f64 im)) (*.f64 -1/2 (cos.f64 im)))
(-.f64 (*.f64 (+.f64 re (+.f64 1/2 (*.f64 1/2 (pow.f64 re 2)))) (cos.f64 im)) (*.f64 -1/2 (cos.f64 im)))
(*.f64 (cos.f64 im) (-.f64 (+.f64 1/2 (+.f64 re (*.f64 1/2 (pow.f64 re 2)))) -1/2))
(*.f64 (cos.f64 im) (-.f64 (+.f64 re (+.f64 1/2 (*.f64 1/2 (pow.f64 re 2)))) -1/2))
(*.f64 (cos.f64 im) (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) 1)))
(-.f64 (*.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 1/2 re)) (cos.f64 im)) (*.f64 -1/2 (cos.f64 im)))
(-.f64 (*.f64 (+.f64 re (+.f64 1/2 (*.f64 1/2 (pow.f64 re 2)))) (cos.f64 im)) (*.f64 -1/2 (cos.f64 im)))
(*.f64 (cos.f64 im) (-.f64 (+.f64 1/2 (+.f64 re (*.f64 1/2 (pow.f64 re 2)))) -1/2))
(*.f64 (cos.f64 im) (-.f64 (+.f64 re (+.f64 1/2 (*.f64 1/2 (pow.f64 re 2)))) -1/2))
(*.f64 (cos.f64 im) (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) 1)))
(-.f64 (*.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 1/2 re)) (cos.f64 im)) (*.f64 -1/2 (cos.f64 im)))
(-.f64 (*.f64 (+.f64 re (+.f64 1/2 (*.f64 1/2 (pow.f64 re 2)))) (cos.f64 im)) (*.f64 -1/2 (cos.f64 im)))
(*.f64 (cos.f64 im) (-.f64 (+.f64 1/2 (+.f64 re (*.f64 1/2 (pow.f64 re 2)))) -1/2))
(*.f64 (cos.f64 im) (-.f64 (+.f64 re (+.f64 1/2 (*.f64 1/2 (pow.f64 re 2)))) -1/2))
(*.f64 (cos.f64 im) (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) 1)))
(-.f64 (*.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 1/2 re)) (cos.f64 im)) (*.f64 -1/2 (cos.f64 im)))
(-.f64 (*.f64 (+.f64 re (+.f64 1/2 (*.f64 1/2 (pow.f64 re 2)))) (cos.f64 im)) (*.f64 -1/2 (cos.f64 im)))
(*.f64 (cos.f64 im) (-.f64 (+.f64 1/2 (+.f64 re (*.f64 1/2 (pow.f64 re 2)))) -1/2))
(*.f64 (cos.f64 im) (-.f64 (+.f64 re (+.f64 1/2 (*.f64 1/2 (pow.f64 re 2)))) -1/2))
(*.f64 (cos.f64 im) (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) 1)))
(-.f64 (*.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 1/2 re)) (cos.f64 im)) (*.f64 -1/2 (cos.f64 im)))
(-.f64 (*.f64 (+.f64 re (+.f64 1/2 (*.f64 1/2 (pow.f64 re 2)))) (cos.f64 im)) (*.f64 -1/2 (cos.f64 im)))
(*.f64 (cos.f64 im) (-.f64 (+.f64 1/2 (+.f64 re (*.f64 1/2 (pow.f64 re 2)))) -1/2))
(*.f64 (cos.f64 im) (-.f64 (+.f64 re (+.f64 1/2 (*.f64 1/2 (pow.f64 re 2)))) -1/2))
(*.f64 (cos.f64 im) (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) 1)))
(-.f64 (*.f64 1/2 (cos.f64 im)) (*.f64 -1/2 (cos.f64 im)))
(cos.f64 im)
(-.f64 (+.f64 (*.f64 (cos.f64 im) re) (*.f64 1/2 (cos.f64 im))) (*.f64 -1/2 (cos.f64 im)))
(-.f64 (+.f64 (*.f64 re (cos.f64 im)) (*.f64 1/2 (cos.f64 im))) (*.f64 -1/2 (cos.f64 im)))
(-.f64 (cos.f64 im) (neg.f64 (*.f64 re (cos.f64 im))))
(*.f64 (cos.f64 im) (-.f64 (+.f64 1/2 re) -1/2))
(-.f64 (+.f64 (*.f64 1/2 (*.f64 (cos.f64 im) (pow.f64 re 2))) (+.f64 (*.f64 (cos.f64 im) re) (*.f64 1/2 (cos.f64 im)))) (*.f64 -1/2 (cos.f64 im)))
(-.f64 (*.f64 (+.f64 re (+.f64 1/2 (*.f64 1/2 (pow.f64 re 2)))) (cos.f64 im)) (*.f64 -1/2 (cos.f64 im)))
(*.f64 (cos.f64 im) (-.f64 (+.f64 1/2 (+.f64 re (*.f64 1/2 (pow.f64 re 2)))) -1/2))
(*.f64 (cos.f64 im) (-.f64 (+.f64 re (+.f64 1/2 (*.f64 1/2 (pow.f64 re 2)))) -1/2))
(*.f64 (cos.f64 im) (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) 1)))
(-.f64 (+.f64 (*.f64 1/2 (*.f64 (cos.f64 im) (pow.f64 re 2))) (+.f64 (*.f64 (cos.f64 im) re) (*.f64 1/2 (cos.f64 im)))) (*.f64 -1/2 (cos.f64 im)))
(-.f64 (*.f64 (+.f64 re (+.f64 1/2 (*.f64 1/2 (pow.f64 re 2)))) (cos.f64 im)) (*.f64 -1/2 (cos.f64 im)))
(*.f64 (cos.f64 im) (-.f64 (+.f64 1/2 (+.f64 re (*.f64 1/2 (pow.f64 re 2)))) -1/2))
(*.f64 (cos.f64 im) (-.f64 (+.f64 re (+.f64 1/2 (*.f64 1/2 (pow.f64 re 2)))) -1/2))
(*.f64 (cos.f64 im) (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) 1)))
(*.f64 1/2 (*.f64 (cos.f64 im) (pow.f64 re 2)))
(*.f64 1/2 (*.f64 (pow.f64 re 2) (cos.f64 im)))
(*.f64 (pow.f64 re 2) (*.f64 1/2 (cos.f64 im)))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 im) (pow.f64 re 2))) (*.f64 (cos.f64 im) re))
(+.f64 (*.f64 re (cos.f64 im)) (*.f64 1/2 (*.f64 (pow.f64 re 2) (cos.f64 im))))
(+.f64 (*.f64 re (cos.f64 im)) (*.f64 (pow.f64 re 2) (*.f64 1/2 (cos.f64 im))))
(*.f64 (cos.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2))))
(-.f64 (+.f64 (*.f64 1/2 (*.f64 (cos.f64 im) (pow.f64 re 2))) (+.f64 (*.f64 (cos.f64 im) re) (*.f64 1/2 (cos.f64 im)))) (*.f64 -1/2 (cos.f64 im)))
(-.f64 (*.f64 (+.f64 re (+.f64 1/2 (*.f64 1/2 (pow.f64 re 2)))) (cos.f64 im)) (*.f64 -1/2 (cos.f64 im)))
(*.f64 (cos.f64 im) (-.f64 (+.f64 1/2 (+.f64 re (*.f64 1/2 (pow.f64 re 2)))) -1/2))
(*.f64 (cos.f64 im) (-.f64 (+.f64 re (+.f64 1/2 (*.f64 1/2 (pow.f64 re 2)))) -1/2))
(*.f64 (cos.f64 im) (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) 1)))
(-.f64 (+.f64 (*.f64 1/2 (*.f64 (cos.f64 im) (pow.f64 re 2))) (+.f64 (*.f64 (cos.f64 im) re) (*.f64 1/2 (cos.f64 im)))) (*.f64 -1/2 (cos.f64 im)))
(-.f64 (*.f64 (+.f64 re (+.f64 1/2 (*.f64 1/2 (pow.f64 re 2)))) (cos.f64 im)) (*.f64 -1/2 (cos.f64 im)))
(*.f64 (cos.f64 im) (-.f64 (+.f64 1/2 (+.f64 re (*.f64 1/2 (pow.f64 re 2)))) -1/2))
(*.f64 (cos.f64 im) (-.f64 (+.f64 re (+.f64 1/2 (*.f64 1/2 (pow.f64 re 2)))) -1/2))
(*.f64 (cos.f64 im) (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) 1)))
(*.f64 1/2 (*.f64 (cos.f64 im) (pow.f64 re 2)))
(*.f64 1/2 (*.f64 (pow.f64 re 2) (cos.f64 im)))
(*.f64 (pow.f64 re 2) (*.f64 1/2 (cos.f64 im)))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 im) (pow.f64 re 2))) (*.f64 (cos.f64 im) re))
(+.f64 (*.f64 re (cos.f64 im)) (*.f64 1/2 (*.f64 (pow.f64 re 2) (cos.f64 im))))
(+.f64 (*.f64 re (cos.f64 im)) (*.f64 (pow.f64 re 2) (*.f64 1/2 (cos.f64 im))))
(*.f64 (cos.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2))))
(-.f64 (+.f64 (*.f64 1/2 (*.f64 (cos.f64 im) (pow.f64 re 2))) (+.f64 (*.f64 (cos.f64 im) re) (*.f64 1/2 (cos.f64 im)))) (*.f64 -1/2 (cos.f64 im)))
(-.f64 (*.f64 (+.f64 re (+.f64 1/2 (*.f64 1/2 (pow.f64 re 2)))) (cos.f64 im)) (*.f64 -1/2 (cos.f64 im)))
(*.f64 (cos.f64 im) (-.f64 (+.f64 1/2 (+.f64 re (*.f64 1/2 (pow.f64 re 2)))) -1/2))
(*.f64 (cos.f64 im) (-.f64 (+.f64 re (+.f64 1/2 (*.f64 1/2 (pow.f64 re 2)))) -1/2))
(*.f64 (cos.f64 im) (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) 1)))
(-.f64 (+.f64 (*.f64 1/2 (*.f64 (cos.f64 im) (pow.f64 re 2))) (+.f64 (*.f64 (cos.f64 im) re) (*.f64 1/2 (cos.f64 im)))) (*.f64 -1/2 (cos.f64 im)))
(-.f64 (*.f64 (+.f64 re (+.f64 1/2 (*.f64 1/2 (pow.f64 re 2)))) (cos.f64 im)) (*.f64 -1/2 (cos.f64 im)))
(*.f64 (cos.f64 im) (-.f64 (+.f64 1/2 (+.f64 re (*.f64 1/2 (pow.f64 re 2)))) -1/2))
(*.f64 (cos.f64 im) (-.f64 (+.f64 re (+.f64 1/2 (*.f64 1/2 (pow.f64 re 2)))) -1/2))
(*.f64 (cos.f64 im) (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) 1)))
(+.f64 (*.f64 (cos.f64 im) (+.f64 re (+.f64 1/2 (*.f64 1/2 (pow.f64 re 2))))) 0)
(*.f64 (+.f64 re (+.f64 1/2 (*.f64 1/2 (pow.f64 re 2)))) (cos.f64 im))
(*.f64 (+.f64 1/2 (+.f64 re (*.f64 1/2 (pow.f64 re 2)))) (cos.f64 im))
(+.f64 0 (*.f64 (cos.f64 im) (+.f64 re (+.f64 1/2 (*.f64 1/2 (pow.f64 re 2))))))
(*.f64 (+.f64 re (+.f64 1/2 (*.f64 1/2 (pow.f64 re 2)))) (cos.f64 im))
(*.f64 (+.f64 1/2 (+.f64 re (*.f64 1/2 (pow.f64 re 2)))) (cos.f64 im))
(+.f64 (/.f64 (*.f64 (cos.f64 im) (+.f64 re (+.f64 1/2 (*.f64 1/2 (pow.f64 re 2))))) 2) (/.f64 (*.f64 (cos.f64 im) (+.f64 re (+.f64 1/2 (*.f64 1/2 (pow.f64 re 2))))) 2))
(*.f64 (+.f64 re (+.f64 1/2 (*.f64 1/2 (pow.f64 re 2)))) (cos.f64 im))
(*.f64 (+.f64 1/2 (+.f64 re (*.f64 1/2 (pow.f64 re 2)))) (cos.f64 im))
(-.f64 (*.f64 (cos.f64 im) (+.f64 re (+.f64 1/2 (*.f64 1/2 (pow.f64 re 2))))) 0)
(*.f64 (+.f64 re (+.f64 1/2 (*.f64 1/2 (pow.f64 re 2)))) (cos.f64 im))
(*.f64 (+.f64 1/2 (+.f64 re (*.f64 1/2 (pow.f64 re 2)))) (cos.f64 im))
(-.f64 (/.f64 (*.f64 (cos.f64 im) (+.f64 re (+.f64 1/2 (*.f64 1/2 (pow.f64 re 2))))) 2) (/.f64 (neg.f64 (*.f64 (cos.f64 im) (+.f64 re (+.f64 1/2 (*.f64 1/2 (pow.f64 re 2)))))) 2))
(*.f64 (+.f64 re (+.f64 1/2 (*.f64 1/2 (pow.f64 re 2)))) (cos.f64 im))
(*.f64 (+.f64 1/2 (+.f64 re (*.f64 1/2 (pow.f64 re 2)))) (cos.f64 im))
(/.f64 (*.f64 (cos.f64 im) (+.f64 re (+.f64 1/2 (*.f64 1/2 (pow.f64 re 2))))) 1)
(*.f64 (+.f64 re (+.f64 1/2 (*.f64 1/2 (pow.f64 re 2)))) (cos.f64 im))
(*.f64 (+.f64 1/2 (+.f64 re (*.f64 1/2 (pow.f64 re 2)))) (cos.f64 im))
(/.f64 (*.f64 (cos.f64 im) (+.f64 1/2 (-.f64 1/2 (-.f64 (*.f64 re -2) (pow.f64 re 2))))) 2)
(/.f64 (*.f64 (cos.f64 im) (*.f64 (+.f64 re (+.f64 1/2 (*.f64 1/2 (pow.f64 re 2)))) 4)) 4)
(*.f64 (+.f64 re (+.f64 1/2 (*.f64 1/2 (pow.f64 re 2)))) (cos.f64 im))
(*.f64 (+.f64 1/2 (+.f64 re (*.f64 1/2 (pow.f64 re 2)))) (cos.f64 im))
(/.f64 (*.f64 (*.f64 (cos.f64 im) (+.f64 re (+.f64 1/2 (*.f64 1/2 (pow.f64 re 2))))) 8) 8)
(*.f64 (+.f64 re (+.f64 1/2 (*.f64 1/2 (pow.f64 re 2)))) (cos.f64 im))
(*.f64 (+.f64 1/2 (+.f64 re (*.f64 1/2 (pow.f64 re 2)))) (cos.f64 im))
(/.f64 (*.f64 (*.f64 (cos.f64 im) 4) (*.f64 (+.f64 re (+.f64 1/2 (*.f64 1/2 (pow.f64 re 2)))) 4)) 16)
(*.f64 (+.f64 re (+.f64 1/2 (*.f64 1/2 (pow.f64 re 2)))) (cos.f64 im))
(*.f64 (+.f64 1/2 (+.f64 re (*.f64 1/2 (pow.f64 re 2)))) (cos.f64 im))
(/.f64 (*.f64 (*.f64 (cos.f64 im) -1/2) (*.f64 (+.f64 re (+.f64 1/2 (*.f64 1/2 (pow.f64 re 2)))) 4)) -2)
(*.f64 (+.f64 re (+.f64 1/2 (*.f64 1/2 (pow.f64 re 2)))) (cos.f64 im))
(*.f64 (+.f64 1/2 (+.f64 re (*.f64 1/2 (pow.f64 re 2)))) (cos.f64 im))
(/.f64 (*.f64 (*.f64 (cos.f64 im) -1/2) (*.f64 2 (*.f64 (+.f64 re (+.f64 1/2 (*.f64 1/2 (pow.f64 re 2)))) 4))) -4)
(*.f64 (+.f64 re (+.f64 1/2 (*.f64 1/2 (pow.f64 re 2)))) (cos.f64 im))
(*.f64 (+.f64 1/2 (+.f64 re (*.f64 1/2 (pow.f64 re 2)))) (cos.f64 im))
(/.f64 (*.f64 (*.f64 (cos.f64 im) -1/2) (+.f64 1/2 (-.f64 1/2 (-.f64 (*.f64 re -2) (pow.f64 re 2))))) -1)
(/.f64 (*.f64 (cos.f64 im) (+.f64 1/2 (-.f64 1/2 (-.f64 (*.f64 re -2) (pow.f64 re 2))))) 2)
(pow.f64 (*.f64 (cos.f64 im) (+.f64 re (+.f64 1/2 (*.f64 1/2 (pow.f64 re 2))))) 1)
(*.f64 (+.f64 re (+.f64 1/2 (*.f64 1/2 (pow.f64 re 2)))) (cos.f64 im))
(*.f64 (+.f64 1/2 (+.f64 re (*.f64 1/2 (pow.f64 re 2)))) (cos.f64 im))
(+.f64 (*.f64 (cos.f64 im) (+.f64 re (+.f64 1/2 (*.f64 1/2 (pow.f64 re 2))))) (*.f64 (cos.f64 im) 1/2))
(-.f64 (*.f64 (+.f64 re (+.f64 1/2 (*.f64 1/2 (pow.f64 re 2)))) (cos.f64 im)) (*.f64 -1/2 (cos.f64 im)))
(*.f64 (cos.f64 im) (-.f64 (+.f64 1/2 (+.f64 re (*.f64 1/2 (pow.f64 re 2)))) -1/2))
(*.f64 (cos.f64 im) (-.f64 (+.f64 re (+.f64 1/2 (*.f64 1/2 (pow.f64 re 2)))) -1/2))
(*.f64 (cos.f64 im) (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) 1)))
(+.f64 (*.f64 (cos.f64 im) (+.f64 (+.f64 re (*.f64 1/2 (pow.f64 re 2))) 1)) 0)
(-.f64 (*.f64 (+.f64 re (+.f64 1/2 (*.f64 1/2 (pow.f64 re 2)))) (cos.f64 im)) (*.f64 -1/2 (cos.f64 im)))
(*.f64 (cos.f64 im) (-.f64 (+.f64 1/2 (+.f64 re (*.f64 1/2 (pow.f64 re 2)))) -1/2))
(*.f64 (cos.f64 im) (-.f64 (+.f64 re (+.f64 1/2 (*.f64 1/2 (pow.f64 re 2)))) -1/2))
(*.f64 (cos.f64 im) (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) 1)))
(+.f64 0 (*.f64 (cos.f64 im) (+.f64 (+.f64 re (*.f64 1/2 (pow.f64 re 2))) 1)))
(-.f64 (*.f64 (+.f64 re (+.f64 1/2 (*.f64 1/2 (pow.f64 re 2)))) (cos.f64 im)) (*.f64 -1/2 (cos.f64 im)))
(*.f64 (cos.f64 im) (-.f64 (+.f64 1/2 (+.f64 re (*.f64 1/2 (pow.f64 re 2)))) -1/2))
(*.f64 (cos.f64 im) (-.f64 (+.f64 re (+.f64 1/2 (*.f64 1/2 (pow.f64 re 2)))) -1/2))
(*.f64 (cos.f64 im) (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) 1)))
(+.f64 (*.f64 (cos.f64 im) 1/2) (*.f64 (cos.f64 im) (+.f64 re (+.f64 1/2 (*.f64 1/2 (pow.f64 re 2))))))
(-.f64 (*.f64 (+.f64 re (+.f64 1/2 (*.f64 1/2 (pow.f64 re 2)))) (cos.f64 im)) (*.f64 -1/2 (cos.f64 im)))
(*.f64 (cos.f64 im) (-.f64 (+.f64 1/2 (+.f64 re (*.f64 1/2 (pow.f64 re 2)))) -1/2))
(*.f64 (cos.f64 im) (-.f64 (+.f64 re (+.f64 1/2 (*.f64 1/2 (pow.f64 re 2)))) -1/2))
(*.f64 (cos.f64 im) (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) 1)))
(+.f64 (*.f64 (cos.f64 im) 1/2) (neg.f64 (neg.f64 (*.f64 (cos.f64 im) (+.f64 re (+.f64 1/2 (*.f64 1/2 (pow.f64 re 2))))))))
(-.f64 (*.f64 (+.f64 re (+.f64 1/2 (*.f64 1/2 (pow.f64 re 2)))) (cos.f64 im)) (*.f64 -1/2 (cos.f64 im)))
(*.f64 (cos.f64 im) (-.f64 (+.f64 1/2 (+.f64 re (*.f64 1/2 (pow.f64 re 2)))) -1/2))
(*.f64 (cos.f64 im) (-.f64 (+.f64 re (+.f64 1/2 (*.f64 1/2 (pow.f64 re 2)))) -1/2))
(*.f64 (cos.f64 im) (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) 1)))
(+.f64 (*.f64 (cos.f64 im) (-.f64 (+.f64 1/2 (-.f64 1/2 (-.f64 (*.f64 re -2) (pow.f64 re 2)))) -1/2)) (neg.f64 (*.f64 (cos.f64 im) (+.f64 re (+.f64 1/2 (*.f64 1/2 (pow.f64 re 2)))))))
(+.f64 (neg.f64 (*.f64 (+.f64 re (+.f64 1/2 (*.f64 1/2 (pow.f64 re 2)))) (cos.f64 im))) (*.f64 (cos.f64 im) (-.f64 (+.f64 1/2 (-.f64 1/2 (-.f64 (*.f64 re -2) (pow.f64 re 2)))) -1/2)))
(-.f64 (*.f64 (cos.f64 im) (-.f64 (+.f64 1/2 (-.f64 1/2 (-.f64 (*.f64 re -2) (pow.f64 re 2)))) -1/2)) (*.f64 (+.f64 1/2 (+.f64 re (*.f64 1/2 (pow.f64 re 2)))) (cos.f64 im)))
(*.f64 (cos.f64 im) (-.f64 (-.f64 (+.f64 1/2 (-.f64 1/2 (-.f64 (*.f64 re -2) (pow.f64 re 2)))) -1/2) (+.f64 re (+.f64 1/2 (*.f64 1/2 (pow.f64 re 2))))))
(+.f64 (neg.f64 (*.f64 (cos.f64 im) (+.f64 re (+.f64 1/2 (*.f64 1/2 (pow.f64 re 2)))))) (*.f64 (cos.f64 im) (-.f64 (+.f64 1/2 (-.f64 1/2 (-.f64 (*.f64 re -2) (pow.f64 re 2)))) -1/2)))
(+.f64 (neg.f64 (*.f64 (+.f64 re (+.f64 1/2 (*.f64 1/2 (pow.f64 re 2)))) (cos.f64 im))) (*.f64 (cos.f64 im) (-.f64 (+.f64 1/2 (-.f64 1/2 (-.f64 (*.f64 re -2) (pow.f64 re 2)))) -1/2)))
(-.f64 (*.f64 (cos.f64 im) (-.f64 (+.f64 1/2 (-.f64 1/2 (-.f64 (*.f64 re -2) (pow.f64 re 2)))) -1/2)) (*.f64 (+.f64 1/2 (+.f64 re (*.f64 1/2 (pow.f64 re 2)))) (cos.f64 im)))
(*.f64 (cos.f64 im) (-.f64 (-.f64 (+.f64 1/2 (-.f64 1/2 (-.f64 (*.f64 re -2) (pow.f64 re 2)))) -1/2) (+.f64 re (+.f64 1/2 (*.f64 1/2 (pow.f64 re 2))))))
(+.f64 (+.f64 (*.f64 (cos.f64 im) (+.f64 re (+.f64 1/2 (*.f64 1/2 (pow.f64 re 2))))) (/.f64 (cos.f64 im) 4)) (/.f64 (cos.f64 im) 4))
(-.f64 (*.f64 (+.f64 re (+.f64 1/2 (*.f64 1/2 (pow.f64 re 2)))) (cos.f64 im)) (*.f64 -1/2 (cos.f64 im)))
(*.f64 (cos.f64 im) (-.f64 (+.f64 1/2 (+.f64 re (*.f64 1/2 (pow.f64 re 2)))) -1/2))
(*.f64 (cos.f64 im) (-.f64 (+.f64 re (+.f64 1/2 (*.f64 1/2 (pow.f64 re 2)))) -1/2))
(*.f64 (cos.f64 im) (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) 1)))
(+.f64 (/.f64 (cos.f64 im) 4) (+.f64 (*.f64 (cos.f64 im) (+.f64 re (+.f64 1/2 (*.f64 1/2 (pow.f64 re 2))))) (/.f64 (cos.f64 im) 4)))
(-.f64 (*.f64 (+.f64 re (+.f64 1/2 (*.f64 1/2 (pow.f64 re 2)))) (cos.f64 im)) (*.f64 -1/2 (cos.f64 im)))
(*.f64 (cos.f64 im) (-.f64 (+.f64 1/2 (+.f64 re (*.f64 1/2 (pow.f64 re 2)))) -1/2))
(*.f64 (cos.f64 im) (-.f64 (+.f64 re (+.f64 1/2 (*.f64 1/2 (pow.f64 re 2)))) -1/2))
(*.f64 (cos.f64 im) (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) 1)))
(+.f64 (/.f64 (*.f64 (cos.f64 im) (+.f64 (+.f64 re (*.f64 1/2 (pow.f64 re 2))) 1)) 2) (/.f64 (*.f64 (cos.f64 im) (+.f64 (+.f64 re (*.f64 1/2 (pow.f64 re 2))) 1)) 2))
(-.f64 (*.f64 (+.f64 re (+.f64 1/2 (*.f64 1/2 (pow.f64 re 2)))) (cos.f64 im)) (*.f64 -1/2 (cos.f64 im)))
(*.f64 (cos.f64 im) (-.f64 (+.f64 1/2 (+.f64 re (*.f64 1/2 (pow.f64 re 2)))) -1/2))
(*.f64 (cos.f64 im) (-.f64 (+.f64 re (+.f64 1/2 (*.f64 1/2 (pow.f64 re 2)))) -1/2))
(*.f64 (cos.f64 im) (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) 1)))
(+.f64 (/.f64 (*.f64 (cos.f64 im) (+.f64 re (+.f64 1/2 (*.f64 1/2 (pow.f64 re 2))))) 2) (/.f64 (*.f64 (cos.f64 im) (-.f64 (+.f64 re (+.f64 1/2 (*.f64 1/2 (pow.f64 re 2)))) -1)) 2))
(-.f64 (*.f64 (+.f64 re (+.f64 1/2 (*.f64 1/2 (pow.f64 re 2)))) (cos.f64 im)) (*.f64 -1/2 (cos.f64 im)))
(*.f64 (cos.f64 im) (-.f64 (+.f64 1/2 (+.f64 re (*.f64 1/2 (pow.f64 re 2)))) -1/2))
(*.f64 (cos.f64 im) (-.f64 (+.f64 re (+.f64 1/2 (*.f64 1/2 (pow.f64 re 2)))) -1/2))
(*.f64 (cos.f64 im) (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) 1)))
(+.f64 (/.f64 (*.f64 (cos.f64 im) (-.f64 (+.f64 re (+.f64 1/2 (*.f64 1/2 (pow.f64 re 2)))) -1)) 2) (/.f64 (*.f64 (cos.f64 im) (+.f64 re (+.f64 1/2 (*.f64 1/2 (pow.f64 re 2))))) 2))
(-.f64 (*.f64 (+.f64 re (+.f64 1/2 (*.f64 1/2 (pow.f64 re 2)))) (cos.f64 im)) (*.f64 -1/2 (cos.f64 im)))
(*.f64 (cos.f64 im) (-.f64 (+.f64 1/2 (+.f64 re (*.f64 1/2 (pow.f64 re 2)))) -1/2))
(*.f64 (cos.f64 im) (-.f64 (+.f64 re (+.f64 1/2 (*.f64 1/2 (pow.f64 re 2)))) -1/2))
(*.f64 (cos.f64 im) (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) 1)))
(+.f64 (neg.f64 (neg.f64 (*.f64 (cos.f64 im) (+.f64 re (+.f64 1/2 (*.f64 1/2 (pow.f64 re 2))))))) (*.f64 (cos.f64 im) 1/2))
(-.f64 (*.f64 (+.f64 re (+.f64 1/2 (*.f64 1/2 (pow.f64 re 2)))) (cos.f64 im)) (*.f64 -1/2 (cos.f64 im)))
(*.f64 (cos.f64 im) (-.f64 (+.f64 1/2 (+.f64 re (*.f64 1/2 (pow.f64 re 2)))) -1/2))
(*.f64 (cos.f64 im) (-.f64 (+.f64 re (+.f64 1/2 (*.f64 1/2 (pow.f64 re 2)))) -1/2))
(*.f64 (cos.f64 im) (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) 1)))
(*.f64 (cos.f64 im) (+.f64 (+.f64 re (*.f64 1/2 (pow.f64 re 2))) 1))
(-.f64 (*.f64 (+.f64 re (+.f64 1/2 (*.f64 1/2 (pow.f64 re 2)))) (cos.f64 im)) (*.f64 -1/2 (cos.f64 im)))
(*.f64 (cos.f64 im) (-.f64 (+.f64 1/2 (+.f64 re (*.f64 1/2 (pow.f64 re 2)))) -1/2))
(*.f64 (cos.f64 im) (-.f64 (+.f64 re (+.f64 1/2 (*.f64 1/2 (pow.f64 re 2)))) -1/2))
(*.f64 (cos.f64 im) (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) 1)))
(*.f64 1/2 (*.f64 (*.f64 (cos.f64 im) 2) (+.f64 (+.f64 re (*.f64 1/2 (pow.f64 re 2))) 1)))
(-.f64 (*.f64 (+.f64 re (+.f64 1/2 (*.f64 1/2 (pow.f64 re 2)))) (cos.f64 im)) (*.f64 -1/2 (cos.f64 im)))
(*.f64 (cos.f64 im) (-.f64 (+.f64 1/2 (+.f64 re (*.f64 1/2 (pow.f64 re 2)))) -1/2))
(*.f64 (cos.f64 im) (-.f64 (+.f64 re (+.f64 1/2 (*.f64 1/2 (pow.f64 re 2)))) -1/2))
(*.f64 (cos.f64 im) (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) 1)))
(*.f64 1/2 (-.f64 (*.f64 (cos.f64 im) (*.f64 (+.f64 re (+.f64 1/2 (*.f64 1/2 (pow.f64 re 2)))) 4)) (*.f64 (cos.f64 im) (+.f64 (+.f64 1/2 (-.f64 1/2 (-.f64 (*.f64 re -2) (pow.f64 re 2)))) -1))))
(*.f64 1/2 (-.f64 (*.f64 4 (*.f64 (+.f64 re (+.f64 1/2 (*.f64 1/2 (pow.f64 re 2)))) (cos.f64 im))) (*.f64 (cos.f64 im) (+.f64 (+.f64 1/2 (-.f64 1/2 (-.f64 (*.f64 re -2) (pow.f64 re 2)))) -1))))
(*.f64 1/2 (*.f64 (cos.f64 im) (-.f64 (*.f64 (+.f64 1/2 (+.f64 re (*.f64 1/2 (pow.f64 re 2)))) 4) (+.f64 (-.f64 1/2 (-.f64 (*.f64 re -2) (pow.f64 re 2))) -1/2))))
(*.f64 1/2 (*.f64 (cos.f64 im) (+.f64 (-.f64 (*.f64 (+.f64 re (+.f64 1/2 (*.f64 1/2 (pow.f64 re 2)))) 4) (-.f64 1/2 (-.f64 (*.f64 re -2) (pow.f64 re 2)))) 1/2)))
(*.f64 (*.f64 1/2 (cos.f64 im)) (+.f64 1/2 (-.f64 (*.f64 (+.f64 re (+.f64 1/2 (*.f64 1/2 (pow.f64 re 2)))) 4) (-.f64 1/2 (-.f64 (*.f64 re -2) (pow.f64 re 2))))))
(*.f64 (*.f64 (cos.f64 im) (+.f64 (+.f64 re (*.f64 1/2 (pow.f64 re 2))) 1)) 1)
(-.f64 (*.f64 (+.f64 re (+.f64 1/2 (*.f64 1/2 (pow.f64 re 2)))) (cos.f64 im)) (*.f64 -1/2 (cos.f64 im)))
(*.f64 (cos.f64 im) (-.f64 (+.f64 1/2 (+.f64 re (*.f64 1/2 (pow.f64 re 2)))) -1/2))
(*.f64 (cos.f64 im) (-.f64 (+.f64 re (+.f64 1/2 (*.f64 1/2 (pow.f64 re 2)))) -1/2))
(*.f64 (cos.f64 im) (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) 1)))
(*.f64 1 (*.f64 (cos.f64 im) (+.f64 (+.f64 re (*.f64 1/2 (pow.f64 re 2))) 1)))
(-.f64 (*.f64 (+.f64 re (+.f64 1/2 (*.f64 1/2 (pow.f64 re 2)))) (cos.f64 im)) (*.f64 -1/2 (cos.f64 im)))
(*.f64 (cos.f64 im) (-.f64 (+.f64 1/2 (+.f64 re (*.f64 1/2 (pow.f64 re 2)))) -1/2))
(*.f64 (cos.f64 im) (-.f64 (+.f64 re (+.f64 1/2 (*.f64 1/2 (pow.f64 re 2)))) -1/2))
(*.f64 (cos.f64 im) (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) 1)))
(*.f64 (*.f64 (cos.f64 im) 2) (-.f64 (+.f64 (/.f64 (pow.f64 re 2) 4) (/.f64 (+.f64 re 1/2) 2)) -1/4))
(*.f64 (*.f64 2 (cos.f64 im)) (-.f64 (+.f64 (/.f64 (pow.f64 re 2) 4) (+.f64 (/.f64 re 2) 1/4)) -1/4))
(*.f64 (*.f64 2 (cos.f64 im)) (-.f64 (+.f64 (/.f64 (pow.f64 re 2) 4) (+.f64 1/4 (/.f64 re 2))) -1/4))
(*.f64 (-.f64 (+.f64 1/4 (/.f64 (+.f64 (+.f64 re re) (pow.f64 re 2)) 4)) -1/4) (*.f64 2 (cos.f64 im)))
(*.f64 (cos.f64 im) (*.f64 2 (-.f64 (+.f64 (/.f64 (pow.f64 re 2) 4) (+.f64 1/4 (/.f64 re 2))) -1/4)))
(*.f64 -1 (neg.f64 (*.f64 (cos.f64 im) (+.f64 (+.f64 re (*.f64 1/2 (pow.f64 re 2))) 1))))
(-.f64 (*.f64 (+.f64 re (+.f64 1/2 (*.f64 1/2 (pow.f64 re 2)))) (cos.f64 im)) (*.f64 -1/2 (cos.f64 im)))
(*.f64 (cos.f64 im) (-.f64 (+.f64 1/2 (+.f64 re (*.f64 1/2 (pow.f64 re 2)))) -1/2))
(*.f64 (cos.f64 im) (-.f64 (+.f64 re (+.f64 1/2 (*.f64 1/2 (pow.f64 re 2)))) -1/2))
(*.f64 (cos.f64 im) (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) 1)))
(*.f64 (neg.f64 (*.f64 (cos.f64 im) (+.f64 (+.f64 re (*.f64 1/2 (pow.f64 re 2))) 1))) -1)
(-.f64 (*.f64 (+.f64 re (+.f64 1/2 (*.f64 1/2 (pow.f64 re 2)))) (cos.f64 im)) (*.f64 -1/2 (cos.f64 im)))
(*.f64 (cos.f64 im) (-.f64 (+.f64 1/2 (+.f64 re (*.f64 1/2 (pow.f64 re 2)))) -1/2))
(*.f64 (cos.f64 im) (-.f64 (+.f64 re (+.f64 1/2 (*.f64 1/2 (pow.f64 re 2)))) -1/2))
(*.f64 (cos.f64 im) (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) 1)))
(*.f64 (*.f64 (cos.f64 im) 1/2) (+.f64 (+.f64 1/2 (-.f64 1/2 (-.f64 (*.f64 re -2) (pow.f64 re 2)))) 1))
(*.f64 (*.f64 1/2 (cos.f64 im)) (+.f64 (-.f64 1/2 (-.f64 (*.f64 re -2) (pow.f64 re 2))) 3/2))
(*.f64 1/2 (*.f64 (cos.f64 im) (+.f64 (-.f64 1/2 (-.f64 (*.f64 re -2) (pow.f64 re 2))) 3/2)))
(*.f64 (*.f64 (cos.f64 im) 1/2) (+.f64 1 (+.f64 1/2 (-.f64 1/2 (-.f64 (*.f64 re -2) (pow.f64 re 2))))))
(*.f64 (*.f64 1/2 (cos.f64 im)) (+.f64 (-.f64 1/2 (-.f64 (*.f64 re -2) (pow.f64 re 2))) 3/2))
(*.f64 1/2 (*.f64 (cos.f64 im) (+.f64 (-.f64 1/2 (-.f64 (*.f64 re -2) (pow.f64 re 2))) 3/2)))
(*.f64 (*.f64 (*.f64 (cos.f64 im) 2) (+.f64 (+.f64 re (*.f64 1/2 (pow.f64 re 2))) 1)) 1/2)
(-.f64 (*.f64 (+.f64 re (+.f64 1/2 (*.f64 1/2 (pow.f64 re 2)))) (cos.f64 im)) (*.f64 -1/2 (cos.f64 im)))
(*.f64 (cos.f64 im) (-.f64 (+.f64 1/2 (+.f64 re (*.f64 1/2 (pow.f64 re 2)))) -1/2))
(*.f64 (cos.f64 im) (-.f64 (+.f64 re (+.f64 1/2 (*.f64 1/2 (pow.f64 re 2)))) -1/2))
(*.f64 (cos.f64 im) (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) 1)))
(*.f64 (+.f64 (+.f64 re (*.f64 1/2 (pow.f64 re 2))) 1) (cos.f64 im))
(-.f64 (*.f64 (+.f64 re (+.f64 1/2 (*.f64 1/2 (pow.f64 re 2)))) (cos.f64 im)) (*.f64 -1/2 (cos.f64 im)))
(*.f64 (cos.f64 im) (-.f64 (+.f64 1/2 (+.f64 re (*.f64 1/2 (pow.f64 re 2)))) -1/2))
(*.f64 (cos.f64 im) (-.f64 (+.f64 re (+.f64 1/2 (*.f64 1/2 (pow.f64 re 2)))) -1/2))
(*.f64 (cos.f64 im) (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) 1)))
(*.f64 1/4 (*.f64 (*.f64 (cos.f64 im) (+.f64 (+.f64 re (*.f64 1/2 (pow.f64 re 2))) 1)) 4))
(-.f64 (*.f64 (+.f64 re (+.f64 1/2 (*.f64 1/2 (pow.f64 re 2)))) (cos.f64 im)) (*.f64 -1/2 (cos.f64 im)))
(*.f64 (cos.f64 im) (-.f64 (+.f64 1/2 (+.f64 re (*.f64 1/2 (pow.f64 re 2)))) -1/2))
(*.f64 (cos.f64 im) (-.f64 (+.f64 re (+.f64 1/2 (*.f64 1/2 (pow.f64 re 2)))) -1/2))
(*.f64 (cos.f64 im) (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) 1)))
(*.f64 (*.f64 (*.f64 (cos.f64 im) (+.f64 (+.f64 re (*.f64 1/2 (pow.f64 re 2))) 1)) 4) 1/4)
(-.f64 (*.f64 (+.f64 re (+.f64 1/2 (*.f64 1/2 (pow.f64 re 2)))) (cos.f64 im)) (*.f64 -1/2 (cos.f64 im)))
(*.f64 (cos.f64 im) (-.f64 (+.f64 1/2 (+.f64 re (*.f64 1/2 (pow.f64 re 2)))) -1/2))
(*.f64 (cos.f64 im) (-.f64 (+.f64 re (+.f64 1/2 (*.f64 1/2 (pow.f64 re 2)))) -1/2))
(*.f64 (cos.f64 im) (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) 1)))
(*.f64 (*.f64 2 (*.f64 (*.f64 (cos.f64 im) (+.f64 (+.f64 re (*.f64 1/2 (pow.f64 re 2))) 1)) 4)) 1/8)
(-.f64 (*.f64 (+.f64 re (+.f64 1/2 (*.f64 1/2 (pow.f64 re 2)))) (cos.f64 im)) (*.f64 -1/2 (cos.f64 im)))
(*.f64 (cos.f64 im) (-.f64 (+.f64 1/2 (+.f64 re (*.f64 1/2 (pow.f64 re 2)))) -1/2))
(*.f64 (cos.f64 im) (-.f64 (+.f64 re (+.f64 1/2 (*.f64 1/2 (pow.f64 re 2)))) -1/2))
(*.f64 (cos.f64 im) (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) 1)))
(/.f64 (*.f64 (cos.f64 im) (+.f64 (+.f64 re (*.f64 1/2 (pow.f64 re 2))) 1)) 1)
(-.f64 (*.f64 (+.f64 re (+.f64 1/2 (*.f64 1/2 (pow.f64 re 2)))) (cos.f64 im)) (*.f64 -1/2 (cos.f64 im)))
(*.f64 (cos.f64 im) (-.f64 (+.f64 1/2 (+.f64 re (*.f64 1/2 (pow.f64 re 2)))) -1/2))
(*.f64 (cos.f64 im) (-.f64 (+.f64 re (+.f64 1/2 (*.f64 1/2 (pow.f64 re 2)))) -1/2))
(*.f64 (cos.f64 im) (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) 1)))
(/.f64 (neg.f64 (*.f64 (cos.f64 im) (+.f64 (+.f64 re (*.f64 1/2 (pow.f64 re 2))) 1))) -1)
(-.f64 (*.f64 (+.f64 re (+.f64 1/2 (*.f64 1/2 (pow.f64 re 2)))) (cos.f64 im)) (*.f64 -1/2 (cos.f64 im)))
(*.f64 (cos.f64 im) (-.f64 (+.f64 1/2 (+.f64 re (*.f64 1/2 (pow.f64 re 2)))) -1/2))
(*.f64 (cos.f64 im) (-.f64 (+.f64 re (+.f64 1/2 (*.f64 1/2 (pow.f64 re 2)))) -1/2))
(*.f64 (cos.f64 im) (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) 1)))
(/.f64 (*.f64 (*.f64 (cos.f64 im) 2) (+.f64 (+.f64 re (*.f64 1/2 (pow.f64 re 2))) 1)) 2)
(-.f64 (*.f64 (+.f64 re (+.f64 1/2 (*.f64 1/2 (pow.f64 re 2)))) (cos.f64 im)) (*.f64 -1/2 (cos.f64 im)))
(*.f64 (cos.f64 im) (-.f64 (+.f64 1/2 (+.f64 re (*.f64 1/2 (pow.f64 re 2)))) -1/2))
(*.f64 (cos.f64 im) (-.f64 (+.f64 re (+.f64 1/2 (*.f64 1/2 (pow.f64 re 2)))) -1/2))
(*.f64 (cos.f64 im) (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) 1)))
(/.f64 (*.f64 (*.f64 (cos.f64 im) (+.f64 (+.f64 re (*.f64 1/2 (pow.f64 re 2))) 1)) 4) 4)
(-.f64 (*.f64 (+.f64 re (+.f64 1/2 (*.f64 1/2 (pow.f64 re 2)))) (cos.f64 im)) (*.f64 -1/2 (cos.f64 im)))
(*.f64 (cos.f64 im) (-.f64 (+.f64 1/2 (+.f64 re (*.f64 1/2 (pow.f64 re 2)))) -1/2))
(*.f64 (cos.f64 im) (-.f64 (+.f64 re (+.f64 1/2 (*.f64 1/2 (pow.f64 re 2)))) -1/2))
(*.f64 (cos.f64 im) (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) 1)))
(/.f64 (*.f64 2 (*.f64 (*.f64 (cos.f64 im) (+.f64 (+.f64 re (*.f64 1/2 (pow.f64 re 2))) 1)) 4)) 8)
(-.f64 (*.f64 (+.f64 re (+.f64 1/2 (*.f64 1/2 (pow.f64 re 2)))) (cos.f64 im)) (*.f64 -1/2 (cos.f64 im)))
(*.f64 (cos.f64 im) (-.f64 (+.f64 1/2 (+.f64 re (*.f64 1/2 (pow.f64 re 2)))) -1/2))
(*.f64 (cos.f64 im) (-.f64 (+.f64 re (+.f64 1/2 (*.f64 1/2 (pow.f64 re 2)))) -1/2))
(*.f64 (cos.f64 im) (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) 1)))
(/.f64 (-.f64 (*.f64 (cos.f64 im) (*.f64 (+.f64 re (+.f64 1/2 (*.f64 1/2 (pow.f64 re 2)))) 4)) (*.f64 (cos.f64 im) (+.f64 (+.f64 1/2 (-.f64 1/2 (-.f64 (*.f64 re -2) (pow.f64 re 2)))) -1))) 2)
(/.f64 (-.f64 (*.f64 4 (*.f64 (+.f64 re (+.f64 1/2 (*.f64 1/2 (pow.f64 re 2)))) (cos.f64 im))) (*.f64 (cos.f64 im) (+.f64 (+.f64 1/2 (-.f64 1/2 (-.f64 (*.f64 re -2) (pow.f64 re 2)))) -1))) 2)
(/.f64 (*.f64 (cos.f64 im) (-.f64 (*.f64 (+.f64 1/2 (+.f64 re (*.f64 1/2 (pow.f64 re 2)))) 4) (+.f64 (-.f64 1/2 (-.f64 (*.f64 re -2) (pow.f64 re 2))) -1/2))) 2)
(/.f64 (*.f64 (cos.f64 im) (+.f64 (-.f64 (*.f64 (+.f64 re (+.f64 1/2 (*.f64 1/2 (pow.f64 re 2)))) 4) (-.f64 1/2 (-.f64 (*.f64 re -2) (pow.f64 re 2)))) 1/2)) 2)
(/.f64 (*.f64 (cos.f64 im) (+.f64 1/2 (-.f64 (*.f64 (+.f64 re (+.f64 1/2 (*.f64 1/2 (pow.f64 re 2)))) 4) (-.f64 1/2 (-.f64 (*.f64 re -2) (pow.f64 re 2)))))) 2)
(/.f64 (-.f64 (*.f64 (*.f64 (cos.f64 im) (+.f64 re (+.f64 1/2 (*.f64 1/2 (pow.f64 re 2))))) 8) (*.f64 (cos.f64 im) -4)) 8)
(-.f64 (*.f64 (+.f64 re (+.f64 1/2 (*.f64 1/2 (pow.f64 re 2)))) (cos.f64 im)) (*.f64 -1/2 (cos.f64 im)))
(*.f64 (cos.f64 im) (-.f64 (+.f64 1/2 (+.f64 re (*.f64 1/2 (pow.f64 re 2)))) -1/2))
(*.f64 (cos.f64 im) (-.f64 (+.f64 re (+.f64 1/2 (*.f64 1/2 (pow.f64 re 2)))) -1/2))
(*.f64 (cos.f64 im) (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) 1)))
(/.f64 (-.f64 (*.f64 (*.f64 (cos.f64 im) (+.f64 re (+.f64 1/2 (*.f64 1/2 (pow.f64 re 2))))) 8) (*.f64 (cos.f64 im) (+.f64 (*.f64 (+.f64 re (+.f64 1/2 (*.f64 1/2 (pow.f64 re 2)))) 4) -2))) 4)
(/.f64 (-.f64 (*.f64 (*.f64 (+.f64 re (+.f64 1/2 (*.f64 1/2 (pow.f64 re 2)))) (cos.f64 im)) 8) (*.f64 (cos.f64 im) (+.f64 -2 (*.f64 (+.f64 re (+.f64 1/2 (*.f64 1/2 (pow.f64 re 2)))) 4)))) 4)
(/.f64 (-.f64 (*.f64 (+.f64 1/2 (+.f64 re (*.f64 1/2 (pow.f64 re 2)))) (*.f64 (cos.f64 im) 8)) (*.f64 (cos.f64 im) (+.f64 -2 (*.f64 (+.f64 1/2 (+.f64 re (*.f64 1/2 (pow.f64 re 2)))) 4)))) 4)
(-.f64 (*.f64 2 (*.f64 (+.f64 re (+.f64 1/2 (*.f64 1/2 (pow.f64 re 2)))) (cos.f64 im))) (/.f64 (*.f64 (cos.f64 im) (+.f64 -2 (*.f64 (+.f64 re (+.f64 1/2 (*.f64 1/2 (pow.f64 re 2)))) 4))) 4))
(/.f64 (*.f64 (cos.f64 im) (-.f64 (*.f64 (+.f64 re (+.f64 1/2 (*.f64 1/2 (pow.f64 re 2)))) 8) (+.f64 -2 (*.f64 (+.f64 re (+.f64 1/2 (*.f64 1/2 (pow.f64 re 2)))) 4)))) 4)
(/.f64 (-.f64 (/.f64 (-.f64 (cos.f64 (neg.f64 im)) (cos.f64 im)) -2) (*.f64 -2 (*.f64 (cos.f64 im) (+.f64 (+.f64 re (*.f64 1/2 (pow.f64 re 2))) 1)))) 2)
(/.f64 (-.f64 (/.f64 (-.f64 (cos.f64 (neg.f64 im)) (cos.f64 im)) -2) (*.f64 -2 (*.f64 (cos.f64 im) (+.f64 1 (+.f64 re (*.f64 1/2 (pow.f64 re 2))))))) 2)
(/.f64 (-.f64 (/.f64 (-.f64 (cos.f64 (neg.f64 im)) (cos.f64 im)) -2) (*.f64 (cos.f64 im) (*.f64 (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) 1)) -2))) 2)
(-.f64 (/.f64 (-.f64 (cos.f64 (neg.f64 im)) (cos.f64 im)) -4) (*.f64 (cos.f64 im) (neg.f64 (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) 1)))))
(/.f64 (-.f64 (*.f64 (cos.f64 im) (+.f64 (+.f64 1/2 (-.f64 1/2 (-.f64 (*.f64 re -2) (pow.f64 re 2)))) -1)) (*.f64 (cos.f64 im) -2)) 2)
(/.f64 (*.f64 (cos.f64 im) (-.f64 (+.f64 (-.f64 1/2 (-.f64 (*.f64 re -2) (pow.f64 re 2))) -1/2) -2)) 2)
(/.f64 (*.f64 (cos.f64 im) (+.f64 (-.f64 1/2 (-.f64 (*.f64 re -2) (pow.f64 re 2))) 3/2)) 2)
(/.f64 (-.f64 (*.f64 (cos.f64 im) (+.f64 (*.f64 (+.f64 re (+.f64 1/2 (*.f64 1/2 (pow.f64 re 2)))) 4) -2)) (*.f64 (cos.f64 im) -4)) 4)
(/.f64 (-.f64 (*.f64 (cos.f64 im) (+.f64 -2 (*.f64 (+.f64 re (+.f64 1/2 (*.f64 1/2 (pow.f64 re 2)))) 4))) (*.f64 (cos.f64 im) -4)) 4)
(/.f64 (*.f64 (cos.f64 im) (-.f64 (+.f64 -2 (*.f64 (+.f64 1/2 (+.f64 re (*.f64 1/2 (pow.f64 re 2)))) 4)) -4)) 4)
(/.f64 (*.f64 (cos.f64 im) (-.f64 (*.f64 (+.f64 re (+.f64 1/2 (*.f64 1/2 (pow.f64 re 2)))) 4) -2)) 4)
(pow.f64 (*.f64 (cos.f64 im) (+.f64 (+.f64 re (*.f64 1/2 (pow.f64 re 2))) 1)) 1)
(-.f64 (*.f64 (+.f64 re (+.f64 1/2 (*.f64 1/2 (pow.f64 re 2)))) (cos.f64 im)) (*.f64 -1/2 (cos.f64 im)))
(*.f64 (cos.f64 im) (-.f64 (+.f64 1/2 (+.f64 re (*.f64 1/2 (pow.f64 re 2)))) -1/2))
(*.f64 (cos.f64 im) (-.f64 (+.f64 re (+.f64 1/2 (*.f64 1/2 (pow.f64 re 2)))) -1/2))
(*.f64 (cos.f64 im) (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) 1)))
(neg.f64 (neg.f64 (*.f64 (cos.f64 im) (+.f64 (+.f64 re (*.f64 1/2 (pow.f64 re 2))) 1))))
(-.f64 (*.f64 (+.f64 re (+.f64 1/2 (*.f64 1/2 (pow.f64 re 2)))) (cos.f64 im)) (*.f64 -1/2 (cos.f64 im)))
(*.f64 (cos.f64 im) (-.f64 (+.f64 1/2 (+.f64 re (*.f64 1/2 (pow.f64 re 2)))) -1/2))
(*.f64 (cos.f64 im) (-.f64 (+.f64 re (+.f64 1/2 (*.f64 1/2 (pow.f64 re 2)))) -1/2))
(*.f64 (cos.f64 im) (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) 1)))

eval1.8s (8.5%)

Compiler

Compiled 8902 to 6437 computations (27.7% saved)

prune415.0ms (2%)

Pruning

9 alts after pruning (2 fresh and 7 done)

PrunedKeptTotal
New4232425
Fresh000
Picked101
Done077
Total4249433
Error
0.0b
Counts
433 → 9
Alt Table
Click to see full alt table
StatusErrorProgram
20.7b
(-.f64 (*.f64 (+.f64 1/2 re) (cos.f64 im)) (/.f64 (cos.f64 im) -2))
40.2b
(+.f64 1 re)
0.0b
(*.f64 (exp.f64 re) (cos.f64 im))
20.7b
(*.f64 (cos.f64 im) (-.f64 re -1))
20.7b
(*.f64 (cos.f64 im) (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) 1)))
61.9b
(*.f64 (cos.f64 im) re)
20.0b
(exp.f64 re)
20.9b
(cos.f64 im)
62.0b
re
Compiler

Compiled 64 to 47 computations (26.6% saved)

localize188.0ms (0.9%)

Local error

Found 2 expressions with local error:

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

Compiled 32 to 18 computations (43.8% saved)

series20.0ms (0.1%)

Counts
2 → 48
Calls

12 calls:

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

rewrite481.0ms (2.3%)

Algorithm
batch-egg-rewrite
Rules
1066×rational_best-simplify-57
798×rational_best-4
798×rational_best-2
798×rational_best-3
798×rational_best-1
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01250
18050
216750
350634
4211634
Stop Event
node limit
Counts
2 → 88
Calls
Call 1
Inputs
(*.f64 (+.f64 1/2 re) (cos.f64 im))
(-.f64 (*.f64 (+.f64 1/2 re) (cos.f64 im)) (/.f64 (cos.f64 im) -2))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (+.f64 1/2 re) (cos.f64 im)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (+.f64 1/2 re) (cos.f64 im)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (cos.f64 im) (+.f64 (/.f64 re 2) 1/4)) (*.f64 (cos.f64 im) (+.f64 (/.f64 re 2) 1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (+.f64 1/2 re) (cos.f64 im)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (cos.f64 im) (+.f64 (/.f64 re 2) 1/4)) (/.f64 (*.f64 (+.f64 1/2 re) (cos.f64 im)) -2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 1/2 re) (cos.f64 im)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 1/2 re) (*.f64 (cos.f64 im) 2)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cos.f64 im) (*.f64 (+.f64 1/2 re) 4)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 (+.f64 1/2 re) (cos.f64 im)) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 (cos.f64 im) 4) (*.f64 (+.f64 1/2 re) 4)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 (cos.f64 im) -1/2) (*.f64 (+.f64 1/2 re) 4)) -2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 (cos.f64 im) -1/2) (*.f64 2 (*.f64 (+.f64 1/2 re) 4))) -4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 (cos.f64 im) -1/2) (+.f64 re (+.f64 re 1))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 (cos.f64 im) 2) (*.f64 2 (*.f64 (+.f64 1/2 re) 4))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 (*.f64 (cos.f64 im) 2) 4) (*.f64 2 (*.f64 (+.f64 1/2 re) 4))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 2 (*.f64 (+.f64 1/2 re) 4)) (*.f64 (*.f64 (cos.f64 im) 2) 4)) 64)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 2 (cos.f64 0)) (*.f64 (+.f64 1/2 re) (*.f64 (cos.f64 im) 2))) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cos.f64 0) (*.f64 (cos.f64 im) (*.f64 (+.f64 1/2 re) 4))) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 2 (cos.f64 0)) (*.f64 (*.f64 (+.f64 1/2 re) (cos.f64 im)) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 re (+.f64 re 1)) (*.f64 (*.f64 (cos.f64 im) 2) 4)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (+.f64 1/2 re) (cos.f64 im)) 1)))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (+.f64 1/2 re) (cos.f64 im)) (*.f64 (cos.f64 im) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (cos.f64 im) (+.f64 re 1)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (cos.f64 im) (+.f64 re 1)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (cos.f64 im) 1/2) (*.f64 (+.f64 1/2 re) (cos.f64 im)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (cos.f64 im) 1/2) (neg.f64 (neg.f64 (*.f64 (+.f64 1/2 re) (cos.f64 im)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (+.f64 1/2 re) (*.f64 (cos.f64 im) 2)) (neg.f64 (*.f64 (cos.f64 im) (+.f64 (+.f64 1/2 re) -1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (cos.f64 im) (-.f64 (+.f64 re (+.f64 re 1)) -1/2)) (neg.f64 (*.f64 (+.f64 1/2 re) (cos.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (neg.f64 (*.f64 (+.f64 1/2 re) (cos.f64 im))) (*.f64 (cos.f64 im) (-.f64 (+.f64 re (+.f64 re 1)) -1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (*.f64 (+.f64 1/2 re) (cos.f64 im)) (/.f64 (cos.f64 im) 4)) (/.f64 (cos.f64 im) 4))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (*.f64 (+.f64 1/2 re) (cos.f64 im)) (/.f64 (cos.f64 im) 4)) (-.f64 (*.f64 (+.f64 1/2 re) (cos.f64 im)) (+.f64 (*.f64 (+.f64 1/2 re) (cos.f64 im)) (*.f64 (cos.f64 im) -1/4))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (cos.f64 im) 4) (+.f64 (*.f64 (+.f64 1/2 re) (cos.f64 im)) (/.f64 (cos.f64 im) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (cos.f64 im) 4) (-.f64 (/.f64 (cos.f64 im) 4) (neg.f64 (*.f64 (+.f64 1/2 re) (cos.f64 im)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (*.f64 (cos.f64 im) (+.f64 re 1)) 2) (/.f64 (*.f64 (cos.f64 im) (+.f64 re 1)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (cos.f64 im) (+.f64 (/.f64 re 2) 1/4)) (/.f64 (*.f64 (cos.f64 im) (-.f64 (+.f64 1/2 re) -1)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (cos.f64 im) (+.f64 (+.f64 1/2 re) -1/2)) (cos.f64 im))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (*.f64 (cos.f64 im) (-.f64 (+.f64 1/2 re) -1)) 2) (*.f64 (cos.f64 im) (+.f64 (/.f64 re 2) 1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (cos.f64 im) (-.f64 (+.f64 1/2 re) -1)) (*.f64 (cos.f64 im) -1/2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (*.f64 (cos.f64 im) -1/2) (neg.f64 (*.f64 (cos.f64 im) (+.f64 re 1)))) (*.f64 (cos.f64 im) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (/.f64 (cos.f64 im) 4) (*.f64 (cos.f64 im) (+.f64 (+.f64 1/2 re) -1/2))) (/.f64 (*.f64 (cos.f64 im) 3) 4))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (neg.f64 (neg.f64 (*.f64 (+.f64 1/2 re) (cos.f64 im)))) (*.f64 (cos.f64 im) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (*.f64 (+.f64 1/2 re) (*.f64 (cos.f64 im) 2)) (/.f64 (cos.f64 im) 4)) (neg.f64 (+.f64 (*.f64 (+.f64 1/2 re) (cos.f64 im)) (*.f64 (cos.f64 im) -1/4))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (*.f64 (+.f64 1/2 re) (cos.f64 im)) (/.f64 (cos.f64 im) -8)) (neg.f64 (/.f64 (*.f64 (cos.f64 im) 3) -8)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (*.f64 (+.f64 1/2 re) (cos.f64 im)) (*.f64 (cos.f64 im) (+.f64 (/.f64 re 2) 1/4))) (-.f64 (*.f64 (+.f64 1/2 re) (cos.f64 im)) (/.f64 (+.f64 (*.f64 (+.f64 1/2 re) (cos.f64 im)) (neg.f64 (cos.f64 im))) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 0 (/.f64 (*.f64 (cos.f64 im) (-.f64 -1 (+.f64 1/2 re))) 2)) (neg.f64 (/.f64 (*.f64 (+.f64 1/2 re) (cos.f64 im)) -2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (*.f64 (+.f64 1/2 re) (*.f64 (cos.f64 im) 2)) (*.f64 (+.f64 1/2 re) (cos.f64 im))) (*.f64 (cos.f64 im) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (*.f64 (+.f64 1/2 re) (*.f64 (cos.f64 im) 2)) (*.f64 (cos.f64 im) (+.f64 (/.f64 re 2) 1/4))) (neg.f64 (/.f64 (+.f64 (*.f64 (+.f64 1/2 re) (cos.f64 im)) (neg.f64 (cos.f64 im))) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (+.f64 (*.f64 (+.f64 1/2 re) (cos.f64 im)) (/.f64 (cos.f64 im) 4)) (/.f64 (cos.f64 im) -8)) (neg.f64 (/.f64 (cos.f64 im) -8)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (*.f64 (cos.f64 im) (+.f64 (+.f64 1/2 re) -1/2)) (*.f64 (*.f64 (cos.f64 im) 3) -1/4)) (/.f64 (cos.f64 im) 4))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (*.f64 (cos.f64 im) (+.f64 (/.f64 re 2) 1/4)) (/.f64 (cos.f64 im) -8)) (-.f64 (*.f64 (cos.f64 im) (+.f64 (/.f64 re 2) 1/4)) (/.f64 (*.f64 (cos.f64 im) 3) -8)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (*.f64 (cos.f64 im) (+.f64 (/.f64 re 2) 1/4)) (*.f64 (cos.f64 im) (+.f64 (+.f64 1/2 re) -1/2))) (-.f64 (*.f64 (cos.f64 im) (+.f64 (/.f64 re 2) 1/4)) (neg.f64 (*.f64 (+.f64 1/2 re) (cos.f64 im)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (/.f64 (cos.f64 im) 4) (/.f64 (*.f64 (cos.f64 im) (+.f64 re 1)) -2)) (neg.f64 (/.f64 (*.f64 (+.f64 1/2 re) (cos.f64 im)) -2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 (*.f64 (cos.f64 im) (+.f64 re 1)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (-.f64 (*.f64 (cos.f64 im) (*.f64 (+.f64 1/2 re) 4)) (*.f64 (cos.f64 im) (+.f64 (+.f64 re (+.f64 re 1)) -1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cos.f64 im) (+.f64 re 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cos.f64 im) (+.f64 re 1)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (*.f64 (cos.f64 im) (+.f64 re 1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cos.f64 im) 2) (-.f64 (+.f64 (/.f64 re 2) 1/4) -1/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (*.f64 (cos.f64 im) (+.f64 re 1))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cos.f64 im) 1/2) (+.f64 (+.f64 re (+.f64 re 1)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cos.f64 im) 1/2) (+.f64 1 (+.f64 re (+.f64 re 1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (cos.f64 im)) (-.f64 0 (+.f64 re 1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (*.f64 (cos.f64 im) (+.f64 re 1)) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (neg.f64 (*.f64 (cos.f64 im) (+.f64 re 1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 re 1) (cos.f64 im))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (*.f64 (cos.f64 im) (+.f64 re 1)) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (*.f64 (cos.f64 im) (+.f64 re 1)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (*.f64 (*.f64 (cos.f64 im) (+.f64 re 1)) 4)) 1/8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cos.f64 im) (+.f64 re 1)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 (cos.f64 im) (+.f64 re 1))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 (cos.f64 im) (+.f64 re 1)) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 (cos.f64 im) (+.f64 re 1)) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 -2 (*.f64 (cos.f64 im) (+.f64 re 1))) -2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (*.f64 (cos.f64 im) (+.f64 re 1)) 4)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cos.f64 im) (-.f64 -2 (*.f64 (+.f64 1/2 re) 4))) -4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 (cos.f64 im) (-.f64 -2 (*.f64 (+.f64 1/2 re) 4))) -1) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 (cos.f64 im) (*.f64 (+.f64 1/2 re) 4)) (*.f64 (cos.f64 im) (+.f64 (+.f64 re (+.f64 re 1)) -1))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 (*.f64 (+.f64 1/2 re) (cos.f64 im)) 8) (*.f64 (cos.f64 im) 4)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 (*.f64 (cos.f64 im) 4) (*.f64 (+.f64 1/2 re) 4)) (*.f64 (*.f64 (cos.f64 im) 2) 4)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 (cos.f64 im) 2) (*.f64 (cos.f64 im) (*.f64 (+.f64 1/2 re) 4))) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 (cos.f64 im) 4) (*.f64 (*.f64 (+.f64 1/2 re) (cos.f64 im)) 8)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 (*.f64 (cos.f64 im) 2) 4) (*.f64 (*.f64 (cos.f64 im) 4) (*.f64 (+.f64 1/2 re) 4))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 (*.f64 (+.f64 1/2 re) (cos.f64 im)) 8) (*.f64 (cos.f64 im) -4)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 (*.f64 (+.f64 1/2 re) (cos.f64 im)) 8) (*.f64 (cos.f64 im) (+.f64 (*.f64 (+.f64 1/2 re) 4) -2))) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 (cos.f64 im) (+.f64 (+.f64 re (+.f64 re 1)) -1)) (*.f64 (cos.f64 im) -2)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 (cos.f64 im) (+.f64 (*.f64 (+.f64 1/2 re) 4) -2)) (*.f64 (cos.f64 im) -4)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (cos.f64 im) (+.f64 re 1)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (neg.f64 (*.f64 (cos.f64 im) (+.f64 re 1))))))))

simplify1.2s (5.9%)

Algorithm
egg-herbie
Rules
1190×rational_best-simplify-62
902×rational_best-simplify-50
756×rational_best-simplify-85
616×rational_best-simplify-80
612×rational_best-simplify-47
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
02695686
16553878
217083702
359573224
Stop Event
node limit
Counts
136 → 184
Calls
Call 1
Inputs
(*.f64 1/2 (cos.f64 im))
(+.f64 (*.f64 (cos.f64 im) re) (*.f64 1/2 (cos.f64 im)))
(+.f64 (*.f64 (cos.f64 im) re) (*.f64 1/2 (cos.f64 im)))
(+.f64 (*.f64 (cos.f64 im) re) (*.f64 1/2 (cos.f64 im)))
(*.f64 (cos.f64 im) re)
(+.f64 (*.f64 1/2 (cos.f64 im)) (*.f64 (cos.f64 im) re))
(+.f64 (*.f64 1/2 (cos.f64 im)) (*.f64 (cos.f64 im) re))
(+.f64 (*.f64 1/2 (cos.f64 im)) (*.f64 (cos.f64 im) re))
(*.f64 (cos.f64 im) re)
(+.f64 (*.f64 1/2 (cos.f64 im)) (*.f64 (cos.f64 im) re))
(+.f64 (*.f64 1/2 (cos.f64 im)) (*.f64 (cos.f64 im) re))
(+.f64 (*.f64 1/2 (cos.f64 im)) (*.f64 (cos.f64 im) re))
(+.f64 1/2 re)
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 im 2) (+.f64 1/2 re))) (+.f64 1/2 re))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 im 2) (+.f64 1/2 re))) (+.f64 1/2 (+.f64 re (*.f64 1/24 (*.f64 (pow.f64 im 4) (+.f64 1/2 re))))))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 im 2) (+.f64 1/2 re))) (+.f64 1/2 (+.f64 (*.f64 -1/720 (*.f64 (pow.f64 im 6) (+.f64 1/2 re))) (+.f64 re (*.f64 1/24 (*.f64 (pow.f64 im 4) (+.f64 1/2 re)))))))
(*.f64 (cos.f64 im) (+.f64 1/2 re))
(*.f64 (cos.f64 im) (+.f64 1/2 re))
(*.f64 (cos.f64 im) (+.f64 1/2 re))
(*.f64 (cos.f64 im) (+.f64 1/2 re))
(*.f64 (cos.f64 im) (+.f64 1/2 re))
(*.f64 (cos.f64 im) (+.f64 1/2 re))
(*.f64 (cos.f64 im) (+.f64 1/2 re))
(*.f64 (cos.f64 im) (+.f64 1/2 re))
(-.f64 (*.f64 1/2 (cos.f64 im)) (*.f64 -1/2 (cos.f64 im)))
(-.f64 (+.f64 (*.f64 (cos.f64 im) re) (*.f64 1/2 (cos.f64 im))) (*.f64 -1/2 (cos.f64 im)))
(-.f64 (+.f64 (*.f64 (cos.f64 im) re) (*.f64 1/2 (cos.f64 im))) (*.f64 -1/2 (cos.f64 im)))
(-.f64 (+.f64 (*.f64 (cos.f64 im) re) (*.f64 1/2 (cos.f64 im))) (*.f64 -1/2 (cos.f64 im)))
(*.f64 (cos.f64 im) re)
(-.f64 (+.f64 (*.f64 1/2 (cos.f64 im)) (*.f64 (cos.f64 im) re)) (*.f64 -1/2 (cos.f64 im)))
(-.f64 (+.f64 (*.f64 1/2 (cos.f64 im)) (*.f64 (cos.f64 im) re)) (*.f64 -1/2 (cos.f64 im)))
(-.f64 (+.f64 (*.f64 1/2 (cos.f64 im)) (*.f64 (cos.f64 im) re)) (*.f64 -1/2 (cos.f64 im)))
(*.f64 (cos.f64 im) re)
(-.f64 (+.f64 (*.f64 1/2 (cos.f64 im)) (*.f64 (cos.f64 im) re)) (*.f64 -1/2 (cos.f64 im)))
(-.f64 (+.f64 (*.f64 1/2 (cos.f64 im)) (*.f64 (cos.f64 im) re)) (*.f64 -1/2 (cos.f64 im)))
(-.f64 (+.f64 (*.f64 1/2 (cos.f64 im)) (*.f64 (cos.f64 im) re)) (*.f64 -1/2 (cos.f64 im)))
(+.f64 1 re)
(+.f64 1 (+.f64 re (*.f64 (-.f64 (*.f64 -1/2 (+.f64 1/2 re)) 1/4) (pow.f64 im 2))))
(+.f64 1 (+.f64 (*.f64 (+.f64 1/48 (*.f64 1/24 (+.f64 1/2 re))) (pow.f64 im 4)) (+.f64 re (*.f64 (-.f64 (*.f64 -1/2 (+.f64 1/2 re)) 1/4) (pow.f64 im 2)))))
(+.f64 1 (+.f64 (*.f64 (+.f64 1/48 (*.f64 1/24 (+.f64 1/2 re))) (pow.f64 im 4)) (+.f64 re (+.f64 (*.f64 (-.f64 (*.f64 -1/2 (+.f64 1/2 re)) 1/4) (pow.f64 im 2)) (*.f64 (-.f64 (*.f64 -1/720 (+.f64 1/2 re)) 1/1440) (pow.f64 im 6))))))
(-.f64 (*.f64 (cos.f64 im) (+.f64 1/2 re)) (*.f64 -1/2 (cos.f64 im)))
(-.f64 (*.f64 (cos.f64 im) (+.f64 1/2 re)) (*.f64 -1/2 (cos.f64 im)))
(-.f64 (*.f64 (cos.f64 im) (+.f64 1/2 re)) (*.f64 -1/2 (cos.f64 im)))
(-.f64 (*.f64 (cos.f64 im) (+.f64 1/2 re)) (*.f64 -1/2 (cos.f64 im)))
(-.f64 (*.f64 (cos.f64 im) (+.f64 1/2 re)) (*.f64 -1/2 (cos.f64 im)))
(-.f64 (*.f64 (cos.f64 im) (+.f64 1/2 re)) (*.f64 -1/2 (cos.f64 im)))
(-.f64 (*.f64 (cos.f64 im) (+.f64 1/2 re)) (*.f64 -1/2 (cos.f64 im)))
(-.f64 (*.f64 (cos.f64 im) (+.f64 1/2 re)) (*.f64 -1/2 (cos.f64 im)))
(+.f64 (*.f64 (+.f64 1/2 re) (cos.f64 im)) 0)
(+.f64 0 (*.f64 (+.f64 1/2 re) (cos.f64 im)))
(+.f64 (*.f64 (cos.f64 im) (+.f64 (/.f64 re 2) 1/4)) (*.f64 (cos.f64 im) (+.f64 (/.f64 re 2) 1/4)))
(-.f64 (*.f64 (+.f64 1/2 re) (cos.f64 im)) 0)
(-.f64 (*.f64 (cos.f64 im) (+.f64 (/.f64 re 2) 1/4)) (/.f64 (*.f64 (+.f64 1/2 re) (cos.f64 im)) -2))
(/.f64 (*.f64 (+.f64 1/2 re) (cos.f64 im)) 1)
(/.f64 (*.f64 (+.f64 1/2 re) (*.f64 (cos.f64 im) 2)) 2)
(/.f64 (*.f64 (cos.f64 im) (*.f64 (+.f64 1/2 re) 4)) 4)
(/.f64 (*.f64 (*.f64 (+.f64 1/2 re) (cos.f64 im)) 8) 8)
(/.f64 (*.f64 (*.f64 (cos.f64 im) 4) (*.f64 (+.f64 1/2 re) 4)) 16)
(/.f64 (*.f64 (*.f64 (cos.f64 im) -1/2) (*.f64 (+.f64 1/2 re) 4)) -2)
(/.f64 (*.f64 (*.f64 (cos.f64 im) -1/2) (*.f64 2 (*.f64 (+.f64 1/2 re) 4))) -4)
(/.f64 (*.f64 (*.f64 (cos.f64 im) -1/2) (+.f64 re (+.f64 re 1))) -1)
(/.f64 (*.f64 (*.f64 (cos.f64 im) 2) (*.f64 2 (*.f64 (+.f64 1/2 re) 4))) 16)
(/.f64 (*.f64 (*.f64 (*.f64 (cos.f64 im) 2) 4) (*.f64 2 (*.f64 (+.f64 1/2 re) 4))) 64)
(/.f64 (*.f64 (*.f64 2 (*.f64 (+.f64 1/2 re) 4)) (*.f64 (*.f64 (cos.f64 im) 2) 4)) 64)
(/.f64 (*.f64 (*.f64 2 (cos.f64 0)) (*.f64 (+.f64 1/2 re) (*.f64 (cos.f64 im) 2))) 4)
(/.f64 (*.f64 (cos.f64 0) (*.f64 (cos.f64 im) (*.f64 (+.f64 1/2 re) 4))) 4)
(/.f64 (*.f64 (*.f64 2 (cos.f64 0)) (*.f64 (*.f64 (+.f64 1/2 re) (cos.f64 im)) 8)) 16)
(/.f64 (*.f64 (+.f64 re (+.f64 re 1)) (*.f64 (*.f64 (cos.f64 im) 2) 4)) 16)
(pow.f64 (*.f64 (+.f64 1/2 re) (cos.f64 im)) 1)
(+.f64 (*.f64 (+.f64 1/2 re) (cos.f64 im)) (*.f64 (cos.f64 im) 1/2))
(+.f64 (*.f64 (cos.f64 im) (+.f64 re 1)) 0)
(+.f64 0 (*.f64 (cos.f64 im) (+.f64 re 1)))
(+.f64 (*.f64 (cos.f64 im) 1/2) (*.f64 (+.f64 1/2 re) (cos.f64 im)))
(+.f64 (*.f64 (cos.f64 im) 1/2) (neg.f64 (neg.f64 (*.f64 (+.f64 1/2 re) (cos.f64 im)))))
(+.f64 (*.f64 (+.f64 1/2 re) (*.f64 (cos.f64 im) 2)) (neg.f64 (*.f64 (cos.f64 im) (+.f64 (+.f64 1/2 re) -1/2))))
(+.f64 (*.f64 (cos.f64 im) (-.f64 (+.f64 re (+.f64 re 1)) -1/2)) (neg.f64 (*.f64 (+.f64 1/2 re) (cos.f64 im))))
(+.f64 (neg.f64 (*.f64 (+.f64 1/2 re) (cos.f64 im))) (*.f64 (cos.f64 im) (-.f64 (+.f64 re (+.f64 re 1)) -1/2)))
(+.f64 (+.f64 (*.f64 (+.f64 1/2 re) (cos.f64 im)) (/.f64 (cos.f64 im) 4)) (/.f64 (cos.f64 im) 4))
(+.f64 (+.f64 (*.f64 (+.f64 1/2 re) (cos.f64 im)) (/.f64 (cos.f64 im) 4)) (-.f64 (*.f64 (+.f64 1/2 re) (cos.f64 im)) (+.f64 (*.f64 (+.f64 1/2 re) (cos.f64 im)) (*.f64 (cos.f64 im) -1/4))))
(+.f64 (/.f64 (cos.f64 im) 4) (+.f64 (*.f64 (+.f64 1/2 re) (cos.f64 im)) (/.f64 (cos.f64 im) 4)))
(+.f64 (/.f64 (cos.f64 im) 4) (-.f64 (/.f64 (cos.f64 im) 4) (neg.f64 (*.f64 (+.f64 1/2 re) (cos.f64 im)))))
(+.f64 (/.f64 (*.f64 (cos.f64 im) (+.f64 re 1)) 2) (/.f64 (*.f64 (cos.f64 im) (+.f64 re 1)) 2))
(+.f64 (*.f64 (cos.f64 im) (+.f64 (/.f64 re 2) 1/4)) (/.f64 (*.f64 (cos.f64 im) (-.f64 (+.f64 1/2 re) -1)) 2))
(+.f64 (*.f64 (cos.f64 im) (+.f64 (+.f64 1/2 re) -1/2)) (cos.f64 im))
(+.f64 (/.f64 (*.f64 (cos.f64 im) (-.f64 (+.f64 1/2 re) -1)) 2) (*.f64 (cos.f64 im) (+.f64 (/.f64 re 2) 1/4)))
(+.f64 (*.f64 (cos.f64 im) (-.f64 (+.f64 1/2 re) -1)) (*.f64 (cos.f64 im) -1/2))
(+.f64 (-.f64 (*.f64 (cos.f64 im) -1/2) (neg.f64 (*.f64 (cos.f64 im) (+.f64 re 1)))) (*.f64 (cos.f64 im) 1/2))
(+.f64 (+.f64 (/.f64 (cos.f64 im) 4) (*.f64 (cos.f64 im) (+.f64 (+.f64 1/2 re) -1/2))) (/.f64 (*.f64 (cos.f64 im) 3) 4))
(+.f64 (neg.f64 (neg.f64 (*.f64 (+.f64 1/2 re) (cos.f64 im)))) (*.f64 (cos.f64 im) 1/2))
(+.f64 (+.f64 (*.f64 (+.f64 1/2 re) (*.f64 (cos.f64 im) 2)) (/.f64 (cos.f64 im) 4)) (neg.f64 (+.f64 (*.f64 (+.f64 1/2 re) (cos.f64 im)) (*.f64 (cos.f64 im) -1/4))))
(+.f64 (-.f64 (*.f64 (+.f64 1/2 re) (cos.f64 im)) (/.f64 (cos.f64 im) -8)) (neg.f64 (/.f64 (*.f64 (cos.f64 im) 3) -8)))
(+.f64 (-.f64 (*.f64 (+.f64 1/2 re) (cos.f64 im)) (*.f64 (cos.f64 im) (+.f64 (/.f64 re 2) 1/4))) (-.f64 (*.f64 (+.f64 1/2 re) (cos.f64 im)) (/.f64 (+.f64 (*.f64 (+.f64 1/2 re) (cos.f64 im)) (neg.f64 (cos.f64 im))) 2)))
(+.f64 (-.f64 0 (/.f64 (*.f64 (cos.f64 im) (-.f64 -1 (+.f64 1/2 re))) 2)) (neg.f64 (/.f64 (*.f64 (+.f64 1/2 re) (cos.f64 im)) -2)))
(+.f64 (-.f64 (*.f64 (+.f64 1/2 re) (*.f64 (cos.f64 im) 2)) (*.f64 (+.f64 1/2 re) (cos.f64 im))) (*.f64 (cos.f64 im) 1/2))
(+.f64 (-.f64 (*.f64 (+.f64 1/2 re) (*.f64 (cos.f64 im) 2)) (*.f64 (cos.f64 im) (+.f64 (/.f64 re 2) 1/4))) (neg.f64 (/.f64 (+.f64 (*.f64 (+.f64 1/2 re) (cos.f64 im)) (neg.f64 (cos.f64 im))) 2)))
(+.f64 (-.f64 (+.f64 (*.f64 (+.f64 1/2 re) (cos.f64 im)) (/.f64 (cos.f64 im) 4)) (/.f64 (cos.f64 im) -8)) (neg.f64 (/.f64 (cos.f64 im) -8)))
(+.f64 (-.f64 (*.f64 (cos.f64 im) (+.f64 (+.f64 1/2 re) -1/2)) (*.f64 (*.f64 (cos.f64 im) 3) -1/4)) (/.f64 (cos.f64 im) 4))
(+.f64 (-.f64 (*.f64 (cos.f64 im) (+.f64 (/.f64 re 2) 1/4)) (/.f64 (cos.f64 im) -8)) (-.f64 (*.f64 (cos.f64 im) (+.f64 (/.f64 re 2) 1/4)) (/.f64 (*.f64 (cos.f64 im) 3) -8)))
(+.f64 (-.f64 (*.f64 (cos.f64 im) (+.f64 (/.f64 re 2) 1/4)) (*.f64 (cos.f64 im) (+.f64 (+.f64 1/2 re) -1/2))) (-.f64 (*.f64 (cos.f64 im) (+.f64 (/.f64 re 2) 1/4)) (neg.f64 (*.f64 (+.f64 1/2 re) (cos.f64 im)))))
(+.f64 (-.f64 (/.f64 (cos.f64 im) 4) (/.f64 (*.f64 (cos.f64 im) (+.f64 re 1)) -2)) (neg.f64 (/.f64 (*.f64 (+.f64 1/2 re) (cos.f64 im)) -2)))
(*.f64 1/2 (*.f64 (*.f64 (cos.f64 im) (+.f64 re 1)) 2))
(*.f64 1/2 (-.f64 (*.f64 (cos.f64 im) (*.f64 (+.f64 1/2 re) 4)) (*.f64 (cos.f64 im) (+.f64 (+.f64 re (+.f64 re 1)) -1))))
(*.f64 (cos.f64 im) (+.f64 re 1))
(*.f64 (*.f64 (cos.f64 im) (+.f64 re 1)) 1)
(*.f64 1 (*.f64 (cos.f64 im) (+.f64 re 1)))
(*.f64 (*.f64 (cos.f64 im) 2) (-.f64 (+.f64 (/.f64 re 2) 1/4) -1/4))
(*.f64 (neg.f64 (*.f64 (cos.f64 im) (+.f64 re 1))) -1)
(*.f64 (*.f64 (cos.f64 im) 1/2) (+.f64 (+.f64 re (+.f64 re 1)) 1))
(*.f64 (*.f64 (cos.f64 im) 1/2) (+.f64 1 (+.f64 re (+.f64 re 1))))
(*.f64 (neg.f64 (cos.f64 im)) (-.f64 0 (+.f64 re 1)))
(*.f64 (*.f64 (*.f64 (cos.f64 im) (+.f64 re 1)) 2) 1/2)
(*.f64 -1 (neg.f64 (*.f64 (cos.f64 im) (+.f64 re 1))))
(*.f64 (+.f64 re 1) (cos.f64 im))
(*.f64 (*.f64 (*.f64 (cos.f64 im) (+.f64 re 1)) 4) 1/4)
(*.f64 1/4 (*.f64 (*.f64 (cos.f64 im) (+.f64 re 1)) 4))
(*.f64 (*.f64 2 (*.f64 (*.f64 (cos.f64 im) (+.f64 re 1)) 4)) 1/8)
(/.f64 (*.f64 (cos.f64 im) (+.f64 re 1)) 1)
(/.f64 (neg.f64 (*.f64 (cos.f64 im) (+.f64 re 1))) -1)
(/.f64 (*.f64 (*.f64 (cos.f64 im) (+.f64 re 1)) 2) 2)
(/.f64 (*.f64 (*.f64 (cos.f64 im) (+.f64 re 1)) 4) 4)
(/.f64 (*.f64 -2 (*.f64 (cos.f64 im) (+.f64 re 1))) -2)
(/.f64 (*.f64 2 (*.f64 (*.f64 (cos.f64 im) (+.f64 re 1)) 4)) 8)
(/.f64 (*.f64 (cos.f64 im) (-.f64 -2 (*.f64 (+.f64 1/2 re) 4))) -4)
(/.f64 (/.f64 (*.f64 (cos.f64 im) (-.f64 -2 (*.f64 (+.f64 1/2 re) 4))) -1) 4)
(/.f64 (-.f64 (*.f64 (cos.f64 im) (*.f64 (+.f64 1/2 re) 4)) (*.f64 (cos.f64 im) (+.f64 (+.f64 re (+.f64 re 1)) -1))) 2)
(/.f64 (+.f64 (*.f64 (*.f64 (+.f64 1/2 re) (cos.f64 im)) 8) (*.f64 (cos.f64 im) 4)) 8)
(/.f64 (+.f64 (*.f64 (*.f64 (cos.f64 im) 4) (*.f64 (+.f64 1/2 re) 4)) (*.f64 (*.f64 (cos.f64 im) 2) 4)) 16)
(/.f64 (+.f64 (*.f64 (cos.f64 im) 2) (*.f64 (cos.f64 im) (*.f64 (+.f64 1/2 re) 4))) 4)
(/.f64 (+.f64 (*.f64 (cos.f64 im) 4) (*.f64 (*.f64 (+.f64 1/2 re) (cos.f64 im)) 8)) 8)
(/.f64 (+.f64 (*.f64 (*.f64 (cos.f64 im) 2) 4) (*.f64 (*.f64 (cos.f64 im) 4) (*.f64 (+.f64 1/2 re) 4))) 16)
(/.f64 (-.f64 (*.f64 (*.f64 (+.f64 1/2 re) (cos.f64 im)) 8) (*.f64 (cos.f64 im) -4)) 8)
(/.f64 (-.f64 (*.f64 (*.f64 (+.f64 1/2 re) (cos.f64 im)) 8) (*.f64 (cos.f64 im) (+.f64 (*.f64 (+.f64 1/2 re) 4) -2))) 4)
(/.f64 (-.f64 (*.f64 (cos.f64 im) (+.f64 (+.f64 re (+.f64 re 1)) -1)) (*.f64 (cos.f64 im) -2)) 2)
(/.f64 (-.f64 (*.f64 (cos.f64 im) (+.f64 (*.f64 (+.f64 1/2 re) 4) -2)) (*.f64 (cos.f64 im) -4)) 4)
(pow.f64 (*.f64 (cos.f64 im) (+.f64 re 1)) 1)
(neg.f64 (neg.f64 (*.f64 (cos.f64 im) (+.f64 re 1))))
Outputs
(*.f64 1/2 (cos.f64 im))
(+.f64 (*.f64 (cos.f64 im) re) (*.f64 1/2 (cos.f64 im)))
(*.f64 (cos.f64 im) (+.f64 1/2 re))
(+.f64 (*.f64 (cos.f64 im) re) (*.f64 1/2 (cos.f64 im)))
(*.f64 (cos.f64 im) (+.f64 1/2 re))
(+.f64 (*.f64 (cos.f64 im) re) (*.f64 1/2 (cos.f64 im)))
(*.f64 (cos.f64 im) (+.f64 1/2 re))
(*.f64 (cos.f64 im) re)
(+.f64 (*.f64 1/2 (cos.f64 im)) (*.f64 (cos.f64 im) re))
(+.f64 (*.f64 (cos.f64 im) re) (*.f64 1/2 (cos.f64 im)))
(*.f64 (cos.f64 im) (+.f64 1/2 re))
(+.f64 (*.f64 1/2 (cos.f64 im)) (*.f64 (cos.f64 im) re))
(+.f64 (*.f64 (cos.f64 im) re) (*.f64 1/2 (cos.f64 im)))
(*.f64 (cos.f64 im) (+.f64 1/2 re))
(+.f64 (*.f64 1/2 (cos.f64 im)) (*.f64 (cos.f64 im) re))
(+.f64 (*.f64 (cos.f64 im) re) (*.f64 1/2 (cos.f64 im)))
(*.f64 (cos.f64 im) (+.f64 1/2 re))
(*.f64 (cos.f64 im) re)
(+.f64 (*.f64 1/2 (cos.f64 im)) (*.f64 (cos.f64 im) re))
(+.f64 (*.f64 (cos.f64 im) re) (*.f64 1/2 (cos.f64 im)))
(*.f64 (cos.f64 im) (+.f64 1/2 re))
(+.f64 (*.f64 1/2 (cos.f64 im)) (*.f64 (cos.f64 im) re))
(+.f64 (*.f64 (cos.f64 im) re) (*.f64 1/2 (cos.f64 im)))
(*.f64 (cos.f64 im) (+.f64 1/2 re))
(+.f64 (*.f64 1/2 (cos.f64 im)) (*.f64 (cos.f64 im) re))
(+.f64 (*.f64 (cos.f64 im) re) (*.f64 1/2 (cos.f64 im)))
(*.f64 (cos.f64 im) (+.f64 1/2 re))
(+.f64 1/2 re)
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 im 2) (+.f64 1/2 re))) (+.f64 1/2 re))
(+.f64 re (+.f64 1/2 (*.f64 (+.f64 1/2 re) (*.f64 (pow.f64 im 2) -1/2))))
(+.f64 1/2 (+.f64 re (*.f64 (+.f64 1/2 re) (*.f64 -1/2 (pow.f64 im 2)))))
(*.f64 (+.f64 1/2 re) (-.f64 (*.f64 -1/2 (pow.f64 im 2)) -1))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 im 2) (+.f64 1/2 re))) (+.f64 1/2 (+.f64 re (*.f64 1/24 (*.f64 (pow.f64 im 4) (+.f64 1/2 re))))))
(+.f64 (*.f64 (+.f64 1/2 re) (*.f64 (pow.f64 im 2) -1/2)) (+.f64 1/2 (+.f64 re (*.f64 (+.f64 1/2 re) (*.f64 (pow.f64 im 4) 1/24)))))
(+.f64 (+.f64 1/2 re) (+.f64 (*.f64 (+.f64 1/2 re) (*.f64 1/24 (pow.f64 im 4))) (*.f64 (+.f64 1/2 re) (*.f64 -1/2 (pow.f64 im 2)))))
(+.f64 (+.f64 1/2 re) (*.f64 (+.f64 1/2 re) (+.f64 (*.f64 1/24 (pow.f64 im 4)) (*.f64 -1/2 (pow.f64 im 2)))))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 im 2) (+.f64 1/2 re))) (+.f64 1/2 (+.f64 (*.f64 -1/720 (*.f64 (pow.f64 im 6) (+.f64 1/2 re))) (+.f64 re (*.f64 1/24 (*.f64 (pow.f64 im 4) (+.f64 1/2 re)))))))
(+.f64 (*.f64 (+.f64 1/2 re) (*.f64 (pow.f64 im 2) -1/2)) (+.f64 1/2 (+.f64 (*.f64 (+.f64 1/2 re) (*.f64 (pow.f64 im 4) 1/24)) (+.f64 re (*.f64 (+.f64 1/2 re) (*.f64 (pow.f64 im 6) -1/720))))))
(+.f64 (*.f64 (+.f64 1/2 re) (*.f64 -1/2 (pow.f64 im 2))) (+.f64 (*.f64 (pow.f64 im 6) (*.f64 (+.f64 1/2 re) -1/720)) (+.f64 re (+.f64 (*.f64 (+.f64 1/2 re) (*.f64 1/24 (pow.f64 im 4))) 1/2))))
(+.f64 (*.f64 (+.f64 1/2 re) (+.f64 (*.f64 1/24 (pow.f64 im 4)) (*.f64 -1/720 (pow.f64 im 6)))) (+.f64 1/2 (+.f64 re (*.f64 (+.f64 1/2 re) (*.f64 -1/2 (pow.f64 im 2))))))
(+.f64 (*.f64 (+.f64 1/2 re) (+.f64 (*.f64 1/24 (pow.f64 im 4)) (*.f64 -1/720 (pow.f64 im 6)))) (*.f64 (+.f64 1/2 re) (-.f64 (*.f64 -1/2 (pow.f64 im 2)) -1)))
(*.f64 (cos.f64 im) (+.f64 1/2 re))
(+.f64 (*.f64 (cos.f64 im) re) (*.f64 1/2 (cos.f64 im)))
(*.f64 (cos.f64 im) (+.f64 1/2 re))
(+.f64 (*.f64 (cos.f64 im) re) (*.f64 1/2 (cos.f64 im)))
(*.f64 (cos.f64 im) (+.f64 1/2 re))
(+.f64 (*.f64 (cos.f64 im) re) (*.f64 1/2 (cos.f64 im)))
(*.f64 (cos.f64 im) (+.f64 1/2 re))
(+.f64 (*.f64 (cos.f64 im) re) (*.f64 1/2 (cos.f64 im)))
(*.f64 (cos.f64 im) (+.f64 1/2 re))
(+.f64 (*.f64 (cos.f64 im) re) (*.f64 1/2 (cos.f64 im)))
(*.f64 (cos.f64 im) (+.f64 1/2 re))
(+.f64 (*.f64 (cos.f64 im) re) (*.f64 1/2 (cos.f64 im)))
(*.f64 (cos.f64 im) (+.f64 1/2 re))
(+.f64 (*.f64 (cos.f64 im) re) (*.f64 1/2 (cos.f64 im)))
(*.f64 (cos.f64 im) (+.f64 1/2 re))
(+.f64 (*.f64 (cos.f64 im) re) (*.f64 1/2 (cos.f64 im)))
(-.f64 (*.f64 1/2 (cos.f64 im)) (*.f64 -1/2 (cos.f64 im)))
(-.f64 (*.f64 1/2 (cos.f64 im)) (*.f64 (cos.f64 im) -1/2))
(cos.f64 im)
(-.f64 (+.f64 (*.f64 (cos.f64 im) re) (*.f64 1/2 (cos.f64 im))) (*.f64 -1/2 (cos.f64 im)))
(-.f64 (+.f64 (*.f64 (cos.f64 im) re) (*.f64 1/2 (cos.f64 im))) (*.f64 (cos.f64 im) -1/2))
(*.f64 (cos.f64 im) (-.f64 (+.f64 1/2 re) -1/2))
(*.f64 (cos.f64 im) (+.f64 re 1))
(-.f64 (+.f64 (*.f64 (cos.f64 im) re) (*.f64 1/2 (cos.f64 im))) (*.f64 -1/2 (cos.f64 im)))
(-.f64 (+.f64 (*.f64 (cos.f64 im) re) (*.f64 1/2 (cos.f64 im))) (*.f64 (cos.f64 im) -1/2))
(*.f64 (cos.f64 im) (-.f64 (+.f64 1/2 re) -1/2))
(*.f64 (cos.f64 im) (+.f64 re 1))
(-.f64 (+.f64 (*.f64 (cos.f64 im) re) (*.f64 1/2 (cos.f64 im))) (*.f64 -1/2 (cos.f64 im)))
(-.f64 (+.f64 (*.f64 (cos.f64 im) re) (*.f64 1/2 (cos.f64 im))) (*.f64 (cos.f64 im) -1/2))
(*.f64 (cos.f64 im) (-.f64 (+.f64 1/2 re) -1/2))
(*.f64 (cos.f64 im) (+.f64 re 1))
(*.f64 (cos.f64 im) re)
(-.f64 (+.f64 (*.f64 1/2 (cos.f64 im)) (*.f64 (cos.f64 im) re)) (*.f64 -1/2 (cos.f64 im)))
(-.f64 (+.f64 (*.f64 (cos.f64 im) re) (*.f64 1/2 (cos.f64 im))) (*.f64 (cos.f64 im) -1/2))
(*.f64 (cos.f64 im) (-.f64 (+.f64 1/2 re) -1/2))
(*.f64 (cos.f64 im) (+.f64 re 1))
(-.f64 (+.f64 (*.f64 1/2 (cos.f64 im)) (*.f64 (cos.f64 im) re)) (*.f64 -1/2 (cos.f64 im)))
(-.f64 (+.f64 (*.f64 (cos.f64 im) re) (*.f64 1/2 (cos.f64 im))) (*.f64 (cos.f64 im) -1/2))
(*.f64 (cos.f64 im) (-.f64 (+.f64 1/2 re) -1/2))
(*.f64 (cos.f64 im) (+.f64 re 1))
(-.f64 (+.f64 (*.f64 1/2 (cos.f64 im)) (*.f64 (cos.f64 im) re)) (*.f64 -1/2 (cos.f64 im)))
(-.f64 (+.f64 (*.f64 (cos.f64 im) re) (*.f64 1/2 (cos.f64 im))) (*.f64 (cos.f64 im) -1/2))
(*.f64 (cos.f64 im) (-.f64 (+.f64 1/2 re) -1/2))
(*.f64 (cos.f64 im) (+.f64 re 1))
(*.f64 (cos.f64 im) re)
(-.f64 (+.f64 (*.f64 1/2 (cos.f64 im)) (*.f64 (cos.f64 im) re)) (*.f64 -1/2 (cos.f64 im)))
(-.f64 (+.f64 (*.f64 (cos.f64 im) re) (*.f64 1/2 (cos.f64 im))) (*.f64 (cos.f64 im) -1/2))
(*.f64 (cos.f64 im) (-.f64 (+.f64 1/2 re) -1/2))
(*.f64 (cos.f64 im) (+.f64 re 1))
(-.f64 (+.f64 (*.f64 1/2 (cos.f64 im)) (*.f64 (cos.f64 im) re)) (*.f64 -1/2 (cos.f64 im)))
(-.f64 (+.f64 (*.f64 (cos.f64 im) re) (*.f64 1/2 (cos.f64 im))) (*.f64 (cos.f64 im) -1/2))
(*.f64 (cos.f64 im) (-.f64 (+.f64 1/2 re) -1/2))
(*.f64 (cos.f64 im) (+.f64 re 1))
(-.f64 (+.f64 (*.f64 1/2 (cos.f64 im)) (*.f64 (cos.f64 im) re)) (*.f64 -1/2 (cos.f64 im)))
(-.f64 (+.f64 (*.f64 (cos.f64 im) re) (*.f64 1/2 (cos.f64 im))) (*.f64 (cos.f64 im) -1/2))
(*.f64 (cos.f64 im) (-.f64 (+.f64 1/2 re) -1/2))
(*.f64 (cos.f64 im) (+.f64 re 1))
(+.f64 1 re)
(+.f64 re 1)
(+.f64 1 (+.f64 re (*.f64 (-.f64 (*.f64 -1/2 (+.f64 1/2 re)) 1/4) (pow.f64 im 2))))
(+.f64 1 (+.f64 re (*.f64 (pow.f64 im 2) (-.f64 (*.f64 (+.f64 1/2 re) -1/2) 1/4))))
(+.f64 re (+.f64 (*.f64 (pow.f64 im 2) (-.f64 (*.f64 (+.f64 1/2 re) -1/2) 1/4)) 1))
(+.f64 re (+.f64 1 (*.f64 (pow.f64 im 2) (-.f64 (*.f64 (+.f64 1/2 re) -1/2) 1/4))))
(+.f64 1 (+.f64 (*.f64 (+.f64 1/48 (*.f64 1/24 (+.f64 1/2 re))) (pow.f64 im 4)) (+.f64 re (*.f64 (-.f64 (*.f64 -1/2 (+.f64 1/2 re)) 1/4) (pow.f64 im 2)))))
(+.f64 1 (+.f64 (*.f64 (pow.f64 im 2) (-.f64 (*.f64 (+.f64 1/2 re) -1/2) 1/4)) (+.f64 re (*.f64 (pow.f64 im 4) (+.f64 1/48 (*.f64 (+.f64 1/2 re) 1/24))))))
(+.f64 (*.f64 (pow.f64 im 4) (+.f64 1/48 (*.f64 (+.f64 1/2 re) 1/24))) (+.f64 re (+.f64 (*.f64 (pow.f64 im 2) (-.f64 (*.f64 (+.f64 1/2 re) -1/2) 1/4)) 1)))
(+.f64 1 (+.f64 re (+.f64 (*.f64 (pow.f64 im 2) (-.f64 (*.f64 (+.f64 1/2 re) -1/2) 1/4)) (*.f64 (pow.f64 im 4) (+.f64 1/48 (*.f64 (+.f64 1/2 re) 1/24))))))
(+.f64 (+.f64 re 1) (+.f64 (*.f64 (pow.f64 im 2) (-.f64 (*.f64 (+.f64 1/2 re) -1/2) 1/4)) (*.f64 (pow.f64 im 4) (+.f64 1/48 (*.f64 (+.f64 1/2 re) 1/24)))))
(+.f64 1 (+.f64 (*.f64 (+.f64 1/48 (*.f64 1/24 (+.f64 1/2 re))) (pow.f64 im 4)) (+.f64 re (+.f64 (*.f64 (-.f64 (*.f64 -1/2 (+.f64 1/2 re)) 1/4) (pow.f64 im 2)) (*.f64 (-.f64 (*.f64 -1/720 (+.f64 1/2 re)) 1/1440) (pow.f64 im 6))))))
(+.f64 1 (+.f64 (*.f64 (pow.f64 im 4) (+.f64 1/48 (*.f64 (+.f64 1/2 re) 1/24))) (+.f64 re (+.f64 (*.f64 (pow.f64 im 2) (-.f64 (*.f64 (+.f64 1/2 re) -1/2) 1/4)) (*.f64 (pow.f64 im 6) (-.f64 (*.f64 (+.f64 1/2 re) -1/720) 1/1440))))))
(+.f64 (*.f64 (pow.f64 im 4) (+.f64 1/48 (*.f64 (+.f64 1/2 re) 1/24))) (+.f64 (+.f64 (*.f64 (pow.f64 im 2) (-.f64 (*.f64 (+.f64 1/2 re) -1/2) 1/4)) (+.f64 re (*.f64 (pow.f64 im 6) (-.f64 (*.f64 (+.f64 1/2 re) -1/720) 1/1440)))) 1))
(+.f64 re (+.f64 (+.f64 (*.f64 (pow.f64 im 2) (-.f64 (*.f64 (+.f64 1/2 re) -1/2) 1/4)) (*.f64 (pow.f64 im 6) (-.f64 (*.f64 (+.f64 1/2 re) -1/720) 1/1440))) (+.f64 1 (*.f64 (pow.f64 im 4) (+.f64 1/48 (*.f64 (+.f64 1/2 re) 1/24))))))
(+.f64 (*.f64 (pow.f64 im 4) (+.f64 1/48 (*.f64 (+.f64 1/2 re) 1/24))) (+.f64 1 (+.f64 (*.f64 (pow.f64 im 2) (-.f64 (*.f64 (+.f64 1/2 re) -1/2) 1/4)) (+.f64 re (*.f64 (pow.f64 im 6) (-.f64 (*.f64 (+.f64 1/2 re) -1/720) 1/1440))))))
(-.f64 (*.f64 (cos.f64 im) (+.f64 1/2 re)) (*.f64 -1/2 (cos.f64 im)))
(-.f64 (+.f64 (*.f64 (cos.f64 im) re) (*.f64 1/2 (cos.f64 im))) (*.f64 (cos.f64 im) -1/2))
(*.f64 (cos.f64 im) (-.f64 (+.f64 1/2 re) -1/2))
(*.f64 (cos.f64 im) (+.f64 re 1))
(-.f64 (*.f64 (cos.f64 im) (+.f64 1/2 re)) (*.f64 -1/2 (cos.f64 im)))
(-.f64 (+.f64 (*.f64 (cos.f64 im) re) (*.f64 1/2 (cos.f64 im))) (*.f64 (cos.f64 im) -1/2))
(*.f64 (cos.f64 im) (-.f64 (+.f64 1/2 re) -1/2))
(*.f64 (cos.f64 im) (+.f64 re 1))
(-.f64 (*.f64 (cos.f64 im) (+.f64 1/2 re)) (*.f64 -1/2 (cos.f64 im)))
(-.f64 (+.f64 (*.f64 (cos.f64 im) re) (*.f64 1/2 (cos.f64 im))) (*.f64 (cos.f64 im) -1/2))
(*.f64 (cos.f64 im) (-.f64 (+.f64 1/2 re) -1/2))
(*.f64 (cos.f64 im) (+.f64 re 1))
(-.f64 (*.f64 (cos.f64 im) (+.f64 1/2 re)) (*.f64 -1/2 (cos.f64 im)))
(-.f64 (+.f64 (*.f64 (cos.f64 im) re) (*.f64 1/2 (cos.f64 im))) (*.f64 (cos.f64 im) -1/2))
(*.f64 (cos.f64 im) (-.f64 (+.f64 1/2 re) -1/2))
(*.f64 (cos.f64 im) (+.f64 re 1))
(-.f64 (*.f64 (cos.f64 im) (+.f64 1/2 re)) (*.f64 -1/2 (cos.f64 im)))
(-.f64 (+.f64 (*.f64 (cos.f64 im) re) (*.f64 1/2 (cos.f64 im))) (*.f64 (cos.f64 im) -1/2))
(*.f64 (cos.f64 im) (-.f64 (+.f64 1/2 re) -1/2))
(*.f64 (cos.f64 im) (+.f64 re 1))
(-.f64 (*.f64 (cos.f64 im) (+.f64 1/2 re)) (*.f64 -1/2 (cos.f64 im)))
(-.f64 (+.f64 (*.f64 (cos.f64 im) re) (*.f64 1/2 (cos.f64 im))) (*.f64 (cos.f64 im) -1/2))
(*.f64 (cos.f64 im) (-.f64 (+.f64 1/2 re) -1/2))
(*.f64 (cos.f64 im) (+.f64 re 1))
(-.f64 (*.f64 (cos.f64 im) (+.f64 1/2 re)) (*.f64 -1/2 (cos.f64 im)))
(-.f64 (+.f64 (*.f64 (cos.f64 im) re) (*.f64 1/2 (cos.f64 im))) (*.f64 (cos.f64 im) -1/2))
(*.f64 (cos.f64 im) (-.f64 (+.f64 1/2 re) -1/2))
(*.f64 (cos.f64 im) (+.f64 re 1))
(-.f64 (*.f64 (cos.f64 im) (+.f64 1/2 re)) (*.f64 -1/2 (cos.f64 im)))
(-.f64 (+.f64 (*.f64 (cos.f64 im) re) (*.f64 1/2 (cos.f64 im))) (*.f64 (cos.f64 im) -1/2))
(*.f64 (cos.f64 im) (-.f64 (+.f64 1/2 re) -1/2))
(*.f64 (cos.f64 im) (+.f64 re 1))
(+.f64 (*.f64 (+.f64 1/2 re) (cos.f64 im)) 0)
(+.f64 (*.f64 (cos.f64 im) re) (*.f64 1/2 (cos.f64 im)))
(*.f64 (cos.f64 im) (+.f64 1/2 re))
(+.f64 0 (*.f64 (+.f64 1/2 re) (cos.f64 im)))
(+.f64 (*.f64 (cos.f64 im) re) (*.f64 1/2 (cos.f64 im)))
(*.f64 (cos.f64 im) (+.f64 1/2 re))
(+.f64 (*.f64 (cos.f64 im) (+.f64 (/.f64 re 2) 1/4)) (*.f64 (cos.f64 im) (+.f64 (/.f64 re 2) 1/4)))
(*.f64 (+.f64 1/4 (/.f64 re 2)) (+.f64 (cos.f64 im) (cos.f64 im)))
(*.f64 (+.f64 1/4 (/.f64 re 2)) (*.f64 (cos.f64 im) 2))
(-.f64 (*.f64 (+.f64 1/2 re) (cos.f64 im)) 0)
(+.f64 (*.f64 (cos.f64 im) re) (*.f64 1/2 (cos.f64 im)))
(*.f64 (cos.f64 im) (+.f64 1/2 re))
(-.f64 (*.f64 (cos.f64 im) (+.f64 (/.f64 re 2) 1/4)) (/.f64 (*.f64 (+.f64 1/2 re) (cos.f64 im)) -2))
(-.f64 (*.f64 (cos.f64 im) (+.f64 1/4 (/.f64 re 2))) (/.f64 (*.f64 (cos.f64 im) (+.f64 1/2 re)) -2))
(+.f64 (*.f64 (cos.f64 im) (+.f64 1/4 (/.f64 re 2))) (*.f64 (*.f64 (cos.f64 im) (+.f64 1/2 re)) 1/2))
(/.f64 (*.f64 (+.f64 1/2 re) (cos.f64 im)) 1)
(+.f64 (*.f64 (cos.f64 im) re) (*.f64 1/2 (cos.f64 im)))
(*.f64 (cos.f64 im) (+.f64 1/2 re))
(/.f64 (*.f64 (+.f64 1/2 re) (*.f64 (cos.f64 im) 2)) 2)
(+.f64 (*.f64 (cos.f64 im) re) (*.f64 1/2 (cos.f64 im)))
(*.f64 (cos.f64 im) (+.f64 1/2 re))
(/.f64 (*.f64 (cos.f64 im) (*.f64 (+.f64 1/2 re) 4)) 4)
(+.f64 (*.f64 (cos.f64 im) re) (*.f64 1/2 (cos.f64 im)))
(*.f64 (cos.f64 im) (+.f64 1/2 re))
(/.f64 (*.f64 (*.f64 (+.f64 1/2 re) (cos.f64 im)) 8) 8)
(+.f64 (*.f64 (cos.f64 im) re) (*.f64 1/2 (cos.f64 im)))
(*.f64 (cos.f64 im) (+.f64 1/2 re))
(/.f64 (*.f64 (*.f64 (cos.f64 im) 4) (*.f64 (+.f64 1/2 re) 4)) 16)
(+.f64 (*.f64 (cos.f64 im) re) (*.f64 1/2 (cos.f64 im)))
(*.f64 (cos.f64 im) (+.f64 1/2 re))
(/.f64 (*.f64 (*.f64 (cos.f64 im) -1/2) (*.f64 (+.f64 1/2 re) 4)) -2)
(+.f64 (*.f64 (cos.f64 im) re) (*.f64 1/2 (cos.f64 im)))
(*.f64 (cos.f64 im) (+.f64 1/2 re))
(/.f64 (*.f64 (*.f64 (cos.f64 im) -1/2) (*.f64 2 (*.f64 (+.f64 1/2 re) 4))) -4)
(+.f64 (*.f64 (cos.f64 im) re) (*.f64 1/2 (cos.f64 im)))
(*.f64 (cos.f64 im) (+.f64 1/2 re))
(/.f64 (*.f64 (*.f64 (cos.f64 im) -1/2) (+.f64 re (+.f64 re 1))) -1)
(+.f64 (*.f64 (cos.f64 im) re) (*.f64 1/2 (cos.f64 im)))
(*.f64 (cos.f64 im) (+.f64 1/2 re))
(/.f64 (*.f64 (*.f64 (cos.f64 im) 2) (*.f64 2 (*.f64 (+.f64 1/2 re) 4))) 16)
(+.f64 (*.f64 (cos.f64 im) re) (*.f64 1/2 (cos.f64 im)))
(*.f64 (cos.f64 im) (+.f64 1/2 re))
(/.f64 (*.f64 (*.f64 (*.f64 (cos.f64 im) 2) 4) (*.f64 2 (*.f64 (+.f64 1/2 re) 4))) 64)
(+.f64 (*.f64 (cos.f64 im) re) (*.f64 1/2 (cos.f64 im)))
(*.f64 (cos.f64 im) (+.f64 1/2 re))
(/.f64 (*.f64 (*.f64 2 (*.f64 (+.f64 1/2 re) 4)) (*.f64 (*.f64 (cos.f64 im) 2) 4)) 64)
(+.f64 (*.f64 (cos.f64 im) re) (*.f64 1/2 (cos.f64 im)))
(*.f64 (cos.f64 im) (+.f64 1/2 re))
(/.f64 (*.f64 (*.f64 2 (cos.f64 0)) (*.f64 (+.f64 1/2 re) (*.f64 (cos.f64 im) 2))) 4)
(+.f64 (*.f64 (cos.f64 im) re) (*.f64 1/2 (cos.f64 im)))
(*.f64 (cos.f64 im) (+.f64 1/2 re))
(/.f64 (*.f64 (cos.f64 0) (*.f64 (cos.f64 im) (*.f64 (+.f64 1/2 re) 4))) 4)
(+.f64 (*.f64 (cos.f64 im) re) (*.f64 1/2 (cos.f64 im)))
(*.f64 (cos.f64 im) (+.f64 1/2 re))
(/.f64 (*.f64 (*.f64 2 (cos.f64 0)) (*.f64 (*.f64 (+.f64 1/2 re) (cos.f64 im)) 8)) 16)
(+.f64 (*.f64 (cos.f64 im) re) (*.f64 1/2 (cos.f64 im)))
(*.f64 (cos.f64 im) (+.f64 1/2 re))
(/.f64 (*.f64 (+.f64 re (+.f64 re 1)) (*.f64 (*.f64 (cos.f64 im) 2) 4)) 16)
(+.f64 (*.f64 (cos.f64 im) re) (*.f64 1/2 (cos.f64 im)))
(*.f64 (cos.f64 im) (+.f64 1/2 re))
(pow.f64 (*.f64 (+.f64 1/2 re) (cos.f64 im)) 1)
(+.f64 (*.f64 (cos.f64 im) re) (*.f64 1/2 (cos.f64 im)))
(*.f64 (cos.f64 im) (+.f64 1/2 re))
(+.f64 (*.f64 (+.f64 1/2 re) (cos.f64 im)) (*.f64 (cos.f64 im) 1/2))
(-.f64 (+.f64 (*.f64 (cos.f64 im) re) (*.f64 1/2 (cos.f64 im))) (*.f64 (cos.f64 im) -1/2))
(*.f64 (cos.f64 im) (-.f64 (+.f64 1/2 re) -1/2))
(*.f64 (cos.f64 im) (+.f64 re 1))
(+.f64 (*.f64 (cos.f64 im) (+.f64 re 1)) 0)
(-.f64 (+.f64 (*.f64 (cos.f64 im) re) (*.f64 1/2 (cos.f64 im))) (*.f64 (cos.f64 im) -1/2))
(*.f64 (cos.f64 im) (-.f64 (+.f64 1/2 re) -1/2))
(*.f64 (cos.f64 im) (+.f64 re 1))
(+.f64 0 (*.f64 (cos.f64 im) (+.f64 re 1)))
(-.f64 (+.f64 (*.f64 (cos.f64 im) re) (*.f64 1/2 (cos.f64 im))) (*.f64 (cos.f64 im) -1/2))
(*.f64 (cos.f64 im) (-.f64 (+.f64 1/2 re) -1/2))
(*.f64 (cos.f64 im) (+.f64 re 1))
(+.f64 (*.f64 (cos.f64 im) 1/2) (*.f64 (+.f64 1/2 re) (cos.f64 im)))
(-.f64 (+.f64 (*.f64 (cos.f64 im) re) (*.f64 1/2 (cos.f64 im))) (*.f64 (cos.f64 im) -1/2))
(*.f64 (cos.f64 im) (-.f64 (+.f64 1/2 re) -1/2))
(*.f64 (cos.f64 im) (+.f64 re 1))
(+.f64 (*.f64 (cos.f64 im) 1/2) (neg.f64 (neg.f64 (*.f64 (+.f64 1/2 re) (cos.f64 im)))))
(-.f64 (+.f64 (*.f64 (cos.f64 im) re) (*.f64 1/2 (cos.f64 im))) (*.f64 (cos.f64 im) -1/2))
(*.f64 (cos.f64 im) (-.f64 (+.f64 1/2 re) -1/2))
(*.f64 (cos.f64 im) (+.f64 re 1))
(+.f64 (*.f64 (+.f64 1/2 re) (*.f64 (cos.f64 im) 2)) (neg.f64 (*.f64 (cos.f64 im) (+.f64 (+.f64 1/2 re) -1/2))))
(+.f64 (*.f64 (cos.f64 im) (*.f64 (+.f64 1/2 re) 2)) (neg.f64 (*.f64 (cos.f64 im) (+.f64 re 0))))
(-.f64 (*.f64 (cos.f64 im) (+.f64 re (+.f64 re 1))) (*.f64 (cos.f64 im) (+.f64 re 0)))
(*.f64 (cos.f64 im) (-.f64 (+.f64 re (+.f64 re 1)) re))
(+.f64 (*.f64 (cos.f64 im) (-.f64 (+.f64 re (+.f64 re 1)) -1/2)) (neg.f64 (*.f64 (+.f64 1/2 re) (cos.f64 im))))
(+.f64 (neg.f64 (*.f64 (cos.f64 im) (+.f64 1/2 re))) (*.f64 (cos.f64 im) (-.f64 (+.f64 re (+.f64 re 1)) -1/2)))
(-.f64 (*.f64 (cos.f64 im) (-.f64 (+.f64 1 (+.f64 re re)) -1/2)) (*.f64 (cos.f64 im) (+.f64 1/2 re)))
(*.f64 (cos.f64 im) (-.f64 (-.f64 (+.f64 re (+.f64 re 1)) -1/2) (+.f64 1/2 re)))
(+.f64 (neg.f64 (*.f64 (+.f64 1/2 re) (cos.f64 im))) (*.f64 (cos.f64 im) (-.f64 (+.f64 re (+.f64 re 1)) -1/2)))
(+.f64 (neg.f64 (*.f64 (cos.f64 im) (+.f64 1/2 re))) (*.f64 (cos.f64 im) (-.f64 (+.f64 re (+.f64 re 1)) -1/2)))
(-.f64 (*.f64 (cos.f64 im) (-.f64 (+.f64 1 (+.f64 re re)) -1/2)) (*.f64 (cos.f64 im) (+.f64 1/2 re)))
(*.f64 (cos.f64 im) (-.f64 (-.f64 (+.f64 re (+.f64 re 1)) -1/2) (+.f64 1/2 re)))
(+.f64 (+.f64 (*.f64 (+.f64 1/2 re) (cos.f64 im)) (/.f64 (cos.f64 im) 4)) (/.f64 (cos.f64 im) 4))
(-.f64 (+.f64 (*.f64 (cos.f64 im) re) (*.f64 1/2 (cos.f64 im))) (*.f64 (cos.f64 im) -1/2))
(*.f64 (cos.f64 im) (-.f64 (+.f64 1/2 re) -1/2))
(*.f64 (cos.f64 im) (+.f64 re 1))
(+.f64 (+.f64 (*.f64 (+.f64 1/2 re) (cos.f64 im)) (/.f64 (cos.f64 im) 4)) (-.f64 (*.f64 (+.f64 1/2 re) (cos.f64 im)) (+.f64 (*.f64 (+.f64 1/2 re) (cos.f64 im)) (*.f64 (cos.f64 im) -1/4))))
(+.f64 (+.f64 (*.f64 (cos.f64 im) (+.f64 1/2 re)) (/.f64 (cos.f64 im) 4)) (-.f64 (*.f64 (cos.f64 im) (+.f64 1/2 re)) (+.f64 (*.f64 (cos.f64 im) (+.f64 1/2 re)) (*.f64 (cos.f64 im) -1/4))))
(+.f64 (neg.f64 (*.f64 (cos.f64 im) -1/4)) (+.f64 (*.f64 (cos.f64 im) (+.f64 1/2 re)) (/.f64 (cos.f64 im) 4)))
(+.f64 (/.f64 (cos.f64 im) 4) (*.f64 (cos.f64 im) (-.f64 (+.f64 1/2 re) -1/4)))
(+.f64 (/.f64 (cos.f64 im) 4) (+.f64 (*.f64 (+.f64 1/2 re) (cos.f64 im)) (/.f64 (cos.f64 im) 4)))
(-.f64 (+.f64 (*.f64 (cos.f64 im) re) (*.f64 1/2 (cos.f64 im))) (*.f64 (cos.f64 im) -1/2))
(*.f64 (cos.f64 im) (-.f64 (+.f64 1/2 re) -1/2))
(*.f64 (cos.f64 im) (+.f64 re 1))
(+.f64 (/.f64 (cos.f64 im) 4) (-.f64 (/.f64 (cos.f64 im) 4) (neg.f64 (*.f64 (+.f64 1/2 re) (cos.f64 im)))))
(-.f64 (+.f64 (*.f64 (cos.f64 im) re) (*.f64 1/2 (cos.f64 im))) (*.f64 (cos.f64 im) -1/2))
(*.f64 (cos.f64 im) (-.f64 (+.f64 1/2 re) -1/2))
(*.f64 (cos.f64 im) (+.f64 re 1))
(+.f64 (/.f64 (*.f64 (cos.f64 im) (+.f64 re 1)) 2) (/.f64 (*.f64 (cos.f64 im) (+.f64 re 1)) 2))
(-.f64 (+.f64 (*.f64 (cos.f64 im) re) (*.f64 1/2 (cos.f64 im))) (*.f64 (cos.f64 im) -1/2))
(*.f64 (cos.f64 im) (-.f64 (+.f64 1/2 re) -1/2))
(*.f64 (cos.f64 im) (+.f64 re 1))
(+.f64 (*.f64 (cos.f64 im) (+.f64 (/.f64 re 2) 1/4)) (/.f64 (*.f64 (cos.f64 im) (-.f64 (+.f64 1/2 re) -1)) 2))
(+.f64 (*.f64 (cos.f64 im) (+.f64 1/4 (/.f64 re 2))) (/.f64 (*.f64 (cos.f64 im) (+.f64 (+.f64 1/2 re) 1)) 2))
(+.f64 (*.f64 (cos.f64 im) (+.f64 1/4 (/.f64 re 2))) (/.f64 (*.f64 (cos.f64 im) (+.f64 re 3/2)) 2))
(+.f64 (*.f64 (cos.f64 im) (+.f64 (+.f64 1/2 re) -1/2)) (cos.f64 im))
(-.f64 (+.f64 (*.f64 (cos.f64 im) re) (*.f64 1/2 (cos.f64 im))) (*.f64 (cos.f64 im) -1/2))
(*.f64 (cos.f64 im) (-.f64 (+.f64 1/2 re) -1/2))
(*.f64 (cos.f64 im) (+.f64 re 1))
(+.f64 (/.f64 (*.f64 (cos.f64 im) (-.f64 (+.f64 1/2 re) -1)) 2) (*.f64 (cos.f64 im) (+.f64 (/.f64 re 2) 1/4)))
(+.f64 (*.f64 (cos.f64 im) (+.f64 1/4 (/.f64 re 2))) (/.f64 (*.f64 (cos.f64 im) (+.f64 (+.f64 1/2 re) 1)) 2))
(+.f64 (*.f64 (cos.f64 im) (+.f64 1/4 (/.f64 re 2))) (/.f64 (*.f64 (cos.f64 im) (+.f64 re 3/2)) 2))
(+.f64 (*.f64 (cos.f64 im) (-.f64 (+.f64 1/2 re) -1)) (*.f64 (cos.f64 im) -1/2))
(-.f64 (+.f64 (*.f64 (cos.f64 im) re) (*.f64 1/2 (cos.f64 im))) (*.f64 (cos.f64 im) -1/2))
(*.f64 (cos.f64 im) (-.f64 (+.f64 1/2 re) -1/2))
(*.f64 (cos.f64 im) (+.f64 re 1))
(+.f64 (-.f64 (*.f64 (cos.f64 im) -1/2) (neg.f64 (*.f64 (cos.f64 im) (+.f64 re 1)))) (*.f64 (cos.f64 im) 1/2))
(+.f64 (*.f64 1/2 (cos.f64 im)) (-.f64 (*.f64 (cos.f64 im) -1/2) (neg.f64 (*.f64 (cos.f64 im) (+.f64 re 1)))))
(+.f64 (*.f64 1/2 (cos.f64 im)) (-.f64 (*.f64 (cos.f64 im) -1/2) (*.f64 (cos.f64 im) (-.f64 -1 re))))
(-.f64 (*.f64 1/2 (cos.f64 im)) (*.f64 (cos.f64 im) (-.f64 (-.f64 -1 re) -1/2)))
(+.f64 (+.f64 (/.f64 (cos.f64 im) 4) (*.f64 (cos.f64 im) (+.f64 (+.f64 1/2 re) -1/2))) (/.f64 (*.f64 (cos.f64 im) 3) 4))
(+.f64 (+.f64 (*.f64 (cos.f64 im) (+.f64 (+.f64 1/2 re) -1/2)) (/.f64 (cos.f64 im) 4)) (/.f64 (*.f64 (cos.f64 im) 3) 4))
(+.f64 (*.f64 (cos.f64 im) (+.f64 re 0)) (+.f64 (/.f64 (cos.f64 im) 4) (/.f64 (*.f64 (cos.f64 im) 3) 4)))
(+.f64 (*.f64 (cos.f64 im) (+.f64 re 0)) (/.f64 (*.f64 (cos.f64 im) 4) 4))
(+.f64 (*.f64 (cos.f64 im) re) (*.f64 (cos.f64 im) (cos.f64 0)))
(+.f64 (neg.f64 (neg.f64 (*.f64 (+.f64 1/2 re) (cos.f64 im)))) (*.f64 (cos.f64 im) 1/2))
(-.f64 (+.f64 (*.f64 (cos.f64 im) re) (*.f64 1/2 (cos.f64 im))) (*.f64 (cos.f64 im) -1/2))
(*.f64 (cos.f64 im) (-.f64 (+.f64 1/2 re) -1/2))
(*.f64 (cos.f64 im) (+.f64 re 1))
(+.f64 (+.f64 (*.f64 (+.f64 1/2 re) (*.f64 (cos.f64 im) 2)) (/.f64 (cos.f64 im) 4)) (neg.f64 (+.f64 (*.f64 (+.f64 1/2 re) (cos.f64 im)) (*.f64 (cos.f64 im) -1/4))))
(+.f64 (+.f64 (*.f64 (cos.f64 im) (+.f64 1/2 re)) (/.f64 (cos.f64 im) 4)) (-.f64 (*.f64 (cos.f64 im) (+.f64 1/2 re)) (+.f64 (*.f64 (cos.f64 im) (+.f64 1/2 re)) (*.f64 (cos.f64 im) -1/4))))
(+.f64 (neg.f64 (*.f64 (cos.f64 im) -1/4)) (+.f64 (*.f64 (cos.f64 im) (+.f64 1/2 re)) (/.f64 (cos.f64 im) 4)))
(+.f64 (/.f64 (cos.f64 im) 4) (*.f64 (cos.f64 im) (-.f64 (+.f64 1/2 re) -1/4)))
(+.f64 (-.f64 (*.f64 (+.f64 1/2 re) (cos.f64 im)) (/.f64 (cos.f64 im) -8)) (neg.f64 (/.f64 (*.f64 (cos.f64 im) 3) -8)))
(-.f64 (+.f64 (*.f64 (cos.f64 im) re) (*.f64 1/2 (cos.f64 im))) (*.f64 (cos.f64 im) -1/2))
(*.f64 (cos.f64 im) (-.f64 (+.f64 1/2 re) -1/2))
(*.f64 (cos.f64 im) (+.f64 re 1))
(+.f64 (-.f64 (*.f64 (+.f64 1/2 re) (cos.f64 im)) (*.f64 (cos.f64 im) (+.f64 (/.f64 re 2) 1/4))) (-.f64 (*.f64 (+.f64 1/2 re) (cos.f64 im)) (/.f64 (+.f64 (*.f64 (+.f64 1/2 re) (cos.f64 im)) (neg.f64 (cos.f64 im))) 2)))
(+.f64 (*.f64 (cos.f64 im) (-.f64 (+.f64 1/2 re) (+.f64 1/4 (/.f64 re 2)))) (-.f64 (*.f64 (cos.f64 im) (+.f64 1/2 re)) (/.f64 (+.f64 (*.f64 (cos.f64 im) (+.f64 1/2 re)) (neg.f64 (cos.f64 im))) 2)))
(+.f64 (*.f64 (cos.f64 im) (+.f64 (-.f64 (+.f64 1/2 re) (/.f64 re 2)) -1/4)) (-.f64 (*.f64 (cos.f64 im) (+.f64 1/2 re)) (/.f64 (+.f64 (*.f64 (cos.f64 im) (+.f64 1/2 re)) (neg.f64 (cos.f64 im))) 2)))
(+.f64 (/.f64 (*.f64 (cos.f64 im) (+.f64 re 3/2)) 2) (*.f64 (cos.f64 im) (+.f64 -1/4 (-.f64 (+.f64 1/2 re) (/.f64 re 2)))))
(+.f64 (-.f64 0 (/.f64 (*.f64 (cos.f64 im) (-.f64 -1 (+.f64 1/2 re))) 2)) (neg.f64 (/.f64 (*.f64 (+.f64 1/2 re) (cos.f64 im)) -2)))
(-.f64 (+.f64 (*.f64 (cos.f64 im) re) (*.f64 1/2 (cos.f64 im))) (*.f64 (cos.f64 im) -1/2))
(*.f64 (cos.f64 im) (-.f64 (+.f64 1/2 re) -1/2))
(*.f64 (cos.f64 im) (+.f64 re 1))
(+.f64 (-.f64 (*.f64 (+.f64 1/2 re) (*.f64 (cos.f64 im) 2)) (*.f64 (+.f64 1/2 re) (cos.f64 im))) (*.f64 (cos.f64 im) 1/2))
(-.f64 (+.f64 (*.f64 (cos.f64 im) re) (*.f64 1/2 (cos.f64 im))) (*.f64 (cos.f64 im) -1/2))
(*.f64 (cos.f64 im) (-.f64 (+.f64 1/2 re) -1/2))
(*.f64 (cos.f64 im) (+.f64 re 1))
(+.f64 (-.f64 (*.f64 (+.f64 1/2 re) (*.f64 (cos.f64 im) 2)) (*.f64 (cos.f64 im) (+.f64 (/.f64 re 2) 1/4))) (neg.f64 (/.f64 (+.f64 (*.f64 (+.f64 1/2 re) (cos.f64 im)) (neg.f64 (cos.f64 im))) 2)))
(-.f64 (*.f64 (+.f64 1/2 re) (*.f64 (cos.f64 im) 2)) (+.f64 (*.f64 (cos.f64 im) (+.f64 1/4 (/.f64 re 2))) (/.f64 (+.f64 (*.f64 (cos.f64 im) (+.f64 1/2 re)) (neg.f64 (cos.f64 im))) 2)))
(+.f64 (-.f64 (*.f64 (cos.f64 im) (*.f64 (+.f64 1/2 re) 2)) (*.f64 (cos.f64 im) (+.f64 1/4 (/.f64 re 2)))) (/.f64 (+.f64 (*.f64 (cos.f64 im) (+.f64 1/2 re)) (neg.f64 (cos.f64 im))) -2))
(+.f64 (-.f64 (*.f64 (cos.f64 im) (+.f64 re (+.f64 re 1))) (*.f64 (cos.f64 im) (+.f64 1/4 (/.f64 re 2)))) (*.f64 (*.f64 (cos.f64 im) (+.f64 (+.f64 1/2 re) -1)) -1/2))
(+.f64 (*.f64 (cos.f64 im) (-.f64 (+.f64 re (+.f64 re 1)) (+.f64 1/4 (/.f64 re 2)))) (*.f64 (*.f64 (cos.f64 im) (+.f64 (+.f64 1/2 re) -1)) -1/2))
(+.f64 (-.f64 (+.f64 (*.f64 (+.f64 1/2 re) (cos.f64 im)) (/.f64 (cos.f64 im) 4)) (/.f64 (cos.f64 im) -8)) (neg.f64 (/.f64 (cos.f64 im) -8)))
(-.f64 (+.f64 (*.f64 (cos.f64 im) re) (*.f64 1/2 (cos.f64 im))) (*.f64 (cos.f64 im) -1/2))
(*.f64 (cos.f64 im) (-.f64 (+.f64 1/2 re) -1/2))
(*.f64 (cos.f64 im) (+.f64 re 1))
(+.f64 (-.f64 (*.f64 (cos.f64 im) (+.f64 (+.f64 1/2 re) -1/2)) (*.f64 (*.f64 (cos.f64 im) 3) -1/4)) (/.f64 (cos.f64 im) 4))
(+.f64 (/.f64 (cos.f64 im) 4) (-.f64 (*.f64 (cos.f64 im) (+.f64 (+.f64 1/2 re) -1/2)) (*.f64 -1/4 (*.f64 (cos.f64 im) 3))))
(+.f64 (/.f64 (cos.f64 im) 4) (-.f64 (*.f64 (cos.f64 im) (+.f64 re 0)) (*.f64 (cos.f64 im) -3/4)))
(+.f64 (/.f64 (cos.f64 im) 4) (*.f64 (cos.f64 im) (-.f64 (+.f64 re 0) -3/4)))
(+.f64 (/.f64 (cos.f64 im) 4) (*.f64 (cos.f64 im) (-.f64 re -3/4)))
(+.f64 (-.f64 (*.f64 (cos.f64 im) (+.f64 (/.f64 re 2) 1/4)) (/.f64 (cos.f64 im) -8)) (-.f64 (*.f64 (cos.f64 im) (+.f64 (/.f64 re 2) 1/4)) (/.f64 (*.f64 (cos.f64 im) 3) -8)))
(+.f64 (-.f64 (*.f64 (cos.f64 im) (+.f64 1/4 (/.f64 re 2))) (/.f64 (cos.f64 im) -8)) (-.f64 (*.f64 (cos.f64 im) (+.f64 1/4 (/.f64 re 2))) (/.f64 (*.f64 (cos.f64 im) 3) -8)))
(+.f64 (-.f64 (*.f64 (cos.f64 im) (+.f64 (/.f64 re 2) 1/4)) (*.f64 (cos.f64 im) (+.f64 (+.f64 1/2 re) -1/2))) (-.f64 (*.f64 (cos.f64 im) (+.f64 (/.f64 re 2) 1/4)) (neg.f64 (*.f64 (+.f64 1/2 re) (cos.f64 im)))))
(+.f64 (-.f64 (*.f64 (cos.f64 im) (+.f64 1/4 (/.f64 re 2))) (*.f64 (cos.f64 im) (+.f64 (+.f64 1/2 re) -1/2))) (-.f64 (*.f64 (cos.f64 im) (+.f64 1/4 (/.f64 re 2))) (neg.f64 (*.f64 (cos.f64 im) (+.f64 1/2 re)))))
(+.f64 (*.f64 (cos.f64 im) (-.f64 (+.f64 1/4 (/.f64 re 2)) (+.f64 re 0))) (-.f64 (*.f64 (cos.f64 im) (+.f64 1/2 re)) (neg.f64 (*.f64 (cos.f64 im) (+.f64 1/4 (/.f64 re 2))))))
(+.f64 (*.f64 (cos.f64 im) (+.f64 (-.f64 (+.f64 1/4 (/.f64 re 2)) re) 0)) (-.f64 (*.f64 (cos.f64 im) (+.f64 1/2 re)) (neg.f64 (*.f64 (cos.f64 im) (+.f64 1/4 (/.f64 re 2))))))
(+.f64 (*.f64 (cos.f64 im) (-.f64 (+.f64 1/4 (/.f64 re 2)) re)) (*.f64 (cos.f64 im) (-.f64 (+.f64 1/4 (/.f64 re 2)) (neg.f64 (+.f64 1/2 re)))))
(+.f64 (-.f64 (/.f64 (cos.f64 im) 4) (/.f64 (*.f64 (cos.f64 im) (+.f64 re 1)) -2)) (neg.f64 (/.f64 (*.f64 (+.f64 1/2 re) (cos.f64 im)) -2)))
(-.f64 (/.f64 (cos.f64 im) 4) (+.f64 (/.f64 (*.f64 (cos.f64 im) (+.f64 re 1)) -2) (/.f64 (*.f64 (cos.f64 im) (+.f64 1/2 re)) -2)))
(-.f64 (/.f64 (cos.f64 im) 4) (/.f64 (+.f64 (*.f64 (cos.f64 im) (+.f64 re 1)) (*.f64 (cos.f64 im) (+.f64 1/2 re))) -2))
(-.f64 (/.f64 (cos.f64 im) 4) (/.f64 (*.f64 (cos.f64 im) (+.f64 (+.f64 re 1) (+.f64 1/2 re))) -2))
(*.f64 1/2 (*.f64 (*.f64 (cos.f64 im) (+.f64 re 1)) 2))
(-.f64 (+.f64 (*.f64 (cos.f64 im) re) (*.f64 1/2 (cos.f64 im))) (*.f64 (cos.f64 im) -1/2))
(*.f64 (cos.f64 im) (-.f64 (+.f64 1/2 re) -1/2))
(*.f64 (cos.f64 im) (+.f64 re 1))
(*.f64 1/2 (-.f64 (*.f64 (cos.f64 im) (*.f64 (+.f64 1/2 re) 4)) (*.f64 (cos.f64 im) (+.f64 (+.f64 re (+.f64 re 1)) -1))))
(*.f64 1/2 (*.f64 (cos.f64 im) (-.f64 (*.f64 (+.f64 1/2 re) 4) (+.f64 (+.f64 re re) 0))))
(*.f64 1/2 (*.f64 (cos.f64 im) (-.f64 (*.f64 (+.f64 1/2 re) 4) (+.f64 0 (+.f64 re re)))))
(*.f64 1/2 (*.f64 (cos.f64 im) (-.f64 (*.f64 (+.f64 1/2 re) 4) (+.f64 re re))))
(*.f64 (cos.f64 im) (+.f64 re 1))
(-.f64 (+.f64 (*.f64 (cos.f64 im) re) (*.f64 1/2 (cos.f64 im))) (*.f64 (cos.f64 im) -1/2))
(*.f64 (cos.f64 im) (-.f64 (+.f64 1/2 re) -1/2))
(*.f64 (*.f64 (cos.f64 im) (+.f64 re 1)) 1)
(-.f64 (+.f64 (*.f64 (cos.f64 im) re) (*.f64 1/2 (cos.f64 im))) (*.f64 (cos.f64 im) -1/2))
(*.f64 (cos.f64 im) (-.f64 (+.f64 1/2 re) -1/2))
(*.f64 (cos.f64 im) (+.f64 re 1))
(*.f64 1 (*.f64 (cos.f64 im) (+.f64 re 1)))
(-.f64 (+.f64 (*.f64 (cos.f64 im) re) (*.f64 1/2 (cos.f64 im))) (*.f64 (cos.f64 im) -1/2))
(*.f64 (cos.f64 im) (-.f64 (+.f64 1/2 re) -1/2))
(*.f64 (cos.f64 im) (+.f64 re 1))
(*.f64 (*.f64 (cos.f64 im) 2) (-.f64 (+.f64 (/.f64 re 2) 1/4) -1/4))
(*.f64 (*.f64 (cos.f64 im) 2) (-.f64 (+.f64 1/4 (/.f64 re 2)) -1/4))
(*.f64 (cos.f64 im) (*.f64 2 (-.f64 (+.f64 1/4 (/.f64 re 2)) -1/4)))
(*.f64 (neg.f64 (*.f64 (cos.f64 im) (+.f64 re 1))) -1)
(-.f64 (+.f64 (*.f64 (cos.f64 im) re) (*.f64 1/2 (cos.f64 im))) (*.f64 (cos.f64 im) -1/2))
(*.f64 (cos.f64 im) (-.f64 (+.f64 1/2 re) -1/2))
(*.f64 (cos.f64 im) (+.f64 re 1))
(*.f64 (*.f64 (cos.f64 im) 1/2) (+.f64 (+.f64 re (+.f64 re 1)) 1))
(-.f64 (+.f64 (*.f64 (cos.f64 im) re) (*.f64 1/2 (cos.f64 im))) (*.f64 (cos.f64 im) -1/2))
(*.f64 (cos.f64 im) (-.f64 (+.f64 1/2 re) -1/2))
(*.f64 (cos.f64 im) (+.f64 re 1))
(*.f64 (*.f64 (cos.f64 im) 1/2) (+.f64 1 (+.f64 re (+.f64 re 1))))
(-.f64 (+.f64 (*.f64 (cos.f64 im) re) (*.f64 1/2 (cos.f64 im))) (*.f64 (cos.f64 im) -1/2))
(*.f64 (cos.f64 im) (-.f64 (+.f64 1/2 re) -1/2))
(*.f64 (cos.f64 im) (+.f64 re 1))
(*.f64 (neg.f64 (cos.f64 im)) (-.f64 0 (+.f64 re 1)))
(-.f64 (+.f64 (*.f64 (cos.f64 im) re) (*.f64 1/2 (cos.f64 im))) (*.f64 (cos.f64 im) -1/2))
(*.f64 (cos.f64 im) (-.f64 (+.f64 1/2 re) -1/2))
(*.f64 (cos.f64 im) (+.f64 re 1))
(*.f64 (*.f64 (*.f64 (cos.f64 im) (+.f64 re 1)) 2) 1/2)
(-.f64 (+.f64 (*.f64 (cos.f64 im) re) (*.f64 1/2 (cos.f64 im))) (*.f64 (cos.f64 im) -1/2))
(*.f64 (cos.f64 im) (-.f64 (+.f64 1/2 re) -1/2))
(*.f64 (cos.f64 im) (+.f64 re 1))
(*.f64 -1 (neg.f64 (*.f64 (cos.f64 im) (+.f64 re 1))))
(-.f64 (+.f64 (*.f64 (cos.f64 im) re) (*.f64 1/2 (cos.f64 im))) (*.f64 (cos.f64 im) -1/2))
(*.f64 (cos.f64 im) (-.f64 (+.f64 1/2 re) -1/2))
(*.f64 (cos.f64 im) (+.f64 re 1))
(*.f64 (+.f64 re 1) (cos.f64 im))
(-.f64 (+.f64 (*.f64 (cos.f64 im) re) (*.f64 1/2 (cos.f64 im))) (*.f64 (cos.f64 im) -1/2))
(*.f64 (cos.f64 im) (-.f64 (+.f64 1/2 re) -1/2))
(*.f64 (cos.f64 im) (+.f64 re 1))
(*.f64 (*.f64 (*.f64 (cos.f64 im) (+.f64 re 1)) 4) 1/4)
(-.f64 (+.f64 (*.f64 (cos.f64 im) re) (*.f64 1/2 (cos.f64 im))) (*.f64 (cos.f64 im) -1/2))
(*.f64 (cos.f64 im) (-.f64 (+.f64 1/2 re) -1/2))
(*.f64 (cos.f64 im) (+.f64 re 1))
(*.f64 1/4 (*.f64 (*.f64 (cos.f64 im) (+.f64 re 1)) 4))
(-.f64 (+.f64 (*.f64 (cos.f64 im) re) (*.f64 1/2 (cos.f64 im))) (*.f64 (cos.f64 im) -1/2))
(*.f64 (cos.f64 im) (-.f64 (+.f64 1/2 re) -1/2))
(*.f64 (cos.f64 im) (+.f64 re 1))
(*.f64 (*.f64 2 (*.f64 (*.f64 (cos.f64 im) (+.f64 re 1)) 4)) 1/8)
(-.f64 (+.f64 (*.f64 (cos.f64 im) re) (*.f64 1/2 (cos.f64 im))) (*.f64 (cos.f64 im) -1/2))
(*.f64 (cos.f64 im) (-.f64 (+.f64 1/2 re) -1/2))
(*.f64 (cos.f64 im) (+.f64 re 1))
(/.f64 (*.f64 (cos.f64 im) (+.f64 re 1)) 1)
(-.f64 (+.f64 (*.f64 (cos.f64 im) re) (*.f64 1/2 (cos.f64 im))) (*.f64 (cos.f64 im) -1/2))
(*.f64 (cos.f64 im) (-.f64 (+.f64 1/2 re) -1/2))
(*.f64 (cos.f64 im) (+.f64 re 1))
(/.f64 (neg.f64 (*.f64 (cos.f64 im) (+.f64 re 1))) -1)
(-.f64 (+.f64 (*.f64 (cos.f64 im) re) (*.f64 1/2 (cos.f64 im))) (*.f64 (cos.f64 im) -1/2))
(*.f64 (cos.f64 im) (-.f64 (+.f64 1/2 re) -1/2))
(*.f64 (cos.f64 im) (+.f64 re 1))
(/.f64 (*.f64 (*.f64 (cos.f64 im) (+.f64 re 1)) 2) 2)
(-.f64 (+.f64 (*.f64 (cos.f64 im) re) (*.f64 1/2 (cos.f64 im))) (*.f64 (cos.f64 im) -1/2))
(*.f64 (cos.f64 im) (-.f64 (+.f64 1/2 re) -1/2))
(*.f64 (cos.f64 im) (+.f64 re 1))
(/.f64 (*.f64 (*.f64 (cos.f64 im) (+.f64 re 1)) 4) 4)
(-.f64 (+.f64 (*.f64 (cos.f64 im) re) (*.f64 1/2 (cos.f64 im))) (*.f64 (cos.f64 im) -1/2))
(*.f64 (cos.f64 im) (-.f64 (+.f64 1/2 re) -1/2))
(*.f64 (cos.f64 im) (+.f64 re 1))
(/.f64 (*.f64 -2 (*.f64 (cos.f64 im) (+.f64 re 1))) -2)
(-.f64 (+.f64 (*.f64 (cos.f64 im) re) (*.f64 1/2 (cos.f64 im))) (*.f64 (cos.f64 im) -1/2))
(*.f64 (cos.f64 im) (-.f64 (+.f64 1/2 re) -1/2))
(*.f64 (cos.f64 im) (+.f64 re 1))
(/.f64 (*.f64 2 (*.f64 (*.f64 (cos.f64 im) (+.f64 re 1)) 4)) 8)
(-.f64 (+.f64 (*.f64 (cos.f64 im) re) (*.f64 1/2 (cos.f64 im))) (*.f64 (cos.f64 im) -1/2))
(*.f64 (cos.f64 im) (-.f64 (+.f64 1/2 re) -1/2))
(*.f64 (cos.f64 im) (+.f64 re 1))
(/.f64 (*.f64 (cos.f64 im) (-.f64 -2 (*.f64 (+.f64 1/2 re) 4))) -4)
(/.f64 (/.f64 (*.f64 (cos.f64 im) (-.f64 -2 (*.f64 (+.f64 1/2 re) 4))) -1) 4)
(/.f64 (*.f64 (cos.f64 im) (-.f64 -2 (*.f64 (+.f64 1/2 re) 4))) -4)
(/.f64 (-.f64 (*.f64 (cos.f64 im) (*.f64 (+.f64 1/2 re) 4)) (*.f64 (cos.f64 im) (+.f64 (+.f64 re (+.f64 re 1)) -1))) 2)
(/.f64 (*.f64 (cos.f64 im) (-.f64 (*.f64 (+.f64 1/2 re) 4) (+.f64 (+.f64 re re) 0))) 2)
(/.f64 (*.f64 (cos.f64 im) (-.f64 (*.f64 (+.f64 1/2 re) 4) (+.f64 0 (+.f64 re re)))) 2)
(/.f64 (*.f64 (cos.f64 im) (-.f64 (*.f64 (+.f64 1/2 re) 4) (+.f64 re re))) 2)
(/.f64 (+.f64 (*.f64 (*.f64 (+.f64 1/2 re) (cos.f64 im)) 8) (*.f64 (cos.f64 im) 4)) 8)
(-.f64 (+.f64 (*.f64 (cos.f64 im) re) (*.f64 1/2 (cos.f64 im))) (*.f64 (cos.f64 im) -1/2))
(*.f64 (cos.f64 im) (-.f64 (+.f64 1/2 re) -1/2))
(*.f64 (cos.f64 im) (+.f64 re 1))
(/.f64 (+.f64 (*.f64 (*.f64 (cos.f64 im) 4) (*.f64 (+.f64 1/2 re) 4)) (*.f64 (*.f64 (cos.f64 im) 2) 4)) 16)
(-.f64 (+.f64 (*.f64 (cos.f64 im) re) (*.f64 1/2 (cos.f64 im))) (*.f64 (cos.f64 im) -1/2))
(*.f64 (cos.f64 im) (-.f64 (+.f64 1/2 re) -1/2))
(*.f64 (cos.f64 im) (+.f64 re 1))
(/.f64 (+.f64 (*.f64 (cos.f64 im) 2) (*.f64 (cos.f64 im) (*.f64 (+.f64 1/2 re) 4))) 4)
(-.f64 (+.f64 (*.f64 (cos.f64 im) re) (*.f64 1/2 (cos.f64 im))) (*.f64 (cos.f64 im) -1/2))
(*.f64 (cos.f64 im) (-.f64 (+.f64 1/2 re) -1/2))
(*.f64 (cos.f64 im) (+.f64 re 1))
(/.f64 (+.f64 (*.f64 (cos.f64 im) 4) (*.f64 (*.f64 (+.f64 1/2 re) (cos.f64 im)) 8)) 8)
(-.f64 (+.f64 (*.f64 (cos.f64 im) re) (*.f64 1/2 (cos.f64 im))) (*.f64 (cos.f64 im) -1/2))
(*.f64 (cos.f64 im) (-.f64 (+.f64 1/2 re) -1/2))
(*.f64 (cos.f64 im) (+.f64 re 1))
(/.f64 (+.f64 (*.f64 (*.f64 (cos.f64 im) 2) 4) (*.f64 (*.f64 (cos.f64 im) 4) (*.f64 (+.f64 1/2 re) 4))) 16)
(-.f64 (+.f64 (*.f64 (cos.f64 im) re) (*.f64 1/2 (cos.f64 im))) (*.f64 (cos.f64 im) -1/2))
(*.f64 (cos.f64 im) (-.f64 (+.f64 1/2 re) -1/2))
(*.f64 (cos.f64 im) (+.f64 re 1))
(/.f64 (-.f64 (*.f64 (*.f64 (+.f64 1/2 re) (cos.f64 im)) 8) (*.f64 (cos.f64 im) -4)) 8)
(-.f64 (+.f64 (*.f64 (cos.f64 im) re) (*.f64 1/2 (cos.f64 im))) (*.f64 (cos.f64 im) -1/2))
(*.f64 (cos.f64 im) (-.f64 (+.f64 1/2 re) -1/2))
(*.f64 (cos.f64 im) (+.f64 re 1))
(/.f64 (-.f64 (*.f64 (*.f64 (+.f64 1/2 re) (cos.f64 im)) 8) (*.f64 (cos.f64 im) (+.f64 (*.f64 (+.f64 1/2 re) 4) -2))) 4)
(/.f64 (-.f64 (*.f64 (*.f64 (cos.f64 im) (+.f64 1/2 re)) 8) (*.f64 (cos.f64 im) (+.f64 -2 (*.f64 (+.f64 1/2 re) 4)))) 4)
(/.f64 (-.f64 (*.f64 (cos.f64 im) (*.f64 (+.f64 1/2 re) 8)) (*.f64 (cos.f64 im) (+.f64 -2 (*.f64 (+.f64 1/2 re) 4)))) 4)
(-.f64 (*.f64 (cos.f64 im) (+.f64 re (+.f64 re 1))) (/.f64 (*.f64 (cos.f64 im) (+.f64 -2 (*.f64 (+.f64 1/2 re) 4))) 4))
(/.f64 (*.f64 (cos.f64 im) (-.f64 (*.f64 (+.f64 1/2 re) 8) (+.f64 -2 (*.f64 (+.f64 1/2 re) 4)))) 4)
(/.f64 (-.f64 (*.f64 (cos.f64 im) (+.f64 (+.f64 re (+.f64 re 1)) -1)) (*.f64 (cos.f64 im) -2)) 2)
(-.f64 (+.f64 (*.f64 (cos.f64 im) re) (*.f64 1/2 (cos.f64 im))) (*.f64 (cos.f64 im) -1/2))
(*.f64 (cos.f64 im) (-.f64 (+.f64 1/2 re) -1/2))
(*.f64 (cos.f64 im) (+.f64 re 1))
(/.f64 (-.f64 (*.f64 (cos.f64 im) (+.f64 (*.f64 (+.f64 1/2 re) 4) -2)) (*.f64 (cos.f64 im) -4)) 4)
(-.f64 (+.f64 (*.f64 (cos.f64 im) re) (*.f64 1/2 (cos.f64 im))) (*.f64 (cos.f64 im) -1/2))
(*.f64 (cos.f64 im) (-.f64 (+.f64 1/2 re) -1/2))
(*.f64 (cos.f64 im) (+.f64 re 1))
(pow.f64 (*.f64 (cos.f64 im) (+.f64 re 1)) 1)
(-.f64 (+.f64 (*.f64 (cos.f64 im) re) (*.f64 1/2 (cos.f64 im))) (*.f64 (cos.f64 im) -1/2))
(*.f64 (cos.f64 im) (-.f64 (+.f64 1/2 re) -1/2))
(*.f64 (cos.f64 im) (+.f64 re 1))
(neg.f64 (neg.f64 (*.f64 (cos.f64 im) (+.f64 re 1))))
(-.f64 (+.f64 (*.f64 (cos.f64 im) re) (*.f64 1/2 (cos.f64 im))) (*.f64 (cos.f64 im) -1/2))
(*.f64 (cos.f64 im) (-.f64 (+.f64 1/2 re) -1/2))
(*.f64 (cos.f64 im) (+.f64 re 1))

eval375.0ms (1.8%)

Compiler

Compiled 3324 to 2229 computations (32.9% saved)

prune537.0ms (2.6%)

Pruning

9 alts after pruning (2 fresh and 7 done)

PrunedKeptTotal
New1831184
Fresh011
Picked101
Done077
Total1849193
Error
0.0b
Counts
193 → 9
Alt Table
Click to see full alt table
StatusErrorProgram
20.7b
(/.f64 (*.f64 (cos.f64 im) (-.f64 (*.f64 (+.f64 1/2 re) 4) (+.f64 re re))) 2)
40.2b
(+.f64 1 re)
0.0b
(*.f64 (exp.f64 re) (cos.f64 im))
20.7b
(*.f64 (cos.f64 im) (-.f64 re -1))
20.7b
(*.f64 (cos.f64 im) (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) 1)))
61.9b
(*.f64 (cos.f64 im) re)
20.0b
(exp.f64 re)
20.9b
(cos.f64 im)
62.0b
re
Compiler

Compiled 67 to 50 computations (25.4% saved)

regimes103.0ms (0.5%)

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

5 calls:

29.0ms
im
28.0ms
(cos.f64 im)
26.0ms
re
10.0ms
(*.f64 (exp.f64 re) (cos.f64 im))
5.0ms
(exp.f64 re)
Results
ErrorSegmentsBranch
0.0b1re
0.0b1im
0.0b1(*.f64 (exp.f64 re) (cos.f64 im))
0.0b1(exp.f64 re)
0.0b1(cos.f64 im)
Compiler

Compiled 113 to 67 computations (40.7% saved)

regimes269.0ms (1.3%)

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

4 calls:

154.0ms
(cos.f64 im)
71.0ms
im
34.0ms
re
7.0ms
(exp.f64 re)
Results
ErrorSegmentsBranch
0.6b2re
9.6b3im
0.6b2(exp.f64 re)
9.6b2(cos.f64 im)
Compiler

Compiled 48 to 29 computations (39.6% saved)

bsearch0.0ms (0%)

Algorithm
left-value
Steps
TimeLeftRight
0.0ms
4.932331061057104e-261
0.9999971773138305
Compiler

Compiled 12 to 9 computations (25% saved)

regimes233.0ms (1.1%)

Counts
5 → 2
Calls
Call 1
Inputs
re
(+.f64 1 re)
(cos.f64 im)
(exp.f64 re)
(*.f64 (cos.f64 im) re)
Outputs
(exp.f64 re)
(cos.f64 im)
Calls

4 calls:

103.0ms
(cos.f64 im)
53.0ms
im
41.0ms
(exp.f64 re)
34.0ms
re
Results
ErrorSegmentsBranch
1.0b2re
9.7b3im
1.0b2(exp.f64 re)
9.7b2(cos.f64 im)
Compiler

Compiled 28 to 17 computations (39.3% saved)

bsearch0.0ms (0%)

Algorithm
left-value
Steps
TimeLeftRight
0.0ms
4.932331061057104e-261
0.9999971773138305
Compiler

Compiled 12 to 9 computations (25% saved)

regimes81.0ms (0.4%)

Counts
3 → 1
Calls
Call 1
Inputs
re
(+.f64 1 re)
(cos.f64 im)
Outputs
(cos.f64 im)
Calls

3 calls:

54.0ms
re
18.0ms
(cos.f64 im)
7.0ms
im
Results
ErrorSegmentsBranch
20.9b1re
20.9b1im
20.9b1(cos.f64 im)
Compiler

Compiled 18 to 12 computations (33.3% saved)

regimes39.0ms (0.2%)

Accuracy

Total -22.0b remaining (-54.8%)

Threshold costs -22.0b (-54.8%)

Counts
2 → 1
Calls
Call 1
Inputs
re
(+.f64 1 re)
Outputs
(+.f64 1 re)
Calls

2 calls:

32.0ms
re
6.0ms
im
Results
ErrorSegmentsBranch
40.2b1re
40.2b1im
Compiler

Compiled 12 to 8 computations (33.3% saved)

simplify18.0ms (0.1%)

Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02086
Stop Event
fuel
saturated
Calls
Call 1
Inputs
(*.f64 (exp.f64 re) (cos.f64 im))
(if (<=.f64 (exp.f64 re) 5539569662801113/1107913932560222642718302084617242634394213707491304322373697056856707228094640652496493097019312046907692196808899173923175472949106175979816042319761510659592576951121881510274623639758153063707231876091920910184135845830200523203728421733043088080742988814006853038686339072) (exp.f64 re) (*.f64 (cos.f64 im) (-.f64 re -1)))
(if (<=.f64 (exp.f64 re) 5539569662801113/1107913932560222642718302084617242634394213707491304322373697056856707228094640652496493097019312046907692196808899173923175472949106175979816042319761510659592576951121881510274623639758153063707231876091920910184135845830200523203728421733043088080742988814006853038686339072) (exp.f64 re) (cos.f64 im))
(cos.f64 im)
(+.f64 1 re)
re
Outputs
(*.f64 (exp.f64 re) (cos.f64 im))
(if (<=.f64 (exp.f64 re) 5539569662801113/1107913932560222642718302084617242634394213707491304322373697056856707228094640652496493097019312046907692196808899173923175472949106175979816042319761510659592576951121881510274623639758153063707231876091920910184135845830200523203728421733043088080742988814006853038686339072) (exp.f64 re) (*.f64 (cos.f64 im) (-.f64 re -1)))
(if (<=.f64 (exp.f64 re) 5539569662801113/1107913932560222642718302084617242634394213707491304322373697056856707228094640652496493097019312046907692196808899173923175472949106175979816042319761510659592576951121881510274623639758153063707231876091920910184135845830200523203728421733043088080742988814006853038686339072) (exp.f64 re) (cos.f64 im))
(cos.f64 im)
(+.f64 1 re)
re
Compiler

Compiled 45 to 31 computations (31.1% saved)

soundness0.0ms (0%)

end336.0ms (1.6%)

Compiler

Compiled 35 to 16 computations (54.3% saved)

Profiling

Loading profile data...