Details

Time bar (total: 17.4s)

analyze459.0ms (2.6%)

Algorithm
search
Search
ProbabilityValidUnknownPreconditionInfiniteDomainCan'tIter
0%0%99.9%0.1%0%0%0%0
0%0%99.9%0.1%0%0%0%1
0%0%99.9%0.1%0%0%0%2
0%0%99.9%0.1%0%0%0%3
0%0%99.9%0.1%0%0%0%4
50%50%50%0.1%0%0%0%5
50%50%50%0.1%0%0%0%6
57.1%50%37.5%0.1%12.5%0%0%7
57.1%50%37.5%0.1%12.5%0%0%8
61.5%50%31.2%0.1%18.7%0%0%9
61.5%50%31.2%0.1%18.7%0%0%10
64%50%28.1%0.1%21.9%0%0%11
64%50%28.1%0.1%21.9%0%0%12
Compiler

Compiled 14 to 11 computations (21.4% saved)

sample13.7s (78.5%)

Results
4.0s2097×body1024valid
3.9s5155×body256valid
3.1s2031×body1024infinite
954.0ms1525×body256infinite
844.0ms1040×body512infinite
768.0ms997×body512valid
9.0msbody2048valid
2.0msbody2048infinite
Bogosity

preprocess461.0ms (2.6%)

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

Useful iterations: 0 (0.0ms)

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

Compiled 15 to 12 computations (20% saved)

simplify207.0ms (1.2%)

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

Useful iterations: 0 (0.0ms)

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

eval3.0ms (0%)

Compiler

Compiled 35 to 16 computations (54.3% saved)

prune4.0ms (0%)

Pruning

2 alts after pruning (2 fresh and 0 done)

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

Compiled 13 to 10 computations (23.1% saved)

localize64.0ms (0.4%)

Local error

Found 1 expressions with local error:

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

Compiled 35 to 13 computations (62.9% saved)

series18.0ms (0.1%)

Counts
1 → 24
Calls

6 calls:

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

rewrite182.0ms (1%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
01335
18835
217835
354035
4188135
Stop Event
node limit
Counts
1 → 23
Calls
Call 1
Inputs
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (cos.f64 re) (/.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 4)) (*.f64 (cos.f64 re) (/.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (*.f64 (cos.f64 re) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) 8) (+.f64 (/.f64 (*.f64 (cos.f64 re) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) 8) (*.f64 (cos.f64 re) (/.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 4))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (*.f64 (cos.f64 re) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) 8) (/.f64 (/.f64 (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 (cos.f64 re) 3/2)) 2) 2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (*.f64 (cos.f64 re) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) 8) (/.f64 (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 (cos.f64 re) 3/2)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (cos.f64 re) (/.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 4)) (neg.f64 (*.f64 (cos.f64 re) (/.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 4))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (cos.f64 re) (/.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 4)) (/.f64 (neg.f64 (*.f64 (cos.f64 re) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (/.f64 (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 (cos.f64 re) 3/2)) 2) 2) (/.f64 (neg.f64 (*.f64 (cos.f64 re) (/.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 4))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 (cos.f64 re) 3/2)) 4) (/.f64 (/.f64 (*.f64 (cos.f64 re) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) -2) 4))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cos.f64 re) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cos.f64 re) (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 4)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 (cos.f64 re) 2)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 (cos.f64 re) 4) (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 4)) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (cos.f64 re) (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 4))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 (*.f64 (cos.f64 re) 4) (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 4)) 2) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 (cos.f64 re) 4) (*.f64 2 (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 4))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 4) (*.f64 2 (*.f64 (cos.f64 re) 4))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 2 (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 4)) (*.f64 (cos.f64 re) 4)) 64)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 2 (*.f64 (cos.f64 re) 4)) (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 4)) 64)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) 1)))))

simplify428.0ms (2.5%)

Algorithm
egg-herbie
Rules
1132×rational_best-simplify-3
930×rational_best-simplify-55
784×rational_best-simplify-62
642×rational_best-simplify-63
576×rational_best-simplify-50
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
01201905
13001905
26541809
315871781
461321757
Stop Event
node limit
Counts
47 → 57
Calls
Call 1
Inputs
(*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(+.f64 (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (*.f64 -1/4 (*.f64 (pow.f64 re 2) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))))
(+.f64 (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (+.f64 (*.f64 -1/4 (*.f64 (pow.f64 re 2) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) (*.f64 1/48 (*.f64 (pow.f64 re 4) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))))
(+.f64 (*.f64 -1/1440 (*.f64 (pow.f64 re 6) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) (+.f64 (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (+.f64 (*.f64 -1/4 (*.f64 (pow.f64 re 2) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) (*.f64 1/48 (*.f64 (pow.f64 re 4) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(cos.f64 re)
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (cos.f64 re))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (+.f64 (cos.f64 re) (*.f64 1/24 (*.f64 (cos.f64 re) (pow.f64 im 4)))))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (+.f64 (cos.f64 re) (+.f64 (*.f64 1/24 (*.f64 (cos.f64 re) (pow.f64 im 4))) (*.f64 1/720 (*.f64 (cos.f64 re) (pow.f64 im 6))))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))))
(+.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) 0)
(+.f64 0 (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(+.f64 (*.f64 (cos.f64 re) (/.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 4)) (*.f64 (cos.f64 re) (/.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 4)))
(+.f64 (/.f64 (*.f64 (cos.f64 re) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) 8) (+.f64 (/.f64 (*.f64 (cos.f64 re) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) 8) (*.f64 (cos.f64 re) (/.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 4))))
(+.f64 (/.f64 (*.f64 (cos.f64 re) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) 8) (/.f64 (/.f64 (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 (cos.f64 re) 3/2)) 2) 2))
(+.f64 (/.f64 (*.f64 (cos.f64 re) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) 8) (/.f64 (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 (cos.f64 re) 3/2)) 4))
(-.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) 0)
(-.f64 (*.f64 (cos.f64 re) (/.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 4)) (neg.f64 (*.f64 (cos.f64 re) (/.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 4))))
(-.f64 (*.f64 (cos.f64 re) (/.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 4)) (/.f64 (neg.f64 (*.f64 (cos.f64 re) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))) 4))
(-.f64 (/.f64 (/.f64 (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 (cos.f64 re) 3/2)) 2) 2) (/.f64 (neg.f64 (*.f64 (cos.f64 re) (/.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 4))) 2))
(-.f64 (/.f64 (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 (cos.f64 re) 3/2)) 4) (/.f64 (/.f64 (*.f64 (cos.f64 re) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) -2) 4))
(/.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) 1)
(/.f64 (*.f64 (cos.f64 re) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) 2)
(/.f64 (*.f64 (cos.f64 re) (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 4)) 8)
(/.f64 (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 (cos.f64 re) 2)) 4)
(/.f64 (*.f64 (*.f64 (cos.f64 re) 4) (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 4)) 32)
(/.f64 (*.f64 2 (*.f64 (cos.f64 re) (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 4))) 16)
(/.f64 (/.f64 (*.f64 (*.f64 (cos.f64 re) 4) (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 4)) 2) 16)
(/.f64 (*.f64 (*.f64 (cos.f64 re) 4) (*.f64 2 (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 4))) 64)
(/.f64 (*.f64 (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 4) (*.f64 2 (*.f64 (cos.f64 re) 4))) 64)
(/.f64 (*.f64 (*.f64 2 (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 4)) (*.f64 (cos.f64 re) 4)) 64)
(/.f64 (*.f64 (*.f64 2 (*.f64 (cos.f64 re) 4)) (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 4)) 64)
(pow.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) 1)
Outputs
(*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(+.f64 (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (*.f64 -1/4 (*.f64 (pow.f64 re 2) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))))
(+.f64 (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 (pow.f64 re 2) -1/4)))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (+.f64 1/2 (*.f64 -1/4 (pow.f64 re 2))))
(+.f64 (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (+.f64 (*.f64 -1/4 (*.f64 (pow.f64 re 2) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) (*.f64 1/48 (*.f64 (pow.f64 re 4) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))))
(+.f64 (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (+.f64 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 (pow.f64 re 2) -1/4)) (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 (pow.f64 re 4) 1/48))))
(+.f64 (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (+.f64 (*.f64 -1/4 (pow.f64 re 2)) (*.f64 1/48 (pow.f64 re 4)))))
(+.f64 (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (+.f64 (*.f64 1/48 (pow.f64 re 4)) (*.f64 -1/4 (pow.f64 re 2)))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (-.f64 (+.f64 (*.f64 1/48 (pow.f64 re 4)) (*.f64 -1/4 (pow.f64 re 2))) -1/2))
(+.f64 (*.f64 -1/1440 (*.f64 (pow.f64 re 6) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) (+.f64 (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (+.f64 (*.f64 -1/4 (*.f64 (pow.f64 re 2) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) (*.f64 1/48 (*.f64 (pow.f64 re 4) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))))))
(+.f64 (+.f64 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 (pow.f64 re 2) -1/4)) (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 (pow.f64 re 4) 1/48))) (+.f64 (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 (pow.f64 re 6) -1/1440))))
(+.f64 (+.f64 (*.f64 -1/4 (*.f64 (pow.f64 re 2) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) (*.f64 1/48 (*.f64 (pow.f64 re 4) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))) (+.f64 (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (*.f64 -1/1440 (*.f64 (pow.f64 re 6) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))))
(+.f64 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (+.f64 1/2 (*.f64 -1/4 (pow.f64 re 2)))) (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (+.f64 (*.f64 1/48 (pow.f64 re 4)) (*.f64 -1/1440 (pow.f64 re 6)))))
(+.f64 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (+.f64 1/2 (*.f64 -1/4 (pow.f64 re 2)))) (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (+.f64 (*.f64 -1/1440 (pow.f64 re 6)) (*.f64 1/48 (pow.f64 re 4)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (cos.f64 re) (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (cos.f64 re) (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (cos.f64 re) (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (cos.f64 re) (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (cos.f64 re) (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (cos.f64 re) (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (cos.f64 re) (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (cos.f64 re) (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(cos.f64 re)
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (cos.f64 re))
(+.f64 (cos.f64 re) (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))))
(*.f64 (cos.f64 re) (-.f64 (*.f64 1/2 (pow.f64 im 2)) -1))
(*.f64 (cos.f64 re) (+.f64 (*.f64 1/2 (pow.f64 im 2)) 1))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (+.f64 (cos.f64 re) (*.f64 1/24 (*.f64 (cos.f64 re) (pow.f64 im 4)))))
(+.f64 (cos.f64 re) (+.f64 (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 4) 1/24)) (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))))
(+.f64 (cos.f64 re) (+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (*.f64 (cos.f64 re) (*.f64 1/24 (pow.f64 im 4)))))
(+.f64 (cos.f64 re) (*.f64 (cos.f64 re) (+.f64 (*.f64 1/2 (pow.f64 im 2)) (*.f64 1/24 (pow.f64 im 4)))))
(+.f64 (cos.f64 re) (*.f64 (cos.f64 re) (+.f64 (*.f64 1/24 (pow.f64 im 4)) (*.f64 1/2 (pow.f64 im 2)))))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (+.f64 (cos.f64 re) (+.f64 (*.f64 1/24 (*.f64 (cos.f64 re) (pow.f64 im 4))) (*.f64 1/720 (*.f64 (cos.f64 re) (pow.f64 im 6))))))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (+.f64 (*.f64 1/720 (*.f64 (cos.f64 re) (pow.f64 im 6))) (+.f64 (cos.f64 re) (*.f64 1/24 (*.f64 (cos.f64 re) (pow.f64 im 4))))))
(+.f64 (cos.f64 re) (+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (+.f64 (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 4) 1/24)) (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 6) 1/720)))))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (+.f64 (*.f64 (cos.f64 re) (*.f64 1/24 (pow.f64 im 4))) (+.f64 (cos.f64 re) (*.f64 (cos.f64 re) (*.f64 1/720 (pow.f64 im 6))))))
(+.f64 (*.f64 (cos.f64 re) (-.f64 (*.f64 1/2 (pow.f64 im 2)) -1)) (*.f64 (cos.f64 re) (+.f64 (*.f64 1/24 (pow.f64 im 4)) (*.f64 1/720 (pow.f64 im 6)))))
(+.f64 (*.f64 (cos.f64 re) (+.f64 (*.f64 1/2 (pow.f64 im 2)) 1)) (*.f64 (cos.f64 re) (+.f64 (*.f64 1/720 (pow.f64 im 6)) (*.f64 1/24 (pow.f64 im 4)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (cos.f64 re) (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (cos.f64 re) (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (cos.f64 re) (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (cos.f64 re) (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (cos.f64 re) (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (cos.f64 re) (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (cos.f64 re) (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (cos.f64 re) (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(+.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) 0)
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (cos.f64 re) (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(+.f64 0 (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (cos.f64 re) (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(+.f64 (*.f64 (cos.f64 re) (/.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 4)) (*.f64 (cos.f64 re) (/.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 4)))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (cos.f64 re) (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(+.f64 (/.f64 (*.f64 (cos.f64 re) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) 8) (+.f64 (/.f64 (*.f64 (cos.f64 re) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) 8) (*.f64 (cos.f64 re) (/.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 4))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (cos.f64 re) (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(+.f64 (/.f64 (*.f64 (cos.f64 re) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) 8) (/.f64 (/.f64 (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 (cos.f64 re) 3/2)) 2) 2))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (cos.f64 re) (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(+.f64 (/.f64 (*.f64 (cos.f64 re) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) 8) (/.f64 (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 (cos.f64 re) 3/2)) 4))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (cos.f64 re) (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(-.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) 0)
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (cos.f64 re) (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(-.f64 (*.f64 (cos.f64 re) (/.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 4)) (neg.f64 (*.f64 (cos.f64 re) (/.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 4))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (cos.f64 re) (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(-.f64 (*.f64 (cos.f64 re) (/.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 4)) (/.f64 (neg.f64 (*.f64 (cos.f64 re) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))) 4))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (cos.f64 re) (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(-.f64 (/.f64 (/.f64 (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 (cos.f64 re) 3/2)) 2) 2) (/.f64 (neg.f64 (*.f64 (cos.f64 re) (/.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 4))) 2))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (cos.f64 re) (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(-.f64 (/.f64 (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 (cos.f64 re) 3/2)) 4) (/.f64 (/.f64 (*.f64 (cos.f64 re) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) -2) 4))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (cos.f64 re) (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(/.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) 1)
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (cos.f64 re) (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(/.f64 (*.f64 (cos.f64 re) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) 2)
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (cos.f64 re) (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(/.f64 (*.f64 (cos.f64 re) (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 4)) 8)
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (cos.f64 re) (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(/.f64 (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 (cos.f64 re) 2)) 4)
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (cos.f64 re) (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(/.f64 (*.f64 (*.f64 (cos.f64 re) 4) (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 4)) 32)
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (cos.f64 re) (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(/.f64 (*.f64 2 (*.f64 (cos.f64 re) (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 4))) 16)
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (cos.f64 re) (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(/.f64 (/.f64 (*.f64 (*.f64 (cos.f64 re) 4) (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 4)) 2) 16)
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (cos.f64 re) (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(/.f64 (*.f64 (*.f64 (cos.f64 re) 4) (*.f64 2 (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 4))) 64)
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (cos.f64 re) (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(/.f64 (*.f64 (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 4) (*.f64 2 (*.f64 (cos.f64 re) 4))) 64)
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (cos.f64 re) (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(/.f64 (*.f64 (*.f64 2 (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 4)) (*.f64 (cos.f64 re) 4)) 64)
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (cos.f64 re) (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(/.f64 (*.f64 (*.f64 2 (*.f64 (cos.f64 re) 4)) (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 4)) 64)
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (cos.f64 re) (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(pow.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) 1)
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (cos.f64 re) (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))

eval206.0ms (1.2%)

Compiler

Compiled 1196 to 573 computations (52.1% saved)

prune111.0ms (0.6%)

Pruning

3 alts after pruning (3 fresh and 0 done)

PrunedKeptTotal
New54357
Fresh000
Picked101
Done000
Total55358
Error
0b
Counts
58 → 3
Alt Table
Click to see full alt table
StatusErrorProgram
0.7b
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (cos.f64 re))
25.1b
(*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
1.0b
(cos.f64 re)
Compiler

Compiled 27 to 20 computations (25.9% saved)

localize5.0ms (0%)

Compiler

Compiled 5 to 3 computations (40% saved)

localize30.0ms (0.2%)

Compiler

Compiled 25 to 9 computations (64% saved)

localize42.0ms (0.2%)

Local error

Found 2 expressions with local error:

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

Compiled 36 to 21 computations (41.7% saved)

series24.0ms (0.1%)

Counts
2 → 8
Calls

12 calls:

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

rewrite419.0ms (2.4%)

Algorithm
batch-egg-rewrite
Rules
1840×rational_best-1
1838×rational_best-2
1838×rational_best-3
1828×rational_best-4
1826×exponential-1
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01140
17240
213740
335440
4119640
5515540
Stop Event
node limit
Counts
2 → 56
Calls
Call 1
Inputs
(*.f64 (cos.f64 re) (pow.f64 im 2))
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (cos.f64 re) (pow.f64 im 2)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 1/2)) (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 1/2)) (neg.f64 (/.f64 (*.f64 (cos.f64 re) (pow.f64 im 2)) -2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (cos.f64 re) (pow.f64 im 2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (pow.f64 im 2) (/.f64 (cos.f64 re) 4)) (/.f64 (*.f64 (*.f64 (cos.f64 re) (pow.f64 im 2)) 3/2) 2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (pow.f64 im 2) (/.f64 (cos.f64 re) 4)) (-.f64 (*.f64 (pow.f64 im 2) (/.f64 (cos.f64 re) 4)) (/.f64 (*.f64 (cos.f64 re) (pow.f64 im 2)) -2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (*.f64 (*.f64 (cos.f64 re) (pow.f64 im 2)) 3/2) 2) (*.f64 (pow.f64 im 2) (/.f64 (cos.f64 re) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (*.f64 (pow.f64 im 2) (/.f64 (cos.f64 re) 4)) (/.f64 (*.f64 (cos.f64 re) (pow.f64 im 2)) -2)) (*.f64 (pow.f64 im 2) (/.f64 (cos.f64 re) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (cos.f64 re) (pow.f64 im 2)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (cos.f64 re) (pow.f64 im 2)) (+.f64 (/.f64 (*.f64 (cos.f64 re) (pow.f64 im 2)) -2) (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 1/2)) (/.f64 (*.f64 (cos.f64 re) (pow.f64 im 2)) -2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (neg.f64 (*.f64 (cos.f64 re) (pow.f64 im 2))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (pow.f64 im 2) (/.f64 (cos.f64 re) 4)) (-.f64 0 (/.f64 (*.f64 (*.f64 (cos.f64 re) (pow.f64 im 2)) 3/2) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (pow.f64 im 2) (/.f64 (cos.f64 re) 4)) (+.f64 (/.f64 (*.f64 (cos.f64 re) (pow.f64 im 2)) -2) (/.f64 (*.f64 (cos.f64 re) (pow.f64 im 2)) -4)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (pow.f64 im 2) (/.f64 (cos.f64 re) 4)) (-.f64 (/.f64 (*.f64 (cos.f64 re) (pow.f64 im 2)) -2) (*.f64 (pow.f64 im 2) (/.f64 (cos.f64 re) 4))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (pow.f64 im 2) (/.f64 (cos.f64 re) 4)) (/.f64 (-.f64 0 (*.f64 (*.f64 (cos.f64 re) (pow.f64 im 2)) 3/2)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (*.f64 (*.f64 (cos.f64 re) (pow.f64 im 2)) 3/2) 2) (/.f64 (*.f64 (cos.f64 re) (pow.f64 im 2)) -4))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 (*.f64 (pow.f64 im 2) (/.f64 (cos.f64 re) 4)) (/.f64 (*.f64 (cos.f64 re) (pow.f64 im 2)) -2)) (/.f64 (*.f64 (cos.f64 re) (pow.f64 im 2)) -4))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cos.f64 re) (pow.f64 im 2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (cos.f64 re) (pow.f64 im 2))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 im 2) (*.f64 (cos.f64 re) 4)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cos.f64 re) (*.f64 2 (*.f64 (pow.f64 im 2) 4))) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 (pow.f64 im 2) 4) (*.f64 (cos.f64 re) 4)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 (cos.f64 re) (*.f64 2 (*.f64 (pow.f64 im 2) 4))) (*.f64 (cos.f64 re) (*.f64 2 (*.f64 (pow.f64 im 2) 4)))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 (*.f64 (pow.f64 im 2) 4) (*.f64 (cos.f64 re) 4)) (*.f64 (*.f64 (pow.f64 im 2) 4) (*.f64 (cos.f64 re) 4))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 2 (*.f64 (pow.f64 im 2) 4)) (*.f64 2 (*.f64 (cos.f64 re) 4))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 2 (*.f64 (cos.f64 re) 4)) (*.f64 2 (*.f64 (pow.f64 im 2) 4))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 (cos.f64 0) 2) (*.f64 (cos.f64 re) (*.f64 2 (*.f64 (pow.f64 im 2) 4)))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (cos.f64 re) (pow.f64 im 2)) 1)))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 1/2)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (pow.f64 im 2) (/.f64 (cos.f64 re) 4)) (*.f64 (pow.f64 im 2) (/.f64 (cos.f64 re) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (*.f64 (cos.f64 re) (pow.f64 im 2)) 8) (+.f64 (/.f64 (*.f64 (cos.f64 re) (pow.f64 im 2)) 8) (*.f64 (pow.f64 im 2) (/.f64 (cos.f64 re) 4))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (*.f64 (cos.f64 re) (pow.f64 im 2)) 8) (/.f64 (/.f64 (*.f64 (*.f64 (cos.f64 re) (pow.f64 im 2)) 3/2) 2) 2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (*.f64 (cos.f64 re) (pow.f64 im 2)) 8) (/.f64 (*.f64 (*.f64 (cos.f64 re) (pow.f64 im 2)) 3/2) 4))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (*.f64 (cos.f64 re) (pow.f64 im 2)) 8) (/.f64 (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 3)) 8))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 1/2)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (pow.f64 im 2) (/.f64 (cos.f64 re) 4)) (/.f64 (*.f64 (cos.f64 re) (pow.f64 im 2)) -4))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (*.f64 (cos.f64 re) (pow.f64 im 2)) 8) (/.f64 (-.f64 0 (*.f64 (*.f64 (cos.f64 re) (pow.f64 im 2)) 3/2)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (/.f64 (*.f64 (cos.f64 re) (pow.f64 im 2)) 8) (*.f64 (pow.f64 im 2) (/.f64 (cos.f64 re) 4))) (-.f64 0 (/.f64 (*.f64 (cos.f64 re) (pow.f64 im 2)) 8)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (/.f64 (*.f64 (*.f64 (cos.f64 re) (pow.f64 im 2)) 3/2) 2) 2) (/.f64 (/.f64 (*.f64 (cos.f64 re) (pow.f64 im 2)) -4) 2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (*.f64 (*.f64 (cos.f64 re) (pow.f64 im 2)) 3/2) 4) (/.f64 (/.f64 (*.f64 (cos.f64 re) (pow.f64 im 2)) -2) 4))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 3)) 8) (/.f64 (neg.f64 (*.f64 (cos.f64 re) (pow.f64 im 2))) 8))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cos.f64 re) (pow.f64 im 2)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 1/2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (cos.f64 re) (pow.f64 im 2))) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 im 2) (*.f64 (cos.f64 re) 4)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cos.f64 re) (*.f64 2 (*.f64 (pow.f64 im 2) 4))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 (pow.f64 im 2) 4) (*.f64 (cos.f64 re) 4)) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 (*.f64 (pow.f64 im 2) 4) (*.f64 (cos.f64 re) 4)) 2) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 (cos.f64 re) 4) (*.f64 2 (*.f64 (pow.f64 im 2) 4))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 (pow.f64 im 2) 4) (*.f64 2 (*.f64 (cos.f64 re) 4))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 2 (*.f64 (pow.f64 im 2) 4)) (*.f64 (cos.f64 re) 4)) 64)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 2 (*.f64 (cos.f64 re) 4)) (*.f64 (pow.f64 im 2) 4)) 64)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 (cos.f64 0) 2) (*.f64 (pow.f64 im 2) (*.f64 (cos.f64 re) 4))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 1/2)) 1)))))

simplify600.0ms (3.4%)

Algorithm
egg-herbie
Rules
956×rational_best-simplify-55
862×rational_best-simplify-56
848×rational_best-simplify-1
654×rational_best-simplify-40
592×rational_best-simplify-97
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01562180
13902082
210092022
331762018
473172018
Stop Event
node limit
Counts
64 → 110
Calls
Call 1
Inputs
(pow.f64 im 2)
(+.f64 (pow.f64 im 2) (*.f64 -1/2 (*.f64 (pow.f64 re 2) (pow.f64 im 2))))
(+.f64 (*.f64 1/24 (*.f64 (pow.f64 re 4) (pow.f64 im 2))) (+.f64 (pow.f64 im 2) (*.f64 -1/2 (*.f64 (pow.f64 re 2) (pow.f64 im 2)))))
(+.f64 (*.f64 1/24 (*.f64 (pow.f64 re 4) (pow.f64 im 2))) (+.f64 (pow.f64 im 2) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 re 2) (pow.f64 im 2))) (*.f64 -1/720 (*.f64 (pow.f64 re 6) (pow.f64 im 2))))))
(*.f64 1/2 (pow.f64 im 2))
(+.f64 (*.f64 1/2 (pow.f64 im 2)) (*.f64 -1/4 (*.f64 (pow.f64 re 2) (pow.f64 im 2))))
(+.f64 (*.f64 1/2 (pow.f64 im 2)) (+.f64 (*.f64 1/48 (*.f64 (pow.f64 re 4) (pow.f64 im 2))) (*.f64 -1/4 (*.f64 (pow.f64 re 2) (pow.f64 im 2)))))
(+.f64 (*.f64 -1/1440 (*.f64 (pow.f64 re 6) (pow.f64 im 2))) (+.f64 (*.f64 1/2 (pow.f64 im 2)) (+.f64 (*.f64 1/48 (*.f64 (pow.f64 re 4) (pow.f64 im 2))) (*.f64 -1/4 (*.f64 (pow.f64 re 2) (pow.f64 im 2))))))
(+.f64 (*.f64 (cos.f64 re) (pow.f64 im 2)) 0)
(+.f64 (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 1/2)) (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 1/2)))
(+.f64 (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 1/2)) (neg.f64 (/.f64 (*.f64 (cos.f64 re) (pow.f64 im 2)) -2)))
(+.f64 0 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(+.f64 (*.f64 (pow.f64 im 2) (/.f64 (cos.f64 re) 4)) (/.f64 (*.f64 (*.f64 (cos.f64 re) (pow.f64 im 2)) 3/2) 2))
(+.f64 (*.f64 (pow.f64 im 2) (/.f64 (cos.f64 re) 4)) (-.f64 (*.f64 (pow.f64 im 2) (/.f64 (cos.f64 re) 4)) (/.f64 (*.f64 (cos.f64 re) (pow.f64 im 2)) -2)))
(+.f64 (/.f64 (*.f64 (*.f64 (cos.f64 re) (pow.f64 im 2)) 3/2) 2) (*.f64 (pow.f64 im 2) (/.f64 (cos.f64 re) 4)))
(+.f64 (-.f64 (*.f64 (pow.f64 im 2) (/.f64 (cos.f64 re) 4)) (/.f64 (*.f64 (cos.f64 re) (pow.f64 im 2)) -2)) (*.f64 (pow.f64 im 2) (/.f64 (cos.f64 re) 4)))
(-.f64 (*.f64 (cos.f64 re) (pow.f64 im 2)) 0)
(-.f64 (*.f64 (cos.f64 re) (pow.f64 im 2)) (+.f64 (/.f64 (*.f64 (cos.f64 re) (pow.f64 im 2)) -2) (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 1/2))))
(-.f64 (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 1/2)) (/.f64 (*.f64 (cos.f64 re) (pow.f64 im 2)) -2))
(-.f64 0 (neg.f64 (*.f64 (cos.f64 re) (pow.f64 im 2))))
(-.f64 (*.f64 (pow.f64 im 2) (/.f64 (cos.f64 re) 4)) (-.f64 0 (/.f64 (*.f64 (*.f64 (cos.f64 re) (pow.f64 im 2)) 3/2) 2)))
(-.f64 (*.f64 (pow.f64 im 2) (/.f64 (cos.f64 re) 4)) (+.f64 (/.f64 (*.f64 (cos.f64 re) (pow.f64 im 2)) -2) (/.f64 (*.f64 (cos.f64 re) (pow.f64 im 2)) -4)))
(-.f64 (*.f64 (pow.f64 im 2) (/.f64 (cos.f64 re) 4)) (-.f64 (/.f64 (*.f64 (cos.f64 re) (pow.f64 im 2)) -2) (*.f64 (pow.f64 im 2) (/.f64 (cos.f64 re) 4))))
(-.f64 (*.f64 (pow.f64 im 2) (/.f64 (cos.f64 re) 4)) (/.f64 (-.f64 0 (*.f64 (*.f64 (cos.f64 re) (pow.f64 im 2)) 3/2)) 2))
(-.f64 (/.f64 (*.f64 (*.f64 (cos.f64 re) (pow.f64 im 2)) 3/2) 2) (/.f64 (*.f64 (cos.f64 re) (pow.f64 im 2)) -4))
(-.f64 (-.f64 (*.f64 (pow.f64 im 2) (/.f64 (cos.f64 re) 4)) (/.f64 (*.f64 (cos.f64 re) (pow.f64 im 2)) -2)) (/.f64 (*.f64 (cos.f64 re) (pow.f64 im 2)) -4))
(/.f64 (*.f64 (cos.f64 re) (pow.f64 im 2)) 1)
(/.f64 (*.f64 2 (*.f64 (cos.f64 re) (pow.f64 im 2))) 2)
(/.f64 (*.f64 (pow.f64 im 2) (*.f64 (cos.f64 re) 4)) 4)
(/.f64 (*.f64 (cos.f64 re) (*.f64 2 (*.f64 (pow.f64 im 2) 4))) 8)
(/.f64 (*.f64 (*.f64 (pow.f64 im 2) 4) (*.f64 (cos.f64 re) 4)) 16)
(/.f64 (+.f64 (*.f64 (cos.f64 re) (*.f64 2 (*.f64 (pow.f64 im 2) 4))) (*.f64 (cos.f64 re) (*.f64 2 (*.f64 (pow.f64 im 2) 4)))) 16)
(/.f64 (+.f64 (*.f64 (*.f64 (pow.f64 im 2) 4) (*.f64 (cos.f64 re) 4)) (*.f64 (*.f64 (pow.f64 im 2) 4) (*.f64 (cos.f64 re) 4))) 32)
(/.f64 (*.f64 (*.f64 2 (*.f64 (pow.f64 im 2) 4)) (*.f64 2 (*.f64 (cos.f64 re) 4))) 64)
(/.f64 (*.f64 (*.f64 2 (*.f64 (cos.f64 re) 4)) (*.f64 2 (*.f64 (pow.f64 im 2) 4))) 64)
(/.f64 (*.f64 (*.f64 (cos.f64 0) 2) (*.f64 (cos.f64 re) (*.f64 2 (*.f64 (pow.f64 im 2) 4)))) 16)
(pow.f64 (*.f64 (cos.f64 re) (pow.f64 im 2)) 1)
(+.f64 (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 1/2)) 0)
(+.f64 0 (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 1/2)))
(+.f64 (*.f64 (pow.f64 im 2) (/.f64 (cos.f64 re) 4)) (*.f64 (pow.f64 im 2) (/.f64 (cos.f64 re) 4)))
(+.f64 (/.f64 (*.f64 (cos.f64 re) (pow.f64 im 2)) 8) (+.f64 (/.f64 (*.f64 (cos.f64 re) (pow.f64 im 2)) 8) (*.f64 (pow.f64 im 2) (/.f64 (cos.f64 re) 4))))
(+.f64 (/.f64 (*.f64 (cos.f64 re) (pow.f64 im 2)) 8) (/.f64 (/.f64 (*.f64 (*.f64 (cos.f64 re) (pow.f64 im 2)) 3/2) 2) 2))
(+.f64 (/.f64 (*.f64 (cos.f64 re) (pow.f64 im 2)) 8) (/.f64 (*.f64 (*.f64 (cos.f64 re) (pow.f64 im 2)) 3/2) 4))
(+.f64 (/.f64 (*.f64 (cos.f64 re) (pow.f64 im 2)) 8) (/.f64 (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 3)) 8))
(-.f64 (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 1/2)) 0)
(-.f64 (*.f64 (pow.f64 im 2) (/.f64 (cos.f64 re) 4)) (/.f64 (*.f64 (cos.f64 re) (pow.f64 im 2)) -4))
(-.f64 (/.f64 (*.f64 (cos.f64 re) (pow.f64 im 2)) 8) (/.f64 (-.f64 0 (*.f64 (*.f64 (cos.f64 re) (pow.f64 im 2)) 3/2)) 4))
(-.f64 (+.f64 (/.f64 (*.f64 (cos.f64 re) (pow.f64 im 2)) 8) (*.f64 (pow.f64 im 2) (/.f64 (cos.f64 re) 4))) (-.f64 0 (/.f64 (*.f64 (cos.f64 re) (pow.f64 im 2)) 8)))
(-.f64 (/.f64 (/.f64 (*.f64 (*.f64 (cos.f64 re) (pow.f64 im 2)) 3/2) 2) 2) (/.f64 (/.f64 (*.f64 (cos.f64 re) (pow.f64 im 2)) -4) 2))
(-.f64 (/.f64 (*.f64 (*.f64 (cos.f64 re) (pow.f64 im 2)) 3/2) 4) (/.f64 (/.f64 (*.f64 (cos.f64 re) (pow.f64 im 2)) -2) 4))
(-.f64 (/.f64 (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 3)) 8) (/.f64 (neg.f64 (*.f64 (cos.f64 re) (pow.f64 im 2))) 8))
(/.f64 (*.f64 (cos.f64 re) (pow.f64 im 2)) 2)
(/.f64 (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 1/2)) 1)
(/.f64 (*.f64 2 (*.f64 (cos.f64 re) (pow.f64 im 2))) 4)
(/.f64 (*.f64 (pow.f64 im 2) (*.f64 (cos.f64 re) 4)) 8)
(/.f64 (*.f64 (cos.f64 re) (*.f64 2 (*.f64 (pow.f64 im 2) 4))) 16)
(/.f64 (*.f64 (*.f64 (pow.f64 im 2) 4) (*.f64 (cos.f64 re) 4)) 32)
(/.f64 (/.f64 (*.f64 (*.f64 (pow.f64 im 2) 4) (*.f64 (cos.f64 re) 4)) 2) 16)
(/.f64 (*.f64 (*.f64 (cos.f64 re) 4) (*.f64 2 (*.f64 (pow.f64 im 2) 4))) 64)
(/.f64 (*.f64 (*.f64 (pow.f64 im 2) 4) (*.f64 2 (*.f64 (cos.f64 re) 4))) 64)
(/.f64 (*.f64 (*.f64 2 (*.f64 (pow.f64 im 2) 4)) (*.f64 (cos.f64 re) 4)) 64)
(/.f64 (*.f64 (*.f64 2 (*.f64 (cos.f64 re) 4)) (*.f64 (pow.f64 im 2) 4)) 64)
(/.f64 (*.f64 (*.f64 (cos.f64 0) 2) (*.f64 (pow.f64 im 2) (*.f64 (cos.f64 re) 4))) 16)
(pow.f64 (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 1/2)) 1)
Outputs
(pow.f64 im 2)
(+.f64 (pow.f64 im 2) (*.f64 -1/2 (*.f64 (pow.f64 re 2) (pow.f64 im 2))))
(+.f64 (pow.f64 im 2) (*.f64 -1/2 (pow.f64 (*.f64 re im) 2)))
(+.f64 (pow.f64 im 2) (*.f64 -1/2 (pow.f64 (*.f64 im re) 2)))
(+.f64 (*.f64 1/24 (*.f64 (pow.f64 re 4) (pow.f64 im 2))) (+.f64 (pow.f64 im 2) (*.f64 -1/2 (*.f64 (pow.f64 re 2) (pow.f64 im 2)))))
(+.f64 (+.f64 (pow.f64 im 2) (*.f64 -1/2 (pow.f64 (*.f64 re im) 2))) (*.f64 (pow.f64 im 2) (*.f64 (pow.f64 re 4) 1/24)))
(+.f64 (pow.f64 im 2) (+.f64 (*.f64 -1/2 (pow.f64 (*.f64 im re) 2)) (*.f64 (pow.f64 im 2) (*.f64 1/24 (pow.f64 re 4)))))
(+.f64 (pow.f64 im 2) (*.f64 (pow.f64 im 2) (+.f64 (*.f64 -1/2 (pow.f64 re 2)) (*.f64 1/24 (pow.f64 re 4)))))
(+.f64 (pow.f64 im 2) (*.f64 (pow.f64 im 2) (+.f64 (*.f64 1/24 (pow.f64 re 4)) (*.f64 -1/2 (pow.f64 re 2)))))
(+.f64 (*.f64 1/24 (*.f64 (pow.f64 re 4) (pow.f64 im 2))) (+.f64 (pow.f64 im 2) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 re 2) (pow.f64 im 2))) (*.f64 -1/720 (*.f64 (pow.f64 re 6) (pow.f64 im 2))))))
(+.f64 (*.f64 (pow.f64 im 2) (*.f64 (pow.f64 re 4) 1/24)) (+.f64 (pow.f64 im 2) (+.f64 (*.f64 -1/2 (pow.f64 (*.f64 re im) 2)) (*.f64 (pow.f64 im 2) (*.f64 (pow.f64 re 6) -1/720)))))
(+.f64 (+.f64 (pow.f64 im 2) (*.f64 -1/2 (pow.f64 (*.f64 im re) 2))) (+.f64 (*.f64 -1/720 (*.f64 (pow.f64 im 2) (pow.f64 re 6))) (*.f64 (pow.f64 im 2) (*.f64 1/24 (pow.f64 re 4)))))
(+.f64 (+.f64 (pow.f64 im 2) (*.f64 -1/2 (pow.f64 (*.f64 im re) 2))) (*.f64 (pow.f64 im 2) (+.f64 (*.f64 -1/720 (pow.f64 re 6)) (*.f64 1/24 (pow.f64 re 4)))))
(*.f64 1/2 (pow.f64 im 2))
(*.f64 (pow.f64 im 2) 1/2)
(+.f64 (*.f64 1/2 (pow.f64 im 2)) (*.f64 -1/4 (*.f64 (pow.f64 re 2) (pow.f64 im 2))))
(+.f64 (*.f64 (pow.f64 im 2) 1/2) (*.f64 (pow.f64 (*.f64 re im) 2) -1/4))
(+.f64 (*.f64 (pow.f64 im 2) 1/2) (*.f64 (pow.f64 (*.f64 im re) 2) -1/4))
(*.f64 (pow.f64 im 2) (+.f64 1/2 (*.f64 (pow.f64 re 2) -1/4)))
(+.f64 (*.f64 1/2 (pow.f64 im 2)) (+.f64 (*.f64 1/48 (*.f64 (pow.f64 re 4) (pow.f64 im 2))) (*.f64 -1/4 (*.f64 (pow.f64 re 2) (pow.f64 im 2)))))
(+.f64 (*.f64 (pow.f64 im 2) 1/2) (+.f64 (*.f64 (pow.f64 (*.f64 re im) 2) -1/4) (*.f64 (pow.f64 im 2) (*.f64 (pow.f64 re 4) 1/48))))
(+.f64 (*.f64 (pow.f64 im 2) 1/2) (+.f64 (*.f64 (pow.f64 (*.f64 im re) 2) -1/4) (*.f64 (pow.f64 im 2) (*.f64 (pow.f64 re 4) 1/48))))
(+.f64 (*.f64 (pow.f64 (*.f64 im re) 2) -1/4) (*.f64 (pow.f64 im 2) (+.f64 1/2 (*.f64 (pow.f64 re 4) 1/48))))
(+.f64 (*.f64 -1/1440 (*.f64 (pow.f64 re 6) (pow.f64 im 2))) (+.f64 (*.f64 1/2 (pow.f64 im 2)) (+.f64 (*.f64 1/48 (*.f64 (pow.f64 re 4) (pow.f64 im 2))) (*.f64 -1/4 (*.f64 (pow.f64 re 2) (pow.f64 im 2))))))
(+.f64 (+.f64 (*.f64 (pow.f64 (*.f64 re im) 2) -1/4) (*.f64 (pow.f64 im 2) (*.f64 (pow.f64 re 4) 1/48))) (+.f64 (*.f64 (pow.f64 im 2) 1/2) (*.f64 (pow.f64 im 2) (*.f64 (pow.f64 re 6) -1/1440))))
(+.f64 (*.f64 (pow.f64 im 2) 1/2) (+.f64 (+.f64 (*.f64 (pow.f64 (*.f64 im re) 2) -1/4) (*.f64 (pow.f64 im 2) (*.f64 (pow.f64 re 4) 1/48))) (*.f64 (pow.f64 im 2) (*.f64 (pow.f64 re 6) -1/1440))))
(+.f64 (*.f64 (pow.f64 im 2) (+.f64 (*.f64 (pow.f64 re 2) -1/4) (*.f64 (pow.f64 re 4) 1/48))) (*.f64 (pow.f64 im 2) (+.f64 1/2 (*.f64 (pow.f64 re 6) -1/1440))))
(+.f64 (*.f64 (pow.f64 im 2) (+.f64 (*.f64 (pow.f64 re 4) 1/48) (*.f64 (pow.f64 re 2) -1/4))) (*.f64 (pow.f64 im 2) (+.f64 1/2 (*.f64 (pow.f64 re 6) -1/1440))))
(+.f64 (*.f64 (cos.f64 re) (pow.f64 im 2)) 0)
(*.f64 (pow.f64 im 2) (cos.f64 re))
(+.f64 (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 1/2)) (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 1/2)))
(*.f64 (pow.f64 im 2) (cos.f64 re))
(+.f64 (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 1/2)) (neg.f64 (/.f64 (*.f64 (cos.f64 re) (pow.f64 im 2)) -2)))
(*.f64 (pow.f64 im 2) (cos.f64 re))
(+.f64 0 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(*.f64 (pow.f64 im 2) (cos.f64 re))
(+.f64 (*.f64 (pow.f64 im 2) (/.f64 (cos.f64 re) 4)) (/.f64 (*.f64 (*.f64 (cos.f64 re) (pow.f64 im 2)) 3/2) 2))
(+.f64 (*.f64 (cos.f64 re) (/.f64 (pow.f64 im 2) 4)) (/.f64 (*.f64 (*.f64 (pow.f64 im 2) (cos.f64 re)) 3/2) 2))
(+.f64 (*.f64 (pow.f64 im 2) (/.f64 (cos.f64 re) 4)) (/.f64 (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 3/2)) 2))
(+.f64 (*.f64 (pow.f64 im 2) (/.f64 (cos.f64 re) 4)) (/.f64 (*.f64 (pow.f64 im 2) (*.f64 (cos.f64 re) 3/2)) 2))
(+.f64 (*.f64 (pow.f64 im 2) (/.f64 (cos.f64 re) 4)) (-.f64 (*.f64 (pow.f64 im 2) (/.f64 (cos.f64 re) 4)) (/.f64 (*.f64 (cos.f64 re) (pow.f64 im 2)) -2)))
(+.f64 (*.f64 (cos.f64 re) (/.f64 (pow.f64 im 2) 4)) (-.f64 (*.f64 (cos.f64 re) (/.f64 (pow.f64 im 2) 4)) (/.f64 (*.f64 (pow.f64 im 2) (cos.f64 re)) -2)))
(+.f64 (*.f64 (pow.f64 im 2) (/.f64 (cos.f64 re) 4)) (-.f64 (*.f64 (pow.f64 im 2) (/.f64 (cos.f64 re) 4)) (/.f64 (*.f64 (pow.f64 im 2) (cos.f64 re)) -2)))
(+.f64 (*.f64 (pow.f64 im 2) (/.f64 (cos.f64 re) 4)) (+.f64 (*.f64 (pow.f64 im 2) (/.f64 (cos.f64 re) 4)) (*.f64 (pow.f64 im 2) (*.f64 1/2 (cos.f64 re)))))
(+.f64 (*.f64 (pow.f64 im 2) (/.f64 (cos.f64 re) 4)) (+.f64 (*.f64 (pow.f64 im 2) (*.f64 1/2 (cos.f64 re))) (*.f64 (pow.f64 im 2) (/.f64 (cos.f64 re) 4))))
(+.f64 (/.f64 (*.f64 (*.f64 (cos.f64 re) (pow.f64 im 2)) 3/2) 2) (*.f64 (pow.f64 im 2) (/.f64 (cos.f64 re) 4)))
(+.f64 (*.f64 (cos.f64 re) (/.f64 (pow.f64 im 2) 4)) (/.f64 (*.f64 (*.f64 (pow.f64 im 2) (cos.f64 re)) 3/2) 2))
(+.f64 (*.f64 (pow.f64 im 2) (/.f64 (cos.f64 re) 4)) (/.f64 (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 3/2)) 2))
(+.f64 (*.f64 (pow.f64 im 2) (/.f64 (cos.f64 re) 4)) (/.f64 (*.f64 (pow.f64 im 2) (*.f64 (cos.f64 re) 3/2)) 2))
(+.f64 (-.f64 (*.f64 (pow.f64 im 2) (/.f64 (cos.f64 re) 4)) (/.f64 (*.f64 (cos.f64 re) (pow.f64 im 2)) -2)) (*.f64 (pow.f64 im 2) (/.f64 (cos.f64 re) 4)))
(+.f64 (*.f64 (cos.f64 re) (/.f64 (pow.f64 im 2) 4)) (-.f64 (*.f64 (cos.f64 re) (/.f64 (pow.f64 im 2) 4)) (/.f64 (*.f64 (pow.f64 im 2) (cos.f64 re)) -2)))
(+.f64 (*.f64 (pow.f64 im 2) (/.f64 (cos.f64 re) 4)) (-.f64 (*.f64 (pow.f64 im 2) (/.f64 (cos.f64 re) 4)) (/.f64 (*.f64 (pow.f64 im 2) (cos.f64 re)) -2)))
(+.f64 (*.f64 (pow.f64 im 2) (/.f64 (cos.f64 re) 4)) (+.f64 (*.f64 (pow.f64 im 2) (/.f64 (cos.f64 re) 4)) (*.f64 (pow.f64 im 2) (*.f64 1/2 (cos.f64 re)))))
(+.f64 (*.f64 (pow.f64 im 2) (/.f64 (cos.f64 re) 4)) (+.f64 (*.f64 (pow.f64 im 2) (*.f64 1/2 (cos.f64 re))) (*.f64 (pow.f64 im 2) (/.f64 (cos.f64 re) 4))))
(-.f64 (*.f64 (cos.f64 re) (pow.f64 im 2)) 0)
(*.f64 (pow.f64 im 2) (cos.f64 re))
(-.f64 (*.f64 (cos.f64 re) (pow.f64 im 2)) (+.f64 (/.f64 (*.f64 (cos.f64 re) (pow.f64 im 2)) -2) (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 1/2))))
(*.f64 (pow.f64 im 2) (cos.f64 re))
(-.f64 (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 1/2)) (/.f64 (*.f64 (cos.f64 re) (pow.f64 im 2)) -2))
(*.f64 (pow.f64 im 2) (cos.f64 re))
(-.f64 0 (neg.f64 (*.f64 (cos.f64 re) (pow.f64 im 2))))
(*.f64 (pow.f64 im 2) (cos.f64 re))
(-.f64 (*.f64 (pow.f64 im 2) (/.f64 (cos.f64 re) 4)) (-.f64 0 (/.f64 (*.f64 (*.f64 (cos.f64 re) (pow.f64 im 2)) 3/2) 2)))
(+.f64 (*.f64 (cos.f64 re) (/.f64 (pow.f64 im 2) 4)) (/.f64 (*.f64 (*.f64 (pow.f64 im 2) (cos.f64 re)) 3/2) 2))
(+.f64 (*.f64 (pow.f64 im 2) (/.f64 (cos.f64 re) 4)) (/.f64 (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 3/2)) 2))
(+.f64 (*.f64 (pow.f64 im 2) (/.f64 (cos.f64 re) 4)) (/.f64 (*.f64 (pow.f64 im 2) (*.f64 (cos.f64 re) 3/2)) 2))
(-.f64 (*.f64 (pow.f64 im 2) (/.f64 (cos.f64 re) 4)) (+.f64 (/.f64 (*.f64 (cos.f64 re) (pow.f64 im 2)) -2) (/.f64 (*.f64 (cos.f64 re) (pow.f64 im 2)) -4)))
(+.f64 (*.f64 (cos.f64 re) (/.f64 (pow.f64 im 2) 4)) (/.f64 (*.f64 (*.f64 (pow.f64 im 2) (cos.f64 re)) 3/2) 2))
(+.f64 (*.f64 (pow.f64 im 2) (/.f64 (cos.f64 re) 4)) (/.f64 (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 3/2)) 2))
(+.f64 (*.f64 (pow.f64 im 2) (/.f64 (cos.f64 re) 4)) (/.f64 (*.f64 (pow.f64 im 2) (*.f64 (cos.f64 re) 3/2)) 2))
(-.f64 (*.f64 (pow.f64 im 2) (/.f64 (cos.f64 re) 4)) (-.f64 (/.f64 (*.f64 (cos.f64 re) (pow.f64 im 2)) -2) (*.f64 (pow.f64 im 2) (/.f64 (cos.f64 re) 4))))
(+.f64 (*.f64 (cos.f64 re) (/.f64 (pow.f64 im 2) 4)) (-.f64 (*.f64 (cos.f64 re) (/.f64 (pow.f64 im 2) 4)) (/.f64 (*.f64 (pow.f64 im 2) (cos.f64 re)) -2)))
(+.f64 (*.f64 (pow.f64 im 2) (/.f64 (cos.f64 re) 4)) (-.f64 (*.f64 (pow.f64 im 2) (/.f64 (cos.f64 re) 4)) (/.f64 (*.f64 (pow.f64 im 2) (cos.f64 re)) -2)))
(+.f64 (*.f64 (pow.f64 im 2) (/.f64 (cos.f64 re) 4)) (+.f64 (*.f64 (pow.f64 im 2) (/.f64 (cos.f64 re) 4)) (*.f64 (pow.f64 im 2) (*.f64 1/2 (cos.f64 re)))))
(+.f64 (*.f64 (pow.f64 im 2) (/.f64 (cos.f64 re) 4)) (+.f64 (*.f64 (pow.f64 im 2) (*.f64 1/2 (cos.f64 re))) (*.f64 (pow.f64 im 2) (/.f64 (cos.f64 re) 4))))
(-.f64 (*.f64 (pow.f64 im 2) (/.f64 (cos.f64 re) 4)) (/.f64 (-.f64 0 (*.f64 (*.f64 (cos.f64 re) (pow.f64 im 2)) 3/2)) 2))
(+.f64 (*.f64 (cos.f64 re) (/.f64 (pow.f64 im 2) 4)) (/.f64 (*.f64 (*.f64 (pow.f64 im 2) (cos.f64 re)) 3/2) 2))
(+.f64 (*.f64 (pow.f64 im 2) (/.f64 (cos.f64 re) 4)) (/.f64 (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 3/2)) 2))
(+.f64 (*.f64 (pow.f64 im 2) (/.f64 (cos.f64 re) 4)) (/.f64 (*.f64 (pow.f64 im 2) (*.f64 (cos.f64 re) 3/2)) 2))
(-.f64 (/.f64 (*.f64 (*.f64 (cos.f64 re) (pow.f64 im 2)) 3/2) 2) (/.f64 (*.f64 (cos.f64 re) (pow.f64 im 2)) -4))
(*.f64 (pow.f64 im 2) (cos.f64 re))
(-.f64 (-.f64 (*.f64 (pow.f64 im 2) (/.f64 (cos.f64 re) 4)) (/.f64 (*.f64 (cos.f64 re) (pow.f64 im 2)) -2)) (/.f64 (*.f64 (cos.f64 re) (pow.f64 im 2)) -4))
(+.f64 (*.f64 (cos.f64 re) (/.f64 (pow.f64 im 2) 4)) (/.f64 (*.f64 (*.f64 (pow.f64 im 2) (cos.f64 re)) 3/2) 2))
(+.f64 (*.f64 (pow.f64 im 2) (/.f64 (cos.f64 re) 4)) (/.f64 (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 3/2)) 2))
(+.f64 (*.f64 (pow.f64 im 2) (/.f64 (cos.f64 re) 4)) (/.f64 (*.f64 (pow.f64 im 2) (*.f64 (cos.f64 re) 3/2)) 2))
(/.f64 (*.f64 (cos.f64 re) (pow.f64 im 2)) 1)
(*.f64 (pow.f64 im 2) (cos.f64 re))
(/.f64 (*.f64 2 (*.f64 (cos.f64 re) (pow.f64 im 2))) 2)
(*.f64 (pow.f64 im 2) (cos.f64 re))
(/.f64 (*.f64 (pow.f64 im 2) (*.f64 (cos.f64 re) 4)) 4)
(*.f64 (pow.f64 im 2) (cos.f64 re))
(/.f64 (*.f64 (cos.f64 re) (*.f64 2 (*.f64 (pow.f64 im 2) 4))) 8)
(*.f64 (pow.f64 im 2) (cos.f64 re))
(/.f64 (*.f64 (*.f64 (pow.f64 im 2) 4) (*.f64 (cos.f64 re) 4)) 16)
(*.f64 (pow.f64 im 2) (cos.f64 re))
(/.f64 (+.f64 (*.f64 (cos.f64 re) (*.f64 2 (*.f64 (pow.f64 im 2) 4))) (*.f64 (cos.f64 re) (*.f64 2 (*.f64 (pow.f64 im 2) 4)))) 16)
(*.f64 (pow.f64 im 2) (cos.f64 re))
(/.f64 (+.f64 (*.f64 (*.f64 (pow.f64 im 2) 4) (*.f64 (cos.f64 re) 4)) (*.f64 (*.f64 (pow.f64 im 2) 4) (*.f64 (cos.f64 re) 4))) 32)
(*.f64 (pow.f64 im 2) (cos.f64 re))
(/.f64 (*.f64 (*.f64 2 (*.f64 (pow.f64 im 2) 4)) (*.f64 2 (*.f64 (cos.f64 re) 4))) 64)
(*.f64 (pow.f64 im 2) (cos.f64 re))
(/.f64 (*.f64 (*.f64 2 (*.f64 (cos.f64 re) 4)) (*.f64 2 (*.f64 (pow.f64 im 2) 4))) 64)
(*.f64 (pow.f64 im 2) (cos.f64 re))
(/.f64 (*.f64 (*.f64 (cos.f64 0) 2) (*.f64 (cos.f64 re) (*.f64 2 (*.f64 (pow.f64 im 2) 4)))) 16)
(/.f64 (*.f64 (*.f64 (*.f64 (pow.f64 im 2) 4) (*.f64 2 (cos.f64 re))) (*.f64 2 (cos.f64 0))) 16)
(/.f64 (*.f64 (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 8)) (*.f64 2 (cos.f64 0))) 16)
(/.f64 (*.f64 (*.f64 (pow.f64 im 2) (*.f64 (cos.f64 re) 16)) (cos.f64 0)) 16)
(/.f64 (*.f64 (cos.f64 re) (*.f64 (cos.f64 0) (*.f64 (pow.f64 im 2) 16))) 16)
(pow.f64 (*.f64 (cos.f64 re) (pow.f64 im 2)) 1)
(*.f64 (pow.f64 im 2) (cos.f64 re))
(+.f64 (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 1/2)) 0)
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(*.f64 (pow.f64 im 2) (*.f64 (cos.f64 re) 1/2))
(*.f64 (pow.f64 im 2) (*.f64 1/2 (cos.f64 re)))
(+.f64 0 (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 1/2)))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(*.f64 (pow.f64 im 2) (*.f64 (cos.f64 re) 1/2))
(*.f64 (pow.f64 im 2) (*.f64 1/2 (cos.f64 re)))
(+.f64 (*.f64 (pow.f64 im 2) (/.f64 (cos.f64 re) 4)) (*.f64 (pow.f64 im 2) (/.f64 (cos.f64 re) 4)))
(*.f64 (/.f64 (cos.f64 re) 4) (+.f64 (pow.f64 im 2) (pow.f64 im 2)))
(*.f64 (/.f64 (pow.f64 im 2) 4) (+.f64 (cos.f64 re) (cos.f64 re)))
(*.f64 (pow.f64 im 2) (/.f64 (+.f64 (cos.f64 re) (cos.f64 re)) 4))
(*.f64 (*.f64 (pow.f64 im 2) (/.f64 (cos.f64 re) 4)) 2)
(+.f64 (/.f64 (*.f64 (cos.f64 re) (pow.f64 im 2)) 8) (+.f64 (/.f64 (*.f64 (cos.f64 re) (pow.f64 im 2)) 8) (*.f64 (pow.f64 im 2) (/.f64 (cos.f64 re) 4))))
(+.f64 (*.f64 (cos.f64 re) (/.f64 (pow.f64 im 2) 4)) (+.f64 (/.f64 (*.f64 (pow.f64 im 2) (cos.f64 re)) 8) (/.f64 (*.f64 (pow.f64 im 2) (cos.f64 re)) 8)))
(+.f64 (*.f64 (pow.f64 im 2) (/.f64 (cos.f64 re) 4)) (/.f64 (*.f64 (pow.f64 im 2) (cos.f64 re)) 4))
(+.f64 (*.f64 (pow.f64 im 2) (/.f64 (cos.f64 re) 4)) (*.f64 (*.f64 (pow.f64 im 2) (cos.f64 re)) 1/4))
(+.f64 (/.f64 (*.f64 (cos.f64 re) (pow.f64 im 2)) 8) (/.f64 (/.f64 (*.f64 (*.f64 (cos.f64 re) (pow.f64 im 2)) 3/2) 2) 2))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(*.f64 (pow.f64 im 2) (*.f64 (cos.f64 re) 1/2))
(*.f64 (pow.f64 im 2) (*.f64 1/2 (cos.f64 re)))
(+.f64 (/.f64 (*.f64 (cos.f64 re) (pow.f64 im 2)) 8) (/.f64 (*.f64 (*.f64 (cos.f64 re) (pow.f64 im 2)) 3/2) 4))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(*.f64 (pow.f64 im 2) (*.f64 (cos.f64 re) 1/2))
(*.f64 (pow.f64 im 2) (*.f64 1/2 (cos.f64 re)))
(+.f64 (/.f64 (*.f64 (cos.f64 re) (pow.f64 im 2)) 8) (/.f64 (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 3)) 8))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(*.f64 (pow.f64 im 2) (*.f64 (cos.f64 re) 1/2))
(*.f64 (pow.f64 im 2) (*.f64 1/2 (cos.f64 re)))
(-.f64 (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 1/2)) 0)
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(*.f64 (pow.f64 im 2) (*.f64 (cos.f64 re) 1/2))
(*.f64 (pow.f64 im 2) (*.f64 1/2 (cos.f64 re)))
(-.f64 (*.f64 (pow.f64 im 2) (/.f64 (cos.f64 re) 4)) (/.f64 (*.f64 (cos.f64 re) (pow.f64 im 2)) -4))
(+.f64 (*.f64 (cos.f64 re) (/.f64 (pow.f64 im 2) 4)) (+.f64 (/.f64 (*.f64 (pow.f64 im 2) (cos.f64 re)) 8) (/.f64 (*.f64 (pow.f64 im 2) (cos.f64 re)) 8)))
(+.f64 (*.f64 (pow.f64 im 2) (/.f64 (cos.f64 re) 4)) (/.f64 (*.f64 (pow.f64 im 2) (cos.f64 re)) 4))
(+.f64 (*.f64 (pow.f64 im 2) (/.f64 (cos.f64 re) 4)) (*.f64 (*.f64 (pow.f64 im 2) (cos.f64 re)) 1/4))
(-.f64 (/.f64 (*.f64 (cos.f64 re) (pow.f64 im 2)) 8) (/.f64 (-.f64 0 (*.f64 (*.f64 (cos.f64 re) (pow.f64 im 2)) 3/2)) 4))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(*.f64 (pow.f64 im 2) (*.f64 (cos.f64 re) 1/2))
(*.f64 (pow.f64 im 2) (*.f64 1/2 (cos.f64 re)))
(-.f64 (+.f64 (/.f64 (*.f64 (cos.f64 re) (pow.f64 im 2)) 8) (*.f64 (pow.f64 im 2) (/.f64 (cos.f64 re) 4))) (-.f64 0 (/.f64 (*.f64 (cos.f64 re) (pow.f64 im 2)) 8)))
(+.f64 (*.f64 (cos.f64 re) (/.f64 (pow.f64 im 2) 4)) (+.f64 (/.f64 (*.f64 (pow.f64 im 2) (cos.f64 re)) 8) (/.f64 (*.f64 (pow.f64 im 2) (cos.f64 re)) 8)))
(+.f64 (*.f64 (pow.f64 im 2) (/.f64 (cos.f64 re) 4)) (/.f64 (*.f64 (pow.f64 im 2) (cos.f64 re)) 4))
(+.f64 (*.f64 (pow.f64 im 2) (/.f64 (cos.f64 re) 4)) (*.f64 (*.f64 (pow.f64 im 2) (cos.f64 re)) 1/4))
(-.f64 (/.f64 (/.f64 (*.f64 (*.f64 (cos.f64 re) (pow.f64 im 2)) 3/2) 2) 2) (/.f64 (/.f64 (*.f64 (cos.f64 re) (pow.f64 im 2)) -4) 2))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(*.f64 (pow.f64 im 2) (*.f64 (cos.f64 re) 1/2))
(*.f64 (pow.f64 im 2) (*.f64 1/2 (cos.f64 re)))
(-.f64 (/.f64 (*.f64 (*.f64 (cos.f64 re) (pow.f64 im 2)) 3/2) 4) (/.f64 (/.f64 (*.f64 (cos.f64 re) (pow.f64 im 2)) -2) 4))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(*.f64 (pow.f64 im 2) (*.f64 (cos.f64 re) 1/2))
(*.f64 (pow.f64 im 2) (*.f64 1/2 (cos.f64 re)))
(-.f64 (/.f64 (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 3)) 8) (/.f64 (neg.f64 (*.f64 (cos.f64 re) (pow.f64 im 2))) 8))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(*.f64 (pow.f64 im 2) (*.f64 (cos.f64 re) 1/2))
(*.f64 (pow.f64 im 2) (*.f64 1/2 (cos.f64 re)))
(/.f64 (*.f64 (cos.f64 re) (pow.f64 im 2)) 2)
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(*.f64 (pow.f64 im 2) (*.f64 (cos.f64 re) 1/2))
(*.f64 (pow.f64 im 2) (*.f64 1/2 (cos.f64 re)))
(/.f64 (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 1/2)) 1)
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(*.f64 (pow.f64 im 2) (*.f64 (cos.f64 re) 1/2))
(*.f64 (pow.f64 im 2) (*.f64 1/2 (cos.f64 re)))
(/.f64 (*.f64 2 (*.f64 (cos.f64 re) (pow.f64 im 2))) 4)
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(*.f64 (pow.f64 im 2) (*.f64 (cos.f64 re) 1/2))
(*.f64 (pow.f64 im 2) (*.f64 1/2 (cos.f64 re)))
(/.f64 (*.f64 (pow.f64 im 2) (*.f64 (cos.f64 re) 4)) 8)
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(*.f64 (pow.f64 im 2) (*.f64 (cos.f64 re) 1/2))
(*.f64 (pow.f64 im 2) (*.f64 1/2 (cos.f64 re)))
(/.f64 (*.f64 (cos.f64 re) (*.f64 2 (*.f64 (pow.f64 im 2) 4))) 16)
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(*.f64 (pow.f64 im 2) (*.f64 (cos.f64 re) 1/2))
(*.f64 (pow.f64 im 2) (*.f64 1/2 (cos.f64 re)))
(/.f64 (*.f64 (*.f64 (pow.f64 im 2) 4) (*.f64 (cos.f64 re) 4)) 32)
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(*.f64 (pow.f64 im 2) (*.f64 (cos.f64 re) 1/2))
(*.f64 (pow.f64 im 2) (*.f64 1/2 (cos.f64 re)))
(/.f64 (/.f64 (*.f64 (*.f64 (pow.f64 im 2) 4) (*.f64 (cos.f64 re) 4)) 2) 16)
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(*.f64 (pow.f64 im 2) (*.f64 (cos.f64 re) 1/2))
(*.f64 (pow.f64 im 2) (*.f64 1/2 (cos.f64 re)))
(/.f64 (*.f64 (*.f64 (cos.f64 re) 4) (*.f64 2 (*.f64 (pow.f64 im 2) 4))) 64)
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(*.f64 (pow.f64 im 2) (*.f64 (cos.f64 re) 1/2))
(*.f64 (pow.f64 im 2) (*.f64 1/2 (cos.f64 re)))
(/.f64 (*.f64 (*.f64 (pow.f64 im 2) 4) (*.f64 2 (*.f64 (cos.f64 re) 4))) 64)
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(*.f64 (pow.f64 im 2) (*.f64 (cos.f64 re) 1/2))
(*.f64 (pow.f64 im 2) (*.f64 1/2 (cos.f64 re)))
(/.f64 (*.f64 (*.f64 2 (*.f64 (pow.f64 im 2) 4)) (*.f64 (cos.f64 re) 4)) 64)
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(*.f64 (pow.f64 im 2) (*.f64 (cos.f64 re) 1/2))
(*.f64 (pow.f64 im 2) (*.f64 1/2 (cos.f64 re)))
(/.f64 (*.f64 (*.f64 2 (*.f64 (cos.f64 re) 4)) (*.f64 (pow.f64 im 2) 4)) 64)
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(*.f64 (pow.f64 im 2) (*.f64 (cos.f64 re) 1/2))
(*.f64 (pow.f64 im 2) (*.f64 1/2 (cos.f64 re)))
(/.f64 (*.f64 (*.f64 (cos.f64 0) 2) (*.f64 (pow.f64 im 2) (*.f64 (cos.f64 re) 4))) 16)
(/.f64 (*.f64 (*.f64 4 (cos.f64 re)) (*.f64 (pow.f64 im 2) (*.f64 2 (cos.f64 0)))) 16)
(/.f64 (*.f64 (cos.f64 0) (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 8))) 16)
(/.f64 (*.f64 (*.f64 (pow.f64 im 2) (*.f64 (cos.f64 re) 16)) (cos.f64 0)) 32)
(/.f64 (*.f64 (pow.f64 im 2) (*.f64 (*.f64 (cos.f64 re) 8) (cos.f64 0))) 16)
(pow.f64 (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) 1/2)) 1)
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(*.f64 (pow.f64 im 2) (*.f64 (cos.f64 re) 1/2))
(*.f64 (pow.f64 im 2) (*.f64 1/2 (cos.f64 re)))

eval167.0ms (1%)

Compiler

Compiled 2329 to 1573 computations (32.5% saved)

prune45.0ms (0.3%)

Pruning

3 alts after pruning (0 fresh and 3 done)

PrunedKeptTotal
New1100110
Fresh000
Picked011
Done022
Total1103113
Error
0b
Counts
113 → 3
Alt Table
Click to see full alt table
StatusErrorProgram
0.7b
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (cos.f64 re))
25.1b
(*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
1.0b
(cos.f64 re)
Compiler

Compiled 27 to 20 computations (25.9% saved)

regimes116.0ms (0.7%)

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

6 calls:

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

Compiled 71 to 47 computations (33.8% saved)

regimes63.0ms (0.4%)

Accuracy

Total -26.1b remaining (-667597.8%)

Threshold costs -26.1b (-667597.8%)

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

3 calls:

30.0ms
re
22.0ms
im
9.0ms
(cos.f64 re)
Results
ErrorSegmentsBranch
0.0b3re
1.0b1im
0.0b2(cos.f64 re)
Compiler

Compiled 22 to 16 computations (27.3% saved)

bsearch0.0ms (0%)

Algorithm
binary-search
Steps
TimeLeftRight
0.0ms
0.9999984252990805
1.0
Compiler

Compiled 18 to 14 computations (22.2% saved)

simplify21.0ms (0.1%)

Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02183
Stop Event
done
saturated
Calls
Call 1
Inputs
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(if (<=.f64 (cos.f64 re) 1) (cos.f64 re) (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(cos.f64 re)
Outputs
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(if (<=.f64 (cos.f64 re) 1) (cos.f64 re) (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(cos.f64 re)
Compiler

Compiled 34 to 25 computations (26.5% saved)

soundness0.0ms (0%)

end74.0ms (0.4%)

Compiler

Compiled 30 to 16 computations (46.7% saved)

Profiling

Loading profile data...