Details

Time bar (total: 7.8s)

analyze99.0ms (1.3%)

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
77.4%74.9%21.9%0.1%3.1%0%0%6
78.7%74.9%20.3%0.1%4.7%0%0%7
80.7%74.9%18%0.1%7%0%0%8
81.7%74.9%16.8%0.1%8.2%0%0%9
82.9%74.9%15.4%0.1%9.6%0%0%10
83.6%74.9%14.7%0.1%10.2%0%0%11
84.3%74.9%14%0.1%11%0%0%12
Compiler

Compiled 8 to 6 computations (25% saved)

sample2.3s (29.1%)

Results
954.0ms6245×body256valid
655.0ms1361×body1024valid
347.0ms684×body1024infinite
143.0ms644×body512valid
71.0ms342×body512infinite
57.0ms455×body256infinite
4.0msbody2048valid
Bogosity

preprocess314.0ms (4%)

Algorithm
egg-herbie
Rules
7918×rational_best-simplify-108
3864×rational_best-simplify-65
486×rational_best-simplify-3
318×rational_best-simplify-64
278×rational_best-simplify-47
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01130
12130
22530
33130
43930
55530
69230
717730
840730
969630
10129830
11178130
12206530
13234930
14263330
15263330
16263330
17291730
18320130
19348530
20376930
21405330
22433730
23682230
24682230
25739430
26787230
022
Stop Event
saturated
node limit
Calls
Call 1
Inputs
0
1
Outputs
0
1
Call 2
Inputs
(*.f64 (exp.f64 re) (sin.f64 im))
(*.f64 (exp.f64 im) (sin.f64 re))
Outputs
(*.f64 (exp.f64 re) (sin.f64 im))
(*.f64 (exp.f64 im) (sin.f64 re))
Compiler

Compiled 9 to 7 computations (22.2% saved)

simplify312.0ms (4%)

Algorithm
egg-herbie
Rules
7918×rational_best-simplify-108
3868×rational_best-simplify-65
488×rational_best-simplify-3
318×rational_best-simplify-64
264×rational_best-simplify-47
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0815
11515
21915
32515
43315
54915
68615
717115
839315
968315
10128515
11176915
12205315
13233715
14262115
15262115
16262115
17290515
18318915
19347315
20375715
21404115
22432515
23681115
24681115
25738715
26786515
Stop Event
node limit
Counts
1 → 1
Calls
Call 1
Inputs
(*.f64 (exp.f64 re) (sin.f64 im))
Outputs
(*.f64 (exp.f64 re) (sin.f64 im))

eval0.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) (sin.f64 im))
Compiler

Compiled 7 to 5 computations (28.6% saved)

localize6.0ms (0.1%)

Local error

Found 1 expressions with local error:

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

Compiled 13 to 5 computations (61.5% saved)

series2.0ms (0%)

Counts
1 → 24
Calls

6 calls:

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

rewrite146.0ms (1.9%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
0815
15715
214215
340515
4136915
5796115
Stop Event
node limit
Counts
1 → 21
Calls
Call 1
Inputs
(*.f64 (exp.f64 re) (sin.f64 im))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (exp.f64 re) (sin.f64 im)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (exp.f64 re) (*.f64 (sin.f64 im) 1/2)) (*.f64 (exp.f64 re) (*.f64 (sin.f64 im) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 4) (+.f64 (/.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 4) (*.f64 (exp.f64 re) (*.f64 (sin.f64 im) 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 4) (/.f64 (/.f64 (*.f64 (exp.f64 re) (*.f64 (sin.f64 im) 3)) 2) 2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 4) (/.f64 (*.f64 (exp.f64 re) (*.f64 (sin.f64 im) 3)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (exp.f64 re) (*.f64 (sin.f64 im) 1/2)) (/.f64 (*.f64 (exp.f64 re) (sin.f64 im)) -2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (/.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 4) (*.f64 (exp.f64 re) (*.f64 (sin.f64 im) 1/2))) (-.f64 0 (/.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (/.f64 (*.f64 (exp.f64 re) (*.f64 (sin.f64 im) 3)) 2) 2) (/.f64 (/.f64 (*.f64 (exp.f64 re) (sin.f64 im)) -2) 2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (*.f64 (exp.f64 re) (*.f64 (sin.f64 im) 3)) 4) (/.f64 (neg.f64 (*.f64 (exp.f64 re) (sin.f64 im))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (exp.f64 re) (*.f64 (sin.f64 im) 2)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (exp.f64 re) (*.f64 (sin.f64 im) 4)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 4 (*.f64 (exp.f64 re) (*.f64 (sin.f64 im) 4))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (exp.f64 re) (*.f64 (*.f64 (sin.f64 im) 2) 4)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 (exp.f64 re) (*.f64 (*.f64 (sin.f64 im) 2) 4)) (*.f64 (exp.f64 re) (*.f64 (*.f64 (sin.f64 im) 2) 4))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 4 (*.f64 (exp.f64 re) (*.f64 (sin.f64 im) 4))) (*.f64 4 (*.f64 (exp.f64 re) (*.f64 (sin.f64 im) 4)))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 (*.f64 (sin.f64 im) 2) 4) (*.f64 2 (*.f64 (exp.f64 re) 4))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 2 (*.f64 (exp.f64 re) 4)) (*.f64 (*.f64 (sin.f64 im) 2) 4)) 64)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 1)))))

simplify69.0ms (0.9%)

Algorithm
egg-herbie
Rules
1010×rational_best-simplify-47
960×rational_best-simplify-51
808×rational_best-simplify-63
730×rational_best-simplify-67
700×rational_best-simplify-57
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
0103919
1264919
2643907
31687851
Stop Event
node limit
Counts
45 → 53
Calls
Call 1
Inputs
(sin.f64 im)
(+.f64 (sin.f64 im) (*.f64 (sin.f64 im) re))
(+.f64 (sin.f64 im) (+.f64 (*.f64 (sin.f64 im) re) (*.f64 1/2 (*.f64 (sin.f64 im) (pow.f64 re 2)))))
(+.f64 (sin.f64 im) (+.f64 (*.f64 (sin.f64 im) re) (+.f64 (*.f64 1/6 (*.f64 (sin.f64 im) (pow.f64 re 3))) (*.f64 1/2 (*.f64 (sin.f64 im) (pow.f64 re 2))))))
(*.f64 (sin.f64 im) (exp.f64 re))
(*.f64 (sin.f64 im) (exp.f64 re))
(*.f64 (sin.f64 im) (exp.f64 re))
(*.f64 (sin.f64 im) (exp.f64 re))
(*.f64 (sin.f64 im) (exp.f64 re))
(*.f64 (sin.f64 im) (exp.f64 re))
(*.f64 (sin.f64 im) (exp.f64 re))
(*.f64 (sin.f64 im) (exp.f64 re))
(*.f64 (exp.f64 re) im)
(+.f64 (*.f64 -1/6 (*.f64 (exp.f64 re) (pow.f64 im 3))) (*.f64 (exp.f64 re) im))
(+.f64 (*.f64 -1/6 (*.f64 (exp.f64 re) (pow.f64 im 3))) (+.f64 (*.f64 1/120 (*.f64 (exp.f64 re) (pow.f64 im 5))) (*.f64 (exp.f64 re) im)))
(+.f64 (*.f64 -1/6 (*.f64 (exp.f64 re) (pow.f64 im 3))) (+.f64 (*.f64 1/120 (*.f64 (exp.f64 re) (pow.f64 im 5))) (+.f64 (*.f64 -1/5040 (*.f64 (exp.f64 re) (pow.f64 im 7))) (*.f64 (exp.f64 re) im))))
(*.f64 (sin.f64 im) (exp.f64 re))
(*.f64 (sin.f64 im) (exp.f64 re))
(*.f64 (sin.f64 im) (exp.f64 re))
(*.f64 (sin.f64 im) (exp.f64 re))
(*.f64 (sin.f64 im) (exp.f64 re))
(*.f64 (sin.f64 im) (exp.f64 re))
(*.f64 (sin.f64 im) (exp.f64 re))
(*.f64 (sin.f64 im) (exp.f64 re))
(+.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 0)
(+.f64 0 (*.f64 (exp.f64 re) (sin.f64 im)))
(+.f64 (*.f64 (exp.f64 re) (*.f64 (sin.f64 im) 1/2)) (*.f64 (exp.f64 re) (*.f64 (sin.f64 im) 1/2)))
(+.f64 (/.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 4) (+.f64 (/.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 4) (*.f64 (exp.f64 re) (*.f64 (sin.f64 im) 1/2))))
(+.f64 (/.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 4) (/.f64 (/.f64 (*.f64 (exp.f64 re) (*.f64 (sin.f64 im) 3)) 2) 2))
(+.f64 (/.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 4) (/.f64 (*.f64 (exp.f64 re) (*.f64 (sin.f64 im) 3)) 4))
(-.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 0)
(-.f64 (*.f64 (exp.f64 re) (*.f64 (sin.f64 im) 1/2)) (/.f64 (*.f64 (exp.f64 re) (sin.f64 im)) -2))
(-.f64 (+.f64 (/.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 4) (*.f64 (exp.f64 re) (*.f64 (sin.f64 im) 1/2))) (-.f64 0 (/.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 4)))
(-.f64 (/.f64 (/.f64 (*.f64 (exp.f64 re) (*.f64 (sin.f64 im) 3)) 2) 2) (/.f64 (/.f64 (*.f64 (exp.f64 re) (sin.f64 im)) -2) 2))
(-.f64 (/.f64 (*.f64 (exp.f64 re) (*.f64 (sin.f64 im) 3)) 4) (/.f64 (neg.f64 (*.f64 (exp.f64 re) (sin.f64 im))) 4))
(/.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 1)
(/.f64 (*.f64 (exp.f64 re) (*.f64 (sin.f64 im) 2)) 2)
(/.f64 (*.f64 (exp.f64 re) (*.f64 (sin.f64 im) 4)) 4)
(/.f64 (*.f64 4 (*.f64 (exp.f64 re) (*.f64 (sin.f64 im) 4))) 16)
(/.f64 (*.f64 (exp.f64 re) (*.f64 (*.f64 (sin.f64 im) 2) 4)) 8)
(/.f64 (+.f64 (*.f64 (exp.f64 re) (*.f64 (*.f64 (sin.f64 im) 2) 4)) (*.f64 (exp.f64 re) (*.f64 (*.f64 (sin.f64 im) 2) 4))) 16)
(/.f64 (+.f64 (*.f64 4 (*.f64 (exp.f64 re) (*.f64 (sin.f64 im) 4))) (*.f64 4 (*.f64 (exp.f64 re) (*.f64 (sin.f64 im) 4)))) 32)
(/.f64 (*.f64 (*.f64 (*.f64 (sin.f64 im) 2) 4) (*.f64 2 (*.f64 (exp.f64 re) 4))) 64)
(/.f64 (*.f64 (*.f64 2 (*.f64 (exp.f64 re) 4)) (*.f64 (*.f64 (sin.f64 im) 2) 4)) 64)
(pow.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 1)
Outputs
(sin.f64 im)
(+.f64 (sin.f64 im) (*.f64 (sin.f64 im) re))
(*.f64 (sin.f64 im) (-.f64 re -1))
(*.f64 (sin.f64 im) (+.f64 re 1))
(+.f64 (sin.f64 im) (+.f64 (*.f64 (sin.f64 im) re) (*.f64 1/2 (*.f64 (sin.f64 im) (pow.f64 re 2)))))
(+.f64 (*.f64 (pow.f64 re 2) (*.f64 (sin.f64 im) 1/2)) (+.f64 (sin.f64 im) (*.f64 (sin.f64 im) re)))
(+.f64 (sin.f64 im) (+.f64 (*.f64 (sin.f64 im) re) (*.f64 (sin.f64 im) (*.f64 (pow.f64 re 2) 1/2))))
(+.f64 (*.f64 (sin.f64 im) (-.f64 re -1)) (*.f64 (pow.f64 re 2) (*.f64 (sin.f64 im) 1/2)))
(+.f64 (sin.f64 im) (*.f64 (sin.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))))
(+.f64 (sin.f64 im) (+.f64 (*.f64 (sin.f64 im) re) (+.f64 (*.f64 1/6 (*.f64 (sin.f64 im) (pow.f64 re 3))) (*.f64 1/2 (*.f64 (sin.f64 im) (pow.f64 re 2))))))
(+.f64 (+.f64 (*.f64 (pow.f64 re 2) (*.f64 (sin.f64 im) 1/2)) (*.f64 (pow.f64 re 3) (*.f64 (sin.f64 im) 1/6))) (+.f64 (sin.f64 im) (*.f64 (sin.f64 im) re)))
(+.f64 (sin.f64 im) (+.f64 (*.f64 (sin.f64 im) re) (+.f64 (*.f64 (sin.f64 im) (*.f64 (pow.f64 re 2) 1/2)) (*.f64 1/6 (*.f64 (sin.f64 im) (pow.f64 re 3))))))
(+.f64 (*.f64 (sin.f64 im) (-.f64 re -1)) (+.f64 (*.f64 (pow.f64 re 2) (*.f64 (sin.f64 im) 1/2)) (*.f64 (pow.f64 re 3) (*.f64 (sin.f64 im) 1/6))))
(+.f64 (*.f64 (sin.f64 im) (+.f64 re 1)) (*.f64 (sin.f64 im) (+.f64 (*.f64 1/2 (pow.f64 re 2)) (*.f64 1/6 (pow.f64 re 3)))))
(*.f64 (sin.f64 im) (exp.f64 re))
(*.f64 (sin.f64 im) (exp.f64 re))
(*.f64 (sin.f64 im) (exp.f64 re))
(*.f64 (sin.f64 im) (exp.f64 re))
(*.f64 (sin.f64 im) (exp.f64 re))
(*.f64 (sin.f64 im) (exp.f64 re))
(*.f64 (sin.f64 im) (exp.f64 re))
(*.f64 (sin.f64 im) (exp.f64 re))
(*.f64 (exp.f64 re) im)
(*.f64 im (exp.f64 re))
(+.f64 (*.f64 -1/6 (*.f64 (exp.f64 re) (pow.f64 im 3))) (*.f64 (exp.f64 re) im))
(+.f64 (*.f64 im (exp.f64 re)) (*.f64 -1/6 (*.f64 (exp.f64 re) (pow.f64 im 3))))
(+.f64 (*.f64 im (exp.f64 re)) (*.f64 (exp.f64 re) (*.f64 (pow.f64 im 3) -1/6)))
(+.f64 (*.f64 im (exp.f64 re)) (*.f64 (exp.f64 re) (*.f64 -1/6 (pow.f64 im 3))))
(*.f64 (exp.f64 re) (+.f64 im (*.f64 -1/6 (pow.f64 im 3))))
(+.f64 (*.f64 -1/6 (*.f64 (exp.f64 re) (pow.f64 im 3))) (+.f64 (*.f64 1/120 (*.f64 (exp.f64 re) (pow.f64 im 5))) (*.f64 (exp.f64 re) im)))
(+.f64 (*.f64 im (exp.f64 re)) (+.f64 (*.f64 1/120 (*.f64 (exp.f64 re) (pow.f64 im 5))) (*.f64 -1/6 (*.f64 (exp.f64 re) (pow.f64 im 3)))))
(+.f64 (*.f64 im (exp.f64 re)) (+.f64 (*.f64 (exp.f64 re) (*.f64 (pow.f64 im 3) -1/6)) (*.f64 1/120 (*.f64 (exp.f64 re) (pow.f64 im 5)))))
(+.f64 (*.f64 im (exp.f64 re)) (+.f64 (*.f64 (exp.f64 re) (*.f64 -1/6 (pow.f64 im 3))) (*.f64 (pow.f64 im 5) (*.f64 (exp.f64 re) 1/120))))
(+.f64 (*.f64 im (exp.f64 re)) (*.f64 (exp.f64 re) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 1/120 (pow.f64 im 5)))))
(+.f64 (*.f64 -1/6 (*.f64 (exp.f64 re) (pow.f64 im 3))) (+.f64 (*.f64 1/120 (*.f64 (exp.f64 re) (pow.f64 im 5))) (+.f64 (*.f64 -1/5040 (*.f64 (exp.f64 re) (pow.f64 im 7))) (*.f64 (exp.f64 re) im))))
(+.f64 (*.f64 -1/6 (*.f64 (exp.f64 re) (pow.f64 im 3))) (+.f64 (*.f64 1/120 (*.f64 (exp.f64 re) (pow.f64 im 5))) (+.f64 (*.f64 im (exp.f64 re)) (*.f64 (pow.f64 im 7) (*.f64 (exp.f64 re) -1/5040)))))
(+.f64 (*.f64 (exp.f64 re) (*.f64 (pow.f64 im 3) -1/6)) (+.f64 (*.f64 1/120 (*.f64 (exp.f64 re) (pow.f64 im 5))) (+.f64 (*.f64 im (exp.f64 re)) (*.f64 (exp.f64 re) (*.f64 (pow.f64 im 7) -1/5040)))))
(+.f64 (*.f64 (exp.f64 re) (*.f64 -1/6 (pow.f64 im 3))) (+.f64 (+.f64 (*.f64 im (exp.f64 re)) (*.f64 (pow.f64 im 5) (*.f64 (exp.f64 re) 1/120))) (*.f64 (exp.f64 re) (*.f64 -1/5040 (pow.f64 im 7)))))
(+.f64 (*.f64 (exp.f64 re) (+.f64 im (*.f64 -1/6 (pow.f64 im 3)))) (*.f64 (exp.f64 re) (+.f64 (*.f64 1/120 (pow.f64 im 5)) (*.f64 -1/5040 (pow.f64 im 7)))))
(*.f64 (sin.f64 im) (exp.f64 re))
(*.f64 (sin.f64 im) (exp.f64 re))
(*.f64 (sin.f64 im) (exp.f64 re))
(*.f64 (sin.f64 im) (exp.f64 re))
(*.f64 (sin.f64 im) (exp.f64 re))
(*.f64 (sin.f64 im) (exp.f64 re))
(*.f64 (sin.f64 im) (exp.f64 re))
(*.f64 (sin.f64 im) (exp.f64 re))
(+.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 0)
(*.f64 (sin.f64 im) (exp.f64 re))
(+.f64 0 (*.f64 (exp.f64 re) (sin.f64 im)))
(*.f64 (sin.f64 im) (exp.f64 re))
(+.f64 (*.f64 (exp.f64 re) (*.f64 (sin.f64 im) 1/2)) (*.f64 (exp.f64 re) (*.f64 (sin.f64 im) 1/2)))
(*.f64 (sin.f64 im) (exp.f64 re))
(+.f64 (/.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 4) (+.f64 (/.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 4) (*.f64 (exp.f64 re) (*.f64 (sin.f64 im) 1/2))))
(*.f64 (sin.f64 im) (exp.f64 re))
(+.f64 (/.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 4) (/.f64 (/.f64 (*.f64 (exp.f64 re) (*.f64 (sin.f64 im) 3)) 2) 2))
(*.f64 (sin.f64 im) (exp.f64 re))
(+.f64 (/.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 4) (/.f64 (*.f64 (exp.f64 re) (*.f64 (sin.f64 im) 3)) 4))
(*.f64 (sin.f64 im) (exp.f64 re))
(-.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 0)
(*.f64 (sin.f64 im) (exp.f64 re))
(-.f64 (*.f64 (exp.f64 re) (*.f64 (sin.f64 im) 1/2)) (/.f64 (*.f64 (exp.f64 re) (sin.f64 im)) -2))
(*.f64 (sin.f64 im) (exp.f64 re))
(-.f64 (+.f64 (/.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 4) (*.f64 (exp.f64 re) (*.f64 (sin.f64 im) 1/2))) (-.f64 0 (/.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 4)))
(*.f64 (sin.f64 im) (exp.f64 re))
(-.f64 (/.f64 (/.f64 (*.f64 (exp.f64 re) (*.f64 (sin.f64 im) 3)) 2) 2) (/.f64 (/.f64 (*.f64 (exp.f64 re) (sin.f64 im)) -2) 2))
(*.f64 (sin.f64 im) (exp.f64 re))
(-.f64 (/.f64 (*.f64 (exp.f64 re) (*.f64 (sin.f64 im) 3)) 4) (/.f64 (neg.f64 (*.f64 (exp.f64 re) (sin.f64 im))) 4))
(*.f64 (sin.f64 im) (exp.f64 re))
(/.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 1)
(*.f64 (sin.f64 im) (exp.f64 re))
(/.f64 (*.f64 (exp.f64 re) (*.f64 (sin.f64 im) 2)) 2)
(*.f64 (sin.f64 im) (exp.f64 re))
(/.f64 (*.f64 (exp.f64 re) (*.f64 (sin.f64 im) 4)) 4)
(*.f64 (sin.f64 im) (exp.f64 re))
(/.f64 (*.f64 4 (*.f64 (exp.f64 re) (*.f64 (sin.f64 im) 4))) 16)
(*.f64 (sin.f64 im) (exp.f64 re))
(/.f64 (*.f64 (exp.f64 re) (*.f64 (*.f64 (sin.f64 im) 2) 4)) 8)
(*.f64 (sin.f64 im) (exp.f64 re))
(/.f64 (+.f64 (*.f64 (exp.f64 re) (*.f64 (*.f64 (sin.f64 im) 2) 4)) (*.f64 (exp.f64 re) (*.f64 (*.f64 (sin.f64 im) 2) 4))) 16)
(*.f64 (sin.f64 im) (exp.f64 re))
(/.f64 (+.f64 (*.f64 4 (*.f64 (exp.f64 re) (*.f64 (sin.f64 im) 4))) (*.f64 4 (*.f64 (exp.f64 re) (*.f64 (sin.f64 im) 4)))) 32)
(*.f64 (sin.f64 im) (exp.f64 re))
(/.f64 (*.f64 (*.f64 (*.f64 (sin.f64 im) 2) 4) (*.f64 2 (*.f64 (exp.f64 re) 4))) 64)
(*.f64 (sin.f64 im) (exp.f64 re))
(/.f64 (*.f64 (*.f64 2 (*.f64 (exp.f64 re) 4)) (*.f64 (*.f64 (sin.f64 im) 2) 4)) 64)
(*.f64 (sin.f64 im) (exp.f64 re))
(pow.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 1)
(*.f64 (sin.f64 im) (exp.f64 re))

eval12.0ms (0.1%)

Compiler

Compiled 850 to 451 computations (46.9% saved)

prune124.0ms (1.6%)

Pruning

6 alts after pruning (5 fresh and 1 done)

PrunedKeptTotal
New48553
Fresh000
Picked011
Done000
Total48654
Error
0.0b
Counts
54 → 6
Alt Table
Click to see full alt table
StatusErrorProgram
20.6b
(+.f64 (sin.f64 im) (*.f64 (sin.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))))
20.4b
(+.f64 (sin.f64 im) (*.f64 (sin.f64 im) re))
20.4b
(*.f64 (sin.f64 im) (-.f64 re -1))
0.0b
(*.f64 (exp.f64 re) (sin.f64 im))
23.4b
(*.f64 (exp.f64 re) im)
20.7b
(sin.f64 im)
Compiler

Compiled 91 to 61 computations (33% saved)

localize8.0ms (0.1%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.0b
(+.f64 (sin.f64 im) (*.f64 (sin.f64 im) re))
0.2b
(*.f64 (sin.f64 im) re)
Compiler

Compiled 17 to 5 computations (70.6% saved)

series3.0ms (0%)

Counts
2 → 11
Calls

12 calls:

TimeVariablePointExpression
1.0ms
re
@0
(*.f64 (sin.f64 im) re)
0.0ms
im
@0
(*.f64 (sin.f64 im) re)
0.0ms
re
@inf
(*.f64 (sin.f64 im) re)
0.0ms
im
@0
(+.f64 (sin.f64 im) (*.f64 (sin.f64 im) re))
0.0ms
re
@-inf
(*.f64 (sin.f64 im) re)

rewrite73.0ms (0.9%)

Algorithm
batch-egg-rewrite
Rules
1118×rational_best-simplify-51
920×rational_best-simplify-57
800×rational_best-4
800×rational_best-2
800×rational_best-3
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
0832
16032
215628
345928
4180428
Stop Event
node limit
Counts
2 → 114
Calls
Call 1
Inputs
(*.f64 (sin.f64 im) re)
(+.f64 (sin.f64 im) (*.f64 (sin.f64 im) re))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (sin.f64 im) re) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (sin.f64 im) re))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (*.f64 (sin.f64 im) re) 2) (/.f64 (*.f64 (sin.f64 im) re) 2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (*.f64 (sin.f64 im) re) 4) (/.f64 (/.f64 (*.f64 (sin.f64 im) (*.f64 re 3)) 2) 2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (*.f64 (sin.f64 im) re) 4) (/.f64 (*.f64 (sin.f64 im) (*.f64 re 3)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (sin.f64 im) re) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (*.f64 (sin.f64 im) (neg.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (*.f64 (sin.f64 im) re) 2) (/.f64 (*.f64 (sin.f64 im) re) -2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (/.f64 (*.f64 (sin.f64 im) (*.f64 re 3)) 2) 2) (/.f64 (/.f64 (*.f64 (sin.f64 im) re) -2) 2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (*.f64 (sin.f64 im) (*.f64 re 3)) 4) (/.f64 (*.f64 (sin.f64 im) (neg.f64 re)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sin.f64 im) re) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sin.f64 im) (neg.f64 re)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sin.f64 im) (+.f64 re re)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sin.f64 im) (*.f64 re 4)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 (sin.f64 im) 4) (*.f64 re 4)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sin.f64 im) (*.f64 2 (*.f64 re 4))) 8)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (sin.f64 im) re) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (*.f64 (sin.f64 im) (neg.f64 re)))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (sin.f64 im) (*.f64 (sin.f64 im) (neg.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (sin.f64 im) (-.f64 (*.f64 (sin.f64 im) (neg.f64 re)) (*.f64 (sin.f64 0) (cos.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (sin.f64 im) (+.f64 (*.f64 (sin.f64 im) (neg.f64 re)) (*.f64 (sin.f64 0) (cos.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (sin.f64 im) (-.f64 (/.f64 (*.f64 (sin.f64 im) 0) -2) (*.f64 (sin.f64 im) re)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (sin.f64 im) (-.f64 (*.f64 (sin.f64 0) (cos.f64 im)) (*.f64 (sin.f64 im) re)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (sin.f64 im) (-.f64 (*.f64 (sin.f64 im) re) (*.f64 (sin.f64 im) (+.f64 re re))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (sin.f64 im) (+.f64 (-.f64 0 (*.f64 (cos.f64 im) (*.f64 (sin.f64 0) 2))) (*.f64 (sin.f64 im) (neg.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (sin.f64 im) (+.f64 (*.f64 (sin.f64 0) (-.f64 (cos.f64 (neg.f64 im)) (cos.f64 im))) (*.f64 (sin.f64 im) (neg.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (sin.f64 im) (+.f64 (*.f64 (cos.f64 im) (*.f64 (sin.f64 0) 2)) (*.f64 (sin.f64 im) (neg.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (sin.f64 im) re) (neg.f64 (sin.f64 im)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (sin.f64 im) re) (-.f64 (*.f64 (sin.f64 im) (+.f64 re -1)) (*.f64 (sin.f64 im) re)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (sin.f64 im) re) (/.f64 (+.f64 (*.f64 (sin.f64 im) (-.f64 -1 re)) (*.f64 (sin.f64 im) (+.f64 re -1))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (sin.f64 im) (+.f64 re 1)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (sin.f64 im) (+.f64 re 1)) (*.f64 (sin.f64 0) (cos.f64 im)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (sin.f64 im) (+.f64 re 1)) (/.f64 (*.f64 (sin.f64 im) 0) -2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (sin.f64 im) (+.f64 re 1)) (/.f64 (-.f64 (*.f64 (sin.f64 im) (-.f64 -1 re)) (*.f64 (sin.f64 im) (-.f64 -1 re))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (*.f64 (sin.f64 im) (-.f64 -1 re)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (sin.f64 im) 2) (+.f64 (sin.f64 im) (*.f64 (sin.f64 im) (neg.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (sin.f64 im) (+.f64 re re)) (*.f64 (sin.f64 im) (+.f64 re -1)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (sin.f64 0) (cos.f64 im)) (*.f64 (sin.f64 im) (-.f64 -1 re)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (*.f64 (sin.f64 im) re) (*.f64 (sin.f64 0) (cos.f64 im))) (neg.f64 (sin.f64 im)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (sin.f64 im) 1/2) (+.f64 (*.f64 (sin.f64 im) (neg.f64 re)) (/.f64 (sin.f64 im) -2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (sin.f64 im) 1/2) (-.f64 (/.f64 (sin.f64 im) -2) (*.f64 (sin.f64 im) re)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (sin.f64 im) 1/2) (+.f64 (/.f64 (sin.f64 im) -2) (*.f64 (sin.f64 im) (neg.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (sin.f64 im) 1/2) (/.f64 (-.f64 0 (*.f64 (sin.f64 im) (-.f64 (+.f64 re re) -1))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (*.f64 (sin.f64 im) 0) -2) (*.f64 (sin.f64 im) (-.f64 -1 re)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (*.f64 (sin.f64 im) (+.f64 re 1)) 2) (/.f64 (*.f64 (sin.f64 im) (+.f64 re 1)) -2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (*.f64 (sin.f64 im) re) 2) (-.f64 0 (/.f64 (*.f64 (sin.f64 im) (+.f64 re 2)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (*.f64 (sin.f64 im) re) 2) (-.f64 (/.f64 (*.f64 (sin.f64 im) 0) -2) (/.f64 (*.f64 (sin.f64 im) (+.f64 re 2)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (*.f64 (sin.f64 im) re) 2) (-.f64 (*.f64 (sin.f64 0) (cos.f64 im)) (/.f64 (*.f64 (sin.f64 im) (+.f64 re 2)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (*.f64 (sin.f64 im) re) 2) (-.f64 (neg.f64 (sin.f64 im)) (/.f64 (+.f64 (*.f64 (sin.f64 im) re) (*.f64 (sin.f64 im) 0)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (*.f64 (sin.f64 im) re) 2) (+.f64 (/.f64 (*.f64 (sin.f64 im) re) -2) (neg.f64 (sin.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (*.f64 (sin.f64 im) re) 2) (/.f64 (-.f64 0 (*.f64 (sin.f64 im) (+.f64 re 2))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (sin.f64 im) (+.f64 re -1)) (*.f64 (sin.f64 im) -2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (*.f64 (sin.f64 im) (+.f64 re 2)) 2) (/.f64 (*.f64 (sin.f64 im) re) -2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (*.f64 (sin.f64 im) (+.f64 re 2)) 2) (+.f64 (/.f64 (*.f64 (sin.f64 im) 0) -2) (/.f64 (*.f64 (sin.f64 im) re) -2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (*.f64 (sin.f64 im) (+.f64 re 2)) 2) (+.f64 (*.f64 (sin.f64 0) (cos.f64 im)) (/.f64 (*.f64 (sin.f64 im) re) -2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (cos.f64 im) (*.f64 (sin.f64 0) 2)) (*.f64 (sin.f64 im) (-.f64 -1 re)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (sin.f64 0) (-.f64 (cos.f64 (neg.f64 im)) (cos.f64 im))) (*.f64 (sin.f64 im) (-.f64 -1 re)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (*.f64 (sin.f64 im) (+.f64 re 1)) 4) (/.f64 (*.f64 -3 (/.f64 (*.f64 (sin.f64 im) (+.f64 re 1)) 2)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (*.f64 (sin.f64 im) re) (*.f64 (sin.f64 im) 1/2)) (/.f64 (sin.f64 im) -2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (+.f64 (*.f64 (sin.f64 im) re) (*.f64 (sin.f64 im) 0)) 2) (-.f64 0 (/.f64 (*.f64 (sin.f64 im) (+.f64 re 2)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (/.f64 (*.f64 (*.f64 (sin.f64 im) (+.f64 re 1)) 3) 2) 2) (/.f64 (/.f64 (*.f64 (sin.f64 im) (+.f64 re 1)) -2) 2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (*.f64 (*.f64 (sin.f64 im) (+.f64 re 1)) 3) 4) (/.f64 (*.f64 (sin.f64 im) (-.f64 -1 re)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (+.f64 (*.f64 (sin.f64 im) re) (/.f64 (*.f64 (sin.f64 im) (+.f64 re 1)) 2)) 2) (/.f64 (-.f64 (/.f64 (*.f64 (sin.f64 im) (+.f64 re 1)) -2) (sin.f64 im)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (+.f64 (sin.f64 im) (/.f64 (*.f64 (sin.f64 im) (+.f64 re 1)) 2)) 2) (/.f64 (-.f64 (/.f64 (sin.f64 im) -2) (/.f64 (*.f64 (sin.f64 im) (*.f64 re 3)) 2)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (*.f64 (sin.f64 im) (-.f64 (+.f64 re re) (-.f64 -1 re))) 2) (/.f64 (*.f64 (sin.f64 im) (+.f64 re -1)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (+.f64 (*.f64 (sin.f64 im) (+.f64 re re)) (/.f64 (*.f64 (sin.f64 im) (+.f64 re 1)) 2)) 2) (/.f64 (-.f64 (/.f64 (*.f64 (sin.f64 im) (+.f64 re -1)) 2) (sin.f64 im)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sin.f64 im) (+.f64 re 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sin.f64 im) (+.f64 re (cos.f64 0)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sin.f64 im) (*.f64 (cos.f64 0) (+.f64 re 1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sin.f64 im) (-.f64 re (neg.f64 (cos.f64 0))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sin.f64 im) (-.f64 (+.f64 re re) (+.f64 re -1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sin.f64 im) (+.f64 re 1)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (*.f64 (sin.f64 im) (+.f64 re 1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (*.f64 (sin.f64 im) (+.f64 re 1)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sin.f64 im) (*.f64 (+.f64 re 1) 2)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sin.f64 im) 2) (*.f64 (+.f64 re 1) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sin.f64 im) 2) (*.f64 1/2 (+.f64 re 1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sin.f64 im) 2) (/.f64 (+.f64 re 1) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sin.f64 im) 2) (-.f64 (*.f64 re 1/2) -1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sin.f64 im) 2) (+.f64 1/2 (*.f64 re 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sin.f64 im) 2) (+.f64 (*.f64 re 1/2) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cos.f64 0) (*.f64 (sin.f64 im) (+.f64 re 1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 (sin.f64 im) (*.f64 (+.f64 re 1) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sin.f64 im) 1/2) (*.f64 (*.f64 (cos.f64 0) 2) (+.f64 re 1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sin.f64 im) 1/2) (+.f64 (*.f64 (cos.f64 0) 2) (+.f64 re re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sin.f64 im) 1/2) (+.f64 (+.f64 re re) (*.f64 (cos.f64 0) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sin.f64 im) (-.f64 -1 re)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 re 1) (sin.f64 im))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 re 1) (*.f64 (sin.f64 im) 4)) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sin.f64 im) 4) (/.f64 (+.f64 re 1) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cos.f64 0) (cos.f64 0)) (*.f64 (sin.f64 im) (+.f64 re 1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (+.f64 re 1) (*.f64 (sin.f64 im) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (*.f64 (sin.f64 im) 4) (+.f64 re 1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cos.f64 0) 2) (*.f64 (sin.f64 im) (*.f64 (+.f64 re 1) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cos.f64 0) 4) (*.f64 (*.f64 (sin.f64 im) 4) (+.f64 re 1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 re (cos.f64 0)) (sin.f64 im))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (*.f64 (+.f64 re 1) (*.f64 (sin.f64 im) 4))) 1/8)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (*.f64 (sin.f64 im) 4)) (/.f64 (+.f64 re 1) 8))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sin.f64 im) (+.f64 re 1)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sin.f64 im) (*.f64 (+.f64 re 1) 2)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sin.f64 im) (-.f64 -1 re)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 re 1) (*.f64 (sin.f64 im) 4)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (+.f64 re 1) (*.f64 (sin.f64 im) 4))) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 (sin.f64 im) 4)) (*.f64 (sin.f64 im) (*.f64 2 (*.f64 re 4)))) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 (sin.f64 im) (*.f64 2 (*.f64 re 4))) (*.f64 2 (*.f64 (sin.f64 im) 4))) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 (cos.f64 im) (*.f64 (sin.f64 0) 2)) (*.f64 (sin.f64 im) (*.f64 (+.f64 re 1) 2))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 (sin.f64 im) 0) (*.f64 (sin.f64 im) (*.f64 (+.f64 re 1) 2))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (-.f64 (cos.f64 (-.f64 im (*.f64 (PI.f64) 1/2))) (sin.f64 im)) (*.f64 (sin.f64 im) (*.f64 (+.f64 re 1) 2))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 (sin.f64 im) 4) (neg.f64 (*.f64 (sin.f64 im) (*.f64 re 4)))) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 (sin.f64 im) (*.f64 re 4)) (neg.f64 (*.f64 (sin.f64 im) 4))) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 (sin.f64 im) (*.f64 (+.f64 re 1) 2)) (-.f64 (cos.f64 (-.f64 im (*.f64 (PI.f64) 1/2))) (sin.f64 im))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 (sin.f64 im) (*.f64 re 4)) (*.f64 2 (*.f64 (sin.f64 im) (+.f64 re -1)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (sin.f64 im) (+.f64 re 1)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (*.f64 (sin.f64 im) (-.f64 -1 re)))))))

simplify87.0ms (1.1%)

Algorithm
egg-herbie
Rules
1278×rational_best-simplify-50
650×rational_best-simplify-1
598×rational_best-simplify-108
542×rational_best-simplify-47
496×rational_best-simplify-65
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
03263973
18143921
220793349
Stop Event
node limit
Counts
125 → 187
Calls
Call 1
Inputs
(*.f64 re im)
(+.f64 (*.f64 -1/6 (*.f64 re (pow.f64 im 3))) (*.f64 re im))
(+.f64 (*.f64 -1/6 (*.f64 re (pow.f64 im 3))) (+.f64 (*.f64 1/120 (*.f64 re (pow.f64 im 5))) (*.f64 re im)))
(+.f64 (*.f64 -1/5040 (*.f64 re (pow.f64 im 7))) (+.f64 (*.f64 -1/6 (*.f64 re (pow.f64 im 3))) (+.f64 (*.f64 1/120 (*.f64 re (pow.f64 im 5))) (*.f64 re im))))
(*.f64 (+.f64 1 re) im)
(+.f64 (*.f64 (-.f64 (*.f64 -1/6 re) 1/6) (pow.f64 im 3)) (*.f64 (+.f64 1 re) im))
(+.f64 (*.f64 (-.f64 (*.f64 -1/6 re) 1/6) (pow.f64 im 3)) (+.f64 (*.f64 (+.f64 (*.f64 1/120 re) 1/120) (pow.f64 im 5)) (*.f64 (+.f64 1 re) im)))
(+.f64 (*.f64 (-.f64 (*.f64 -1/6 re) 1/6) (pow.f64 im 3)) (+.f64 (*.f64 (+.f64 (*.f64 1/120 re) 1/120) (pow.f64 im 5)) (+.f64 (*.f64 (-.f64 (*.f64 -1/5040 re) 1/5040) (pow.f64 im 7)) (*.f64 (+.f64 1 re) im))))
(sin.f64 im)
(*.f64 (sin.f64 im) re)
(*.f64 (sin.f64 im) re)
(+.f64 (*.f64 (sin.f64 im) re) 0)
(+.f64 0 (*.f64 (sin.f64 im) re))
(+.f64 (/.f64 (*.f64 (sin.f64 im) re) 2) (/.f64 (*.f64 (sin.f64 im) re) 2))
(+.f64 (/.f64 (*.f64 (sin.f64 im) re) 4) (/.f64 (/.f64 (*.f64 (sin.f64 im) (*.f64 re 3)) 2) 2))
(+.f64 (/.f64 (*.f64 (sin.f64 im) re) 4) (/.f64 (*.f64 (sin.f64 im) (*.f64 re 3)) 4))
(-.f64 (*.f64 (sin.f64 im) re) 0)
(-.f64 0 (*.f64 (sin.f64 im) (neg.f64 re)))
(-.f64 (/.f64 (*.f64 (sin.f64 im) re) 2) (/.f64 (*.f64 (sin.f64 im) re) -2))
(-.f64 (/.f64 (/.f64 (*.f64 (sin.f64 im) (*.f64 re 3)) 2) 2) (/.f64 (/.f64 (*.f64 (sin.f64 im) re) -2) 2))
(-.f64 (/.f64 (*.f64 (sin.f64 im) (*.f64 re 3)) 4) (/.f64 (*.f64 (sin.f64 im) (neg.f64 re)) 4))
(/.f64 (*.f64 (sin.f64 im) re) 1)
(/.f64 (*.f64 (sin.f64 im) (neg.f64 re)) -1)
(/.f64 (*.f64 (sin.f64 im) (+.f64 re re)) 2)
(/.f64 (*.f64 (sin.f64 im) (*.f64 re 4)) 4)
(/.f64 (*.f64 (*.f64 (sin.f64 im) 4) (*.f64 re 4)) 16)
(/.f64 (*.f64 (sin.f64 im) (*.f64 2 (*.f64 re 4))) 8)
(pow.f64 (*.f64 (sin.f64 im) re) 1)
(neg.f64 (*.f64 (sin.f64 im) (neg.f64 re)))
(-.f64 (sin.f64 im) (*.f64 (sin.f64 im) (neg.f64 re)))
(-.f64 (sin.f64 im) (-.f64 (*.f64 (sin.f64 im) (neg.f64 re)) (*.f64 (sin.f64 0) (cos.f64 im))))
(-.f64 (sin.f64 im) (+.f64 (*.f64 (sin.f64 im) (neg.f64 re)) (*.f64 (sin.f64 0) (cos.f64 im))))
(-.f64 (sin.f64 im) (-.f64 (/.f64 (*.f64 (sin.f64 im) 0) -2) (*.f64 (sin.f64 im) re)))
(-.f64 (sin.f64 im) (-.f64 (*.f64 (sin.f64 0) (cos.f64 im)) (*.f64 (sin.f64 im) re)))
(-.f64 (sin.f64 im) (-.f64 (*.f64 (sin.f64 im) re) (*.f64 (sin.f64 im) (+.f64 re re))))
(-.f64 (sin.f64 im) (+.f64 (-.f64 0 (*.f64 (cos.f64 im) (*.f64 (sin.f64 0) 2))) (*.f64 (sin.f64 im) (neg.f64 re))))
(-.f64 (sin.f64 im) (+.f64 (*.f64 (sin.f64 0) (-.f64 (cos.f64 (neg.f64 im)) (cos.f64 im))) (*.f64 (sin.f64 im) (neg.f64 re))))
(-.f64 (sin.f64 im) (+.f64 (*.f64 (cos.f64 im) (*.f64 (sin.f64 0) 2)) (*.f64 (sin.f64 im) (neg.f64 re))))
(-.f64 (*.f64 (sin.f64 im) re) (neg.f64 (sin.f64 im)))
(-.f64 (*.f64 (sin.f64 im) re) (-.f64 (*.f64 (sin.f64 im) (+.f64 re -1)) (*.f64 (sin.f64 im) re)))
(-.f64 (*.f64 (sin.f64 im) re) (/.f64 (+.f64 (*.f64 (sin.f64 im) (-.f64 -1 re)) (*.f64 (sin.f64 im) (+.f64 re -1))) 2))
(-.f64 (*.f64 (sin.f64 im) (+.f64 re 1)) 0)
(-.f64 (*.f64 (sin.f64 im) (+.f64 re 1)) (*.f64 (sin.f64 0) (cos.f64 im)))
(-.f64 (*.f64 (sin.f64 im) (+.f64 re 1)) (/.f64 (*.f64 (sin.f64 im) 0) -2))
(-.f64 (*.f64 (sin.f64 im) (+.f64 re 1)) (/.f64 (-.f64 (*.f64 (sin.f64 im) (-.f64 -1 re)) (*.f64 (sin.f64 im) (-.f64 -1 re))) 2))
(-.f64 0 (*.f64 (sin.f64 im) (-.f64 -1 re)))
(-.f64 (*.f64 (sin.f64 im) 2) (+.f64 (sin.f64 im) (*.f64 (sin.f64 im) (neg.f64 re))))
(-.f64 (*.f64 (sin.f64 im) (+.f64 re re)) (*.f64 (sin.f64 im) (+.f64 re -1)))
(-.f64 (*.f64 (sin.f64 0) (cos.f64 im)) (*.f64 (sin.f64 im) (-.f64 -1 re)))
(-.f64 (+.f64 (*.f64 (sin.f64 im) re) (*.f64 (sin.f64 0) (cos.f64 im))) (neg.f64 (sin.f64 im)))
(-.f64 (*.f64 (sin.f64 im) 1/2) (+.f64 (*.f64 (sin.f64 im) (neg.f64 re)) (/.f64 (sin.f64 im) -2)))
(-.f64 (*.f64 (sin.f64 im) 1/2) (-.f64 (/.f64 (sin.f64 im) -2) (*.f64 (sin.f64 im) re)))
(-.f64 (*.f64 (sin.f64 im) 1/2) (+.f64 (/.f64 (sin.f64 im) -2) (*.f64 (sin.f64 im) (neg.f64 re))))
(-.f64 (*.f64 (sin.f64 im) 1/2) (/.f64 (-.f64 0 (*.f64 (sin.f64 im) (-.f64 (+.f64 re re) -1))) 2))
(-.f64 (/.f64 (*.f64 (sin.f64 im) 0) -2) (*.f64 (sin.f64 im) (-.f64 -1 re)))
(-.f64 (/.f64 (*.f64 (sin.f64 im) (+.f64 re 1)) 2) (/.f64 (*.f64 (sin.f64 im) (+.f64 re 1)) -2))
(-.f64 (/.f64 (*.f64 (sin.f64 im) re) 2) (-.f64 0 (/.f64 (*.f64 (sin.f64 im) (+.f64 re 2)) 2)))
(-.f64 (/.f64 (*.f64 (sin.f64 im) re) 2) (-.f64 (/.f64 (*.f64 (sin.f64 im) 0) -2) (/.f64 (*.f64 (sin.f64 im) (+.f64 re 2)) 2)))
(-.f64 (/.f64 (*.f64 (sin.f64 im) re) 2) (-.f64 (*.f64 (sin.f64 0) (cos.f64 im)) (/.f64 (*.f64 (sin.f64 im) (+.f64 re 2)) 2)))
(-.f64 (/.f64 (*.f64 (sin.f64 im) re) 2) (-.f64 (neg.f64 (sin.f64 im)) (/.f64 (+.f64 (*.f64 (sin.f64 im) re) (*.f64 (sin.f64 im) 0)) 2)))
(-.f64 (/.f64 (*.f64 (sin.f64 im) re) 2) (+.f64 (/.f64 (*.f64 (sin.f64 im) re) -2) (neg.f64 (sin.f64 im))))
(-.f64 (/.f64 (*.f64 (sin.f64 im) re) 2) (/.f64 (-.f64 0 (*.f64 (sin.f64 im) (+.f64 re 2))) 2))
(-.f64 (*.f64 (sin.f64 im) (+.f64 re -1)) (*.f64 (sin.f64 im) -2))
(-.f64 (/.f64 (*.f64 (sin.f64 im) (+.f64 re 2)) 2) (/.f64 (*.f64 (sin.f64 im) re) -2))
(-.f64 (/.f64 (*.f64 (sin.f64 im) (+.f64 re 2)) 2) (+.f64 (/.f64 (*.f64 (sin.f64 im) 0) -2) (/.f64 (*.f64 (sin.f64 im) re) -2)))
(-.f64 (/.f64 (*.f64 (sin.f64 im) (+.f64 re 2)) 2) (+.f64 (*.f64 (sin.f64 0) (cos.f64 im)) (/.f64 (*.f64 (sin.f64 im) re) -2)))
(-.f64 (*.f64 (cos.f64 im) (*.f64 (sin.f64 0) 2)) (*.f64 (sin.f64 im) (-.f64 -1 re)))
(-.f64 (*.f64 (sin.f64 0) (-.f64 (cos.f64 (neg.f64 im)) (cos.f64 im))) (*.f64 (sin.f64 im) (-.f64 -1 re)))
(-.f64 (/.f64 (*.f64 (sin.f64 im) (+.f64 re 1)) 4) (/.f64 (*.f64 -3 (/.f64 (*.f64 (sin.f64 im) (+.f64 re 1)) 2)) 2))
(-.f64 (+.f64 (*.f64 (sin.f64 im) re) (*.f64 (sin.f64 im) 1/2)) (/.f64 (sin.f64 im) -2))
(-.f64 (/.f64 (+.f64 (*.f64 (sin.f64 im) re) (*.f64 (sin.f64 im) 0)) 2) (-.f64 0 (/.f64 (*.f64 (sin.f64 im) (+.f64 re 2)) 2)))
(-.f64 (/.f64 (/.f64 (*.f64 (*.f64 (sin.f64 im) (+.f64 re 1)) 3) 2) 2) (/.f64 (/.f64 (*.f64 (sin.f64 im) (+.f64 re 1)) -2) 2))
(-.f64 (/.f64 (*.f64 (*.f64 (sin.f64 im) (+.f64 re 1)) 3) 4) (/.f64 (*.f64 (sin.f64 im) (-.f64 -1 re)) 4))
(-.f64 (/.f64 (+.f64 (*.f64 (sin.f64 im) re) (/.f64 (*.f64 (sin.f64 im) (+.f64 re 1)) 2)) 2) (/.f64 (-.f64 (/.f64 (*.f64 (sin.f64 im) (+.f64 re 1)) -2) (sin.f64 im)) 2))
(-.f64 (/.f64 (+.f64 (sin.f64 im) (/.f64 (*.f64 (sin.f64 im) (+.f64 re 1)) 2)) 2) (/.f64 (-.f64 (/.f64 (sin.f64 im) -2) (/.f64 (*.f64 (sin.f64 im) (*.f64 re 3)) 2)) 2))
(-.f64 (/.f64 (*.f64 (sin.f64 im) (-.f64 (+.f64 re re) (-.f64 -1 re))) 2) (/.f64 (*.f64 (sin.f64 im) (+.f64 re -1)) 2))
(-.f64 (/.f64 (+.f64 (*.f64 (sin.f64 im) (+.f64 re re)) (/.f64 (*.f64 (sin.f64 im) (+.f64 re 1)) 2)) 2) (/.f64 (-.f64 (/.f64 (*.f64 (sin.f64 im) (+.f64 re -1)) 2) (sin.f64 im)) 2))
(*.f64 (sin.f64 im) (+.f64 re 1))
(*.f64 (sin.f64 im) (+.f64 re (cos.f64 0)))
(*.f64 (sin.f64 im) (*.f64 (cos.f64 0) (+.f64 re 1)))
(*.f64 (sin.f64 im) (-.f64 re (neg.f64 (cos.f64 0))))
(*.f64 (sin.f64 im) (-.f64 (+.f64 re re) (+.f64 re -1)))
(*.f64 (*.f64 (sin.f64 im) (+.f64 re 1)) 1)
(*.f64 1 (*.f64 (sin.f64 im) (+.f64 re 1)))
(*.f64 2 (*.f64 (*.f64 (sin.f64 im) (+.f64 re 1)) 1/2))
(*.f64 (*.f64 (sin.f64 im) (*.f64 (+.f64 re 1) 2)) 1/2)
(*.f64 (*.f64 (sin.f64 im) 2) (*.f64 (+.f64 re 1) 1/2))
(*.f64 (*.f64 (sin.f64 im) 2) (*.f64 1/2 (+.f64 re 1)))
(*.f64 (*.f64 (sin.f64 im) 2) (/.f64 (+.f64 re 1) 2))
(*.f64 (*.f64 (sin.f64 im) 2) (-.f64 (*.f64 re 1/2) -1/2))
(*.f64 (*.f64 (sin.f64 im) 2) (+.f64 1/2 (*.f64 re 1/2)))
(*.f64 (*.f64 (sin.f64 im) 2) (+.f64 (*.f64 re 1/2) 1/2))
(*.f64 (cos.f64 0) (*.f64 (sin.f64 im) (+.f64 re 1)))
(*.f64 1/2 (*.f64 (sin.f64 im) (*.f64 (+.f64 re 1) 2)))
(*.f64 (*.f64 (sin.f64 im) 1/2) (*.f64 (*.f64 (cos.f64 0) 2) (+.f64 re 1)))
(*.f64 (*.f64 (sin.f64 im) 1/2) (+.f64 (*.f64 (cos.f64 0) 2) (+.f64 re re)))
(*.f64 (*.f64 (sin.f64 im) 1/2) (+.f64 (+.f64 re re) (*.f64 (cos.f64 0) 2)))
(*.f64 (*.f64 (sin.f64 im) (-.f64 -1 re)) -1)
(*.f64 (+.f64 re 1) (sin.f64 im))
(*.f64 (*.f64 (+.f64 re 1) (*.f64 (sin.f64 im) 4)) 1/4)
(*.f64 (*.f64 (sin.f64 im) 4) (/.f64 (+.f64 re 1) 4))
(*.f64 (*.f64 (cos.f64 0) (cos.f64 0)) (*.f64 (sin.f64 im) (+.f64 re 1)))
(*.f64 1/4 (*.f64 (+.f64 re 1) (*.f64 (sin.f64 im) 4)))
(*.f64 1/4 (*.f64 (*.f64 (sin.f64 im) 4) (+.f64 re 1)))
(*.f64 (/.f64 (cos.f64 0) 2) (*.f64 (sin.f64 im) (*.f64 (+.f64 re 1) 2)))
(*.f64 (/.f64 (cos.f64 0) 4) (*.f64 (*.f64 (sin.f64 im) 4) (+.f64 re 1)))
(*.f64 (+.f64 re (cos.f64 0)) (sin.f64 im))
(*.f64 (*.f64 2 (*.f64 (+.f64 re 1) (*.f64 (sin.f64 im) 4))) 1/8)
(*.f64 (*.f64 2 (*.f64 (sin.f64 im) 4)) (/.f64 (+.f64 re 1) 8))
(/.f64 (*.f64 (sin.f64 im) (+.f64 re 1)) 1)
(/.f64 (*.f64 (sin.f64 im) (*.f64 (+.f64 re 1) 2)) 2)
(/.f64 (*.f64 (sin.f64 im) (-.f64 -1 re)) -1)
(/.f64 (*.f64 (+.f64 re 1) (*.f64 (sin.f64 im) 4)) 4)
(/.f64 (*.f64 2 (*.f64 (+.f64 re 1) (*.f64 (sin.f64 im) 4))) 8)
(/.f64 (+.f64 (*.f64 2 (*.f64 (sin.f64 im) 4)) (*.f64 (sin.f64 im) (*.f64 2 (*.f64 re 4)))) 8)
(/.f64 (+.f64 (*.f64 (sin.f64 im) (*.f64 2 (*.f64 re 4))) (*.f64 2 (*.f64 (sin.f64 im) 4))) 8)
(/.f64 (+.f64 (*.f64 (cos.f64 im) (*.f64 (sin.f64 0) 2)) (*.f64 (sin.f64 im) (*.f64 (+.f64 re 1) 2))) 2)
(/.f64 (+.f64 (*.f64 (sin.f64 im) 0) (*.f64 (sin.f64 im) (*.f64 (+.f64 re 1) 2))) 2)
(/.f64 (+.f64 (-.f64 (cos.f64 (-.f64 im (*.f64 (PI.f64) 1/2))) (sin.f64 im)) (*.f64 (sin.f64 im) (*.f64 (+.f64 re 1) 2))) 2)
(/.f64 (-.f64 (*.f64 (sin.f64 im) 4) (neg.f64 (*.f64 (sin.f64 im) (*.f64 re 4)))) 4)
(/.f64 (-.f64 (*.f64 (sin.f64 im) (*.f64 re 4)) (neg.f64 (*.f64 (sin.f64 im) 4))) 4)
(/.f64 (-.f64 (*.f64 (sin.f64 im) (*.f64 (+.f64 re 1) 2)) (-.f64 (cos.f64 (-.f64 im (*.f64 (PI.f64) 1/2))) (sin.f64 im))) 2)
(/.f64 (-.f64 (*.f64 (sin.f64 im) (*.f64 re 4)) (*.f64 2 (*.f64 (sin.f64 im) (+.f64 re -1)))) 2)
(pow.f64 (*.f64 (sin.f64 im) (+.f64 re 1)) 1)
(neg.f64 (*.f64 (sin.f64 im) (-.f64 -1 re)))
Outputs
(*.f64 re im)
(+.f64 (*.f64 -1/6 (*.f64 re (pow.f64 im 3))) (*.f64 re im))
(+.f64 (*.f64 re im) (*.f64 (pow.f64 im 3) (*.f64 re -1/6)))
(+.f64 (*.f64 -1/6 (*.f64 re (pow.f64 im 3))) (+.f64 (*.f64 1/120 (*.f64 re (pow.f64 im 5))) (*.f64 re im)))
(+.f64 (*.f64 re im) (+.f64 (*.f64 (pow.f64 im 5) (*.f64 re 1/120)) (*.f64 (pow.f64 im 3) (*.f64 re -1/6))))
(+.f64 (*.f64 re im) (+.f64 (*.f64 (pow.f64 im 3) (*.f64 re -1/6)) (*.f64 (pow.f64 im 5) (*.f64 re 1/120))))
(+.f64 (*.f64 -1/5040 (*.f64 re (pow.f64 im 7))) (+.f64 (*.f64 -1/6 (*.f64 re (pow.f64 im 3))) (+.f64 (*.f64 1/120 (*.f64 re (pow.f64 im 5))) (*.f64 re im))))
(+.f64 (+.f64 (*.f64 re im) (*.f64 (pow.f64 im 5) (*.f64 re 1/120))) (+.f64 (*.f64 (pow.f64 im 3) (*.f64 re -1/6)) (*.f64 (pow.f64 im 7) (*.f64 re -1/5040))))
(+.f64 (*.f64 (pow.f64 im 3) (*.f64 re -1/6)) (+.f64 (+.f64 (*.f64 re im) (*.f64 (pow.f64 im 5) (*.f64 re 1/120))) (*.f64 re (*.f64 -1/5040 (pow.f64 im 7)))))
(+.f64 (*.f64 re im) (+.f64 (*.f64 (pow.f64 im 5) (*.f64 re 1/120)) (+.f64 (*.f64 (pow.f64 im 3) (*.f64 re -1/6)) (*.f64 (pow.f64 im 7) (*.f64 re -1/5040)))))
(*.f64 (+.f64 1 re) im)
(*.f64 im (+.f64 re 1))
(+.f64 (*.f64 (-.f64 (*.f64 -1/6 re) 1/6) (pow.f64 im 3)) (*.f64 (+.f64 1 re) im))
(+.f64 (*.f64 im (+.f64 re 1)) (*.f64 (pow.f64 im 3) (-.f64 (*.f64 re -1/6) 1/6)))
(+.f64 (*.f64 (-.f64 (*.f64 -1/6 re) 1/6) (pow.f64 im 3)) (+.f64 (*.f64 (+.f64 (*.f64 1/120 re) 1/120) (pow.f64 im 5)) (*.f64 (+.f64 1 re) im)))
(+.f64 (*.f64 im (+.f64 re 1)) (+.f64 (*.f64 (pow.f64 im 5) (+.f64 1/120 (*.f64 re 1/120))) (*.f64 (pow.f64 im 3) (-.f64 (*.f64 re -1/6) 1/6))))
(+.f64 (*.f64 im (+.f64 re 1)) (+.f64 (*.f64 (pow.f64 im 3) (-.f64 (*.f64 re -1/6) 1/6)) (*.f64 (pow.f64 im 5) (+.f64 1/120 (*.f64 re 1/120)))))
(+.f64 (+.f64 (*.f64 im (+.f64 re 1)) (*.f64 (pow.f64 im 3) (-.f64 (*.f64 re -1/6) 1/6))) (*.f64 (pow.f64 im 5) (+.f64 1/120 (*.f64 re 1/120))))
(+.f64 (*.f64 (-.f64 (*.f64 -1/6 re) 1/6) (pow.f64 im 3)) (+.f64 (*.f64 (+.f64 (*.f64 1/120 re) 1/120) (pow.f64 im 5)) (+.f64 (*.f64 (-.f64 (*.f64 -1/5040 re) 1/5040) (pow.f64 im 7)) (*.f64 (+.f64 1 re) im))))
(+.f64 (+.f64 (*.f64 im (+.f64 re 1)) (*.f64 (pow.f64 im 7) (-.f64 (*.f64 re -1/5040) 1/5040))) (+.f64 (*.f64 (pow.f64 im 5) (+.f64 1/120 (*.f64 re 1/120))) (*.f64 (pow.f64 im 3) (-.f64 (*.f64 re -1/6) 1/6))))
(+.f64 (*.f64 (pow.f64 im 3) (-.f64 (*.f64 re -1/6) 1/6)) (+.f64 (*.f64 (pow.f64 im 7) (-.f64 (*.f64 re -1/5040) 1/5040)) (+.f64 (*.f64 im (+.f64 re 1)) (*.f64 (pow.f64 im 5) (+.f64 1/120 (*.f64 re 1/120))))))
(+.f64 (*.f64 im (+.f64 re 1)) (+.f64 (+.f64 (*.f64 (pow.f64 im 5) (+.f64 1/120 (*.f64 re 1/120))) (*.f64 (pow.f64 im 7) (-.f64 (*.f64 re -1/5040) 1/5040))) (*.f64 (pow.f64 im 3) (-.f64 (*.f64 re -1/6) 1/6))))
(sin.f64 im)
(*.f64 (sin.f64 im) re)
(*.f64 re (sin.f64 im))
(*.f64 (sin.f64 im) re)
(*.f64 re (sin.f64 im))
(+.f64 (*.f64 (sin.f64 im) re) 0)
(*.f64 re (sin.f64 im))
(+.f64 0 (*.f64 (sin.f64 im) re))
(*.f64 re (sin.f64 im))
(+.f64 (/.f64 (*.f64 (sin.f64 im) re) 2) (/.f64 (*.f64 (sin.f64 im) re) 2))
(*.f64 re (sin.f64 im))
(+.f64 (/.f64 (*.f64 (sin.f64 im) re) 4) (/.f64 (/.f64 (*.f64 (sin.f64 im) (*.f64 re 3)) 2) 2))
(*.f64 re (sin.f64 im))
(+.f64 (/.f64 (*.f64 (sin.f64 im) re) 4) (/.f64 (*.f64 (sin.f64 im) (*.f64 re 3)) 4))
(*.f64 re (sin.f64 im))
(-.f64 (*.f64 (sin.f64 im) re) 0)
(*.f64 re (sin.f64 im))
(-.f64 0 (*.f64 (sin.f64 im) (neg.f64 re)))
(*.f64 re (sin.f64 im))
(-.f64 (/.f64 (*.f64 (sin.f64 im) re) 2) (/.f64 (*.f64 (sin.f64 im) re) -2))
(*.f64 re (sin.f64 im))
(-.f64 (/.f64 (/.f64 (*.f64 (sin.f64 im) (*.f64 re 3)) 2) 2) (/.f64 (/.f64 (*.f64 (sin.f64 im) re) -2) 2))
(*.f64 re (sin.f64 im))
(-.f64 (/.f64 (*.f64 (sin.f64 im) (*.f64 re 3)) 4) (/.f64 (*.f64 (sin.f64 im) (neg.f64 re)) 4))
(*.f64 re (sin.f64 im))
(/.f64 (*.f64 (sin.f64 im) re) 1)
(*.f64 re (sin.f64 im))
(/.f64 (*.f64 (sin.f64 im) (neg.f64 re)) -1)
(*.f64 re (sin.f64 im))
(/.f64 (*.f64 (sin.f64 im) (+.f64 re re)) 2)
(*.f64 re (sin.f64 im))
(/.f64 (*.f64 (sin.f64 im) (*.f64 re 4)) 4)
(*.f64 re (sin.f64 im))
(/.f64 (*.f64 (*.f64 (sin.f64 im) 4) (*.f64 re 4)) 16)
(*.f64 re (sin.f64 im))
(/.f64 (*.f64 (sin.f64 im) (*.f64 2 (*.f64 re 4))) 8)
(*.f64 re (sin.f64 im))
(pow.f64 (*.f64 (sin.f64 im) re) 1)
(*.f64 re (sin.f64 im))
(neg.f64 (*.f64 (sin.f64 im) (neg.f64 re)))
(*.f64 re (sin.f64 im))
(-.f64 (sin.f64 im) (*.f64 (sin.f64 im) (neg.f64 re)))
(-.f64 (sin.f64 im) (*.f64 re (neg.f64 (sin.f64 im))))
(*.f64 (sin.f64 im) (+.f64 re 1))
(-.f64 (sin.f64 im) (-.f64 (*.f64 (sin.f64 im) (neg.f64 re)) (*.f64 (sin.f64 0) (cos.f64 im))))
(-.f64 (*.f64 (sin.f64 0) (cos.f64 im)) (-.f64 (*.f64 (sin.f64 im) (neg.f64 re)) (sin.f64 im)))
(-.f64 (*.f64 (sin.f64 0) (cos.f64 im)) (-.f64 (*.f64 re (neg.f64 (sin.f64 im))) (sin.f64 im)))
(-.f64 (*.f64 (sin.f64 0) (cos.f64 im)) (*.f64 (sin.f64 im) (-.f64 (neg.f64 re) 1)))
(-.f64 (sin.f64 im) (+.f64 (*.f64 (sin.f64 im) (neg.f64 re)) (*.f64 (sin.f64 0) (cos.f64 im))))
(-.f64 (sin.f64 im) (+.f64 (*.f64 re (neg.f64 (sin.f64 im))) (*.f64 (sin.f64 0) (cos.f64 im))))
(-.f64 (*.f64 (sin.f64 im) (+.f64 re 1)) (*.f64 (sin.f64 0) (cos.f64 im)))
(-.f64 (sin.f64 im) (-.f64 (/.f64 (*.f64 (sin.f64 im) 0) -2) (*.f64 (sin.f64 im) re)))
(-.f64 (sin.f64 im) (*.f64 (sin.f64 im) (neg.f64 re)))
(-.f64 (sin.f64 im) (*.f64 re (neg.f64 (sin.f64 im))))
(*.f64 (sin.f64 im) (+.f64 re 1))
(-.f64 (sin.f64 im) (-.f64 (*.f64 (sin.f64 0) (cos.f64 im)) (*.f64 (sin.f64 im) re)))
(-.f64 (sin.f64 im) (+.f64 (*.f64 (sin.f64 im) (neg.f64 re)) (*.f64 (sin.f64 0) (cos.f64 im))))
(-.f64 (sin.f64 im) (+.f64 (*.f64 re (neg.f64 (sin.f64 im))) (*.f64 (sin.f64 0) (cos.f64 im))))
(-.f64 (*.f64 (sin.f64 im) (+.f64 re 1)) (*.f64 (sin.f64 0) (cos.f64 im)))
(-.f64 (sin.f64 im) (-.f64 (*.f64 (sin.f64 im) re) (*.f64 (sin.f64 im) (+.f64 re re))))
(-.f64 (sin.f64 im) (*.f64 (sin.f64 im) (neg.f64 re)))
(-.f64 (sin.f64 im) (*.f64 re (neg.f64 (sin.f64 im))))
(*.f64 (sin.f64 im) (+.f64 re 1))
(-.f64 (sin.f64 im) (+.f64 (-.f64 0 (*.f64 (cos.f64 im) (*.f64 (sin.f64 0) 2))) (*.f64 (sin.f64 im) (neg.f64 re))))
(-.f64 (sin.f64 im) (+.f64 (*.f64 (sin.f64 im) (neg.f64 re)) (neg.f64 (*.f64 2 (*.f64 (sin.f64 0) (cos.f64 im))))))
(-.f64 (sin.f64 im) (+.f64 (*.f64 re (neg.f64 (sin.f64 im))) (/.f64 (*.f64 (sin.f64 0) (cos.f64 im)) -1/2)))
(+.f64 (*.f64 (sin.f64 im) (+.f64 re 1)) (/.f64 (*.f64 (sin.f64 0) (cos.f64 im)) 1/2))
(-.f64 (sin.f64 im) (+.f64 (*.f64 (sin.f64 0) (-.f64 (cos.f64 (neg.f64 im)) (cos.f64 im))) (*.f64 (sin.f64 im) (neg.f64 re))))
(-.f64 (sin.f64 im) (+.f64 (*.f64 (sin.f64 im) (neg.f64 re)) (*.f64 (sin.f64 0) (-.f64 (cos.f64 (neg.f64 im)) (cos.f64 im)))))
(-.f64 (sin.f64 im) (+.f64 (*.f64 re (neg.f64 (sin.f64 im))) (*.f64 (sin.f64 0) (-.f64 (cos.f64 (neg.f64 im)) (cos.f64 im)))))
(-.f64 (*.f64 (sin.f64 im) (+.f64 re 1)) (*.f64 (sin.f64 0) (-.f64 (cos.f64 (neg.f64 im)) (cos.f64 im))))
(-.f64 (sin.f64 im) (+.f64 (*.f64 (cos.f64 im) (*.f64 (sin.f64 0) 2)) (*.f64 (sin.f64 im) (neg.f64 re))))
(-.f64 (sin.f64 im) (+.f64 (*.f64 (sin.f64 im) (neg.f64 re)) (*.f64 2 (*.f64 (sin.f64 0) (cos.f64 im)))))
(+.f64 (-.f64 (sin.f64 im) (*.f64 re (neg.f64 (sin.f64 im)))) (/.f64 (*.f64 (sin.f64 0) (cos.f64 im)) -1/2))
(+.f64 (/.f64 (*.f64 (sin.f64 0) (cos.f64 im)) -1/2) (*.f64 (sin.f64 im) (+.f64 re 1)))
(-.f64 (*.f64 (sin.f64 im) re) (neg.f64 (sin.f64 im)))
(-.f64 (sin.f64 im) (*.f64 (sin.f64 im) (neg.f64 re)))
(-.f64 (sin.f64 im) (*.f64 re (neg.f64 (sin.f64 im))))
(*.f64 (sin.f64 im) (+.f64 re 1))
(-.f64 (*.f64 (sin.f64 im) re) (-.f64 (*.f64 (sin.f64 im) (+.f64 re -1)) (*.f64 (sin.f64 im) re)))
(-.f64 (sin.f64 im) (*.f64 (sin.f64 im) (neg.f64 re)))
(-.f64 (sin.f64 im) (*.f64 re (neg.f64 (sin.f64 im))))
(*.f64 (sin.f64 im) (+.f64 re 1))
(-.f64 (*.f64 (sin.f64 im) re) (/.f64 (+.f64 (*.f64 (sin.f64 im) (-.f64 -1 re)) (*.f64 (sin.f64 im) (+.f64 re -1))) 2))
(-.f64 (sin.f64 im) (*.f64 (sin.f64 im) (neg.f64 re)))
(-.f64 (sin.f64 im) (*.f64 re (neg.f64 (sin.f64 im))))
(*.f64 (sin.f64 im) (+.f64 re 1))
(-.f64 (*.f64 (sin.f64 im) (+.f64 re 1)) 0)
(-.f64 (sin.f64 im) (*.f64 (sin.f64 im) (neg.f64 re)))
(-.f64 (sin.f64 im) (*.f64 re (neg.f64 (sin.f64 im))))
(*.f64 (sin.f64 im) (+.f64 re 1))
(-.f64 (*.f64 (sin.f64 im) (+.f64 re 1)) (*.f64 (sin.f64 0) (cos.f64 im)))
(-.f64 (sin.f64 im) (+.f64 (*.f64 (sin.f64 im) (neg.f64 re)) (*.f64 (sin.f64 0) (cos.f64 im))))
(-.f64 (sin.f64 im) (+.f64 (*.f64 re (neg.f64 (sin.f64 im))) (*.f64 (sin.f64 0) (cos.f64 im))))
(-.f64 (*.f64 (sin.f64 im) (+.f64 re 1)) (/.f64 (*.f64 (sin.f64 im) 0) -2))
(-.f64 (sin.f64 im) (*.f64 (sin.f64 im) (neg.f64 re)))
(-.f64 (sin.f64 im) (*.f64 re (neg.f64 (sin.f64 im))))
(*.f64 (sin.f64 im) (+.f64 re 1))
(-.f64 (*.f64 (sin.f64 im) (+.f64 re 1)) (/.f64 (-.f64 (*.f64 (sin.f64 im) (-.f64 -1 re)) (*.f64 (sin.f64 im) (-.f64 -1 re))) 2))
(-.f64 (sin.f64 im) (*.f64 (sin.f64 im) (neg.f64 re)))
(-.f64 (sin.f64 im) (*.f64 re (neg.f64 (sin.f64 im))))
(*.f64 (sin.f64 im) (+.f64 re 1))
(-.f64 0 (*.f64 (sin.f64 im) (-.f64 -1 re)))
(-.f64 (sin.f64 im) (*.f64 (sin.f64 im) (neg.f64 re)))
(-.f64 (sin.f64 im) (*.f64 re (neg.f64 (sin.f64 im))))
(*.f64 (sin.f64 im) (+.f64 re 1))
(-.f64 (*.f64 (sin.f64 im) 2) (+.f64 (sin.f64 im) (*.f64 (sin.f64 im) (neg.f64 re))))
(-.f64 (sin.f64 im) (*.f64 (sin.f64 im) (neg.f64 re)))
(-.f64 (sin.f64 im) (*.f64 re (neg.f64 (sin.f64 im))))
(*.f64 (sin.f64 im) (+.f64 re 1))
(-.f64 (*.f64 (sin.f64 im) (+.f64 re re)) (*.f64 (sin.f64 im) (+.f64 re -1)))
(-.f64 (sin.f64 im) (*.f64 (sin.f64 im) (neg.f64 re)))
(-.f64 (sin.f64 im) (*.f64 re (neg.f64 (sin.f64 im))))
(*.f64 (sin.f64 im) (+.f64 re 1))
(-.f64 (*.f64 (sin.f64 0) (cos.f64 im)) (*.f64 (sin.f64 im) (-.f64 -1 re)))
(-.f64 (+.f64 (*.f64 (sin.f64 im) re) (*.f64 (sin.f64 0) (cos.f64 im))) (neg.f64 (sin.f64 im)))
(-.f64 (*.f64 (sin.f64 0) (cos.f64 im)) (-.f64 (*.f64 (sin.f64 im) (neg.f64 re)) (sin.f64 im)))
(-.f64 (*.f64 (sin.f64 0) (cos.f64 im)) (-.f64 (*.f64 re (neg.f64 (sin.f64 im))) (sin.f64 im)))
(-.f64 (*.f64 (sin.f64 0) (cos.f64 im)) (*.f64 (sin.f64 im) (-.f64 (neg.f64 re) 1)))
(-.f64 (*.f64 (sin.f64 im) 1/2) (+.f64 (*.f64 (sin.f64 im) (neg.f64 re)) (/.f64 (sin.f64 im) -2)))
(+.f64 (*.f64 (sin.f64 im) (-.f64 1/2 (neg.f64 re))) (neg.f64 (/.f64 (sin.f64 im) -2)))
(+.f64 (*.f64 (sin.f64 im) (-.f64 re -1/2)) (/.f64 (sin.f64 im) 2))
(-.f64 (*.f64 (sin.f64 im) 1/2) (-.f64 (/.f64 (sin.f64 im) -2) (*.f64 (sin.f64 im) re)))
(-.f64 (*.f64 (sin.f64 im) 1/2) (+.f64 (*.f64 (sin.f64 im) (neg.f64 re)) (/.f64 (sin.f64 im) -2)))
(+.f64 (*.f64 (sin.f64 im) (-.f64 1/2 (neg.f64 re))) (neg.f64 (/.f64 (sin.f64 im) -2)))
(+.f64 (*.f64 (sin.f64 im) (-.f64 re -1/2)) (/.f64 (sin.f64 im) 2))
(-.f64 (*.f64 (sin.f64 im) 1/2) (+.f64 (/.f64 (sin.f64 im) -2) (*.f64 (sin.f64 im) (neg.f64 re))))
(-.f64 (*.f64 (sin.f64 im) 1/2) (+.f64 (*.f64 (sin.f64 im) (neg.f64 re)) (/.f64 (sin.f64 im) -2)))
(+.f64 (*.f64 (sin.f64 im) (-.f64 1/2 (neg.f64 re))) (neg.f64 (/.f64 (sin.f64 im) -2)))
(+.f64 (*.f64 (sin.f64 im) (-.f64 re -1/2)) (/.f64 (sin.f64 im) 2))
(-.f64 (*.f64 (sin.f64 im) 1/2) (/.f64 (-.f64 0 (*.f64 (sin.f64 im) (-.f64 (+.f64 re re) -1))) 2))
(-.f64 (*.f64 (sin.f64 im) 1/2) (/.f64 (neg.f64 (*.f64 (sin.f64 im) (+.f64 (+.f64 re re) 1))) 2))
(-.f64 (*.f64 (sin.f64 im) 1/2) (/.f64 (neg.f64 (*.f64 (sin.f64 im) (+.f64 1 (+.f64 re re)))) 2))
(-.f64 (*.f64 (sin.f64 im) 1/2) (/.f64 (*.f64 (sin.f64 im) (+.f64 re (+.f64 re 1))) -2))
(-.f64 (/.f64 (*.f64 (sin.f64 im) 0) -2) (*.f64 (sin.f64 im) (-.f64 -1 re)))
(-.f64 (sin.f64 im) (*.f64 (sin.f64 im) (neg.f64 re)))
(-.f64 (sin.f64 im) (*.f64 re (neg.f64 (sin.f64 im))))
(*.f64 (sin.f64 im) (+.f64 re 1))
(-.f64 (/.f64 (*.f64 (sin.f64 im) (+.f64 re 1)) 2) (/.f64 (*.f64 (sin.f64 im) (+.f64 re 1)) -2))
(-.f64 (sin.f64 im) (*.f64 (sin.f64 im) (neg.f64 re)))
(-.f64 (sin.f64 im) (*.f64 re (neg.f64 (sin.f64 im))))
(*.f64 (sin.f64 im) (+.f64 re 1))
(-.f64 (/.f64 (*.f64 (sin.f64 im) re) 2) (-.f64 0 (/.f64 (*.f64 (sin.f64 im) (+.f64 re 2)) 2)))
(/.f64 (-.f64 (*.f64 re (sin.f64 im)) (neg.f64 (*.f64 (sin.f64 im) (+.f64 re 2)))) 2)
(-.f64 (/.f64 (*.f64 (sin.f64 im) re) 2) (-.f64 (/.f64 (*.f64 (sin.f64 im) 0) -2) (/.f64 (*.f64 (sin.f64 im) (+.f64 re 2)) 2)))
(/.f64 (-.f64 (*.f64 re (sin.f64 im)) (neg.f64 (*.f64 (sin.f64 im) (+.f64 re 2)))) 2)
(-.f64 (/.f64 (*.f64 (sin.f64 im) re) 2) (-.f64 (*.f64 (sin.f64 0) (cos.f64 im)) (/.f64 (*.f64 (sin.f64 im) (+.f64 re 2)) 2)))
(-.f64 (/.f64 (*.f64 re (sin.f64 im)) 2) (-.f64 (*.f64 (sin.f64 0) (cos.f64 im)) (/.f64 (*.f64 (sin.f64 im) (+.f64 re 2)) 2)))
(+.f64 (/.f64 (*.f64 re (sin.f64 im)) 2) (-.f64 (/.f64 (*.f64 (sin.f64 im) (+.f64 re 2)) 2) (*.f64 (sin.f64 0) (cos.f64 im))))
(-.f64 (/.f64 (*.f64 (sin.f64 im) re) 2) (-.f64 (neg.f64 (sin.f64 im)) (/.f64 (+.f64 (*.f64 (sin.f64 im) re) (*.f64 (sin.f64 im) 0)) 2)))
(-.f64 (sin.f64 im) (*.f64 (sin.f64 im) (neg.f64 re)))
(-.f64 (sin.f64 im) (*.f64 re (neg.f64 (sin.f64 im))))
(*.f64 (sin.f64 im) (+.f64 re 1))
(-.f64 (/.f64 (*.f64 (sin.f64 im) re) 2) (+.f64 (/.f64 (*.f64 (sin.f64 im) re) -2) (neg.f64 (sin.f64 im))))
(-.f64 (sin.f64 im) (*.f64 (sin.f64 im) (neg.f64 re)))
(-.f64 (sin.f64 im) (*.f64 re (neg.f64 (sin.f64 im))))
(*.f64 (sin.f64 im) (+.f64 re 1))
(-.f64 (/.f64 (*.f64 (sin.f64 im) re) 2) (/.f64 (-.f64 0 (*.f64 (sin.f64 im) (+.f64 re 2))) 2))
(/.f64 (-.f64 (*.f64 re (sin.f64 im)) (neg.f64 (*.f64 (sin.f64 im) (+.f64 re 2)))) 2)
(-.f64 (*.f64 (sin.f64 im) (+.f64 re -1)) (*.f64 (sin.f64 im) -2))
(-.f64 (sin.f64 im) (*.f64 (sin.f64 im) (neg.f64 re)))
(-.f64 (sin.f64 im) (*.f64 re (neg.f64 (sin.f64 im))))
(*.f64 (sin.f64 im) (+.f64 re 1))
(-.f64 (/.f64 (*.f64 (sin.f64 im) (+.f64 re 2)) 2) (/.f64 (*.f64 (sin.f64 im) re) -2))
(/.f64 (-.f64 (*.f64 re (sin.f64 im)) (neg.f64 (*.f64 (sin.f64 im) (+.f64 re 2)))) 2)
(-.f64 (/.f64 (*.f64 (sin.f64 im) (+.f64 re 2)) 2) (+.f64 (/.f64 (*.f64 (sin.f64 im) 0) -2) (/.f64 (*.f64 (sin.f64 im) re) -2)))
(/.f64 (-.f64 (*.f64 re (sin.f64 im)) (neg.f64 (*.f64 (sin.f64 im) (+.f64 re 2)))) 2)
(-.f64 (/.f64 (*.f64 (sin.f64 im) (+.f64 re 2)) 2) (+.f64 (*.f64 (sin.f64 0) (cos.f64 im)) (/.f64 (*.f64 (sin.f64 im) re) -2)))
(-.f64 (/.f64 (*.f64 re (sin.f64 im)) 2) (-.f64 (*.f64 (sin.f64 0) (cos.f64 im)) (/.f64 (*.f64 (sin.f64 im) (+.f64 re 2)) 2)))
(+.f64 (/.f64 (*.f64 re (sin.f64 im)) 2) (-.f64 (/.f64 (*.f64 (sin.f64 im) (+.f64 re 2)) 2) (*.f64 (sin.f64 0) (cos.f64 im))))
(-.f64 (*.f64 (cos.f64 im) (*.f64 (sin.f64 0) 2)) (*.f64 (sin.f64 im) (-.f64 -1 re)))
(-.f64 (*.f64 2 (*.f64 (sin.f64 0) (cos.f64 im))) (*.f64 (sin.f64 im) (-.f64 -1 re)))
(-.f64 (*.f64 (sin.f64 0) (-.f64 (cos.f64 (neg.f64 im)) (cos.f64 im))) (*.f64 (sin.f64 im) (-.f64 -1 re)))
(-.f64 (/.f64 (*.f64 (sin.f64 im) (+.f64 re 1)) 4) (/.f64 (*.f64 -3 (/.f64 (*.f64 (sin.f64 im) (+.f64 re 1)) 2)) 2))
(-.f64 (/.f64 (*.f64 (sin.f64 im) (+.f64 re 1)) 4) (/.f64 (*.f64 (*.f64 (sin.f64 im) (+.f64 re 1)) -3/2) 2))
(/.f64 (-.f64 (*.f64 (sin.f64 im) (+.f64 re 1)) (*.f64 -3 (*.f64 (sin.f64 im) (+.f64 re 1)))) 4)
(/.f64 (-.f64 (*.f64 (sin.f64 im) (+.f64 re 1)) (*.f64 (sin.f64 im) (*.f64 (+.f64 re 1) -3))) 4)
(-.f64 (+.f64 (*.f64 (sin.f64 im) re) (*.f64 (sin.f64 im) 1/2)) (/.f64 (sin.f64 im) -2))
(-.f64 (*.f64 (sin.f64 im) 1/2) (+.f64 (*.f64 (sin.f64 im) (neg.f64 re)) (/.f64 (sin.f64 im) -2)))
(+.f64 (*.f64 (sin.f64 im) (-.f64 1/2 (neg.f64 re))) (neg.f64 (/.f64 (sin.f64 im) -2)))
(+.f64 (*.f64 (sin.f64 im) (-.f64 re -1/2)) (/.f64 (sin.f64 im) 2))
(-.f64 (/.f64 (+.f64 (*.f64 (sin.f64 im) re) (*.f64 (sin.f64 im) 0)) 2) (-.f64 0 (/.f64 (*.f64 (sin.f64 im) (+.f64 re 2)) 2)))
(/.f64 (-.f64 (*.f64 re (sin.f64 im)) (neg.f64 (*.f64 (sin.f64 im) (+.f64 re 2)))) 2)
(-.f64 (/.f64 (/.f64 (*.f64 (*.f64 (sin.f64 im) (+.f64 re 1)) 3) 2) 2) (/.f64 (/.f64 (*.f64 (sin.f64 im) (+.f64 re 1)) -2) 2))
(-.f64 (/.f64 (*.f64 3 (*.f64 (sin.f64 im) (+.f64 re 1))) 4) (/.f64 (*.f64 (sin.f64 im) (+.f64 re 1)) -4))
(-.f64 (/.f64 (*.f64 (sin.f64 im) (*.f64 (+.f64 re 1) 3)) 4) (/.f64 (*.f64 (sin.f64 im) (+.f64 re 1)) -4))
(-.f64 (/.f64 (*.f64 (sin.f64 im) (*.f64 3 (+.f64 re 1))) 4) (/.f64 (*.f64 (sin.f64 im) (+.f64 re 1)) -4))
(-.f64 (/.f64 (*.f64 (*.f64 (sin.f64 im) (+.f64 re 1)) 3) 4) (/.f64 (*.f64 (sin.f64 im) (-.f64 -1 re)) 4))
(/.f64 (-.f64 (*.f64 3 (*.f64 (sin.f64 im) (+.f64 re 1))) (*.f64 (sin.f64 im) (-.f64 -1 re))) 4)
(/.f64 (-.f64 (*.f64 (sin.f64 im) (*.f64 (+.f64 re 1) 3)) (*.f64 (sin.f64 im) (-.f64 -1 re))) 4)
(/.f64 (-.f64 (*.f64 (sin.f64 im) (*.f64 3 (+.f64 re 1))) (*.f64 (sin.f64 im) (-.f64 -1 re))) 4)
(-.f64 (/.f64 (+.f64 (*.f64 (sin.f64 im) re) (/.f64 (*.f64 (sin.f64 im) (+.f64 re 1)) 2)) 2) (/.f64 (-.f64 (/.f64 (*.f64 (sin.f64 im) (+.f64 re 1)) -2) (sin.f64 im)) 2))
(/.f64 (-.f64 (+.f64 (*.f64 re (sin.f64 im)) (/.f64 (*.f64 (sin.f64 im) (+.f64 re 1)) 2)) (-.f64 (/.f64 (*.f64 (sin.f64 im) (+.f64 re 1)) -2) (sin.f64 im))) 2)
(-.f64 (/.f64 (*.f64 (sin.f64 im) (+.f64 (+.f64 re 1) (+.f64 re re))) 4) (-.f64 (/.f64 (*.f64 (sin.f64 im) (+.f64 re 1)) -4) (/.f64 (sin.f64 im) 2)))
(-.f64 (/.f64 (+.f64 (sin.f64 im) (/.f64 (*.f64 (sin.f64 im) (+.f64 re 1)) 2)) 2) (/.f64 (-.f64 (/.f64 (sin.f64 im) -2) (/.f64 (*.f64 (sin.f64 im) (*.f64 re 3)) 2)) 2))
(/.f64 (-.f64 (+.f64 (sin.f64 im) (/.f64 (*.f64 (sin.f64 im) (+.f64 re 1)) 2)) (-.f64 (/.f64 (sin.f64 im) -2) (/.f64 (*.f64 3 (*.f64 re (sin.f64 im))) 2))) 2)
(-.f64 (/.f64 (*.f64 re (*.f64 (sin.f64 im) 3)) 4) (-.f64 (/.f64 (sin.f64 im) -4) (+.f64 (/.f64 (sin.f64 im) 2) (/.f64 (*.f64 (sin.f64 im) (+.f64 re 1)) 4))))
(-.f64 (+.f64 (/.f64 (*.f64 (sin.f64 im) (+.f64 re 1)) 4) (/.f64 (sin.f64 im) 2)) (/.f64 (-.f64 (neg.f64 (sin.f64 im)) (*.f64 (sin.f64 im) (*.f64 re 3))) 4))
(-.f64 (/.f64 (*.f64 (sin.f64 im) (-.f64 (+.f64 re re) (-.f64 -1 re))) 2) (/.f64 (*.f64 (sin.f64 im) (+.f64 re -1)) 2))
(-.f64 (sin.f64 im) (*.f64 (sin.f64 im) (neg.f64 re)))
(-.f64 (sin.f64 im) (*.f64 re (neg.f64 (sin.f64 im))))
(*.f64 (sin.f64 im) (+.f64 re 1))
(-.f64 (/.f64 (+.f64 (*.f64 (sin.f64 im) (+.f64 re re)) (/.f64 (*.f64 (sin.f64 im) (+.f64 re 1)) 2)) 2) (/.f64 (-.f64 (/.f64 (*.f64 (sin.f64 im) (+.f64 re -1)) 2) (sin.f64 im)) 2))
(/.f64 (-.f64 (+.f64 (*.f64 (sin.f64 im) (+.f64 re re)) (/.f64 (*.f64 (sin.f64 im) (+.f64 re 1)) 2)) (-.f64 (/.f64 (*.f64 (sin.f64 im) (+.f64 re -1)) 2) (sin.f64 im))) 2)
(-.f64 (+.f64 (*.f64 re (sin.f64 im)) (/.f64 (*.f64 (sin.f64 im) (+.f64 re 1)) 4)) (-.f64 (/.f64 (*.f64 (sin.f64 im) (+.f64 re -1)) 4) (/.f64 (sin.f64 im) 2)))
(-.f64 (/.f64 (sin.f64 im) 2) (+.f64 (/.f64 (*.f64 (sin.f64 im) -2) 4) (*.f64 re (neg.f64 (sin.f64 im)))))
(*.f64 (sin.f64 im) (+.f64 re 1))
(-.f64 (sin.f64 im) (*.f64 (sin.f64 im) (neg.f64 re)))
(-.f64 (sin.f64 im) (*.f64 re (neg.f64 (sin.f64 im))))
(*.f64 (sin.f64 im) (+.f64 re (cos.f64 0)))
(*.f64 (sin.f64 im) (*.f64 (cos.f64 0) (+.f64 re 1)))
(-.f64 (sin.f64 im) (*.f64 (sin.f64 im) (neg.f64 re)))
(-.f64 (sin.f64 im) (*.f64 re (neg.f64 (sin.f64 im))))
(*.f64 (sin.f64 im) (+.f64 re 1))
(*.f64 (sin.f64 im) (-.f64 re (neg.f64 (cos.f64 0))))
(*.f64 (sin.f64 im) (-.f64 (+.f64 re re) (+.f64 re -1)))
(-.f64 (sin.f64 im) (*.f64 (sin.f64 im) (neg.f64 re)))
(-.f64 (sin.f64 im) (*.f64 re (neg.f64 (sin.f64 im))))
(*.f64 (sin.f64 im) (+.f64 re 1))
(*.f64 (*.f64 (sin.f64 im) (+.f64 re 1)) 1)
(-.f64 (sin.f64 im) (*.f64 (sin.f64 im) (neg.f64 re)))
(-.f64 (sin.f64 im) (*.f64 re (neg.f64 (sin.f64 im))))
(*.f64 (sin.f64 im) (+.f64 re 1))
(*.f64 1 (*.f64 (sin.f64 im) (+.f64 re 1)))
(-.f64 (sin.f64 im) (*.f64 (sin.f64 im) (neg.f64 re)))
(-.f64 (sin.f64 im) (*.f64 re (neg.f64 (sin.f64 im))))
(*.f64 (sin.f64 im) (+.f64 re 1))
(*.f64 2 (*.f64 (*.f64 (sin.f64 im) (+.f64 re 1)) 1/2))
(-.f64 (sin.f64 im) (*.f64 (sin.f64 im) (neg.f64 re)))
(-.f64 (sin.f64 im) (*.f64 re (neg.f64 (sin.f64 im))))
(*.f64 (sin.f64 im) (+.f64 re 1))
(*.f64 (*.f64 (sin.f64 im) (*.f64 (+.f64 re 1) 2)) 1/2)
(-.f64 (sin.f64 im) (*.f64 (sin.f64 im) (neg.f64 re)))
(-.f64 (sin.f64 im) (*.f64 re (neg.f64 (sin.f64 im))))
(*.f64 (sin.f64 im) (+.f64 re 1))
(*.f64 (*.f64 (sin.f64 im) 2) (*.f64 (+.f64 re 1) 1/2))
(-.f64 (sin.f64 im) (*.f64 (sin.f64 im) (neg.f64 re)))
(-.f64 (sin.f64 im) (*.f64 re (neg.f64 (sin.f64 im))))
(*.f64 (sin.f64 im) (+.f64 re 1))
(*.f64 (*.f64 (sin.f64 im) 2) (*.f64 1/2 (+.f64 re 1)))
(-.f64 (sin.f64 im) (*.f64 (sin.f64 im) (neg.f64 re)))
(-.f64 (sin.f64 im) (*.f64 re (neg.f64 (sin.f64 im))))
(*.f64 (sin.f64 im) (+.f64 re 1))
(*.f64 (*.f64 (sin.f64 im) 2) (/.f64 (+.f64 re 1) 2))
(-.f64 (sin.f64 im) (*.f64 (sin.f64 im) (neg.f64 re)))
(-.f64 (sin.f64 im) (*.f64 re (neg.f64 (sin.f64 im))))
(*.f64 (sin.f64 im) (+.f64 re 1))
(*.f64 (*.f64 (sin.f64 im) 2) (-.f64 (*.f64 re 1/2) -1/2))
(*.f64 (*.f64 (sin.f64 im) 2) (+.f64 1/2 (*.f64 re 1/2)))
(*.f64 (sin.f64 im) (*.f64 2 (+.f64 1/2 (*.f64 re 1/2))))
(*.f64 (*.f64 (sin.f64 im) 2) (+.f64 1/2 (*.f64 re 1/2)))
(*.f64 (sin.f64 im) (*.f64 2 (+.f64 1/2 (*.f64 re 1/2))))
(*.f64 (*.f64 (sin.f64 im) 2) (+.f64 (*.f64 re 1/2) 1/2))
(*.f64 (*.f64 (sin.f64 im) 2) (+.f64 1/2 (*.f64 re 1/2)))
(*.f64 (sin.f64 im) (*.f64 2 (+.f64 1/2 (*.f64 re 1/2))))
(*.f64 (cos.f64 0) (*.f64 (sin.f64 im) (+.f64 re 1)))
(-.f64 (sin.f64 im) (*.f64 (sin.f64 im) (neg.f64 re)))
(-.f64 (sin.f64 im) (*.f64 re (neg.f64 (sin.f64 im))))
(*.f64 (sin.f64 im) (+.f64 re 1))
(*.f64 1/2 (*.f64 (sin.f64 im) (*.f64 (+.f64 re 1) 2)))
(-.f64 (sin.f64 im) (*.f64 (sin.f64 im) (neg.f64 re)))
(-.f64 (sin.f64 im) (*.f64 re (neg.f64 (sin.f64 im))))
(*.f64 (sin.f64 im) (+.f64 re 1))
(*.f64 (*.f64 (sin.f64 im) 1/2) (*.f64 (*.f64 (cos.f64 0) 2) (+.f64 re 1)))
(-.f64 (sin.f64 im) (*.f64 (sin.f64 im) (neg.f64 re)))
(-.f64 (sin.f64 im) (*.f64 re (neg.f64 (sin.f64 im))))
(*.f64 (sin.f64 im) (+.f64 re 1))
(*.f64 (*.f64 (sin.f64 im) 1/2) (+.f64 (*.f64 (cos.f64 0) 2) (+.f64 re re)))
(*.f64 (*.f64 (sin.f64 im) 1/2) (+.f64 (+.f64 re re) (*.f64 2 (cos.f64 0))))
(*.f64 (sin.f64 im) (*.f64 1/2 (+.f64 (+.f64 re re) (*.f64 2 (cos.f64 0)))))
(*.f64 (*.f64 (sin.f64 im) 1/2) (+.f64 (+.f64 re re) (*.f64 (cos.f64 0) 2)))
(*.f64 (*.f64 (sin.f64 im) 1/2) (+.f64 (+.f64 re re) (*.f64 2 (cos.f64 0))))
(*.f64 (sin.f64 im) (*.f64 1/2 (+.f64 (+.f64 re re) (*.f64 2 (cos.f64 0)))))
(*.f64 (*.f64 (sin.f64 im) (-.f64 -1 re)) -1)
(-.f64 (sin.f64 im) (*.f64 (sin.f64 im) (neg.f64 re)))
(-.f64 (sin.f64 im) (*.f64 re (neg.f64 (sin.f64 im))))
(*.f64 (sin.f64 im) (+.f64 re 1))
(*.f64 (+.f64 re 1) (sin.f64 im))
(-.f64 (sin.f64 im) (*.f64 (sin.f64 im) (neg.f64 re)))
(-.f64 (sin.f64 im) (*.f64 re (neg.f64 (sin.f64 im))))
(*.f64 (sin.f64 im) (+.f64 re 1))
(*.f64 (*.f64 (+.f64 re 1) (*.f64 (sin.f64 im) 4)) 1/4)
(-.f64 (sin.f64 im) (*.f64 (sin.f64 im) (neg.f64 re)))
(-.f64 (sin.f64 im) (*.f64 re (neg.f64 (sin.f64 im))))
(*.f64 (sin.f64 im) (+.f64 re 1))
(*.f64 (*.f64 (sin.f64 im) 4) (/.f64 (+.f64 re 1) 4))
(-.f64 (sin.f64 im) (*.f64 (sin.f64 im) (neg.f64 re)))
(-.f64 (sin.f64 im) (*.f64 re (neg.f64 (sin.f64 im))))
(*.f64 (sin.f64 im) (+.f64 re 1))
(*.f64 (*.f64 (cos.f64 0) (cos.f64 0)) (*.f64 (sin.f64 im) (+.f64 re 1)))
(-.f64 (sin.f64 im) (*.f64 (sin.f64 im) (neg.f64 re)))
(-.f64 (sin.f64 im) (*.f64 re (neg.f64 (sin.f64 im))))
(*.f64 (sin.f64 im) (+.f64 re 1))
(*.f64 1/4 (*.f64 (+.f64 re 1) (*.f64 (sin.f64 im) 4)))
(-.f64 (sin.f64 im) (*.f64 (sin.f64 im) (neg.f64 re)))
(-.f64 (sin.f64 im) (*.f64 re (neg.f64 (sin.f64 im))))
(*.f64 (sin.f64 im) (+.f64 re 1))
(*.f64 1/4 (*.f64 (*.f64 (sin.f64 im) 4) (+.f64 re 1)))
(-.f64 (sin.f64 im) (*.f64 (sin.f64 im) (neg.f64 re)))
(-.f64 (sin.f64 im) (*.f64 re (neg.f64 (sin.f64 im))))
(*.f64 (sin.f64 im) (+.f64 re 1))
(*.f64 (/.f64 (cos.f64 0) 2) (*.f64 (sin.f64 im) (*.f64 (+.f64 re 1) 2)))
(-.f64 (sin.f64 im) (*.f64 (sin.f64 im) (neg.f64 re)))
(-.f64 (sin.f64 im) (*.f64 re (neg.f64 (sin.f64 im))))
(*.f64 (sin.f64 im) (+.f64 re 1))
(*.f64 (/.f64 (cos.f64 0) 4) (*.f64 (*.f64 (sin.f64 im) 4) (+.f64 re 1)))
(-.f64 (sin.f64 im) (*.f64 (sin.f64 im) (neg.f64 re)))
(-.f64 (sin.f64 im) (*.f64 re (neg.f64 (sin.f64 im))))
(*.f64 (sin.f64 im) (+.f64 re 1))
(*.f64 (+.f64 re (cos.f64 0)) (sin.f64 im))
(*.f64 (sin.f64 im) (+.f64 re (cos.f64 0)))
(*.f64 (*.f64 2 (*.f64 (+.f64 re 1) (*.f64 (sin.f64 im) 4))) 1/8)
(-.f64 (sin.f64 im) (*.f64 (sin.f64 im) (neg.f64 re)))
(-.f64 (sin.f64 im) (*.f64 re (neg.f64 (sin.f64 im))))
(*.f64 (sin.f64 im) (+.f64 re 1))
(*.f64 (*.f64 2 (*.f64 (sin.f64 im) 4)) (/.f64 (+.f64 re 1) 8))
(-.f64 (sin.f64 im) (*.f64 (sin.f64 im) (neg.f64 re)))
(-.f64 (sin.f64 im) (*.f64 re (neg.f64 (sin.f64 im))))
(*.f64 (sin.f64 im) (+.f64 re 1))
(/.f64 (*.f64 (sin.f64 im) (+.f64 re 1)) 1)
(-.f64 (sin.f64 im) (*.f64 (sin.f64 im) (neg.f64 re)))
(-.f64 (sin.f64 im) (*.f64 re (neg.f64 (sin.f64 im))))
(*.f64 (sin.f64 im) (+.f64 re 1))
(/.f64 (*.f64 (sin.f64 im) (*.f64 (+.f64 re 1) 2)) 2)
(-.f64 (sin.f64 im) (*.f64 (sin.f64 im) (neg.f64 re)))
(-.f64 (sin.f64 im) (*.f64 re (neg.f64 (sin.f64 im))))
(*.f64 (sin.f64 im) (+.f64 re 1))
(/.f64 (*.f64 (sin.f64 im) (-.f64 -1 re)) -1)
(-.f64 (sin.f64 im) (*.f64 (sin.f64 im) (neg.f64 re)))
(-.f64 (sin.f64 im) (*.f64 re (neg.f64 (sin.f64 im))))
(*.f64 (sin.f64 im) (+.f64 re 1))
(/.f64 (*.f64 (+.f64 re 1) (*.f64 (sin.f64 im) 4)) 4)
(-.f64 (sin.f64 im) (*.f64 (sin.f64 im) (neg.f64 re)))
(-.f64 (sin.f64 im) (*.f64 re (neg.f64 (sin.f64 im))))
(*.f64 (sin.f64 im) (+.f64 re 1))
(/.f64 (*.f64 2 (*.f64 (+.f64 re 1) (*.f64 (sin.f64 im) 4))) 8)
(-.f64 (sin.f64 im) (*.f64 (sin.f64 im) (neg.f64 re)))
(-.f64 (sin.f64 im) (*.f64 re (neg.f64 (sin.f64 im))))
(*.f64 (sin.f64 im) (+.f64 re 1))
(/.f64 (+.f64 (*.f64 2 (*.f64 (sin.f64 im) 4)) (*.f64 (sin.f64 im) (*.f64 2 (*.f64 re 4)))) 8)
(-.f64 (sin.f64 im) (*.f64 (sin.f64 im) (neg.f64 re)))
(-.f64 (sin.f64 im) (*.f64 re (neg.f64 (sin.f64 im))))
(*.f64 (sin.f64 im) (+.f64 re 1))
(/.f64 (+.f64 (*.f64 (sin.f64 im) (*.f64 2 (*.f64 re 4))) (*.f64 2 (*.f64 (sin.f64 im) 4))) 8)
(-.f64 (sin.f64 im) (*.f64 (sin.f64 im) (neg.f64 re)))
(-.f64 (sin.f64 im) (*.f64 re (neg.f64 (sin.f64 im))))
(*.f64 (sin.f64 im) (+.f64 re 1))
(/.f64 (+.f64 (*.f64 (cos.f64 im) (*.f64 (sin.f64 0) 2)) (*.f64 (sin.f64 im) (*.f64 (+.f64 re 1) 2))) 2)
(-.f64 (*.f64 (sin.f64 0) (cos.f64 im)) (-.f64 (*.f64 (sin.f64 im) (neg.f64 re)) (sin.f64 im)))
(-.f64 (*.f64 (sin.f64 0) (cos.f64 im)) (-.f64 (*.f64 re (neg.f64 (sin.f64 im))) (sin.f64 im)))
(-.f64 (*.f64 (sin.f64 0) (cos.f64 im)) (*.f64 (sin.f64 im) (-.f64 (neg.f64 re) 1)))
(/.f64 (+.f64 (*.f64 (sin.f64 im) 0) (*.f64 (sin.f64 im) (*.f64 (+.f64 re 1) 2))) 2)
(-.f64 (sin.f64 im) (*.f64 (sin.f64 im) (neg.f64 re)))
(-.f64 (sin.f64 im) (*.f64 re (neg.f64 (sin.f64 im))))
(*.f64 (sin.f64 im) (+.f64 re 1))
(/.f64 (+.f64 (-.f64 (cos.f64 (-.f64 im (*.f64 (PI.f64) 1/2))) (sin.f64 im)) (*.f64 (sin.f64 im) (*.f64 (+.f64 re 1) 2))) 2)
(/.f64 (+.f64 (*.f64 (sin.f64 im) (*.f64 2 (+.f64 re 1))) (-.f64 (cos.f64 (-.f64 im (*.f64 1/2 (PI.f64)))) (sin.f64 im))) 2)
(+.f64 (*.f64 (sin.f64 im) (+.f64 re 1)) (/.f64 (-.f64 (cos.f64 (-.f64 im (*.f64 1/2 (PI.f64)))) (sin.f64 im)) 2))
(-.f64 (*.f64 (sin.f64 im) (+.f64 re 1)) (/.f64 (-.f64 (cos.f64 (-.f64 im (*.f64 1/2 (PI.f64)))) (sin.f64 im)) -2))
(/.f64 (-.f64 (*.f64 (sin.f64 im) 4) (neg.f64 (*.f64 (sin.f64 im) (*.f64 re 4)))) 4)
(-.f64 (sin.f64 im) (*.f64 (sin.f64 im) (neg.f64 re)))
(-.f64 (sin.f64 im) (*.f64 re (neg.f64 (sin.f64 im))))
(*.f64 (sin.f64 im) (+.f64 re 1))
(/.f64 (-.f64 (*.f64 (sin.f64 im) (*.f64 re 4)) (neg.f64 (*.f64 (sin.f64 im) 4))) 4)
(-.f64 (sin.f64 im) (*.f64 (sin.f64 im) (neg.f64 re)))
(-.f64 (sin.f64 im) (*.f64 re (neg.f64 (sin.f64 im))))
(*.f64 (sin.f64 im) (+.f64 re 1))
(/.f64 (-.f64 (*.f64 (sin.f64 im) (*.f64 (+.f64 re 1) 2)) (-.f64 (cos.f64 (-.f64 im (*.f64 (PI.f64) 1/2))) (sin.f64 im))) 2)
(/.f64 (-.f64 (sin.f64 im) (-.f64 (cos.f64 (-.f64 im (*.f64 1/2 (PI.f64)))) (*.f64 (sin.f64 im) (*.f64 2 (+.f64 re 1))))) 2)
(-.f64 (*.f64 (sin.f64 im) (+.f64 re 1)) (/.f64 (-.f64 (cos.f64 (-.f64 im (*.f64 1/2 (PI.f64)))) (sin.f64 im)) 2))
(/.f64 (-.f64 (*.f64 (sin.f64 im) (*.f64 re 4)) (*.f64 2 (*.f64 (sin.f64 im) (+.f64 re -1)))) 2)
(-.f64 (sin.f64 im) (*.f64 (sin.f64 im) (neg.f64 re)))
(-.f64 (sin.f64 im) (*.f64 re (neg.f64 (sin.f64 im))))
(*.f64 (sin.f64 im) (+.f64 re 1))
(pow.f64 (*.f64 (sin.f64 im) (+.f64 re 1)) 1)
(-.f64 (sin.f64 im) (*.f64 (sin.f64 im) (neg.f64 re)))
(-.f64 (sin.f64 im) (*.f64 re (neg.f64 (sin.f64 im))))
(*.f64 (sin.f64 im) (+.f64 re 1))
(neg.f64 (*.f64 (sin.f64 im) (-.f64 -1 re)))
(-.f64 (sin.f64 im) (*.f64 (sin.f64 im) (neg.f64 re)))
(-.f64 (sin.f64 im) (*.f64 re (neg.f64 (sin.f64 im))))
(*.f64 (sin.f64 im) (+.f64 re 1))

localize3.0ms (0%)

Compiler

Compiled 5 to 3 computations (40% saved)

localize7.0ms (0.1%)

Local error

Found 1 expressions with local error:

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

Compiled 10 to 4 computations (60% saved)

series1.0ms (0%)

Counts
1 → 4
Calls

6 calls:

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

rewrite153.0ms (2%)

Algorithm
batch-egg-rewrite
Rules
1096×rational_best-simplify-63
936×rational_best-4
936×rational_best-2
936×rational_best-3
936×rational_best-1
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0711
14511
28811
323111
467611
5263011
6794311
Stop Event
node limit
Counts
1 → 30
Calls
Call 1
Inputs
(*.f64 (exp.f64 re) im)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (exp.f64 re) im) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (exp.f64 re) im))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (exp.f64 re) (*.f64 im 1/2)) (*.f64 (exp.f64 re) (*.f64 im 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (exp.f64 re) (/.f64 im 4)) (+.f64 (*.f64 (exp.f64 re) (*.f64 im 1/2)) (*.f64 (exp.f64 re) (/.f64 im 4))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (exp.f64 re) (/.f64 im 4)) (/.f64 (*.f64 im (*.f64 (exp.f64 re) 3)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (exp.f64 re) (/.f64 im 4)) (-.f64 (*.f64 (exp.f64 re) (/.f64 im 4)) (/.f64 (*.f64 (exp.f64 re) im) -2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (*.f64 (exp.f64 re) (*.f64 im 1/2)) (*.f64 (exp.f64 re) (/.f64 im 4))) (*.f64 (exp.f64 re) (/.f64 im 4)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (*.f64 im (*.f64 (exp.f64 re) 3)) 4) (*.f64 (exp.f64 re) (/.f64 im 4)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (*.f64 (exp.f64 re) (/.f64 im 4)) (/.f64 (*.f64 (exp.f64 re) im) -2)) (*.f64 (exp.f64 re) (/.f64 im 4)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (*.f64 (exp.f64 re) (/.f64 im 4)) (neg.f64 (*.f64 (exp.f64 re) (/.f64 im 4)))) (-.f64 (*.f64 (exp.f64 re) (/.f64 im 4)) (neg.f64 (*.f64 (exp.f64 re) (/.f64 im 4)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (exp.f64 re) im) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (exp.f64 re) im) (+.f64 (/.f64 (*.f64 (exp.f64 re) im) -2) (*.f64 (exp.f64 re) (*.f64 im 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (exp.f64 re) (*.f64 im 1/2)) (/.f64 (*.f64 (exp.f64 re) im) -2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (exp.f64 re) (/.f64 im 4)) (*.f64 -3 (*.f64 (exp.f64 re) (/.f64 im 4))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (*.f64 (exp.f64 re) (*.f64 im 1/2)) (*.f64 (exp.f64 re) (/.f64 im 4))) (neg.f64 (*.f64 (exp.f64 re) (/.f64 im 4))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (*.f64 im (*.f64 (exp.f64 re) 3)) 4) (/.f64 (neg.f64 (*.f64 (exp.f64 re) im)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 (*.f64 (exp.f64 re) (/.f64 im 4)) (/.f64 (*.f64 (exp.f64 re) im) -2)) (neg.f64 (*.f64 (exp.f64 re) (/.f64 im 4))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 (*.f64 (exp.f64 re) (/.f64 im 4)) (neg.f64 (*.f64 (exp.f64 re) (/.f64 im 4)))) (-.f64 (neg.f64 (*.f64 (exp.f64 re) (/.f64 im 4))) (*.f64 (exp.f64 re) (/.f64 im 4))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (exp.f64 re) im) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (exp.f64 re) (+.f64 im im)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (exp.f64 re) (*.f64 im 4)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 (exp.f64 re) im) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 (exp.f64 re) 4) (*.f64 im 4)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 4 (*.f64 (*.f64 (exp.f64 re) im) 8)) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 (exp.f64 re) 4) (*.f64 (*.f64 im 4) 4)) 64)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 (*.f64 im 4) 4) (*.f64 (*.f64 (exp.f64 re) 4) 4)) 256)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 (*.f64 (exp.f64 re) 4) 4) (*.f64 (*.f64 im 4) 4)) 256)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 4 (*.f64 (*.f64 (exp.f64 re) im) 8)) (*.f64 4 (*.f64 (*.f64 (exp.f64 re) im) 8))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 (*.f64 (exp.f64 re) 4) (*.f64 (*.f64 im 4) 4)) (*.f64 (*.f64 (exp.f64 re) 4) (*.f64 (*.f64 im 4) 4))) 128)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (exp.f64 re) im) 1)))))

simplify67.0ms (0.9%)

Algorithm
egg-herbie
Rules
990×rational_best-simplify-48
950×rational_best-simplify-50
736×rational_best-simplify-52
674×rational_best-simplify-63
658×rational_best-simplify-51
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
0951050
1228894
2567750
31577726
Stop Event
node limit
Counts
34 → 53
Calls
Call 1
Inputs
im
(+.f64 (*.f64 re im) im)
(+.f64 (*.f64 re im) (+.f64 (*.f64 1/2 (*.f64 (pow.f64 re 2) im)) im))
(+.f64 (*.f64 1/6 (*.f64 (pow.f64 re 3) im)) (+.f64 (*.f64 re im) (+.f64 (*.f64 1/2 (*.f64 (pow.f64 re 2) im)) im)))
(+.f64 (*.f64 (exp.f64 re) im) 0)
(+.f64 0 (*.f64 (exp.f64 re) im))
(+.f64 (*.f64 (exp.f64 re) (*.f64 im 1/2)) (*.f64 (exp.f64 re) (*.f64 im 1/2)))
(+.f64 (*.f64 (exp.f64 re) (/.f64 im 4)) (+.f64 (*.f64 (exp.f64 re) (*.f64 im 1/2)) (*.f64 (exp.f64 re) (/.f64 im 4))))
(+.f64 (*.f64 (exp.f64 re) (/.f64 im 4)) (/.f64 (*.f64 im (*.f64 (exp.f64 re) 3)) 4))
(+.f64 (*.f64 (exp.f64 re) (/.f64 im 4)) (-.f64 (*.f64 (exp.f64 re) (/.f64 im 4)) (/.f64 (*.f64 (exp.f64 re) im) -2)))
(+.f64 (+.f64 (*.f64 (exp.f64 re) (*.f64 im 1/2)) (*.f64 (exp.f64 re) (/.f64 im 4))) (*.f64 (exp.f64 re) (/.f64 im 4)))
(+.f64 (/.f64 (*.f64 im (*.f64 (exp.f64 re) 3)) 4) (*.f64 (exp.f64 re) (/.f64 im 4)))
(+.f64 (-.f64 (*.f64 (exp.f64 re) (/.f64 im 4)) (/.f64 (*.f64 (exp.f64 re) im) -2)) (*.f64 (exp.f64 re) (/.f64 im 4)))
(+.f64 (-.f64 (*.f64 (exp.f64 re) (/.f64 im 4)) (neg.f64 (*.f64 (exp.f64 re) (/.f64 im 4)))) (-.f64 (*.f64 (exp.f64 re) (/.f64 im 4)) (neg.f64 (*.f64 (exp.f64 re) (/.f64 im 4)))))
(-.f64 (*.f64 (exp.f64 re) im) 0)
(-.f64 (*.f64 (exp.f64 re) im) (+.f64 (/.f64 (*.f64 (exp.f64 re) im) -2) (*.f64 (exp.f64 re) (*.f64 im 1/2))))
(-.f64 (*.f64 (exp.f64 re) (*.f64 im 1/2)) (/.f64 (*.f64 (exp.f64 re) im) -2))
(-.f64 (*.f64 (exp.f64 re) (/.f64 im 4)) (*.f64 -3 (*.f64 (exp.f64 re) (/.f64 im 4))))
(-.f64 (+.f64 (*.f64 (exp.f64 re) (*.f64 im 1/2)) (*.f64 (exp.f64 re) (/.f64 im 4))) (neg.f64 (*.f64 (exp.f64 re) (/.f64 im 4))))
(-.f64 (/.f64 (*.f64 im (*.f64 (exp.f64 re) 3)) 4) (/.f64 (neg.f64 (*.f64 (exp.f64 re) im)) 4))
(-.f64 (-.f64 (*.f64 (exp.f64 re) (/.f64 im 4)) (/.f64 (*.f64 (exp.f64 re) im) -2)) (neg.f64 (*.f64 (exp.f64 re) (/.f64 im 4))))
(-.f64 (-.f64 (*.f64 (exp.f64 re) (/.f64 im 4)) (neg.f64 (*.f64 (exp.f64 re) (/.f64 im 4)))) (-.f64 (neg.f64 (*.f64 (exp.f64 re) (/.f64 im 4))) (*.f64 (exp.f64 re) (/.f64 im 4))))
(/.f64 (*.f64 (exp.f64 re) im) 1)
(/.f64 (*.f64 (exp.f64 re) (+.f64 im im)) 2)
(/.f64 (*.f64 (exp.f64 re) (*.f64 im 4)) 4)
(/.f64 (*.f64 (*.f64 (exp.f64 re) im) 8) 8)
(/.f64 (*.f64 (*.f64 (exp.f64 re) 4) (*.f64 im 4)) 16)
(/.f64 (*.f64 4 (*.f64 (*.f64 (exp.f64 re) im) 8)) 32)
(/.f64 (*.f64 (*.f64 (exp.f64 re) 4) (*.f64 (*.f64 im 4) 4)) 64)
(/.f64 (*.f64 (*.f64 (*.f64 im 4) 4) (*.f64 (*.f64 (exp.f64 re) 4) 4)) 256)
(/.f64 (*.f64 (*.f64 (*.f64 (exp.f64 re) 4) 4) (*.f64 (*.f64 im 4) 4)) 256)
(/.f64 (+.f64 (*.f64 4 (*.f64 (*.f64 (exp.f64 re) im) 8)) (*.f64 4 (*.f64 (*.f64 (exp.f64 re) im) 8))) 64)
(/.f64 (+.f64 (*.f64 (*.f64 (exp.f64 re) 4) (*.f64 (*.f64 im 4) 4)) (*.f64 (*.f64 (exp.f64 re) 4) (*.f64 (*.f64 im 4) 4))) 128)
(pow.f64 (*.f64 (exp.f64 re) im) 1)
Outputs
im
(+.f64 (*.f64 re im) im)
(+.f64 im (*.f64 im re))
(+.f64 (*.f64 re im) (+.f64 (*.f64 1/2 (*.f64 (pow.f64 re 2) im)) im))
(+.f64 im (+.f64 (*.f64 im (*.f64 (pow.f64 re 2) 1/2)) (*.f64 im re)))
(+.f64 im (+.f64 (*.f64 im re) (*.f64 (pow.f64 re 2) (*.f64 im 1/2))))
(+.f64 im (*.f64 im (+.f64 re (*.f64 1/2 (pow.f64 re 2)))))
(+.f64 (*.f64 1/6 (*.f64 (pow.f64 re 3) im)) (+.f64 (*.f64 re im) (+.f64 (*.f64 1/2 (*.f64 (pow.f64 re 2) im)) im)))
(+.f64 (+.f64 im (*.f64 im (*.f64 (pow.f64 re 2) 1/2))) (+.f64 (*.f64 im re) (*.f64 im (*.f64 (pow.f64 re 3) 1/6))))
(+.f64 (+.f64 im (+.f64 (*.f64 im re) (*.f64 (pow.f64 re 2) (*.f64 im 1/2)))) (*.f64 im (*.f64 1/6 (pow.f64 re 3))))
(+.f64 im (+.f64 (*.f64 im (+.f64 re (*.f64 1/2 (pow.f64 re 2)))) (*.f64 im (*.f64 1/6 (pow.f64 re 3)))))
(+.f64 im (+.f64 (*.f64 (pow.f64 re 2) (*.f64 im 1/2)) (*.f64 im (+.f64 re (*.f64 1/6 (pow.f64 re 3))))))
(+.f64 (*.f64 (exp.f64 re) im) 0)
(*.f64 im (exp.f64 re))
(+.f64 0 (*.f64 (exp.f64 re) im))
(*.f64 im (exp.f64 re))
(+.f64 (*.f64 (exp.f64 re) (*.f64 im 1/2)) (*.f64 (exp.f64 re) (*.f64 im 1/2)))
(*.f64 im (exp.f64 re))
(+.f64 (*.f64 (exp.f64 re) (/.f64 im 4)) (+.f64 (*.f64 (exp.f64 re) (*.f64 im 1/2)) (*.f64 (exp.f64 re) (/.f64 im 4))))
(+.f64 (*.f64 im (/.f64 (exp.f64 re) 4)) (+.f64 (*.f64 (exp.f64 re) (*.f64 im 1/2)) (*.f64 im (/.f64 (exp.f64 re) 4))))
(+.f64 (*.f64 im (/.f64 (exp.f64 re) 4)) (*.f64 (exp.f64 re) (+.f64 (*.f64 im 1/2) (/.f64 im 4))))
(+.f64 (*.f64 1/2 (*.f64 im (exp.f64 re))) (*.f64 (*.f64 im (/.f64 (exp.f64 re) 4)) 2))
(*.f64 (exp.f64 re) (+.f64 (/.f64 im 4) (+.f64 (*.f64 im 1/2) (/.f64 im 4))))
(+.f64 (*.f64 (exp.f64 re) (/.f64 im 4)) (/.f64 (*.f64 im (*.f64 (exp.f64 re) 3)) 4))
(+.f64 (*.f64 im (/.f64 (exp.f64 re) 4)) (/.f64 (*.f64 im (*.f64 3 (exp.f64 re))) 4))
(+.f64 (*.f64 im (/.f64 (exp.f64 re) 4)) (/.f64 (*.f64 (exp.f64 re) (*.f64 im 3)) 4))
(+.f64 (*.f64 (exp.f64 re) (/.f64 im 4)) (-.f64 (*.f64 (exp.f64 re) (/.f64 im 4)) (/.f64 (*.f64 (exp.f64 re) im) -2)))
(+.f64 (*.f64 im (/.f64 (exp.f64 re) 4)) (+.f64 (*.f64 (exp.f64 re) (*.f64 im 1/2)) (*.f64 im (/.f64 (exp.f64 re) 4))))
(+.f64 (*.f64 im (/.f64 (exp.f64 re) 4)) (*.f64 (exp.f64 re) (+.f64 (*.f64 im 1/2) (/.f64 im 4))))
(+.f64 (*.f64 1/2 (*.f64 im (exp.f64 re))) (*.f64 (*.f64 im (/.f64 (exp.f64 re) 4)) 2))
(*.f64 (exp.f64 re) (+.f64 (/.f64 im 4) (+.f64 (*.f64 im 1/2) (/.f64 im 4))))
(+.f64 (+.f64 (*.f64 (exp.f64 re) (*.f64 im 1/2)) (*.f64 (exp.f64 re) (/.f64 im 4))) (*.f64 (exp.f64 re) (/.f64 im 4)))
(+.f64 (*.f64 im (/.f64 (exp.f64 re) 4)) (+.f64 (*.f64 (exp.f64 re) (*.f64 im 1/2)) (*.f64 im (/.f64 (exp.f64 re) 4))))
(+.f64 (*.f64 im (/.f64 (exp.f64 re) 4)) (*.f64 (exp.f64 re) (+.f64 (*.f64 im 1/2) (/.f64 im 4))))
(+.f64 (*.f64 1/2 (*.f64 im (exp.f64 re))) (*.f64 (*.f64 im (/.f64 (exp.f64 re) 4)) 2))
(*.f64 (exp.f64 re) (+.f64 (/.f64 im 4) (+.f64 (*.f64 im 1/2) (/.f64 im 4))))
(+.f64 (/.f64 (*.f64 im (*.f64 (exp.f64 re) 3)) 4) (*.f64 (exp.f64 re) (/.f64 im 4)))
(+.f64 (*.f64 im (/.f64 (exp.f64 re) 4)) (/.f64 (*.f64 im (*.f64 3 (exp.f64 re))) 4))
(+.f64 (*.f64 im (/.f64 (exp.f64 re) 4)) (/.f64 (*.f64 (exp.f64 re) (*.f64 im 3)) 4))
(+.f64 (-.f64 (*.f64 (exp.f64 re) (/.f64 im 4)) (/.f64 (*.f64 (exp.f64 re) im) -2)) (*.f64 (exp.f64 re) (/.f64 im 4)))
(+.f64 (*.f64 im (/.f64 (exp.f64 re) 4)) (+.f64 (*.f64 (exp.f64 re) (*.f64 im 1/2)) (*.f64 im (/.f64 (exp.f64 re) 4))))
(+.f64 (*.f64 im (/.f64 (exp.f64 re) 4)) (*.f64 (exp.f64 re) (+.f64 (*.f64 im 1/2) (/.f64 im 4))))
(+.f64 (*.f64 1/2 (*.f64 im (exp.f64 re))) (*.f64 (*.f64 im (/.f64 (exp.f64 re) 4)) 2))
(*.f64 (exp.f64 re) (+.f64 (/.f64 im 4) (+.f64 (*.f64 im 1/2) (/.f64 im 4))))
(+.f64 (-.f64 (*.f64 (exp.f64 re) (/.f64 im 4)) (neg.f64 (*.f64 (exp.f64 re) (/.f64 im 4)))) (-.f64 (*.f64 (exp.f64 re) (/.f64 im 4)) (neg.f64 (*.f64 (exp.f64 re) (/.f64 im 4)))))
(+.f64 (-.f64 (*.f64 im (/.f64 (exp.f64 re) 4)) (neg.f64 (*.f64 im (/.f64 (exp.f64 re) 4)))) (-.f64 (*.f64 im (/.f64 (exp.f64 re) 4)) (neg.f64 (*.f64 im (/.f64 (exp.f64 re) 4)))))
(+.f64 (*.f64 -2 (neg.f64 (*.f64 im (/.f64 (exp.f64 re) 4)))) (*.f64 -2 (neg.f64 (*.f64 im (/.f64 (exp.f64 re) 4)))))
(*.f64 (*.f64 (/.f64 (exp.f64 re) 4) (neg.f64 im)) -4)
(*.f64 (*.f64 (exp.f64 re) (neg.f64 (/.f64 im 4))) -4)
(-.f64 (*.f64 (exp.f64 re) im) 0)
(*.f64 im (exp.f64 re))
(-.f64 (*.f64 (exp.f64 re) im) (+.f64 (/.f64 (*.f64 (exp.f64 re) im) -2) (*.f64 (exp.f64 re) (*.f64 im 1/2))))
(*.f64 im (exp.f64 re))
(-.f64 (*.f64 (exp.f64 re) (*.f64 im 1/2)) (/.f64 (*.f64 (exp.f64 re) im) -2))
(*.f64 im (exp.f64 re))
(-.f64 (*.f64 (exp.f64 re) (/.f64 im 4)) (*.f64 -3 (*.f64 (exp.f64 re) (/.f64 im 4))))
(+.f64 (-.f64 (*.f64 im (/.f64 (exp.f64 re) 4)) (neg.f64 (*.f64 im (/.f64 (exp.f64 re) 4)))) (-.f64 (*.f64 im (/.f64 (exp.f64 re) 4)) (neg.f64 (*.f64 im (/.f64 (exp.f64 re) 4)))))
(+.f64 (*.f64 -2 (neg.f64 (*.f64 im (/.f64 (exp.f64 re) 4)))) (*.f64 -2 (neg.f64 (*.f64 im (/.f64 (exp.f64 re) 4)))))
(*.f64 (*.f64 (/.f64 (exp.f64 re) 4) (neg.f64 im)) -4)
(*.f64 (*.f64 (exp.f64 re) (neg.f64 (/.f64 im 4))) -4)
(-.f64 (+.f64 (*.f64 (exp.f64 re) (*.f64 im 1/2)) (*.f64 (exp.f64 re) (/.f64 im 4))) (neg.f64 (*.f64 (exp.f64 re) (/.f64 im 4))))
(+.f64 (*.f64 im (/.f64 (exp.f64 re) 4)) (+.f64 (*.f64 (exp.f64 re) (*.f64 im 1/2)) (*.f64 im (/.f64 (exp.f64 re) 4))))
(+.f64 (*.f64 im (/.f64 (exp.f64 re) 4)) (*.f64 (exp.f64 re) (+.f64 (*.f64 im 1/2) (/.f64 im 4))))
(+.f64 (*.f64 1/2 (*.f64 im (exp.f64 re))) (*.f64 (*.f64 im (/.f64 (exp.f64 re) 4)) 2))
(*.f64 (exp.f64 re) (+.f64 (/.f64 im 4) (+.f64 (*.f64 im 1/2) (/.f64 im 4))))
(-.f64 (/.f64 (*.f64 im (*.f64 (exp.f64 re) 3)) 4) (/.f64 (neg.f64 (*.f64 (exp.f64 re) im)) 4))
(*.f64 im (exp.f64 re))
(-.f64 (-.f64 (*.f64 (exp.f64 re) (/.f64 im 4)) (/.f64 (*.f64 (exp.f64 re) im) -2)) (neg.f64 (*.f64 (exp.f64 re) (/.f64 im 4))))
(+.f64 (*.f64 im (/.f64 (exp.f64 re) 4)) (+.f64 (*.f64 (exp.f64 re) (*.f64 im 1/2)) (*.f64 im (/.f64 (exp.f64 re) 4))))
(+.f64 (*.f64 im (/.f64 (exp.f64 re) 4)) (*.f64 (exp.f64 re) (+.f64 (*.f64 im 1/2) (/.f64 im 4))))
(+.f64 (*.f64 1/2 (*.f64 im (exp.f64 re))) (*.f64 (*.f64 im (/.f64 (exp.f64 re) 4)) 2))
(*.f64 (exp.f64 re) (+.f64 (/.f64 im 4) (+.f64 (*.f64 im 1/2) (/.f64 im 4))))
(-.f64 (-.f64 (*.f64 (exp.f64 re) (/.f64 im 4)) (neg.f64 (*.f64 (exp.f64 re) (/.f64 im 4)))) (-.f64 (neg.f64 (*.f64 (exp.f64 re) (/.f64 im 4))) (*.f64 (exp.f64 re) (/.f64 im 4))))
(+.f64 (-.f64 (*.f64 im (/.f64 (exp.f64 re) 4)) (neg.f64 (*.f64 im (/.f64 (exp.f64 re) 4)))) (-.f64 (*.f64 im (/.f64 (exp.f64 re) 4)) (neg.f64 (*.f64 im (/.f64 (exp.f64 re) 4)))))
(+.f64 (*.f64 -2 (neg.f64 (*.f64 im (/.f64 (exp.f64 re) 4)))) (*.f64 -2 (neg.f64 (*.f64 im (/.f64 (exp.f64 re) 4)))))
(*.f64 (*.f64 (/.f64 (exp.f64 re) 4) (neg.f64 im)) -4)
(*.f64 (*.f64 (exp.f64 re) (neg.f64 (/.f64 im 4))) -4)
(/.f64 (*.f64 (exp.f64 re) im) 1)
(*.f64 im (exp.f64 re))
(/.f64 (*.f64 (exp.f64 re) (+.f64 im im)) 2)
(*.f64 im (exp.f64 re))
(/.f64 (*.f64 (exp.f64 re) (*.f64 im 4)) 4)
(*.f64 im (exp.f64 re))
(/.f64 (*.f64 (*.f64 (exp.f64 re) im) 8) 8)
(*.f64 im (exp.f64 re))
(/.f64 (*.f64 (*.f64 (exp.f64 re) 4) (*.f64 im 4)) 16)
(*.f64 im (exp.f64 re))
(/.f64 (*.f64 4 (*.f64 (*.f64 (exp.f64 re) im) 8)) 32)
(*.f64 im (exp.f64 re))
(/.f64 (*.f64 (*.f64 (exp.f64 re) 4) (*.f64 (*.f64 im 4) 4)) 64)
(*.f64 im (exp.f64 re))
(/.f64 (*.f64 (*.f64 (*.f64 im 4) 4) (*.f64 (*.f64 (exp.f64 re) 4) 4)) 256)
(*.f64 im (exp.f64 re))
(/.f64 (*.f64 (*.f64 (*.f64 (exp.f64 re) 4) 4) (*.f64 (*.f64 im 4) 4)) 256)
(*.f64 im (exp.f64 re))
(/.f64 (+.f64 (*.f64 4 (*.f64 (*.f64 (exp.f64 re) im) 8)) (*.f64 4 (*.f64 (*.f64 (exp.f64 re) im) 8))) 64)
(*.f64 im (exp.f64 re))
(/.f64 (+.f64 (*.f64 (*.f64 (exp.f64 re) 4) (*.f64 (*.f64 im 4) 4)) (*.f64 (*.f64 (exp.f64 re) 4) (*.f64 (*.f64 im 4) 4))) 128)
(*.f64 im (exp.f64 re))
(pow.f64 (*.f64 (exp.f64 re) im) 1)
(*.f64 im (exp.f64 re))

localize8.0ms (0.1%)

Local error

Found 1 expressions with local error:

NewErrorProgram
0.1b
(*.f64 (sin.f64 im) (-.f64 re -1))
Compiler

Compiled 16 to 9 computations (43.8% saved)

series2.0ms (0%)

Counts
1 → 24
Calls

6 calls:

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

rewrite64.0ms (0.8%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
0917
16417
214917
339917
4142517
Stop Event
node limit
Counts
1 → 21
Calls
Call 1
Inputs
(*.f64 (sin.f64 im) (-.f64 re -1))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (sin.f64 im) (+.f64 re 1)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (sin.f64 im) (+.f64 re 1)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (sin.f64 im) (+.f64 1/2 (/.f64 re 2))) (*.f64 (sin.f64 im) (+.f64 1/2 (/.f64 re 2))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (*.f64 (sin.f64 im) (+.f64 re 1)) 4) (+.f64 (/.f64 (*.f64 (sin.f64 im) (+.f64 re 1)) 4) (*.f64 (sin.f64 im) (+.f64 1/2 (/.f64 re 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (*.f64 (sin.f64 im) (+.f64 re 1)) 4) (/.f64 (/.f64 (*.f64 (sin.f64 im) (*.f64 (+.f64 re 1) 3)) 2) 2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (*.f64 (sin.f64 im) (+.f64 re 1)) 4) (/.f64 (*.f64 (sin.f64 im) (*.f64 (+.f64 re 1) 3)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (sin.f64 im) (+.f64 re 1)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (sin.f64 im) (+.f64 1/2 (/.f64 re 2))) (/.f64 (*.f64 (sin.f64 im) (+.f64 re 1)) -2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (/.f64 (*.f64 (sin.f64 im) (+.f64 re 1)) 4) (*.f64 (sin.f64 im) (+.f64 1/2 (/.f64 re 2)))) (-.f64 0 (/.f64 (*.f64 (sin.f64 im) (+.f64 re 1)) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (/.f64 (*.f64 (sin.f64 im) (*.f64 (+.f64 re 1) 3)) 2) 2) (/.f64 (/.f64 (*.f64 (sin.f64 im) (+.f64 re 1)) -2) 2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (*.f64 (sin.f64 im) (*.f64 (+.f64 re 1) 3)) 4) (/.f64 (neg.f64 (*.f64 (sin.f64 im) (+.f64 re 1))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sin.f64 im) (+.f64 re 1)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sin.f64 im) (+.f64 re (+.f64 re 2))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sin.f64 im) (*.f64 (+.f64 re 1) 4)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 4 (*.f64 (sin.f64 im) (*.f64 (+.f64 re 1) 4))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (sin.f64 im) (*.f64 (+.f64 re 1) 4))) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 (sin.f64 im) (*.f64 (+.f64 re 1) 4))) (*.f64 2 (*.f64 (sin.f64 im) (*.f64 (+.f64 re 1) 4)))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 4 (*.f64 (sin.f64 im) (*.f64 (+.f64 re 1) 4))) (*.f64 4 (*.f64 (sin.f64 im) (*.f64 (+.f64 re 1) 4)))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 2 (*.f64 (+.f64 re 1) 4)) (*.f64 2 (*.f64 (sin.f64 im) 4))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 2 (*.f64 (sin.f64 im) 4)) (*.f64 2 (*.f64 (+.f64 re 1) 4))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (sin.f64 im) (+.f64 re 1)) 1)))))

simplify64.0ms (0.8%)

Algorithm
egg-herbie
Rules
1132×rational_best-simplify-48
942×rational_best-simplify-52
846×rational_best-simplify-51
754×rational_best-simplify-47
662×rational_best-simplify-67
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
0931107
12461023
25701023
31551971
Stop Event
node limit
Counts
45 → 46
Calls
Call 1
Inputs
(*.f64 (+.f64 1 re) im)
(+.f64 (*.f64 -1/6 (*.f64 (+.f64 1 re) (pow.f64 im 3))) (*.f64 (+.f64 1 re) im))
(+.f64 (*.f64 1/120 (*.f64 (+.f64 1 re) (pow.f64 im 5))) (+.f64 (*.f64 -1/6 (*.f64 (+.f64 1 re) (pow.f64 im 3))) (*.f64 (+.f64 1 re) im)))
(+.f64 (*.f64 1/120 (*.f64 (+.f64 1 re) (pow.f64 im 5))) (+.f64 (*.f64 -1/6 (*.f64 (+.f64 1 re) (pow.f64 im 3))) (+.f64 (*.f64 (+.f64 1 re) im) (*.f64 -1/5040 (*.f64 (+.f64 1 re) (pow.f64 im 7))))))
(*.f64 (sin.f64 im) (+.f64 1 re))
(*.f64 (sin.f64 im) (+.f64 1 re))
(*.f64 (sin.f64 im) (+.f64 1 re))
(*.f64 (sin.f64 im) (+.f64 1 re))
(*.f64 (sin.f64 im) (+.f64 1 re))
(*.f64 (sin.f64 im) (+.f64 1 re))
(*.f64 (sin.f64 im) (+.f64 1 re))
(*.f64 (sin.f64 im) (+.f64 1 re))
(sin.f64 im)
(+.f64 (sin.f64 im) (*.f64 (sin.f64 im) re))
(+.f64 (sin.f64 im) (*.f64 (sin.f64 im) re))
(+.f64 (sin.f64 im) (*.f64 (sin.f64 im) re))
(*.f64 (sin.f64 im) re)
(+.f64 (sin.f64 im) (*.f64 (sin.f64 im) re))
(+.f64 (sin.f64 im) (*.f64 (sin.f64 im) re))
(+.f64 (sin.f64 im) (*.f64 (sin.f64 im) re))
(*.f64 (sin.f64 im) re)
(+.f64 (sin.f64 im) (*.f64 (sin.f64 im) re))
(+.f64 (sin.f64 im) (*.f64 (sin.f64 im) re))
(+.f64 (sin.f64 im) (*.f64 (sin.f64 im) re))
(+.f64 (*.f64 (sin.f64 im) (+.f64 re 1)) 0)
(+.f64 0 (*.f64 (sin.f64 im) (+.f64 re 1)))
(+.f64 (*.f64 (sin.f64 im) (+.f64 1/2 (/.f64 re 2))) (*.f64 (sin.f64 im) (+.f64 1/2 (/.f64 re 2))))
(+.f64 (/.f64 (*.f64 (sin.f64 im) (+.f64 re 1)) 4) (+.f64 (/.f64 (*.f64 (sin.f64 im) (+.f64 re 1)) 4) (*.f64 (sin.f64 im) (+.f64 1/2 (/.f64 re 2)))))
(+.f64 (/.f64 (*.f64 (sin.f64 im) (+.f64 re 1)) 4) (/.f64 (/.f64 (*.f64 (sin.f64 im) (*.f64 (+.f64 re 1) 3)) 2) 2))
(+.f64 (/.f64 (*.f64 (sin.f64 im) (+.f64 re 1)) 4) (/.f64 (*.f64 (sin.f64 im) (*.f64 (+.f64 re 1) 3)) 4))
(-.f64 (*.f64 (sin.f64 im) (+.f64 re 1)) 0)
(-.f64 (*.f64 (sin.f64 im) (+.f64 1/2 (/.f64 re 2))) (/.f64 (*.f64 (sin.f64 im) (+.f64 re 1)) -2))
(-.f64 (+.f64 (/.f64 (*.f64 (sin.f64 im) (+.f64 re 1)) 4) (*.f64 (sin.f64 im) (+.f64 1/2 (/.f64 re 2)))) (-.f64 0 (/.f64 (*.f64 (sin.f64 im) (+.f64 re 1)) 4)))
(-.f64 (/.f64 (/.f64 (*.f64 (sin.f64 im) (*.f64 (+.f64 re 1) 3)) 2) 2) (/.f64 (/.f64 (*.f64 (sin.f64 im) (+.f64 re 1)) -2) 2))
(-.f64 (/.f64 (*.f64 (sin.f64 im) (*.f64 (+.f64 re 1) 3)) 4) (/.f64 (neg.f64 (*.f64 (sin.f64 im) (+.f64 re 1))) 4))
(/.f64 (*.f64 (sin.f64 im) (+.f64 re 1)) 1)
(/.f64 (*.f64 (sin.f64 im) (+.f64 re (+.f64 re 2))) 2)
(/.f64 (*.f64 (sin.f64 im) (*.f64 (+.f64 re 1) 4)) 4)
(/.f64 (*.f64 4 (*.f64 (sin.f64 im) (*.f64 (+.f64 re 1) 4))) 16)
(/.f64 (*.f64 2 (*.f64 (sin.f64 im) (*.f64 (+.f64 re 1) 4))) 8)
(/.f64 (+.f64 (*.f64 2 (*.f64 (sin.f64 im) (*.f64 (+.f64 re 1) 4))) (*.f64 2 (*.f64 (sin.f64 im) (*.f64 (+.f64 re 1) 4)))) 16)
(/.f64 (+.f64 (*.f64 4 (*.f64 (sin.f64 im) (*.f64 (+.f64 re 1) 4))) (*.f64 4 (*.f64 (sin.f64 im) (*.f64 (+.f64 re 1) 4)))) 32)
(/.f64 (*.f64 (*.f64 2 (*.f64 (+.f64 re 1) 4)) (*.f64 2 (*.f64 (sin.f64 im) 4))) 64)
(/.f64 (*.f64 (*.f64 2 (*.f64 (sin.f64 im) 4)) (*.f64 2 (*.f64 (+.f64 re 1) 4))) 64)
(pow.f64 (*.f64 (sin.f64 im) (+.f64 re 1)) 1)
Outputs
(*.f64 (+.f64 1 re) im)
(+.f64 (*.f64 -1/6 (*.f64 (+.f64 1 re) (pow.f64 im 3))) (*.f64 (+.f64 1 re) im))
(+.f64 (*.f64 (+.f64 1 re) im) (*.f64 -1/6 (*.f64 (+.f64 1 re) (pow.f64 im 3))))
(+.f64 (*.f64 (+.f64 1 re) im) (*.f64 (+.f64 1 re) (*.f64 (pow.f64 im 3) -1/6)))
(+.f64 (*.f64 (+.f64 1 re) im) (*.f64 (+.f64 1 re) (*.f64 -1/6 (pow.f64 im 3))))
(*.f64 (+.f64 1 re) (+.f64 im (*.f64 -1/6 (pow.f64 im 3))))
(+.f64 (*.f64 1/120 (*.f64 (+.f64 1 re) (pow.f64 im 5))) (+.f64 (*.f64 -1/6 (*.f64 (+.f64 1 re) (pow.f64 im 3))) (*.f64 (+.f64 1 re) im)))
(+.f64 (+.f64 (*.f64 (+.f64 1 re) im) (*.f64 -1/6 (*.f64 (+.f64 1 re) (pow.f64 im 3)))) (*.f64 1/120 (*.f64 (+.f64 1 re) (pow.f64 im 5))))
(+.f64 (*.f64 (+.f64 1 re) (*.f64 (pow.f64 im 3) -1/6)) (+.f64 (*.f64 (+.f64 1 re) im) (*.f64 (+.f64 1 re) (*.f64 (pow.f64 im 5) 1/120))))
(+.f64 (*.f64 (+.f64 1 re) im) (+.f64 (*.f64 (+.f64 1 re) (*.f64 -1/6 (pow.f64 im 3))) (*.f64 (+.f64 1 re) (*.f64 1/120 (pow.f64 im 5)))))
(+.f64 (*.f64 (+.f64 1 re) im) (*.f64 (+.f64 1 re) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 1/120 (pow.f64 im 5)))))
(+.f64 (*.f64 1/120 (*.f64 (+.f64 1 re) (pow.f64 im 5))) (+.f64 (*.f64 -1/6 (*.f64 (+.f64 1 re) (pow.f64 im 3))) (+.f64 (*.f64 (+.f64 1 re) im) (*.f64 -1/5040 (*.f64 (+.f64 1 re) (pow.f64 im 7))))))
(+.f64 (*.f64 (+.f64 1 re) (*.f64 (pow.f64 im 5) 1/120)) (+.f64 (*.f64 (+.f64 1 re) im) (+.f64 (*.f64 (+.f64 1 re) (*.f64 (pow.f64 im 3) -1/6)) (*.f64 (+.f64 1 re) (*.f64 (pow.f64 im 7) -1/5040)))))
(+.f64 (+.f64 (*.f64 (+.f64 1 re) im) (*.f64 (+.f64 1 re) (*.f64 -1/6 (pow.f64 im 3)))) (+.f64 (*.f64 (+.f64 1 re) (*.f64 1/120 (pow.f64 im 5))) (*.f64 -1/5040 (*.f64 (+.f64 1 re) (pow.f64 im 7)))))
(+.f64 (*.f64 (+.f64 1 re) (+.f64 im (*.f64 -1/6 (pow.f64 im 3)))) (*.f64 (+.f64 1 re) (+.f64 (*.f64 1/120 (pow.f64 im 5)) (*.f64 -1/5040 (pow.f64 im 7)))))
(*.f64 (sin.f64 im) (+.f64 1 re))
(*.f64 (+.f64 1 re) (sin.f64 im))
(*.f64 (sin.f64 im) (+.f64 1 re))
(*.f64 (+.f64 1 re) (sin.f64 im))
(*.f64 (sin.f64 im) (+.f64 1 re))
(*.f64 (+.f64 1 re) (sin.f64 im))
(*.f64 (sin.f64 im) (+.f64 1 re))
(*.f64 (+.f64 1 re) (sin.f64 im))
(*.f64 (sin.f64 im) (+.f64 1 re))
(*.f64 (+.f64 1 re) (sin.f64 im))
(*.f64 (sin.f64 im) (+.f64 1 re))
(*.f64 (+.f64 1 re) (sin.f64 im))
(*.f64 (sin.f64 im) (+.f64 1 re))
(*.f64 (+.f64 1 re) (sin.f64 im))
(*.f64 (sin.f64 im) (+.f64 1 re))
(*.f64 (+.f64 1 re) (sin.f64 im))
(sin.f64 im)
(+.f64 (sin.f64 im) (*.f64 (sin.f64 im) re))
(*.f64 (+.f64 1 re) (sin.f64 im))
(+.f64 (sin.f64 im) (*.f64 (sin.f64 im) re))
(*.f64 (+.f64 1 re) (sin.f64 im))
(+.f64 (sin.f64 im) (*.f64 (sin.f64 im) re))
(*.f64 (+.f64 1 re) (sin.f64 im))
(*.f64 (sin.f64 im) re)
(*.f64 re (sin.f64 im))
(+.f64 (sin.f64 im) (*.f64 (sin.f64 im) re))
(*.f64 (+.f64 1 re) (sin.f64 im))
(+.f64 (sin.f64 im) (*.f64 (sin.f64 im) re))
(*.f64 (+.f64 1 re) (sin.f64 im))
(+.f64 (sin.f64 im) (*.f64 (sin.f64 im) re))
(*.f64 (+.f64 1 re) (sin.f64 im))
(*.f64 (sin.f64 im) re)
(*.f64 re (sin.f64 im))
(+.f64 (sin.f64 im) (*.f64 (sin.f64 im) re))
(*.f64 (+.f64 1 re) (sin.f64 im))
(+.f64 (sin.f64 im) (*.f64 (sin.f64 im) re))
(*.f64 (+.f64 1 re) (sin.f64 im))
(+.f64 (sin.f64 im) (*.f64 (sin.f64 im) re))
(*.f64 (+.f64 1 re) (sin.f64 im))
(+.f64 (*.f64 (sin.f64 im) (+.f64 re 1)) 0)
(*.f64 (+.f64 1 re) (sin.f64 im))
(+.f64 0 (*.f64 (sin.f64 im) (+.f64 re 1)))
(*.f64 (+.f64 1 re) (sin.f64 im))
(+.f64 (*.f64 (sin.f64 im) (+.f64 1/2 (/.f64 re 2))) (*.f64 (sin.f64 im) (+.f64 1/2 (/.f64 re 2))))
(*.f64 (+.f64 1/2 (/.f64 re 2)) (+.f64 (sin.f64 im) (sin.f64 im)))
(*.f64 (*.f64 (sin.f64 im) (+.f64 1/2 (/.f64 re 2))) 2)
(+.f64 (/.f64 (*.f64 (sin.f64 im) (+.f64 re 1)) 4) (+.f64 (/.f64 (*.f64 (sin.f64 im) (+.f64 re 1)) 4) (*.f64 (sin.f64 im) (+.f64 1/2 (/.f64 re 2)))))
(+.f64 (*.f64 (sin.f64 im) (+.f64 1/2 (/.f64 re 2))) (+.f64 (/.f64 (*.f64 (+.f64 1 re) (sin.f64 im)) 4) (/.f64 (*.f64 (+.f64 1 re) (sin.f64 im)) 4)))
(+.f64 (*.f64 (sin.f64 im) (+.f64 1/2 (/.f64 re 2))) (/.f64 (*.f64 (+.f64 1 re) (sin.f64 im)) 2))
(+.f64 (/.f64 (*.f64 (sin.f64 im) (+.f64 re 1)) 4) (/.f64 (/.f64 (*.f64 (sin.f64 im) (*.f64 (+.f64 re 1) 3)) 2) 2))
(*.f64 (+.f64 1 re) (sin.f64 im))
(+.f64 (/.f64 (*.f64 (sin.f64 im) (+.f64 re 1)) 4) (/.f64 (*.f64 (sin.f64 im) (*.f64 (+.f64 re 1) 3)) 4))
(*.f64 (+.f64 1 re) (sin.f64 im))
(-.f64 (*.f64 (sin.f64 im) (+.f64 re 1)) 0)
(*.f64 (+.f64 1 re) (sin.f64 im))
(-.f64 (*.f64 (sin.f64 im) (+.f64 1/2 (/.f64 re 2))) (/.f64 (*.f64 (sin.f64 im) (+.f64 re 1)) -2))
(+.f64 (*.f64 (sin.f64 im) (+.f64 1/2 (/.f64 re 2))) (+.f64 (/.f64 (*.f64 (+.f64 1 re) (sin.f64 im)) 4) (/.f64 (*.f64 (+.f64 1 re) (sin.f64 im)) 4)))
(+.f64 (*.f64 (sin.f64 im) (+.f64 1/2 (/.f64 re 2))) (/.f64 (*.f64 (+.f64 1 re) (sin.f64 im)) 2))
(-.f64 (+.f64 (/.f64 (*.f64 (sin.f64 im) (+.f64 re 1)) 4) (*.f64 (sin.f64 im) (+.f64 1/2 (/.f64 re 2)))) (-.f64 0 (/.f64 (*.f64 (sin.f64 im) (+.f64 re 1)) 4)))
(+.f64 (*.f64 (sin.f64 im) (+.f64 1/2 (/.f64 re 2))) (+.f64 (/.f64 (*.f64 (+.f64 1 re) (sin.f64 im)) 4) (/.f64 (*.f64 (+.f64 1 re) (sin.f64 im)) 4)))
(+.f64 (*.f64 (sin.f64 im) (+.f64 1/2 (/.f64 re 2))) (/.f64 (*.f64 (+.f64 1 re) (sin.f64 im)) 2))
(-.f64 (/.f64 (/.f64 (*.f64 (sin.f64 im) (*.f64 (+.f64 re 1) 3)) 2) 2) (/.f64 (/.f64 (*.f64 (sin.f64 im) (+.f64 re 1)) -2) 2))
(*.f64 (+.f64 1 re) (sin.f64 im))
(-.f64 (/.f64 (*.f64 (sin.f64 im) (*.f64 (+.f64 re 1) 3)) 4) (/.f64 (neg.f64 (*.f64 (sin.f64 im) (+.f64 re 1))) 4))
(*.f64 (+.f64 1 re) (sin.f64 im))
(/.f64 (*.f64 (sin.f64 im) (+.f64 re 1)) 1)
(*.f64 (+.f64 1 re) (sin.f64 im))
(/.f64 (*.f64 (sin.f64 im) (+.f64 re (+.f64 re 2))) 2)
(*.f64 (+.f64 1 re) (sin.f64 im))
(/.f64 (*.f64 (sin.f64 im) (*.f64 (+.f64 re 1) 4)) 4)
(*.f64 (+.f64 1 re) (sin.f64 im))
(/.f64 (*.f64 4 (*.f64 (sin.f64 im) (*.f64 (+.f64 re 1) 4))) 16)
(*.f64 (+.f64 1 re) (sin.f64 im))
(/.f64 (*.f64 2 (*.f64 (sin.f64 im) (*.f64 (+.f64 re 1) 4))) 8)
(*.f64 (+.f64 1 re) (sin.f64 im))
(/.f64 (+.f64 (*.f64 2 (*.f64 (sin.f64 im) (*.f64 (+.f64 re 1) 4))) (*.f64 2 (*.f64 (sin.f64 im) (*.f64 (+.f64 re 1) 4)))) 16)
(*.f64 (+.f64 1 re) (sin.f64 im))
(/.f64 (+.f64 (*.f64 4 (*.f64 (sin.f64 im) (*.f64 (+.f64 re 1) 4))) (*.f64 4 (*.f64 (sin.f64 im) (*.f64 (+.f64 re 1) 4)))) 32)
(*.f64 (+.f64 1 re) (sin.f64 im))
(/.f64 (*.f64 (*.f64 2 (*.f64 (+.f64 re 1) 4)) (*.f64 2 (*.f64 (sin.f64 im) 4))) 64)
(*.f64 (+.f64 1 re) (sin.f64 im))
(/.f64 (*.f64 (*.f64 2 (*.f64 (sin.f64 im) 4)) (*.f64 2 (*.f64 (+.f64 re 1) 4))) 64)
(*.f64 (+.f64 1 re) (sin.f64 im))
(pow.f64 (*.f64 (sin.f64 im) (+.f64 re 1)) 1)
(*.f64 (+.f64 1 re) (sin.f64 im))

localize20.0ms (0.3%)

Local error

Found 4 expressions with local error:

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

Compiled 46 to 29 computations (37% saved)

series5.0ms (0.1%)

Counts
4 → 60
Calls

18 calls:

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

rewrite95.0ms (1.2%)

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

Useful iterations: 2 (0.0ms)

IterNodesCost
01394
19394
221090
359590
4235290
Stop Event
node limit
Counts
4 → 190
Calls
Call 1
Inputs
(*.f64 (sin.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2))))
(+.f64 re (*.f64 1/2 (pow.f64 re 2)))
(+.f64 (sin.f64 im) (*.f64 (sin.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))))
(pow.f64 re 2)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (sin.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (sin.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (*.f64 (sin.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))) 2) (/.f64 (*.f64 (sin.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (sin.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (*.f64 (sin.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))) 2) (/.f64 (*.f64 (sin.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))) -2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sin.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sin.f64 im) (+.f64 re (+.f64 re (pow.f64 re 2)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sin.f64 im) (+.f64 (*.f64 2 (pow.f64 re 2)) (*.f64 re 4))) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 re (+.f64 re (pow.f64 re 2))) (*.f64 (sin.f64 im) 4)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 (sin.f64 im) 4) (+.f64 (*.f64 2 (pow.f64 re 2)) (*.f64 re 4))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (*.f64 (pow.f64 re 2) -1/2) re) (*.f64 (sin.f64 im) 2)) -2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (*.f64 (pow.f64 re 2) -1/2) re) (*.f64 (sin.f64 im) 4)) -4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (*.f64 (pow.f64 re 2) -1/2) re) (*.f64 2 (*.f64 (sin.f64 im) 4))) -8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 re (*.f64 1/2 (pow.f64 re 2))) (*.f64 (sin.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 (sin.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 (sin.f64 im) -2))) -4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (*.f64 (pow.f64 re 2) -1/2) re) (sin.f64 im)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 re (*.f64 1/2 (pow.f64 re 2))) (neg.f64 (sin.f64 im))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (sin.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))) 1)))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 re (*.f64 (pow.f64 re 2) -1/2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (pow.f64 re 2) (-.f64 (*.f64 1/2 (pow.f64 re 2)) re))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 1/2 (pow.f64 re 2)) (neg.f64 re))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 (*.f64 (pow.f64 re 2) -1/2) (-.f64 (*.f64 1/2 (pow.f64 re 2)) re)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 re (*.f64 1/2 (pow.f64 re 2))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (-.f64 (*.f64 (pow.f64 re 2) -1/2) re))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 re re) (+.f64 re (*.f64 (pow.f64 re 2) -1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (/.f64 re 2) (/.f64 (pow.f64 re 2) 4)) (/.f64 (+.f64 re (*.f64 1/2 (pow.f64 re 2))) -2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (/.f64 re 2) (/.f64 (pow.f64 re 2) 4)) (-.f64 (/.f64 (pow.f64 re 2) -4) (/.f64 re 2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (/.f64 re 2) (/.f64 (pow.f64 re 2) 4)) (-.f64 (/.f64 re -2) (/.f64 (pow.f64 re 2) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 re 2) (/.f64 (-.f64 (neg.f64 (pow.f64 re 2)) re) 2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 re 2) (+.f64 (/.f64 re -2) (*.f64 (pow.f64 re 2) -1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.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 (pow.f64 re 2) 4) (+.f64 (/.f64 (pow.f64 re 2) -4) (neg.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 re (/.f64 (pow.f64 re 2) 4)) (/.f64 (pow.f64 re 2) -4))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (/.f64 re 2)) (/.f64 re -2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 (*.f64 1/2 (pow.f64 re 2)) (-.f64 (*.f64 1/2 (pow.f64 re 2)) re)) (*.f64 (pow.f64 re 2) -1/2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (-.f64 re (neg.f64 (pow.f64 re 2))) 2) (/.f64 re -2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 (/.f64 (pow.f64 re 2) 4) (neg.f64 re)) (/.f64 (pow.f64 re 2) -4))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 3 (/.f64 (pow.f64 re 2) 4)) (-.f64 (-.f64 (*.f64 1/2 (pow.f64 re 2)) re) (/.f64 (pow.f64 re 2) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 re re) (-.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)) (-.f64 (/.f64 (pow.f64 re 2) 4) re)) (-.f64 (/.f64 (pow.f64 re 2) 4) (*.f64 1/2 (pow.f64 re 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (+.f64 re (+.f64 re (pow.f64 re 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (+.f64 (/.f64 re 2) (/.f64 (pow.f64 re 2) 4)))))) (#(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 1 (+.f64 re (*.f64 1/2 (pow.f64 re 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 re (+.f64 re (pow.f64 re 2))) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (/.f64 re 2) (/.f64 (pow.f64 re 2) 4)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (+.f64 (*.f64 2 (pow.f64 re 2)) (*.f64 re 4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (*.f64 (pow.f64 re 2) -1/2) re) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (*.f64 2 (pow.f64 re 2)) (*.f64 re 4)) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 re (+.f64 re (pow.f64 re 2))) 4) 1/8)))) (#(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 (+.f64 re (pow.f64 re 2))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 (pow.f64 re 2) -1/2) re) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (pow.f64 re 2)) (*.f64 re 4)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 re (+.f64 re (pow.f64 re 2))) 4) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 re 4) (neg.f64 (*.f64 2 (pow.f64 re 2)))) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 2 (pow.f64 re 2)) (+.f64 (pow.f64 re 2) (*.f64 re -2))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 2 (pow.f64 re 2)) (neg.f64 (*.f64 re 4))) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 2 (pow.f64 re 2)) (*.f64 2 (*.f64 re -2))) 4)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (+.f64 re (*.f64 1/2 (pow.f64 re 2))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (-.f64 (*.f64 (pow.f64 re 2) -1/2) re))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (sin.f64 im) (neg.f64 (*.f64 (sin.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (sin.f64 im) (-.f64 (neg.f64 (*.f64 (sin.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2))))) (*.f64 (sin.f64 0) (cos.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (sin.f64 im) (+.f64 (neg.f64 (*.f64 (sin.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2))))) (*.f64 (sin.f64 0) (sin.f64 (-.f64 (*.f64 1/2 (PI.f64)) im)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (sin.f64 im) (+.f64 (-.f64 0 (*.f64 (sin.f64 0) (*.f64 (cos.f64 im) 2))) (neg.f64 (*.f64 (sin.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (sin.f64 im) (+.f64 (-.f64 (*.f64 (sin.f64 0) (sin.f64 (-.f64 (*.f64 1/2 (PI.f64)) im))) (*.f64 (sin.f64 0) (cos.f64 im))) (neg.f64 (*.f64 (sin.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (sin.f64 im) (+.f64 (*.f64 (sin.f64 (-.f64 (*.f64 1/2 (PI.f64)) im)) (*.f64 (sin.f64 0) 2)) (neg.f64 (*.f64 (sin.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (sin.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))) (neg.f64 (sin.f64 im)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (sin.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))) (-.f64 (*.f64 (sin.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))) (*.f64 (sin.f64 im) (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re 1)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (sin.f64 im) (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re 1))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (sin.f64 im) (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re 1))) (neg.f64 (*.f64 (sin.f64 0) (cos.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (sin.f64 im) (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re 1))) (*.f64 (sin.f64 0) (sin.f64 (-.f64 (*.f64 1/2 (PI.f64)) im))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (*.f64 (sin.f64 im) (-.f64 -1 (+.f64 re (*.f64 1/2 (pow.f64 re 2))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (sin.f64 im) 2) (+.f64 (sin.f64 im) (neg.f64 (*.f64 (sin.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (sin.f64 im) (+.f64 re (+.f64 re (pow.f64 re 2)))) (*.f64 (sin.f64 im) (+.f64 (+.f64 re (*.f64 1/2 (pow.f64 re 2))) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (sin.f64 0) (cos.f64 im)) (*.f64 (sin.f64 im) (-.f64 -1 (+.f64 re (*.f64 1/2 (pow.f64 re 2))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (*.f64 (sin.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))) (*.f64 (sin.f64 0) (cos.f64 im))) (neg.f64 (sin.f64 im)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (sin.f64 im) 1/2) (-.f64 (neg.f64 (*.f64 (sin.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2))))) (*.f64 (sin.f64 im) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (sin.f64 im) 1/2) (+.f64 (/.f64 (sin.f64 im) -2) (neg.f64 (*.f64 (sin.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (*.f64 (sin.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))) 2) (-.f64 (neg.f64 (sin.f64 im)) (/.f64 (*.f64 (sin.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (*.f64 (sin.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))) 2) (+.f64 (/.f64 (*.f64 (sin.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))) -2) (neg.f64 (sin.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (*.f64 (sin.f64 im) (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re 1))) 2) (/.f64 (*.f64 (sin.f64 im) (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re 1))) -2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (*.f64 (sin.f64 im) (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re 1))) 2) (-.f64 (/.f64 (sin.f64 im) -2) (/.f64 (*.f64 (sin.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (*.f64 (sin.f64 im) (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re 1))) 2) (-.f64 (/.f64 (*.f64 (sin.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))) -2) (*.f64 (sin.f64 im) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (sin.f64 0) (cos.f64 (neg.f64 im))) (+.f64 (neg.f64 (*.f64 (sin.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2))))) (*.f64 (cos.f64 0) (sin.f64 (neg.f64 im)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (sin.f64 0) (cos.f64 (neg.f64 im))) (+.f64 (+.f64 (neg.f64 (*.f64 (sin.f64 0) (cos.f64 im))) (*.f64 (cos.f64 0) (sin.f64 (neg.f64 im)))) (neg.f64 (*.f64 (sin.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (sin.f64 0) (cos.f64 (neg.f64 im))) (+.f64 (+.f64 (*.f64 (sin.f64 0) (sin.f64 (-.f64 (*.f64 1/2 (PI.f64)) im))) (*.f64 (cos.f64 0) (sin.f64 (neg.f64 im)))) (neg.f64 (*.f64 (sin.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (*.f64 (sin.f64 0) (cos.f64 im)) (*.f64 (sin.f64 im) 1/2)) (+.f64 (/.f64 (sin.f64 im) -2) (neg.f64 (*.f64 (sin.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (sin.f64 im) (/.f64 (*.f64 (sin.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))) 2)) (/.f64 (*.f64 (sin.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))) -2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (sin.f64 im) (/.f64 (*.f64 (sin.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))) 2)) (-.f64 (neg.f64 (*.f64 (sin.f64 0) (cos.f64 im))) (/.f64 (*.f64 (sin.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (sin.f64 im) (/.f64 (*.f64 (sin.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))) 2)) (-.f64 (*.f64 (sin.f64 0) (sin.f64 (-.f64 (*.f64 1/2 (PI.f64)) im))) (/.f64 (*.f64 (sin.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (*.f64 (sin.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))) (*.f64 (sin.f64 im) 1/2)) (/.f64 (sin.f64 im) -2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 (*.f64 (sin.f64 0) (cos.f64 (neg.f64 im))) (neg.f64 (*.f64 (sin.f64 0) (cos.f64 im)))) (+.f64 (neg.f64 (*.f64 (sin.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2))))) (*.f64 (cos.f64 0) (sin.f64 (neg.f64 im)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (sin.f64 0) (-.f64 (cos.f64 (neg.f64 im)) (sin.f64 (-.f64 (*.f64 1/2 (PI.f64)) im)))) (+.f64 (neg.f64 (*.f64 (sin.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2))))) (*.f64 (cos.f64 0) (sin.f64 (neg.f64 im)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 (*.f64 (sin.f64 0) (cos.f64 (neg.f64 im))) (neg.f64 (*.f64 (sin.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))))) (*.f64 (cos.f64 0) (sin.f64 (neg.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (sin.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 (sin.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 3 (/.f64 (*.f64 (sin.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))) 2)) (-.f64 (*.f64 (sin.f64 im) (+.f64 (+.f64 re (*.f64 1/2 (pow.f64 re 2))) -1)) (/.f64 (*.f64 (sin.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 (*.f64 (sin.f64 im) 1/2) (neg.f64 (*.f64 (sin.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))))) (/.f64 (sin.f64 im) -2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 (/.f64 (*.f64 (sin.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))) 2) (neg.f64 (sin.f64 im))) (/.f64 (*.f64 (sin.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))) -2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 (/.f64 (*.f64 (sin.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))) 2) (neg.f64 (sin.f64 im))) (-.f64 (neg.f64 (*.f64 (sin.f64 0) (cos.f64 im))) (/.f64 (*.f64 (sin.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 (*.f64 (sin.f64 im) 1/2) (neg.f64 (*.f64 (sin.f64 0) (cos.f64 im)))) (-.f64 (neg.f64 (*.f64 (sin.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2))))) (*.f64 (sin.f64 im) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 (/.f64 (*.f64 (sin.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))) 2) (neg.f64 (*.f64 (sin.f64 0) (cos.f64 im)))) (-.f64 (neg.f64 (sin.f64 im)) (/.f64 (*.f64 (sin.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (/.f64 (*.f64 (sin.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))) 2) (*.f64 (sin.f64 0) (cos.f64 (neg.f64 im)))) (-.f64 (*.f64 (cos.f64 0) (sin.f64 (neg.f64 im))) (/.f64 (*.f64 (sin.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (sin.f64 im) 0) (*.f64 (sin.f64 im) (-.f64 -1 (+.f64 re (*.f64 1/2 (pow.f64 re 2))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (cos.f64 (/.f64 im 2)) (sin.f64 (/.f64 im 2))) (-.f64 (neg.f64 (*.f64 (sin.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2))))) (*.f64 (cos.f64 (/.f64 im 2)) (sin.f64 (/.f64 im 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 (*.f64 (cos.f64 (/.f64 im 2)) (sin.f64 (/.f64 im 2))) (neg.f64 (*.f64 (sin.f64 0) (cos.f64 im)))) (-.f64 (neg.f64 (*.f64 (sin.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2))))) (*.f64 (cos.f64 (/.f64 im 2)) (sin.f64 (/.f64 im 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 (*.f64 (sin.f64 im) 1/2) (*.f64 (sin.f64 0) (sin.f64 (-.f64 (*.f64 1/2 (PI.f64)) im)))) (-.f64 (neg.f64 (*.f64 (sin.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2))))) (*.f64 (sin.f64 im) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 (*.f64 (cos.f64 (/.f64 im 2)) (sin.f64 (/.f64 im 2))) (*.f64 (sin.f64 0) (sin.f64 (-.f64 (*.f64 1/2 (PI.f64)) im)))) (-.f64 (neg.f64 (*.f64 (sin.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2))))) (*.f64 (cos.f64 (/.f64 im 2)) (sin.f64 (/.f64 im 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 (*.f64 (cos.f64 (/.f64 im 2)) (sin.f64 (/.f64 im 2))) (/.f64 (*.f64 (sin.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))) -2)) (-.f64 (/.f64 (*.f64 (sin.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))) -2) (*.f64 (cos.f64 (/.f64 im 2)) (sin.f64 (/.f64 im 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 (*.f64 (cos.f64 (/.f64 im 2)) (sin.f64 (/.f64 im 2))) (neg.f64 (*.f64 (sin.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))))) (-.f64 0 (*.f64 (cos.f64 (/.f64 im 2)) (sin.f64 (/.f64 im 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 (/.f64 (*.f64 (sin.f64 im) (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re 1))) 2) (neg.f64 (*.f64 (sin.f64 0) (cos.f64 im)))) (neg.f64 (/.f64 (*.f64 (sin.f64 im) (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re 1))) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 (/.f64 (*.f64 (sin.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))) 2) (-.f64 0 (*.f64 (sin.f64 0) (*.f64 (cos.f64 im) 2)))) (-.f64 (neg.f64 (sin.f64 im)) (/.f64 (*.f64 (sin.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 (/.f64 (*.f64 (sin.f64 im) (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re 1))) 2) (*.f64 (sin.f64 0) (sin.f64 (-.f64 (*.f64 1/2 (PI.f64)) im)))) (neg.f64 (/.f64 (*.f64 (sin.f64 im) (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re 1))) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 (*.f64 (sin.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))) (-.f64 (/.f64 (*.f64 (sin.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))) 2) (sin.f64 im))) (-.f64 (/.f64 (*.f64 (sin.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))) 2) (*.f64 (sin.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sin.f64 im) (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re 1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sin.f64 im) (+.f64 (+.f64 re (*.f64 1/2 (pow.f64 re 2))) (cos.f64 0)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sin.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 (sin.f64 im) (-.f64 (+.f64 re (+.f64 re (pow.f64 re 2))) (+.f64 (+.f64 re (*.f64 1/2 (pow.f64 re 2))) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 (sin.f64 im) (+.f64 (+.f64 re (+.f64 re (pow.f64 re 2))) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sin.f64 im) (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re 1))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (*.f64 (sin.f64 im) (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re 1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (sin.f64 im)) (-.f64 (-.f64 (*.f64 (pow.f64 re 2) -1/2) re) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sin.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 (sin.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 (sin.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 (sin.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 (sin.f64 im) (+.f64 (+.f64 re (+.f64 re (pow.f64 re 2))) 2)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sin.f64 im) 1/2) (+.f64 (*.f64 (cos.f64 0) 2) (+.f64 re (+.f64 re (pow.f64 re 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sin.f64 im) 1/2) (+.f64 (+.f64 re (+.f64 re (pow.f64 re 2))) (*.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 (sin.f64 im) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sin.f64 im) (-.f64 -1 (+.f64 re (*.f64 1/2 (pow.f64 re 2))))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re 1)) (sin.f64 im))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sin.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 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re 1)) (*.f64 (sin.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 (sin.f64 im)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (+.f64 re (*.f64 1/2 (pow.f64 re 2))) (cos.f64 0)) (sin.f64 im))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (*.f64 (sin.f64 im) 4)) (/.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re 1)) 8))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (*.f64 (sin.f64 im) (+.f64 (+.f64 re (+.f64 re (pow.f64 re 2))) 2)) 4) 1/8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sin.f64 im) (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re 1))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sin.f64 im) (+.f64 (+.f64 re (+.f64 re (pow.f64 re 2))) 2)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sin.f64 im) (-.f64 -1 (+.f64 re (*.f64 1/2 (pow.f64 re 2))))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re 1)) (*.f64 (sin.f64 im) 4)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 (sin.f64 im) (+.f64 (+.f64 re (+.f64 re (pow.f64 re 2))) 2)) 4) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 (sin.f64 im) 4) (neg.f64 (*.f64 (sin.f64 im) (+.f64 (*.f64 2 (pow.f64 re 2)) (*.f64 re 4))))) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 (sin.f64 im) (+.f64 (*.f64 2 (pow.f64 re 2)) (*.f64 re 4))) (neg.f64 (*.f64 (sin.f64 im) 4))) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 (sin.f64 im) (+.f64 (*.f64 2 (pow.f64 re 2)) (*.f64 re 4))) (*.f64 2 (*.f64 (sin.f64 im) -2))) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 (sin.f64 im) (+.f64 (+.f64 re (+.f64 re (pow.f64 re 2))) 2)) (-.f64 (cos.f64 (+.f64 im (/.f64 (PI.f64) -2))) (sin.f64 im))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 (sin.f64 im) (+.f64 (*.f64 2 (pow.f64 re 2)) (*.f64 re 4))) (*.f64 (*.f64 (sin.f64 im) 2) (+.f64 (+.f64 re (*.f64 1/2 (pow.f64 re 2))) -1))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (sin.f64 im) (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re 1))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (*.f64 (sin.f64 im) (-.f64 -1 (+.f64 re (*.f64 1/2 (pow.f64 re 2))))))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (pow.f64 re 2) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 1/2 (pow.f64 re 2)) (*.f64 1/2 (pow.f64 re 2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 1/2 (pow.f64 re 2)) (neg.f64 (*.f64 (pow.f64 re 2) -1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (pow.f64 re 2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (pow.f64 re 2) 4) (+.f64 (*.f64 1/2 (pow.f64 re 2)) (/.f64 (pow.f64 re 2) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (pow.f64 re 2) 4) (*.f64 3 (/.f64 (pow.f64 re 2) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (/.f64 (pow.f64 re 2) 4)) (/.f64 (pow.f64 re 2) 4))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (neg.f64 (*.f64 (pow.f64 re 2) -1/2)) (*.f64 1/2 (pow.f64 re 2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 3 (/.f64 (pow.f64 re 2) 4)) (/.f64 (pow.f64 re 2) 4))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (pow.f64 re 2) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 1/2 (pow.f64 re 2)) (*.f64 (pow.f64 re 2) -1/2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 1/2 (pow.f64 re 2)) (-.f64 (/.f64 (pow.f64 re 2) -4) (/.f64 (pow.f64 re 2) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (neg.f64 (pow.f64 re 2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (pow.f64 re 2) 4) (*.f64 -3 (/.f64 (pow.f64 re 2) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (pow.f64 re 2) 4) (+.f64 (/.f64 (pow.f64 re 2) -4) (*.f64 (pow.f64 re 2) -1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (/.f64 (pow.f64 re 2) 4)) (/.f64 (pow.f64 re 2) -4))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 3 (/.f64 (pow.f64 re 2) 4)) (/.f64 (pow.f64 re 2) -4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 2 (pow.f64 re 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 1/2 (pow.f64 re 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 re 2) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 1/2 (pow.f64 re 2)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (pow.f64 re 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 re 2) -1/2) -2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (pow.f64 re 2)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -2 (*.f64 (pow.f64 re 2) -1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (pow.f64 re 2) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (pow.f64 (+.f64 re re) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (pow.f64 re 2)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 re 2) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (*.f64 2 (pow.f64 re 2))) -1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 1/2 (*.f64 1/2 (pow.f64 re 2))) 4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/8 (*.f64 2 (*.f64 (pow.f64 re 2) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (*.f64 (pow.f64 re 2) 4)) 1/8)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (+.f64 re re) 2) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (pow.f64 re 2) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (pow.f64 re 2)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 re 2) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (pow.f64 re 2) 4)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (neg.f64 (pow.f64 re 2)))))))

simplify221.0ms (2.8%)

Algorithm
egg-herbie
Rules
1250×rational_best-simplify-48
1200×rational_best-simplify-47
1120×rational_best-simplify-52
1104×rational_best-simplify-51
812×rational_best-simplify-1
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
046410288
111419920
229839528
Stop Event
node limit
Counts
250 → 350
Calls
Call 1
Inputs
(*.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) re) im)
(+.f64 (*.f64 -1/6 (*.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) re) (pow.f64 im 3))) (*.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) re) im))
(+.f64 (*.f64 -1/6 (*.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) re) (pow.f64 im 3))) (+.f64 (*.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) re) im) (*.f64 1/120 (*.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) re) (pow.f64 im 5)))))
(+.f64 (*.f64 -1/6 (*.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) re) (pow.f64 im 3))) (+.f64 (*.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) re) im) (+.f64 (*.f64 -1/5040 (*.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) re) (pow.f64 im 7))) (*.f64 1/120 (*.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) re) (pow.f64 im 5))))))
(*.f64 (sin.f64 im) (+.f64 (*.f64 1/2 (pow.f64 re 2)) re))
(*.f64 (sin.f64 im) (+.f64 (*.f64 1/2 (pow.f64 re 2)) re))
(*.f64 (sin.f64 im) (+.f64 (*.f64 1/2 (pow.f64 re 2)) re))
(*.f64 (sin.f64 im) (+.f64 (*.f64 1/2 (pow.f64 re 2)) re))
(*.f64 (sin.f64 im) (+.f64 (*.f64 1/2 (pow.f64 re 2)) re))
(*.f64 (sin.f64 im) (+.f64 (*.f64 1/2 (pow.f64 re 2)) re))
(*.f64 (sin.f64 im) (+.f64 (*.f64 1/2 (pow.f64 re 2)) re))
(*.f64 (sin.f64 im) (+.f64 (*.f64 1/2 (pow.f64 re 2)) re))
(*.f64 (sin.f64 im) re)
(+.f64 (*.f64 (sin.f64 im) re) (*.f64 1/2 (*.f64 (sin.f64 im) (pow.f64 re 2))))
(+.f64 (*.f64 (sin.f64 im) re) (*.f64 1/2 (*.f64 (sin.f64 im) (pow.f64 re 2))))
(+.f64 (*.f64 (sin.f64 im) re) (*.f64 1/2 (*.f64 (sin.f64 im) (pow.f64 re 2))))
(*.f64 1/2 (*.f64 (sin.f64 im) (pow.f64 re 2)))
(+.f64 (*.f64 (sin.f64 im) re) (*.f64 1/2 (*.f64 (sin.f64 im) (pow.f64 re 2))))
(+.f64 (*.f64 (sin.f64 im) re) (*.f64 1/2 (*.f64 (sin.f64 im) (pow.f64 re 2))))
(+.f64 (*.f64 (sin.f64 im) re) (*.f64 1/2 (*.f64 (sin.f64 im) (pow.f64 re 2))))
(*.f64 1/2 (*.f64 (sin.f64 im) (pow.f64 re 2)))
(+.f64 (*.f64 (sin.f64 im) re) (*.f64 1/2 (*.f64 (sin.f64 im) (pow.f64 re 2))))
(+.f64 (*.f64 (sin.f64 im) re) (*.f64 1/2 (*.f64 (sin.f64 im) (pow.f64 re 2))))
(+.f64 (*.f64 (sin.f64 im) re) (*.f64 1/2 (*.f64 (sin.f64 im) (pow.f64 re 2))))
re
(+.f64 (*.f64 1/2 (pow.f64 re 2)) re)
(+.f64 (*.f64 1/2 (pow.f64 re 2)) re)
(+.f64 (*.f64 1/2 (pow.f64 re 2)) 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)) re)
(+.f64 (*.f64 1/2 (pow.f64 re 2)) 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)) re)
(+.f64 (*.f64 1/2 (pow.f64 re 2)) re)
(*.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 1 re)) im)
(+.f64 (*.f64 (-.f64 (*.f64 -1/6 (+.f64 (*.f64 1/2 (pow.f64 re 2)) re)) 1/6) (pow.f64 im 3)) (*.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 1 re)) im))
(+.f64 (*.f64 (+.f64 1/120 (*.f64 1/120 (+.f64 (*.f64 1/2 (pow.f64 re 2)) re))) (pow.f64 im 5)) (+.f64 (*.f64 (-.f64 (*.f64 -1/6 (+.f64 (*.f64 1/2 (pow.f64 re 2)) re)) 1/6) (pow.f64 im 3)) (*.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 1 re)) im)))
(+.f64 (*.f64 (+.f64 1/120 (*.f64 1/120 (+.f64 (*.f64 1/2 (pow.f64 re 2)) re))) (pow.f64 im 5)) (+.f64 (*.f64 (-.f64 (*.f64 -1/6 (+.f64 (*.f64 1/2 (pow.f64 re 2)) re)) 1/6) (pow.f64 im 3)) (+.f64 (*.f64 (-.f64 (*.f64 -1/5040 (+.f64 (*.f64 1/2 (pow.f64 re 2)) re)) 1/5040) (pow.f64 im 7)) (*.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 1 re)) im))))
(+.f64 (sin.f64 im) (*.f64 (sin.f64 im) (+.f64 (*.f64 1/2 (pow.f64 re 2)) re)))
(+.f64 (sin.f64 im) (*.f64 (sin.f64 im) (+.f64 (*.f64 1/2 (pow.f64 re 2)) re)))
(+.f64 (sin.f64 im) (*.f64 (sin.f64 im) (+.f64 (*.f64 1/2 (pow.f64 re 2)) re)))
(+.f64 (sin.f64 im) (*.f64 (sin.f64 im) (+.f64 (*.f64 1/2 (pow.f64 re 2)) re)))
(+.f64 (sin.f64 im) (*.f64 (sin.f64 im) (+.f64 (*.f64 1/2 (pow.f64 re 2)) re)))
(+.f64 (sin.f64 im) (*.f64 (sin.f64 im) (+.f64 (*.f64 1/2 (pow.f64 re 2)) re)))
(+.f64 (sin.f64 im) (*.f64 (sin.f64 im) (+.f64 (*.f64 1/2 (pow.f64 re 2)) re)))
(+.f64 (sin.f64 im) (*.f64 (sin.f64 im) (+.f64 (*.f64 1/2 (pow.f64 re 2)) re)))
(sin.f64 im)
(+.f64 (sin.f64 im) (*.f64 (sin.f64 im) re))
(+.f64 (sin.f64 im) (+.f64 (*.f64 (sin.f64 im) re) (*.f64 1/2 (*.f64 (sin.f64 im) (pow.f64 re 2)))))
(+.f64 (sin.f64 im) (+.f64 (*.f64 (sin.f64 im) re) (*.f64 1/2 (*.f64 (sin.f64 im) (pow.f64 re 2)))))
(*.f64 1/2 (*.f64 (sin.f64 im) (pow.f64 re 2)))
(+.f64 (*.f64 (sin.f64 im) re) (*.f64 1/2 (*.f64 (sin.f64 im) (pow.f64 re 2))))
(+.f64 (sin.f64 im) (+.f64 (*.f64 (sin.f64 im) re) (*.f64 1/2 (*.f64 (sin.f64 im) (pow.f64 re 2)))))
(+.f64 (sin.f64 im) (+.f64 (*.f64 (sin.f64 im) re) (*.f64 1/2 (*.f64 (sin.f64 im) (pow.f64 re 2)))))
(*.f64 1/2 (*.f64 (sin.f64 im) (pow.f64 re 2)))
(+.f64 (*.f64 (sin.f64 im) re) (*.f64 1/2 (*.f64 (sin.f64 im) (pow.f64 re 2))))
(+.f64 (sin.f64 im) (+.f64 (*.f64 (sin.f64 im) re) (*.f64 1/2 (*.f64 (sin.f64 im) (pow.f64 re 2)))))
(+.f64 (sin.f64 im) (+.f64 (*.f64 (sin.f64 im) re) (*.f64 1/2 (*.f64 (sin.f64 im) (pow.f64 re 2)))))
(+.f64 (*.f64 (sin.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))) 0)
(+.f64 0 (*.f64 (sin.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))))
(+.f64 (/.f64 (*.f64 (sin.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))) 2) (/.f64 (*.f64 (sin.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))) 2))
(-.f64 (*.f64 (sin.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))) 0)
(-.f64 (/.f64 (*.f64 (sin.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))) 2) (/.f64 (*.f64 (sin.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))) -2))
(/.f64 (*.f64 (sin.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))) 1)
(/.f64 (*.f64 (sin.f64 im) (+.f64 re (+.f64 re (pow.f64 re 2)))) 2)
(/.f64 (*.f64 (sin.f64 im) (+.f64 (*.f64 2 (pow.f64 re 2)) (*.f64 re 4))) 4)
(/.f64 (*.f64 (+.f64 re (+.f64 re (pow.f64 re 2))) (*.f64 (sin.f64 im) 4)) 8)
(/.f64 (*.f64 (*.f64 (sin.f64 im) 4) (+.f64 (*.f64 2 (pow.f64 re 2)) (*.f64 re 4))) 16)
(/.f64 (*.f64 (-.f64 (*.f64 (pow.f64 re 2) -1/2) re) (*.f64 (sin.f64 im) 2)) -2)
(/.f64 (*.f64 (-.f64 (*.f64 (pow.f64 re 2) -1/2) re) (*.f64 (sin.f64 im) 4)) -4)
(/.f64 (*.f64 (-.f64 (*.f64 (pow.f64 re 2) -1/2) re) (*.f64 2 (*.f64 (sin.f64 im) 4))) -8)
(/.f64 (*.f64 (+.f64 re (*.f64 1/2 (pow.f64 re 2))) (*.f64 (sin.f64 im) -2)) -2)
(/.f64 (*.f64 (+.f64 re (*.f64 1/2 (pow.f64 re 2))) (neg.f64 (*.f64 (sin.f64 im) 4))) -4)
(/.f64 (*.f64 (+.f64 re (*.f64 1/2 (pow.f64 re 2))) (*.f64 2 (*.f64 (sin.f64 im) -2))) -4)
(/.f64 (*.f64 (-.f64 (*.f64 (pow.f64 re 2) -1/2) re) (sin.f64 im)) -1)
(/.f64 (*.f64 (+.f64 re (*.f64 1/2 (pow.f64 re 2))) (neg.f64 (sin.f64 im))) -1)
(pow.f64 (*.f64 (sin.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))) 1)
(-.f64 re (*.f64 (pow.f64 re 2) -1/2))
(-.f64 (pow.f64 re 2) (-.f64 (*.f64 1/2 (pow.f64 re 2)) re))
(-.f64 (*.f64 1/2 (pow.f64 re 2)) (neg.f64 re))
(-.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 (*.f64 (pow.f64 re 2) -1/2) (-.f64 (*.f64 1/2 (pow.f64 re 2)) re)))
(-.f64 (+.f64 re (*.f64 1/2 (pow.f64 re 2))) 0)
(-.f64 0 (-.f64 (*.f64 (pow.f64 re 2) -1/2) re))
(-.f64 (+.f64 re re) (+.f64 re (*.f64 (pow.f64 re 2) -1/2)))
(-.f64 (+.f64 (/.f64 re 2) (/.f64 (pow.f64 re 2) 4)) (/.f64 (+.f64 re (*.f64 1/2 (pow.f64 re 2))) -2))
(-.f64 (+.f64 (/.f64 re 2) (/.f64 (pow.f64 re 2) 4)) (-.f64 (/.f64 (pow.f64 re 2) -4) (/.f64 re 2)))
(-.f64 (+.f64 (/.f64 re 2) (/.f64 (pow.f64 re 2) 4)) (-.f64 (/.f64 re -2) (/.f64 (pow.f64 re 2) 4)))
(-.f64 (/.f64 re 2) (/.f64 (-.f64 (neg.f64 (pow.f64 re 2)) re) 2))
(-.f64 (/.f64 re 2) (+.f64 (/.f64 re -2) (*.f64 (pow.f64 re 2) -1/2)))
(-.f64 (/.f64 (pow.f64 re 2) 4) (-.f64 (neg.f64 re) (/.f64 (pow.f64 re 2) 4)))
(-.f64 (/.f64 (pow.f64 re 2) 4) (+.f64 (/.f64 (pow.f64 re 2) -4) (neg.f64 re)))
(-.f64 (+.f64 re (/.f64 (pow.f64 re 2) 4)) (/.f64 (pow.f64 re 2) -4))
(-.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (/.f64 re 2)) (/.f64 re -2))
(-.f64 (-.f64 (*.f64 1/2 (pow.f64 re 2)) (-.f64 (*.f64 1/2 (pow.f64 re 2)) re)) (*.f64 (pow.f64 re 2) -1/2))
(-.f64 (/.f64 (-.f64 re (neg.f64 (pow.f64 re 2))) 2) (/.f64 re -2))
(-.f64 (-.f64 (/.f64 (pow.f64 re 2) 4) (neg.f64 re)) (/.f64 (pow.f64 re 2) -4))
(-.f64 (*.f64 3 (/.f64 (pow.f64 re 2) 4)) (-.f64 (-.f64 (*.f64 1/2 (pow.f64 re 2)) re) (/.f64 (pow.f64 re 2) 4)))
(-.f64 (-.f64 re re) (-.f64 (*.f64 (pow.f64 re 2) -1/2) re))
(-.f64 (-.f64 (*.f64 1/2 (pow.f64 re 2)) (-.f64 (/.f64 (pow.f64 re 2) 4) re)) (-.f64 (/.f64 (pow.f64 re 2) 4) (*.f64 1/2 (pow.f64 re 2))))
(*.f64 1/2 (+.f64 re (+.f64 re (pow.f64 re 2))))
(*.f64 2 (+.f64 (/.f64 re 2) (/.f64 (pow.f64 re 2) 4)))
(*.f64 (+.f64 re (*.f64 1/2 (pow.f64 re 2))) 1)
(*.f64 1 (+.f64 re (*.f64 1/2 (pow.f64 re 2))))
(*.f64 (+.f64 re (+.f64 re (pow.f64 re 2))) 1/2)
(*.f64 (+.f64 (/.f64 re 2) (/.f64 (pow.f64 re 2) 4)) 2)
(*.f64 1/4 (+.f64 (*.f64 2 (pow.f64 re 2)) (*.f64 re 4)))
(*.f64 (-.f64 (*.f64 (pow.f64 re 2) -1/2) re) -1)
(*.f64 (+.f64 (*.f64 2 (pow.f64 re 2)) (*.f64 re 4)) 1/4)
(*.f64 (*.f64 (+.f64 re (+.f64 re (pow.f64 re 2))) 4) 1/8)
(/.f64 (+.f64 re (*.f64 1/2 (pow.f64 re 2))) 1)
(/.f64 (+.f64 re (+.f64 re (pow.f64 re 2))) 2)
(/.f64 (-.f64 (*.f64 (pow.f64 re 2) -1/2) re) -1)
(/.f64 (+.f64 (*.f64 2 (pow.f64 re 2)) (*.f64 re 4)) 4)
(/.f64 (*.f64 (+.f64 re (+.f64 re (pow.f64 re 2))) 4) 8)
(/.f64 (-.f64 (*.f64 re 4) (neg.f64 (*.f64 2 (pow.f64 re 2)))) 4)
(/.f64 (-.f64 (*.f64 2 (pow.f64 re 2)) (+.f64 (pow.f64 re 2) (*.f64 re -2))) 2)
(/.f64 (-.f64 (*.f64 2 (pow.f64 re 2)) (neg.f64 (*.f64 re 4))) 4)
(/.f64 (-.f64 (*.f64 2 (pow.f64 re 2)) (*.f64 2 (*.f64 re -2))) 4)
(pow.f64 (+.f64 re (*.f64 1/2 (pow.f64 re 2))) 1)
(neg.f64 (-.f64 (*.f64 (pow.f64 re 2) -1/2) re))
(-.f64 (sin.f64 im) (neg.f64 (*.f64 (sin.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2))))))
(-.f64 (sin.f64 im) (-.f64 (neg.f64 (*.f64 (sin.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2))))) (*.f64 (sin.f64 0) (cos.f64 im))))
(-.f64 (sin.f64 im) (+.f64 (neg.f64 (*.f64 (sin.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2))))) (*.f64 (sin.f64 0) (sin.f64 (-.f64 (*.f64 1/2 (PI.f64)) im)))))
(-.f64 (sin.f64 im) (+.f64 (-.f64 0 (*.f64 (sin.f64 0) (*.f64 (cos.f64 im) 2))) (neg.f64 (*.f64 (sin.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))))))
(-.f64 (sin.f64 im) (+.f64 (-.f64 (*.f64 (sin.f64 0) (sin.f64 (-.f64 (*.f64 1/2 (PI.f64)) im))) (*.f64 (sin.f64 0) (cos.f64 im))) (neg.f64 (*.f64 (sin.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))))))
(-.f64 (sin.f64 im) (+.f64 (*.f64 (sin.f64 (-.f64 (*.f64 1/2 (PI.f64)) im)) (*.f64 (sin.f64 0) 2)) (neg.f64 (*.f64 (sin.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))))))
(-.f64 (*.f64 (sin.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))) (neg.f64 (sin.f64 im)))
(-.f64 (*.f64 (sin.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))) (-.f64 (*.f64 (sin.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))) (*.f64 (sin.f64 im) (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re 1)))))
(-.f64 (*.f64 (sin.f64 im) (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re 1))) 0)
(-.f64 (*.f64 (sin.f64 im) (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re 1))) (neg.f64 (*.f64 (sin.f64 0) (cos.f64 im))))
(-.f64 (*.f64 (sin.f64 im) (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re 1))) (*.f64 (sin.f64 0) (sin.f64 (-.f64 (*.f64 1/2 (PI.f64)) im))))
(-.f64 0 (*.f64 (sin.f64 im) (-.f64 -1 (+.f64 re (*.f64 1/2 (pow.f64 re 2))))))
(-.f64 (*.f64 (sin.f64 im) 2) (+.f64 (sin.f64 im) (neg.f64 (*.f64 (sin.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))))))
(-.f64 (*.f64 (sin.f64 im) (+.f64 re (+.f64 re (pow.f64 re 2)))) (*.f64 (sin.f64 im) (+.f64 (+.f64 re (*.f64 1/2 (pow.f64 re 2))) -1)))
(-.f64 (*.f64 (sin.f64 0) (cos.f64 im)) (*.f64 (sin.f64 im) (-.f64 -1 (+.f64 re (*.f64 1/2 (pow.f64 re 2))))))
(-.f64 (+.f64 (*.f64 (sin.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))) (*.f64 (sin.f64 0) (cos.f64 im))) (neg.f64 (sin.f64 im)))
(-.f64 (*.f64 (sin.f64 im) 1/2) (-.f64 (neg.f64 (*.f64 (sin.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2))))) (*.f64 (sin.f64 im) 1/2)))
(-.f64 (*.f64 (sin.f64 im) 1/2) (+.f64 (/.f64 (sin.f64 im) -2) (neg.f64 (*.f64 (sin.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))))))
(-.f64 (/.f64 (*.f64 (sin.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))) 2) (-.f64 (neg.f64 (sin.f64 im)) (/.f64 (*.f64 (sin.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))) 2)))
(-.f64 (/.f64 (*.f64 (sin.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))) 2) (+.f64 (/.f64 (*.f64 (sin.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))) -2) (neg.f64 (sin.f64 im))))
(-.f64 (/.f64 (*.f64 (sin.f64 im) (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re 1))) 2) (/.f64 (*.f64 (sin.f64 im) (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re 1))) -2))
(-.f64 (/.f64 (*.f64 (sin.f64 im) (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re 1))) 2) (-.f64 (/.f64 (sin.f64 im) -2) (/.f64 (*.f64 (sin.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))) 2)))
(-.f64 (/.f64 (*.f64 (sin.f64 im) (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re 1))) 2) (-.f64 (/.f64 (*.f64 (sin.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))) -2) (*.f64 (sin.f64 im) 1/2)))
(-.f64 (*.f64 (sin.f64 0) (cos.f64 (neg.f64 im))) (+.f64 (neg.f64 (*.f64 (sin.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2))))) (*.f64 (cos.f64 0) (sin.f64 (neg.f64 im)))))
(-.f64 (*.f64 (sin.f64 0) (cos.f64 (neg.f64 im))) (+.f64 (+.f64 (neg.f64 (*.f64 (sin.f64 0) (cos.f64 im))) (*.f64 (cos.f64 0) (sin.f64 (neg.f64 im)))) (neg.f64 (*.f64 (sin.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))))))
(-.f64 (*.f64 (sin.f64 0) (cos.f64 (neg.f64 im))) (+.f64 (+.f64 (*.f64 (sin.f64 0) (sin.f64 (-.f64 (*.f64 1/2 (PI.f64)) im))) (*.f64 (cos.f64 0) (sin.f64 (neg.f64 im)))) (neg.f64 (*.f64 (sin.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))))))
(-.f64 (+.f64 (*.f64 (sin.f64 0) (cos.f64 im)) (*.f64 (sin.f64 im) 1/2)) (+.f64 (/.f64 (sin.f64 im) -2) (neg.f64 (*.f64 (sin.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))))))
(-.f64 (+.f64 (sin.f64 im) (/.f64 (*.f64 (sin.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))) 2)) (/.f64 (*.f64 (sin.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))) -2))
(-.f64 (+.f64 (sin.f64 im) (/.f64 (*.f64 (sin.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))) 2)) (-.f64 (neg.f64 (*.f64 (sin.f64 0) (cos.f64 im))) (/.f64 (*.f64 (sin.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))) 2)))
(-.f64 (+.f64 (sin.f64 im) (/.f64 (*.f64 (sin.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))) 2)) (-.f64 (*.f64 (sin.f64 0) (sin.f64 (-.f64 (*.f64 1/2 (PI.f64)) im))) (/.f64 (*.f64 (sin.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))) 2)))
(-.f64 (+.f64 (*.f64 (sin.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))) (*.f64 (sin.f64 im) 1/2)) (/.f64 (sin.f64 im) -2))
(-.f64 (-.f64 (*.f64 (sin.f64 0) (cos.f64 (neg.f64 im))) (neg.f64 (*.f64 (sin.f64 0) (cos.f64 im)))) (+.f64 (neg.f64 (*.f64 (sin.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2))))) (*.f64 (cos.f64 0) (sin.f64 (neg.f64 im)))))
(-.f64 (*.f64 (sin.f64 0) (-.f64 (cos.f64 (neg.f64 im)) (sin.f64 (-.f64 (*.f64 1/2 (PI.f64)) im)))) (+.f64 (neg.f64 (*.f64 (sin.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2))))) (*.f64 (cos.f64 0) (sin.f64 (neg.f64 im)))))
(-.f64 (-.f64 (*.f64 (sin.f64 0) (cos.f64 (neg.f64 im))) (neg.f64 (*.f64 (sin.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))))) (*.f64 (cos.f64 0) (sin.f64 (neg.f64 im))))
(-.f64 (*.f64 (sin.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 (sin.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2))))))
(-.f64 (*.f64 3 (/.f64 (*.f64 (sin.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))) 2)) (-.f64 (*.f64 (sin.f64 im) (+.f64 (+.f64 re (*.f64 1/2 (pow.f64 re 2))) -1)) (/.f64 (*.f64 (sin.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))) 2)))
(-.f64 (-.f64 (*.f64 (sin.f64 im) 1/2) (neg.f64 (*.f64 (sin.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))))) (/.f64 (sin.f64 im) -2))
(-.f64 (-.f64 (/.f64 (*.f64 (sin.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))) 2) (neg.f64 (sin.f64 im))) (/.f64 (*.f64 (sin.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))) -2))
(-.f64 (-.f64 (/.f64 (*.f64 (sin.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))) 2) (neg.f64 (sin.f64 im))) (-.f64 (neg.f64 (*.f64 (sin.f64 0) (cos.f64 im))) (/.f64 (*.f64 (sin.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))) 2)))
(-.f64 (-.f64 (*.f64 (sin.f64 im) 1/2) (neg.f64 (*.f64 (sin.f64 0) (cos.f64 im)))) (-.f64 (neg.f64 (*.f64 (sin.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2))))) (*.f64 (sin.f64 im) 1/2)))
(-.f64 (-.f64 (/.f64 (*.f64 (sin.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))) 2) (neg.f64 (*.f64 (sin.f64 0) (cos.f64 im)))) (-.f64 (neg.f64 (sin.f64 im)) (/.f64 (*.f64 (sin.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))) 2)))
(-.f64 (+.f64 (/.f64 (*.f64 (sin.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))) 2) (*.f64 (sin.f64 0) (cos.f64 (neg.f64 im)))) (-.f64 (*.f64 (cos.f64 0) (sin.f64 (neg.f64 im))) (/.f64 (*.f64 (sin.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))) 2)))
(-.f64 (*.f64 (sin.f64 im) 0) (*.f64 (sin.f64 im) (-.f64 -1 (+.f64 re (*.f64 1/2 (pow.f64 re 2))))))
(-.f64 (*.f64 (cos.f64 (/.f64 im 2)) (sin.f64 (/.f64 im 2))) (-.f64 (neg.f64 (*.f64 (sin.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2))))) (*.f64 (cos.f64 (/.f64 im 2)) (sin.f64 (/.f64 im 2)))))
(-.f64 (-.f64 (*.f64 (cos.f64 (/.f64 im 2)) (sin.f64 (/.f64 im 2))) (neg.f64 (*.f64 (sin.f64 0) (cos.f64 im)))) (-.f64 (neg.f64 (*.f64 (sin.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2))))) (*.f64 (cos.f64 (/.f64 im 2)) (sin.f64 (/.f64 im 2)))))
(-.f64 (-.f64 (*.f64 (sin.f64 im) 1/2) (*.f64 (sin.f64 0) (sin.f64 (-.f64 (*.f64 1/2 (PI.f64)) im)))) (-.f64 (neg.f64 (*.f64 (sin.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2))))) (*.f64 (sin.f64 im) 1/2)))
(-.f64 (-.f64 (*.f64 (cos.f64 (/.f64 im 2)) (sin.f64 (/.f64 im 2))) (*.f64 (sin.f64 0) (sin.f64 (-.f64 (*.f64 1/2 (PI.f64)) im)))) (-.f64 (neg.f64 (*.f64 (sin.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2))))) (*.f64 (cos.f64 (/.f64 im 2)) (sin.f64 (/.f64 im 2)))))
(-.f64 (-.f64 (*.f64 (cos.f64 (/.f64 im 2)) (sin.f64 (/.f64 im 2))) (/.f64 (*.f64 (sin.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))) -2)) (-.f64 (/.f64 (*.f64 (sin.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))) -2) (*.f64 (cos.f64 (/.f64 im 2)) (sin.f64 (/.f64 im 2)))))
(-.f64 (-.f64 (*.f64 (cos.f64 (/.f64 im 2)) (sin.f64 (/.f64 im 2))) (neg.f64 (*.f64 (sin.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))))) (-.f64 0 (*.f64 (cos.f64 (/.f64 im 2)) (sin.f64 (/.f64 im 2)))))
(-.f64 (-.f64 (/.f64 (*.f64 (sin.f64 im) (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re 1))) 2) (neg.f64 (*.f64 (sin.f64 0) (cos.f64 im)))) (neg.f64 (/.f64 (*.f64 (sin.f64 im) (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re 1))) 2)))
(-.f64 (-.f64 (/.f64 (*.f64 (sin.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))) 2) (-.f64 0 (*.f64 (sin.f64 0) (*.f64 (cos.f64 im) 2)))) (-.f64 (neg.f64 (sin.f64 im)) (/.f64 (*.f64 (sin.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))) 2)))
(-.f64 (-.f64 (/.f64 (*.f64 (sin.f64 im) (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re 1))) 2) (*.f64 (sin.f64 0) (sin.f64 (-.f64 (*.f64 1/2 (PI.f64)) im)))) (neg.f64 (/.f64 (*.f64 (sin.f64 im) (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re 1))) 2)))
(-.f64 (-.f64 (*.f64 (sin.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))) (-.f64 (/.f64 (*.f64 (sin.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))) 2) (sin.f64 im))) (-.f64 (/.f64 (*.f64 (sin.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))) 2) (*.f64 (sin.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2))))))
(*.f64 (sin.f64 im) (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re 1)))
(*.f64 (sin.f64 im) (+.f64 (+.f64 re (*.f64 1/2 (pow.f64 re 2))) (cos.f64 0)))
(*.f64 (sin.f64 im) (-.f64 (+.f64 re (*.f64 1/2 (pow.f64 re 2))) (neg.f64 (cos.f64 0))))
(*.f64 (sin.f64 im) (-.f64 (+.f64 re (+.f64 re (pow.f64 re 2))) (+.f64 (+.f64 re (*.f64 1/2 (pow.f64 re 2))) -1)))
(*.f64 1/2 (*.f64 (sin.f64 im) (+.f64 (+.f64 re (+.f64 re (pow.f64 re 2))) 2)))
(*.f64 (*.f64 (sin.f64 im) (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re 1))) 1)
(*.f64 1 (*.f64 (sin.f64 im) (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re 1))))
(*.f64 (neg.f64 (sin.f64 im)) (-.f64 (-.f64 (*.f64 (pow.f64 re 2) -1/2) re) 1))
(*.f64 (*.f64 (sin.f64 im) 2) (/.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re 1)) 2))
(*.f64 (*.f64 (sin.f64 im) 2) (-.f64 (+.f64 (/.f64 re 2) (/.f64 (pow.f64 re 2) 4)) -1/2))
(*.f64 (*.f64 (sin.f64 im) 2) (+.f64 1/2 (+.f64 (/.f64 re 2) (/.f64 (pow.f64 re 2) 4))))
(*.f64 (*.f64 (sin.f64 im) 2) (+.f64 (+.f64 (/.f64 re 2) (/.f64 (pow.f64 re 2) 4)) 1/2))
(*.f64 (*.f64 (sin.f64 im) (+.f64 (+.f64 re (+.f64 re (pow.f64 re 2))) 2)) 1/2)
(*.f64 (*.f64 (sin.f64 im) 1/2) (+.f64 (*.f64 (cos.f64 0) 2) (+.f64 re (+.f64 re (pow.f64 re 2)))))
(*.f64 (*.f64 (sin.f64 im) 1/2) (+.f64 (+.f64 re (+.f64 re (pow.f64 re 2))) (*.f64 (cos.f64 0) 2)))
(*.f64 1/4 (*.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re 1)) (*.f64 (sin.f64 im) 4)))
(*.f64 (*.f64 (sin.f64 im) (-.f64 -1 (+.f64 re (*.f64 1/2 (pow.f64 re 2))))) -1)
(*.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re 1)) (sin.f64 im))
(*.f64 (*.f64 (sin.f64 im) 4) (/.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re 1)) 4))
(*.f64 (*.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re 1)) (*.f64 (sin.f64 im) 4)) 1/4)
(*.f64 (+.f64 -1 (-.f64 (*.f64 (pow.f64 re 2) -1/2) re)) (neg.f64 (sin.f64 im)))
(*.f64 (+.f64 (+.f64 re (*.f64 1/2 (pow.f64 re 2))) (cos.f64 0)) (sin.f64 im))
(*.f64 (*.f64 2 (*.f64 (sin.f64 im) 4)) (/.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re 1)) 8))
(*.f64 (*.f64 (*.f64 (sin.f64 im) (+.f64 (+.f64 re (+.f64 re (pow.f64 re 2))) 2)) 4) 1/8)
(/.f64 (*.f64 (sin.f64 im) (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re 1))) 1)
(/.f64 (*.f64 (sin.f64 im) (+.f64 (+.f64 re (+.f64 re (pow.f64 re 2))) 2)) 2)
(/.f64 (*.f64 (sin.f64 im) (-.f64 -1 (+.f64 re (*.f64 1/2 (pow.f64 re 2))))) -1)
(/.f64 (*.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re 1)) (*.f64 (sin.f64 im) 4)) 4)
(/.f64 (*.f64 (*.f64 (sin.f64 im) (+.f64 (+.f64 re (+.f64 re (pow.f64 re 2))) 2)) 4) 8)
(/.f64 (-.f64 (*.f64 (sin.f64 im) 4) (neg.f64 (*.f64 (sin.f64 im) (+.f64 (*.f64 2 (pow.f64 re 2)) (*.f64 re 4))))) 4)
(/.f64 (-.f64 (*.f64 (sin.f64 im) (+.f64 (*.f64 2 (pow.f64 re 2)) (*.f64 re 4))) (neg.f64 (*.f64 (sin.f64 im) 4))) 4)
(/.f64 (-.f64 (*.f64 (sin.f64 im) (+.f64 (*.f64 2 (pow.f64 re 2)) (*.f64 re 4))) (*.f64 2 (*.f64 (sin.f64 im) -2))) 4)
(/.f64 (-.f64 (*.f64 (sin.f64 im) (+.f64 (+.f64 re (+.f64 re (pow.f64 re 2))) 2)) (-.f64 (cos.f64 (+.f64 im (/.f64 (PI.f64) -2))) (sin.f64 im))) 2)
(/.f64 (-.f64 (*.f64 (sin.f64 im) (+.f64 (*.f64 2 (pow.f64 re 2)) (*.f64 re 4))) (*.f64 (*.f64 (sin.f64 im) 2) (+.f64 (+.f64 re (*.f64 1/2 (pow.f64 re 2))) -1))) 2)
(pow.f64 (*.f64 (sin.f64 im) (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re 1))) 1)
(neg.f64 (*.f64 (sin.f64 im) (-.f64 -1 (+.f64 re (*.f64 1/2 (pow.f64 re 2))))))
(+.f64 (pow.f64 re 2) 0)
(+.f64 (*.f64 1/2 (pow.f64 re 2)) (*.f64 1/2 (pow.f64 re 2)))
(+.f64 (*.f64 1/2 (pow.f64 re 2)) (neg.f64 (*.f64 (pow.f64 re 2) -1/2)))
(+.f64 0 (pow.f64 re 2))
(+.f64 (/.f64 (pow.f64 re 2) 4) (+.f64 (*.f64 1/2 (pow.f64 re 2)) (/.f64 (pow.f64 re 2) 4)))
(+.f64 (/.f64 (pow.f64 re 2) 4) (*.f64 3 (/.f64 (pow.f64 re 2) 4)))
(+.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (/.f64 (pow.f64 re 2) 4)) (/.f64 (pow.f64 re 2) 4))
(+.f64 (neg.f64 (*.f64 (pow.f64 re 2) -1/2)) (*.f64 1/2 (pow.f64 re 2)))
(+.f64 (*.f64 3 (/.f64 (pow.f64 re 2) 4)) (/.f64 (pow.f64 re 2) 4))
(-.f64 (pow.f64 re 2) 0)
(-.f64 (*.f64 1/2 (pow.f64 re 2)) (*.f64 (pow.f64 re 2) -1/2))
(-.f64 (*.f64 1/2 (pow.f64 re 2)) (-.f64 (/.f64 (pow.f64 re 2) -4) (/.f64 (pow.f64 re 2) 4)))
(-.f64 0 (neg.f64 (pow.f64 re 2)))
(-.f64 (/.f64 (pow.f64 re 2) 4) (*.f64 -3 (/.f64 (pow.f64 re 2) 4)))
(-.f64 (/.f64 (pow.f64 re 2) 4) (+.f64 (/.f64 (pow.f64 re 2) -4) (*.f64 (pow.f64 re 2) -1/2)))
(-.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (/.f64 (pow.f64 re 2) 4)) (/.f64 (pow.f64 re 2) -4))
(-.f64 (*.f64 3 (/.f64 (pow.f64 re 2) 4)) (/.f64 (pow.f64 re 2) -4))
(*.f64 1/2 (*.f64 2 (pow.f64 re 2)))
(*.f64 2 (*.f64 1/2 (pow.f64 re 2)))
(*.f64 (pow.f64 re 2) 1)
(*.f64 (*.f64 1/2 (pow.f64 re 2)) 2)
(*.f64 1 (pow.f64 re 2))
(*.f64 (*.f64 (pow.f64 re 2) -1/2) -2)
(*.f64 (*.f64 2 (pow.f64 re 2)) 1/2)
(*.f64 -2 (*.f64 (pow.f64 re 2) -1/2))
(*.f64 1/4 (*.f64 (pow.f64 re 2) 4))
(*.f64 1/4 (pow.f64 (+.f64 re re) 2))
(*.f64 (neg.f64 (pow.f64 re 2)) -1)
(*.f64 (*.f64 (pow.f64 re 2) 4) 1/4)
(*.f64 (neg.f64 (*.f64 2 (pow.f64 re 2))) -1/2)
(*.f64 (*.f64 1/2 (*.f64 1/2 (pow.f64 re 2))) 4)
(*.f64 1/8 (*.f64 2 (*.f64 (pow.f64 re 2) 4)))
(*.f64 (*.f64 2 (*.f64 (pow.f64 re 2) 4)) 1/8)
(*.f64 (pow.f64 (+.f64 re re) 2) 1/4)
(/.f64 (pow.f64 re 2) 1)
(/.f64 (*.f64 2 (pow.f64 re 2)) 2)
(/.f64 (*.f64 (pow.f64 re 2) 4) 4)
(/.f64 (*.f64 2 (*.f64 (pow.f64 re 2) 4)) 8)
(neg.f64 (neg.f64 (pow.f64 re 2)))
Outputs
(*.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) re) im)
(*.f64 im (+.f64 re (*.f64 1/2 (pow.f64 re 2))))
(+.f64 (*.f64 -1/6 (*.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) re) (pow.f64 im 3))) (*.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) re) im))
(+.f64 (*.f64 im (+.f64 re (*.f64 1/2 (pow.f64 re 2)))) (*.f64 -1/6 (*.f64 (pow.f64 im 3) (+.f64 re (*.f64 1/2 (pow.f64 re 2))))))
(+.f64 (*.f64 im (+.f64 re (*.f64 1/2 (pow.f64 re 2)))) (*.f64 (pow.f64 im 3) (*.f64 (+.f64 (pow.f64 re 2) (+.f64 re re)) -1/12)))
(+.f64 (*.f64 -1/6 (*.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) re) (pow.f64 im 3))) (+.f64 (*.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) re) im) (*.f64 1/120 (*.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) re) (pow.f64 im 5)))))
(+.f64 (*.f64 1/120 (*.f64 (pow.f64 im 5) (+.f64 re (*.f64 1/2 (pow.f64 re 2))))) (+.f64 (*.f64 im (+.f64 re (*.f64 1/2 (pow.f64 re 2)))) (*.f64 -1/6 (*.f64 (pow.f64 im 3) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))))))
(+.f64 (*.f64 im (+.f64 re (*.f64 1/2 (pow.f64 re 2)))) (+.f64 (*.f64 (pow.f64 im 3) (*.f64 (+.f64 (pow.f64 re 2) (+.f64 re re)) -1/12)) (*.f64 (pow.f64 im 5) (*.f64 (+.f64 (pow.f64 re 2) (+.f64 re re)) 1/240))))
(+.f64 (*.f64 im (+.f64 re (*.f64 1/2 (pow.f64 re 2)))) (+.f64 (*.f64 -1/6 (*.f64 (pow.f64 im 3) (+.f64 re (*.f64 1/2 (pow.f64 re 2))))) (*.f64 1/120 (*.f64 (pow.f64 im 5) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))))))
(+.f64 (*.f64 -1/6 (*.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) re) (pow.f64 im 3))) (+.f64 (*.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) re) im) (+.f64 (*.f64 -1/5040 (*.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) re) (pow.f64 im 7))) (*.f64 1/120 (*.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) re) (pow.f64 im 5))))))
(+.f64 (+.f64 (*.f64 1/120 (*.f64 (pow.f64 im 5) (+.f64 re (*.f64 1/2 (pow.f64 re 2))))) (*.f64 -1/5040 (*.f64 (pow.f64 im 7) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))))) (+.f64 (*.f64 im (+.f64 re (*.f64 1/2 (pow.f64 re 2)))) (*.f64 -1/6 (*.f64 (pow.f64 im 3) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))))))
(+.f64 (*.f64 im (+.f64 re (*.f64 1/2 (pow.f64 re 2)))) (+.f64 (+.f64 (*.f64 (pow.f64 im 5) (*.f64 (+.f64 (pow.f64 re 2) (+.f64 re re)) 1/240)) (*.f64 (pow.f64 im 7) (*.f64 (+.f64 (pow.f64 re 2) (+.f64 re re)) -1/10080))) (*.f64 (pow.f64 im 3) (*.f64 (+.f64 (pow.f64 re 2) (+.f64 re re)) -1/12))))
(+.f64 (*.f64 im (+.f64 re (*.f64 1/2 (pow.f64 re 2)))) (+.f64 (*.f64 -1/6 (*.f64 (pow.f64 im 3) (+.f64 re (*.f64 1/2 (pow.f64 re 2))))) (+.f64 (*.f64 1/120 (*.f64 (pow.f64 im 5) (+.f64 re (*.f64 1/2 (pow.f64 re 2))))) (*.f64 (pow.f64 im 7) (*.f64 -1/5040 (+.f64 re (*.f64 1/2 (pow.f64 re 2))))))))
(*.f64 (sin.f64 im) (+.f64 (*.f64 1/2 (pow.f64 re 2)) re))
(*.f64 (sin.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2))))
(*.f64 (sin.f64 im) (+.f64 (*.f64 1/2 (pow.f64 re 2)) re))
(*.f64 (sin.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2))))
(*.f64 (sin.f64 im) (+.f64 (*.f64 1/2 (pow.f64 re 2)) re))
(*.f64 (sin.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2))))
(*.f64 (sin.f64 im) (+.f64 (*.f64 1/2 (pow.f64 re 2)) re))
(*.f64 (sin.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2))))
(*.f64 (sin.f64 im) (+.f64 (*.f64 1/2 (pow.f64 re 2)) re))
(*.f64 (sin.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2))))
(*.f64 (sin.f64 im) (+.f64 (*.f64 1/2 (pow.f64 re 2)) re))
(*.f64 (sin.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2))))
(*.f64 (sin.f64 im) (+.f64 (*.f64 1/2 (pow.f64 re 2)) re))
(*.f64 (sin.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2))))
(*.f64 (sin.f64 im) (+.f64 (*.f64 1/2 (pow.f64 re 2)) re))
(*.f64 (sin.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2))))
(*.f64 (sin.f64 im) re)
(*.f64 re (sin.f64 im))
(+.f64 (*.f64 (sin.f64 im) re) (*.f64 1/2 (*.f64 (sin.f64 im) (pow.f64 re 2))))
(+.f64 (*.f64 re (sin.f64 im)) (*.f64 1/2 (*.f64 (pow.f64 re 2) (sin.f64 im))))
(+.f64 (*.f64 re (sin.f64 im)) (*.f64 (pow.f64 re 2) (*.f64 1/2 (sin.f64 im))))
(+.f64 (*.f64 (sin.f64 im) re) (*.f64 1/2 (*.f64 (sin.f64 im) (pow.f64 re 2))))
(+.f64 (*.f64 re (sin.f64 im)) (*.f64 1/2 (*.f64 (pow.f64 re 2) (sin.f64 im))))
(+.f64 (*.f64 re (sin.f64 im)) (*.f64 (pow.f64 re 2) (*.f64 1/2 (sin.f64 im))))
(+.f64 (*.f64 (sin.f64 im) re) (*.f64 1/2 (*.f64 (sin.f64 im) (pow.f64 re 2))))
(+.f64 (*.f64 re (sin.f64 im)) (*.f64 1/2 (*.f64 (pow.f64 re 2) (sin.f64 im))))
(+.f64 (*.f64 re (sin.f64 im)) (*.f64 (pow.f64 re 2) (*.f64 1/2 (sin.f64 im))))
(*.f64 1/2 (*.f64 (sin.f64 im) (pow.f64 re 2)))
(*.f64 1/2 (*.f64 (pow.f64 re 2) (sin.f64 im)))
(*.f64 (pow.f64 re 2) (*.f64 1/2 (sin.f64 im)))
(+.f64 (*.f64 (sin.f64 im) re) (*.f64 1/2 (*.f64 (sin.f64 im) (pow.f64 re 2))))
(+.f64 (*.f64 re (sin.f64 im)) (*.f64 1/2 (*.f64 (pow.f64 re 2) (sin.f64 im))))
(+.f64 (*.f64 re (sin.f64 im)) (*.f64 (pow.f64 re 2) (*.f64 1/2 (sin.f64 im))))
(+.f64 (*.f64 (sin.f64 im) re) (*.f64 1/2 (*.f64 (sin.f64 im) (pow.f64 re 2))))
(+.f64 (*.f64 re (sin.f64 im)) (*.f64 1/2 (*.f64 (pow.f64 re 2) (sin.f64 im))))
(+.f64 (*.f64 re (sin.f64 im)) (*.f64 (pow.f64 re 2) (*.f64 1/2 (sin.f64 im))))
(+.f64 (*.f64 (sin.f64 im) re) (*.f64 1/2 (*.f64 (sin.f64 im) (pow.f64 re 2))))
(+.f64 (*.f64 re (sin.f64 im)) (*.f64 1/2 (*.f64 (pow.f64 re 2) (sin.f64 im))))
(+.f64 (*.f64 re (sin.f64 im)) (*.f64 (pow.f64 re 2) (*.f64 1/2 (sin.f64 im))))
(*.f64 1/2 (*.f64 (sin.f64 im) (pow.f64 re 2)))
(*.f64 1/2 (*.f64 (pow.f64 re 2) (sin.f64 im)))
(*.f64 (pow.f64 re 2) (*.f64 1/2 (sin.f64 im)))
(+.f64 (*.f64 (sin.f64 im) re) (*.f64 1/2 (*.f64 (sin.f64 im) (pow.f64 re 2))))
(+.f64 (*.f64 re (sin.f64 im)) (*.f64 1/2 (*.f64 (pow.f64 re 2) (sin.f64 im))))
(+.f64 (*.f64 re (sin.f64 im)) (*.f64 (pow.f64 re 2) (*.f64 1/2 (sin.f64 im))))
(+.f64 (*.f64 (sin.f64 im) re) (*.f64 1/2 (*.f64 (sin.f64 im) (pow.f64 re 2))))
(+.f64 (*.f64 re (sin.f64 im)) (*.f64 1/2 (*.f64 (pow.f64 re 2) (sin.f64 im))))
(+.f64 (*.f64 re (sin.f64 im)) (*.f64 (pow.f64 re 2) (*.f64 1/2 (sin.f64 im))))
(+.f64 (*.f64 (sin.f64 im) re) (*.f64 1/2 (*.f64 (sin.f64 im) (pow.f64 re 2))))
(+.f64 (*.f64 re (sin.f64 im)) (*.f64 1/2 (*.f64 (pow.f64 re 2) (sin.f64 im))))
(+.f64 (*.f64 re (sin.f64 im)) (*.f64 (pow.f64 re 2) (*.f64 1/2 (sin.f64 im))))
re
(+.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)) re)
(+.f64 re (*.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 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 (*.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)) re)
(+.f64 re (*.f64 1/2 (pow.f64 re 2)))
(*.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 (*.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)) re)
(+.f64 re (*.f64 1/2 (pow.f64 re 2)))
(*.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 1 re)) im)
(*.f64 im (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re 1)))
(*.f64 im (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) 1)))
(+.f64 (*.f64 (-.f64 (*.f64 -1/6 (+.f64 (*.f64 1/2 (pow.f64 re 2)) re)) 1/6) (pow.f64 im 3)) (*.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 1 re)) im))
(+.f64 (*.f64 im (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re 1))) (*.f64 (pow.f64 im 3) (-.f64 (*.f64 -1/6 (+.f64 re (*.f64 1/2 (pow.f64 re 2)))) 1/6)))
(+.f64 (*.f64 im (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) 1))) (*.f64 (pow.f64 im 3) (-.f64 (*.f64 (+.f64 (pow.f64 re 2) (+.f64 re re)) -1/12) 1/6)))
(+.f64 (*.f64 im (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) 1))) (*.f64 (pow.f64 im 3) (-.f64 (*.f64 -1/6 (+.f64 re (*.f64 1/2 (pow.f64 re 2)))) 1/6)))
(+.f64 (*.f64 (+.f64 1/120 (*.f64 1/120 (+.f64 (*.f64 1/2 (pow.f64 re 2)) re))) (pow.f64 im 5)) (+.f64 (*.f64 (-.f64 (*.f64 -1/6 (+.f64 (*.f64 1/2 (pow.f64 re 2)) re)) 1/6) (pow.f64 im 3)) (*.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 1 re)) im)))
(+.f64 (+.f64 (*.f64 im (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re 1))) (*.f64 (pow.f64 im 3) (-.f64 (*.f64 -1/6 (+.f64 re (*.f64 1/2 (pow.f64 re 2)))) 1/6))) (*.f64 (pow.f64 im 5) (+.f64 1/120 (*.f64 1/120 (+.f64 re (*.f64 1/2 (pow.f64 re 2)))))))
(+.f64 (*.f64 im (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) 1))) (+.f64 (*.f64 (pow.f64 im 3) (-.f64 (*.f64 (+.f64 (pow.f64 re 2) (+.f64 re re)) -1/12) 1/6)) (*.f64 (pow.f64 im 5) (+.f64 1/120 (*.f64 (+.f64 (pow.f64 re 2) (+.f64 re re)) 1/240)))))
(+.f64 (*.f64 im (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) 1))) (+.f64 (*.f64 (pow.f64 im 3) (-.f64 (*.f64 -1/6 (+.f64 re (*.f64 1/2 (pow.f64 re 2)))) 1/6)) (*.f64 (pow.f64 im 5) (+.f64 1/120 (*.f64 1/120 (+.f64 re (*.f64 1/2 (pow.f64 re 2))))))))
(+.f64 (*.f64 (+.f64 1/120 (*.f64 1/120 (+.f64 (*.f64 1/2 (pow.f64 re 2)) re))) (pow.f64 im 5)) (+.f64 (*.f64 (-.f64 (*.f64 -1/6 (+.f64 (*.f64 1/2 (pow.f64 re 2)) re)) 1/6) (pow.f64 im 3)) (+.f64 (*.f64 (-.f64 (*.f64 -1/5040 (+.f64 (*.f64 1/2 (pow.f64 re 2)) re)) 1/5040) (pow.f64 im 7)) (*.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 1 re)) im))))
(+.f64 (*.f64 (pow.f64 im 5) (+.f64 1/120 (*.f64 1/120 (+.f64 re (*.f64 1/2 (pow.f64 re 2)))))) (+.f64 (*.f64 im (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re 1))) (+.f64 (*.f64 (pow.f64 im 7) (-.f64 (*.f64 -1/5040 (+.f64 re (*.f64 1/2 (pow.f64 re 2)))) 1/5040)) (*.f64 (pow.f64 im 3) (-.f64 (*.f64 -1/6 (+.f64 re (*.f64 1/2 (pow.f64 re 2)))) 1/6)))))
(+.f64 (*.f64 (pow.f64 im 3) (-.f64 (*.f64 (+.f64 (pow.f64 re 2) (+.f64 re re)) -1/12) 1/6)) (+.f64 (+.f64 (*.f64 im (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) 1))) (*.f64 (pow.f64 im 7) (-.f64 (*.f64 (+.f64 (pow.f64 re 2) (+.f64 re re)) -1/10080) 1/5040))) (*.f64 (pow.f64 im 5) (+.f64 1/120 (*.f64 (+.f64 (pow.f64 re 2) (+.f64 re re)) 1/240)))))
(+.f64 (*.f64 (pow.f64 im 3) (-.f64 (*.f64 -1/6 (+.f64 re (*.f64 1/2 (pow.f64 re 2)))) 1/6)) (+.f64 (*.f64 (pow.f64 im 5) (+.f64 1/120 (*.f64 1/120 (+.f64 re (*.f64 1/2 (pow.f64 re 2)))))) (+.f64 (*.f64 im (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) 1))) (*.f64 (pow.f64 im 7) (-.f64 (*.f64 -1/5040 (+.f64 re (*.f64 1/2 (pow.f64 re 2)))) 1/5040)))))
(+.f64 (sin.f64 im) (*.f64 (sin.f64 im) (+.f64 (*.f64 1/2 (pow.f64 re 2)) re)))
(+.f64 (sin.f64 im) (*.f64 (sin.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))))
(*.f64 (sin.f64 im) (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) 1)))
(+.f64 (sin.f64 im) (*.f64 (sin.f64 im) (+.f64 (*.f64 1/2 (pow.f64 re 2)) re)))
(+.f64 (sin.f64 im) (*.f64 (sin.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))))
(*.f64 (sin.f64 im) (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) 1)))
(+.f64 (sin.f64 im) (*.f64 (sin.f64 im) (+.f64 (*.f64 1/2 (pow.f64 re 2)) re)))
(+.f64 (sin.f64 im) (*.f64 (sin.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))))
(*.f64 (sin.f64 im) (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) 1)))
(+.f64 (sin.f64 im) (*.f64 (sin.f64 im) (+.f64 (*.f64 1/2 (pow.f64 re 2)) re)))
(+.f64 (sin.f64 im) (*.f64 (sin.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))))
(*.f64 (sin.f64 im) (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) 1)))
(+.f64 (sin.f64 im) (*.f64 (sin.f64 im) (+.f64 (*.f64 1/2 (pow.f64 re 2)) re)))
(+.f64 (sin.f64 im) (*.f64 (sin.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))))
(*.f64 (sin.f64 im) (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) 1)))
(+.f64 (sin.f64 im) (*.f64 (sin.f64 im) (+.f64 (*.f64 1/2 (pow.f64 re 2)) re)))
(+.f64 (sin.f64 im) (*.f64 (sin.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))))
(*.f64 (sin.f64 im) (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) 1)))
(+.f64 (sin.f64 im) (*.f64 (sin.f64 im) (+.f64 (*.f64 1/2 (pow.f64 re 2)) re)))
(+.f64 (sin.f64 im) (*.f64 (sin.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))))
(*.f64 (sin.f64 im) (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) 1)))
(+.f64 (sin.f64 im) (*.f64 (sin.f64 im) (+.f64 (*.f64 1/2 (pow.f64 re 2)) re)))
(+.f64 (sin.f64 im) (*.f64 (sin.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))))
(*.f64 (sin.f64 im) (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) 1)))
(sin.f64 im)
(+.f64 (sin.f64 im) (*.f64 (sin.f64 im) re))
(+.f64 (sin.f64 im) (*.f64 re (sin.f64 im)))
(*.f64 (sin.f64 im) (+.f64 re 1))
(+.f64 (sin.f64 im) (+.f64 (*.f64 (sin.f64 im) re) (*.f64 1/2 (*.f64 (sin.f64 im) (pow.f64 re 2)))))
(+.f64 (*.f64 1/2 (*.f64 (pow.f64 re 2) (sin.f64 im))) (+.f64 (sin.f64 im) (*.f64 re (sin.f64 im))))
(+.f64 (*.f64 1/2 (*.f64 (pow.f64 re 2) (sin.f64 im))) (*.f64 (sin.f64 im) (+.f64 re 1)))
(+.f64 (*.f64 (pow.f64 re 2) (*.f64 1/2 (sin.f64 im))) (*.f64 (sin.f64 im) (+.f64 re 1)))
(+.f64 (sin.f64 im) (+.f64 (*.f64 (sin.f64 im) re) (*.f64 1/2 (*.f64 (sin.f64 im) (pow.f64 re 2)))))
(+.f64 (*.f64 1/2 (*.f64 (pow.f64 re 2) (sin.f64 im))) (+.f64 (sin.f64 im) (*.f64 re (sin.f64 im))))
(+.f64 (*.f64 1/2 (*.f64 (pow.f64 re 2) (sin.f64 im))) (*.f64 (sin.f64 im) (+.f64 re 1)))
(+.f64 (*.f64 (pow.f64 re 2) (*.f64 1/2 (sin.f64 im))) (*.f64 (sin.f64 im) (+.f64 re 1)))
(*.f64 1/2 (*.f64 (sin.f64 im) (pow.f64 re 2)))
(*.f64 1/2 (*.f64 (pow.f64 re 2) (sin.f64 im)))
(*.f64 (pow.f64 re 2) (*.f64 1/2 (sin.f64 im)))
(+.f64 (*.f64 (sin.f64 im) re) (*.f64 1/2 (*.f64 (sin.f64 im) (pow.f64 re 2))))
(+.f64 (*.f64 re (sin.f64 im)) (*.f64 1/2 (*.f64 (pow.f64 re 2) (sin.f64 im))))
(+.f64 (*.f64 re (sin.f64 im)) (*.f64 (pow.f64 re 2) (*.f64 1/2 (sin.f64 im))))
(+.f64 (sin.f64 im) (+.f64 (*.f64 (sin.f64 im) re) (*.f64 1/2 (*.f64 (sin.f64 im) (pow.f64 re 2)))))
(+.f64 (*.f64 1/2 (*.f64 (pow.f64 re 2) (sin.f64 im))) (+.f64 (sin.f64 im) (*.f64 re (sin.f64 im))))
(+.f64 (*.f64 1/2 (*.f64 (pow.f64 re 2) (sin.f64 im))) (*.f64 (sin.f64 im) (+.f64 re 1)))
(+.f64 (*.f64 (pow.f64 re 2) (*.f64 1/2 (sin.f64 im))) (*.f64 (sin.f64 im) (+.f64 re 1)))
(+.f64 (sin.f64 im) (+.f64 (*.f64 (sin.f64 im) re) (*.f64 1/2 (*.f64 (sin.f64 im) (pow.f64 re 2)))))
(+.f64 (*.f64 1/2 (*.f64 (pow.f64 re 2) (sin.f64 im))) (+.f64 (sin.f64 im) (*.f64 re (sin.f64 im))))
(+.f64 (*.f64 1/2 (*.f64 (pow.f64 re 2) (sin.f64 im))) (*.f64 (sin.f64 im) (+.f64 re 1)))
(+.f64 (*.f64 (pow.f64 re 2) (*.f64 1/2 (sin.f64 im))) (*.f64 (sin.f64 im) (+.f64 re 1)))
(*.f64 1/2 (*.f64 (sin.f64 im) (pow.f64 re 2)))
(*.f64 1/2 (*.f64 (pow.f64 re 2) (sin.f64 im)))
(*.f64 (pow.f64 re 2) (*.f64 1/2 (sin.f64 im)))
(+.f64 (*.f64 (sin.f64 im) re) (*.f64 1/2 (*.f64 (sin.f64 im) (pow.f64 re 2))))
(+.f64 (*.f64 re (sin.f64 im)) (*.f64 1/2 (*.f64 (pow.f64 re 2) (sin.f64 im))))
(+.f64 (*.f64 re (sin.f64 im)) (*.f64 (pow.f64 re 2) (*.f64 1/2 (sin.f64 im))))
(+.f64 (sin.f64 im) (+.f64 (*.f64 (sin.f64 im) re) (*.f64 1/2 (*.f64 (sin.f64 im) (pow.f64 re 2)))))
(+.f64 (*.f64 1/2 (*.f64 (pow.f64 re 2) (sin.f64 im))) (+.f64 (sin.f64 im) (*.f64 re (sin.f64 im))))
(+.f64 (*.f64 1/2 (*.f64 (pow.f64 re 2) (sin.f64 im))) (*.f64 (sin.f64 im) (+.f64 re 1)))
(+.f64 (*.f64 (pow.f64 re 2) (*.f64 1/2 (sin.f64 im))) (*.f64 (sin.f64 im) (+.f64 re 1)))
(+.f64 (sin.f64 im) (+.f64 (*.f64 (sin.f64 im) re) (*.f64 1/2 (*.f64 (sin.f64 im) (pow.f64 re 2)))))
(+.f64 (*.f64 1/2 (*.f64 (pow.f64 re 2) (sin.f64 im))) (+.f64 (sin.f64 im) (*.f64 re (sin.f64 im))))
(+.f64 (*.f64 1/2 (*.f64 (pow.f64 re 2) (sin.f64 im))) (*.f64 (sin.f64 im) (+.f64 re 1)))
(+.f64 (*.f64 (pow.f64 re 2) (*.f64 1/2 (sin.f64 im))) (*.f64 (sin.f64 im) (+.f64 re 1)))
(+.f64 (*.f64 (sin.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))) 0)
(*.f64 (sin.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2))))
(+.f64 0 (*.f64 (sin.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))))
(*.f64 (sin.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2))))
(+.f64 (/.f64 (*.f64 (sin.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))) 2) (/.f64 (*.f64 (sin.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))) 2))
(*.f64 (sin.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2))))
(-.f64 (*.f64 (sin.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))) 0)
(*.f64 (sin.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2))))
(-.f64 (/.f64 (*.f64 (sin.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))) 2) (/.f64 (*.f64 (sin.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))) -2))
(*.f64 (sin.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2))))
(/.f64 (*.f64 (sin.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))) 1)
(*.f64 (sin.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2))))
(/.f64 (*.f64 (sin.f64 im) (+.f64 re (+.f64 re (pow.f64 re 2)))) 2)
(*.f64 (sin.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2))))
(/.f64 (*.f64 (sin.f64 im) (+.f64 (*.f64 2 (pow.f64 re 2)) (*.f64 re 4))) 4)
(/.f64 (*.f64 (sin.f64 im) (-.f64 (*.f64 re 4) (*.f64 (pow.f64 re 2) -2))) 4)
(/.f64 (*.f64 (+.f64 re (+.f64 re (pow.f64 re 2))) (*.f64 (sin.f64 im) 4)) 8)
(*.f64 (sin.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2))))
(/.f64 (*.f64 (*.f64 (sin.f64 im) 4) (+.f64 (*.f64 2 (pow.f64 re 2)) (*.f64 re 4))) 16)
(/.f64 (*.f64 (+.f64 (*.f64 2 (pow.f64 re 2)) (*.f64 re 4)) (*.f64 (sin.f64 im) 4)) 16)
(/.f64 (*.f64 (-.f64 (*.f64 re 4) (*.f64 (pow.f64 re 2) -2)) (*.f64 (sin.f64 im) 4)) 16)
(/.f64 (*.f64 (-.f64 (*.f64 (pow.f64 re 2) -1/2) re) (*.f64 (sin.f64 im) 2)) -2)
(*.f64 (sin.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2))))
(/.f64 (*.f64 (-.f64 (*.f64 (pow.f64 re 2) -1/2) re) (*.f64 (sin.f64 im) 4)) -4)
(*.f64 (sin.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2))))
(/.f64 (*.f64 (-.f64 (*.f64 (pow.f64 re 2) -1/2) re) (*.f64 2 (*.f64 (sin.f64 im) 4))) -8)
(*.f64 (sin.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2))))
(/.f64 (*.f64 (+.f64 re (*.f64 1/2 (pow.f64 re 2))) (*.f64 (sin.f64 im) -2)) -2)
(*.f64 (sin.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 (sin.f64 im) 4))) -4)
(*.f64 (sin.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 (sin.f64 im) -2))) -4)
(*.f64 (sin.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2))))
(/.f64 (*.f64 (-.f64 (*.f64 (pow.f64 re 2) -1/2) re) (sin.f64 im)) -1)
(*.f64 (sin.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2))))
(/.f64 (*.f64 (+.f64 re (*.f64 1/2 (pow.f64 re 2))) (neg.f64 (sin.f64 im))) -1)
(*.f64 (sin.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2))))
(pow.f64 (*.f64 (sin.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))) 1)
(*.f64 (sin.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2))))
(-.f64 re (*.f64 (pow.f64 re 2) -1/2))
(+.f64 re (*.f64 1/2 (pow.f64 re 2)))
(-.f64 (pow.f64 re 2) (-.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)) (neg.f64 re))
(+.f64 re (*.f64 1/2 (pow.f64 re 2)))
(-.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 (*.f64 (pow.f64 re 2) -1/2) (-.f64 (*.f64 1/2 (pow.f64 re 2)) re)))
(+.f64 re (*.f64 1/2 (pow.f64 re 2)))
(-.f64 (+.f64 re (*.f64 1/2 (pow.f64 re 2))) 0)
(+.f64 re (*.f64 1/2 (pow.f64 re 2)))
(-.f64 0 (-.f64 (*.f64 (pow.f64 re 2) -1/2) re))
(+.f64 re (*.f64 1/2 (pow.f64 re 2)))
(-.f64 (+.f64 re re) (+.f64 re (*.f64 (pow.f64 re 2) -1/2)))
(+.f64 re (*.f64 1/2 (pow.f64 re 2)))
(-.f64 (+.f64 (/.f64 re 2) (/.f64 (pow.f64 re 2) 4)) (/.f64 (+.f64 re (*.f64 1/2 (pow.f64 re 2))) -2))
(-.f64 (+.f64 (/.f64 re 2) (/.f64 (pow.f64 re 2) 4)) (+.f64 (/.f64 (pow.f64 re 2) -4) (/.f64 re -2)))
(-.f64 (+.f64 (/.f64 re 2) (/.f64 (pow.f64 re 2) 4)) (-.f64 (/.f64 (pow.f64 re 2) -4) (/.f64 re 2)))
(-.f64 (+.f64 (/.f64 re 2) (/.f64 (pow.f64 re 2) 4)) (/.f64 (+.f64 re (*.f64 1/2 (pow.f64 re 2))) -2))
(-.f64 (+.f64 (/.f64 re 2) (/.f64 (pow.f64 re 2) 4)) (+.f64 (/.f64 (pow.f64 re 2) -4) (/.f64 re -2)))
(-.f64 (+.f64 (/.f64 re 2) (/.f64 (pow.f64 re 2) 4)) (-.f64 (/.f64 re -2) (/.f64 (pow.f64 re 2) 4)))
(-.f64 (/.f64 (pow.f64 re 2) 4) (-.f64 (/.f64 re -2) (+.f64 (/.f64 re 2) (/.f64 (pow.f64 re 2) 4))))
(-.f64 (/.f64 re 2) (/.f64 (-.f64 (neg.f64 (pow.f64 re 2)) re) 2))
(+.f64 re (*.f64 1/2 (pow.f64 re 2)))
(-.f64 (/.f64 re 2) (+.f64 (/.f64 re -2) (*.f64 (pow.f64 re 2) -1/2)))
(+.f64 re (*.f64 1/2 (pow.f64 re 2)))
(-.f64 (/.f64 (pow.f64 re 2) 4) (-.f64 (neg.f64 re) (/.f64 (pow.f64 re 2) 4)))
(-.f64 re (+.f64 (/.f64 (pow.f64 re 2) -4) (/.f64 (pow.f64 re 2) -4)))
(-.f64 (/.f64 (pow.f64 re 2) 4) (+.f64 (/.f64 (pow.f64 re 2) -4) (neg.f64 re)))
(-.f64 (/.f64 (pow.f64 re 2) 4) (-.f64 (neg.f64 re) (/.f64 (pow.f64 re 2) 4)))
(-.f64 re (+.f64 (/.f64 (pow.f64 re 2) -4) (/.f64 (pow.f64 re 2) -4)))
(-.f64 (+.f64 re (/.f64 (pow.f64 re 2) 4)) (/.f64 (pow.f64 re 2) -4))
(-.f64 (/.f64 (pow.f64 re 2) 4) (-.f64 (neg.f64 re) (/.f64 (pow.f64 re 2) 4)))
(-.f64 re (+.f64 (/.f64 (pow.f64 re 2) -4) (/.f64 (pow.f64 re 2) -4)))
(-.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (/.f64 re 2)) (/.f64 re -2))
(+.f64 re (*.f64 1/2 (pow.f64 re 2)))
(-.f64 (-.f64 (*.f64 1/2 (pow.f64 re 2)) (-.f64 (*.f64 1/2 (pow.f64 re 2)) re)) (*.f64 (pow.f64 re 2) -1/2))
(+.f64 re (*.f64 1/2 (pow.f64 re 2)))
(-.f64 (/.f64 (-.f64 re (neg.f64 (pow.f64 re 2))) 2) (/.f64 re -2))
(+.f64 re (*.f64 1/2 (pow.f64 re 2)))
(-.f64 (-.f64 (/.f64 (pow.f64 re 2) 4) (neg.f64 re)) (/.f64 (pow.f64 re 2) -4))
(-.f64 (/.f64 (pow.f64 re 2) 4) (-.f64 (neg.f64 re) (/.f64 (pow.f64 re 2) 4)))
(-.f64 re (+.f64 (/.f64 (pow.f64 re 2) -4) (/.f64 (pow.f64 re 2) -4)))
(-.f64 (*.f64 3 (/.f64 (pow.f64 re 2) 4)) (-.f64 (-.f64 (*.f64 1/2 (pow.f64 re 2)) re) (/.f64 (pow.f64 re 2) 4)))
(-.f64 (/.f64 (pow.f64 re 2) 4) (-.f64 (-.f64 (*.f64 1/2 (pow.f64 re 2)) re) (*.f64 (pow.f64 re 2) 3/4)))
(-.f64 re (-.f64 (-.f64 (*.f64 1/2 (pow.f64 re 2)) (/.f64 (pow.f64 re 2) 4)) (*.f64 (pow.f64 re 2) 3/4)))
(-.f64 re (-.f64 (*.f64 1 (/.f64 (pow.f64 re 2) 4)) (*.f64 (pow.f64 re 2) 3/4)))
(-.f64 (-.f64 re re) (-.f64 (*.f64 (pow.f64 re 2) -1/2) re))
(+.f64 re (*.f64 1/2 (pow.f64 re 2)))
(-.f64 (-.f64 (*.f64 1/2 (pow.f64 re 2)) (-.f64 (/.f64 (pow.f64 re 2) 4) re)) (-.f64 (/.f64 (pow.f64 re 2) 4) (*.f64 1/2 (pow.f64 re 2))))
(-.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 (-.f64 (/.f64 (pow.f64 re 2) 4) (*.f64 1/2 (pow.f64 re 2))) (-.f64 (/.f64 (pow.f64 re 2) 4) re)))
(-.f64 re (-.f64 (/.f64 (pow.f64 re 2) 4) (-.f64 (*.f64 1/2 (pow.f64 re 2)) (-.f64 (/.f64 (pow.f64 re 2) 4) (*.f64 1/2 (pow.f64 re 2))))))
(-.f64 re (-.f64 (-.f64 (/.f64 (pow.f64 re 2) 4) (*.f64 1/2 (pow.f64 re 2))) (*.f64 1 (/.f64 (pow.f64 re 2) 4))))
(*.f64 1/2 (+.f64 re (+.f64 re (pow.f64 re 2))))
(+.f64 re (*.f64 1/2 (pow.f64 re 2)))
(*.f64 2 (+.f64 (/.f64 re 2) (/.f64 (pow.f64 re 2) 4)))
(+.f64 re (*.f64 1/2 (pow.f64 re 2)))
(*.f64 (+.f64 re (*.f64 1/2 (pow.f64 re 2))) 1)
(+.f64 re (*.f64 1/2 (pow.f64 re 2)))
(*.f64 1 (+.f64 re (*.f64 1/2 (pow.f64 re 2))))
(+.f64 re (*.f64 1/2 (pow.f64 re 2)))
(*.f64 (+.f64 re (+.f64 re (pow.f64 re 2))) 1/2)
(+.f64 re (*.f64 1/2 (pow.f64 re 2)))
(*.f64 (+.f64 (/.f64 re 2) (/.f64 (pow.f64 re 2) 4)) 2)
(+.f64 re (*.f64 1/2 (pow.f64 re 2)))
(*.f64 1/4 (+.f64 (*.f64 2 (pow.f64 re 2)) (*.f64 re 4)))
(*.f64 (+.f64 (*.f64 2 (pow.f64 re 2)) (*.f64 re 4)) 1/4)
(*.f64 (-.f64 (*.f64 re 4) (*.f64 (pow.f64 re 2) -2)) 1/4)
(*.f64 (-.f64 (*.f64 (pow.f64 re 2) -1/2) re) -1)
(+.f64 re (*.f64 1/2 (pow.f64 re 2)))
(*.f64 (+.f64 (*.f64 2 (pow.f64 re 2)) (*.f64 re 4)) 1/4)
(*.f64 (-.f64 (*.f64 re 4) (*.f64 (pow.f64 re 2) -2)) 1/4)
(*.f64 (*.f64 (+.f64 re (+.f64 re (pow.f64 re 2))) 4) 1/8)
(+.f64 re (*.f64 1/2 (pow.f64 re 2)))
(/.f64 (+.f64 re (*.f64 1/2 (pow.f64 re 2))) 1)
(+.f64 re (*.f64 1/2 (pow.f64 re 2)))
(/.f64 (+.f64 re (+.f64 re (pow.f64 re 2))) 2)
(+.f64 re (*.f64 1/2 (pow.f64 re 2)))
(/.f64 (-.f64 (*.f64 (pow.f64 re 2) -1/2) re) -1)
(+.f64 re (*.f64 1/2 (pow.f64 re 2)))
(/.f64 (+.f64 (*.f64 2 (pow.f64 re 2)) (*.f64 re 4)) 4)
(-.f64 (*.f64 1/2 (pow.f64 re 2)) (/.f64 (*.f64 re 4) -4))
(/.f64 (*.f64 (+.f64 re (+.f64 re (pow.f64 re 2))) 4) 8)
(/.f64 (*.f64 (+.f64 (pow.f64 re 2) (+.f64 re re)) 4) 8)
(/.f64 (*.f64 4 (+.f64 (pow.f64 re 2) (+.f64 re re))) 8)
(/.f64 (*.f64 8 (+.f64 re (+.f64 re (pow.f64 re 2)))) 16)
(/.f64 (-.f64 (*.f64 re 4) (neg.f64 (*.f64 2 (pow.f64 re 2)))) 4)
(/.f64 (+.f64 (*.f64 2 (pow.f64 re 2)) (*.f64 re 4)) 4)
(-.f64 (*.f64 1/2 (pow.f64 re 2)) (/.f64 (*.f64 re 4) -4))
(/.f64 (-.f64 (*.f64 2 (pow.f64 re 2)) (+.f64 (pow.f64 re 2) (*.f64 re -2))) 2)
(/.f64 (+.f64 (pow.f64 re 2) (neg.f64 (*.f64 re -2))) 2)
(/.f64 (+.f64 (pow.f64 re 2) (/.f64 re 1/2)) 2)
(/.f64 (-.f64 (*.f64 2 (pow.f64 re 2)) (neg.f64 (*.f64 re 4))) 4)
(/.f64 (+.f64 (*.f64 2 (pow.f64 re 2)) (*.f64 re 4)) 4)
(-.f64 (*.f64 1/2 (pow.f64 re 2)) (/.f64 (*.f64 re 4) -4))
(/.f64 (-.f64 (*.f64 2 (pow.f64 re 2)) (*.f64 2 (*.f64 re -2))) 4)
(/.f64 (-.f64 (*.f64 2 (pow.f64 re 2)) (*.f64 re -4)) 4)
(-.f64 (*.f64 1/2 (pow.f64 re 2)) (/.f64 (*.f64 re -4) 4))
(pow.f64 (+.f64 re (*.f64 1/2 (pow.f64 re 2))) 1)
(+.f64 re (*.f64 1/2 (pow.f64 re 2)))
(neg.f64 (-.f64 (*.f64 (pow.f64 re 2) -1/2) re))
(+.f64 re (*.f64 1/2 (pow.f64 re 2)))
(-.f64 (sin.f64 im) (neg.f64 (*.f64 (sin.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2))))))
(+.f64 (sin.f64 im) (*.f64 (sin.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))))
(*.f64 (sin.f64 im) (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) 1)))
(-.f64 (sin.f64 im) (-.f64 (neg.f64 (*.f64 (sin.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2))))) (*.f64 (sin.f64 0) (cos.f64 im))))
(-.f64 (*.f64 (sin.f64 im) (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) 1))) (neg.f64 (*.f64 (sin.f64 0) (cos.f64 im))))
(+.f64 (sin.f64 im) (+.f64 (*.f64 (sin.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))) (*.f64 (sin.f64 0) (cos.f64 im))))
(-.f64 (sin.f64 im) (+.f64 (neg.f64 (*.f64 (sin.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2))))) (*.f64 (sin.f64 0) (sin.f64 (-.f64 (*.f64 1/2 (PI.f64)) im)))))
(+.f64 (*.f64 (sin.f64 im) (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) 1))) (neg.f64 (*.f64 (sin.f64 0) (sin.f64 (-.f64 (*.f64 1/2 (PI.f64)) im)))))
(-.f64 (*.f64 (sin.f64 im) (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) 1))) (*.f64 (sin.f64 0) (sin.f64 (-.f64 (*.f64 1/2 (PI.f64)) im))))
(-.f64 (sin.f64 im) (+.f64 (-.f64 0 (*.f64 (sin.f64 0) (*.f64 (cos.f64 im) 2))) (neg.f64 (*.f64 (sin.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))))))
(-.f64 (sin.f64 im) (-.f64 0 (+.f64 (*.f64 (sin.f64 0) (*.f64 2 (cos.f64 im))) (*.f64 (sin.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))))))
(+.f64 (*.f64 (sin.f64 im) (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) 1))) (neg.f64 (neg.f64 (*.f64 2 (*.f64 (sin.f64 0) (cos.f64 im))))))
(-.f64 (*.f64 (sin.f64 im) (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) 1))) (/.f64 (*.f64 (sin.f64 0) (cos.f64 im)) -1/2))
(-.f64 (sin.f64 im) (+.f64 (-.f64 (*.f64 (sin.f64 0) (sin.f64 (-.f64 (*.f64 1/2 (PI.f64)) im))) (*.f64 (sin.f64 0) (cos.f64 im))) (neg.f64 (*.f64 (sin.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))))))
(-.f64 (sin.f64 im) (-.f64 (*.f64 (sin.f64 0) (sin.f64 (-.f64 (*.f64 1/2 (PI.f64)) im))) (+.f64 (*.f64 (sin.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))) (*.f64 (sin.f64 0) (cos.f64 im)))))
(+.f64 (*.f64 (sin.f64 im) (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) 1))) (neg.f64 (*.f64 (sin.f64 0) (-.f64 (sin.f64 (-.f64 (*.f64 1/2 (PI.f64)) im)) (cos.f64 im)))))
(+.f64 (*.f64 (sin.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))) (-.f64 (sin.f64 im) (*.f64 (sin.f64 0) (-.f64 (sin.f64 (-.f64 (*.f64 1/2 (PI.f64)) im)) (cos.f64 im)))))
(-.f64 (sin.f64 im) (+.f64 (*.f64 (sin.f64 (-.f64 (*.f64 1/2 (PI.f64)) im)) (*.f64 (sin.f64 0) 2)) (neg.f64 (*.f64 (sin.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))))))
(-.f64 (sin.f64 im) (+.f64 (neg.f64 (*.f64 (sin.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2))))) (*.f64 (sin.f64 (-.f64 (*.f64 1/2 (PI.f64)) im)) (*.f64 2 (sin.f64 0)))))
(+.f64 (*.f64 (sin.f64 im) (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) 1))) (neg.f64 (*.f64 (sin.f64 (-.f64 (*.f64 1/2 (PI.f64)) im)) (*.f64 2 (sin.f64 0)))))
(-.f64 (*.f64 (sin.f64 im) (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) 1))) (*.f64 (sin.f64 (-.f64 (*.f64 1/2 (PI.f64)) im)) (*.f64 2 (sin.f64 0))))
(-.f64 (*.f64 (sin.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))) (neg.f64 (sin.f64 im)))
(+.f64 (sin.f64 im) (*.f64 (sin.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))))
(*.f64 (sin.f64 im) (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) 1)))
(-.f64 (*.f64 (sin.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))) (-.f64 (*.f64 (sin.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))) (*.f64 (sin.f64 im) (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re 1)))))
(+.f64 (sin.f64 im) (*.f64 (sin.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))))
(*.f64 (sin.f64 im) (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) 1)))
(-.f64 (*.f64 (sin.f64 im) (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re 1))) 0)
(+.f64 (sin.f64 im) (*.f64 (sin.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))))
(*.f64 (sin.f64 im) (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) 1)))
(-.f64 (*.f64 (sin.f64 im) (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re 1))) (neg.f64 (*.f64 (sin.f64 0) (cos.f64 im))))
(-.f64 (sin.f64 im) (-.f64 (neg.f64 (*.f64 (sin.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2))))) (*.f64 (sin.f64 0) (cos.f64 im))))
(-.f64 (*.f64 (sin.f64 im) (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) 1))) (neg.f64 (*.f64 (sin.f64 0) (cos.f64 im))))
(+.f64 (sin.f64 im) (+.f64 (*.f64 (sin.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))) (*.f64 (sin.f64 0) (cos.f64 im))))
(-.f64 (*.f64 (sin.f64 im) (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re 1))) (*.f64 (sin.f64 0) (sin.f64 (-.f64 (*.f64 1/2 (PI.f64)) im))))
(-.f64 (sin.f64 im) (+.f64 (neg.f64 (*.f64 (sin.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2))))) (*.f64 (sin.f64 0) (sin.f64 (-.f64 (*.f64 1/2 (PI.f64)) im)))))
(+.f64 (*.f64 (sin.f64 im) (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) 1))) (neg.f64 (*.f64 (sin.f64 0) (sin.f64 (-.f64 (*.f64 1/2 (PI.f64)) im)))))
(-.f64 (*.f64 (sin.f64 im) (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) 1))) (*.f64 (sin.f64 0) (sin.f64 (-.f64 (*.f64 1/2 (PI.f64)) im))))
(-.f64 0 (*.f64 (sin.f64 im) (-.f64 -1 (+.f64 re (*.f64 1/2 (pow.f64 re 2))))))
(+.f64 (sin.f64 im) (*.f64 (sin.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))))
(*.f64 (sin.f64 im) (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) 1)))
(-.f64 (*.f64 (sin.f64 im) 2) (+.f64 (sin.f64 im) (neg.f64 (*.f64 (sin.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))))))
(-.f64 (*.f64 2 (sin.f64 im)) (+.f64 (sin.f64 im) (neg.f64 (*.f64 (sin.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))))))
(-.f64 (*.f64 2 (sin.f64 im)) (+.f64 (sin.f64 im) (*.f64 (+.f64 re (*.f64 1/2 (pow.f64 re 2))) (neg.f64 (sin.f64 im)))))
(+.f64 (*.f64 (sin.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))) (-.f64 (*.f64 2 (sin.f64 im)) (sin.f64 im)))
(-.f64 (*.f64 (sin.f64 im) (+.f64 re (+.f64 re (pow.f64 re 2)))) (*.f64 (sin.f64 im) (+.f64 (+.f64 re (*.f64 1/2 (pow.f64 re 2))) -1)))
(+.f64 (sin.f64 im) (*.f64 (sin.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))))
(*.f64 (sin.f64 im) (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) 1)))
(-.f64 (*.f64 (sin.f64 0) (cos.f64 im)) (*.f64 (sin.f64 im) (-.f64 -1 (+.f64 re (*.f64 1/2 (pow.f64 re 2))))))
(-.f64 (*.f64 (sin.f64 0) (cos.f64 im)) (*.f64 (sin.f64 im) (+.f64 (*.f64 (pow.f64 re 2) -1/2) (-.f64 -1 re))))
(-.f64 (+.f64 (*.f64 (sin.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))) (*.f64 (sin.f64 0) (cos.f64 im))) (neg.f64 (sin.f64 im)))
(-.f64 (sin.f64 im) (-.f64 (neg.f64 (*.f64 (sin.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2))))) (*.f64 (sin.f64 0) (cos.f64 im))))
(-.f64 (*.f64 (sin.f64 im) (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) 1))) (neg.f64 (*.f64 (sin.f64 0) (cos.f64 im))))
(+.f64 (sin.f64 im) (+.f64 (*.f64 (sin.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))) (*.f64 (sin.f64 0) (cos.f64 im))))
(-.f64 (*.f64 (sin.f64 im) 1/2) (-.f64 (neg.f64 (*.f64 (sin.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2))))) (*.f64 (sin.f64 im) 1/2)))
(-.f64 (*.f64 1/2 (sin.f64 im)) (-.f64 (neg.f64 (*.f64 (sin.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2))))) (*.f64 1/2 (sin.f64 im))))
(-.f64 (*.f64 1/2 (sin.f64 im)) (-.f64 0 (*.f64 (sin.f64 im) (+.f64 (+.f64 re (*.f64 1/2 (pow.f64 re 2))) 1/2))))
(-.f64 (*.f64 (sin.f64 im) (+.f64 1/2 (+.f64 re (*.f64 1/2 (pow.f64 re 2))))) (neg.f64 (*.f64 1/2 (sin.f64 im))))
(-.f64 (*.f64 (sin.f64 im) 1/2) (+.f64 (/.f64 (sin.f64 im) -2) (neg.f64 (*.f64 (sin.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))))))
(-.f64 (+.f64 (*.f64 (sin.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))) (*.f64 1/2 (sin.f64 im))) (/.f64 (sin.f64 im) -2))
(-.f64 (*.f64 (sin.f64 im) (+.f64 (+.f64 re (*.f64 1/2 (pow.f64 re 2))) 1/2)) (/.f64 (sin.f64 im) -2))
(-.f64 (*.f64 (sin.f64 im) (+.f64 1/2 (+.f64 re (*.f64 1/2 (pow.f64 re 2))))) (/.f64 (sin.f64 im) -2))
(-.f64 (/.f64 (*.f64 (sin.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))) 2) (-.f64 (neg.f64 (sin.f64 im)) (/.f64 (*.f64 (sin.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))) 2)))
(+.f64 (sin.f64 im) (*.f64 (sin.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))))
(*.f64 (sin.f64 im) (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) 1)))
(-.f64 (/.f64 (*.f64 (sin.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))) 2) (+.f64 (/.f64 (*.f64 (sin.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))) -2) (neg.f64 (sin.f64 im))))
(+.f64 (sin.f64 im) (*.f64 (sin.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))))
(*.f64 (sin.f64 im) (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) 1)))
(-.f64 (/.f64 (*.f64 (sin.f64 im) (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re 1))) 2) (/.f64 (*.f64 (sin.f64 im) (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re 1))) -2))
(+.f64 (sin.f64 im) (*.f64 (sin.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))))
(*.f64 (sin.f64 im) (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) 1)))
(-.f64 (/.f64 (*.f64 (sin.f64 im) (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re 1))) 2) (-.f64 (/.f64 (sin.f64 im) -2) (/.f64 (*.f64 (sin.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))) 2)))
(-.f64 (/.f64 (*.f64 (sin.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))) 2) (-.f64 (/.f64 (sin.f64 im) -2) (/.f64 (*.f64 (sin.f64 im) (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re 1))) 2)))
(-.f64 (/.f64 (*.f64 (sin.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))) 2) (-.f64 (/.f64 (sin.f64 im) -2) (/.f64 (*.f64 (sin.f64 im) (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) 1))) 2)))
(-.f64 (/.f64 (*.f64 (sin.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))) 2) (-.f64 (/.f64 (sin.f64 im) -2) (/.f64 (*.f64 (sin.f64 im) (+.f64 (+.f64 re re) (+.f64 2 (pow.f64 re 2)))) 4)))
(-.f64 (/.f64 (*.f64 (sin.f64 im) (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re 1))) 2) (-.f64 (/.f64 (*.f64 (sin.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))) -2) (*.f64 (sin.f64 im) 1/2)))
(-.f64 (*.f64 1/2 (sin.f64 im)) (-.f64 (/.f64 (*.f64 (sin.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))) -2) (/.f64 (*.f64 (sin.f64 im) (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re 1))) 2)))
(-.f64 (*.f64 1/2 (sin.f64 im)) (-.f64 (/.f64 (*.f64 (sin.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))) -2) (/.f64 (*.f64 (sin.f64 im) (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) 1))) 2)))
(-.f64 (*.f64 1/2 (sin.f64 im)) (-.f64 (*.f64 (*.f64 (sin.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))) -1/2) (/.f64 (*.f64 (sin.f64 im) (+.f64 (+.f64 re re) (+.f64 2 (pow.f64 re 2)))) 4)))
(-.f64 (*.f64 (sin.f64 0) (cos.f64 (neg.f64 im))) (+.f64 (neg.f64 (*.f64 (sin.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2))))) (*.f64 (cos.f64 0) (sin.f64 (neg.f64 im)))))
(-.f64 (-.f64 (*.f64 (sin.f64 0) (cos.f64 (neg.f64 im))) (*.f64 (cos.f64 0) (sin.f64 (neg.f64 im)))) (neg.f64 (*.f64 (sin.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2))))))
(-.f64 (-.f64 (*.f64 (sin.f64 0) (cos.f64 (neg.f64 im))) (*.f64 (cos.f64 0) (sin.f64 (neg.f64 im)))) (*.f64 (+.f64 re (*.f64 1/2 (pow.f64 re 2))) (neg.f64 (sin.f64 im))))
(+.f64 (*.f64 (sin.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))) (-.f64 (*.f64 (sin.f64 0) (cos.f64 (neg.f64 im))) (*.f64 (cos.f64 0) (sin.f64 (neg.f64 im)))))
(-.f64 (*.f64 (sin.f64 0) (cos.f64 (neg.f64 im))) (+.f64 (+.f64 (neg.f64 (*.f64 (sin.f64 0) (cos.f64 im))) (*.f64 (cos.f64 0) (sin.f64 (neg.f64 im)))) (neg.f64 (*.f64 (sin.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))))))
(-.f64 (*.f64 (sin.f64 0) (cos.f64 (neg.f64 im))) (+.f64 (neg.f64 (*.f64 (sin.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2))))) (+.f64 (neg.f64 (*.f64 (sin.f64 0) (cos.f64 im))) (*.f64 (cos.f64 0) (sin.f64 (neg.f64 im))))))
(-.f64 (*.f64 (sin.f64 0) (cos.f64 (neg.f64 im))) (+.f64 (*.f64 (+.f64 re (*.f64 1/2 (pow.f64 re 2))) (neg.f64 (sin.f64 im))) (+.f64 (neg.f64 (*.f64 (sin.f64 0) (cos.f64 im))) (*.f64 (cos.f64 0) (sin.f64 (neg.f64 im))))))
(-.f64 (+.f64 (*.f64 (sin.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))) (*.f64 (sin.f64 0) (cos.f64 im))) (-.f64 (*.f64 (cos.f64 0) (sin.f64 (neg.f64 im))) (*.f64 (sin.f64 0) (cos.f64 (neg.f64 im)))))
(-.f64 (*.f64 (sin.f64 0) (cos.f64 (neg.f64 im))) (+.f64 (+.f64 (*.f64 (sin.f64 0) (sin.f64 (-.f64 (*.f64 1/2 (PI.f64)) im))) (*.f64 (cos.f64 0) (sin.f64 (neg.f64 im)))) (neg.f64 (*.f64 (sin.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))))))
(-.f64 (*.f64 (sin.f64 0) (cos.f64 (neg.f64 im))) (+.f64 (neg.f64 (*.f64 (sin.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2))))) (+.f64 (*.f64 (sin.f64 0) (sin.f64 (-.f64 (*.f64 1/2 (PI.f64)) im))) (*.f64 (cos.f64 0) (sin.f64 (neg.f64 im))))))
(-.f64 (*.f64 (sin.f64 0) (cos.f64 (neg.f64 im))) (+.f64 (*.f64 (+.f64 re (*.f64 1/2 (pow.f64 re 2))) (neg.f64 (sin.f64 im))) (+.f64 (*.f64 (sin.f64 0) (sin.f64 (-.f64 (*.f64 1/2 (PI.f64)) im))) (*.f64 (cos.f64 0) (sin.f64 (neg.f64 im))))))
(+.f64 (*.f64 (sin.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))) (-.f64 (*.f64 (sin.f64 0) (cos.f64 (neg.f64 im))) (+.f64 (*.f64 (sin.f64 0) (sin.f64 (-.f64 (*.f64 1/2 (PI.f64)) im))) (*.f64 (cos.f64 0) (sin.f64 (neg.f64 im))))))
(-.f64 (+.f64 (*.f64 (sin.f64 0) (cos.f64 im)) (*.f64 (sin.f64 im) 1/2)) (+.f64 (/.f64 (sin.f64 im) -2) (neg.f64 (*.f64 (sin.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))))))
(-.f64 (+.f64 (*.f64 (sin.f64 0) (cos.f64 im)) (*.f64 1/2 (sin.f64 im))) (+.f64 (neg.f64 (*.f64 (sin.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2))))) (/.f64 (sin.f64 im) -2)))
(-.f64 (-.f64 (*.f64 (sin.f64 im) (+.f64 (+.f64 re (*.f64 1/2 (pow.f64 re 2))) 1/2)) (/.f64 (sin.f64 im) -2)) (neg.f64 (*.f64 (sin.f64 0) (cos.f64 im))))
(-.f64 (*.f64 (sin.f64 im) (+.f64 1/2 (+.f64 re (*.f64 1/2 (pow.f64 re 2))))) (+.f64 (neg.f64 (*.f64 (sin.f64 0) (cos.f64 im))) (/.f64 (sin.f64 im) -2)))
(-.f64 (+.f64 (sin.f64 im) (/.f64 (*.f64 (sin.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))) 2)) (/.f64 (*.f64 (sin.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))) -2))
(+.f64 (sin.f64 im) (*.f64 (sin.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))))
(*.f64 (sin.f64 im) (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) 1)))
(-.f64 (+.f64 (sin.f64 im) (/.f64 (*.f64 (sin.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))) 2)) (-.f64 (neg.f64 (*.f64 (sin.f64 0) (cos.f64 im))) (/.f64 (*.f64 (sin.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))) 2)))
(-.f64 (sin.f64 im) (-.f64 (neg.f64 (*.f64 (sin.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2))))) (*.f64 (sin.f64 0) (cos.f64 im))))
(-.f64 (*.f64 (sin.f64 im) (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) 1))) (neg.f64 (*.f64 (sin.f64 0) (cos.f64 im))))
(+.f64 (sin.f64 im) (+.f64 (*.f64 (sin.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))) (*.f64 (sin.f64 0) (cos.f64 im))))
(-.f64 (+.f64 (sin.f64 im) (/.f64 (*.f64 (sin.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))) 2)) (-.f64 (*.f64 (sin.f64 0) (sin.f64 (-.f64 (*.f64 1/2 (PI.f64)) im))) (/.f64 (*.f64 (sin.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))) 2)))
(-.f64 (/.f64 (*.f64 (sin.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))) 2) (-.f64 (*.f64 (sin.f64 0) (sin.f64 (-.f64 (*.f64 1/2 (PI.f64)) im))) (+.f64 (sin.f64 im) (/.f64 (*.f64 (sin.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))) 2))))
(-.f64 (/.f64 (*.f64 (sin.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))) 2) (+.f64 (-.f64 (*.f64 (sin.f64 0) (sin.f64 (-.f64 (*.f64 1/2 (PI.f64)) im))) (sin.f64 im)) (*.f64 (*.f64 (sin.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))) -1/2)))
(-.f64 (+.f64 (*.f64 (sin.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))) (*.f64 (sin.f64 im) 1/2)) (/.f64 (sin.f64 im) -2))
(-.f64 (+.f64 (*.f64 (sin.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))) (*.f64 1/2 (sin.f64 im))) (/.f64 (sin.f64 im) -2))
(-.f64 (*.f64 (sin.f64 im) (+.f64 (+.f64 re (*.f64 1/2 (pow.f64 re 2))) 1/2)) (/.f64 (sin.f64 im) -2))
(-.f64 (*.f64 (sin.f64 im) (+.f64 1/2 (+.f64 re (*.f64 1/2 (pow.f64 re 2))))) (/.f64 (sin.f64 im) -2))
(-.f64 (-.f64 (*.f64 (sin.f64 0) (cos.f64 (neg.f64 im))) (neg.f64 (*.f64 (sin.f64 0) (cos.f64 im)))) (+.f64 (neg.f64 (*.f64 (sin.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2))))) (*.f64 (cos.f64 0) (sin.f64 (neg.f64 im)))))
(-.f64 (*.f64 (sin.f64 0) (cos.f64 (neg.f64 im))) (+.f64 (neg.f64 (*.f64 (sin.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2))))) (+.f64 (neg.f64 (*.f64 (sin.f64 0) (cos.f64 im))) (*.f64 (cos.f64 0) (sin.f64 (neg.f64 im))))))
(-.f64 (*.f64 (sin.f64 0) (cos.f64 (neg.f64 im))) (+.f64 (*.f64 (+.f64 re (*.f64 1/2 (pow.f64 re 2))) (neg.f64 (sin.f64 im))) (+.f64 (neg.f64 (*.f64 (sin.f64 0) (cos.f64 im))) (*.f64 (cos.f64 0) (sin.f64 (neg.f64 im))))))
(-.f64 (+.f64 (*.f64 (sin.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))) (*.f64 (sin.f64 0) (cos.f64 im))) (-.f64 (*.f64 (cos.f64 0) (sin.f64 (neg.f64 im))) (*.f64 (sin.f64 0) (cos.f64 (neg.f64 im)))))
(-.f64 (*.f64 (sin.f64 0) (-.f64 (cos.f64 (neg.f64 im)) (sin.f64 (-.f64 (*.f64 1/2 (PI.f64)) im)))) (+.f64 (neg.f64 (*.f64 (sin.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2))))) (*.f64 (cos.f64 0) (sin.f64 (neg.f64 im)))))
(-.f64 (*.f64 (sin.f64 0) (-.f64 (cos.f64 (neg.f64 im)) (sin.f64 (-.f64 (*.f64 1/2 (PI.f64)) im)))) (+.f64 (*.f64 (+.f64 re (*.f64 1/2 (pow.f64 re 2))) (neg.f64 (sin.f64 im))) (*.f64 (cos.f64 0) (sin.f64 (neg.f64 im)))))
(-.f64 (*.f64 (sin.f64 0) (-.f64 (cos.f64 (neg.f64 im)) (sin.f64 (-.f64 (*.f64 1/2 (PI.f64)) im)))) (-.f64 (*.f64 (cos.f64 0) (sin.f64 (neg.f64 im))) (*.f64 (sin.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2))))))
(-.f64 (-.f64 (*.f64 (sin.f64 0) (cos.f64 (neg.f64 im))) (neg.f64 (*.f64 (sin.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))))) (*.f64 (cos.f64 0) (sin.f64 (neg.f64 im))))
(-.f64 (-.f64 (*.f64 (sin.f64 0) (cos.f64 (neg.f64 im))) (*.f64 (cos.f64 0) (sin.f64 (neg.f64 im)))) (neg.f64 (*.f64 (sin.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2))))))
(-.f64 (-.f64 (*.f64 (sin.f64 0) (cos.f64 (neg.f64 im))) (*.f64 (cos.f64 0) (sin.f64 (neg.f64 im)))) (*.f64 (+.f64 re (*.f64 1/2 (pow.f64 re 2))) (neg.f64 (sin.f64 im))))
(+.f64 (*.f64 (sin.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))) (-.f64 (*.f64 (sin.f64 0) (cos.f64 (neg.f64 im))) (*.f64 (cos.f64 0) (sin.f64 (neg.f64 im)))))
(-.f64 (*.f64 (sin.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 (sin.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2))))))
(+.f64 (sin.f64 im) (*.f64 (sin.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))))
(*.f64 (sin.f64 im) (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) 1)))
(-.f64 (*.f64 3 (/.f64 (*.f64 (sin.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))) 2)) (-.f64 (*.f64 (sin.f64 im) (+.f64 (+.f64 re (*.f64 1/2 (pow.f64 re 2))) -1)) (/.f64 (*.f64 (sin.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))) 2)))
(-.f64 (/.f64 (*.f64 (sin.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))) 2) (-.f64 (*.f64 (sin.f64 im) (+.f64 (+.f64 re (*.f64 1/2 (pow.f64 re 2))) -1)) (*.f64 (*.f64 (sin.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))) 3/2)))
(-.f64 (/.f64 (*.f64 (sin.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))) 2) (-.f64 (*.f64 (sin.f64 im) (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re -1))) (*.f64 (*.f64 (sin.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))) 3/2)))
(-.f64 (-.f64 (*.f64 (sin.f64 im) 1/2) (neg.f64 (*.f64 (sin.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))))) (/.f64 (sin.f64 im) -2))
(-.f64 (+.f64 (*.f64 (sin.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))) (*.f64 1/2 (sin.f64 im))) (/.f64 (sin.f64 im) -2))
(-.f64 (*.f64 (sin.f64 im) (+.f64 (+.f64 re (*.f64 1/2 (pow.f64 re 2))) 1/2)) (/.f64 (sin.f64 im) -2))
(-.f64 (*.f64 (sin.f64 im) (+.f64 1/2 (+.f64 re (*.f64 1/2 (pow.f64 re 2))))) (/.f64 (sin.f64 im) -2))
(-.f64 (-.f64 (/.f64 (*.f64 (sin.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))) 2) (neg.f64 (sin.f64 im))) (/.f64 (*.f64 (sin.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))) -2))
(+.f64 (sin.f64 im) (*.f64 (sin.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))))
(*.f64 (sin.f64 im) (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) 1)))
(-.f64 (-.f64 (/.f64 (*.f64 (sin.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))) 2) (neg.f64 (sin.f64 im))) (-.f64 (neg.f64 (*.f64 (sin.f64 0) (cos.f64 im))) (/.f64 (*.f64 (sin.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))) 2)))
(-.f64 (sin.f64 im) (-.f64 (neg.f64 (*.f64 (sin.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2))))) (*.f64 (sin.f64 0) (cos.f64 im))))
(-.f64 (*.f64 (sin.f64 im) (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) 1))) (neg.f64 (*.f64 (sin.f64 0) (cos.f64 im))))
(+.f64 (sin.f64 im) (+.f64 (*.f64 (sin.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))) (*.f64 (sin.f64 0) (cos.f64 im))))
(-.f64 (-.f64 (*.f64 (sin.f64 im) 1/2) (neg.f64 (*.f64 (sin.f64 0) (cos.f64 im)))) (-.f64 (neg.f64 (*.f64 (sin.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2))))) (*.f64 (sin.f64 im) 1/2)))
(-.f64 (+.f64 (*.f64 (sin.f64 0) (cos.f64 im)) (*.f64 1/2 (sin.f64 im))) (-.f64 (neg.f64 (*.f64 (sin.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2))))) (*.f64 1/2 (sin.f64 im))))
(-.f64 (*.f64 1/2 (sin.f64 im)) (-.f64 (neg.f64 (*.f64 (sin.f64 0) (cos.f64 im))) (*.f64 (sin.f64 im) (+.f64 (+.f64 re (*.f64 1/2 (pow.f64 re 2))) 1/2))))
(-.f64 (+.f64 (*.f64 (sin.f64 0) (cos.f64 im)) (*.f64 1/2 (sin.f64 im))) (neg.f64 (*.f64 (sin.f64 im) (+.f64 1/2 (+.f64 re (*.f64 1/2 (pow.f64 re 2)))))))
(-.f64 (-.f64 (/.f64 (*.f64 (sin.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))) 2) (neg.f64 (*.f64 (sin.f64 0) (cos.f64 im)))) (-.f64 (neg.f64 (sin.f64 im)) (/.f64 (*.f64 (sin.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))) 2)))
(-.f64 (sin.f64 im) (-.f64 (neg.f64 (*.f64 (sin.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2))))) (*.f64 (sin.f64 0) (cos.f64 im))))
(-.f64 (*.f64 (sin.f64 im) (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) 1))) (neg.f64 (*.f64 (sin.f64 0) (cos.f64 im))))
(+.f64 (sin.f64 im) (+.f64 (*.f64 (sin.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))) (*.f64 (sin.f64 0) (cos.f64 im))))
(-.f64 (+.f64 (/.f64 (*.f64 (sin.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))) 2) (*.f64 (sin.f64 0) (cos.f64 (neg.f64 im)))) (-.f64 (*.f64 (cos.f64 0) (sin.f64 (neg.f64 im))) (/.f64 (*.f64 (sin.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))) 2)))
(-.f64 (-.f64 (*.f64 (sin.f64 0) (cos.f64 (neg.f64 im))) (*.f64 (cos.f64 0) (sin.f64 (neg.f64 im)))) (neg.f64 (*.f64 (sin.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2))))))
(-.f64 (-.f64 (*.f64 (sin.f64 0) (cos.f64 (neg.f64 im))) (*.f64 (cos.f64 0) (sin.f64 (neg.f64 im)))) (*.f64 (+.f64 re (*.f64 1/2 (pow.f64 re 2))) (neg.f64 (sin.f64 im))))
(+.f64 (*.f64 (sin.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))) (-.f64 (*.f64 (sin.f64 0) (cos.f64 (neg.f64 im))) (*.f64 (cos.f64 0) (sin.f64 (neg.f64 im)))))
(-.f64 (*.f64 (sin.f64 im) 0) (*.f64 (sin.f64 im) (-.f64 -1 (+.f64 re (*.f64 1/2 (pow.f64 re 2))))))
(+.f64 (sin.f64 im) (*.f64 (sin.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))))
(*.f64 (sin.f64 im) (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) 1)))
(-.f64 (*.f64 (cos.f64 (/.f64 im 2)) (sin.f64 (/.f64 im 2))) (-.f64 (neg.f64 (*.f64 (sin.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2))))) (*.f64 (cos.f64 (/.f64 im 2)) (sin.f64 (/.f64 im 2)))))
(-.f64 (*.f64 (cos.f64 (/.f64 im 2)) (sin.f64 (/.f64 im 2))) (-.f64 (*.f64 (+.f64 re (*.f64 1/2 (pow.f64 re 2))) (neg.f64 (sin.f64 im))) (*.f64 (cos.f64 (/.f64 im 2)) (sin.f64 (/.f64 im 2)))))
(+.f64 (*.f64 (sin.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))) (*.f64 -2 (neg.f64 (*.f64 (cos.f64 (/.f64 im 2)) (sin.f64 (/.f64 im 2))))))
(-.f64 (-.f64 (*.f64 (cos.f64 (/.f64 im 2)) (sin.f64 (/.f64 im 2))) (neg.f64 (*.f64 (sin.f64 0) (cos.f64 im)))) (-.f64 (neg.f64 (*.f64 (sin.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2))))) (*.f64 (cos.f64 (/.f64 im 2)) (sin.f64 (/.f64 im 2)))))
(-.f64 (*.f64 (cos.f64 (/.f64 im 2)) (sin.f64 (/.f64 im 2))) (-.f64 (neg.f64 (*.f64 (sin.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2))))) (-.f64 (*.f64 (cos.f64 (/.f64 im 2)) (sin.f64 (/.f64 im 2))) (neg.f64 (*.f64 (sin.f64 0) (cos.f64 im))))))
(-.f64 (*.f64 (cos.f64 (/.f64 im 2)) (sin.f64 (/.f64 im 2))) (-.f64 (*.f64 (+.f64 re (*.f64 1/2 (pow.f64 re 2))) (neg.f64 (sin.f64 im))) (+.f64 (*.f64 (cos.f64 (/.f64 im 2)) (sin.f64 (/.f64 im 2))) (*.f64 (sin.f64 0) (cos.f64 im)))))
(-.f64 (*.f64 -2 (neg.f64 (*.f64 (cos.f64 (/.f64 im 2)) (sin.f64 (/.f64 im 2))))) (-.f64 (*.f64 (sin.f64 im) (-.f64 (*.f64 (pow.f64 re 2) -1/2) re)) (*.f64 (sin.f64 0) (cos.f64 im))))
(-.f64 (-.f64 (*.f64 (sin.f64 im) 1/2) (*.f64 (sin.f64 0) (sin.f64 (-.f64 (*.f64 1/2 (PI.f64)) im)))) (-.f64 (neg.f64 (*.f64 (sin.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2))))) (*.f64 (sin.f64 im) 1/2)))
(-.f64 (*.f64 1/2 (sin.f64 im)) (-.f64 (neg.f64 (*.f64 (sin.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2))))) (-.f64 (*.f64 1/2 (sin.f64 im)) (*.f64 (sin.f64 0) (sin.f64 (-.f64 (*.f64 1/2 (PI.f64)) im))))))
(-.f64 (*.f64 1/2 (sin.f64 im)) (-.f64 (*.f64 (sin.f64 0) (sin.f64 (-.f64 (*.f64 1/2 (PI.f64)) im))) (*.f64 (sin.f64 im) (+.f64 (+.f64 re (*.f64 1/2 (pow.f64 re 2))) 1/2))))
(-.f64 (*.f64 1/2 (sin.f64 im)) (-.f64 (*.f64 (sin.f64 0) (sin.f64 (-.f64 (*.f64 1/2 (PI.f64)) im))) (*.f64 (sin.f64 im) (+.f64 1/2 (+.f64 re (*.f64 1/2 (pow.f64 re 2)))))))
(-.f64 (-.f64 (*.f64 (cos.f64 (/.f64 im 2)) (sin.f64 (/.f64 im 2))) (*.f64 (sin.f64 0) (sin.f64 (-.f64 (*.f64 1/2 (PI.f64)) im)))) (-.f64 (neg.f64 (*.f64 (sin.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2))))) (*.f64 (cos.f64 (/.f64 im 2)) (sin.f64 (/.f64 im 2)))))
(-.f64 (*.f64 (cos.f64 (/.f64 im 2)) (sin.f64 (/.f64 im 2))) (-.f64 (neg.f64 (*.f64 (sin.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2))))) (-.f64 (*.f64 (cos.f64 (/.f64 im 2)) (sin.f64 (/.f64 im 2))) (*.f64 (sin.f64 0) (sin.f64 (-.f64 (*.f64 1/2 (PI.f64)) im))))))
(-.f64 (*.f64 (cos.f64 (/.f64 im 2)) (sin.f64 (/.f64 im 2))) (-.f64 (*.f64 (+.f64 re (*.f64 1/2 (pow.f64 re 2))) (neg.f64 (sin.f64 im))) (-.f64 (*.f64 (cos.f64 (/.f64 im 2)) (sin.f64 (/.f64 im 2))) (*.f64 (sin.f64 0) (sin.f64 (-.f64 (*.f64 1/2 (PI.f64)) im))))))
(-.f64 (+.f64 (*.f64 (sin.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))) (*.f64 -2 (neg.f64 (*.f64 (cos.f64 (/.f64 im 2)) (sin.f64 (/.f64 im 2)))))) (*.f64 (sin.f64 0) (sin.f64 (-.f64 (*.f64 1/2 (PI.f64)) im))))
(-.f64 (-.f64 (*.f64 (cos.f64 (/.f64 im 2)) (sin.f64 (/.f64 im 2))) (/.f64 (*.f64 (sin.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))) -2)) (-.f64 (/.f64 (*.f64 (sin.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))) -2) (*.f64 (cos.f64 (/.f64 im 2)) (sin.f64 (/.f64 im 2)))))
(-.f64 (*.f64 (cos.f64 (/.f64 im 2)) (sin.f64 (/.f64 im 2))) (+.f64 (-.f64 (/.f64 (*.f64 (sin.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))) -2) (*.f64 (cos.f64 (/.f64 im 2)) (sin.f64 (/.f64 im 2)))) (/.f64 (*.f64 (sin.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))) -2)))
(-.f64 (*.f64 (cos.f64 (/.f64 im 2)) (sin.f64 (/.f64 im 2))) (+.f64 (/.f64 (*.f64 (sin.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))) -2) (-.f64 (/.f64 (*.f64 (sin.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))) -2) (*.f64 (cos.f64 (/.f64 im 2)) (sin.f64 (/.f64 im 2))))))
(+.f64 (/.f64 (*.f64 (sin.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))) 2) (-.f64 (*.f64 (cos.f64 (/.f64 im 2)) (sin.f64 (/.f64 im 2))) (-.f64 (*.f64 (*.f64 (sin.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))) -1/2) (*.f64 (cos.f64 (/.f64 im 2)) (sin.f64 (/.f64 im 2))))))
(-.f64 (-.f64 (*.f64 (cos.f64 (/.f64 im 2)) (sin.f64 (/.f64 im 2))) (neg.f64 (*.f64 (sin.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))))) (-.f64 0 (*.f64 (cos.f64 (/.f64 im 2)) (sin.f64 (/.f64 im 2)))))
(-.f64 (*.f64 (cos.f64 (/.f64 im 2)) (sin.f64 (/.f64 im 2))) (-.f64 (neg.f64 (*.f64 (sin.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2))))) (*.f64 (cos.f64 (/.f64 im 2)) (sin.f64 (/.f64 im 2)))))
(-.f64 (*.f64 (cos.f64 (/.f64 im 2)) (sin.f64 (/.f64 im 2))) (-.f64 (*.f64 (+.f64 re (*.f64 1/2 (pow.f64 re 2))) (neg.f64 (sin.f64 im))) (*.f64 (cos.f64 (/.f64 im 2)) (sin.f64 (/.f64 im 2)))))
(+.f64 (*.f64 (sin.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))) (*.f64 -2 (neg.f64 (*.f64 (cos.f64 (/.f64 im 2)) (sin.f64 (/.f64 im 2))))))
(-.f64 (-.f64 (/.f64 (*.f64 (sin.f64 im) (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re 1))) 2) (neg.f64 (*.f64 (sin.f64 0) (cos.f64 im)))) (neg.f64 (/.f64 (*.f64 (sin.f64 im) (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re 1))) 2)))
(-.f64 (sin.f64 im) (-.f64 (neg.f64 (*.f64 (sin.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2))))) (*.f64 (sin.f64 0) (cos.f64 im))))
(-.f64 (*.f64 (sin.f64 im) (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) 1))) (neg.f64 (*.f64 (sin.f64 0) (cos.f64 im))))
(+.f64 (sin.f64 im) (+.f64 (*.f64 (sin.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))) (*.f64 (sin.f64 0) (cos.f64 im))))
(-.f64 (-.f64 (/.f64 (*.f64 (sin.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))) 2) (-.f64 0 (*.f64 (sin.f64 0) (*.f64 (cos.f64 im) 2)))) (-.f64 (neg.f64 (sin.f64 im)) (/.f64 (*.f64 (sin.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))) 2)))
(-.f64 (sin.f64 im) (-.f64 0 (+.f64 (*.f64 (sin.f64 0) (*.f64 2 (cos.f64 im))) (*.f64 (sin.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))))))
(+.f64 (*.f64 (sin.f64 im) (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) 1))) (neg.f64 (neg.f64 (*.f64 2 (*.f64 (sin.f64 0) (cos.f64 im))))))
(-.f64 (*.f64 (sin.f64 im) (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) 1))) (/.f64 (*.f64 (sin.f64 0) (cos.f64 im)) -1/2))
(-.f64 (-.f64 (/.f64 (*.f64 (sin.f64 im) (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re 1))) 2) (*.f64 (sin.f64 0) (sin.f64 (-.f64 (*.f64 1/2 (PI.f64)) im)))) (neg.f64 (/.f64 (*.f64 (sin.f64 im) (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re 1))) 2)))
(-.f64 (sin.f64 im) (+.f64 (neg.f64 (*.f64 (sin.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2))))) (*.f64 (sin.f64 0) (sin.f64 (-.f64 (*.f64 1/2 (PI.f64)) im)))))
(+.f64 (*.f64 (sin.f64 im) (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) 1))) (neg.f64 (*.f64 (sin.f64 0) (sin.f64 (-.f64 (*.f64 1/2 (PI.f64)) im)))))
(-.f64 (*.f64 (sin.f64 im) (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) 1))) (*.f64 (sin.f64 0) (sin.f64 (-.f64 (*.f64 1/2 (PI.f64)) im))))
(-.f64 (-.f64 (*.f64 (sin.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))) (-.f64 (/.f64 (*.f64 (sin.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))) 2) (sin.f64 im))) (-.f64 (/.f64 (*.f64 (sin.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))) 2) (*.f64 (sin.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2))))))
(+.f64 (sin.f64 im) (*.f64 (sin.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))))
(*.f64 (sin.f64 im) (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) 1)))
(*.f64 (sin.f64 im) (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re 1)))
(+.f64 (sin.f64 im) (*.f64 (sin.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))))
(*.f64 (sin.f64 im) (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) 1)))
(*.f64 (sin.f64 im) (+.f64 (+.f64 re (*.f64 1/2 (pow.f64 re 2))) (cos.f64 0)))
(*.f64 (sin.f64 im) (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) (cos.f64 0))))
(*.f64 (sin.f64 im) (-.f64 (+.f64 re (*.f64 1/2 (pow.f64 re 2))) (neg.f64 (cos.f64 0))))
(*.f64 (sin.f64 im) (+.f64 (+.f64 re (*.f64 1/2 (pow.f64 re 2))) (cos.f64 0)))
(*.f64 (sin.f64 im) (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) (cos.f64 0))))
(*.f64 (sin.f64 im) (-.f64 (+.f64 re (+.f64 re (pow.f64 re 2))) (+.f64 (+.f64 re (*.f64 1/2 (pow.f64 re 2))) -1)))
(+.f64 (sin.f64 im) (*.f64 (sin.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))))
(*.f64 (sin.f64 im) (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) 1)))
(*.f64 1/2 (*.f64 (sin.f64 im) (+.f64 (+.f64 re (+.f64 re (pow.f64 re 2))) 2)))
(+.f64 (sin.f64 im) (*.f64 (sin.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))))
(*.f64 (sin.f64 im) (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) 1)))
(*.f64 (*.f64 (sin.f64 im) (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re 1))) 1)
(+.f64 (sin.f64 im) (*.f64 (sin.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))))
(*.f64 (sin.f64 im) (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) 1)))
(*.f64 1 (*.f64 (sin.f64 im) (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re 1))))
(+.f64 (sin.f64 im) (*.f64 (sin.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))))
(*.f64 (sin.f64 im) (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) 1)))
(*.f64 (neg.f64 (sin.f64 im)) (-.f64 (-.f64 (*.f64 (pow.f64 re 2) -1/2) re) 1))
(+.f64 (sin.f64 im) (*.f64 (sin.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))))
(*.f64 (sin.f64 im) (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) 1)))
(*.f64 (*.f64 (sin.f64 im) 2) (/.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re 1)) 2))
(+.f64 (sin.f64 im) (*.f64 (sin.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))))
(*.f64 (sin.f64 im) (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) 1)))
(*.f64 (*.f64 (sin.f64 im) 2) (-.f64 (+.f64 (/.f64 re 2) (/.f64 (pow.f64 re 2) 4)) -1/2))
(*.f64 (*.f64 2 (sin.f64 im)) (-.f64 (+.f64 (/.f64 re 2) (/.f64 (pow.f64 re 2) 4)) -1/2))
(*.f64 2 (*.f64 (sin.f64 im) (-.f64 (+.f64 (/.f64 re 2) (/.f64 (pow.f64 re 2) 4)) -1/2)))
(*.f64 (*.f64 (sin.f64 im) 2) (+.f64 1/2 (+.f64 (/.f64 re 2) (/.f64 (pow.f64 re 2) 4))))
(+.f64 (sin.f64 im) (*.f64 (sin.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))))
(*.f64 (sin.f64 im) (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) 1)))
(*.f64 (*.f64 (sin.f64 im) 2) (+.f64 (+.f64 (/.f64 re 2) (/.f64 (pow.f64 re 2) 4)) 1/2))
(+.f64 (sin.f64 im) (*.f64 (sin.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))))
(*.f64 (sin.f64 im) (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) 1)))
(*.f64 (*.f64 (sin.f64 im) (+.f64 (+.f64 re (+.f64 re (pow.f64 re 2))) 2)) 1/2)
(+.f64 (sin.f64 im) (*.f64 (sin.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))))
(*.f64 (sin.f64 im) (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) 1)))
(*.f64 (*.f64 (sin.f64 im) 1/2) (+.f64 (*.f64 (cos.f64 0) 2) (+.f64 re (+.f64 re (pow.f64 re 2)))))
(*.f64 (*.f64 1/2 (sin.f64 im)) (+.f64 (+.f64 re (pow.f64 re 2)) (+.f64 re (*.f64 2 (cos.f64 0)))))
(*.f64 (sin.f64 im) (*.f64 1/2 (+.f64 (+.f64 re (pow.f64 re 2)) (+.f64 re (*.f64 2 (cos.f64 0))))))
(*.f64 (sin.f64 im) (*.f64 1/2 (+.f64 re (+.f64 (pow.f64 re 2) (+.f64 re (*.f64 2 (cos.f64 0)))))))
(*.f64 (*.f64 (sin.f64 im) 1/2) (+.f64 (+.f64 re (+.f64 re (pow.f64 re 2))) (*.f64 (cos.f64 0) 2)))
(*.f64 (*.f64 1/2 (sin.f64 im)) (+.f64 (+.f64 re (pow.f64 re 2)) (+.f64 re (*.f64 2 (cos.f64 0)))))
(*.f64 (sin.f64 im) (*.f64 1/2 (+.f64 (+.f64 re (pow.f64 re 2)) (+.f64 re (*.f64 2 (cos.f64 0))))))
(*.f64 (sin.f64 im) (*.f64 1/2 (+.f64 re (+.f64 (pow.f64 re 2) (+.f64 re (*.f64 2 (cos.f64 0)))))))
(*.f64 1/4 (*.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re 1)) (*.f64 (sin.f64 im) 4)))
(+.f64 (sin.f64 im) (*.f64 (sin.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))))
(*.f64 (sin.f64 im) (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) 1)))
(*.f64 (*.f64 (sin.f64 im) (-.f64 -1 (+.f64 re (*.f64 1/2 (pow.f64 re 2))))) -1)
(+.f64 (sin.f64 im) (*.f64 (sin.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))))
(*.f64 (sin.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)) (sin.f64 im))
(+.f64 (sin.f64 im) (*.f64 (sin.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))))
(*.f64 (sin.f64 im) (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) 1)))
(*.f64 (*.f64 (sin.f64 im) 4) (/.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re 1)) 4))
(+.f64 (sin.f64 im) (*.f64 (sin.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))))
(*.f64 (sin.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 (sin.f64 im) 4)) 1/4)
(+.f64 (sin.f64 im) (*.f64 (sin.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))))
(*.f64 (sin.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 (sin.f64 im)))
(+.f64 (sin.f64 im) (*.f64 (sin.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))))
(*.f64 (sin.f64 im) (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) 1)))
(*.f64 (+.f64 (+.f64 re (*.f64 1/2 (pow.f64 re 2))) (cos.f64 0)) (sin.f64 im))
(*.f64 (sin.f64 im) (+.f64 (+.f64 re (*.f64 1/2 (pow.f64 re 2))) (cos.f64 0)))
(*.f64 (sin.f64 im) (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) (cos.f64 0))))
(*.f64 (*.f64 2 (*.f64 (sin.f64 im) 4)) (/.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re 1)) 8))
(+.f64 (sin.f64 im) (*.f64 (sin.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))))
(*.f64 (sin.f64 im) (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) 1)))
(*.f64 (*.f64 (*.f64 (sin.f64 im) (+.f64 (+.f64 re (+.f64 re (pow.f64 re 2))) 2)) 4) 1/8)
(+.f64 (sin.f64 im) (*.f64 (sin.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))))
(*.f64 (sin.f64 im) (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) 1)))
(/.f64 (*.f64 (sin.f64 im) (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re 1))) 1)
(+.f64 (sin.f64 im) (*.f64 (sin.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))))
(*.f64 (sin.f64 im) (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) 1)))
(/.f64 (*.f64 (sin.f64 im) (+.f64 (+.f64 re (+.f64 re (pow.f64 re 2))) 2)) 2)
(+.f64 (sin.f64 im) (*.f64 (sin.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))))
(*.f64 (sin.f64 im) (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) 1)))
(/.f64 (*.f64 (sin.f64 im) (-.f64 -1 (+.f64 re (*.f64 1/2 (pow.f64 re 2))))) -1)
(+.f64 (sin.f64 im) (*.f64 (sin.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))))
(*.f64 (sin.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 (sin.f64 im) 4)) 4)
(/.f64 (*.f64 4 (*.f64 (sin.f64 im) (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re 1)))) 4)
(/.f64 (*.f64 4 (*.f64 (sin.f64 im) (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) 1)))) 4)
(/.f64 (*.f64 (*.f64 (sin.f64 im) 4) (+.f64 (+.f64 re re) (+.f64 2 (pow.f64 re 2)))) 8)
(/.f64 (*.f64 (*.f64 (sin.f64 im) (+.f64 (+.f64 re (+.f64 re (pow.f64 re 2))) 2)) 4) 8)
(/.f64 (*.f64 4 (*.f64 (sin.f64 im) (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re 1)))) 4)
(/.f64 (*.f64 4 (*.f64 (sin.f64 im) (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) 1)))) 4)
(/.f64 (*.f64 (*.f64 (sin.f64 im) 4) (+.f64 (+.f64 re re) (+.f64 2 (pow.f64 re 2)))) 8)
(/.f64 (-.f64 (*.f64 (sin.f64 im) 4) (neg.f64 (*.f64 (sin.f64 im) (+.f64 (*.f64 2 (pow.f64 re 2)) (*.f64 re 4))))) 4)
(/.f64 (-.f64 (*.f64 (sin.f64 im) (+.f64 (*.f64 2 (pow.f64 re 2)) (*.f64 re 4))) (neg.f64 (*.f64 (sin.f64 im) 4))) 4)
(/.f64 (-.f64 (*.f64 (sin.f64 im) (-.f64 (*.f64 re 4) (*.f64 (pow.f64 re 2) -2))) (/.f64 (sin.f64 im) -1/4)) 4)
(/.f64 (-.f64 (*.f64 (sin.f64 im) (+.f64 (*.f64 2 (pow.f64 re 2)) (*.f64 re 4))) (neg.f64 (*.f64 (sin.f64 im) 4))) 4)
(/.f64 (-.f64 (*.f64 (sin.f64 im) 4) (neg.f64 (*.f64 (sin.f64 im) (+.f64 (*.f64 2 (pow.f64 re 2)) (*.f64 re 4))))) 4)
(/.f64 (-.f64 (*.f64 (sin.f64 im) (-.f64 (*.f64 re 4) (*.f64 (pow.f64 re 2) -2))) (/.f64 (sin.f64 im) -1/4)) 4)
(/.f64 (-.f64 (*.f64 (sin.f64 im) (+.f64 (*.f64 2 (pow.f64 re 2)) (*.f64 re 4))) (*.f64 2 (*.f64 (sin.f64 im) -2))) 4)
(/.f64 (-.f64 (*.f64 (sin.f64 im) (+.f64 (*.f64 2 (pow.f64 re 2)) (*.f64 re 4))) (*.f64 -2 (*.f64 2 (sin.f64 im)))) 4)
(/.f64 (-.f64 (*.f64 (sin.f64 im) (+.f64 (*.f64 2 (pow.f64 re 2)) (*.f64 re 4))) (*.f64 (sin.f64 im) -4)) 4)
(/.f64 (-.f64 (*.f64 (sin.f64 im) (-.f64 (*.f64 re 4) (*.f64 (pow.f64 re 2) -2))) (*.f64 (sin.f64 im) -4)) 4)
(/.f64 (-.f64 (*.f64 (sin.f64 im) (+.f64 (+.f64 re (+.f64 re (pow.f64 re 2))) 2)) (-.f64 (cos.f64 (+.f64 im (/.f64 (PI.f64) -2))) (sin.f64 im))) 2)
(/.f64 (-.f64 (sin.f64 im) (-.f64 (cos.f64 (+.f64 im (/.f64 (PI.f64) -2))) (*.f64 (sin.f64 im) (+.f64 2 (+.f64 (pow.f64 re 2) (+.f64 re re)))))) 2)
(/.f64 (-.f64 (*.f64 (sin.f64 im) (+.f64 2 (+.f64 (pow.f64 re 2) (+.f64 re re)))) (-.f64 (cos.f64 (+.f64 im (/.f64 (PI.f64) -2))) (sin.f64 im))) 2)
(-.f64 (*.f64 (sin.f64 im) (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) 1))) (/.f64 (-.f64 (cos.f64 (+.f64 im (/.f64 (PI.f64) -2))) (sin.f64 im)) 2))
(/.f64 (-.f64 (*.f64 (sin.f64 im) (+.f64 (*.f64 2 (pow.f64 re 2)) (*.f64 re 4))) (*.f64 (*.f64 (sin.f64 im) 2) (+.f64 (+.f64 re (*.f64 1/2 (pow.f64 re 2))) -1))) 2)
(/.f64 (-.f64 (*.f64 (sin.f64 im) (+.f64 (*.f64 2 (pow.f64 re 2)) (*.f64 re 4))) (*.f64 (*.f64 2 (sin.f64 im)) (+.f64 (+.f64 re (*.f64 1/2 (pow.f64 re 2))) -1))) 2)
(/.f64 (-.f64 (*.f64 (sin.f64 im) (+.f64 (*.f64 2 (pow.f64 re 2)) (*.f64 re 4))) (*.f64 2 (*.f64 (sin.f64 im) (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re -1))))) 2)
(/.f64 (-.f64 (*.f64 (sin.f64 im) (-.f64 (*.f64 re 4) (*.f64 (pow.f64 re 2) -2))) (*.f64 2 (*.f64 (sin.f64 im) (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re -1))))) 2)
(pow.f64 (*.f64 (sin.f64 im) (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re 1))) 1)
(+.f64 (sin.f64 im) (*.f64 (sin.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))))
(*.f64 (sin.f64 im) (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) 1)))
(neg.f64 (*.f64 (sin.f64 im) (-.f64 -1 (+.f64 re (*.f64 1/2 (pow.f64 re 2))))))
(+.f64 (sin.f64 im) (*.f64 (sin.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))))
(*.f64 (sin.f64 im) (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) 1)))
(+.f64 (pow.f64 re 2) 0)
(pow.f64 re 2)
(+.f64 (*.f64 1/2 (pow.f64 re 2)) (*.f64 1/2 (pow.f64 re 2)))
(pow.f64 re 2)
(+.f64 (*.f64 1/2 (pow.f64 re 2)) (neg.f64 (*.f64 (pow.f64 re 2) -1/2)))
(pow.f64 re 2)
(+.f64 0 (pow.f64 re 2))
(pow.f64 re 2)
(+.f64 (/.f64 (pow.f64 re 2) 4) (+.f64 (*.f64 1/2 (pow.f64 re 2)) (/.f64 (pow.f64 re 2) 4)))
(+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 (/.f64 (pow.f64 re 2) 4) (/.f64 (pow.f64 re 2) 4)))
(+.f64 (/.f64 (pow.f64 re 2) 4) (*.f64 (pow.f64 re 2) 3/4))
(+.f64 (/.f64 (pow.f64 re 2) 4) (*.f64 3 (/.f64 (pow.f64 re 2) 4)))
(+.f64 (/.f64 (pow.f64 re 2) 4) (+.f64 (*.f64 1/2 (pow.f64 re 2)) (/.f64 (pow.f64 re 2) 4)))
(+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 (/.f64 (pow.f64 re 2) 4) (/.f64 (pow.f64 re 2) 4)))
(+.f64 (/.f64 (pow.f64 re 2) 4) (*.f64 (pow.f64 re 2) 3/4))
(+.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (/.f64 (pow.f64 re 2) 4)) (/.f64 (pow.f64 re 2) 4))
(+.f64 (/.f64 (pow.f64 re 2) 4) (+.f64 (*.f64 1/2 (pow.f64 re 2)) (/.f64 (pow.f64 re 2) 4)))
(+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 (/.f64 (pow.f64 re 2) 4) (/.f64 (pow.f64 re 2) 4)))
(+.f64 (/.f64 (pow.f64 re 2) 4) (*.f64 (pow.f64 re 2) 3/4))
(+.f64 (neg.f64 (*.f64 (pow.f64 re 2) -1/2)) (*.f64 1/2 (pow.f64 re 2)))
(pow.f64 re 2)
(+.f64 (*.f64 3 (/.f64 (pow.f64 re 2) 4)) (/.f64 (pow.f64 re 2) 4))
(+.f64 (/.f64 (pow.f64 re 2) 4) (+.f64 (*.f64 1/2 (pow.f64 re 2)) (/.f64 (pow.f64 re 2) 4)))
(+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 (/.f64 (pow.f64 re 2) 4) (/.f64 (pow.f64 re 2) 4)))
(+.f64 (/.f64 (pow.f64 re 2) 4) (*.f64 (pow.f64 re 2) 3/4))
(-.f64 (pow.f64 re 2) 0)
(pow.f64 re 2)
(-.f64 (*.f64 1/2 (pow.f64 re 2)) (*.f64 (pow.f64 re 2) -1/2))
(pow.f64 re 2)
(-.f64 (*.f64 1/2 (pow.f64 re 2)) (-.f64 (/.f64 (pow.f64 re 2) -4) (/.f64 (pow.f64 re 2) 4)))
(+.f64 (/.f64 (pow.f64 re 2) 4) (+.f64 (*.f64 1/2 (pow.f64 re 2)) (/.f64 (pow.f64 re 2) 4)))
(+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 (/.f64 (pow.f64 re 2) 4) (/.f64 (pow.f64 re 2) 4)))
(+.f64 (/.f64 (pow.f64 re 2) 4) (*.f64 (pow.f64 re 2) 3/4))
(-.f64 0 (neg.f64 (pow.f64 re 2)))
(pow.f64 re 2)
(-.f64 (/.f64 (pow.f64 re 2) 4) (*.f64 -3 (/.f64 (pow.f64 re 2) 4)))
(+.f64 (/.f64 (pow.f64 re 2) 4) (+.f64 (*.f64 1/2 (pow.f64 re 2)) (/.f64 (pow.f64 re 2) 4)))
(+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 (/.f64 (pow.f64 re 2) 4) (/.f64 (pow.f64 re 2) 4)))
(+.f64 (/.f64 (pow.f64 re 2) 4) (*.f64 (pow.f64 re 2) 3/4))
(-.f64 (/.f64 (pow.f64 re 2) 4) (+.f64 (/.f64 (pow.f64 re 2) -4) (*.f64 (pow.f64 re 2) -1/2)))
(+.f64 (/.f64 (pow.f64 re 2) 4) (+.f64 (*.f64 1/2 (pow.f64 re 2)) (/.f64 (pow.f64 re 2) 4)))
(+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 (/.f64 (pow.f64 re 2) 4) (/.f64 (pow.f64 re 2) 4)))
(+.f64 (/.f64 (pow.f64 re 2) 4) (*.f64 (pow.f64 re 2) 3/4))
(-.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (/.f64 (pow.f64 re 2) 4)) (/.f64 (pow.f64 re 2) -4))
(+.f64 (/.f64 (pow.f64 re 2) 4) (+.f64 (*.f64 1/2 (pow.f64 re 2)) (/.f64 (pow.f64 re 2) 4)))
(+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 (/.f64 (pow.f64 re 2) 4) (/.f64 (pow.f64 re 2) 4)))
(+.f64 (/.f64 (pow.f64 re 2) 4) (*.f64 (pow.f64 re 2) 3/4))
(-.f64 (*.f64 3 (/.f64 (pow.f64 re 2) 4)) (/.f64 (pow.f64 re 2) -4))
(+.f64 (/.f64 (pow.f64 re 2) 4) (+.f64 (*.f64 1/2 (pow.f64 re 2)) (/.f64 (pow.f64 re 2) 4)))
(+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 (/.f64 (pow.f64 re 2) 4) (/.f64 (pow.f64 re 2) 4)))
(+.f64 (/.f64 (pow.f64 re 2) 4) (*.f64 (pow.f64 re 2) 3/4))
(*.f64 1/2 (*.f64 2 (pow.f64 re 2)))
(pow.f64 re 2)
(*.f64 2 (*.f64 1/2 (pow.f64 re 2)))
(pow.f64 re 2)
(*.f64 (pow.f64 re 2) 1)
(pow.f64 re 2)
(*.f64 (*.f64 1/2 (pow.f64 re 2)) 2)
(pow.f64 re 2)
(*.f64 1 (pow.f64 re 2))
(pow.f64 re 2)
(*.f64 (*.f64 (pow.f64 re 2) -1/2) -2)
(pow.f64 re 2)
(*.f64 (*.f64 2 (pow.f64 re 2)) 1/2)
(pow.f64 re 2)
(*.f64 -2 (*.f64 (pow.f64 re 2) -1/2))
(pow.f64 re 2)
(*.f64 1/4 (*.f64 (pow.f64 re 2) 4))
(pow.f64 re 2)
(*.f64 1/4 (pow.f64 (+.f64 re re) 2))
(*.f64 (neg.f64 (pow.f64 re 2)) -1)
(pow.f64 re 2)
(*.f64 (*.f64 (pow.f64 re 2) 4) 1/4)
(pow.f64 re 2)
(*.f64 (neg.f64 (*.f64 2 (pow.f64 re 2))) -1/2)
(pow.f64 re 2)
(*.f64 (*.f64 1/2 (*.f64 1/2 (pow.f64 re 2))) 4)
(pow.f64 re 2)
(*.f64 1/8 (*.f64 2 (*.f64 (pow.f64 re 2) 4)))
(pow.f64 re 2)
(*.f64 (*.f64 2 (*.f64 (pow.f64 re 2) 4)) 1/8)
(pow.f64 re 2)
(*.f64 (pow.f64 (+.f64 re re) 2) 1/4)
(*.f64 1/4 (pow.f64 (+.f64 re re) 2))
(/.f64 (pow.f64 re 2) 1)
(pow.f64 re 2)
(/.f64 (*.f64 2 (pow.f64 re 2)) 2)
(pow.f64 re 2)
(/.f64 (*.f64 (pow.f64 re 2) 4) 4)
(pow.f64 re 2)
(/.f64 (*.f64 2 (*.f64 (pow.f64 re 2) 4)) 8)
(pow.f64 re 2)
(neg.f64 (neg.f64 (pow.f64 re 2)))
(pow.f64 re 2)

eval434.0ms (5.5%)

Compiler

Compiled 12420 to 7974 computations (35.8% saved)

prune108.0ms (1.4%)

Pruning

9 alts after pruning (4 fresh and 5 done)

PrunedKeptTotal
New6324636
Fresh000
Picked011
Done145
Total6339642
Error
0.0b
Counts
642 → 9
Alt Table
Click to see full alt table
StatusErrorProgram
43.9b
(+.f64 (*.f64 re im) im)
20.6b
(+.f64 (sin.f64 im) (*.f64 (sin.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))))
43.9b
(*.f64 (+.f64 1 re) im)
20.4b
(*.f64 (sin.f64 im) (-.f64 (+.f64 re re) (+.f64 re -1)))
20.4b
(*.f64 (sin.f64 im) (-.f64 re -1))
0.0b
(*.f64 (exp.f64 re) (sin.f64 im))
23.4b
(*.f64 (exp.f64 re) im)
20.7b
(sin.f64 im)
43.8b
im
Compiler

Compiled 69 to 47 computations (31.9% saved)

localize12.0ms (0.1%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.0b
(-.f64 (+.f64 re re) (+.f64 re -1))
0.1b
(*.f64 (sin.f64 im) (-.f64 (+.f64 re re) (+.f64 re -1)))
Compiler

Compiled 30 to 14 computations (53.3% saved)

series5.0ms (0.1%)

Counts
2 → 36
Calls

9 calls:

TimeVariablePointExpression
3.0ms
re
@0
(*.f64 (sin.f64 im) (-.f64 (+.f64 re re) (+.f64 re -1)))
0.0ms
im
@0
(*.f64 (sin.f64 im) (-.f64 (+.f64 re re) (+.f64 re -1)))
0.0ms
im
@inf
(*.f64 (sin.f64 im) (-.f64 (+.f64 re re) (+.f64 re -1)))
0.0ms
re
@inf
(*.f64 (sin.f64 im) (-.f64 (+.f64 re re) (+.f64 re -1)))
0.0ms
im
@-inf
(*.f64 (sin.f64 im) (-.f64 (+.f64 re re) (+.f64 re -1)))

rewrite90.0ms (1.2%)

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

Useful iterations: 1 (0.0ms)

IterNodesCost
01148
18424
222624
372024
4351024
Stop Event
node limit
Counts
2 → 91
Calls
Call 1
Inputs
(*.f64 (sin.f64 im) (-.f64 (+.f64 re re) (+.f64 re -1)))
(-.f64 (+.f64 re re) (+.f64 re -1))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (sin.f64 im) (+.f64 re 1)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (sin.f64 im) (+.f64 re 1)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (*.f64 (sin.f64 im) (+.f64 re 1)) 2) (/.f64 (*.f64 (sin.f64 im) (+.f64 re 1)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (sin.f64 im) (+.f64 re 1)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (sin.f64 im) (+.f64 re (+.f64 re 2))) (*.f64 (sin.f64 im) (+.f64 re 1)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (*.f64 (sin.f64 im) (+.f64 re 1)) 2) (/.f64 (neg.f64 (*.f64 (sin.f64 im) (+.f64 re 1))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sin.f64 im) (+.f64 re 1)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sin.f64 im) (+.f64 re (+.f64 re 2))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sin.f64 im) (*.f64 (+.f64 re 1) 4)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sin.f64 im) (-.f64 -1 re)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sin.f64 im) (+.f64 -2 (*.f64 re -2))) -2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 -1 re) (*.f64 (sin.f64 im) 4)) -4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 (sin.f64 im) (*.f64 (+.f64 re 1) 4)) (*.f64 (sin.f64 im) (*.f64 (+.f64 re 1) 4))) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 (+.f64 re 1) 4) (*.f64 (sin.f64 im) 4)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 (sin.f64 im) (+.f64 -2 (*.f64 re -2))) 2) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 (-.f64 -1 re) (*.f64 (sin.f64 im) 4)) 2) -2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 2 (*.f64 (sin.f64 im) (*.f64 (+.f64 re 1) 4))) 2) 4)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (sin.f64 im) (+.f64 re 1)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (*.f64 (sin.f64 im) (-.f64 -1 re)))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 re 1)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 re (+.f64 (+.f64 re (+.f64 re 1)) (*.f64 re -2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 re (-.f64 (+.f64 re (+.f64 re 1)) (+.f64 re re)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 re re) (-.f64 1 re))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 -1 (+.f64 re 2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 -1 (-.f64 1 (-.f64 -1 re)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 -1 (-.f64 (+.f64 re (+.f64 re 1)) (+.f64 re -1)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 re -1) 2)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 re 1) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (+.f64 re 1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 1 re)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 2 (+.f64 re -1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (neg.f64 re) (+.f64 re (+.f64 re 1)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 re (+.f64 re 1)) (neg.f64 re))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 1 re) (+.f64 re re))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 -1 re) (+.f64 re (+.f64 re 2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 re (+.f64 re 2)) (-.f64 -1 re))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 1 (*.f64 re 3)) (*.f64 re -2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 re 2) -1)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (+.f64 re re) -1) (+.f64 2 (neg.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 re 3) (+.f64 1 (*.f64 re -2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 re -2) (+.f64 1 (*.f64 re 3)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 1/2 (/.f64 (+.f64 re (+.f64 re 1)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 1/2 (+.f64 (/.f64 (+.f64 (+.f64 re re) -1) 2) 1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 1/2 (/.f64 re 2)) (+.f64 1/2 (/.f64 re 2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 re 2) (+.f64 1 (/.f64 re 2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 re 2) (/.f64 (+.f64 re 2) 2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 re -2) (-.f64 (+.f64 re (+.f64 re 1)) (/.f64 re 2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 re -2) (/.f64 (+.f64 2 (*.f64 re 3)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 2 (neg.f64 re)) (+.f64 (+.f64 re re) -1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 1 (*.f64 re -2)) (*.f64 re 3))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (+.f64 re (+.f64 re 1)) (*.f64 re -2)) re)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 1 (-.f64 -1 re)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 3 (/.f64 re 2)) (-.f64 (/.f64 re 2) (+.f64 re -1)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 1 (/.f64 re 2)) (/.f64 re 2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 1 (/.f64 re 2)) (+.f64 (+.f64 -1 (/.f64 re 2)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 1 (/.f64 re 2)) (+.f64 (/.f64 (+.f64 re -2) 2) 1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (+.f64 re (+.f64 re 1)) (+.f64 re re)) re)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (+.f64 re -1) -2) (-.f64 (+.f64 re re) (+.f64 (/.f64 re 2) -1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (+.f64 re -1) -2) (/.f64 (+.f64 1 (*.f64 re 3)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (+.f64 re re) (+.f64 (/.f64 re 2) -1/2)) (/.f64 (+.f64 re -1) -2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (+.f64 re (+.f64 re 1)) (+.f64 re -1)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (+.f64 re (+.f64 re 1)) (/.f64 re 2)) (/.f64 re -2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (+.f64 re (+.f64 re 1)) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (+.f64 re 2) 2) (/.f64 re 2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (+.f64 2 (*.f64 re 3)) 2) (/.f64 re -2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (+.f64 1 (*.f64 re 3)) 2) (/.f64 (+.f64 re -1) -2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (/.f64 re 2) (+.f64 re -1)) (*.f64 3 (/.f64 re 2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (-.f64 (+.f64 (+.f64 re re) -1) (+.f64 re re)) 1) (+.f64 re 1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (-.f64 (+.f64 re re) (+.f64 1/2 (/.f64 re 2))) 1) (+.f64 (/.f64 (-.f64 -1 re) 2) 1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (-.f64 -1 (+.f64 -1 (*.f64 re -2))) 1) (neg.f64 re))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (-.f64 (+.f64 (+.f64 re re) -1) (+.f64 re -1)) 1) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (-.f64 (+.f64 (+.f64 re re) -1) (/.f64 re 2)) 1) (+.f64 1 (/.f64 re -2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (-.f64 -1 re))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 re 1) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 re 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (+.f64 re 1) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 -1 re) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 re (+.f64 re 2)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (+.f64 re (+.f64 re 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 re 1) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (+.f64 re 1) 4))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 re 1) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 -1 re) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 re (+.f64 re 2)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 re 1) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 (+.f64 re 1) 4) (*.f64 (+.f64 re 1) 4)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 (+.f64 re re) 4) (*.f64 (-.f64 1 re) -4)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (-.f64 (*.f64 (-.f64 1 re) -4) (*.f64 (+.f64 re re) 4)) -1) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (+.f64 (+.f64 -2 (*.f64 re -2)) (+.f64 -2 (*.f64 re -2))) -1) 4)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (+.f64 re 1) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (-.f64 -1 re))))))

simplify151.0ms (1.9%)

Algorithm
egg-herbie
Rules
1438×rational_best-simplify-66
1138×rational_best-simplify-47
1090×rational_best-simplify-55
970×rational_best-simplify-63
612×rational_best-simplify-1
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
02182053
15692053
214212053
351941453
Stop Event
node limit
Counts
127 → 122
Calls
Call 1
Inputs
(*.f64 (-.f64 (+.f64 1 (*.f64 2 re)) re) im)
(+.f64 (*.f64 (-.f64 (+.f64 1 (*.f64 2 re)) re) im) (*.f64 -1/6 (*.f64 (-.f64 (+.f64 1 (*.f64 2 re)) re) (pow.f64 im 3))))
(+.f64 (*.f64 (-.f64 (+.f64 1 (*.f64 2 re)) re) im) (+.f64 (*.f64 1/120 (*.f64 (-.f64 (+.f64 1 (*.f64 2 re)) re) (pow.f64 im 5))) (*.f64 -1/6 (*.f64 (-.f64 (+.f64 1 (*.f64 2 re)) re) (pow.f64 im 3)))))
(+.f64 (*.f64 (-.f64 (+.f64 1 (*.f64 2 re)) re) im) (+.f64 (*.f64 1/120 (*.f64 (-.f64 (+.f64 1 (*.f64 2 re)) re) (pow.f64 im 5))) (+.f64 (*.f64 -1/5040 (*.f64 (-.f64 (+.f64 1 (*.f64 2 re)) re) (pow.f64 im 7))) (*.f64 -1/6 (*.f64 (-.f64 (+.f64 1 (*.f64 2 re)) re) (pow.f64 im 3))))))
(*.f64 (sin.f64 im) (-.f64 (+.f64 1 (*.f64 2 re)) re))
(*.f64 (sin.f64 im) (-.f64 (+.f64 1 (*.f64 2 re)) re))
(*.f64 (sin.f64 im) (-.f64 (+.f64 1 (*.f64 2 re)) re))
(*.f64 (sin.f64 im) (-.f64 (+.f64 1 (*.f64 2 re)) re))
(*.f64 (sin.f64 im) (-.f64 (+.f64 1 (*.f64 2 re)) re))
(*.f64 (sin.f64 im) (-.f64 (+.f64 1 (*.f64 2 re)) re))
(*.f64 (sin.f64 im) (-.f64 (+.f64 1 (*.f64 2 re)) re))
(*.f64 (sin.f64 im) (-.f64 (+.f64 1 (*.f64 2 re)) re))
(sin.f64 im)
(+.f64 (sin.f64 im) (*.f64 (sin.f64 im) re))
(+.f64 (sin.f64 im) (*.f64 (sin.f64 im) re))
(+.f64 (sin.f64 im) (*.f64 (sin.f64 im) re))
(*.f64 (sin.f64 im) re)
(+.f64 (sin.f64 im) (*.f64 (sin.f64 im) re))
(+.f64 (sin.f64 im) (*.f64 (sin.f64 im) re))
(+.f64 (sin.f64 im) (*.f64 (sin.f64 im) re))
(*.f64 (sin.f64 im) re)
(+.f64 (sin.f64 im) (*.f64 (sin.f64 im) re))
(+.f64 (sin.f64 im) (*.f64 (sin.f64 im) re))
(+.f64 (sin.f64 im) (*.f64 (sin.f64 im) re))
1
(+.f64 1 re)
(+.f64 1 re)
(+.f64 1 re)
re
(+.f64 1 re)
(+.f64 1 re)
(+.f64 1 re)
re
(+.f64 1 re)
(+.f64 1 re)
(+.f64 1 re)
(+.f64 (*.f64 (sin.f64 im) (+.f64 re 1)) 0)
(+.f64 0 (*.f64 (sin.f64 im) (+.f64 re 1)))
(+.f64 (/.f64 (*.f64 (sin.f64 im) (+.f64 re 1)) 2) (/.f64 (*.f64 (sin.f64 im) (+.f64 re 1)) 2))
(-.f64 (*.f64 (sin.f64 im) (+.f64 re 1)) 0)
(-.f64 (*.f64 (sin.f64 im) (+.f64 re (+.f64 re 2))) (*.f64 (sin.f64 im) (+.f64 re 1)))
(-.f64 (/.f64 (*.f64 (sin.f64 im) (+.f64 re 1)) 2) (/.f64 (neg.f64 (*.f64 (sin.f64 im) (+.f64 re 1))) 2))
(/.f64 (*.f64 (sin.f64 im) (+.f64 re 1)) 1)
(/.f64 (*.f64 (sin.f64 im) (+.f64 re (+.f64 re 2))) 2)
(/.f64 (*.f64 (sin.f64 im) (*.f64 (+.f64 re 1) 4)) 4)
(/.f64 (*.f64 (sin.f64 im) (-.f64 -1 re)) -1)
(/.f64 (*.f64 (sin.f64 im) (+.f64 -2 (*.f64 re -2))) -2)
(/.f64 (*.f64 (-.f64 -1 re) (*.f64 (sin.f64 im) 4)) -4)
(/.f64 (+.f64 (*.f64 (sin.f64 im) (*.f64 (+.f64 re 1) 4)) (*.f64 (sin.f64 im) (*.f64 (+.f64 re 1) 4))) 8)
(/.f64 (*.f64 (*.f64 (+.f64 re 1) 4) (*.f64 (sin.f64 im) 4)) 16)
(/.f64 (/.f64 (*.f64 (sin.f64 im) (+.f64 -2 (*.f64 re -2))) 2) -1)
(/.f64 (/.f64 (*.f64 (-.f64 -1 re) (*.f64 (sin.f64 im) 4)) 2) -2)
(/.f64 (/.f64 (*.f64 2 (*.f64 (sin.f64 im) (*.f64 (+.f64 re 1) 4))) 2) 4)
(pow.f64 (*.f64 (sin.f64 im) (+.f64 re 1)) 1)
(neg.f64 (*.f64 (sin.f64 im) (-.f64 -1 re)))
(+.f64 re 1)
(+.f64 re (+.f64 (+.f64 re (+.f64 re 1)) (*.f64 re -2)))
(+.f64 re (-.f64 (+.f64 re (+.f64 re 1)) (+.f64 re re)))
(+.f64 (+.f64 re re) (-.f64 1 re))
(+.f64 -1 (+.f64 re 2))
(+.f64 -1 (-.f64 1 (-.f64 -1 re)))
(+.f64 -1 (-.f64 (+.f64 re (+.f64 re 1)) (+.f64 re -1)))
(+.f64 (+.f64 re -1) 2)
(+.f64 (+.f64 re 1) 0)
(+.f64 0 (+.f64 re 1))
(+.f64 1 re)
(+.f64 2 (+.f64 re -1))
(+.f64 (neg.f64 re) (+.f64 re (+.f64 re 1)))
(+.f64 (+.f64 re (+.f64 re 1)) (neg.f64 re))
(+.f64 (-.f64 1 re) (+.f64 re re))
(+.f64 (-.f64 -1 re) (+.f64 re (+.f64 re 2)))
(+.f64 (+.f64 re (+.f64 re 2)) (-.f64 -1 re))
(+.f64 (+.f64 1 (*.f64 re 3)) (*.f64 re -2))
(+.f64 (+.f64 re 2) -1)
(+.f64 (+.f64 (+.f64 re re) -1) (+.f64 2 (neg.f64 re)))
(+.f64 (*.f64 re 3) (+.f64 1 (*.f64 re -2)))
(+.f64 (*.f64 re -2) (+.f64 1 (*.f64 re 3)))
(+.f64 1/2 (/.f64 (+.f64 re (+.f64 re 1)) 2))
(+.f64 1/2 (+.f64 (/.f64 (+.f64 (+.f64 re re) -1) 2) 1))
(+.f64 (+.f64 1/2 (/.f64 re 2)) (+.f64 1/2 (/.f64 re 2)))
(+.f64 (/.f64 re 2) (+.f64 1 (/.f64 re 2)))
(+.f64 (/.f64 re 2) (/.f64 (+.f64 re 2) 2))
(+.f64 (/.f64 re -2) (-.f64 (+.f64 re (+.f64 re 1)) (/.f64 re 2)))
(+.f64 (/.f64 re -2) (/.f64 (+.f64 2 (*.f64 re 3)) 2))
(+.f64 (+.f64 2 (neg.f64 re)) (+.f64 (+.f64 re re) -1))
(+.f64 (+.f64 1 (*.f64 re -2)) (*.f64 re 3))
(+.f64 (+.f64 (+.f64 re (+.f64 re 1)) (*.f64 re -2)) re)
(+.f64 (-.f64 1 (-.f64 -1 re)) -1)
(+.f64 (*.f64 3 (/.f64 re 2)) (-.f64 (/.f64 re 2) (+.f64 re -1)))
(+.f64 (+.f64 1 (/.f64 re 2)) (/.f64 re 2))
(+.f64 (+.f64 1 (/.f64 re 2)) (+.f64 (+.f64 -1 (/.f64 re 2)) 1))
(+.f64 (+.f64 1 (/.f64 re 2)) (+.f64 (/.f64 (+.f64 re -2) 2) 1))
(+.f64 (-.f64 (+.f64 re (+.f64 re 1)) (+.f64 re re)) re)
(+.f64 (/.f64 (+.f64 re -1) -2) (-.f64 (+.f64 re re) (+.f64 (/.f64 re 2) -1/2)))
(+.f64 (/.f64 (+.f64 re -1) -2) (/.f64 (+.f64 1 (*.f64 re 3)) 2))
(+.f64 (-.f64 (+.f64 re re) (+.f64 (/.f64 re 2) -1/2)) (/.f64 (+.f64 re -1) -2))
(+.f64 (-.f64 (+.f64 re (+.f64 re 1)) (+.f64 re -1)) -1)
(+.f64 (-.f64 (+.f64 re (+.f64 re 1)) (/.f64 re 2)) (/.f64 re -2))
(+.f64 (/.f64 (+.f64 re (+.f64 re 1)) 2) 1/2)
(+.f64 (/.f64 (+.f64 re 2) 2) (/.f64 re 2))
(+.f64 (/.f64 (+.f64 2 (*.f64 re 3)) 2) (/.f64 re -2))
(+.f64 (/.f64 (+.f64 1 (*.f64 re 3)) 2) (/.f64 (+.f64 re -1) -2))
(+.f64 (-.f64 (/.f64 re 2) (+.f64 re -1)) (*.f64 3 (/.f64 re 2)))
(+.f64 (+.f64 (-.f64 (+.f64 (+.f64 re re) -1) (+.f64 re re)) 1) (+.f64 re 1))
(+.f64 (+.f64 (-.f64 (+.f64 re re) (+.f64 1/2 (/.f64 re 2))) 1) (+.f64 (/.f64 (-.f64 -1 re) 2) 1))
(+.f64 (+.f64 (-.f64 -1 (+.f64 -1 (*.f64 re -2))) 1) (neg.f64 re))
(+.f64 (+.f64 (-.f64 (+.f64 (+.f64 re re) -1) (+.f64 re -1)) 1) 0)
(+.f64 (+.f64 (-.f64 (+.f64 (+.f64 re re) -1) (/.f64 re 2)) 1) (+.f64 1 (/.f64 re -2)))
(*.f64 -1 (-.f64 -1 re))
(*.f64 (+.f64 re 1) 1)
(*.f64 1 (+.f64 re 1))
(*.f64 2 (*.f64 (+.f64 re 1) 1/2))
(*.f64 (-.f64 -1 re) -1)
(*.f64 (+.f64 re (+.f64 re 2)) 1/2)
(*.f64 1/2 (+.f64 re (+.f64 re 2)))
(*.f64 (*.f64 (+.f64 re 1) 4) 1/4)
(*.f64 1/4 (*.f64 (+.f64 re 1) 4))
(/.f64 (+.f64 re 1) 1)
(/.f64 (-.f64 -1 re) -1)
(/.f64 (+.f64 re (+.f64 re 2)) 2)
(/.f64 (*.f64 (+.f64 re 1) 4) 4)
(/.f64 (+.f64 (*.f64 (+.f64 re 1) 4) (*.f64 (+.f64 re 1) 4)) 8)
(/.f64 (-.f64 (*.f64 (+.f64 re re) 4) (*.f64 (-.f64 1 re) -4)) 4)
(/.f64 (/.f64 (-.f64 (*.f64 (-.f64 1 re) -4) (*.f64 (+.f64 re re) 4)) -1) 4)
(/.f64 (/.f64 (+.f64 (+.f64 -2 (*.f64 re -2)) (+.f64 -2 (*.f64 re -2))) -1) 4)
(pow.f64 (+.f64 re 1) 1)
(neg.f64 (-.f64 -1 re))
Outputs
(*.f64 (-.f64 (+.f64 1 (*.f64 2 re)) re) im)
(*.f64 (-.f64 (*.f64 2 re) (+.f64 re -1)) im)
(*.f64 (+.f64 (-.f64 (*.f64 2 re) re) 1) im)
(*.f64 im (+.f64 1 re))
(+.f64 (*.f64 (-.f64 (+.f64 1 (*.f64 2 re)) re) im) (*.f64 -1/6 (*.f64 (-.f64 (+.f64 1 (*.f64 2 re)) re) (pow.f64 im 3))))
(+.f64 (*.f64 (-.f64 (*.f64 2 re) (+.f64 re -1)) im) (*.f64 (-.f64 (*.f64 2 re) (+.f64 re -1)) (*.f64 (pow.f64 im 3) -1/6)))
(+.f64 (*.f64 (+.f64 (-.f64 (*.f64 2 re) re) 1) im) (*.f64 (+.f64 (-.f64 (*.f64 2 re) re) 1) (*.f64 -1/6 (pow.f64 im 3))))
(*.f64 (+.f64 1 re) (+.f64 im (*.f64 -1/6 (pow.f64 im 3))))
(+.f64 (*.f64 (-.f64 (+.f64 1 (*.f64 2 re)) re) im) (+.f64 (*.f64 1/120 (*.f64 (-.f64 (+.f64 1 (*.f64 2 re)) re) (pow.f64 im 5))) (*.f64 -1/6 (*.f64 (-.f64 (+.f64 1 (*.f64 2 re)) re) (pow.f64 im 3)))))
(+.f64 (*.f64 (-.f64 (+.f64 1 (*.f64 2 re)) re) im) (+.f64 (*.f64 -1/6 (*.f64 (-.f64 (+.f64 1 (*.f64 2 re)) re) (pow.f64 im 3))) (*.f64 1/120 (*.f64 (-.f64 (+.f64 1 (*.f64 2 re)) re) (pow.f64 im 5)))))
(+.f64 (*.f64 (-.f64 (*.f64 2 re) (+.f64 re -1)) (*.f64 (pow.f64 im 3) -1/6)) (+.f64 (*.f64 (-.f64 (*.f64 2 re) (+.f64 re -1)) im) (*.f64 (-.f64 (*.f64 2 re) (+.f64 re -1)) (*.f64 (pow.f64 im 5) 1/120))))
(+.f64 (*.f64 (+.f64 (-.f64 (*.f64 2 re) re) 1) im) (+.f64 (*.f64 (+.f64 (-.f64 (*.f64 2 re) re) 1) (*.f64 -1/6 (pow.f64 im 3))) (*.f64 (+.f64 (-.f64 (*.f64 2 re) re) 1) (*.f64 1/120 (pow.f64 im 5)))))
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 im 3) (+.f64 1 re))) (*.f64 (+.f64 1 re) (+.f64 im (*.f64 1/120 (pow.f64 im 5)))))
(+.f64 (*.f64 (-.f64 (+.f64 1 (*.f64 2 re)) re) im) (+.f64 (*.f64 1/120 (*.f64 (-.f64 (+.f64 1 (*.f64 2 re)) re) (pow.f64 im 5))) (+.f64 (*.f64 -1/5040 (*.f64 (-.f64 (+.f64 1 (*.f64 2 re)) re) (pow.f64 im 7))) (*.f64 -1/6 (*.f64 (-.f64 (+.f64 1 (*.f64 2 re)) re) (pow.f64 im 3))))))
(+.f64 (*.f64 (-.f64 (+.f64 1 (*.f64 2 re)) re) im) (+.f64 (*.f64 -1/6 (*.f64 (-.f64 (+.f64 1 (*.f64 2 re)) re) (pow.f64 im 3))) (+.f64 (*.f64 -1/5040 (*.f64 (-.f64 (+.f64 1 (*.f64 2 re)) re) (pow.f64 im 7))) (*.f64 1/120 (*.f64 (-.f64 (+.f64 1 (*.f64 2 re)) re) (pow.f64 im 5))))))
(+.f64 (*.f64 (-.f64 (*.f64 2 re) (+.f64 re -1)) im) (+.f64 (*.f64 (-.f64 (*.f64 2 re) (+.f64 re -1)) (*.f64 (pow.f64 im 7) -1/5040)) (+.f64 (*.f64 (-.f64 (*.f64 2 re) (+.f64 re -1)) (*.f64 (pow.f64 im 3) -1/6)) (*.f64 (-.f64 (*.f64 2 re) (+.f64 re -1)) (*.f64 (pow.f64 im 5) 1/120)))))
(+.f64 (*.f64 (+.f64 (-.f64 (*.f64 2 re) re) 1) im) (+.f64 (*.f64 (+.f64 (-.f64 (*.f64 2 re) re) 1) (*.f64 -1/6 (pow.f64 im 3))) (+.f64 (*.f64 (+.f64 (-.f64 (*.f64 2 re) re) 1) (*.f64 1/120 (pow.f64 im 5))) (*.f64 (+.f64 (-.f64 (*.f64 2 re) re) 1) (*.f64 -1/5040 (pow.f64 im 7))))))
(+.f64 (*.f64 (+.f64 1 re) (+.f64 im (*.f64 -1/6 (pow.f64 im 3)))) (*.f64 (+.f64 1 re) (+.f64 (*.f64 1/120 (pow.f64 im 5)) (*.f64 -1/5040 (pow.f64 im 7)))))
(*.f64 (sin.f64 im) (-.f64 (+.f64 1 (*.f64 2 re)) re))
(*.f64 (-.f64 (+.f64 1 (*.f64 2 re)) re) (sin.f64 im))
(*.f64 (-.f64 (*.f64 2 re) (+.f64 re -1)) (sin.f64 im))
(*.f64 (+.f64 (-.f64 (*.f64 2 re) re) 1) (sin.f64 im))
(*.f64 (sin.f64 im) (+.f64 1 re))
(*.f64 (sin.f64 im) (-.f64 (+.f64 1 (*.f64 2 re)) re))
(*.f64 (-.f64 (+.f64 1 (*.f64 2 re)) re) (sin.f64 im))
(*.f64 (-.f64 (*.f64 2 re) (+.f64 re -1)) (sin.f64 im))
(*.f64 (+.f64 (-.f64 (*.f64 2 re) re) 1) (sin.f64 im))
(*.f64 (sin.f64 im) (+.f64 1 re))
(*.f64 (sin.f64 im) (-.f64 (+.f64 1 (*.f64 2 re)) re))
(*.f64 (-.f64 (+.f64 1 (*.f64 2 re)) re) (sin.f64 im))
(*.f64 (-.f64 (*.f64 2 re) (+.f64 re -1)) (sin.f64 im))
(*.f64 (+.f64 (-.f64 (*.f64 2 re) re) 1) (sin.f64 im))
(*.f64 (sin.f64 im) (+.f64 1 re))
(*.f64 (sin.f64 im) (-.f64 (+.f64 1 (*.f64 2 re)) re))
(*.f64 (-.f64 (+.f64 1 (*.f64 2 re)) re) (sin.f64 im))
(*.f64 (-.f64 (*.f64 2 re) (+.f64 re -1)) (sin.f64 im))
(*.f64 (+.f64 (-.f64 (*.f64 2 re) re) 1) (sin.f64 im))
(*.f64 (sin.f64 im) (+.f64 1 re))
(*.f64 (sin.f64 im) (-.f64 (+.f64 1 (*.f64 2 re)) re))
(*.f64 (-.f64 (+.f64 1 (*.f64 2 re)) re) (sin.f64 im))
(*.f64 (-.f64 (*.f64 2 re) (+.f64 re -1)) (sin.f64 im))
(*.f64 (+.f64 (-.f64 (*.f64 2 re) re) 1) (sin.f64 im))
(*.f64 (sin.f64 im) (+.f64 1 re))
(*.f64 (sin.f64 im) (-.f64 (+.f64 1 (*.f64 2 re)) re))
(*.f64 (-.f64 (+.f64 1 (*.f64 2 re)) re) (sin.f64 im))
(*.f64 (-.f64 (*.f64 2 re) (+.f64 re -1)) (sin.f64 im))
(*.f64 (+.f64 (-.f64 (*.f64 2 re) re) 1) (sin.f64 im))
(*.f64 (sin.f64 im) (+.f64 1 re))
(*.f64 (sin.f64 im) (-.f64 (+.f64 1 (*.f64 2 re)) re))
(*.f64 (-.f64 (+.f64 1 (*.f64 2 re)) re) (sin.f64 im))
(*.f64 (-.f64 (*.f64 2 re) (+.f64 re -1)) (sin.f64 im))
(*.f64 (+.f64 (-.f64 (*.f64 2 re) re) 1) (sin.f64 im))
(*.f64 (sin.f64 im) (+.f64 1 re))
(*.f64 (sin.f64 im) (-.f64 (+.f64 1 (*.f64 2 re)) re))
(*.f64 (-.f64 (+.f64 1 (*.f64 2 re)) re) (sin.f64 im))
(*.f64 (-.f64 (*.f64 2 re) (+.f64 re -1)) (sin.f64 im))
(*.f64 (+.f64 (-.f64 (*.f64 2 re) re) 1) (sin.f64 im))
(*.f64 (sin.f64 im) (+.f64 1 re))
(sin.f64 im)
(+.f64 (sin.f64 im) (*.f64 (sin.f64 im) re))
(*.f64 (-.f64 (+.f64 1 (*.f64 2 re)) re) (sin.f64 im))
(*.f64 (-.f64 (*.f64 2 re) (+.f64 re -1)) (sin.f64 im))
(*.f64 (+.f64 (-.f64 (*.f64 2 re) re) 1) (sin.f64 im))
(*.f64 (sin.f64 im) (+.f64 1 re))
(+.f64 (sin.f64 im) (*.f64 (sin.f64 im) re))
(*.f64 (-.f64 (+.f64 1 (*.f64 2 re)) re) (sin.f64 im))
(*.f64 (-.f64 (*.f64 2 re) (+.f64 re -1)) (sin.f64 im))
(*.f64 (+.f64 (-.f64 (*.f64 2 re) re) 1) (sin.f64 im))
(*.f64 (sin.f64 im) (+.f64 1 re))
(+.f64 (sin.f64 im) (*.f64 (sin.f64 im) re))
(*.f64 (-.f64 (+.f64 1 (*.f64 2 re)) re) (sin.f64 im))
(*.f64 (-.f64 (*.f64 2 re) (+.f64 re -1)) (sin.f64 im))
(*.f64 (+.f64 (-.f64 (*.f64 2 re) re) 1) (sin.f64 im))
(*.f64 (sin.f64 im) (+.f64 1 re))
(*.f64 (sin.f64 im) re)
(*.f64 re (sin.f64 im))
(+.f64 (sin.f64 im) (*.f64 (sin.f64 im) re))
(*.f64 (-.f64 (+.f64 1 (*.f64 2 re)) re) (sin.f64 im))
(*.f64 (-.f64 (*.f64 2 re) (+.f64 re -1)) (sin.f64 im))
(*.f64 (+.f64 (-.f64 (*.f64 2 re) re) 1) (sin.f64 im))
(*.f64 (sin.f64 im) (+.f64 1 re))
(+.f64 (sin.f64 im) (*.f64 (sin.f64 im) re))
(*.f64 (-.f64 (+.f64 1 (*.f64 2 re)) re) (sin.f64 im))
(*.f64 (-.f64 (*.f64 2 re) (+.f64 re -1)) (sin.f64 im))
(*.f64 (+.f64 (-.f64 (*.f64 2 re) re) 1) (sin.f64 im))
(*.f64 (sin.f64 im) (+.f64 1 re))
(+.f64 (sin.f64 im) (*.f64 (sin.f64 im) re))
(*.f64 (-.f64 (+.f64 1 (*.f64 2 re)) re) (sin.f64 im))
(*.f64 (-.f64 (*.f64 2 re) (+.f64 re -1)) (sin.f64 im))
(*.f64 (+.f64 (-.f64 (*.f64 2 re) re) 1) (sin.f64 im))
(*.f64 (sin.f64 im) (+.f64 1 re))
(*.f64 (sin.f64 im) re)
(*.f64 re (sin.f64 im))
(+.f64 (sin.f64 im) (*.f64 (sin.f64 im) re))
(*.f64 (-.f64 (+.f64 1 (*.f64 2 re)) re) (sin.f64 im))
(*.f64 (-.f64 (*.f64 2 re) (+.f64 re -1)) (sin.f64 im))
(*.f64 (+.f64 (-.f64 (*.f64 2 re) re) 1) (sin.f64 im))
(*.f64 (sin.f64 im) (+.f64 1 re))
(+.f64 (sin.f64 im) (*.f64 (sin.f64 im) re))
(*.f64 (-.f64 (+.f64 1 (*.f64 2 re)) re) (sin.f64 im))
(*.f64 (-.f64 (*.f64 2 re) (+.f64 re -1)) (sin.f64 im))
(*.f64 (+.f64 (-.f64 (*.f64 2 re) re) 1) (sin.f64 im))
(*.f64 (sin.f64 im) (+.f64 1 re))
(+.f64 (sin.f64 im) (*.f64 (sin.f64 im) re))
(*.f64 (-.f64 (+.f64 1 (*.f64 2 re)) re) (sin.f64 im))
(*.f64 (-.f64 (*.f64 2 re) (+.f64 re -1)) (sin.f64 im))
(*.f64 (+.f64 (-.f64 (*.f64 2 re) re) 1) (sin.f64 im))
(*.f64 (sin.f64 im) (+.f64 1 re))
1
(+.f64 1 re)
(+.f64 1 re)
(+.f64 1 re)
re
(+.f64 1 re)
(+.f64 1 re)
(+.f64 1 re)
re
(+.f64 1 re)
(+.f64 1 re)
(+.f64 1 re)
(+.f64 (*.f64 (sin.f64 im) (+.f64 re 1)) 0)
(*.f64 (-.f64 (+.f64 1 (*.f64 2 re)) re) (sin.f64 im))
(*.f64 (-.f64 (*.f64 2 re) (+.f64 re -1)) (sin.f64 im))
(*.f64 (+.f64 (-.f64 (*.f64 2 re) re) 1) (sin.f64 im))
(*.f64 (sin.f64 im) (+.f64 1 re))
(+.f64 0 (*.f64 (sin.f64 im) (+.f64 re 1)))
(*.f64 (-.f64 (+.f64 1 (*.f64 2 re)) re) (sin.f64 im))
(*.f64 (-.f64 (*.f64 2 re) (+.f64 re -1)) (sin.f64 im))
(*.f64 (+.f64 (-.f64 (*.f64 2 re) re) 1) (sin.f64 im))
(*.f64 (sin.f64 im) (+.f64 1 re))
(+.f64 (/.f64 (*.f64 (sin.f64 im) (+.f64 re 1)) 2) (/.f64 (*.f64 (sin.f64 im) (+.f64 re 1)) 2))
(*.f64 (-.f64 (+.f64 1 (*.f64 2 re)) re) (sin.f64 im))
(*.f64 (-.f64 (*.f64 2 re) (+.f64 re -1)) (sin.f64 im))
(*.f64 (+.f64 (-.f64 (*.f64 2 re) re) 1) (sin.f64 im))
(*.f64 (sin.f64 im) (+.f64 1 re))
(-.f64 (*.f64 (sin.f64 im) (+.f64 re 1)) 0)
(*.f64 (-.f64 (+.f64 1 (*.f64 2 re)) re) (sin.f64 im))
(*.f64 (-.f64 (*.f64 2 re) (+.f64 re -1)) (sin.f64 im))
(*.f64 (+.f64 (-.f64 (*.f64 2 re) re) 1) (sin.f64 im))
(*.f64 (sin.f64 im) (+.f64 1 re))
(-.f64 (*.f64 (sin.f64 im) (+.f64 re (+.f64 re 2))) (*.f64 (sin.f64 im) (+.f64 re 1)))
(*.f64 (-.f64 (+.f64 1 (*.f64 2 re)) re) (sin.f64 im))
(*.f64 (-.f64 (*.f64 2 re) (+.f64 re -1)) (sin.f64 im))
(*.f64 (+.f64 (-.f64 (*.f64 2 re) re) 1) (sin.f64 im))
(*.f64 (sin.f64 im) (+.f64 1 re))
(-.f64 (/.f64 (*.f64 (sin.f64 im) (+.f64 re 1)) 2) (/.f64 (neg.f64 (*.f64 (sin.f64 im) (+.f64 re 1))) 2))
(*.f64 (-.f64 (+.f64 1 (*.f64 2 re)) re) (sin.f64 im))
(*.f64 (-.f64 (*.f64 2 re) (+.f64 re -1)) (sin.f64 im))
(*.f64 (+.f64 (-.f64 (*.f64 2 re) re) 1) (sin.f64 im))
(*.f64 (sin.f64 im) (+.f64 1 re))
(/.f64 (*.f64 (sin.f64 im) (+.f64 re 1)) 1)
(*.f64 (-.f64 (+.f64 1 (*.f64 2 re)) re) (sin.f64 im))
(*.f64 (-.f64 (*.f64 2 re) (+.f64 re -1)) (sin.f64 im))
(*.f64 (+.f64 (-.f64 (*.f64 2 re) re) 1) (sin.f64 im))
(*.f64 (sin.f64 im) (+.f64 1 re))
(/.f64 (*.f64 (sin.f64 im) (+.f64 re (+.f64 re 2))) 2)
(*.f64 (-.f64 (+.f64 1 (*.f64 2 re)) re) (sin.f64 im))
(*.f64 (-.f64 (*.f64 2 re) (+.f64 re -1)) (sin.f64 im))
(*.f64 (+.f64 (-.f64 (*.f64 2 re) re) 1) (sin.f64 im))
(*.f64 (sin.f64 im) (+.f64 1 re))
(/.f64 (*.f64 (sin.f64 im) (*.f64 (+.f64 re 1) 4)) 4)
(*.f64 (-.f64 (+.f64 1 (*.f64 2 re)) re) (sin.f64 im))
(*.f64 (-.f64 (*.f64 2 re) (+.f64 re -1)) (sin.f64 im))
(*.f64 (+.f64 (-.f64 (*.f64 2 re) re) 1) (sin.f64 im))
(*.f64 (sin.f64 im) (+.f64 1 re))
(/.f64 (*.f64 (sin.f64 im) (-.f64 -1 re)) -1)
(*.f64 (-.f64 (+.f64 1 (*.f64 2 re)) re) (sin.f64 im))
(*.f64 (-.f64 (*.f64 2 re) (+.f64 re -1)) (sin.f64 im))
(*.f64 (+.f64 (-.f64 (*.f64 2 re) re) 1) (sin.f64 im))
(*.f64 (sin.f64 im) (+.f64 1 re))
(/.f64 (*.f64 (sin.f64 im) (+.f64 -2 (*.f64 re -2))) -2)
(*.f64 (-.f64 (+.f64 1 (*.f64 2 re)) re) (sin.f64 im))
(*.f64 (-.f64 (*.f64 2 re) (+.f64 re -1)) (sin.f64 im))
(*.f64 (+.f64 (-.f64 (*.f64 2 re) re) 1) (sin.f64 im))
(*.f64 (sin.f64 im) (+.f64 1 re))
(/.f64 (*.f64 (-.f64 -1 re) (*.f64 (sin.f64 im) 4)) -4)
(*.f64 (-.f64 (+.f64 1 (*.f64 2 re)) re) (sin.f64 im))
(*.f64 (-.f64 (*.f64 2 re) (+.f64 re -1)) (sin.f64 im))
(*.f64 (+.f64 (-.f64 (*.f64 2 re) re) 1) (sin.f64 im))
(*.f64 (sin.f64 im) (+.f64 1 re))
(/.f64 (+.f64 (*.f64 (sin.f64 im) (*.f64 (+.f64 re 1) 4)) (*.f64 (sin.f64 im) (*.f64 (+.f64 re 1) 4))) 8)
(*.f64 (-.f64 (+.f64 1 (*.f64 2 re)) re) (sin.f64 im))
(*.f64 (-.f64 (*.f64 2 re) (+.f64 re -1)) (sin.f64 im))
(*.f64 (+.f64 (-.f64 (*.f64 2 re) re) 1) (sin.f64 im))
(*.f64 (sin.f64 im) (+.f64 1 re))
(/.f64 (*.f64 (*.f64 (+.f64 re 1) 4) (*.f64 (sin.f64 im) 4)) 16)
(*.f64 (-.f64 (+.f64 1 (*.f64 2 re)) re) (sin.f64 im))
(*.f64 (-.f64 (*.f64 2 re) (+.f64 re -1)) (sin.f64 im))
(*.f64 (+.f64 (-.f64 (*.f64 2 re) re) 1) (sin.f64 im))
(*.f64 (sin.f64 im) (+.f64 1 re))
(/.f64 (/.f64 (*.f64 (sin.f64 im) (+.f64 -2 (*.f64 re -2))) 2) -1)
(*.f64 (-.f64 (+.f64 1 (*.f64 2 re)) re) (sin.f64 im))
(*.f64 (-.f64 (*.f64 2 re) (+.f64 re -1)) (sin.f64 im))
(*.f64 (+.f64 (-.f64 (*.f64 2 re) re) 1) (sin.f64 im))
(*.f64 (sin.f64 im) (+.f64 1 re))
(/.f64 (/.f64 (*.f64 (-.f64 -1 re) (*.f64 (sin.f64 im) 4)) 2) -2)
(*.f64 (-.f64 (+.f64 1 (*.f64 2 re)) re) (sin.f64 im))
(*.f64 (-.f64 (*.f64 2 re) (+.f64 re -1)) (sin.f64 im))
(*.f64 (+.f64 (-.f64 (*.f64 2 re) re) 1) (sin.f64 im))
(*.f64 (sin.f64 im) (+.f64 1 re))
(/.f64 (/.f64 (*.f64 2 (*.f64 (sin.f64 im) (*.f64 (+.f64 re 1) 4))) 2) 4)
(*.f64 (-.f64 (+.f64 1 (*.f64 2 re)) re) (sin.f64 im))
(*.f64 (-.f64 (*.f64 2 re) (+.f64 re -1)) (sin.f64 im))
(*.f64 (+.f64 (-.f64 (*.f64 2 re) re) 1) (sin.f64 im))
(*.f64 (sin.f64 im) (+.f64 1 re))
(pow.f64 (*.f64 (sin.f64 im) (+.f64 re 1)) 1)
(*.f64 (-.f64 (+.f64 1 (*.f64 2 re)) re) (sin.f64 im))
(*.f64 (-.f64 (*.f64 2 re) (+.f64 re -1)) (sin.f64 im))
(*.f64 (+.f64 (-.f64 (*.f64 2 re) re) 1) (sin.f64 im))
(*.f64 (sin.f64 im) (+.f64 1 re))
(neg.f64 (*.f64 (sin.f64 im) (-.f64 -1 re)))
(*.f64 (-.f64 (+.f64 1 (*.f64 2 re)) re) (sin.f64 im))
(*.f64 (-.f64 (*.f64 2 re) (+.f64 re -1)) (sin.f64 im))
(*.f64 (+.f64 (-.f64 (*.f64 2 re) re) 1) (sin.f64 im))
(*.f64 (sin.f64 im) (+.f64 1 re))
(+.f64 re 1)
(+.f64 1 re)
(+.f64 re (+.f64 (+.f64 re (+.f64 re 1)) (*.f64 re -2)))
(+.f64 1 re)
(+.f64 re (-.f64 (+.f64 re (+.f64 re 1)) (+.f64 re re)))
(+.f64 1 re)
(+.f64 (+.f64 re re) (-.f64 1 re))
(+.f64 1 re)
(+.f64 -1 (+.f64 re 2))
(+.f64 1 re)
(+.f64 -1 (-.f64 1 (-.f64 -1 re)))
(+.f64 1 re)
(+.f64 -1 (-.f64 (+.f64 re (+.f64 re 1)) (+.f64 re -1)))
(+.f64 1 re)
(+.f64 (+.f64 re -1) 2)
(+.f64 1 re)
(+.f64 (+.f64 re 1) 0)
(+.f64 1 re)
(+.f64 0 (+.f64 re 1))
(+.f64 1 re)
(+.f64 1 re)
(+.f64 2 (+.f64 re -1))
(+.f64 1 re)
(+.f64 (neg.f64 re) (+.f64 re (+.f64 re 1)))
(+.f64 1 re)
(+.f64 (+.f64 re (+.f64 re 1)) (neg.f64 re))
(+.f64 1 re)
(+.f64 (-.f64 1 re) (+.f64 re re))
(+.f64 1 re)
(+.f64 (-.f64 -1 re) (+.f64 re (+.f64 re 2)))
(+.f64 1 re)
(+.f64 (+.f64 re (+.f64 re 2)) (-.f64 -1 re))
(+.f64 1 re)
(+.f64 (+.f64 1 (*.f64 re 3)) (*.f64 re -2))
(+.f64 1 re)
(+.f64 (+.f64 re 2) -1)
(+.f64 1 re)
(+.f64 (+.f64 (+.f64 re re) -1) (+.f64 2 (neg.f64 re)))
(+.f64 1 re)
(+.f64 (*.f64 re 3) (+.f64 1 (*.f64 re -2)))
(+.f64 1 re)
(+.f64 (*.f64 re -2) (+.f64 1 (*.f64 re 3)))
(+.f64 1 re)
(+.f64 1/2 (/.f64 (+.f64 re (+.f64 re 1)) 2))
(+.f64 1 re)
(+.f64 1/2 (+.f64 (/.f64 (+.f64 (+.f64 re re) -1) 2) 1))
(+.f64 1 re)
(+.f64 (+.f64 1/2 (/.f64 re 2)) (+.f64 1/2 (/.f64 re 2)))
(+.f64 1 re)
(+.f64 (/.f64 re 2) (+.f64 1 (/.f64 re 2)))
(+.f64 1 re)
(+.f64 (/.f64 re 2) (/.f64 (+.f64 re 2) 2))
(+.f64 1 re)
(+.f64 (/.f64 re -2) (-.f64 (+.f64 re (+.f64 re 1)) (/.f64 re 2)))
(+.f64 1 re)
(+.f64 (/.f64 re -2) (/.f64 (+.f64 2 (*.f64 re 3)) 2))
(+.f64 1 re)
(+.f64 (+.f64 2 (neg.f64 re)) (+.f64 (+.f64 re re) -1))
(+.f64 1 re)
(+.f64 (+.f64 1 (*.f64 re -2)) (*.f64 re 3))
(+.f64 1 re)
(+.f64 (+.f64 (+.f64 re (+.f64 re 1)) (*.f64 re -2)) re)
(+.f64 1 re)
(+.f64 (-.f64 1 (-.f64 -1 re)) -1)
(+.f64 1 re)
(+.f64 (*.f64 3 (/.f64 re 2)) (-.f64 (/.f64 re 2) (+.f64 re -1)))
(+.f64 1 re)
(+.f64 (+.f64 1 (/.f64 re 2)) (/.f64 re 2))
(+.f64 1 re)
(+.f64 (+.f64 1 (/.f64 re 2)) (+.f64 (+.f64 -1 (/.f64 re 2)) 1))
(+.f64 1 re)
(+.f64 (+.f64 1 (/.f64 re 2)) (+.f64 (/.f64 (+.f64 re -2) 2) 1))
(+.f64 1 re)
(+.f64 (-.f64 (+.f64 re (+.f64 re 1)) (+.f64 re re)) re)
(+.f64 1 re)
(+.f64 (/.f64 (+.f64 re -1) -2) (-.f64 (+.f64 re re) (+.f64 (/.f64 re 2) -1/2)))
(+.f64 1 re)
(+.f64 (/.f64 (+.f64 re -1) -2) (/.f64 (+.f64 1 (*.f64 re 3)) 2))
(+.f64 1 re)
(+.f64 (-.f64 (+.f64 re re) (+.f64 (/.f64 re 2) -1/2)) (/.f64 (+.f64 re -1) -2))
(+.f64 1 re)
(+.f64 (-.f64 (+.f64 re (+.f64 re 1)) (+.f64 re -1)) -1)
(+.f64 1 re)
(+.f64 (-.f64 (+.f64 re (+.f64 re 1)) (/.f64 re 2)) (/.f64 re -2))
(+.f64 1 re)
(+.f64 (/.f64 (+.f64 re (+.f64 re 1)) 2) 1/2)
(+.f64 1 re)
(+.f64 (/.f64 (+.f64 re 2) 2) (/.f64 re 2))
(+.f64 1 re)
(+.f64 (/.f64 (+.f64 2 (*.f64 re 3)) 2) (/.f64 re -2))
(+.f64 1 re)
(+.f64 (/.f64 (+.f64 1 (*.f64 re 3)) 2) (/.f64 (+.f64 re -1) -2))
(+.f64 1 re)
(+.f64 (-.f64 (/.f64 re 2) (+.f64 re -1)) (*.f64 3 (/.f64 re 2)))
(+.f64 1 re)
(+.f64 (+.f64 (-.f64 (+.f64 (+.f64 re re) -1) (+.f64 re re)) 1) (+.f64 re 1))
(+.f64 1 re)
(+.f64 (+.f64 (-.f64 (+.f64 re re) (+.f64 1/2 (/.f64 re 2))) 1) (+.f64 (/.f64 (-.f64 -1 re) 2) 1))
(+.f64 1 re)
(+.f64 (+.f64 (-.f64 -1 (+.f64 -1 (*.f64 re -2))) 1) (neg.f64 re))
(+.f64 1 re)
(+.f64 (+.f64 (-.f64 (+.f64 (+.f64 re re) -1) (+.f64 re -1)) 1) 0)
(+.f64 1 re)
(+.f64 (+.f64 (-.f64 (+.f64 (+.f64 re re) -1) (/.f64 re 2)) 1) (+.f64 1 (/.f64 re -2)))
(+.f64 1 re)
(*.f64 -1 (-.f64 -1 re))
(+.f64 1 re)
(*.f64 (+.f64 re 1) 1)
(+.f64 1 re)
(*.f64 1 (+.f64 re 1))
(+.f64 1 re)
(*.f64 2 (*.f64 (+.f64 re 1) 1/2))
(+.f64 1 re)
(*.f64 (-.f64 -1 re) -1)
(+.f64 1 re)
(*.f64 (+.f64 re (+.f64 re 2)) 1/2)
(+.f64 1 re)
(*.f64 1/2 (+.f64 re (+.f64 re 2)))
(+.f64 1 re)
(*.f64 (*.f64 (+.f64 re 1) 4) 1/4)
(+.f64 1 re)
(*.f64 1/4 (*.f64 (+.f64 re 1) 4))
(+.f64 1 re)
(/.f64 (+.f64 re 1) 1)
(+.f64 1 re)
(/.f64 (-.f64 -1 re) -1)
(+.f64 1 re)
(/.f64 (+.f64 re (+.f64 re 2)) 2)
(+.f64 1 re)
(/.f64 (*.f64 (+.f64 re 1) 4) 4)
(+.f64 1 re)
(/.f64 (+.f64 (*.f64 (+.f64 re 1) 4) (*.f64 (+.f64 re 1) 4)) 8)
(+.f64 1 re)
(/.f64 (-.f64 (*.f64 (+.f64 re re) 4) (*.f64 (-.f64 1 re) -4)) 4)
(/.f64 (-.f64 (*.f64 4 (+.f64 re re)) (*.f64 -4 (-.f64 1 re))) 4)
(/.f64 (-.f64 (*.f64 -4 (-.f64 1 re)) (*.f64 4 (+.f64 re re))) -4)
(/.f64 (/.f64 (-.f64 (*.f64 (-.f64 1 re) -4) (*.f64 (+.f64 re re) 4)) -1) 4)
(/.f64 (-.f64 (*.f64 4 (+.f64 re re)) (*.f64 -4 (-.f64 1 re))) 4)
(/.f64 (-.f64 (*.f64 -4 (-.f64 1 re)) (*.f64 4 (+.f64 re re))) -4)
(/.f64 (/.f64 (+.f64 (+.f64 -2 (*.f64 re -2)) (+.f64 -2 (*.f64 re -2))) -1) 4)
(+.f64 1 re)
(pow.f64 (+.f64 re 1) 1)
(+.f64 1 re)
(neg.f64 (-.f64 -1 re))
(+.f64 1 re)

localize5.0ms (0.1%)

Local error

Found 1 expressions with local error:

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

Compiled 13 to 8 computations (38.5% saved)

series1.0ms (0%)

Counts
1 → 12
Calls

6 calls:

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

rewrite122.0ms (1.6%)

Algorithm
batch-egg-rewrite
Rules
1162×rational_best-simplify-63
1130×rational_best-4
1130×rational_best-2
1130×rational_best-3
1130×rational_best-1
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0713
14513
28213
320713
466913
5300313
Stop Event
node limit
Counts
1 → 25
Calls
Call 1
Inputs
(*.f64 (+.f64 1 re) im)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (+.f64 1 re) im) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (+.f64 1 re) im))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (+.f64 1 re) (*.f64 im 1/2)) (*.f64 (+.f64 1 re) (*.f64 im 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (*.f64 (+.f64 1 re) im) 4) (+.f64 (*.f64 (+.f64 1 re) (*.f64 im 1/2)) (/.f64 (*.f64 (+.f64 1 re) im) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (*.f64 (+.f64 1 re) im) 4) (/.f64 (*.f64 -3/2 (neg.f64 (*.f64 (+.f64 1 re) im))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (*.f64 (+.f64 1 re) im) 4) (/.f64 (*.f64 (+.f64 1 re) (*.f64 im 3)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (*.f64 (+.f64 1 re) (*.f64 im 1/2)) (/.f64 (*.f64 (+.f64 1 re) im) 4)) (/.f64 (*.f64 (+.f64 1 re) im) 4))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (*.f64 -3/2 (neg.f64 (*.f64 (+.f64 1 re) im))) 2) (/.f64 (*.f64 (+.f64 1 re) im) 4))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (*.f64 (+.f64 1 re) (*.f64 im 3)) 4) (/.f64 (*.f64 (+.f64 1 re) im) 4))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (+.f64 1 re) im) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (+.f64 1 re) (*.f64 im 1/2)) (/.f64 (*.f64 (+.f64 1 re) im) -2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (*.f64 (+.f64 1 re) im) 4) (*.f64 -3 (/.f64 (*.f64 (+.f64 1 re) im) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (*.f64 (+.f64 1 re) (*.f64 im 1/2)) (/.f64 (*.f64 (+.f64 1 re) im) 4)) (neg.f64 (/.f64 (*.f64 (+.f64 1 re) im) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (*.f64 -3/2 (neg.f64 (*.f64 (+.f64 1 re) im))) 2) (/.f64 (/.f64 (*.f64 (+.f64 1 re) im) -2) 2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (*.f64 (+.f64 1 re) (*.f64 im 3)) 4) (/.f64 (neg.f64 (*.f64 (+.f64 1 re) im)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 (/.f64 (*.f64 (+.f64 1 re) im) 4) (/.f64 (*.f64 (+.f64 1 re) im) -2)) (neg.f64 (/.f64 (*.f64 (+.f64 1 re) im) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 (/.f64 (*.f64 (+.f64 1 re) im) 4) (neg.f64 (/.f64 (*.f64 (+.f64 1 re) im) 4))) (-.f64 (neg.f64 (/.f64 (*.f64 (+.f64 1 re) im) 4)) (/.f64 (*.f64 (+.f64 1 re) im) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 1 re) im) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 1 re) (+.f64 im im)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 1 re) (*.f64 im 4)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 (+.f64 1 re) im) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 1 re) (*.f64 (*.f64 im 4) 4)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 (+.f64 1 re) (*.f64 im 4)) 8) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 2 (*.f64 im 4)) (*.f64 2 (*.f64 (+.f64 1 re) 4))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (+.f64 1 re) im) 1)))))

simplify359.0ms (4.6%)

Algorithm
egg-herbie
Rules
966×rational_best-simplify-50
940×rational_best-simplify-51
938×rational_best-simplify-47
668×rational_best-simplify-57
628×rational_best-simplify-63
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
078457
1184457
2505457
31589457
47472457
Stop Event
node limit
Counts
37 → 31
Calls
Call 1
Inputs
im
(+.f64 (*.f64 re im) im)
(+.f64 (*.f64 re im) im)
(+.f64 (*.f64 re im) im)
(*.f64 re im)
(+.f64 im (*.f64 re im))
(+.f64 im (*.f64 re im))
(+.f64 im (*.f64 re im))
(*.f64 re im)
(+.f64 im (*.f64 re im))
(+.f64 im (*.f64 re im))
(+.f64 im (*.f64 re im))
(+.f64 (*.f64 (+.f64 1 re) im) 0)
(+.f64 0 (*.f64 (+.f64 1 re) im))
(+.f64 (*.f64 (+.f64 1 re) (*.f64 im 1/2)) (*.f64 (+.f64 1 re) (*.f64 im 1/2)))
(+.f64 (/.f64 (*.f64 (+.f64 1 re) im) 4) (+.f64 (*.f64 (+.f64 1 re) (*.f64 im 1/2)) (/.f64 (*.f64 (+.f64 1 re) im) 4)))
(+.f64 (/.f64 (*.f64 (+.f64 1 re) im) 4) (/.f64 (*.f64 -3/2 (neg.f64 (*.f64 (+.f64 1 re) im))) 2))
(+.f64 (/.f64 (*.f64 (+.f64 1 re) im) 4) (/.f64 (*.f64 (+.f64 1 re) (*.f64 im 3)) 4))
(+.f64 (+.f64 (*.f64 (+.f64 1 re) (*.f64 im 1/2)) (/.f64 (*.f64 (+.f64 1 re) im) 4)) (/.f64 (*.f64 (+.f64 1 re) im) 4))
(+.f64 (/.f64 (*.f64 -3/2 (neg.f64 (*.f64 (+.f64 1 re) im))) 2) (/.f64 (*.f64 (+.f64 1 re) im) 4))
(+.f64 (/.f64 (*.f64 (+.f64 1 re) (*.f64 im 3)) 4) (/.f64 (*.f64 (+.f64 1 re) im) 4))
(-.f64 (*.f64 (+.f64 1 re) im) 0)
(-.f64 (*.f64 (+.f64 1 re) (*.f64 im 1/2)) (/.f64 (*.f64 (+.f64 1 re) im) -2))
(-.f64 (/.f64 (*.f64 (+.f64 1 re) im) 4) (*.f64 -3 (/.f64 (*.f64 (+.f64 1 re) im) 4)))
(-.f64 (+.f64 (*.f64 (+.f64 1 re) (*.f64 im 1/2)) (/.f64 (*.f64 (+.f64 1 re) im) 4)) (neg.f64 (/.f64 (*.f64 (+.f64 1 re) im) 4)))
(-.f64 (/.f64 (*.f64 -3/2 (neg.f64 (*.f64 (+.f64 1 re) im))) 2) (/.f64 (/.f64 (*.f64 (+.f64 1 re) im) -2) 2))
(-.f64 (/.f64 (*.f64 (+.f64 1 re) (*.f64 im 3)) 4) (/.f64 (neg.f64 (*.f64 (+.f64 1 re) im)) 4))
(-.f64 (-.f64 (/.f64 (*.f64 (+.f64 1 re) im) 4) (/.f64 (*.f64 (+.f64 1 re) im) -2)) (neg.f64 (/.f64 (*.f64 (+.f64 1 re) im) 4)))
(-.f64 (-.f64 (/.f64 (*.f64 (+.f64 1 re) im) 4) (neg.f64 (/.f64 (*.f64 (+.f64 1 re) im) 4))) (-.f64 (neg.f64 (/.f64 (*.f64 (+.f64 1 re) im) 4)) (/.f64 (*.f64 (+.f64 1 re) im) 4)))
(/.f64 (*.f64 (+.f64 1 re) im) 1)
(/.f64 (*.f64 (+.f64 1 re) (+.f64 im im)) 2)
(/.f64 (*.f64 (+.f64 1 re) (*.f64 im 4)) 4)
(/.f64 (*.f64 (*.f64 (+.f64 1 re) im) 8) 8)
(/.f64 (*.f64 (+.f64 1 re) (*.f64 (*.f64 im 4) 4)) 16)
(/.f64 (*.f64 (*.f64 (+.f64 1 re) (*.f64 im 4)) 8) 32)
(/.f64 (*.f64 (*.f64 2 (*.f64 im 4)) (*.f64 2 (*.f64 (+.f64 1 re) 4))) 64)
(pow.f64 (*.f64 (+.f64 1 re) im) 1)
Outputs
im
(+.f64 (*.f64 re im) im)
(+.f64 im (*.f64 im re))
(+.f64 (*.f64 re im) im)
(+.f64 im (*.f64 im re))
(+.f64 (*.f64 re im) im)
(+.f64 im (*.f64 im re))
(*.f64 re im)
(*.f64 im re)
(+.f64 im (*.f64 re im))
(+.f64 im (*.f64 im re))
(+.f64 im (*.f64 re im))
(+.f64 im (*.f64 im re))
(+.f64 im (*.f64 re im))
(+.f64 im (*.f64 im re))
(*.f64 re im)
(*.f64 im re)
(+.f64 im (*.f64 re im))
(+.f64 im (*.f64 im re))
(+.f64 im (*.f64 re im))
(+.f64 im (*.f64 im re))
(+.f64 im (*.f64 re im))
(+.f64 im (*.f64 im re))
(+.f64 (*.f64 (+.f64 1 re) im) 0)
(+.f64 im (*.f64 im re))
(+.f64 0 (*.f64 (+.f64 1 re) im))
(+.f64 im (*.f64 im re))
(+.f64 (*.f64 (+.f64 1 re) (*.f64 im 1/2)) (*.f64 (+.f64 1 re) (*.f64 im 1/2)))
(+.f64 im (*.f64 im re))
(+.f64 (/.f64 (*.f64 (+.f64 1 re) im) 4) (+.f64 (*.f64 (+.f64 1 re) (*.f64 im 1/2)) (/.f64 (*.f64 (+.f64 1 re) im) 4)))
(+.f64 im (*.f64 im re))
(+.f64 (/.f64 (*.f64 (+.f64 1 re) im) 4) (/.f64 (*.f64 -3/2 (neg.f64 (*.f64 (+.f64 1 re) im))) 2))
(+.f64 im (*.f64 im re))
(+.f64 (/.f64 (*.f64 (+.f64 1 re) im) 4) (/.f64 (*.f64 (+.f64 1 re) (*.f64 im 3)) 4))
(+.f64 im (*.f64 im re))
(+.f64 (+.f64 (*.f64 (+.f64 1 re) (*.f64 im 1/2)) (/.f64 (*.f64 (+.f64 1 re) im) 4)) (/.f64 (*.f64 (+.f64 1 re) im) 4))
(+.f64 im (*.f64 im re))
(+.f64 (/.f64 (*.f64 -3/2 (neg.f64 (*.f64 (+.f64 1 re) im))) 2) (/.f64 (*.f64 (+.f64 1 re) im) 4))
(+.f64 im (*.f64 im re))
(+.f64 (/.f64 (*.f64 (+.f64 1 re) (*.f64 im 3)) 4) (/.f64 (*.f64 (+.f64 1 re) im) 4))
(+.f64 im (*.f64 im re))
(-.f64 (*.f64 (+.f64 1 re) im) 0)
(+.f64 im (*.f64 im re))
(-.f64 (*.f64 (+.f64 1 re) (*.f64 im 1/2)) (/.f64 (*.f64 (+.f64 1 re) im) -2))
(+.f64 im (*.f64 im re))
(-.f64 (/.f64 (*.f64 (+.f64 1 re) im) 4) (*.f64 -3 (/.f64 (*.f64 (+.f64 1 re) im) 4)))
(+.f64 im (*.f64 im re))
(-.f64 (+.f64 (*.f64 (+.f64 1 re) (*.f64 im 1/2)) (/.f64 (*.f64 (+.f64 1 re) im) 4)) (neg.f64 (/.f64 (*.f64 (+.f64 1 re) im) 4)))
(+.f64 im (*.f64 im re))
(-.f64 (/.f64 (*.f64 -3/2 (neg.f64 (*.f64 (+.f64 1 re) im))) 2) (/.f64 (/.f64 (*.f64 (+.f64 1 re) im) -2) 2))
(+.f64 im (*.f64 im re))
(-.f64 (/.f64 (*.f64 (+.f64 1 re) (*.f64 im 3)) 4) (/.f64 (neg.f64 (*.f64 (+.f64 1 re) im)) 4))
(+.f64 im (*.f64 im re))
(-.f64 (-.f64 (/.f64 (*.f64 (+.f64 1 re) im) 4) (/.f64 (*.f64 (+.f64 1 re) im) -2)) (neg.f64 (/.f64 (*.f64 (+.f64 1 re) im) 4)))
(+.f64 im (*.f64 im re))
(-.f64 (-.f64 (/.f64 (*.f64 (+.f64 1 re) im) 4) (neg.f64 (/.f64 (*.f64 (+.f64 1 re) im) 4))) (-.f64 (neg.f64 (/.f64 (*.f64 (+.f64 1 re) im) 4)) (/.f64 (*.f64 (+.f64 1 re) im) 4)))
(+.f64 im (*.f64 im re))
(/.f64 (*.f64 (+.f64 1 re) im) 1)
(+.f64 im (*.f64 im re))
(/.f64 (*.f64 (+.f64 1 re) (+.f64 im im)) 2)
(+.f64 im (*.f64 im re))
(/.f64 (*.f64 (+.f64 1 re) (*.f64 im 4)) 4)
(+.f64 im (*.f64 im re))
(/.f64 (*.f64 (*.f64 (+.f64 1 re) im) 8) 8)
(+.f64 im (*.f64 im re))
(/.f64 (*.f64 (+.f64 1 re) (*.f64 (*.f64 im 4) 4)) 16)
(+.f64 im (*.f64 im re))
(/.f64 (*.f64 (*.f64 (+.f64 1 re) (*.f64 im 4)) 8) 32)
(+.f64 im (*.f64 im re))
(/.f64 (*.f64 (*.f64 2 (*.f64 im 4)) (*.f64 2 (*.f64 (+.f64 1 re) 4))) 64)
(+.f64 im (*.f64 im re))
(pow.f64 (*.f64 (+.f64 1 re) im) 1)
(+.f64 im (*.f64 im re))

localize5.0ms (0.1%)

Local error

Found 1 expressions with local error:

NewErrorProgram
0.0b
(+.f64 (*.f64 re im) im)
Compiler

Compiled 12 to 4 computations (66.7% saved)

series2.0ms (0%)

Counts
1 → 21
Calls

6 calls:

TimeVariablePointExpression
0.0ms
im
@inf
(+.f64 (*.f64 re im) im)
0.0ms
im
@-inf
(+.f64 (*.f64 re im) im)
0.0ms
im
@0
(+.f64 (*.f64 re im) im)
0.0ms
re
@inf
(+.f64 (*.f64 re im) im)
0.0ms
re
@0
(+.f64 (*.f64 re im) im)

rewrite104.0ms (1.3%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
0613
14013
28213
322613
481813
5474213
Stop Event
node limit
Counts
1 → 72
Calls
Call 1
Inputs
(+.f64 (*.f64 re im) im)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 im (*.f64 re (neg.f64 im)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 im (+.f64 (-.f64 im (*.f64 re im)) (neg.f64 im)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 re im) (neg.f64 im))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 re im) (+.f64 (-.f64 (*.f64 re im) im) (*.f64 re (neg.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 im (*.f64 re im)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (*.f64 im (-.f64 -1 re)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (+.f64 (-.f64 (*.f64 re im) im) (*.f64 (*.f64 re im) -2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (+.f64 (-.f64 im (*.f64 re im)) (*.f64 im -2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 im (+.f64 re re)) (-.f64 (*.f64 re im) im))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 im (+.f64 re re)) (+.f64 (-.f64 (*.f64 re im) im) 0))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 im im) (-.f64 im (*.f64 re im)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 im im) (+.f64 (-.f64 im (*.f64 re im)) 0))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 im 1/2) (-.f64 (/.f64 im -2) (*.f64 re im)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 im 1/2) (+.f64 (/.f64 im -2) (*.f64 re (neg.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 im 1/2) (neg.f64 (+.f64 (*.f64 re im) (*.f64 im 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 im 1/2) (/.f64 (-.f64 0 (*.f64 im (+.f64 1 (+.f64 re re)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (+.f64 im (*.f64 re im)) 2) (/.f64 (+.f64 im (*.f64 re im)) -2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (*.f64 re im) 2) (-.f64 (/.f64 (*.f64 re im) -2) im))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (*.f64 re im) 2) (+.f64 (/.f64 (*.f64 re im) -2) (neg.f64 im)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (*.f64 re im) 2) (neg.f64 (+.f64 im (/.f64 (*.f64 re im) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (*.f64 re im) 2) (/.f64 (-.f64 0 (*.f64 im (+.f64 re 2))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 3 (/.f64 (*.f64 re im) 2)) (+.f64 (-.f64 (*.f64 re im) im) (/.f64 (*.f64 re im) -2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 im (/.f64 (*.f64 re im) 2)) (/.f64 (*.f64 re im) -2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (*.f64 re im) (*.f64 im 1/2)) (/.f64 im -2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 im (*.f64 im 1/2)) (+.f64 (-.f64 im (*.f64 re im)) (/.f64 im -2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (/.f64 im 4) (*.f64 im 1/2)) (-.f64 (*.f64 re (neg.f64 im)) (/.f64 im 4)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (/.f64 (*.f64 re im) 4) (/.f64 (*.f64 re im) 2)) (-.f64 (neg.f64 im) (/.f64 (*.f64 re im) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (/.f64 (+.f64 im (*.f64 re im)) 4) (/.f64 (+.f64 im (*.f64 re im)) 2)) (-.f64 0 (/.f64 (+.f64 im (*.f64 re im)) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 (*.f64 re im) (-.f64 (*.f64 re im) im)) (*.f64 re (neg.f64 im)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 0 (-.f64 (*.f64 re im) im)) (*.f64 (*.f64 re im) -2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 (*.f64 3 (/.f64 (*.f64 re im) 2)) (-.f64 (*.f64 re im) im)) (/.f64 (*.f64 re im) -2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 im (-.f64 im (*.f64 re im))) (neg.f64 im))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 0 (-.f64 im (*.f64 re im))) (*.f64 im -2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 (+.f64 im (*.f64 im 1/2)) (-.f64 im (*.f64 re im))) (/.f64 im -2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 (*.f64 im 1/2) (/.f64 (+.f64 im (*.f64 re im)) -2)) (/.f64 (*.f64 re im) -2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 (/.f64 (*.f64 re im) 2) (/.f64 (+.f64 im (*.f64 re im)) -2)) (/.f64 im -2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (+.f64 im (/.f64 (+.f64 im (*.f64 re im)) 2)) 2) (/.f64 (+.f64 (*.f64 -3 (/.f64 (*.f64 re im) 2)) (/.f64 im -2)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (*.f64 (+.f64 re 1) (*.f64 im 3)) 4) (/.f64 (*.f64 im (-.f64 -1 re)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (/.f64 (*.f64 (+.f64 re 1) (*.f64 im 3)) 2) 2) (/.f64 (/.f64 (+.f64 im (*.f64 re im)) -2) 2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (+.f64 (*.f64 re im) (/.f64 (+.f64 im (*.f64 re im)) 2)) 2) (/.f64 (-.f64 (/.f64 (+.f64 im (*.f64 re im)) -2) im) 2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 (*.f64 re im) (*.f64 re im)) (*.f64 im (-.f64 -1 re)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 im im) (*.f64 im (-.f64 -1 re)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (/.f64 (+.f64 im (*.f64 re im)) 4) (/.f64 (*.f64 re im) 2)) (-.f64 (/.f64 im -2) (/.f64 (+.f64 im (*.f64 re im)) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (/.f64 (+.f64 im (*.f64 re im)) 4) (*.f64 im 1/2)) (-.f64 (/.f64 (*.f64 re im) -2) (/.f64 (+.f64 im (*.f64 re im)) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 im (+.f64 re 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 im (*.f64 re im)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 im (*.f64 re im)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (+.f64 im (*.f64 re im)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 im im) (*.f64 1/2 (+.f64 re 1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 im im) (*.f64 (+.f64 re 1) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 im im) (/.f64 (+.f64 re 1) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 im im) (+.f64 (*.f64 re 1/2) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 im im) (+.f64 1/2 (*.f64 re 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 im (+.f64 2 (+.f64 re re))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 re 1) im)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 im (*.f64 re im)) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 im (+.f64 2 (+.f64 re re))) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 im 4) (/.f64 (+.f64 re 1) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (+.f64 im (*.f64 re im)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (*.f64 im 4) (+.f64 re 1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (*.f64 im (+.f64 2 (+.f64 re re))) 4) 1/8)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (*.f64 im 4)) (/.f64 (+.f64 re 1) 8))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (+.f64 re 1) (+.f64 re 1)) (*.f64 im 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 im (*.f64 re im)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 im (*.f64 re im)) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 im (+.f64 2 (+.f64 re re))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 im (+.f64 2 (+.f64 re re))) 4) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 im 4)) (*.f64 re (*.f64 2 (*.f64 im 4)))) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 (*.f64 im (+.f64 2 (+.f64 re re))) 4) (*.f64 (*.f64 im (+.f64 2 (+.f64 re re))) 4)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 re (*.f64 2 (*.f64 im 4))) (*.f64 2 (*.f64 im 4))) 8)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (+.f64 im (*.f64 re im)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (*.f64 im (-.f64 -1 re)))))))

simplify232.0ms (3%)

Algorithm
egg-herbie
Rules
1442×rational_best-simplify-55
1106×rational_best-simplify-85
1038×rational_best-simplify-1
528×rational_best-simplify-47
474×rational_best-simplify-50
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
02021375
15191375
212901369
355041333
Stop Event
node limit
Counts
93 → 90
Calls
Call 1
Inputs
im
(*.f64 re im)
(+.f64 im (*.f64 re im))
(+.f64 im (*.f64 re im))
(+.f64 im (*.f64 re im))
(*.f64 re im)
(+.f64 im (*.f64 re im))
(+.f64 im (*.f64 re im))
(+.f64 im (*.f64 re im))
(*.f64 (+.f64 1 re) im)
(*.f64 (+.f64 1 re) im)
(*.f64 (+.f64 1 re) im)
(*.f64 (+.f64 1 re) im)
(*.f64 (+.f64 1 re) im)
(*.f64 (+.f64 1 re) im)
(*.f64 (+.f64 1 re) im)
(*.f64 (+.f64 1 re) im)
(*.f64 -1 (*.f64 im (-.f64 (*.f64 -1 re) 1)))
(*.f64 -1 (*.f64 im (-.f64 (*.f64 -1 re) 1)))
(*.f64 -1 (*.f64 im (-.f64 (*.f64 -1 re) 1)))
(*.f64 -1 (*.f64 im (-.f64 (*.f64 -1 re) 1)))
(-.f64 im (*.f64 re (neg.f64 im)))
(-.f64 im (+.f64 (-.f64 im (*.f64 re im)) (neg.f64 im)))
(-.f64 (*.f64 re im) (neg.f64 im))
(-.f64 (*.f64 re im) (+.f64 (-.f64 (*.f64 re im) im) (*.f64 re (neg.f64 im))))
(-.f64 (+.f64 im (*.f64 re im)) 0)
(-.f64 0 (*.f64 im (-.f64 -1 re)))
(-.f64 0 (+.f64 (-.f64 (*.f64 re im) im) (*.f64 (*.f64 re im) -2)))
(-.f64 0 (+.f64 (-.f64 im (*.f64 re im)) (*.f64 im -2)))
(-.f64 (*.f64 im (+.f64 re re)) (-.f64 (*.f64 re im) im))
(-.f64 (*.f64 im (+.f64 re re)) (+.f64 (-.f64 (*.f64 re im) im) 0))
(-.f64 (+.f64 im im) (-.f64 im (*.f64 re im)))
(-.f64 (+.f64 im im) (+.f64 (-.f64 im (*.f64 re im)) 0))
(-.f64 (*.f64 im 1/2) (-.f64 (/.f64 im -2) (*.f64 re im)))
(-.f64 (*.f64 im 1/2) (+.f64 (/.f64 im -2) (*.f64 re (neg.f64 im))))
(-.f64 (*.f64 im 1/2) (neg.f64 (+.f64 (*.f64 re im) (*.f64 im 1/2))))
(-.f64 (*.f64 im 1/2) (/.f64 (-.f64 0 (*.f64 im (+.f64 1 (+.f64 re re)))) 2))
(-.f64 (/.f64 (+.f64 im (*.f64 re im)) 2) (/.f64 (+.f64 im (*.f64 re im)) -2))
(-.f64 (/.f64 (*.f64 re im) 2) (-.f64 (/.f64 (*.f64 re im) -2) im))
(-.f64 (/.f64 (*.f64 re im) 2) (+.f64 (/.f64 (*.f64 re im) -2) (neg.f64 im)))
(-.f64 (/.f64 (*.f64 re im) 2) (neg.f64 (+.f64 im (/.f64 (*.f64 re im) 2))))
(-.f64 (/.f64 (*.f64 re im) 2) (/.f64 (-.f64 0 (*.f64 im (+.f64 re 2))) 2))
(-.f64 (*.f64 3 (/.f64 (*.f64 re im) 2)) (+.f64 (-.f64 (*.f64 re im) im) (/.f64 (*.f64 re im) -2)))
(-.f64 (+.f64 im (/.f64 (*.f64 re im) 2)) (/.f64 (*.f64 re im) -2))
(-.f64 (+.f64 (*.f64 re im) (*.f64 im 1/2)) (/.f64 im -2))
(-.f64 (+.f64 im (*.f64 im 1/2)) (+.f64 (-.f64 im (*.f64 re im)) (/.f64 im -2)))
(-.f64 (+.f64 (/.f64 im 4) (*.f64 im 1/2)) (-.f64 (*.f64 re (neg.f64 im)) (/.f64 im 4)))
(-.f64 (+.f64 (/.f64 (*.f64 re im) 4) (/.f64 (*.f64 re im) 2)) (-.f64 (neg.f64 im) (/.f64 (*.f64 re im) 4)))
(-.f64 (+.f64 (/.f64 (+.f64 im (*.f64 re im)) 4) (/.f64 (+.f64 im (*.f64 re im)) 2)) (-.f64 0 (/.f64 (+.f64 im (*.f64 re im)) 4)))
(-.f64 (-.f64 (*.f64 re im) (-.f64 (*.f64 re im) im)) (*.f64 re (neg.f64 im)))
(-.f64 (-.f64 0 (-.f64 (*.f64 re im) im)) (*.f64 (*.f64 re im) -2))
(-.f64 (-.f64 (*.f64 3 (/.f64 (*.f64 re im) 2)) (-.f64 (*.f64 re im) im)) (/.f64 (*.f64 re im) -2))
(-.f64 (-.f64 im (-.f64 im (*.f64 re im))) (neg.f64 im))
(-.f64 (-.f64 0 (-.f64 im (*.f64 re im))) (*.f64 im -2))
(-.f64 (-.f64 (+.f64 im (*.f64 im 1/2)) (-.f64 im (*.f64 re im))) (/.f64 im -2))
(-.f64 (-.f64 (*.f64 im 1/2) (/.f64 (+.f64 im (*.f64 re im)) -2)) (/.f64 (*.f64 re im) -2))
(-.f64 (-.f64 (/.f64 (*.f64 re im) 2) (/.f64 (+.f64 im (*.f64 re im)) -2)) (/.f64 im -2))
(-.f64 (/.f64 (+.f64 im (/.f64 (+.f64 im (*.f64 re im)) 2)) 2) (/.f64 (+.f64 (*.f64 -3 (/.f64 (*.f64 re im) 2)) (/.f64 im -2)) 2))
(-.f64 (/.f64 (*.f64 (+.f64 re 1) (*.f64 im 3)) 4) (/.f64 (*.f64 im (-.f64 -1 re)) 4))
(-.f64 (/.f64 (/.f64 (*.f64 (+.f64 re 1) (*.f64 im 3)) 2) 2) (/.f64 (/.f64 (+.f64 im (*.f64 re im)) -2) 2))
(-.f64 (/.f64 (+.f64 (*.f64 re im) (/.f64 (+.f64 im (*.f64 re im)) 2)) 2) (/.f64 (-.f64 (/.f64 (+.f64 im (*.f64 re im)) -2) im) 2))
(-.f64 (-.f64 (*.f64 re im) (*.f64 re im)) (*.f64 im (-.f64 -1 re)))
(-.f64 (-.f64 im im) (*.f64 im (-.f64 -1 re)))
(-.f64 (+.f64 (/.f64 (+.f64 im (*.f64 re im)) 4) (/.f64 (*.f64 re im) 2)) (-.f64 (/.f64 im -2) (/.f64 (+.f64 im (*.f64 re im)) 4)))
(-.f64 (+.f64 (/.f64 (+.f64 im (*.f64 re im)) 4) (*.f64 im 1/2)) (-.f64 (/.f64 (*.f64 re im) -2) (/.f64 (+.f64 im (*.f64 re im)) 4)))
(*.f64 im (+.f64 re 1))
(*.f64 (+.f64 im (*.f64 re im)) 1)
(*.f64 1 (+.f64 im (*.f64 re im)))
(*.f64 2 (*.f64 (+.f64 im (*.f64 re im)) 1/2))
(*.f64 (+.f64 im im) (*.f64 1/2 (+.f64 re 1)))
(*.f64 (+.f64 im im) (*.f64 (+.f64 re 1) 1/2))
(*.f64 (+.f64 im im) (/.f64 (+.f64 re 1) 2))
(*.f64 (+.f64 im im) (+.f64 (*.f64 re 1/2) 1/2))
(*.f64 (+.f64 im im) (+.f64 1/2 (*.f64 re 1/2)))
(*.f64 1/2 (*.f64 im (+.f64 2 (+.f64 re re))))
(*.f64 (+.f64 re 1) im)
(*.f64 (*.f64 (+.f64 im (*.f64 re im)) 4) 1/4)
(*.f64 (*.f64 im (+.f64 2 (+.f64 re re))) 1/2)
(*.f64 (*.f64 im 4) (/.f64 (+.f64 re 1) 4))
(*.f64 1/4 (*.f64 (+.f64 im (*.f64 re im)) 4))
(*.f64 1/4 (*.f64 (*.f64 im 4) (+.f64 re 1)))
(*.f64 (*.f64 (*.f64 im (+.f64 2 (+.f64 re re))) 4) 1/8)
(*.f64 (*.f64 2 (*.f64 im 4)) (/.f64 (+.f64 re 1) 8))
(*.f64 (+.f64 (+.f64 re 1) (+.f64 re 1)) (*.f64 im 1/2))
(/.f64 (+.f64 im (*.f64 re im)) 1)
(/.f64 (*.f64 (+.f64 im (*.f64 re im)) 4) 4)
(/.f64 (*.f64 im (+.f64 2 (+.f64 re re))) 2)
(/.f64 (*.f64 (*.f64 im (+.f64 2 (+.f64 re re))) 4) 8)
(/.f64 (+.f64 (*.f64 2 (*.f64 im 4)) (*.f64 re (*.f64 2 (*.f64 im 4)))) 8)
(/.f64 (+.f64 (*.f64 (*.f64 im (+.f64 2 (+.f64 re re))) 4) (*.f64 (*.f64 im (+.f64 2 (+.f64 re re))) 4)) 16)
(/.f64 (+.f64 (*.f64 re (*.f64 2 (*.f64 im 4))) (*.f64 2 (*.f64 im 4))) 8)
(pow.f64 (+.f64 im (*.f64 re im)) 1)
(neg.f64 (*.f64 im (-.f64 -1 re)))
Outputs
im
(*.f64 re im)
(*.f64 im re)
(+.f64 im (*.f64 re im))
(+.f64 im (*.f64 im re))
(+.f64 im (*.f64 re im))
(+.f64 im (*.f64 im re))
(+.f64 im (*.f64 re im))
(+.f64 im (*.f64 im re))
(*.f64 re im)
(*.f64 im re)
(+.f64 im (*.f64 re im))
(+.f64 im (*.f64 im re))
(+.f64 im (*.f64 re im))
(+.f64 im (*.f64 im re))
(+.f64 im (*.f64 re im))
(+.f64 im (*.f64 im re))
(*.f64 (+.f64 1 re) im)
(+.f64 im (*.f64 im re))
(*.f64 (+.f64 1 re) im)
(+.f64 im (*.f64 im re))
(*.f64 (+.f64 1 re) im)
(+.f64 im (*.f64 im re))
(*.f64 (+.f64 1 re) im)
(+.f64 im (*.f64 im re))
(*.f64 (+.f64 1 re) im)
(+.f64 im (*.f64 im re))
(*.f64 (+.f64 1 re) im)
(+.f64 im (*.f64 im re))
(*.f64 (+.f64 1 re) im)
(+.f64 im (*.f64 im re))
(*.f64 (+.f64 1 re) im)
(+.f64 im (*.f64 im re))
(*.f64 -1 (*.f64 im (-.f64 (*.f64 -1 re) 1)))
(+.f64 im (*.f64 im re))
(*.f64 -1 (*.f64 im (-.f64 (*.f64 -1 re) 1)))
(+.f64 im (*.f64 im re))
(*.f64 -1 (*.f64 im (-.f64 (*.f64 -1 re) 1)))
(+.f64 im (*.f64 im re))
(*.f64 -1 (*.f64 im (-.f64 (*.f64 -1 re) 1)))
(+.f64 im (*.f64 im re))
(-.f64 im (*.f64 re (neg.f64 im)))
(+.f64 im (*.f64 im re))
(-.f64 im (+.f64 (-.f64 im (*.f64 re im)) (neg.f64 im)))
(+.f64 im (*.f64 im re))
(-.f64 (*.f64 re im) (neg.f64 im))
(+.f64 im (*.f64 im re))
(-.f64 (*.f64 re im) (+.f64 (-.f64 (*.f64 re im) im) (*.f64 re (neg.f64 im))))
(+.f64 im (*.f64 im re))
(-.f64 (+.f64 im (*.f64 re im)) 0)
(+.f64 im (*.f64 im re))
(-.f64 0 (*.f64 im (-.f64 -1 re)))
(+.f64 im (*.f64 im re))
(-.f64 0 (+.f64 (-.f64 (*.f64 re im) im) (*.f64 (*.f64 re im) -2)))
(+.f64 im (*.f64 im re))
(-.f64 0 (+.f64 (-.f64 im (*.f64 re im)) (*.f64 im -2)))
(+.f64 im (*.f64 im re))
(-.f64 (*.f64 im (+.f64 re re)) (-.f64 (*.f64 re im) im))
(+.f64 im (*.f64 im re))
(-.f64 (*.f64 im (+.f64 re re)) (+.f64 (-.f64 (*.f64 re im) im) 0))
(+.f64 im (*.f64 im re))
(-.f64 (+.f64 im im) (-.f64 im (*.f64 re im)))
(+.f64 im (*.f64 im re))
(-.f64 (+.f64 im im) (+.f64 (-.f64 im (*.f64 re im)) 0))
(+.f64 im (*.f64 im re))
(-.f64 (*.f64 im 1/2) (-.f64 (/.f64 im -2) (*.f64 re im)))
(+.f64 im (*.f64 im re))
(-.f64 (*.f64 im 1/2) (+.f64 (/.f64 im -2) (*.f64 re (neg.f64 im))))
(+.f64 im (*.f64 im re))
(-.f64 (*.f64 im 1/2) (neg.f64 (+.f64 (*.f64 re im) (*.f64 im 1/2))))
(+.f64 im (*.f64 im re))
(-.f64 (*.f64 im 1/2) (/.f64 (-.f64 0 (*.f64 im (+.f64 1 (+.f64 re re)))) 2))
(+.f64 im (*.f64 im re))
(-.f64 (/.f64 (+.f64 im (*.f64 re im)) 2) (/.f64 (+.f64 im (*.f64 re im)) -2))
(+.f64 im (*.f64 im re))
(-.f64 (/.f64 (*.f64 re im) 2) (-.f64 (/.f64 (*.f64 re im) -2) im))
(+.f64 im (*.f64 im re))
(-.f64 (/.f64 (*.f64 re im) 2) (+.f64 (/.f64 (*.f64 re im) -2) (neg.f64 im)))
(+.f64 im (*.f64 im re))
(-.f64 (/.f64 (*.f64 re im) 2) (neg.f64 (+.f64 im (/.f64 (*.f64 re im) 2))))
(+.f64 im (*.f64 im re))
(-.f64 (/.f64 (*.f64 re im) 2) (/.f64 (-.f64 0 (*.f64 im (+.f64 re 2))) 2))
(+.f64 im (*.f64 im re))
(-.f64 (*.f64 3 (/.f64 (*.f64 re im) 2)) (+.f64 (-.f64 (*.f64 re im) im) (/.f64 (*.f64 re im) -2)))
(-.f64 (*.f64 (*.f64 im re) 3/2) (+.f64 (-.f64 (*.f64 im re) im) (/.f64 (*.f64 im re) -2)))
(+.f64 (-.f64 (*.f64 (*.f64 im re) 3/2) (/.f64 (*.f64 im re) -2)) (-.f64 im (*.f64 im re)))
(-.f64 (*.f64 im (*.f64 re 3/2)) (+.f64 (-.f64 (*.f64 im re) im) (/.f64 (*.f64 im re) -2)))
(+.f64 (-.f64 im (*.f64 im re)) (*.f64 (*.f64 (*.f64 im re) 1/2) 4))
(-.f64 (+.f64 im (/.f64 (*.f64 re im) 2)) (/.f64 (*.f64 re im) -2))
(+.f64 im (*.f64 im re))
(-.f64 (+.f64 (*.f64 re im) (*.f64 im 1/2)) (/.f64 im -2))
(+.f64 im (*.f64 im re))
(-.f64 (+.f64 im (*.f64 im 1/2)) (+.f64 (-.f64 im (*.f64 re im)) (/.f64 im -2)))
(+.f64 im (*.f64 im re))
(-.f64 (+.f64 (/.f64 im 4) (*.f64 im 1/2)) (-.f64 (*.f64 re (neg.f64 im)) (/.f64 im 4)))
(+.f64 im (*.f64 im re))
(-.f64 (+.f64 (/.f64 (*.f64 re im) 4) (/.f64 (*.f64 re im) 2)) (-.f64 (neg.f64 im) (/.f64 (*.f64 re im) 4)))
(-.f64 (/.f64 (*.f64 im re) 4) (-.f64 (neg.f64 im) (+.f64 (/.f64 (*.f64 im re) 2) (/.f64 (*.f64 im re) 4))))
(-.f64 (+.f64 (/.f64 (*.f64 im re) 2) (/.f64 (*.f64 im re) 4)) (-.f64 (neg.f64 im) (/.f64 (*.f64 im re) 4)))
(-.f64 im (-.f64 (neg.f64 (/.f64 (*.f64 im re) 4)) (/.f64 (*.f64 im (+.f64 re (+.f64 re re))) 4)))
(-.f64 im (-.f64 (neg.f64 (/.f64 (*.f64 im re) 4)) (/.f64 (*.f64 re (*.f64 im 3)) 4)))
(-.f64 (+.f64 (/.f64 (+.f64 im (*.f64 re im)) 4) (/.f64 (+.f64 im (*.f64 re im)) 2)) (-.f64 0 (/.f64 (+.f64 im (*.f64 re im)) 4)))
(+.f64 im (*.f64 im re))
(-.f64 (-.f64 (*.f64 re im) (-.f64 (*.f64 re im) im)) (*.f64 re (neg.f64 im)))
(+.f64 im (*.f64 im re))
(-.f64 (-.f64 0 (-.f64 (*.f64 re im) im)) (*.f64 (*.f64 re im) -2))
(+.f64 im (*.f64 im re))
(-.f64 (-.f64 (*.f64 3 (/.f64 (*.f64 re im) 2)) (-.f64 (*.f64 re im) im)) (/.f64 (*.f64 re im) -2))
(-.f64 (*.f64 (*.f64 im re) 3/2) (+.f64 (-.f64 (*.f64 im re) im) (/.f64 (*.f64 im re) -2)))
(+.f64 (-.f64 (*.f64 (*.f64 im re) 3/2) (/.f64 (*.f64 im re) -2)) (-.f64 im (*.f64 im re)))
(-.f64 (*.f64 im (*.f64 re 3/2)) (+.f64 (-.f64 (*.f64 im re) im) (/.f64 (*.f64 im re) -2)))
(+.f64 (-.f64 im (*.f64 im re)) (*.f64 (*.f64 (*.f64 im re) 1/2) 4))
(-.f64 (-.f64 im (-.f64 im (*.f64 re im))) (neg.f64 im))
(+.f64 im (*.f64 im re))
(-.f64 (-.f64 0 (-.f64 im (*.f64 re im))) (*.f64 im -2))
(+.f64 im (*.f64 im re))
(-.f64 (-.f64 (+.f64 im (*.f64 im 1/2)) (-.f64 im (*.f64 re im))) (/.f64 im -2))
(+.f64 im (*.f64 im re))
(-.f64 (-.f64 (*.f64 im 1/2) (/.f64 (+.f64 im (*.f64 re im)) -2)) (/.f64 (*.f64 re im) -2))
(+.f64 im (*.f64 im re))
(-.f64 (-.f64 (/.f64 (*.f64 re im) 2) (/.f64 (+.f64 im (*.f64 re im)) -2)) (/.f64 im -2))
(+.f64 im (*.f64 im re))
(-.f64 (/.f64 (+.f64 im (/.f64 (+.f64 im (*.f64 re im)) 2)) 2) (/.f64 (+.f64 (*.f64 -3 (/.f64 (*.f64 re im) 2)) (/.f64 im -2)) 2))
(/.f64 (-.f64 (+.f64 im (/.f64 (+.f64 im (*.f64 im re)) 2)) (+.f64 (/.f64 im -2) (*.f64 (*.f64 im re) -3/2))) 2)
(+.f64 (/.f64 im 4) (/.f64 (-.f64 (+.f64 im (+.f64 im (+.f64 im (*.f64 im re)))) (*.f64 (*.f64 im re) -3)) 4))
(+.f64 (/.f64 im 4) (/.f64 (-.f64 (+.f64 im (*.f64 im (+.f64 re 2))) (*.f64 (*.f64 im re) -3)) 4))
(-.f64 (/.f64 (*.f64 (+.f64 re 1) (*.f64 im 3)) 4) (/.f64 (*.f64 im (-.f64 -1 re)) 4))
(+.f64 im (*.f64 im re))
(-.f64 (/.f64 (/.f64 (*.f64 (+.f64 re 1) (*.f64 im 3)) 2) 2) (/.f64 (/.f64 (+.f64 im (*.f64 re im)) -2) 2))
(+.f64 im (*.f64 im re))
(-.f64 (/.f64 (+.f64 (*.f64 re im) (/.f64 (+.f64 im (*.f64 re im)) 2)) 2) (/.f64 (-.f64 (/.f64 (+.f64 im (*.f64 re im)) -2) im) 2))
(+.f64 im (*.f64 im re))
(-.f64 (-.f64 (*.f64 re im) (*.f64 re im)) (*.f64 im (-.f64 -1 re)))
(+.f64 im (*.f64 im re))
(-.f64 (-.f64 im im) (*.f64 im (-.f64 -1 re)))
(+.f64 im (*.f64 im re))
(-.f64 (+.f64 (/.f64 (+.f64 im (*.f64 re im)) 4) (/.f64 (*.f64 re im) 2)) (-.f64 (/.f64 im -2) (/.f64 (+.f64 im (*.f64 re im)) 4)))
(+.f64 im (*.f64 im re))
(-.f64 (+.f64 (/.f64 (+.f64 im (*.f64 re im)) 4) (*.f64 im 1/2)) (-.f64 (/.f64 (*.f64 re im) -2) (/.f64 (+.f64 im (*.f64 re im)) 4)))
(+.f64 im (*.f64 im re))
(*.f64 im (+.f64 re 1))
(+.f64 im (*.f64 im re))
(*.f64 (+.f64 im (*.f64 re im)) 1)
(+.f64 im (*.f64 im re))
(*.f64 1 (+.f64 im (*.f64 re im)))
(+.f64 im (*.f64 im re))
(*.f64 2 (*.f64 (+.f64 im (*.f64 re im)) 1/2))
(+.f64 im (*.f64 im re))
(*.f64 (+.f64 im im) (*.f64 1/2 (+.f64 re 1)))
(+.f64 im (*.f64 im re))
(*.f64 (+.f64 im im) (*.f64 (+.f64 re 1) 1/2))
(+.f64 im (*.f64 im re))
(*.f64 (+.f64 im im) (/.f64 (+.f64 re 1) 2))
(+.f64 im (*.f64 im re))
(*.f64 (+.f64 im im) (+.f64 (*.f64 re 1/2) 1/2))
(*.f64 (+.f64 im im) (+.f64 1/2 (*.f64 re 1/2)))
(*.f64 (+.f64 im im) (+.f64 1/2 (*.f64 re 1/2)))
(*.f64 1/2 (*.f64 im (+.f64 2 (+.f64 re re))))
(+.f64 im (*.f64 im re))
(*.f64 (+.f64 re 1) im)
(+.f64 im (*.f64 im re))
(*.f64 (*.f64 (+.f64 im (*.f64 re im)) 4) 1/4)
(+.f64 im (*.f64 im re))
(*.f64 (*.f64 im (+.f64 2 (+.f64 re re))) 1/2)
(+.f64 im (*.f64 im re))
(*.f64 (*.f64 im 4) (/.f64 (+.f64 re 1) 4))
(+.f64 im (*.f64 im re))
(*.f64 1/4 (*.f64 (+.f64 im (*.f64 re im)) 4))
(+.f64 im (*.f64 im re))
(*.f64 1/4 (*.f64 (*.f64 im 4) (+.f64 re 1)))
(+.f64 im (*.f64 im re))
(*.f64 (*.f64 (*.f64 im (+.f64 2 (+.f64 re re))) 4) 1/8)
(+.f64 im (*.f64 im re))
(*.f64 (*.f64 2 (*.f64 im 4)) (/.f64 (+.f64 re 1) 8))
(+.f64 im (*.f64 im re))
(*.f64 (+.f64 (+.f64 re 1) (+.f64 re 1)) (*.f64 im 1/2))
(+.f64 im (*.f64 im re))
(/.f64 (+.f64 im (*.f64 re im)) 1)
(+.f64 im (*.f64 im re))
(/.f64 (*.f64 (+.f64 im (*.f64 re im)) 4) 4)
(+.f64 im (*.f64 im re))
(/.f64 (*.f64 im (+.f64 2 (+.f64 re re))) 2)
(+.f64 im (*.f64 im re))
(/.f64 (*.f64 (*.f64 im (+.f64 2 (+.f64 re re))) 4) 8)
(+.f64 im (*.f64 im re))
(/.f64 (+.f64 (*.f64 2 (*.f64 im 4)) (*.f64 re (*.f64 2 (*.f64 im 4)))) 8)
(+.f64 im (*.f64 im re))
(/.f64 (+.f64 (*.f64 (*.f64 im (+.f64 2 (+.f64 re re))) 4) (*.f64 (*.f64 im (+.f64 2 (+.f64 re re))) 4)) 16)
(+.f64 im (*.f64 im re))
(/.f64 (+.f64 (*.f64 re (*.f64 2 (*.f64 im 4))) (*.f64 2 (*.f64 im 4))) 8)
(+.f64 im (*.f64 im re))
(pow.f64 (+.f64 im (*.f64 re im)) 1)
(+.f64 im (*.f64 im re))
(neg.f64 (*.f64 im (-.f64 -1 re)))
(+.f64 im (*.f64 im re))

eval101.0ms (1.3%)

Compiler

Compiled 3251 to 1987 computations (38.9% saved)

prune38.0ms (0.5%)

Pruning

12 alts after pruning (5 fresh and 7 done)

PrunedKeptTotal
New2394243
Fresh011
Picked011
Done167
Total24012252
Error
0.0b
Counts
252 → 12
Alt Table
Click to see full alt table
StatusErrorProgram
44.1b
(-.f64 (-.f64 (+.f64 im (*.f64 im 1/2)) (-.f64 im (*.f64 re im))) (/.f64 im -2))
43.9b
(+.f64 (*.f64 re im) im)
20.6b
(+.f64 (sin.f64 im) (*.f64 (sin.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))))
20.4b
(*.f64 (-.f64 (+.f64 1 (*.f64 2 re)) re) (sin.f64 im))
43.9b
(*.f64 (-.f64 (*.f64 2 re) (+.f64 re -1)) im)
43.9b
(*.f64 (+.f64 1 re) im)
20.4b
(*.f64 (sin.f64 im) (-.f64 re -1))
0.0b
(*.f64 (exp.f64 re) (sin.f64 im))
23.4b
(*.f64 (exp.f64 re) im)
61.4b
(*.f64 re im)
20.7b
(sin.f64 im)
43.8b
im
Compiler

Compiled 102 to 70 computations (31.4% saved)

localize3.0ms (0%)

Compiler

Compiled 7 to 3 computations (57.1% saved)

localize11.0ms (0.1%)

Local error

Found 2 expressions with local error:

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

Compiled 28 to 19 computations (32.1% saved)

series1.0ms (0%)

Counts
2 → 36
Calls

9 calls:

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

rewrite188.0ms (2.4%)

Algorithm
batch-egg-rewrite
Rules
956×rational_best-simplify-86
792×rational_best-1
790×rational_best-4
790×rational_best-2
790×rational_best-3
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01044
17020
214620
341320
4209520
5790920
Stop Event
node limit
Counts
2 → 121
Calls
Call 1
Inputs
(-.f64 (*.f64 2 re) (+.f64 re -1))
(*.f64 (-.f64 (*.f64 2 re) (+.f64 re -1)) im)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 2 (+.f64 re -1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 re 1)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 re (+.f64 re (-.f64 1 re)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 re re) (-.f64 1 re))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 -1 (+.f64 2 re))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 -1 (-.f64 1 (-.f64 -1 re)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 -1 (-.f64 2 (neg.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 re -1) 2)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 re 1) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (+.f64 re 1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 1 re)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 -1 re) (+.f64 2 (+.f64 re re)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 re (+.f64 re 1)) (neg.f64 re))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (neg.f64 re) (+.f64 re (+.f64 re 1)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 1 re) (+.f64 re re))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 2 (+.f64 re re)) (-.f64 -1 re))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 re 3) (-.f64 1 (+.f64 re re)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 1 (*.f64 re 3)) (*.f64 re -2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 2 re) -1)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (+.f64 re re) -1) (-.f64 1 (+.f64 re -1)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 1/2 (/.f64 (+.f64 re (+.f64 re 1)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 1/2 (+.f64 (/.f64 (+.f64 (+.f64 re re) -1) 2) 1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 1/2 (/.f64 re 2)) (+.f64 1/2 (/.f64 re 2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 re -2) (+.f64 1 (*.f64 re 3)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 re 2) (+.f64 1 (/.f64 re 2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 re 2) (/.f64 (+.f64 2 re) 2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 1 (+.f64 re re)) (*.f64 re 3))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 1 (+.f64 re re)) (+.f64 (+.f64 re -1) (+.f64 re (+.f64 re 1))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 re (-.f64 1 re)) re)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 re (+.f64 1/2 (/.f64 re 2))) (/.f64 (+.f64 re -1) -2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 1 (/.f64 re 2)) (/.f64 re 2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 1 (/.f64 re 2)) (+.f64 (+.f64 -1 (/.f64 re 2)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 1 (/.f64 re 2)) (+.f64 (/.f64 (+.f64 re -2) 2) 1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (+.f64 re -1) (+.f64 re (+.f64 re 1))) (-.f64 1 (+.f64 re re)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 1 (-.f64 -1 re)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 re -2) (+.f64 (+.f64 re 1) (/.f64 re 2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (+.f64 re -1) -2) (+.f64 re (+.f64 1/2 (/.f64 re 2))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 1 (+.f64 re -1)) (+.f64 (+.f64 re re) -1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 2 (neg.f64 re)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (+.f64 2 re) 2) (/.f64 re 2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (+.f64 re (+.f64 re 1)) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (+.f64 re 1) (/.f64 re 2)) (/.f64 re -2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 1 (+.f64 (/.f64 re 2) -1/2)) (+.f64 1 (+.f64 (/.f64 re 2) -1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 1 (-.f64 1 re)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (-.f64 -1 (+.f64 -1 (*.f64 re -2))) 1) (neg.f64 re))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (-.f64 (+.f64 (+.f64 re re) -1) (/.f64 re 2)) 1) (+.f64 (/.f64 re -2) 1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (+.f64 re (+.f64 (/.f64 re 2) -1/2)) 1) (+.f64 (/.f64 (+.f64 re 1) -2) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (+.f64 1/2 (/.f64 re 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (-.f64 -1 re))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 re 1) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 re 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 -1 re) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 2 (+.f64 re re)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (+.f64 2 (+.f64 re re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (+.f64 (*.f64 (+.f64 re 1) 4) (+.f64 -2 (*.f64 re -2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 1/2 (/.f64 re 2)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 re 1) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (+.f64 re 1) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 2 (+.f64 re re)) 4) 1/8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 re 1) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 -1 re) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 2 (+.f64 re re)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 re 1) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 -2 (*.f64 re -2)) -2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 2 (+.f64 re re)) 4) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (+.f64 -2 (*.f64 re -2))) -4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 -1 re) 4) -4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 2 (+.f64 -2 (*.f64 re -2)))) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 (-.f64 -1 re) 4)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 (+.f64 re 1) 4) (+.f64 -2 (*.f64 re -2))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 re 8) (neg.f64 (*.f64 (+.f64 re -1) 4))) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (-.f64 (*.f64 re 4) -2) (*.f64 re -2)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (-.f64 (*.f64 re 4) -2)) (neg.f64 (*.f64 re 4))) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 re -2) (-.f64 (*.f64 re 4) -2)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (neg.f64 (*.f64 re 4)) (*.f64 2 (-.f64 (*.f64 re 4) -2))) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (neg.f64 (*.f64 (+.f64 re -1) 4)) (*.f64 re 8)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 (+.f64 2 (+.f64 re re)) 4) (*.f64 2 (+.f64 -2 (*.f64 re -2)))) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 (+.f64 2 (+.f64 re re)) 4) (*.f64 (-.f64 -1 re) 4)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (+.f64 1 (*.f64 re 3))) (neg.f64 (*.f64 re 4))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (neg.f64 (*.f64 re 4)) (*.f64 2 (+.f64 1 (*.f64 re 3)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 (+.f64 2 (+.f64 re re)) 4) (*.f64 (+.f64 2 (+.f64 re re)) 4)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 2 (*.f64 re 8)) (*.f64 (+.f64 re (+.f64 re -2)) 4)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 2 (-.f64 (*.f64 re 4) -2)) (*.f64 re 4)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (-.f64 2 (+.f64 re re)) (neg.f64 (*.f64 re 4))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 2 (*.f64 re 8)) (+.f64 (*.f64 re 8) (*.f64 (+.f64 re -1) 4))) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 re 6) (-.f64 (*.f64 re 4) 2)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 2 (*.f64 re 6)) (*.f64 2 (-.f64 (*.f64 re 4) 2))) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 2 (+.f64 1 (*.f64 re 3))) (*.f64 re 4)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (+.f64 (*.f64 re 8) (*.f64 (+.f64 re 1) 4)) (*.f64 re 8)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 2 (+.f64 -1 (*.f64 re 3))) (*.f64 (+.f64 re -1) 4)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (+.f64 (*.f64 re 8) (*.f64 (+.f64 re -1) 4)) (*.f64 (+.f64 re (+.f64 re -2)) 4)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (+.f64 re 1) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (-.f64 -1 re))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (+.f64 re 1) im) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (+.f64 re 1) im))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (+.f64 re 1) (*.f64 im 1/2)) (*.f64 (+.f64 re 1) (*.f64 im 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (+.f64 re 1) im) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (*.f64 im (-.f64 -1 re)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 2 (*.f64 (+.f64 re 1) im)) (*.f64 (+.f64 re 1) im))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (+.f64 re 1) (*.f64 im 1/2)) (/.f64 (*.f64 (+.f64 re 1) im) -2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 re 1) im) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (+.f64 re 1) im)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 im (-.f64 -1 re)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 re 1) (*.f64 im 4)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 im (-.f64 -1 re))) -2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 -1 re) (*.f64 im 4)) -4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (+.f64 re 1) (*.f64 im 4))) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 4 (*.f64 (+.f64 re 1) (*.f64 im 4))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 (-.f64 -1 re) (*.f64 im 4)) 2) -2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 -1 re) (*.f64 2 (*.f64 im 4))) -8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 im (*.f64 2 (+.f64 -2 (*.f64 re -2)))) -4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 im (*.f64 (-.f64 -1 re) 4)) -4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 im (-.f64 -1 re))) (*.f64 2 (*.f64 im (-.f64 -1 re)))) -4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 (-.f64 -1 re) (*.f64 im 4)) (*.f64 (-.f64 -1 re) (*.f64 im 4))) -8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 (+.f64 re 1) (*.f64 im 4))) (*.f64 2 (*.f64 (+.f64 re 1) (*.f64 im 4)))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 4 (*.f64 (+.f64 re 1) (*.f64 im 4))) (*.f64 4 (*.f64 (+.f64 re 1) (*.f64 im 4)))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 im (-.f64 -1 re)) (*.f64 im (-.f64 -1 re))) -2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 (+.f64 2 (+.f64 re re)) 4) (*.f64 2 (*.f64 im 4))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 2 (*.f64 im 4)) (*.f64 (+.f64 2 (+.f64 re re)) 4)) 64)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (+.f64 re 1) im) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (*.f64 im (-.f64 -1 re)))))))

simplify132.0ms (1.7%)

Algorithm
egg-herbie
Rules
972×rational_best-simplify-1
856×rational_best-simplify-65
668×rational_best-simplify-3
600×rational_best-simplify-108
500×rational_best-simplify-67
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
02712083
17122059
217962009
363391993
Stop Event
node limit
Counts
157 → 154
Calls
Call 1
Inputs
1
(+.f64 1 re)
(+.f64 1 re)
(+.f64 1 re)
re
(+.f64 1 re)
(+.f64 1 re)
(+.f64 1 re)
re
(+.f64 1 re)
(+.f64 1 re)
(+.f64 1 re)
im
(+.f64 (*.f64 re im) im)
(+.f64 (*.f64 re im) im)
(+.f64 (*.f64 re im) im)
(*.f64 re im)
(+.f64 im (*.f64 re im))
(+.f64 im (*.f64 re im))
(+.f64 im (*.f64 re im))
(*.f64 re im)
(+.f64 im (*.f64 re im))
(+.f64 im (*.f64 re im))
(+.f64 im (*.f64 re im))
(*.f64 (-.f64 (+.f64 1 (*.f64 2 re)) re) im)
(*.f64 (-.f64 (+.f64 1 (*.f64 2 re)) re) im)
(*.f64 (-.f64 (+.f64 1 (*.f64 2 re)) re) im)
(*.f64 (-.f64 (+.f64 1 (*.f64 2 re)) re) im)
(*.f64 (-.f64 (+.f64 1 (*.f64 2 re)) re) im)
(*.f64 (-.f64 (+.f64 1 (*.f64 2 re)) re) im)
(*.f64 (-.f64 (+.f64 1 (*.f64 2 re)) re) im)
(*.f64 (-.f64 (+.f64 1 (*.f64 2 re)) re) im)
(*.f64 (-.f64 (+.f64 1 (*.f64 2 re)) re) im)
(*.f64 (-.f64 (+.f64 1 (*.f64 2 re)) re) im)
(*.f64 (-.f64 (+.f64 1 (*.f64 2 re)) re) im)
(*.f64 (-.f64 (+.f64 1 (*.f64 2 re)) re) im)
(+.f64 2 (+.f64 re -1))
(+.f64 re 1)
(+.f64 re (+.f64 re (-.f64 1 re)))
(+.f64 (+.f64 re re) (-.f64 1 re))
(+.f64 -1 (+.f64 2 re))
(+.f64 -1 (-.f64 1 (-.f64 -1 re)))
(+.f64 -1 (-.f64 2 (neg.f64 re)))
(+.f64 (+.f64 re -1) 2)
(+.f64 (+.f64 re 1) 0)
(+.f64 0 (+.f64 re 1))
(+.f64 1 re)
(+.f64 (-.f64 -1 re) (+.f64 2 (+.f64 re re)))
(+.f64 (+.f64 re (+.f64 re 1)) (neg.f64 re))
(+.f64 (neg.f64 re) (+.f64 re (+.f64 re 1)))
(+.f64 (-.f64 1 re) (+.f64 re re))
(+.f64 (+.f64 2 (+.f64 re re)) (-.f64 -1 re))
(+.f64 (*.f64 re 3) (-.f64 1 (+.f64 re re)))
(+.f64 (+.f64 1 (*.f64 re 3)) (*.f64 re -2))
(+.f64 (+.f64 2 re) -1)
(+.f64 (+.f64 (+.f64 re re) -1) (-.f64 1 (+.f64 re -1)))
(+.f64 1/2 (/.f64 (+.f64 re (+.f64 re 1)) 2))
(+.f64 1/2 (+.f64 (/.f64 (+.f64 (+.f64 re re) -1) 2) 1))
(+.f64 (+.f64 1/2 (/.f64 re 2)) (+.f64 1/2 (/.f64 re 2)))
(+.f64 (*.f64 re -2) (+.f64 1 (*.f64 re 3)))
(+.f64 (/.f64 re 2) (+.f64 1 (/.f64 re 2)))
(+.f64 (/.f64 re 2) (/.f64 (+.f64 2 re) 2))
(+.f64 (-.f64 1 (+.f64 re re)) (*.f64 re 3))
(+.f64 (-.f64 1 (+.f64 re re)) (+.f64 (+.f64 re -1) (+.f64 re (+.f64 re 1))))
(+.f64 (+.f64 re (-.f64 1 re)) re)
(+.f64 (+.f64 re (+.f64 1/2 (/.f64 re 2))) (/.f64 (+.f64 re -1) -2))
(+.f64 (+.f64 1 (/.f64 re 2)) (/.f64 re 2))
(+.f64 (+.f64 1 (/.f64 re 2)) (+.f64 (+.f64 -1 (/.f64 re 2)) 1))
(+.f64 (+.f64 1 (/.f64 re 2)) (+.f64 (/.f64 (+.f64 re -2) 2) 1))
(+.f64 (+.f64 (+.f64 re -1) (+.f64 re (+.f64 re 1))) (-.f64 1 (+.f64 re re)))
(+.f64 (-.f64 1 (-.f64 -1 re)) -1)
(+.f64 (/.f64 re -2) (+.f64 (+.f64 re 1) (/.f64 re 2)))
(+.f64 (/.f64 (+.f64 re -1) -2) (+.f64 re (+.f64 1/2 (/.f64 re 2))))
(+.f64 (-.f64 1 (+.f64 re -1)) (+.f64 (+.f64 re re) -1))
(+.f64 (-.f64 2 (neg.f64 re)) -1)
(+.f64 (/.f64 (+.f64 2 re) 2) (/.f64 re 2))
(+.f64 (/.f64 (+.f64 re (+.f64 re 1)) 2) 1/2)
(+.f64 (+.f64 (+.f64 re 1) (/.f64 re 2)) (/.f64 re -2))
(+.f64 (+.f64 1 (+.f64 (/.f64 re 2) -1/2)) (+.f64 1 (+.f64 (/.f64 re 2) -1/2)))
(+.f64 (-.f64 1 (-.f64 1 re)) 1)
(+.f64 (+.f64 (-.f64 -1 (+.f64 -1 (*.f64 re -2))) 1) (neg.f64 re))
(+.f64 (+.f64 (-.f64 (+.f64 (+.f64 re re) -1) (/.f64 re 2)) 1) (+.f64 (/.f64 re -2) 1))
(+.f64 (+.f64 (+.f64 re (+.f64 (/.f64 re 2) -1/2)) 1) (+.f64 (/.f64 (+.f64 re 1) -2) 1))
(*.f64 2 (+.f64 1/2 (/.f64 re 2)))
(*.f64 -1 (-.f64 -1 re))
(*.f64 (+.f64 re 1) 1)
(*.f64 1 (+.f64 re 1))
(*.f64 (-.f64 -1 re) -1)
(*.f64 (+.f64 2 (+.f64 re re)) 1/2)
(*.f64 1/2 (+.f64 2 (+.f64 re re)))
(*.f64 1/2 (+.f64 (*.f64 (+.f64 re 1) 4) (+.f64 -2 (*.f64 re -2))))
(*.f64 (+.f64 1/2 (/.f64 re 2)) 2)
(*.f64 (*.f64 (+.f64 re 1) 4) 1/4)
(*.f64 1/4 (*.f64 (+.f64 re 1) 4))
(*.f64 (*.f64 (+.f64 2 (+.f64 re re)) 4) 1/8)
(/.f64 (+.f64 re 1) 1)
(/.f64 (-.f64 -1 re) -1)
(/.f64 (+.f64 2 (+.f64 re re)) 2)
(/.f64 (*.f64 (+.f64 re 1) 4) 4)
(/.f64 (+.f64 -2 (*.f64 re -2)) -2)
(/.f64 (*.f64 (+.f64 2 (+.f64 re re)) 4) 8)
(/.f64 (*.f64 2 (+.f64 -2 (*.f64 re -2))) -4)
(/.f64 (*.f64 (-.f64 -1 re) 4) -4)
(/.f64 (neg.f64 (*.f64 2 (+.f64 -2 (*.f64 re -2)))) 4)
(/.f64 (neg.f64 (*.f64 (-.f64 -1 re) 4)) 4)
(/.f64 (+.f64 (*.f64 (+.f64 re 1) 4) (+.f64 -2 (*.f64 re -2))) 2)
(/.f64 (+.f64 (*.f64 re 8) (neg.f64 (*.f64 (+.f64 re -1) 4))) 4)
(/.f64 (+.f64 (-.f64 (*.f64 re 4) -2) (*.f64 re -2)) 2)
(/.f64 (+.f64 (*.f64 2 (-.f64 (*.f64 re 4) -2)) (neg.f64 (*.f64 re 4))) 4)
(/.f64 (+.f64 (*.f64 re -2) (-.f64 (*.f64 re 4) -2)) 2)
(/.f64 (+.f64 (neg.f64 (*.f64 re 4)) (*.f64 2 (-.f64 (*.f64 re 4) -2))) 4)
(/.f64 (+.f64 (neg.f64 (*.f64 (+.f64 re -1) 4)) (*.f64 re 8)) 4)
(/.f64 (+.f64 (*.f64 (+.f64 2 (+.f64 re re)) 4) (*.f64 2 (+.f64 -2 (*.f64 re -2)))) 4)
(/.f64 (+.f64 (*.f64 (+.f64 2 (+.f64 re re)) 4) (*.f64 (-.f64 -1 re) 4)) 4)
(/.f64 (+.f64 (*.f64 2 (+.f64 1 (*.f64 re 3))) (neg.f64 (*.f64 re 4))) 2)
(/.f64 (+.f64 (neg.f64 (*.f64 re 4)) (*.f64 2 (+.f64 1 (*.f64 re 3)))) 2)
(/.f64 (+.f64 (*.f64 (+.f64 2 (+.f64 re re)) 4) (*.f64 (+.f64 2 (+.f64 re re)) 4)) 16)
(/.f64 (-.f64 (*.f64 2 (*.f64 re 8)) (*.f64 (+.f64 re (+.f64 re -2)) 4)) 8)
(/.f64 (-.f64 (*.f64 2 (-.f64 (*.f64 re 4) -2)) (*.f64 re 4)) 4)
(/.f64 (-.f64 (-.f64 2 (+.f64 re re)) (neg.f64 (*.f64 re 4))) 2)
(/.f64 (-.f64 (*.f64 2 (*.f64 re 8)) (+.f64 (*.f64 re 8) (*.f64 (+.f64 re -1) 4))) 4)
(/.f64 (-.f64 (*.f64 re 6) (-.f64 (*.f64 re 4) 2)) 2)
(/.f64 (-.f64 (*.f64 2 (*.f64 re 6)) (*.f64 2 (-.f64 (*.f64 re 4) 2))) 4)
(/.f64 (-.f64 (*.f64 2 (+.f64 1 (*.f64 re 3))) (*.f64 re 4)) 2)
(/.f64 (-.f64 (+.f64 (*.f64 re 8) (*.f64 (+.f64 re 1) 4)) (*.f64 re 8)) 4)
(/.f64 (-.f64 (*.f64 2 (+.f64 -1 (*.f64 re 3))) (*.f64 (+.f64 re -1) 4)) 2)
(/.f64 (-.f64 (+.f64 (*.f64 re 8) (*.f64 (+.f64 re -1) 4)) (*.f64 (+.f64 re (+.f64 re -2)) 4)) 4)
(pow.f64 (+.f64 re 1) 1)
(neg.f64 (-.f64 -1 re))
(+.f64 (*.f64 (+.f64 re 1) im) 0)
(+.f64 0 (*.f64 (+.f64 re 1) im))
(+.f64 (*.f64 (+.f64 re 1) (*.f64 im 1/2)) (*.f64 (+.f64 re 1) (*.f64 im 1/2)))
(-.f64 (*.f64 (+.f64 re 1) im) 0)
(-.f64 0 (*.f64 im (-.f64 -1 re)))
(-.f64 (*.f64 2 (*.f64 (+.f64 re 1) im)) (*.f64 (+.f64 re 1) im))
(-.f64 (*.f64 (+.f64 re 1) (*.f64 im 1/2)) (/.f64 (*.f64 (+.f64 re 1) im) -2))
(/.f64 (*.f64 (+.f64 re 1) im) 1)
(/.f64 (*.f64 2 (*.f64 (+.f64 re 1) im)) 2)
(/.f64 (*.f64 im (-.f64 -1 re)) -1)
(/.f64 (*.f64 (+.f64 re 1) (*.f64 im 4)) 4)
(/.f64 (*.f64 2 (*.f64 im (-.f64 -1 re))) -2)
(/.f64 (*.f64 (-.f64 -1 re) (*.f64 im 4)) -4)
(/.f64 (*.f64 2 (*.f64 (+.f64 re 1) (*.f64 im 4))) 8)
(/.f64 (*.f64 4 (*.f64 (+.f64 re 1) (*.f64 im 4))) 16)
(/.f64 (/.f64 (*.f64 (-.f64 -1 re) (*.f64 im 4)) 2) -2)
(/.f64 (*.f64 (-.f64 -1 re) (*.f64 2 (*.f64 im 4))) -8)
(/.f64 (*.f64 im (*.f64 2 (+.f64 -2 (*.f64 re -2)))) -4)
(/.f64 (*.f64 im (*.f64 (-.f64 -1 re) 4)) -4)
(/.f64 (+.f64 (*.f64 2 (*.f64 im (-.f64 -1 re))) (*.f64 2 (*.f64 im (-.f64 -1 re)))) -4)
(/.f64 (+.f64 (*.f64 (-.f64 -1 re) (*.f64 im 4)) (*.f64 (-.f64 -1 re) (*.f64 im 4))) -8)
(/.f64 (+.f64 (*.f64 2 (*.f64 (+.f64 re 1) (*.f64 im 4))) (*.f64 2 (*.f64 (+.f64 re 1) (*.f64 im 4)))) 16)
(/.f64 (+.f64 (*.f64 4 (*.f64 (+.f64 re 1) (*.f64 im 4))) (*.f64 4 (*.f64 (+.f64 re 1) (*.f64 im 4)))) 32)
(/.f64 (+.f64 (*.f64 im (-.f64 -1 re)) (*.f64 im (-.f64 -1 re))) -2)
(/.f64 (*.f64 (*.f64 (+.f64 2 (+.f64 re re)) 4) (*.f64 2 (*.f64 im 4))) 64)
(/.f64 (*.f64 (*.f64 2 (*.f64 im 4)) (*.f64 (+.f64 2 (+.f64 re re)) 4)) 64)
(pow.f64 (*.f64 (+.f64 re 1) im) 1)
(neg.f64 (*.f64 im (-.f64 -1 re)))
Outputs
1
(+.f64 1 re)
(+.f64 1 re)
(+.f64 1 re)
re
(+.f64 1 re)
(+.f64 1 re)
(+.f64 1 re)
re
(+.f64 1 re)
(+.f64 1 re)
(+.f64 1 re)
im
(+.f64 (*.f64 re im) im)
(+.f64 im (*.f64 re im))
(+.f64 (*.f64 re im) im)
(+.f64 im (*.f64 re im))
(+.f64 (*.f64 re im) im)
(+.f64 im (*.f64 re im))
(*.f64 re im)
(+.f64 im (*.f64 re im))
(+.f64 im (*.f64 re im))
(+.f64 im (*.f64 re im))
(*.f64 re im)
(+.f64 im (*.f64 re im))
(+.f64 im (*.f64 re im))
(+.f64 im (*.f64 re im))
(*.f64 (-.f64 (+.f64 1 (*.f64 2 re)) re) im)
(+.f64 im (*.f64 re im))
(*.f64 (-.f64 (+.f64 1 (*.f64 2 re)) re) im)
(+.f64 im (*.f64 re im))
(*.f64 (-.f64 (+.f64 1 (*.f64 2 re)) re) im)
(+.f64 im (*.f64 re im))
(*.f64 (-.f64 (+.f64 1 (*.f64 2 re)) re) im)
(+.f64 im (*.f64 re im))
(*.f64 (-.f64 (+.f64 1 (*.f64 2 re)) re) im)
(+.f64 im (*.f64 re im))
(*.f64 (-.f64 (+.f64 1 (*.f64 2 re)) re) im)
(+.f64 im (*.f64 re im))
(*.f64 (-.f64 (+.f64 1 (*.f64 2 re)) re) im)
(+.f64 im (*.f64 re im))
(*.f64 (-.f64 (+.f64 1 (*.f64 2 re)) re) im)
(+.f64 im (*.f64 re im))
(*.f64 (-.f64 (+.f64 1 (*.f64 2 re)) re) im)
(+.f64 im (*.f64 re im))
(*.f64 (-.f64 (+.f64 1 (*.f64 2 re)) re) im)
(+.f64 im (*.f64 re im))
(*.f64 (-.f64 (+.f64 1 (*.f64 2 re)) re) im)
(+.f64 im (*.f64 re im))
(*.f64 (-.f64 (+.f64 1 (*.f64 2 re)) re) im)
(+.f64 im (*.f64 re im))
(+.f64 2 (+.f64 re -1))
(+.f64 1 re)
(+.f64 re 1)
(+.f64 1 re)
(+.f64 re (+.f64 re (-.f64 1 re)))
(+.f64 1 re)
(+.f64 (+.f64 re re) (-.f64 1 re))
(+.f64 1 re)
(+.f64 -1 (+.f64 2 re))
(+.f64 1 re)
(+.f64 -1 (-.f64 1 (-.f64 -1 re)))
(+.f64 1 re)
(+.f64 -1 (-.f64 2 (neg.f64 re)))
(+.f64 1 re)
(+.f64 (+.f64 re -1) 2)
(+.f64 1 re)
(+.f64 (+.f64 re 1) 0)
(+.f64 1 re)
(+.f64 0 (+.f64 re 1))
(+.f64 1 re)
(+.f64 1 re)
(+.f64 (-.f64 -1 re) (+.f64 2 (+.f64 re re)))
(+.f64 1 re)
(+.f64 (+.f64 re (+.f64 re 1)) (neg.f64 re))
(+.f64 1 re)
(+.f64 (neg.f64 re) (+.f64 re (+.f64 re 1)))
(+.f64 1 re)
(+.f64 (-.f64 1 re) (+.f64 re re))
(+.f64 1 re)
(+.f64 (+.f64 2 (+.f64 re re)) (-.f64 -1 re))
(+.f64 1 re)
(+.f64 (*.f64 re 3) (-.f64 1 (+.f64 re re)))
(-.f64 (*.f64 re 3) (+.f64 re (+.f64 re -1)))
(+.f64 (+.f64 1 (*.f64 re 3)) (*.f64 re -2))
(+.f64 1 re)
(+.f64 (+.f64 2 re) -1)
(+.f64 1 re)
(+.f64 (+.f64 (+.f64 re re) -1) (-.f64 1 (+.f64 re -1)))
(+.f64 1 re)
(+.f64 1/2 (/.f64 (+.f64 re (+.f64 re 1)) 2))
(+.f64 1 re)
(+.f64 1/2 (+.f64 (/.f64 (+.f64 (+.f64 re re) -1) 2) 1))
(+.f64 1 re)
(+.f64 (+.f64 1/2 (/.f64 re 2)) (+.f64 1/2 (/.f64 re 2)))
(+.f64 1 re)
(+.f64 (*.f64 re -2) (+.f64 1 (*.f64 re 3)))
(+.f64 1 re)
(+.f64 (/.f64 re 2) (+.f64 1 (/.f64 re 2)))
(+.f64 1 re)
(+.f64 (/.f64 re 2) (/.f64 (+.f64 2 re) 2))
(+.f64 1 re)
(+.f64 (-.f64 1 (+.f64 re re)) (*.f64 re 3))
(+.f64 (*.f64 re 3) (-.f64 1 (+.f64 re re)))
(-.f64 (*.f64 re 3) (+.f64 re (+.f64 re -1)))
(+.f64 (-.f64 1 (+.f64 re re)) (+.f64 (+.f64 re -1) (+.f64 re (+.f64 re 1))))
(+.f64 1 re)
(+.f64 (+.f64 re (-.f64 1 re)) re)
(+.f64 1 re)
(+.f64 (+.f64 re (+.f64 1/2 (/.f64 re 2))) (/.f64 (+.f64 re -1) -2))
(+.f64 (+.f64 1/2 (/.f64 re 2)) (+.f64 re (+.f64 (/.f64 re -2) 1/2)))
(+.f64 re (+.f64 (+.f64 1/2 (/.f64 re 2)) (+.f64 1/2 (/.f64 re -2))))
(+.f64 (+.f64 1 (/.f64 re 2)) (/.f64 re 2))
(+.f64 1 re)
(+.f64 (+.f64 1 (/.f64 re 2)) (+.f64 (+.f64 -1 (/.f64 re 2)) 1))
(+.f64 1 re)
(+.f64 (+.f64 1 (/.f64 re 2)) (+.f64 (/.f64 (+.f64 re -2) 2) 1))
(+.f64 1 re)
(+.f64 (+.f64 (+.f64 re -1) (+.f64 re (+.f64 re 1))) (-.f64 1 (+.f64 re re)))
(+.f64 1 re)
(+.f64 (-.f64 1 (-.f64 -1 re)) -1)
(+.f64 1 re)
(+.f64 (/.f64 re -2) (+.f64 (+.f64 re 1) (/.f64 re 2)))
(+.f64 (/.f64 re 2) (+.f64 (+.f64 1 re) (/.f64 re -2)))
(+.f64 (+.f64 1 re) (+.f64 (/.f64 re 2) (/.f64 re -2)))
(+.f64 (/.f64 re -2) (+.f64 1 (+.f64 re (/.f64 re 2))))
(+.f64 (/.f64 (+.f64 re -1) -2) (+.f64 re (+.f64 1/2 (/.f64 re 2))))
(+.f64 (+.f64 1/2 (/.f64 re 2)) (+.f64 re (+.f64 (/.f64 re -2) 1/2)))
(+.f64 re (+.f64 (+.f64 1/2 (/.f64 re 2)) (+.f64 1/2 (/.f64 re -2))))
(+.f64 (-.f64 1 (+.f64 re -1)) (+.f64 (+.f64 re re) -1))
(+.f64 1 re)
(+.f64 (-.f64 2 (neg.f64 re)) -1)
(+.f64 1 re)
(+.f64 (/.f64 (+.f64 2 re) 2) (/.f64 re 2))
(+.f64 1 re)
(+.f64 (/.f64 (+.f64 re (+.f64 re 1)) 2) 1/2)
(+.f64 1 re)
(+.f64 (+.f64 (+.f64 re 1) (/.f64 re 2)) (/.f64 re -2))
(+.f64 (/.f64 re 2) (+.f64 (+.f64 1 re) (/.f64 re -2)))
(+.f64 (+.f64 1 re) (+.f64 (/.f64 re 2) (/.f64 re -2)))
(+.f64 (/.f64 re -2) (+.f64 1 (+.f64 re (/.f64 re 2))))
(+.f64 (+.f64 1 (+.f64 (/.f64 re 2) -1/2)) (+.f64 1 (+.f64 (/.f64 re 2) -1/2)))
(+.f64 1 re)
(+.f64 (-.f64 1 (-.f64 1 re)) 1)
(+.f64 1 re)
(+.f64 (+.f64 (-.f64 -1 (+.f64 -1 (*.f64 re -2))) 1) (neg.f64 re))
(+.f64 1 re)
(+.f64 (+.f64 (-.f64 (+.f64 (+.f64 re re) -1) (/.f64 re 2)) 1) (+.f64 (/.f64 re -2) 1))
(+.f64 1 re)
(+.f64 (+.f64 (+.f64 re (+.f64 (/.f64 re 2) -1/2)) 1) (+.f64 (/.f64 (+.f64 re 1) -2) 1))
(+.f64 (+.f64 1/2 (/.f64 re 2)) (+.f64 re (+.f64 (/.f64 re -2) 1/2)))
(+.f64 re (+.f64 (+.f64 1/2 (/.f64 re 2)) (+.f64 1/2 (/.f64 re -2))))
(*.f64 2 (+.f64 1/2 (/.f64 re 2)))
(+.f64 1 re)
(*.f64 -1 (-.f64 -1 re))
(+.f64 1 re)
(*.f64 (+.f64 re 1) 1)
(+.f64 1 re)
(*.f64 1 (+.f64 re 1))
(+.f64 1 re)
(*.f64 (-.f64 -1 re) -1)
(+.f64 1 re)
(*.f64 (+.f64 2 (+.f64 re re)) 1/2)
(+.f64 1 re)
(*.f64 1/2 (+.f64 2 (+.f64 re re)))
(+.f64 1 re)
(*.f64 1/2 (+.f64 (*.f64 (+.f64 re 1) 4) (+.f64 -2 (*.f64 re -2))))
(+.f64 1 re)
(*.f64 (+.f64 1/2 (/.f64 re 2)) 2)
(+.f64 1 re)
(*.f64 (*.f64 (+.f64 re 1) 4) 1/4)
(+.f64 1 re)
(*.f64 1/4 (*.f64 (+.f64 re 1) 4))
(+.f64 1 re)
(*.f64 (*.f64 (+.f64 2 (+.f64 re re)) 4) 1/8)
(+.f64 1 re)
(/.f64 (+.f64 re 1) 1)
(+.f64 1 re)
(/.f64 (-.f64 -1 re) -1)
(+.f64 1 re)
(/.f64 (+.f64 2 (+.f64 re re)) 2)
(+.f64 1 re)
(/.f64 (*.f64 (+.f64 re 1) 4) 4)
(+.f64 1 re)
(/.f64 (+.f64 -2 (*.f64 re -2)) -2)
(+.f64 1 re)
(/.f64 (*.f64 (+.f64 2 (+.f64 re re)) 4) 8)
(+.f64 1 re)
(/.f64 (*.f64 2 (+.f64 -2 (*.f64 re -2))) -4)
(/.f64 (*.f64 (+.f64 -2 (*.f64 re -2)) 4) -8)
(/.f64 (*.f64 4 (+.f64 -2 (*.f64 re -2))) -8)
(/.f64 (*.f64 (-.f64 -1 re) 4) -4)
(+.f64 1 re)
(/.f64 (neg.f64 (*.f64 2 (+.f64 -2 (*.f64 re -2)))) 4)
(/.f64 (*.f64 2 (+.f64 -2 (*.f64 re -2))) -4)
(/.f64 (*.f64 (+.f64 -2 (*.f64 re -2)) 4) -8)
(/.f64 (*.f64 4 (+.f64 -2 (*.f64 re -2))) -8)
(/.f64 (neg.f64 (*.f64 (-.f64 -1 re) 4)) 4)
(+.f64 1 re)
(/.f64 (+.f64 (*.f64 (+.f64 re 1) 4) (+.f64 -2 (*.f64 re -2))) 2)
(+.f64 1 re)
(/.f64 (+.f64 (*.f64 re 8) (neg.f64 (*.f64 (+.f64 re -1) 4))) 4)
(/.f64 (+.f64 (*.f64 re 8) (*.f64 (+.f64 re -1) -4)) 4)
(+.f64 (+.f64 re re) (/.f64 (*.f64 (+.f64 re -1) -4) 4))
(/.f64 (+.f64 (-.f64 (*.f64 re 4) -2) (*.f64 re -2)) 2)
(+.f64 1 re)
(/.f64 (+.f64 (*.f64 2 (-.f64 (*.f64 re 4) -2)) (neg.f64 (*.f64 re 4))) 4)
(+.f64 (neg.f64 re) (/.f64 (*.f64 2 (-.f64 2 (*.f64 re -4))) 4))
(-.f64 (/.f64 (*.f64 2 (-.f64 2 (*.f64 re -4))) 4) re)
(/.f64 (+.f64 (*.f64 re -2) (-.f64 (*.f64 re 4) -2)) 2)
(+.f64 1 re)
(/.f64 (+.f64 (neg.f64 (*.f64 re 4)) (*.f64 2 (-.f64 (*.f64 re 4) -2))) 4)
(/.f64 (+.f64 (*.f64 2 (-.f64 (*.f64 re 4) -2)) (neg.f64 (*.f64 re 4))) 4)
(+.f64 (neg.f64 re) (/.f64 (*.f64 2 (-.f64 2 (*.f64 re -4))) 4))
(-.f64 (/.f64 (*.f64 2 (-.f64 2 (*.f64 re -4))) 4) re)
(/.f64 (+.f64 (neg.f64 (*.f64 (+.f64 re -1) 4)) (*.f64 re 8)) 4)
(/.f64 (+.f64 (*.f64 re 8) (neg.f64 (*.f64 (+.f64 re -1) 4))) 4)
(/.f64 (+.f64 (*.f64 re 8) (*.f64 (+.f64 re -1) -4)) 4)
(+.f64 (+.f64 re re) (/.f64 (*.f64 (+.f64 re -1) -4) 4))
(/.f64 (+.f64 (*.f64 (+.f64 2 (+.f64 re re)) 4) (*.f64 2 (+.f64 -2 (*.f64 re -2)))) 4)
(/.f64 (+.f64 (*.f64 (+.f64 re (+.f64 re 2)) 4) (*.f64 2 (+.f64 -2 (*.f64 re -2)))) 4)
(+.f64 (+.f64 2 (+.f64 re re)) (/.f64 (*.f64 2 (+.f64 -2 (*.f64 re -2))) 4))
(/.f64 (+.f64 (*.f64 (+.f64 2 (+.f64 re re)) 4) (*.f64 (-.f64 -1 re) 4)) 4)
(+.f64 1 re)
(/.f64 (+.f64 (*.f64 2 (+.f64 1 (*.f64 re 3))) (neg.f64 (*.f64 re 4))) 2)
(/.f64 (+.f64 (neg.f64 (*.f64 re 4)) (*.f64 2 (+.f64 1 (*.f64 re 3)))) 2)
(-.f64 (/.f64 (*.f64 2 (+.f64 1 (*.f64 re 3))) 2) (/.f64 re 1/2))
(+.f64 (*.f64 re -2) (/.f64 (*.f64 2 (+.f64 1 (*.f64 re 3))) 2))
(/.f64 (+.f64 (neg.f64 (*.f64 re 4)) (*.f64 2 (+.f64 1 (*.f64 re 3)))) 2)
(-.f64 (/.f64 (*.f64 2 (+.f64 1 (*.f64 re 3))) 2) (/.f64 re 1/2))
(+.f64 (*.f64 re -2) (/.f64 (*.f64 2 (+.f64 1 (*.f64 re 3))) 2))
(/.f64 (+.f64 (*.f64 (+.f64 2 (+.f64 re re)) 4) (*.f64 (+.f64 2 (+.f64 re re)) 4)) 16)
(+.f64 1 re)
(/.f64 (-.f64 (*.f64 2 (*.f64 re 8)) (*.f64 (+.f64 re (+.f64 re -2)) 4)) 8)
(/.f64 (-.f64 (*.f64 2 (*.f64 re 8)) (*.f64 4 (+.f64 re (+.f64 re -2)))) 8)
(/.f64 (-.f64 (*.f64 re 16) (*.f64 4 (+.f64 re (+.f64 re -2)))) 8)
(-.f64 (+.f64 re re) (/.f64 (*.f64 4 (+.f64 re (+.f64 re -2))) 8))
(/.f64 (-.f64 (*.f64 2 (-.f64 (*.f64 re 4) -2)) (*.f64 re 4)) 4)
(/.f64 (+.f64 (*.f64 2 (-.f64 (*.f64 re 4) -2)) (neg.f64 (*.f64 re 4))) 4)
(+.f64 (neg.f64 re) (/.f64 (*.f64 2 (-.f64 2 (*.f64 re -4))) 4))
(-.f64 (/.f64 (*.f64 2 (-.f64 2 (*.f64 re -4))) 4) re)
(/.f64 (-.f64 (-.f64 2 (+.f64 re re)) (neg.f64 (*.f64 re 4))) 2)
(+.f64 1 re)
(/.f64 (-.f64 (*.f64 2 (*.f64 re 8)) (+.f64 (*.f64 re 8) (*.f64 (+.f64 re -1) 4))) 4)
(/.f64 (+.f64 (*.f64 re 8) (neg.f64 (*.f64 (+.f64 re -1) 4))) 4)
(/.f64 (+.f64 (*.f64 re 8) (*.f64 (+.f64 re -1) -4)) 4)
(+.f64 (+.f64 re re) (/.f64 (*.f64 (+.f64 re -1) -4) 4))
(/.f64 (-.f64 (*.f64 re 6) (-.f64 (*.f64 re 4) 2)) 2)
(+.f64 1 re)
(/.f64 (-.f64 (*.f64 2 (*.f64 re 6)) (*.f64 2 (-.f64 (*.f64 re 4) 2))) 4)
(/.f64 (-.f64 (*.f64 6 (*.f64 re 2)) (*.f64 2 (-.f64 (*.f64 re 4) 2))) 4)
(/.f64 (*.f64 2 (-.f64 2 (*.f64 re -2))) 4)
(/.f64 (-.f64 (*.f64 2 (+.f64 1 (*.f64 re 3))) (*.f64 re 4)) 2)
(/.f64 (+.f64 (neg.f64 (*.f64 re 4)) (*.f64 2 (+.f64 1 (*.f64 re 3)))) 2)
(-.f64 (/.f64 (*.f64 2 (+.f64 1 (*.f64 re 3))) 2) (/.f64 re 1/2))
(+.f64 (*.f64 re -2) (/.f64 (*.f64 2 (+.f64 1 (*.f64 re 3))) 2))
(/.f64 (-.f64 (+.f64 (*.f64 re 8) (*.f64 (+.f64 re 1) 4)) (*.f64 re 8)) 4)
(+.f64 1 re)
(/.f64 (-.f64 (*.f64 2 (+.f64 -1 (*.f64 re 3))) (*.f64 (+.f64 re -1) 4)) 2)
(/.f64 (-.f64 (+.f64 (*.f64 re 8) (*.f64 (+.f64 re -1) 4)) (*.f64 (+.f64 re (+.f64 re -2)) 4)) 4)
(/.f64 (-.f64 (+.f64 (*.f64 re 8) (*.f64 (+.f64 re -1) 4)) (*.f64 4 (+.f64 re (+.f64 re -2)))) 4)
(/.f64 (-.f64 (*.f64 4 (-.f64 (+.f64 re -1) (+.f64 re (+.f64 re -2)))) (neg.f64 (*.f64 re 8))) 4)
(-.f64 (/.f64 (*.f64 4 (-.f64 (+.f64 re -1) (+.f64 re (+.f64 re -2)))) 4) (*.f64 re -2))
(pow.f64 (+.f64 re 1) 1)
(+.f64 1 re)
(neg.f64 (-.f64 -1 re))
(+.f64 1 re)
(+.f64 (*.f64 (+.f64 re 1) im) 0)
(+.f64 im (*.f64 re im))
(+.f64 0 (*.f64 (+.f64 re 1) im))
(+.f64 im (*.f64 re im))
(+.f64 (*.f64 (+.f64 re 1) (*.f64 im 1/2)) (*.f64 (+.f64 re 1) (*.f64 im 1/2)))
(+.f64 im (*.f64 re im))
(-.f64 (*.f64 (+.f64 re 1) im) 0)
(+.f64 im (*.f64 re im))
(-.f64 0 (*.f64 im (-.f64 -1 re)))
(+.f64 im (*.f64 re im))
(-.f64 (*.f64 2 (*.f64 (+.f64 re 1) im)) (*.f64 (+.f64 re 1) im))
(+.f64 im (*.f64 re im))
(-.f64 (*.f64 (+.f64 re 1) (*.f64 im 1/2)) (/.f64 (*.f64 (+.f64 re 1) im) -2))
(+.f64 im (*.f64 re im))
(/.f64 (*.f64 (+.f64 re 1) im) 1)
(+.f64 im (*.f64 re im))
(/.f64 (*.f64 2 (*.f64 (+.f64 re 1) im)) 2)
(+.f64 im (*.f64 re im))
(/.f64 (*.f64 im (-.f64 -1 re)) -1)
(+.f64 im (*.f64 re im))
(/.f64 (*.f64 (+.f64 re 1) (*.f64 im 4)) 4)
(+.f64 im (*.f64 re im))
(/.f64 (*.f64 2 (*.f64 im (-.f64 -1 re))) -2)
(+.f64 im (*.f64 re im))
(/.f64 (*.f64 (-.f64 -1 re) (*.f64 im 4)) -4)
(+.f64 im (*.f64 re im))
(/.f64 (*.f64 2 (*.f64 (+.f64 re 1) (*.f64 im 4))) 8)
(+.f64 im (*.f64 re im))
(/.f64 (*.f64 4 (*.f64 (+.f64 re 1) (*.f64 im 4))) 16)
(+.f64 im (*.f64 re im))
(/.f64 (/.f64 (*.f64 (-.f64 -1 re) (*.f64 im 4)) 2) -2)
(+.f64 im (*.f64 re im))
(/.f64 (*.f64 (-.f64 -1 re) (*.f64 2 (*.f64 im 4))) -8)
(+.f64 im (*.f64 re im))
(/.f64 (*.f64 im (*.f64 2 (+.f64 -2 (*.f64 re -2)))) -4)
(/.f64 (*.f64 (+.f64 -2 (*.f64 re -2)) (*.f64 2 im)) -4)
(/.f64 (*.f64 (+.f64 -2 (*.f64 re -2)) (*.f64 im 2)) -4)
(/.f64 (*.f64 im (*.f64 (-.f64 -1 re) 4)) -4)
(+.f64 im (*.f64 re im))
(/.f64 (+.f64 (*.f64 2 (*.f64 im (-.f64 -1 re))) (*.f64 2 (*.f64 im (-.f64 -1 re)))) -4)
(+.f64 im (*.f64 re im))
(/.f64 (+.f64 (*.f64 (-.f64 -1 re) (*.f64 im 4)) (*.f64 (-.f64 -1 re) (*.f64 im 4))) -8)
(+.f64 im (*.f64 re im))
(/.f64 (+.f64 (*.f64 2 (*.f64 (+.f64 re 1) (*.f64 im 4))) (*.f64 2 (*.f64 (+.f64 re 1) (*.f64 im 4)))) 16)
(+.f64 im (*.f64 re im))
(/.f64 (+.f64 (*.f64 4 (*.f64 (+.f64 re 1) (*.f64 im 4))) (*.f64 4 (*.f64 (+.f64 re 1) (*.f64 im 4)))) 32)
(+.f64 im (*.f64 re im))
(/.f64 (+.f64 (*.f64 im (-.f64 -1 re)) (*.f64 im (-.f64 -1 re))) -2)
(+.f64 im (*.f64 re im))
(/.f64 (*.f64 (*.f64 (+.f64 2 (+.f64 re re)) 4) (*.f64 2 (*.f64 im 4))) 64)
(+.f64 im (*.f64 re im))
(/.f64 (*.f64 (*.f64 2 (*.f64 im 4)) (*.f64 (+.f64 2 (+.f64 re re)) 4)) 64)
(+.f64 im (*.f64 re im))
(pow.f64 (*.f64 (+.f64 re 1) im) 1)
(+.f64 im (*.f64 re im))
(neg.f64 (*.f64 im (-.f64 -1 re)))
(+.f64 im (*.f64 re im))

localize16.0ms (0.2%)

Local error

Found 2 expressions with local error:

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

Compiled 33 to 22 computations (33.3% saved)

series1.0ms (0%)

Counts
2 → 36
Calls

9 calls:

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

rewrite119.0ms (1.5%)

Algorithm
batch-egg-rewrite
Rules
1348×rational_best-simplify-75
954×rational_best-1
952×rational_best-4
952×rational_best-2
952×rational_best-3
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01248
18448
218024
352524
4222124
Stop Event
node limit
Counts
2 → 78
Calls
Call 1
Inputs
(*.f64 (-.f64 (+.f64 1 (*.f64 2 re)) re) (sin.f64 im))
(-.f64 (+.f64 1 (*.f64 2 re)) re)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (+.f64 1 re) (sin.f64 im)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (+.f64 1 re) (sin.f64 im)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (sin.f64 im) (/.f64 (-.f64 -1 re) -2)) (*.f64 (sin.f64 im) (/.f64 (-.f64 -1 re) -2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (+.f64 1 re) (sin.f64 im)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 2 (*.f64 (+.f64 1 re) (sin.f64 im))) (*.f64 (+.f64 1 re) (sin.f64 im)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (sin.f64 im) (/.f64 (-.f64 -1 re) -2)) (/.f64 (*.f64 (+.f64 1 re) (sin.f64 im)) -2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 1 re) (sin.f64 im)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (+.f64 1 re) (sin.f64 im))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sin.f64 im) (-.f64 -1 re)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sin.f64 im) (*.f64 (+.f64 1 re) 4)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sin.f64 im) (-.f64 -2 (+.f64 re re))) -2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 -1 re) (*.f64 (sin.f64 im) 4)) -4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 (sin.f64 im) 4) (*.f64 (+.f64 1 re) 4)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 1 re) (*.f64 (*.f64 2 (sin.f64 im)) 4)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 (-.f64 -1 re) (*.f64 (sin.f64 im) 4)) 2) -2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 -1 re) (*.f64 (*.f64 2 (sin.f64 im)) 4)) -8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sin.f64 im) (*.f64 2 (-.f64 -2 (+.f64 re re)))) -4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sin.f64 im) (*.f64 (-.f64 -2 (+.f64 re re)) 2)) -4)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (+.f64 1 re) (sin.f64 im)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (*.f64 (sin.f64 im) (-.f64 -1 re)))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 1 re)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 2 (+.f64 re -1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 re 1)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 re (-.f64 (-.f64 (+.f64 re 1/2) re) -1/2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 re (-.f64 re (+.f64 re -1)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 re re) (+.f64 1 (neg.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 re re) (neg.f64 (+.f64 re -1)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 1 (+.f64 re re)) (neg.f64 re))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 1 re) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (+.f64 1 re))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 re -1) 2)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (neg.f64 re) (+.f64 1 (+.f64 re re)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (*.f64 re 3) -2) (-.f64 (*.f64 re -2) 1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (-.f64 -1 re) -2) (/.f64 (-.f64 -1 re) -2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (*.f64 re -2) 1) (-.f64 (*.f64 re 3) -2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 re 1/2) (-.f64 (+.f64 re 1/2) re))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 1 (neg.f64 re)) (+.f64 re re))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (+.f64 re 1/2) re) (+.f64 re 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 re (+.f64 re 1/2)) (-.f64 (+.f64 re 1/2) (+.f64 re re)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (-.f64 (+.f64 re 1/2) re) -1/2) re)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 re (+.f64 re -1)) re)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 re -2) (/.f64 (-.f64 (*.f64 re 3) -2) 2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (neg.f64 (+.f64 re -1)) (+.f64 re re))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (-.f64 (*.f64 re 3) -2) 2) (/.f64 re -2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (+.f64 re 1/2) (+.f64 re re)) (+.f64 re (+.f64 re 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (/.f64 re 2) 1) (+.f64 (+.f64 -1 (/.f64 re 2)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 1 re))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (/.f64 (-.f64 -1 re) -2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 1 re) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (-.f64 -1 re))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 -1 re) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (+.f64 re re) -2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (-.f64 (+.f64 re re) -2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (-.f64 (*.f64 (+.f64 1 (+.f64 re re)) 4) (*.f64 2 (-.f64 (*.f64 re 3) -1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (-.f64 -1 re) -2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 1 re) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (+.f64 1 re) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (-.f64 (+.f64 re re) -2) 4) 1/8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 1 re) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 -1 re) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (+.f64 re re) -2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 1 re) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 -2 (+.f64 re re)) -2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (+.f64 re re) -2) 4) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (-.f64 -2 (+.f64 re re))) -4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 -2 (+.f64 re re)) 2) -4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 2 (-.f64 -2 (+.f64 re re))) -1) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 (-.f64 -2 (+.f64 re re)) 2) -1) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 (+.f64 1 (+.f64 re re)) 4) (*.f64 2 (-.f64 (*.f64 re 3) -1))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 (+.f64 1 (+.f64 re re)) 4) (*.f64 4 (neg.f64 re))) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 4 (neg.f64 re)) (*.f64 (+.f64 1 (+.f64 re re)) 4)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 re 4) (-.f64 (+.f64 re re) 2)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 (-.f64 (*.f64 re 4) -2) 4) (*.f64 re 8)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 (-.f64 (*.f64 re 4) -2) 4) (*.f64 2 (*.f64 2 (-.f64 (*.f64 re 3) -1)))) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 2 (-.f64 (*.f64 re 3) -1)) (*.f64 re 4)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 2 (*.f64 2 (-.f64 (*.f64 re 3) -1))) (*.f64 re 8)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (+.f64 1 re) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (-.f64 -1 re))))))

simplify97.0ms (1.2%)

Algorithm
egg-herbie
Rules
1442×rational_best-simplify-63
1352×rational_best-simplify-51
1164×rational_best-simplify-49
926×rational_best-simplify-3
892×rational_best-simplify-1
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01932078
14632066
210231914
333991734
Stop Event
node limit
Counts
114 → 127
Calls
Call 1
Inputs
(sin.f64 im)
(+.f64 (sin.f64 im) (*.f64 (sin.f64 im) re))
(+.f64 (sin.f64 im) (*.f64 (sin.f64 im) re))
(+.f64 (sin.f64 im) (*.f64 (sin.f64 im) re))
(*.f64 (sin.f64 im) re)
(+.f64 (sin.f64 im) (*.f64 (sin.f64 im) re))
(+.f64 (sin.f64 im) (*.f64 (sin.f64 im) re))
(+.f64 (sin.f64 im) (*.f64 (sin.f64 im) re))
(*.f64 (sin.f64 im) re)
(+.f64 (sin.f64 im) (*.f64 (sin.f64 im) re))
(+.f64 (sin.f64 im) (*.f64 (sin.f64 im) re))
(+.f64 (sin.f64 im) (*.f64 (sin.f64 im) re))
(*.f64 (-.f64 (+.f64 1 (*.f64 2 re)) re) im)
(+.f64 (*.f64 (-.f64 (+.f64 1 (*.f64 2 re)) re) im) (*.f64 -1/6 (*.f64 (-.f64 (+.f64 1 (*.f64 2 re)) re) (pow.f64 im 3))))
(+.f64 (*.f64 (-.f64 (+.f64 1 (*.f64 2 re)) re) im) (+.f64 (*.f64 1/120 (*.f64 (-.f64 (+.f64 1 (*.f64 2 re)) re) (pow.f64 im 5))) (*.f64 -1/6 (*.f64 (-.f64 (+.f64 1 (*.f64 2 re)) re) (pow.f64 im 3)))))
(+.f64 (*.f64 (-.f64 (+.f64 1 (*.f64 2 re)) re) im) (+.f64 (*.f64 1/120 (*.f64 (-.f64 (+.f64 1 (*.f64 2 re)) re) (pow.f64 im 5))) (+.f64 (*.f64 -1/5040 (*.f64 (-.f64 (+.f64 1 (*.f64 2 re)) re) (pow.f64 im 7))) (*.f64 -1/6 (*.f64 (-.f64 (+.f64 1 (*.f64 2 re)) re) (pow.f64 im 3))))))
(*.f64 (sin.f64 im) (-.f64 (+.f64 1 (*.f64 2 re)) re))
(*.f64 (sin.f64 im) (-.f64 (+.f64 1 (*.f64 2 re)) re))
(*.f64 (sin.f64 im) (-.f64 (+.f64 1 (*.f64 2 re)) re))
(*.f64 (sin.f64 im) (-.f64 (+.f64 1 (*.f64 2 re)) re))
(*.f64 (sin.f64 im) (-.f64 (+.f64 1 (*.f64 2 re)) re))
(*.f64 (sin.f64 im) (-.f64 (+.f64 1 (*.f64 2 re)) re))
(*.f64 (sin.f64 im) (-.f64 (+.f64 1 (*.f64 2 re)) re))
(*.f64 (sin.f64 im) (-.f64 (+.f64 1 (*.f64 2 re)) re))
1
(+.f64 1 re)
(+.f64 1 re)
(+.f64 1 re)
re
(+.f64 1 re)
(+.f64 1 re)
(+.f64 1 re)
re
(+.f64 1 re)
(+.f64 1 re)
(+.f64 1 re)
(+.f64 (*.f64 (+.f64 1 re) (sin.f64 im)) 0)
(+.f64 0 (*.f64 (+.f64 1 re) (sin.f64 im)))
(+.f64 (*.f64 (sin.f64 im) (/.f64 (-.f64 -1 re) -2)) (*.f64 (sin.f64 im) (/.f64 (-.f64 -1 re) -2)))
(-.f64 (*.f64 (+.f64 1 re) (sin.f64 im)) 0)
(-.f64 (*.f64 2 (*.f64 (+.f64 1 re) (sin.f64 im))) (*.f64 (+.f64 1 re) (sin.f64 im)))
(-.f64 (*.f64 (sin.f64 im) (/.f64 (-.f64 -1 re) -2)) (/.f64 (*.f64 (+.f64 1 re) (sin.f64 im)) -2))
(/.f64 (*.f64 (+.f64 1 re) (sin.f64 im)) 1)
(/.f64 (*.f64 2 (*.f64 (+.f64 1 re) (sin.f64 im))) 2)
(/.f64 (*.f64 (sin.f64 im) (-.f64 -1 re)) -1)
(/.f64 (*.f64 (sin.f64 im) (*.f64 (+.f64 1 re) 4)) 4)
(/.f64 (*.f64 (sin.f64 im) (-.f64 -2 (+.f64 re re))) -2)
(/.f64 (*.f64 (-.f64 -1 re) (*.f64 (sin.f64 im) 4)) -4)
(/.f64 (*.f64 (*.f64 (sin.f64 im) 4) (*.f64 (+.f64 1 re) 4)) 16)
(/.f64 (*.f64 (+.f64 1 re) (*.f64 (*.f64 2 (sin.f64 im)) 4)) 8)
(/.f64 (/.f64 (*.f64 (-.f64 -1 re) (*.f64 (sin.f64 im) 4)) 2) -2)
(/.f64 (*.f64 (-.f64 -1 re) (*.f64 (*.f64 2 (sin.f64 im)) 4)) -8)
(/.f64 (*.f64 (sin.f64 im) (*.f64 2 (-.f64 -2 (+.f64 re re)))) -4)
(/.f64 (*.f64 (sin.f64 im) (*.f64 (-.f64 -2 (+.f64 re re)) 2)) -4)
(pow.f64 (*.f64 (+.f64 1 re) (sin.f64 im)) 1)
(neg.f64 (*.f64 (sin.f64 im) (-.f64 -1 re)))
(+.f64 1 re)
(+.f64 2 (+.f64 re -1))
(+.f64 re 1)
(+.f64 re (-.f64 (-.f64 (+.f64 re 1/2) re) -1/2))
(+.f64 re (-.f64 re (+.f64 re -1)))
(+.f64 (+.f64 re re) (+.f64 1 (neg.f64 re)))
(+.f64 (+.f64 re re) (neg.f64 (+.f64 re -1)))
(+.f64 (+.f64 1 (+.f64 re re)) (neg.f64 re))
(+.f64 (+.f64 1 re) 0)
(+.f64 0 (+.f64 1 re))
(+.f64 (+.f64 re -1) 2)
(+.f64 (neg.f64 re) (+.f64 1 (+.f64 re re)))
(+.f64 (-.f64 (*.f64 re 3) -2) (-.f64 (*.f64 re -2) 1))
(+.f64 (/.f64 (-.f64 -1 re) -2) (/.f64 (-.f64 -1 re) -2))
(+.f64 (-.f64 (*.f64 re -2) 1) (-.f64 (*.f64 re 3) -2))
(+.f64 (+.f64 re 1/2) (-.f64 (+.f64 re 1/2) re))
(+.f64 (+.f64 1 (neg.f64 re)) (+.f64 re re))
(+.f64 (-.f64 (+.f64 re 1/2) re) (+.f64 re 1/2))
(+.f64 (+.f64 re (+.f64 re 1/2)) (-.f64 (+.f64 re 1/2) (+.f64 re re)))
(+.f64 (-.f64 (-.f64 (+.f64 re 1/2) re) -1/2) re)
(+.f64 (-.f64 re (+.f64 re -1)) re)
(+.f64 (/.f64 re -2) (/.f64 (-.f64 (*.f64 re 3) -2) 2))
(+.f64 (neg.f64 (+.f64 re -1)) (+.f64 re re))
(+.f64 (/.f64 (-.f64 (*.f64 re 3) -2) 2) (/.f64 re -2))
(+.f64 (-.f64 (+.f64 re 1/2) (+.f64 re re)) (+.f64 re (+.f64 re 1/2)))
(+.f64 (+.f64 (/.f64 re 2) 1) (+.f64 (+.f64 -1 (/.f64 re 2)) 1))
(*.f64 1 (+.f64 1 re))
(*.f64 2 (/.f64 (-.f64 -1 re) -2))
(*.f64 (+.f64 1 re) 1)
(*.f64 -1 (-.f64 -1 re))
(*.f64 (-.f64 -1 re) -1)
(*.f64 (-.f64 (+.f64 re re) -2) 1/2)
(*.f64 1/2 (-.f64 (+.f64 re re) -2))
(*.f64 1/2 (-.f64 (*.f64 (+.f64 1 (+.f64 re re)) 4) (*.f64 2 (-.f64 (*.f64 re 3) -1))))
(*.f64 (/.f64 (-.f64 -1 re) -2) 2)
(*.f64 (*.f64 (+.f64 1 re) 4) 1/4)
(*.f64 1/4 (*.f64 (+.f64 1 re) 4))
(*.f64 (*.f64 (-.f64 (+.f64 re re) -2) 4) 1/8)
(/.f64 (+.f64 1 re) 1)
(/.f64 (-.f64 -1 re) -1)
(/.f64 (-.f64 (+.f64 re re) -2) 2)
(/.f64 (*.f64 (+.f64 1 re) 4) 4)
(/.f64 (-.f64 -2 (+.f64 re re)) -2)
(/.f64 (*.f64 (-.f64 (+.f64 re re) -2) 4) 8)
(/.f64 (*.f64 2 (-.f64 -2 (+.f64 re re))) -4)
(/.f64 (*.f64 (-.f64 -2 (+.f64 re re)) 2) -4)
(/.f64 (/.f64 (*.f64 2 (-.f64 -2 (+.f64 re re))) -1) 4)
(/.f64 (/.f64 (*.f64 (-.f64 -2 (+.f64 re re)) 2) -1) 4)
(/.f64 (-.f64 (*.f64 (+.f64 1 (+.f64 re re)) 4) (*.f64 2 (-.f64 (*.f64 re 3) -1))) 2)
(/.f64 (+.f64 (*.f64 (+.f64 1 (+.f64 re re)) 4) (*.f64 4 (neg.f64 re))) 4)
(/.f64 (+.f64 (*.f64 4 (neg.f64 re)) (*.f64 (+.f64 1 (+.f64 re re)) 4)) 4)
(/.f64 (-.f64 (*.f64 re 4) (-.f64 (+.f64 re re) 2)) 2)
(/.f64 (-.f64 (*.f64 (-.f64 (*.f64 re 4) -2) 4) (*.f64 re 8)) 8)
(/.f64 (-.f64 (*.f64 (-.f64 (*.f64 re 4) -2) 4) (*.f64 2 (*.f64 2 (-.f64 (*.f64 re 3) -1)))) 4)
(/.f64 (-.f64 (*.f64 2 (-.f64 (*.f64 re 3) -1)) (*.f64 re 4)) 2)
(/.f64 (-.f64 (*.f64 2 (*.f64 2 (-.f64 (*.f64 re 3) -1))) (*.f64 re 8)) 4)
(pow.f64 (+.f64 1 re) 1)
(neg.f64 (-.f64 -1 re))
Outputs
(sin.f64 im)
(+.f64 (sin.f64 im) (*.f64 (sin.f64 im) re))
(*.f64 (sin.f64 im) (+.f64 re 1))
(+.f64 (sin.f64 im) (*.f64 (sin.f64 im) re))
(*.f64 (sin.f64 im) (+.f64 re 1))
(+.f64 (sin.f64 im) (*.f64 (sin.f64 im) re))
(*.f64 (sin.f64 im) (+.f64 re 1))
(*.f64 (sin.f64 im) re)
(+.f64 (sin.f64 im) (*.f64 (sin.f64 im) re))
(*.f64 (sin.f64 im) (+.f64 re 1))
(+.f64 (sin.f64 im) (*.f64 (sin.f64 im) re))
(*.f64 (sin.f64 im) (+.f64 re 1))
(+.f64 (sin.f64 im) (*.f64 (sin.f64 im) re))
(*.f64 (sin.f64 im) (+.f64 re 1))
(*.f64 (sin.f64 im) re)
(+.f64 (sin.f64 im) (*.f64 (sin.f64 im) re))
(*.f64 (sin.f64 im) (+.f64 re 1))
(+.f64 (sin.f64 im) (*.f64 (sin.f64 im) re))
(*.f64 (sin.f64 im) (+.f64 re 1))
(+.f64 (sin.f64 im) (*.f64 (sin.f64 im) re))
(*.f64 (sin.f64 im) (+.f64 re 1))
(*.f64 (-.f64 (+.f64 1 (*.f64 2 re)) re) im)
(*.f64 im (-.f64 (+.f64 1 (*.f64 re 2)) re))
(*.f64 im (-.f64 (*.f64 re 2) (-.f64 re 1)))
(*.f64 im (-.f64 1 (-.f64 re (*.f64 re 2))))
(*.f64 im (+.f64 re 1))
(+.f64 (*.f64 (-.f64 (+.f64 1 (*.f64 2 re)) re) im) (*.f64 -1/6 (*.f64 (-.f64 (+.f64 1 (*.f64 2 re)) re) (pow.f64 im 3))))
(+.f64 (*.f64 im (-.f64 (+.f64 1 (*.f64 re 2)) re)) (*.f64 -1/6 (*.f64 (-.f64 (+.f64 1 (*.f64 re 2)) re) (pow.f64 im 3))))
(+.f64 (*.f64 im (-.f64 (*.f64 re 2) (-.f64 re 1))) (*.f64 (-.f64 (*.f64 re 2) (-.f64 re 1)) (*.f64 (pow.f64 im 3) -1/6)))
(+.f64 (*.f64 im (-.f64 1 (-.f64 re (*.f64 re 2)))) (*.f64 (-.f64 1 (-.f64 re (*.f64 re 2))) (*.f64 -1/6 (pow.f64 im 3))))
(*.f64 (+.f64 re 1) (+.f64 im (*.f64 -1/6 (pow.f64 im 3))))
(+.f64 (*.f64 (-.f64 (+.f64 1 (*.f64 2 re)) re) im) (+.f64 (*.f64 1/120 (*.f64 (-.f64 (+.f64 1 (*.f64 2 re)) re) (pow.f64 im 5))) (*.f64 -1/6 (*.f64 (-.f64 (+.f64 1 (*.f64 2 re)) re) (pow.f64 im 3)))))
(+.f64 (*.f64 im (-.f64 (+.f64 1 (*.f64 re 2)) re)) (+.f64 (*.f64 -1/6 (*.f64 (-.f64 (+.f64 1 (*.f64 re 2)) re) (pow.f64 im 3))) (*.f64 1/120 (*.f64 (-.f64 (+.f64 1 (*.f64 re 2)) re) (pow.f64 im 5)))))
(+.f64 (*.f64 im (-.f64 (*.f64 re 2) (-.f64 re 1))) (+.f64 (*.f64 (-.f64 (*.f64 re 2) (-.f64 re 1)) (*.f64 (pow.f64 im 3) -1/6)) (*.f64 1/120 (*.f64 (-.f64 (*.f64 re 2) (-.f64 re 1)) (pow.f64 im 5)))))
(+.f64 (*.f64 im (-.f64 1 (-.f64 re (*.f64 re 2)))) (+.f64 (*.f64 (-.f64 1 (-.f64 re (*.f64 re 2))) (*.f64 -1/6 (pow.f64 im 3))) (*.f64 (-.f64 1 (-.f64 re (*.f64 re 2))) (*.f64 1/120 (pow.f64 im 5)))))
(+.f64 (*.f64 im (+.f64 re 1)) (*.f64 (+.f64 re 1) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 1/120 (pow.f64 im 5)))))
(+.f64 (*.f64 (-.f64 (+.f64 1 (*.f64 2 re)) re) im) (+.f64 (*.f64 1/120 (*.f64 (-.f64 (+.f64 1 (*.f64 2 re)) re) (pow.f64 im 5))) (+.f64 (*.f64 -1/5040 (*.f64 (-.f64 (+.f64 1 (*.f64 2 re)) re) (pow.f64 im 7))) (*.f64 -1/6 (*.f64 (-.f64 (+.f64 1 (*.f64 2 re)) re) (pow.f64 im 3))))))
(+.f64 (*.f64 im (-.f64 (+.f64 1 (*.f64 re 2)) re)) (+.f64 (*.f64 1/120 (*.f64 (-.f64 (+.f64 1 (*.f64 re 2)) re) (pow.f64 im 5))) (+.f64 (*.f64 -1/6 (*.f64 (-.f64 (+.f64 1 (*.f64 re 2)) re) (pow.f64 im 3))) (*.f64 -1/5040 (*.f64 (-.f64 (+.f64 1 (*.f64 re 2)) re) (pow.f64 im 7))))))
(+.f64 (*.f64 im (-.f64 (*.f64 re 2) (-.f64 re 1))) (+.f64 (*.f64 1/120 (*.f64 (-.f64 (*.f64 re 2) (-.f64 re 1)) (pow.f64 im 5))) (+.f64 (*.f64 (-.f64 (*.f64 re 2) (-.f64 re 1)) (*.f64 (pow.f64 im 3) -1/6)) (*.f64 (-.f64 (*.f64 re 2) (-.f64 re 1)) (*.f64 (pow.f64 im 7) -1/5040)))))
(+.f64 (*.f64 im (-.f64 1 (-.f64 re (*.f64 re 2)))) (+.f64 (*.f64 (-.f64 1 (-.f64 re (*.f64 re 2))) (*.f64 1/120 (pow.f64 im 5))) (+.f64 (*.f64 (-.f64 1 (-.f64 re (*.f64 re 2))) (*.f64 -1/6 (pow.f64 im 3))) (*.f64 (-.f64 1 (-.f64 re (*.f64 re 2))) (*.f64 -1/5040 (pow.f64 im 7))))))
(+.f64 (*.f64 (+.f64 re 1) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 1/120 (pow.f64 im 5)))) (*.f64 (+.f64 re 1) (+.f64 (*.f64 -1/5040 (pow.f64 im 7)) im)))
(*.f64 (sin.f64 im) (-.f64 (+.f64 1 (*.f64 2 re)) re))
(+.f64 (sin.f64 im) (*.f64 (sin.f64 im) re))
(*.f64 (sin.f64 im) (+.f64 re 1))
(*.f64 (sin.f64 im) (-.f64 (+.f64 1 (*.f64 2 re)) re))
(+.f64 (sin.f64 im) (*.f64 (sin.f64 im) re))
(*.f64 (sin.f64 im) (+.f64 re 1))
(*.f64 (sin.f64 im) (-.f64 (+.f64 1 (*.f64 2 re)) re))
(+.f64 (sin.f64 im) (*.f64 (sin.f64 im) re))
(*.f64 (sin.f64 im) (+.f64 re 1))
(*.f64 (sin.f64 im) (-.f64 (+.f64 1 (*.f64 2 re)) re))
(+.f64 (sin.f64 im) (*.f64 (sin.f64 im) re))
(*.f64 (sin.f64 im) (+.f64 re 1))
(*.f64 (sin.f64 im) (-.f64 (+.f64 1 (*.f64 2 re)) re))
(+.f64 (sin.f64 im) (*.f64 (sin.f64 im) re))
(*.f64 (sin.f64 im) (+.f64 re 1))
(*.f64 (sin.f64 im) (-.f64 (+.f64 1 (*.f64 2 re)) re))
(+.f64 (sin.f64 im) (*.f64 (sin.f64 im) re))
(*.f64 (sin.f64 im) (+.f64 re 1))
(*.f64 (sin.f64 im) (-.f64 (+.f64 1 (*.f64 2 re)) re))
(+.f64 (sin.f64 im) (*.f64 (sin.f64 im) re))
(*.f64 (sin.f64 im) (+.f64 re 1))
(*.f64 (sin.f64 im) (-.f64 (+.f64 1 (*.f64 2 re)) re))
(+.f64 (sin.f64 im) (*.f64 (sin.f64 im) re))
(*.f64 (sin.f64 im) (+.f64 re 1))
1
(+.f64 1 re)
(+.f64 re 1)
(+.f64 1 re)
(+.f64 re 1)
(+.f64 1 re)
(+.f64 re 1)
re
(+.f64 1 re)
(+.f64 re 1)
(+.f64 1 re)
(+.f64 re 1)
(+.f64 1 re)
(+.f64 re 1)
re
(+.f64 1 re)
(+.f64 re 1)
(+.f64 1 re)
(+.f64 re 1)
(+.f64 1 re)
(+.f64 re 1)
(+.f64 (*.f64 (+.f64 1 re) (sin.f64 im)) 0)
(+.f64 (sin.f64 im) (*.f64 (sin.f64 im) re))
(*.f64 (sin.f64 im) (+.f64 re 1))
(+.f64 0 (*.f64 (+.f64 1 re) (sin.f64 im)))
(+.f64 (sin.f64 im) (*.f64 (sin.f64 im) re))
(*.f64 (sin.f64 im) (+.f64 re 1))
(+.f64 (*.f64 (sin.f64 im) (/.f64 (-.f64 -1 re) -2)) (*.f64 (sin.f64 im) (/.f64 (-.f64 -1 re) -2)))
(+.f64 (sin.f64 im) (*.f64 (sin.f64 im) re))
(*.f64 (sin.f64 im) (+.f64 re 1))
(-.f64 (*.f64 (+.f64 1 re) (sin.f64 im)) 0)
(+.f64 (sin.f64 im) (*.f64 (sin.f64 im) re))
(*.f64 (sin.f64 im) (+.f64 re 1))
(-.f64 (*.f64 2 (*.f64 (+.f64 1 re) (sin.f64 im))) (*.f64 (+.f64 1 re) (sin.f64 im)))
(+.f64 (sin.f64 im) (*.f64 (sin.f64 im) re))
(*.f64 (sin.f64 im) (+.f64 re 1))
(-.f64 (*.f64 (sin.f64 im) (/.f64 (-.f64 -1 re) -2)) (/.f64 (*.f64 (+.f64 1 re) (sin.f64 im)) -2))
(+.f64 (sin.f64 im) (*.f64 (sin.f64 im) re))
(*.f64 (sin.f64 im) (+.f64 re 1))
(/.f64 (*.f64 (+.f64 1 re) (sin.f64 im)) 1)
(+.f64 (sin.f64 im) (*.f64 (sin.f64 im) re))
(*.f64 (sin.f64 im) (+.f64 re 1))
(/.f64 (*.f64 2 (*.f64 (+.f64 1 re) (sin.f64 im))) 2)
(+.f64 (sin.f64 im) (*.f64 (sin.f64 im) re))
(*.f64 (sin.f64 im) (+.f64 re 1))
(/.f64 (*.f64 (sin.f64 im) (-.f64 -1 re)) -1)
(+.f64 (sin.f64 im) (*.f64 (sin.f64 im) re))
(*.f64 (sin.f64 im) (+.f64 re 1))
(/.f64 (*.f64 (sin.f64 im) (*.f64 (+.f64 1 re) 4)) 4)
(+.f64 (sin.f64 im) (*.f64 (sin.f64 im) re))
(*.f64 (sin.f64 im) (+.f64 re 1))
(/.f64 (*.f64 (sin.f64 im) (-.f64 -2 (+.f64 re re))) -2)
(+.f64 (sin.f64 im) (*.f64 (sin.f64 im) re))
(*.f64 (sin.f64 im) (+.f64 re 1))
(/.f64 (*.f64 (-.f64 -1 re) (*.f64 (sin.f64 im) 4)) -4)
(+.f64 (sin.f64 im) (*.f64 (sin.f64 im) re))
(*.f64 (sin.f64 im) (+.f64 re 1))
(/.f64 (*.f64 (*.f64 (sin.f64 im) 4) (*.f64 (+.f64 1 re) 4)) 16)
(+.f64 (sin.f64 im) (*.f64 (sin.f64 im) re))
(*.f64 (sin.f64 im) (+.f64 re 1))
(/.f64 (*.f64 (+.f64 1 re) (*.f64 (*.f64 2 (sin.f64 im)) 4)) 8)
(+.f64 (sin.f64 im) (*.f64 (sin.f64 im) re))
(*.f64 (sin.f64 im) (+.f64 re 1))
(/.f64 (/.f64 (*.f64 (-.f64 -1 re) (*.f64 (sin.f64 im) 4)) 2) -2)
(+.f64 (sin.f64 im) (*.f64 (sin.f64 im) re))
(*.f64 (sin.f64 im) (+.f64 re 1))
(/.f64 (*.f64 (-.f64 -1 re) (*.f64 (*.f64 2 (sin.f64 im)) 4)) -8)
(+.f64 (sin.f64 im) (*.f64 (sin.f64 im) re))
(*.f64 (sin.f64 im) (+.f64 re 1))
(/.f64 (*.f64 (sin.f64 im) (*.f64 2 (-.f64 -2 (+.f64 re re)))) -4)
(+.f64 (sin.f64 im) (*.f64 (sin.f64 im) re))
(*.f64 (sin.f64 im) (+.f64 re 1))
(/.f64 (*.f64 (sin.f64 im) (*.f64 (-.f64 -2 (+.f64 re re)) 2)) -4)
(+.f64 (sin.f64 im) (*.f64 (sin.f64 im) re))
(*.f64 (sin.f64 im) (+.f64 re 1))
(pow.f64 (*.f64 (+.f64 1 re) (sin.f64 im)) 1)
(+.f64 (sin.f64 im) (*.f64 (sin.f64 im) re))
(*.f64 (sin.f64 im) (+.f64 re 1))
(neg.f64 (*.f64 (sin.f64 im) (-.f64 -1 re)))
(+.f64 (sin.f64 im) (*.f64 (sin.f64 im) re))
(*.f64 (sin.f64 im) (+.f64 re 1))
(+.f64 1 re)
(+.f64 re 1)
(+.f64 2 (+.f64 re -1))
(+.f64 re 1)
(+.f64 re 1)
(+.f64 re (-.f64 (-.f64 (+.f64 re 1/2) re) -1/2))
(+.f64 re 1)
(+.f64 re (-.f64 re (+.f64 re -1)))
(+.f64 re 1)
(+.f64 (+.f64 re re) (+.f64 1 (neg.f64 re)))
(+.f64 re 1)
(+.f64 (+.f64 re re) (neg.f64 (+.f64 re -1)))
(+.f64 re 1)
(+.f64 (+.f64 1 (+.f64 re re)) (neg.f64 re))
(+.f64 re 1)
(+.f64 (+.f64 1 re) 0)
(+.f64 re 1)
(+.f64 0 (+.f64 1 re))
(+.f64 re 1)
(+.f64 (+.f64 re -1) 2)
(+.f64 re 1)
(+.f64 (neg.f64 re) (+.f64 1 (+.f64 re re)))
(+.f64 re 1)
(+.f64 (-.f64 (*.f64 re 3) -2) (-.f64 (*.f64 re -2) 1))
(+.f64 (-.f64 (*.f64 re 3) -2) (+.f64 (*.f64 re -2) -1))
(+.f64 -1 (+.f64 (*.f64 re -2) (-.f64 (*.f64 re 3) -2)))
(+.f64 -1 (+.f64 (-.f64 (*.f64 re 3) -2) (*.f64 re -2)))
(+.f64 -1 (-.f64 (*.f64 re 3) (+.f64 -2 (+.f64 re re))))
(+.f64 (/.f64 (-.f64 -1 re) -2) (/.f64 (-.f64 -1 re) -2))
(+.f64 re 1)
(+.f64 (-.f64 (*.f64 re -2) 1) (-.f64 (*.f64 re 3) -2))
(+.f64 (-.f64 (*.f64 re 3) -2) (+.f64 (*.f64 re -2) -1))
(+.f64 -1 (+.f64 (*.f64 re -2) (-.f64 (*.f64 re 3) -2)))
(+.f64 -1 (+.f64 (-.f64 (*.f64 re 3) -2) (*.f64 re -2)))
(+.f64 -1 (-.f64 (*.f64 re 3) (+.f64 -2 (+.f64 re re))))
(+.f64 (+.f64 re 1/2) (-.f64 (+.f64 re 1/2) re))
(+.f64 1/2 (+.f64 re (-.f64 (+.f64 re 1/2) re)))
(+.f64 re (+.f64 1/2 (-.f64 (+.f64 re 1/2) re)))
(+.f64 (+.f64 1 (neg.f64 re)) (+.f64 re re))
(+.f64 re 1)
(+.f64 (-.f64 (+.f64 re 1/2) re) (+.f64 re 1/2))
(+.f64 1/2 (+.f64 re (-.f64 (+.f64 re 1/2) re)))
(+.f64 re (+.f64 1/2 (-.f64 (+.f64 re 1/2) re)))
(+.f64 (+.f64 re (+.f64 re 1/2)) (-.f64 (+.f64 re 1/2) (+.f64 re re)))
(+.f64 (+.f64 re (+.f64 re 1/2)) (-.f64 1 (+.f64 re 1/2)))
(+.f64 (+.f64 re (+.f64 re 1/2)) (+.f64 1/2 (neg.f64 re)))
(+.f64 re (+.f64 (+.f64 re 1/2) (+.f64 1/2 (neg.f64 re))))
(+.f64 (-.f64 (-.f64 (+.f64 re 1/2) re) -1/2) re)
(+.f64 re 1)
(+.f64 (-.f64 re (+.f64 re -1)) re)
(+.f64 re 1)
(+.f64 (/.f64 re -2) (/.f64 (-.f64 (*.f64 re 3) -2) 2))
(+.f64 (/.f64 re -2) (-.f64 (/.f64 (*.f64 re 3) 2) -1))
(+.f64 (/.f64 re -2) (+.f64 (/.f64 (*.f64 re 3) 2) 1))
(+.f64 1 (+.f64 (/.f64 (*.f64 re 6) 4) (/.f64 re -2)))
(+.f64 1 (+.f64 (/.f64 re -2) (/.f64 (*.f64 re 6) 4)))
(+.f64 (neg.f64 (+.f64 re -1)) (+.f64 re re))
(+.f64 re 1)
(+.f64 (/.f64 (-.f64 (*.f64 re 3) -2) 2) (/.f64 re -2))
(+.f64 (/.f64 re -2) (-.f64 (/.f64 (*.f64 re 3) 2) -1))
(+.f64 (/.f64 re -2) (+.f64 (/.f64 (*.f64 re 3) 2) 1))
(+.f64 1 (+.f64 (/.f64 (*.f64 re 6) 4) (/.f64 re -2)))
(+.f64 1 (+.f64 (/.f64 re -2) (/.f64 (*.f64 re 6) 4)))
(+.f64 (-.f64 (+.f64 re 1/2) (+.f64 re re)) (+.f64 re (+.f64 re 1/2)))
(+.f64 (+.f64 re (+.f64 re 1/2)) (-.f64 (+.f64 re 1/2) (+.f64 re re)))
(+.f64 (+.f64 re (+.f64 re 1/2)) (-.f64 1 (+.f64 re 1/2)))
(+.f64 (+.f64 re (+.f64 re 1/2)) (+.f64 1/2 (neg.f64 re)))
(+.f64 re (+.f64 (+.f64 re 1/2) (+.f64 1/2 (neg.f64 re))))
(+.f64 (+.f64 (/.f64 re 2) 1) (+.f64 (+.f64 -1 (/.f64 re 2)) 1))
(+.f64 re 1)
(*.f64 1 (+.f64 1 re))
(+.f64 re 1)
(*.f64 2 (/.f64 (-.f64 -1 re) -2))
(+.f64 re 1)
(*.f64 (+.f64 1 re) 1)
(+.f64 re 1)
(*.f64 -1 (-.f64 -1 re))
(+.f64 re 1)
(*.f64 (-.f64 -1 re) -1)
(+.f64 re 1)
(*.f64 (-.f64 (+.f64 re re) -2) 1/2)
(+.f64 re 1)
(*.f64 1/2 (-.f64 (+.f64 re re) -2))
(+.f64 re 1)
(*.f64 1/2 (-.f64 (*.f64 (+.f64 1 (+.f64 re re)) 4) (*.f64 2 (-.f64 (*.f64 re 3) -1))))
(*.f64 1/2 (-.f64 (*.f64 4 (+.f64 re (+.f64 re 1))) (*.f64 2 (+.f64 (*.f64 re 3) 1))))
(*.f64 1/2 (-.f64 (*.f64 4 (+.f64 re (+.f64 re 1))) (*.f64 2 (+.f64 1 (*.f64 re 3)))))
(*.f64 (/.f64 (-.f64 -1 re) -2) 2)
(+.f64 re 1)
(*.f64 (*.f64 (+.f64 1 re) 4) 1/4)
(+.f64 re 1)
(*.f64 1/4 (*.f64 (+.f64 1 re) 4))
(+.f64 re 1)
(*.f64 (*.f64 (-.f64 (+.f64 re re) -2) 4) 1/8)
(+.f64 re 1)
(/.f64 (+.f64 1 re) 1)
(+.f64 re 1)
(/.f64 (-.f64 -1 re) -1)
(+.f64 re 1)
(/.f64 (-.f64 (+.f64 re re) -2) 2)
(+.f64 re 1)
(/.f64 (*.f64 (+.f64 1 re) 4) 4)
(+.f64 re 1)
(/.f64 (-.f64 -2 (+.f64 re re)) -2)
(+.f64 re 1)
(/.f64 (*.f64 (-.f64 (+.f64 re re) -2) 4) 8)
(+.f64 re 1)
(/.f64 (*.f64 2 (-.f64 -2 (+.f64 re re))) -4)
(/.f64 (*.f64 (-.f64 -2 (+.f64 re re)) 4) -8)
(/.f64 (*.f64 (-.f64 -2 (+.f64 re re)) 2) -4)
(/.f64 (*.f64 2 (-.f64 -2 (+.f64 re re))) -4)
(/.f64 (*.f64 (-.f64 -2 (+.f64 re re)) 4) -8)
(/.f64 (/.f64 (*.f64 2 (-.f64 -2 (+.f64 re re))) -1) 4)
(/.f64 (*.f64 2 (-.f64 -2 (+.f64 re re))) -4)
(/.f64 (*.f64 (-.f64 -2 (+.f64 re re)) 4) -8)
(/.f64 (/.f64 (*.f64 (-.f64 -2 (+.f64 re re)) 2) -1) 4)
(/.f64 (*.f64 2 (-.f64 -2 (+.f64 re re))) -4)
(/.f64 (*.f64 (-.f64 -2 (+.f64 re re)) 4) -8)
(/.f64 (-.f64 (*.f64 (+.f64 1 (+.f64 re re)) 4) (*.f64 2 (-.f64 (*.f64 re 3) -1))) 2)
(/.f64 (-.f64 (*.f64 4 (+.f64 re (+.f64 re 1))) (*.f64 2 (+.f64 (*.f64 re 3) 1))) 2)
(/.f64 (-.f64 (*.f64 4 (+.f64 re (+.f64 re 1))) (*.f64 2 (+.f64 1 (*.f64 re 3)))) 2)
(/.f64 (*.f64 4 (-.f64 (-.f64 (*.f64 re 4) -2) (+.f64 1 (*.f64 re 3)))) 4)
(/.f64 (+.f64 (*.f64 (+.f64 1 (+.f64 re re)) 4) (*.f64 4 (neg.f64 re))) 4)
(+.f64 re 1)
(/.f64 (+.f64 (*.f64 4 (neg.f64 re)) (*.f64 (+.f64 1 (+.f64 re re)) 4)) 4)
(+.f64 re 1)
(/.f64 (-.f64 (*.f64 re 4) (-.f64 (+.f64 re re) 2)) 2)
(+.f64 re 1)
(/.f64 (-.f64 (*.f64 (-.f64 (*.f64 re 4) -2) 4) (*.f64 re 8)) 8)
(+.f64 re 1)
(/.f64 (-.f64 (*.f64 (-.f64 (*.f64 re 4) -2) 4) (*.f64 2 (*.f64 2 (-.f64 (*.f64 re 3) -1)))) 4)
(/.f64 (-.f64 (*.f64 4 (+.f64 re (+.f64 re 1))) (*.f64 2 (+.f64 (*.f64 re 3) 1))) 2)
(/.f64 (-.f64 (*.f64 4 (+.f64 re (+.f64 re 1))) (*.f64 2 (+.f64 1 (*.f64 re 3)))) 2)
(/.f64 (*.f64 4 (-.f64 (-.f64 (*.f64 re 4) -2) (+.f64 1 (*.f64 re 3)))) 4)
(/.f64 (-.f64 (*.f64 2 (-.f64 (*.f64 re 3) -1)) (*.f64 re 4)) 2)
(/.f64 (-.f64 (*.f64 2 (+.f64 (*.f64 re 3) 1)) (*.f64 re 4)) 2)
(/.f64 (-.f64 (*.f64 2 (+.f64 1 (*.f64 re 3))) (*.f64 re 4)) 2)
(-.f64 (/.f64 (*.f64 2 (-.f64 (*.f64 re 6) -2)) 4) (+.f64 re re))
(/.f64 (-.f64 (*.f64 2 (*.f64 2 (-.f64 (*.f64 re 3) -1))) (*.f64 re 8)) 4)
(/.f64 (-.f64 (*.f64 2 (+.f64 (*.f64 re 3) 1)) (*.f64 re 4)) 2)
(/.f64 (-.f64 (*.f64 2 (+.f64 1 (*.f64 re 3))) (*.f64 re 4)) 2)
(-.f64 (/.f64 (*.f64 2 (-.f64 (*.f64 re 6) -2)) 4) (+.f64 re re))
(pow.f64 (+.f64 1 re) 1)
(+.f64 re 1)
(neg.f64 (-.f64 -1 re))
(+.f64 re 1)

localize17.0ms (0.2%)

Local error

Found 3 expressions with local error:

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

Compiled 51 to 24 computations (52.9% saved)

series5.0ms (0.1%)

Counts
3 → 72
Calls

18 calls:

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

rewrite132.0ms (1.7%)

Algorithm
batch-egg-rewrite
Rules
1110×rational_best-simplify-51
1062×rational_best-simplify-57
1050×rational_best-simplify-47
650×rational_best-simplify-75
642×rational_best-simplify-83
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01387
19675
226449
3123839
Stop Event
node limit
Counts
3 → 274
Calls
Call 1
Inputs
(-.f64 (+.f64 im (*.f64 im 1/2)) (-.f64 im (*.f64 re im)))
(-.f64 (-.f64 (+.f64 im (*.f64 im 1/2)) (-.f64 im (*.f64 re im))) (/.f64 im -2))
(-.f64 im (*.f64 re im))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 im (*.f64 im (-.f64 re 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 im 1/2) (*.f64 im re))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 im 3/2) (-.f64 (*.f64 im re) im))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 im 3/2) (-.f64 (/.f64 im -4) (+.f64 (-.f64 (/.f64 im -4) (*.f64 im re)) im)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 im re) (*.f64 im 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 im (+.f64 re 1/2)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 im -1/2) (+.f64 im (*.f64 im re)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 im (*.f64 im re)) (*.f64 im -1/2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 im (+.f64 re 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 1 (+.f64 (+.f64 (*.f64 im 1/2) -1) (*.f64 im re)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (neg.f64 im) (+.f64 (*.f64 im 3/2) (*.f64 im re)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 -1 (+.f64 (*.f64 im (+.f64 re 1/2)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 im (-.f64 re 1/2)) im)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (*.f64 im re) im) (*.f64 im 3/2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 im -4) (neg.f64 (-.f64 (*.f64 im (-.f64 -1 re)) (/.f64 im -4))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 im -4) (-.f64 (/.f64 im -4) (*.f64 im (-.f64 -1 re))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (*.f64 im -1/2) -1) (-.f64 1 (*.f64 im (-.f64 -1 re))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (*.f64 im 3/2) (*.f64 im re)) (neg.f64 im))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 im 4) (+.f64 (*.f64 im re) (/.f64 im 4)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 im 4) (-.f64 (/.f64 im 4) (neg.f64 (*.f64 im re))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 im 4) (-.f64 (/.f64 im -4) (neg.f64 (*.f64 im (+.f64 re 1/2)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 im 4) (+.f64 (/.f64 im 4) (*.f64 im re)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (*.f64 im re) (/.f64 im 4)) (/.f64 im 4))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (*.f64 im re) 1) (+.f64 (*.f64 im 1/2) -1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (*.f64 im (+.f64 re 1/2)) 1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (*.f64 im re) 2) (/.f64 (+.f64 im (*.f64 im re)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (+.f64 im (*.f64 im re)) 2) (/.f64 (*.f64 im re) 2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (*.f64 im (+.f64 re 1/2)) 2) (/.f64 (*.f64 im (+.f64 re 1/2)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 im (/.f64 im -4)) (neg.f64 (+.f64 (-.f64 (/.f64 im -4) (*.f64 im re)) im)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 im (/.f64 im -4)) (+.f64 (+.f64 im (/.f64 im -4)) (-.f64 (*.f64 im re) im)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 im (/.f64 im -4)) (-.f64 (*.f64 im 1/2) (+.f64 (-.f64 (/.f64 im -4) (*.f64 im re)) im)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 im (/.f64 im -4)) (-.f64 (+.f64 im (/.f64 im -4)) (-.f64 im (*.f64 im re))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (*.f64 im -3/2) (*.f64 im re)) (+.f64 im im))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (*.f64 im 1/2) -1) (+.f64 (*.f64 im re) 1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (*.f64 im 1/2) -1) (+.f64 (+.f64 (*.f64 im re) 1) 0))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 -1 (*.f64 im (+.f64 re 1/2))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (*.f64 im 1/2) 1) (+.f64 -1 (*.f64 im re)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (*.f64 im 1/2) 1) (+.f64 (+.f64 -1 (*.f64 im re)) 0))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (*.f64 im 1/2) 1) (neg.f64 (-.f64 1 (*.f64 im re))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 -1 (+.f64 im im)) (-.f64 1 (-.f64 im (*.f64 im (-.f64 re 1/2)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 1 (-.f64 (*.f64 im re) im)) (neg.f64 (+.f64 1 (*.f64 im -3/2))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 -1 (-.f64 (*.f64 im re) im)) (-.f64 1 (*.f64 im -3/2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 -1 (*.f64 im re)) (+.f64 (*.f64 im 1/2) 1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 -1 (*.f64 im re)) (neg.f64 (+.f64 (*.f64 im -1/2) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (+.f64 im (/.f64 im -4)) im) (-.f64 (+.f64 im (/.f64 im -4)) (neg.f64 (*.f64 im re))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (*.f64 im 3) (-.f64 im (*.f64 im re))) (*.f64 im -3/2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (*.f64 im (+.f64 re re)) (*.f64 im -1/2)) (neg.f64 (*.f64 im re)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (*.f64 im (-.f64 re 1/2)) (/.f64 im -4)) (neg.f64 (*.f64 3 (/.f64 im -4))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (/.f64 im -4) (*.f64 im -2)) (-.f64 (/.f64 im -4) (-.f64 im (*.f64 im re))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (*.f64 im (-.f64 re 1/2)) im) (+.f64 im im))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (*.f64 im (-.f64 re 1/2)) 1) (neg.f64 (-.f64 -1 im)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (*.f64 im (-.f64 re 1/2)) (+.f64 (*.f64 im -1/2) 1)) (neg.f64 (+.f64 (*.f64 im -1/2) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 -1 (neg.f64 im)) (-.f64 1 (*.f64 im (-.f64 1/2 re))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 -1 (*.f64 im -3/2)) (+.f64 1 (-.f64 (*.f64 im re) im)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (*.f64 im 3/2) (neg.f64 (*.f64 im re))) (neg.f64 im))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (*.f64 im 3/2) (/.f64 (-.f64 im (*.f64 im re)) 2)) (neg.f64 (/.f64 (-.f64 im (*.f64 im re)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (*.f64 im -1/2) (+.f64 (/.f64 im -4) (*.f64 im -3/2))) (neg.f64 (+.f64 (-.f64 (/.f64 im -4) (*.f64 im re)) im)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (*.f64 im -1/2) (-.f64 (*.f64 im (-.f64 -1 re)) (/.f64 im -4))) (/.f64 im 4))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (*.f64 im -1/2) (+.f64 -1 (-.f64 im (*.f64 im re)))) (neg.f64 (+.f64 1 (*.f64 im -2))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (*.f64 im -1/2) (+.f64 -1 (*.f64 im -2))) (neg.f64 (+.f64 1 (-.f64 im (*.f64 im re)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 0 (-.f64 -1 (*.f64 im re))) (+.f64 (*.f64 im 1/2) -1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 0 (+.f64 -1 (*.f64 im -3/2))) (neg.f64 (+.f64 1 (-.f64 im (*.f64 im re)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 -1 (/.f64 im 4)) (-.f64 1 (-.f64 (*.f64 im (-.f64 -1 re)) (/.f64 im -4))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 -1 (*.f64 im (-.f64 1/2 re))) (-.f64 1 (neg.f64 im)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (-.f64 (*.f64 im re) im) 2) (/.f64 (*.f64 im (+.f64 2 re)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (/.f64 (*.f64 im re) 2) (*.f64 im 1/2)) (-.f64 (/.f64 (*.f64 im re) 2) (neg.f64 im)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (/.f64 (*.f64 im re) 2) im) (-.f64 (/.f64 (*.f64 im re) 2) (*.f64 im -3/2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (/.f64 (*.f64 im re) 2) (+.f64 (*.f64 im -1/2) -1)) (-.f64 (/.f64 (*.f64 im re) 2) 1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (/.f64 im 4) (neg.f64 im)) (-.f64 (/.f64 im 4) (-.f64 im (*.f64 im re))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (/.f64 im 4) (neg.f64 (*.f64 im re))) (/.f64 im 4))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (/.f64 im 4) (-.f64 im (*.f64 im re))) (-.f64 (/.f64 im 4) (neg.f64 im)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (/.f64 (*.f64 im re) 2) (neg.f64 im)) (-.f64 (/.f64 (*.f64 im re) 2) (*.f64 im 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (/.f64 (*.f64 im re) 2) 1) (-.f64 (/.f64 (*.f64 im re) 2) (+.f64 (*.f64 im -1/2) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (+.f64 im (/.f64 im -4)) (neg.f64 (*.f64 im re))) (-.f64 (+.f64 im (/.f64 im -4)) im))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (+.f64 im (/.f64 im -4)) (-.f64 im (*.f64 im re))) (+.f64 im (/.f64 im -4)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (/.f64 (*.f64 im re) 2) (*.f64 im -3/2)) (-.f64 (/.f64 (*.f64 im re) 2) im))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (/.f64 (*.f64 im re) 2) (+.f64 (*.f64 im -1/2) 1)) (-.f64 (/.f64 (*.f64 im re) 2) -1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (/.f64 (*.f64 im re) 2) -1) (-.f64 (/.f64 (*.f64 im re) 2) (+.f64 (*.f64 im -1/2) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (/.f64 im -4) (neg.f64 (*.f64 im (+.f64 re 1/2)))) (/.f64 im 4))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (/.f64 im -4) (*.f64 im (-.f64 -1 re))) (/.f64 im -4))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (/.f64 im -4) (-.f64 im (*.f64 im re))) (-.f64 (/.f64 im -4) (*.f64 im -2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (/.f64 im -4) (+.f64 -1 (-.f64 im (*.f64 im re)))) (-.f64 (/.f64 im -4) (+.f64 1 (*.f64 im -2))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (/.f64 im -4) (+.f64 -1 (*.f64 im -2))) (-.f64 (/.f64 im -4) (+.f64 1 (-.f64 im (*.f64 im re)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 -1 (-.f64 im (*.f64 im (-.f64 re 1/2)))) (+.f64 1 (+.f64 im im)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 -1 (*.f64 im (-.f64 -1 re))) (+.f64 (*.f64 im -1/2) 1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 -1 (-.f64 (*.f64 im (-.f64 -1 re)) (/.f64 im -4))) (-.f64 1 (/.f64 im 4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 im (-.f64 re -1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 im (+.f64 re 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 im (+.f64 1/2 re))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (+.f64 (*.f64 im (+.f64 re re)) im))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (+.f64 im (*.f64 im (+.f64 re re))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 im 1/2) (-.f64 (+.f64 re re) -1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 im 1/2) (+.f64 (+.f64 re re) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 im 1/2) (+.f64 1 (+.f64 re re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 im (+.f64 re 1/2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (*.f64 im (+.f64 re 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (*.f64 im (+.f64 re 1/2))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (*.f64 im (+.f64 re re)) im) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (+.f64 (*.f64 im (+.f64 re re)) im)) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 im (+.f64 re 1/2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 im (+.f64 re 1/2))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 im (+.f64 re re)) im) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (+.f64 (*.f64 im (+.f64 re re)) im)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 im (*.f64 im (+.f64 re re))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 im 3) (*.f64 (+.f64 im im) (+.f64 re -1))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 (*.f64 im 4) re) (+.f64 im im)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 (+.f64 im im) (+.f64 re -1)) (*.f64 im 3)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (+.f64 (*.f64 im (+.f64 re re)) im)) (*.f64 2 (+.f64 (*.f64 im (+.f64 re re)) im))) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (+.f64 im im) (*.f64 (*.f64 im 4) re)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 2 (*.f64 im 3)) (*.f64 2 (*.f64 im (-.f64 2 (+.f64 re re))))) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (+.f64 im im) (*.f64 (*.f64 im (-.f64 1/2 re)) 2)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 (*.f64 im 4) re) (*.f64 im -2)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (neg.f64 im) (-.f64 0 (*.f64 (+.f64 im (*.f64 im re)) 2))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (+.f64 (*.f64 im re) (-.f64 (*.f64 im re) im)) (*.f64 im -2)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 im (+.f64 re 1/2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (neg.f64 (*.f64 im (+.f64 re 1/2))))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 im (*.f64 im re))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 im 1/2) (*.f64 im (+.f64 re 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 im 3/2) (*.f64 im (-.f64 re 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 im re) im)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 im (+.f64 re 1/2)) (*.f64 im 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 im -1/2) (+.f64 im (*.f64 im (+.f64 re 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 im (*.f64 im re)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (+.f64 im (*.f64 im re)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 1 (+.f64 (+.f64 (*.f64 im 1/2) -1) (*.f64 im (+.f64 re 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (neg.f64 im) (*.f64 im (+.f64 2 re)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 im im) (-.f64 (*.f64 im re) im))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 -1 (+.f64 (*.f64 im 1/2) (+.f64 (*.f64 im (+.f64 re 1/2)) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 -1 (-.f64 1 (*.f64 im (-.f64 -1 re))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 im (-.f64 re 1/2)) (*.f64 im 3/2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (*.f64 im re) im) (+.f64 im im))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 im (+.f64 2 re)) (neg.f64 im))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (*.f64 im 3/2) (*.f64 im re)) (*.f64 im -1/2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 im (+.f64 im (/.f64 im -4))) (neg.f64 (+.f64 (-.f64 (/.f64 im -4) (*.f64 im re)) im)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 im 4) (+.f64 (*.f64 im (+.f64 re 1/2)) (/.f64 im 4)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 im 4) (+.f64 (+.f64 (*.f64 im re) (/.f64 im 4)) (*.f64 im 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 im 4) (+.f64 (+.f64 im (+.f64 im (/.f64 im -4))) (-.f64 (*.f64 im re) im)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 im 4) (+.f64 (/.f64 im 4) (*.f64 im (+.f64 re 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 im 4) (neg.f64 (-.f64 (*.f64 im (-.f64 -1 re)) (/.f64 im -4))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 im 4) (/.f64 (+.f64 (*.f64 im (-.f64 re 1/2)) (*.f64 im (+.f64 2 re))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 im 4) (-.f64 (/.f64 im 4) (neg.f64 (*.f64 im (+.f64 re 1/2)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 im 4) (+.f64 (+.f64 im (/.f64 im -4)) (*.f64 im re)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (*.f64 im re) (/.f64 im 4)) (neg.f64 (*.f64 3 (/.f64 im -4))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (*.f64 im (+.f64 re 1/2)) (/.f64 im 4)) (/.f64 im 4))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (*.f64 im 1/2) (+.f64 (*.f64 im (+.f64 re 1/2)) 1)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (*.f64 im re) 1) (+.f64 (+.f64 (*.f64 im 1/2) -1) (*.f64 im 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (*.f64 im (+.f64 re 1/2)) 1) (+.f64 (*.f64 im 1/2) -1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (*.f64 im re) 2) (+.f64 (/.f64 (*.f64 im re) 2) im))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (*.f64 im re) 2) (-.f64 (/.f64 (*.f64 im re) 2) (neg.f64 im)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (+.f64 im (*.f64 im re)) 2) (/.f64 (+.f64 im (*.f64 im re)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (*.f64 im (+.f64 re 1/2)) 2) (+.f64 (/.f64 (*.f64 im (+.f64 re 1/2)) 2) (*.f64 im 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (*.f64 im (+.f64 re 1/2)) 2) (-.f64 (/.f64 (*.f64 im (+.f64 re 1/2)) 2) (*.f64 im -1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (*.f64 im (+.f64 re 1/2)) 2) (-.f64 (/.f64 (*.f64 im re) 2) (*.f64 3 (/.f64 im -4))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 im (/.f64 im -4)) (-.f64 (+.f64 im (/.f64 im -4)) (-.f64 im (*.f64 im re))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 im (/.f64 im -4)) (-.f64 (/.f64 im 4) (neg.f64 (*.f64 im re))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 im (/.f64 im -4)) (-.f64 (+.f64 im (/.f64 im -4)) (*.f64 im (-.f64 1/2 re))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (-.f64 (*.f64 im re) im) (/.f64 im 4)) (neg.f64 (+.f64 (/.f64 im -4) (*.f64 im -3/2))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (*.f64 im 1/2) -1) (+.f64 (*.f64 im (+.f64 re 1/2)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 -1 (*.f64 im (+.f64 re 1/2))) (+.f64 (*.f64 im 1/2) 1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 -1 (*.f64 im (+.f64 re 1/2))) (neg.f64 (+.f64 (*.f64 im -1/2) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (*.f64 im 1/2) 1) (+.f64 -1 (*.f64 im (+.f64 re 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 -1 (+.f64 im im)) (+.f64 1 (-.f64 (*.f64 im re) im)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 1 (-.f64 (*.f64 im re) im)) (+.f64 -1 (+.f64 im im)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 1 (-.f64 (*.f64 im re) im)) (neg.f64 (+.f64 1 (*.f64 im -2))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 -1 (-.f64 (*.f64 im re) im)) (+.f64 1 (+.f64 im im)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 1 (+.f64 im im)) (+.f64 -1 (-.f64 (*.f64 im re) im)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 1 (+.f64 im im)) (neg.f64 (+.f64 1 (-.f64 im (*.f64 im re)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 -1 (*.f64 im re)) (neg.f64 (-.f64 -1 im)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 -1 (*.f64 im re)) (-.f64 1 (neg.f64 im)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (*.f64 im (+.f64 re 1/2)) (neg.f64 im)) (*.f64 im -1/2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (*.f64 im 3) (*.f64 im (-.f64 1/2 re))) (*.f64 im -3/2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (*.f64 im 1/2) (+.f64 (*.f64 im -1/2) -1)) (neg.f64 (-.f64 1 (*.f64 im re))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 -1 (neg.f64 im)) (+.f64 (*.f64 im re) 1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 -1 (*.f64 im -3/2)) (-.f64 1 (*.f64 im (-.f64 1/2 re))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (*.f64 im 3/2) (neg.f64 (*.f64 im re))) (*.f64 im -1/2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (+.f64 (*.f64 im (+.f64 re re)) im) (*.f64 im -1/2)) (neg.f64 (*.f64 im (+.f64 re 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 -1 (*.f64 im (-.f64 1/2 re))) (-.f64 1 (*.f64 im -3/2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (*.f64 im 1/2) (+.f64 -1 (-.f64 im (*.f64 im re)))) (neg.f64 (+.f64 1 (*.f64 im -3/2))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (*.f64 im 1/2) (+.f64 -1 (*.f64 im -3/2))) (neg.f64 (+.f64 1 (-.f64 im (*.f64 im re)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (*.f64 im (+.f64 re 1/2)) (+.f64 (*.f64 im -1/2) 1)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (+.f64 im im) (/.f64 (-.f64 im (*.f64 im re)) 2)) (neg.f64 (/.f64 (-.f64 im (*.f64 im re)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (-.f64 (*.f64 im re) im) (*.f64 3 (/.f64 im -4))) (neg.f64 (-.f64 (/.f64 im -4) im)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (-.f64 (*.f64 im re) im) (-.f64 (/.f64 im -4) im)) (neg.f64 (*.f64 3 (/.f64 im -4))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (-.f64 (*.f64 im re) im) (+.f64 (/.f64 im -4) (*.f64 im -3/2))) (/.f64 im 4))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (-.f64 (*.f64 im re) im) 2) (/.f64 (+.f64 im (*.f64 im (+.f64 2 re))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (/.f64 (*.f64 im (+.f64 re 1/2)) 2) (*.f64 im -1/2)) (/.f64 (*.f64 im (+.f64 re 1/2)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (/.f64 (*.f64 im (+.f64 re 1/2)) 2) (neg.f64 im)) (-.f64 (/.f64 (*.f64 im (+.f64 re 1/2)) 2) (*.f64 im 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (/.f64 (*.f64 im (+.f64 re 1/2)) 2) (*.f64 im 1/2)) (-.f64 (/.f64 (*.f64 im (+.f64 re 1/2)) 2) (neg.f64 im)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (/.f64 (*.f64 im (+.f64 re 1/2)) 2) 1) (-.f64 (/.f64 (*.f64 im (+.f64 re 1/2)) 2) (+.f64 (*.f64 im -1/2) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (/.f64 (*.f64 im re) 2) im) (-.f64 (/.f64 (*.f64 im re) 2) (*.f64 im -2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (/.f64 im 4) (neg.f64 im)) (-.f64 (/.f64 im 4) (*.f64 im (-.f64 1/2 re))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (/.f64 im 4) (*.f64 im -3/2)) (-.f64 (/.f64 im 4) (-.f64 im (*.f64 im re))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (/.f64 im 4) (+.f64 (*.f64 im -1/2) -1)) (-.f64 (/.f64 im 4) (-.f64 1 (*.f64 im re))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (/.f64 im 4) (neg.f64 (*.f64 im re))) (+.f64 im (/.f64 im -4)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (/.f64 im 4) (-.f64 im (*.f64 im re))) (-.f64 (/.f64 im 4) (*.f64 im -3/2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (/.f64 (*.f64 im re) 2) (neg.f64 im)) (/.f64 (*.f64 im re) 2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (/.f64 (*.f64 im re) 2) 1) (-.f64 (/.f64 (*.f64 im re) 2) (-.f64 -1 im)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (/.f64 im 4) (*.f64 im (-.f64 1/2 re))) (-.f64 (/.f64 im 4) (neg.f64 im)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (+.f64 im (/.f64 im -4)) (neg.f64 (*.f64 im re))) (/.f64 im 4))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (+.f64 im (/.f64 im -4)) (-.f64 im (*.f64 im re))) (-.f64 im (/.f64 im -4)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (/.f64 (*.f64 im re) 2) (*.f64 im -3/2)) (-.f64 (/.f64 (*.f64 im re) 2) (*.f64 im 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (/.f64 (*.f64 im re) 2) (+.f64 (*.f64 im -1/2) 1)) (-.f64 (/.f64 (*.f64 im re) 2) (+.f64 (*.f64 im -1/2) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (/.f64 (*.f64 im (+.f64 re 1/2)) 2) (+.f64 (*.f64 im -1/2) -1)) (-.f64 (/.f64 (*.f64 im (+.f64 re 1/2)) 2) 1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (/.f64 (*.f64 im (+.f64 re 1/2)) 2) im) (-.f64 (/.f64 (*.f64 im (+.f64 re 1/2)) 2) (*.f64 im -3/2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (/.f64 im 4) (neg.f64 (*.f64 im (+.f64 re 1/2)))) (/.f64 im 4))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (+.f64 im (/.f64 im -4)) (*.f64 im (-.f64 1/2 re))) (+.f64 im (/.f64 im -4)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (/.f64 (*.f64 im (+.f64 re 1/2)) 2) (*.f64 im -3/2)) (-.f64 (/.f64 (*.f64 im (+.f64 re 1/2)) 2) im))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (/.f64 (*.f64 im (+.f64 re 1/2)) 2) (+.f64 (*.f64 im -1/2) 1)) (-.f64 (/.f64 (*.f64 im (+.f64 re 1/2)) 2) -1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (/.f64 (*.f64 im (+.f64 re 1/2)) 2) -1) (-.f64 (/.f64 (*.f64 im (+.f64 re 1/2)) 2) (+.f64 (*.f64 im -1/2) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (/.f64 im 4) (-.f64 -1 (*.f64 im re))) (-.f64 (/.f64 im 4) (+.f64 (*.f64 im -1/2) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (/.f64 im 4) (+.f64 -1 (-.f64 im (*.f64 im re)))) (-.f64 (/.f64 im 4) (+.f64 1 (*.f64 im -3/2))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (/.f64 im 4) (+.f64 -1 (*.f64 im -3/2))) (-.f64 (/.f64 im 4) (+.f64 1 (-.f64 im (*.f64 im re)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 -1 (*.f64 im (-.f64 -1 re))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 im (-.f64 re -1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 im (-.f64 2 (-.f64 1 re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 im (+.f64 1 re))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 im (+.f64 re 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 (+.f64 im (*.f64 im re)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (+.f64 (+.f64 im im) (*.f64 im (+.f64 re re))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (+.f64 (*.f64 im (+.f64 re re)) (+.f64 im im)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 im (*.f64 im re)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 im (*.f64 im re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 im (-.f64 -1 re)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 im (*.f64 im re)) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (*.f64 (+.f64 im (*.f64 im re)) 2)) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 im (*.f64 im re)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 im (-.f64 -1 re)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 im (*.f64 im re)) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (+.f64 im (*.f64 im re)) 2)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 im (+.f64 re re)) (*.f64 im -2)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (+.f64 im im) (*.f64 im (+.f64 re re))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 im (+.f64 re re)) (+.f64 im im)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 im 4) (*.f64 (*.f64 im 4) re)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 (+.f64 im (*.f64 im re)) 2)) (*.f64 2 (*.f64 (+.f64 im (*.f64 im re)) 2))) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 (*.f64 im 4) re) (*.f64 im 4)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (+.f64 im im) (*.f64 2 (+.f64 (*.f64 im (+.f64 re re)) im))) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (+.f64 (*.f64 im (+.f64 re re)) im)) (+.f64 im im)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 im 4) (*.f64 (+.f64 im im) (+.f64 re -1))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 (+.f64 im im) (+.f64 re -1)) (*.f64 im 4)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 2 (+.f64 (*.f64 im (+.f64 re re)) im)) (*.f64 im -2)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 im 4) (*.f64 im (-.f64 2 (+.f64 re re)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 (+.f64 im im) (+.f64 re -1)) (-.f64 0 (*.f64 im 4))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (+.f64 im (*.f64 im re)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (*.f64 im (-.f64 -1 re)))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 im (neg.f64 (*.f64 im re)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 im 1/2) (*.f64 im (-.f64 1/2 re)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 im (*.f64 im re)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (-.f64 im (*.f64 im re)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 im (-.f64 1/2 re)) (*.f64 im 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (neg.f64 (*.f64 im re)) im)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 im (-.f64 (*.f64 im re) im)) (neg.f64 im))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 im 4) (+.f64 (+.f64 im (/.f64 im -4)) (neg.f64 (*.f64 im re))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (-.f64 im (*.f64 im re)) 2) (/.f64 (-.f64 im (*.f64 im re)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 -1 (*.f64 im re)) (-.f64 1 (neg.f64 im)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 im (/.f64 (*.f64 im re) 2)) (neg.f64 (/.f64 (*.f64 im re) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 -1 (neg.f64 im)) (-.f64 1 (*.f64 im re)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (neg.f64 (*.f64 im re)) 2) (/.f64 (-.f64 im (-.f64 (*.f64 im re) im)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 im (-.f64 1 re))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 im (-.f64 2 (+.f64 re re))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 im (*.f64 im re)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (-.f64 im (*.f64 im re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 im im) (-.f64 1/2 (/.f64 re 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (*.f64 im re) im) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 im (-.f64 2 (+.f64 re re))) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 1 re) im)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (*.f64 im (-.f64 2 (+.f64 re re)))) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 im (*.f64 im re)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 im re) im) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 im (-.f64 2 (+.f64 re re))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 im (-.f64 2 (+.f64 re re)))) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 im (-.f64 2 (+.f64 re re)))) (*.f64 2 (*.f64 im (-.f64 2 (+.f64 re re))))) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 im 4) (*.f64 (*.f64 im 4) re)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (-.f64 im (*.f64 im re)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (-.f64 (*.f64 im re) im))))))

simplify151.0ms (1.9%)

Algorithm
egg-herbie
Rules
1116×rational_best-simplify-52
1098×rational_best-simplify-48
948×rational_best-simplify-57
708×rational_best-simplify-65
672×rational_best-simplify-51
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
05587868
112927662
230417236
Stop Event
node limit
Counts
346 → 452
Calls
Call 1
Inputs
(*.f64 (+.f64 1/2 re) im)
(*.f64 (+.f64 1/2 re) im)
(*.f64 (+.f64 1/2 re) im)
(*.f64 (+.f64 1/2 re) im)
(*.f64 (+.f64 1/2 re) im)
(*.f64 (+.f64 1/2 re) im)
(*.f64 (+.f64 1/2 re) im)
(*.f64 (+.f64 1/2 re) im)
(*.f64 -1 (*.f64 (-.f64 (*.f64 -1 re) 1/2) im))
(*.f64 -1 (*.f64 (-.f64 (*.f64 -1 re) 1/2) im))
(*.f64 -1 (*.f64 (-.f64 (*.f64 -1 re) 1/2) im))
(*.f64 -1 (*.f64 (-.f64 (*.f64 -1 re) 1/2) im))
(*.f64 1/2 im)
(+.f64 (*.f64 1/2 im) (*.f64 re im))
(+.f64 (*.f64 1/2 im) (*.f64 re im))
(+.f64 (*.f64 1/2 im) (*.f64 re im))
(*.f64 re im)
(+.f64 (*.f64 1/2 im) (*.f64 re im))
(+.f64 (*.f64 1/2 im) (*.f64 re im))
(+.f64 (*.f64 1/2 im) (*.f64 re im))
(*.f64 re im)
(+.f64 (*.f64 1/2 im) (*.f64 re im))
(+.f64 (*.f64 1/2 im) (*.f64 re im))
(+.f64 (*.f64 1/2 im) (*.f64 re im))
(*.f64 (+.f64 1 re) im)
(*.f64 (+.f64 1 re) im)
(*.f64 (+.f64 1 re) im)
(*.f64 (+.f64 1 re) im)
(*.f64 (+.f64 1 re) im)
(*.f64 (+.f64 1 re) im)
(*.f64 (+.f64 1 re) im)
(*.f64 (+.f64 1 re) im)
(*.f64 -1 (*.f64 im (-.f64 (*.f64 -1 re) 1)))
(*.f64 -1 (*.f64 im (-.f64 (*.f64 -1 re) 1)))
(*.f64 -1 (*.f64 im (-.f64 (*.f64 -1 re) 1)))
(*.f64 -1 (*.f64 im (-.f64 (*.f64 -1 re) 1)))
(-.f64 (*.f64 1/2 im) (*.f64 -1/2 im))
(-.f64 (+.f64 (*.f64 1/2 im) (*.f64 re im)) (*.f64 -1/2 im))
(-.f64 (+.f64 (*.f64 1/2 im) (*.f64 re im)) (*.f64 -1/2 im))
(-.f64 (+.f64 (*.f64 1/2 im) (*.f64 re im)) (*.f64 -1/2 im))
(*.f64 re im)
(-.f64 (+.f64 (*.f64 1/2 im) (*.f64 re im)) (*.f64 -1/2 im))
(-.f64 (+.f64 (*.f64 1/2 im) (*.f64 re im)) (*.f64 -1/2 im))
(-.f64 (+.f64 (*.f64 1/2 im) (*.f64 re im)) (*.f64 -1/2 im))
(*.f64 re im)
(-.f64 (+.f64 (*.f64 1/2 im) (*.f64 re im)) (*.f64 -1/2 im))
(-.f64 (+.f64 (*.f64 1/2 im) (*.f64 re im)) (*.f64 -1/2 im))
(-.f64 (+.f64 (*.f64 1/2 im) (*.f64 re im)) (*.f64 -1/2 im))
(*.f64 (-.f64 1 re) im)
(*.f64 (-.f64 1 re) im)
(*.f64 (-.f64 1 re) im)
(*.f64 (-.f64 1 re) im)
(*.f64 (-.f64 1 re) im)
(*.f64 (-.f64 1 re) im)
(*.f64 (-.f64 1 re) im)
(*.f64 (-.f64 1 re) im)
(*.f64 (+.f64 (*.f64 -1 re) 1) im)
(*.f64 (+.f64 (*.f64 -1 re) 1) im)
(*.f64 (+.f64 (*.f64 -1 re) 1) im)
(*.f64 (+.f64 (*.f64 -1 re) 1) im)
im
(+.f64 (*.f64 -1 (*.f64 re im)) im)
(+.f64 (*.f64 -1 (*.f64 re im)) im)
(+.f64 (*.f64 -1 (*.f64 re im)) im)
(*.f64 -1 (*.f64 re im))
(+.f64 (*.f64 -1 (*.f64 re im)) im)
(+.f64 (*.f64 -1 (*.f64 re im)) im)
(+.f64 (*.f64 -1 (*.f64 re im)) im)
(*.f64 -1 (*.f64 re im))
(+.f64 (*.f64 -1 (*.f64 re im)) im)
(+.f64 (*.f64 -1 (*.f64 re im)) im)
(+.f64 (*.f64 -1 (*.f64 re im)) im)
(+.f64 im (*.f64 im (-.f64 re 1/2)))
(+.f64 (*.f64 im 1/2) (*.f64 im re))
(+.f64 (*.f64 im 3/2) (-.f64 (*.f64 im re) im))
(+.f64 (*.f64 im 3/2) (-.f64 (/.f64 im -4) (+.f64 (-.f64 (/.f64 im -4) (*.f64 im re)) im)))
(+.f64 (*.f64 im re) (*.f64 im 1/2))
(+.f64 (*.f64 im (+.f64 re 1/2)) 0)
(+.f64 (*.f64 im -1/2) (+.f64 im (*.f64 im re)))
(+.f64 (+.f64 im (*.f64 im re)) (*.f64 im -1/2))
(+.f64 0 (*.f64 im (+.f64 re 1/2)))
(+.f64 1 (+.f64 (+.f64 (*.f64 im 1/2) -1) (*.f64 im re)))
(+.f64 (neg.f64 im) (+.f64 (*.f64 im 3/2) (*.f64 im re)))
(+.f64 -1 (+.f64 (*.f64 im (+.f64 re 1/2)) 1))
(+.f64 (*.f64 im (-.f64 re 1/2)) im)
(+.f64 (-.f64 (*.f64 im re) im) (*.f64 im 3/2))
(+.f64 (/.f64 im -4) (neg.f64 (-.f64 (*.f64 im (-.f64 -1 re)) (/.f64 im -4))))
(+.f64 (/.f64 im -4) (-.f64 (/.f64 im -4) (*.f64 im (-.f64 -1 re))))
(+.f64 (+.f64 (*.f64 im -1/2) -1) (-.f64 1 (*.f64 im (-.f64 -1 re))))
(+.f64 (+.f64 (*.f64 im 3/2) (*.f64 im re)) (neg.f64 im))
(+.f64 (/.f64 im 4) (+.f64 (*.f64 im re) (/.f64 im 4)))
(+.f64 (/.f64 im 4) (-.f64 (/.f64 im 4) (neg.f64 (*.f64 im re))))
(+.f64 (/.f64 im 4) (-.f64 (/.f64 im -4) (neg.f64 (*.f64 im (+.f64 re 1/2)))))
(+.f64 (/.f64 im 4) (+.f64 (/.f64 im 4) (*.f64 im re)))
(+.f64 (+.f64 (*.f64 im re) (/.f64 im 4)) (/.f64 im 4))
(+.f64 (+.f64 (*.f64 im re) 1) (+.f64 (*.f64 im 1/2) -1))
(+.f64 (+.f64 (*.f64 im (+.f64 re 1/2)) 1) -1)
(+.f64 (/.f64 (*.f64 im re) 2) (/.f64 (+.f64 im (*.f64 im re)) 2))
(+.f64 (/.f64 (+.f64 im (*.f64 im re)) 2) (/.f64 (*.f64 im re) 2))
(+.f64 (/.f64 (*.f64 im (+.f64 re 1/2)) 2) (/.f64 (*.f64 im (+.f64 re 1/2)) 2))
(+.f64 (-.f64 im (/.f64 im -4)) (neg.f64 (+.f64 (-.f64 (/.f64 im -4) (*.f64 im re)) im)))
(+.f64 (+.f64 im (/.f64 im -4)) (+.f64 (+.f64 im (/.f64 im -4)) (-.f64 (*.f64 im re) im)))
(+.f64 (+.f64 im (/.f64 im -4)) (-.f64 (*.f64 im 1/2) (+.f64 (-.f64 (/.f64 im -4) (*.f64 im re)) im)))
(+.f64 (+.f64 im (/.f64 im -4)) (-.f64 (+.f64 im (/.f64 im -4)) (-.f64 im (*.f64 im re))))
(+.f64 (+.f64 (*.f64 im -3/2) (*.f64 im re)) (+.f64 im im))
(+.f64 (+.f64 (*.f64 im 1/2) -1) (+.f64 (*.f64 im re) 1))
(+.f64 (+.f64 (*.f64 im 1/2) -1) (+.f64 (+.f64 (*.f64 im re) 1) 0))
(+.f64 (+.f64 -1 (*.f64 im (+.f64 re 1/2))) 1)
(+.f64 (+.f64 (*.f64 im 1/2) 1) (+.f64 -1 (*.f64 im re)))
(+.f64 (+.f64 (*.f64 im 1/2) 1) (+.f64 (+.f64 -1 (*.f64 im re)) 0))
(+.f64 (+.f64 (*.f64 im 1/2) 1) (neg.f64 (-.f64 1 (*.f64 im re))))
(+.f64 (+.f64 -1 (+.f64 im im)) (-.f64 1 (-.f64 im (*.f64 im (-.f64 re 1/2)))))
(+.f64 (+.f64 1 (-.f64 (*.f64 im re) im)) (neg.f64 (+.f64 1 (*.f64 im -3/2))))
(+.f64 (+.f64 -1 (-.f64 (*.f64 im re) im)) (-.f64 1 (*.f64 im -3/2)))
(+.f64 (+.f64 -1 (*.f64 im re)) (+.f64 (*.f64 im 1/2) 1))
(+.f64 (+.f64 -1 (*.f64 im re)) (neg.f64 (+.f64 (*.f64 im -1/2) -1)))
(+.f64 (-.f64 (+.f64 im (/.f64 im -4)) im) (-.f64 (+.f64 im (/.f64 im -4)) (neg.f64 (*.f64 im re))))
(+.f64 (-.f64 (*.f64 im 3) (-.f64 im (*.f64 im re))) (*.f64 im -3/2))
(+.f64 (-.f64 (*.f64 im (+.f64 re re)) (*.f64 im -1/2)) (neg.f64 (*.f64 im re)))
(+.f64 (-.f64 (*.f64 im (-.f64 re 1/2)) (/.f64 im -4)) (neg.f64 (*.f64 3 (/.f64 im -4))))
(+.f64 (-.f64 (/.f64 im -4) (*.f64 im -2)) (-.f64 (/.f64 im -4) (-.f64 im (*.f64 im re))))
(+.f64 (-.f64 (*.f64 im (-.f64 re 1/2)) im) (+.f64 im im))
(+.f64 (-.f64 (*.f64 im (-.f64 re 1/2)) 1) (neg.f64 (-.f64 -1 im)))
(+.f64 (-.f64 (*.f64 im (-.f64 re 1/2)) (+.f64 (*.f64 im -1/2) 1)) (neg.f64 (+.f64 (*.f64 im -1/2) -1)))
(+.f64 (-.f64 -1 (neg.f64 im)) (-.f64 1 (*.f64 im (-.f64 1/2 re))))
(+.f64 (-.f64 -1 (*.f64 im -3/2)) (+.f64 1 (-.f64 (*.f64 im re) im)))
(+.f64 (-.f64 (*.f64 im 3/2) (neg.f64 (*.f64 im re))) (neg.f64 im))
(+.f64 (-.f64 (*.f64 im 3/2) (/.f64 (-.f64 im (*.f64 im re)) 2)) (neg.f64 (/.f64 (-.f64 im (*.f64 im re)) 2)))
(+.f64 (-.f64 (*.f64 im -1/2) (+.f64 (/.f64 im -4) (*.f64 im -3/2))) (neg.f64 (+.f64 (-.f64 (/.f64 im -4) (*.f64 im re)) im)))
(+.f64 (-.f64 (*.f64 im -1/2) (-.f64 (*.f64 im (-.f64 -1 re)) (/.f64 im -4))) (/.f64 im 4))
(+.f64 (-.f64 (*.f64 im -1/2) (+.f64 -1 (-.f64 im (*.f64 im re)))) (neg.f64 (+.f64 1 (*.f64 im -2))))
(+.f64 (-.f64 (*.f64 im -1/2) (+.f64 -1 (*.f64 im -2))) (neg.f64 (+.f64 1 (-.f64 im (*.f64 im re)))))
(+.f64 (-.f64 0 (-.f64 -1 (*.f64 im re))) (+.f64 (*.f64 im 1/2) -1))
(+.f64 (-.f64 0 (+.f64 -1 (*.f64 im -3/2))) (neg.f64 (+.f64 1 (-.f64 im (*.f64 im re)))))
(+.f64 (-.f64 -1 (/.f64 im 4)) (-.f64 1 (-.f64 (*.f64 im (-.f64 -1 re)) (/.f64 im -4))))
(+.f64 (-.f64 -1 (*.f64 im (-.f64 1/2 re))) (-.f64 1 (neg.f64 im)))
(+.f64 (/.f64 (-.f64 (*.f64 im re) im) 2) (/.f64 (*.f64 im (+.f64 2 re)) 2))
(+.f64 (-.f64 (/.f64 (*.f64 im re) 2) (*.f64 im 1/2)) (-.f64 (/.f64 (*.f64 im re) 2) (neg.f64 im)))
(+.f64 (-.f64 (/.f64 (*.f64 im re) 2) im) (-.f64 (/.f64 (*.f64 im re) 2) (*.f64 im -3/2)))
(+.f64 (-.f64 (/.f64 (*.f64 im re) 2) (+.f64 (*.f64 im -1/2) -1)) (-.f64 (/.f64 (*.f64 im re) 2) 1))
(+.f64 (-.f64 (/.f64 im 4) (neg.f64 im)) (-.f64 (/.f64 im 4) (-.f64 im (*.f64 im re))))
(+.f64 (-.f64 (/.f64 im 4) (neg.f64 (*.f64 im re))) (/.f64 im 4))
(+.f64 (-.f64 (/.f64 im 4) (-.f64 im (*.f64 im re))) (-.f64 (/.f64 im 4) (neg.f64 im)))
(+.f64 (-.f64 (/.f64 (*.f64 im re) 2) (neg.f64 im)) (-.f64 (/.f64 (*.f64 im re) 2) (*.f64 im 1/2)))
(+.f64 (-.f64 (/.f64 (*.f64 im re) 2) 1) (-.f64 (/.f64 (*.f64 im re) 2) (+.f64 (*.f64 im -1/2) -1)))
(+.f64 (-.f64 (+.f64 im (/.f64 im -4)) (neg.f64 (*.f64 im re))) (-.f64 (+.f64 im (/.f64 im -4)) im))
(+.f64 (-.f64 (+.f64 im (/.f64 im -4)) (-.f64 im (*.f64 im re))) (+.f64 im (/.f64 im -4)))
(+.f64 (-.f64 (/.f64 (*.f64 im re) 2) (*.f64 im -3/2)) (-.f64 (/.f64 (*.f64 im re) 2) im))
(+.f64 (-.f64 (/.f64 (*.f64 im re) 2) (+.f64 (*.f64 im -1/2) 1)) (-.f64 (/.f64 (*.f64 im re) 2) -1))
(+.f64 (-.f64 (/.f64 (*.f64 im re) 2) -1) (-.f64 (/.f64 (*.f64 im re) 2) (+.f64 (*.f64 im -1/2) 1)))
(+.f64 (-.f64 (/.f64 im -4) (neg.f64 (*.f64 im (+.f64 re 1/2)))) (/.f64 im 4))
(+.f64 (-.f64 (/.f64 im -4) (*.f64 im (-.f64 -1 re))) (/.f64 im -4))
(+.f64 (-.f64 (/.f64 im -4) (-.f64 im (*.f64 im re))) (-.f64 (/.f64 im -4) (*.f64 im -2)))
(+.f64 (-.f64 (/.f64 im -4) (+.f64 -1 (-.f64 im (*.f64 im re)))) (-.f64 (/.f64 im -4) (+.f64 1 (*.f64 im -2))))
(+.f64 (-.f64 (/.f64 im -4) (+.f64 -1 (*.f64 im -2))) (-.f64 (/.f64 im -4) (+.f64 1 (-.f64 im (*.f64 im re)))))
(+.f64 (-.f64 -1 (-.f64 im (*.f64 im (-.f64 re 1/2)))) (+.f64 1 (+.f64 im im)))
(+.f64 (-.f64 -1 (*.f64 im (-.f64 -1 re))) (+.f64 (*.f64 im -1/2) 1))
(+.f64 (-.f64 -1 (-.f64 (*.f64 im (-.f64 -1 re)) (/.f64 im -4))) (-.f64 1 (/.f64 im 4)))
(*.f64 im (-.f64 re -1/2))
(*.f64 im (+.f64 re 1/2))
(*.f64 im (+.f64 1/2 re))
(*.f64 1/2 (+.f64 (*.f64 im (+.f64 re re)) im))
(*.f64 1/2 (+.f64 im (*.f64 im (+.f64 re re))))
(*.f64 (*.f64 im 1/2) (-.f64 (+.f64 re re) -1))
(*.f64 (*.f64 im 1/2) (+.f64 (+.f64 re re) 1))
(*.f64 (*.f64 im 1/2) (+.f64 1 (+.f64 re re)))
(*.f64 (*.f64 im (+.f64 re 1/2)) 1)
(*.f64 1 (*.f64 im (+.f64 re 1/2)))
(*.f64 (neg.f64 (*.f64 im (+.f64 re 1/2))) -1)
(*.f64 (+.f64 (*.f64 im (+.f64 re re)) im) 1/2)
(*.f64 (*.f64 2 (+.f64 (*.f64 im (+.f64 re re)) im)) 1/4)
(/.f64 (*.f64 im (+.f64 re 1/2)) 1)
(/.f64 (neg.f64 (*.f64 im (+.f64 re 1/2))) -1)
(/.f64 (+.f64 (*.f64 im (+.f64 re re)) im) 2)
(/.f64 (*.f64 2 (+.f64 (*.f64 im (+.f64 re re)) im)) 4)
(/.f64 (+.f64 im (*.f64 im (+.f64 re re))) 2)
(/.f64 (+.f64 (*.f64 im 3) (*.f64 (+.f64 im im) (+.f64 re -1))) 2)
(/.f64 (+.f64 (*.f64 (*.f64 im 4) re) (+.f64 im im)) 4)
(/.f64 (+.f64 (*.f64 (+.f64 im im) (+.f64 re -1)) (*.f64 im 3)) 2)
(/.f64 (+.f64 (*.f64 2 (+.f64 (*.f64 im (+.f64 re re)) im)) (*.f64 2 (+.f64 (*.f64 im (+.f64 re re)) im))) 8)
(/.f64 (+.f64 (+.f64 im im) (*.f64 (*.f64 im 4) re)) 4)
(/.f64 (-.f64 (*.f64 2 (*.f64 im 3)) (*.f64 2 (*.f64 im (-.f64 2 (+.f64 re re))))) 4)
(/.f64 (-.f64 (+.f64 im im) (*.f64 (*.f64 im (-.f64 1/2 re)) 2)) 2)
(/.f64 (-.f64 (*.f64 (*.f64 im 4) re) (*.f64 im -2)) 4)
(/.f64 (-.f64 (neg.f64 im) (-.f64 0 (*.f64 (+.f64 im (*.f64 im re)) 2))) 2)
(/.f64 (-.f64 (+.f64 (*.f64 im re) (-.f64 (*.f64 im re) im)) (*.f64 im -2)) 2)
(pow.f64 (*.f64 im (+.f64 re 1/2)) 1)
(neg.f64 (neg.f64 (*.f64 im (+.f64 re 1/2))))
(+.f64 im (*.f64 im re))
(+.f64 (*.f64 im 1/2) (*.f64 im (+.f64 re 1/2)))
(+.f64 (*.f64 im 3/2) (*.f64 im (-.f64 re 1/2)))
(+.f64 (*.f64 im re) im)
(+.f64 (*.f64 im (+.f64 re 1/2)) (*.f64 im 1/2))
(+.f64 (*.f64 im -1/2) (+.f64 im (*.f64 im (+.f64 re 1/2))))
(+.f64 (+.f64 im (*.f64 im re)) 0)
(+.f64 0 (+.f64 im (*.f64 im re)))
(+.f64 1 (+.f64 (+.f64 (*.f64 im 1/2) -1) (*.f64 im (+.f64 re 1/2))))
(+.f64 (neg.f64 im) (*.f64 im (+.f64 2 re)))
(+.f64 (+.f64 im im) (-.f64 (*.f64 im re) im))
(+.f64 -1 (+.f64 (*.f64 im 1/2) (+.f64 (*.f64 im (+.f64 re 1/2)) 1)))
(+.f64 -1 (-.f64 1 (*.f64 im (-.f64 -1 re))))
(+.f64 (*.f64 im (-.f64 re 1/2)) (*.f64 im 3/2))
(+.f64 (-.f64 (*.f64 im re) im) (+.f64 im im))
(+.f64 (*.f64 im (+.f64 2 re)) (neg.f64 im))
(+.f64 (+.f64 (*.f64 im 3/2) (*.f64 im re)) (*.f64 im -1/2))
(+.f64 (+.f64 im (+.f64 im (/.f64 im -4))) (neg.f64 (+.f64 (-.f64 (/.f64 im -4) (*.f64 im re)) im)))
(+.f64 (/.f64 im 4) (+.f64 (*.f64 im (+.f64 re 1/2)) (/.f64 im 4)))
(+.f64 (/.f64 im 4) (+.f64 (+.f64 (*.f64 im re) (/.f64 im 4)) (*.f64 im 1/2)))
(+.f64 (/.f64 im 4) (+.f64 (+.f64 im (+.f64 im (/.f64 im -4))) (-.f64 (*.f64 im re) im)))
(+.f64 (/.f64 im 4) (+.f64 (/.f64 im 4) (*.f64 im (+.f64 re 1/2))))
(+.f64 (/.f64 im 4) (neg.f64 (-.f64 (*.f64 im (-.f64 -1 re)) (/.f64 im -4))))
(+.f64 (/.f64 im 4) (/.f64 (+.f64 (*.f64 im (-.f64 re 1/2)) (*.f64 im (+.f64 2 re))) 2))
(+.f64 (/.f64 im 4) (-.f64 (/.f64 im 4) (neg.f64 (*.f64 im (+.f64 re 1/2)))))
(+.f64 (/.f64 im 4) (+.f64 (+.f64 im (/.f64 im -4)) (*.f64 im re)))
(+.f64 (+.f64 (*.f64 im re) (/.f64 im 4)) (neg.f64 (*.f64 3 (/.f64 im -4))))
(+.f64 (+.f64 (*.f64 im (+.f64 re 1/2)) (/.f64 im 4)) (/.f64 im 4))
(+.f64 (+.f64 (*.f64 im 1/2) (+.f64 (*.f64 im (+.f64 re 1/2)) 1)) -1)
(+.f64 (+.f64 (*.f64 im re) 1) (+.f64 (+.f64 (*.f64 im 1/2) -1) (*.f64 im 1/2)))
(+.f64 (+.f64 (*.f64 im (+.f64 re 1/2)) 1) (+.f64 (*.f64 im 1/2) -1))
(+.f64 (/.f64 (*.f64 im re) 2) (+.f64 (/.f64 (*.f64 im re) 2) im))
(+.f64 (/.f64 (*.f64 im re) 2) (-.f64 (/.f64 (*.f64 im re) 2) (neg.f64 im)))
(+.f64 (/.f64 (+.f64 im (*.f64 im re)) 2) (/.f64 (+.f64 im (*.f64 im re)) 2))
(+.f64 (/.f64 (*.f64 im (+.f64 re 1/2)) 2) (+.f64 (/.f64 (*.f64 im (+.f64 re 1/2)) 2) (*.f64 im 1/2)))
(+.f64 (/.f64 (*.f64 im (+.f64 re 1/2)) 2) (-.f64 (/.f64 (*.f64 im (+.f64 re 1/2)) 2) (*.f64 im -1/2)))
(+.f64 (/.f64 (*.f64 im (+.f64 re 1/2)) 2) (-.f64 (/.f64 (*.f64 im re) 2) (*.f64 3 (/.f64 im -4))))
(+.f64 (-.f64 im (/.f64 im -4)) (-.f64 (+.f64 im (/.f64 im -4)) (-.f64 im (*.f64 im re))))
(+.f64 (+.f64 im (/.f64 im -4)) (-.f64 (/.f64 im 4) (neg.f64 (*.f64 im re))))
(+.f64 (+.f64 im (/.f64 im -4)) (-.f64 (+.f64 im (/.f64 im -4)) (*.f64 im (-.f64 1/2 re))))
(+.f64 (+.f64 (-.f64 (*.f64 im re) im) (/.f64 im 4)) (neg.f64 (+.f64 (/.f64 im -4) (*.f64 im -3/2))))
(+.f64 (+.f64 (*.f64 im 1/2) -1) (+.f64 (*.f64 im (+.f64 re 1/2)) 1))
(+.f64 (+.f64 -1 (*.f64 im (+.f64 re 1/2))) (+.f64 (*.f64 im 1/2) 1))
(+.f64 (+.f64 -1 (*.f64 im (+.f64 re 1/2))) (neg.f64 (+.f64 (*.f64 im -1/2) -1)))
(+.f64 (+.f64 (*.f64 im 1/2) 1) (+.f64 -1 (*.f64 im (+.f64 re 1/2))))
(+.f64 (+.f64 -1 (+.f64 im im)) (+.f64 1 (-.f64 (*.f64 im re) im)))
(+.f64 (+.f64 1 (-.f64 (*.f64 im re) im)) (+.f64 -1 (+.f64 im im)))
(+.f64 (+.f64 1 (-.f64 (*.f64 im re) im)) (neg.f64 (+.f64 1 (*.f64 im -2))))
(+.f64 (+.f64 -1 (-.f64 (*.f64 im re) im)) (+.f64 1 (+.f64 im im)))
(+.f64 (+.f64 1 (+.f64 im im)) (+.f64 -1 (-.f64 (*.f64 im re) im)))
(+.f64 (+.f64 1 (+.f64 im im)) (neg.f64 (+.f64 1 (-.f64 im (*.f64 im re)))))
(+.f64 (+.f64 -1 (*.f64 im re)) (neg.f64 (-.f64 -1 im)))
(+.f64 (+.f64 -1 (*.f64 im re)) (-.f64 1 (neg.f64 im)))
(+.f64 (-.f64 (*.f64 im (+.f64 re 1/2)) (neg.f64 im)) (*.f64 im -1/2))
(+.f64 (-.f64 (*.f64 im 3) (*.f64 im (-.f64 1/2 re))) (*.f64 im -3/2))
(+.f64 (-.f64 (*.f64 im 1/2) (+.f64 (*.f64 im -1/2) -1)) (neg.f64 (-.f64 1 (*.f64 im re))))
(+.f64 (-.f64 -1 (neg.f64 im)) (+.f64 (*.f64 im re) 1))
(+.f64 (-.f64 -1 (*.f64 im -3/2)) (-.f64 1 (*.f64 im (-.f64 1/2 re))))
(+.f64 (-.f64 (*.f64 im 3/2) (neg.f64 (*.f64 im re))) (*.f64 im -1/2))
(+.f64 (-.f64 (+.f64 (*.f64 im (+.f64 re re)) im) (*.f64 im -1/2)) (neg.f64 (*.f64 im (+.f64 re 1/2))))
(+.f64 (-.f64 -1 (*.f64 im (-.f64 1/2 re))) (-.f64 1 (*.f64 im -3/2)))
(+.f64 (-.f64 (*.f64 im 1/2) (+.f64 -1 (-.f64 im (*.f64 im re)))) (neg.f64 (+.f64 1 (*.f64 im -3/2))))
(+.f64 (-.f64 (*.f64 im 1/2) (+.f64 -1 (*.f64 im -3/2))) (neg.f64 (+.f64 1 (-.f64 im (*.f64 im re)))))
(+.f64 (-.f64 (*.f64 im (+.f64 re 1/2)) (+.f64 (*.f64 im -1/2) 1)) 1)
(+.f64 (-.f64 (+.f64 im im) (/.f64 (-.f64 im (*.f64 im re)) 2)) (neg.f64 (/.f64 (-.f64 im (*.f64 im re)) 2)))
(+.f64 (-.f64 (-.f64 (*.f64 im re) im) (*.f64 3 (/.f64 im -4))) (neg.f64 (-.f64 (/.f64 im -4) im)))
(+.f64 (-.f64 (-.f64 (*.f64 im re) im) (-.f64 (/.f64 im -4) im)) (neg.f64 (*.f64 3 (/.f64 im -4))))
(+.f64 (-.f64 (-.f64 (*.f64 im re) im) (+.f64 (/.f64 im -4) (*.f64 im -3/2))) (/.f64 im 4))
(+.f64 (/.f64 (-.f64 (*.f64 im re) im) 2) (/.f64 (+.f64 im (*.f64 im (+.f64 2 re))) 2))
(+.f64 (-.f64 (/.f64 (*.f64 im (+.f64 re 1/2)) 2) (*.f64 im -1/2)) (/.f64 (*.f64 im (+.f64 re 1/2)) 2))
(+.f64 (-.f64 (/.f64 (*.f64 im (+.f64 re 1/2)) 2) (neg.f64 im)) (-.f64 (/.f64 (*.f64 im (+.f64 re 1/2)) 2) (*.f64 im 1/2)))
(+.f64 (-.f64 (/.f64 (*.f64 im (+.f64 re 1/2)) 2) (*.f64 im 1/2)) (-.f64 (/.f64 (*.f64 im (+.f64 re 1/2)) 2) (neg.f64 im)))
(+.f64 (-.f64 (/.f64 (*.f64 im (+.f64 re 1/2)) 2) 1) (-.f64 (/.f64 (*.f64 im (+.f64 re 1/2)) 2) (+.f64 (*.f64 im -1/2) -1)))
(+.f64 (-.f64 (/.f64 (*.f64 im re) 2) im) (-.f64 (/.f64 (*.f64 im re) 2) (*.f64 im -2)))
(+.f64 (-.f64 (/.f64 im 4) (neg.f64 im)) (-.f64 (/.f64 im 4) (*.f64 im (-.f64 1/2 re))))
(+.f64 (-.f64 (/.f64 im 4) (*.f64 im -3/2)) (-.f64 (/.f64 im 4) (-.f64 im (*.f64 im re))))
(+.f64 (-.f64 (/.f64 im 4) (+.f64 (*.f64 im -1/2) -1)) (-.f64 (/.f64 im 4) (-.f64 1 (*.f64 im re))))
(+.f64 (-.f64 (/.f64 im 4) (neg.f64 (*.f64 im re))) (+.f64 im (/.f64 im -4)))
(+.f64 (-.f64 (/.f64 im 4) (-.f64 im (*.f64 im re))) (-.f64 (/.f64 im 4) (*.f64 im -3/2)))
(+.f64 (-.f64 (/.f64 (*.f64 im re) 2) (neg.f64 im)) (/.f64 (*.f64 im re) 2))
(+.f64 (-.f64 (/.f64 (*.f64 im re) 2) 1) (-.f64 (/.f64 (*.f64 im re) 2) (-.f64 -1 im)))
(+.f64 (-.f64 (/.f64 im 4) (*.f64 im (-.f64 1/2 re))) (-.f64 (/.f64 im 4) (neg.f64 im)))
(+.f64 (-.f64 (+.f64 im (/.f64 im -4)) (neg.f64 (*.f64 im re))) (/.f64 im 4))
(+.f64 (-.f64 (+.f64 im (/.f64 im -4)) (-.f64 im (*.f64 im re))) (-.f64 im (/.f64 im -4)))
(+.f64 (-.f64 (/.f64 (*.f64 im re) 2) (*.f64 im -3/2)) (-.f64 (/.f64 (*.f64 im re) 2) (*.f64 im 1/2)))
(+.f64 (-.f64 (/.f64 (*.f64 im re) 2) (+.f64 (*.f64 im -1/2) 1)) (-.f64 (/.f64 (*.f64 im re) 2) (+.f64 (*.f64 im -1/2) -1)))
(+.f64 (-.f64 (/.f64 (*.f64 im (+.f64 re 1/2)) 2) (+.f64 (*.f64 im -1/2) -1)) (-.f64 (/.f64 (*.f64 im (+.f64 re 1/2)) 2) 1))
(+.f64 (-.f64 (/.f64 (*.f64 im (+.f64 re 1/2)) 2) im) (-.f64 (/.f64 (*.f64 im (+.f64 re 1/2)) 2) (*.f64 im -3/2)))
(+.f64 (-.f64 (/.f64 im 4) (neg.f64 (*.f64 im (+.f64 re 1/2)))) (/.f64 im 4))
(+.f64 (-.f64 (+.f64 im (/.f64 im -4)) (*.f64 im (-.f64 1/2 re))) (+.f64 im (/.f64 im -4)))
(+.f64 (-.f64 (/.f64 (*.f64 im (+.f64 re 1/2)) 2) (*.f64 im -3/2)) (-.f64 (/.f64 (*.f64 im (+.f64 re 1/2)) 2) im))
(+.f64 (-.f64 (/.f64 (*.f64 im (+.f64 re 1/2)) 2) (+.f64 (*.f64 im -1/2) 1)) (-.f64 (/.f64 (*.f64 im (+.f64 re 1/2)) 2) -1))
(+.f64 (-.f64 (/.f64 (*.f64 im (+.f64 re 1/2)) 2) -1) (-.f64 (/.f64 (*.f64 im (+.f64 re 1/2)) 2) (+.f64 (*.f64 im -1/2) 1)))
(+.f64 (-.f64 (/.f64 im 4) (-.f64 -1 (*.f64 im re))) (-.f64 (/.f64 im 4) (+.f64 (*.f64 im -1/2) 1)))
(+.f64 (-.f64 (/.f64 im 4) (+.f64 -1 (-.f64 im (*.f64 im re)))) (-.f64 (/.f64 im 4) (+.f64 1 (*.f64 im -3/2))))
(+.f64 (-.f64 (/.f64 im 4) (+.f64 -1 (*.f64 im -3/2))) (-.f64 (/.f64 im 4) (+.f64 1 (-.f64 im (*.f64 im re)))))
(+.f64 (-.f64 -1 (*.f64 im (-.f64 -1 re))) 1)
(*.f64 im (-.f64 re -1))
(*.f64 im (-.f64 2 (-.f64 1 re)))
(*.f64 im (+.f64 1 re))
(*.f64 im (+.f64 re 1))
(*.f64 1/2 (*.f64 (+.f64 im (*.f64 im re)) 2))
(*.f64 1/2 (+.f64 (+.f64 im im) (*.f64 im (+.f64 re re))))
(*.f64 1/2 (+.f64 (*.f64 im (+.f64 re re)) (+.f64 im im)))
(*.f64 (+.f64 im (*.f64 im re)) 1)
(*.f64 1 (+.f64 im (*.f64 im re)))
(*.f64 (*.f64 im (-.f64 -1 re)) -1)
(*.f64 (*.f64 (+.f64 im (*.f64 im re)) 2) 1/2)
(*.f64 (*.f64 2 (*.f64 (+.f64 im (*.f64 im re)) 2)) 1/4)
(/.f64 (+.f64 im (*.f64 im re)) 1)
(/.f64 (*.f64 im (-.f64 -1 re)) -1)
(/.f64 (*.f64 (+.f64 im (*.f64 im re)) 2) 2)
(/.f64 (*.f64 2 (*.f64 (+.f64 im (*.f64 im re)) 2)) 4)
(/.f64 (-.f64 (*.f64 im (+.f64 re re)) (*.f64 im -2)) 2)
(/.f64 (+.f64 (+.f64 im im) (*.f64 im (+.f64 re re))) 2)
(/.f64 (+.f64 (*.f64 im (+.f64 re re)) (+.f64 im im)) 2)
(/.f64 (+.f64 (*.f64 im 4) (*.f64 (*.f64 im 4) re)) 4)
(/.f64 (+.f64 (*.f64 2 (*.f64 (+.f64 im (*.f64 im re)) 2)) (*.f64 2 (*.f64 (+.f64 im (*.f64 im re)) 2))) 8)
(/.f64 (+.f64 (*.f64 (*.f64 im 4) re) (*.f64 im 4)) 4)
(/.f64 (+.f64 (+.f64 im im) (*.f64 2 (+.f64 (*.f64 im (+.f64 re re)) im))) 4)
(/.f64 (+.f64 (*.f64 2 (+.f64 (*.f64 im (+.f64 re re)) im)) (+.f64 im im)) 4)
(/.f64 (+.f64 (*.f64 im 4) (*.f64 (+.f64 im im) (+.f64 re -1))) 2)
(/.f64 (+.f64 (*.f64 (+.f64 im im) (+.f64 re -1)) (*.f64 im 4)) 2)
(/.f64 (-.f64 (*.f64 2 (+.f64 (*.f64 im (+.f64 re re)) im)) (*.f64 im -2)) 4)
(/.f64 (-.f64 (*.f64 im 4) (*.f64 im (-.f64 2 (+.f64 re re)))) 2)
(/.f64 (-.f64 (*.f64 (+.f64 im im) (+.f64 re -1)) (-.f64 0 (*.f64 im 4))) 2)
(pow.f64 (+.f64 im (*.f64 im re)) 1)
(neg.f64 (*.f64 im (-.f64 -1 re)))
(+.f64 im (neg.f64 (*.f64 im re)))
(+.f64 (*.f64 im 1/2) (*.f64 im (-.f64 1/2 re)))
(+.f64 (-.f64 im (*.f64 im re)) 0)
(+.f64 0 (-.f64 im (*.f64 im re)))
(+.f64 (*.f64 im (-.f64 1/2 re)) (*.f64 im 1/2))
(+.f64 (neg.f64 (*.f64 im re)) im)
(+.f64 (-.f64 im (-.f64 (*.f64 im re) im)) (neg.f64 im))
(+.f64 (/.f64 im 4) (+.f64 (+.f64 im (/.f64 im -4)) (neg.f64 (*.f64 im re))))
(+.f64 (/.f64 (-.f64 im (*.f64 im re)) 2) (/.f64 (-.f64 im (*.f64 im re)) 2))
(+.f64 (-.f64 -1 (*.f64 im re)) (-.f64 1 (neg.f64 im)))
(+.f64 (-.f64 im (/.f64 (*.f64 im re) 2)) (neg.f64 (/.f64 (*.f64 im re) 2)))
(+.f64 (-.f64 -1 (neg.f64 im)) (-.f64 1 (*.f64 im re)))
(+.f64 (/.f64 (neg.f64 (*.f64 im re)) 2) (/.f64 (-.f64 im (-.f64 (*.f64 im re) im)) 2))
(*.f64 im (-.f64 1 re))
(*.f64 1/2 (*.f64 im (-.f64 2 (+.f64 re re))))
(*.f64 (-.f64 im (*.f64 im re)) 1)
(*.f64 1 (-.f64 im (*.f64 im re)))
(*.f64 (+.f64 im im) (-.f64 1/2 (/.f64 re 2)))
(*.f64 (-.f64 (*.f64 im re) im) -1)
(*.f64 (*.f64 im (-.f64 2 (+.f64 re re))) 1/2)
(*.f64 (-.f64 1 re) im)
(*.f64 (*.f64 2 (*.f64 im (-.f64 2 (+.f64 re re)))) 1/4)
(/.f64 (-.f64 im (*.f64 im re)) 1)
(/.f64 (-.f64 (*.f64 im re) im) -1)
(/.f64 (*.f64 im (-.f64 2 (+.f64 re re))) 2)
(/.f64 (*.f64 2 (*.f64 im (-.f64 2 (+.f64 re re)))) 4)
(/.f64 (+.f64 (*.f64 2 (*.f64 im (-.f64 2 (+.f64 re re)))) (*.f64 2 (*.f64 im (-.f64 2 (+.f64 re re))))) 8)
(/.f64 (-.f64 (*.f64 im 4) (*.f64 (*.f64 im 4) re)) 4)
(pow.f64 (-.f64 im (*.f64 im re)) 1)
(neg.f64 (-.f64 (*.f64 im re) im))
Outputs
(*.f64 (+.f64 1/2 re) im)
(*.f64 im (-.f64 re -1/2))
(*.f64 (+.f64 1/2 re) im)
(*.f64 im (-.f64 re -1/2))
(*.f64 (+.f64 1/2 re) im)
(*.f64 im (-.f64 re -1/2))
(*.f64 (+.f64 1/2 re) im)
(*.f64 im (-.f64 re -1/2))
(*.f64 (+.f64 1/2 re) im)
(*.f64 im (-.f64 re -1/2))
(*.f64 (+.f64 1/2 re) im)
(*.f64 im (-.f64 re -1/2))
(*.f64 (+.f64 1/2 re) im)
(*.f64 im (-.f64 re -1/2))
(*.f64 (+.f64 1/2 re) im)
(*.f64 im (-.f64 re -1/2))
(*.f64 -1 (*.f64 (-.f64 (*.f64 -1 re) 1/2) im))
(*.f64 im (*.f64 (-.f64 (*.f64 re -1) 1/2) -1))
(*.f64 im (neg.f64 (-.f64 (neg.f64 re) 1/2)))
(*.f64 im (neg.f64 (-.f64 -1/2 re)))
(*.f64 -1 (*.f64 (-.f64 (*.f64 -1 re) 1/2) im))
(*.f64 im (*.f64 (-.f64 (*.f64 re -1) 1/2) -1))
(*.f64 im (neg.f64 (-.f64 (neg.f64 re) 1/2)))
(*.f64 im (neg.f64 (-.f64 -1/2 re)))
(*.f64 -1 (*.f64 (-.f64 (*.f64 -1 re) 1/2) im))
(*.f64 im (*.f64 (-.f64 (*.f64 re -1) 1/2) -1))
(*.f64 im (neg.f64 (-.f64 (neg.f64 re) 1/2)))
(*.f64 im (neg.f64 (-.f64 -1/2 re)))
(*.f64 -1 (*.f64 (-.f64 (*.f64 -1 re) 1/2) im))
(*.f64 im (*.f64 (-.f64 (*.f64 re -1) 1/2) -1))
(*.f64 im (neg.f64 (-.f64 (neg.f64 re) 1/2)))
(*.f64 im (neg.f64 (-.f64 -1/2 re)))
(*.f64 1/2 im)
(+.f64 (*.f64 1/2 im) (*.f64 re im))
(*.f64 (+.f64 1/2 re) im)
(*.f64 im (-.f64 re -1/2))
(+.f64 (*.f64 1/2 im) (*.f64 re im))
(*.f64 (+.f64 1/2 re) im)
(*.f64 im (-.f64 re -1/2))
(+.f64 (*.f64 1/2 im) (*.f64 re im))
(*.f64 (+.f64 1/2 re) im)
(*.f64 im (-.f64 re -1/2))
(*.f64 re im)
(+.f64 (*.f64 1/2 im) (*.f64 re im))
(*.f64 (+.f64 1/2 re) im)
(*.f64 im (-.f64 re -1/2))
(+.f64 (*.f64 1/2 im) (*.f64 re im))
(*.f64 (+.f64 1/2 re) im)
(*.f64 im (-.f64 re -1/2))
(+.f64 (*.f64 1/2 im) (*.f64 re im))
(*.f64 (+.f64 1/2 re) im)
(*.f64 im (-.f64 re -1/2))
(*.f64 re im)
(+.f64 (*.f64 1/2 im) (*.f64 re im))
(*.f64 (+.f64 1/2 re) im)
(*.f64 im (-.f64 re -1/2))
(+.f64 (*.f64 1/2 im) (*.f64 re im))
(*.f64 (+.f64 1/2 re) im)
(*.f64 im (-.f64 re -1/2))
(+.f64 (*.f64 1/2 im) (*.f64 re im))
(*.f64 (+.f64 1/2 re) im)
(*.f64 im (-.f64 re -1/2))
(*.f64 (+.f64 1 re) im)
(*.f64 im (+.f64 re 1))
(+.f64 im (*.f64 re im))
(*.f64 (+.f64 1 re) im)
(*.f64 im (+.f64 re 1))
(+.f64 im (*.f64 re im))
(*.f64 (+.f64 1 re) im)
(*.f64 im (+.f64 re 1))
(+.f64 im (*.f64 re im))
(*.f64 (+.f64 1 re) im)
(*.f64 im (+.f64 re 1))
(+.f64 im (*.f64 re im))
(*.f64 (+.f64 1 re) im)
(*.f64 im (+.f64 re 1))
(+.f64 im (*.f64 re im))
(*.f64 (+.f64 1 re) im)
(*.f64 im (+.f64 re 1))
(+.f64 im (*.f64 re im))
(*.f64 (+.f64 1 re) im)
(*.f64 im (+.f64 re 1))
(+.f64 im (*.f64 re im))
(*.f64 (+.f64 1 re) im)
(*.f64 im (+.f64 re 1))
(+.f64 im (*.f64 re im))
(*.f64 -1 (*.f64 im (-.f64 (*.f64 -1 re) 1)))
(*.f64 im (+.f64 re 1))
(+.f64 im (*.f64 re im))
(*.f64 -1 (*.f64 im (-.f64 (*.f64 -1 re) 1)))
(*.f64 im (+.f64 re 1))
(+.f64 im (*.f64 re im))
(*.f64 -1 (*.f64 im (-.f64 (*.f64 -1 re) 1)))
(*.f64 im (+.f64 re 1))
(+.f64 im (*.f64 re im))
(*.f64 -1 (*.f64 im (-.f64 (*.f64 -1 re) 1)))
(*.f64 im (+.f64 re 1))
(+.f64 im (*.f64 re im))
(-.f64 (*.f64 1/2 im) (*.f64 -1/2 im))
(-.f64 (*.f64 1/2 im) (*.f64 im -1/2))
im
(-.f64 (+.f64 (*.f64 1/2 im) (*.f64 re im)) (*.f64 -1/2 im))
(*.f64 im (+.f64 re 1))
(+.f64 im (*.f64 re im))
(-.f64 (+.f64 (*.f64 1/2 im) (*.f64 re im)) (*.f64 -1/2 im))
(*.f64 im (+.f64 re 1))
(+.f64 im (*.f64 re im))
(-.f64 (+.f64 (*.f64 1/2 im) (*.f64 re im)) (*.f64 -1/2 im))
(*.f64 im (+.f64 re 1))
(+.f64 im (*.f64 re im))
(*.f64 re im)
(-.f64 (+.f64 (*.f64 1/2 im) (*.f64 re im)) (*.f64 -1/2 im))
(*.f64 im (+.f64 re 1))
(+.f64 im (*.f64 re im))
(-.f64 (+.f64 (*.f64 1/2 im) (*.f64 re im)) (*.f64 -1/2 im))
(*.f64 im (+.f64 re 1))
(+.f64 im (*.f64 re im))
(-.f64 (+.f64 (*.f64 1/2 im) (*.f64 re im)) (*.f64 -1/2 im))
(*.f64 im (+.f64 re 1))
(+.f64 im (*.f64 re im))
(*.f64 re im)
(-.f64 (+.f64 (*.f64 1/2 im) (*.f64 re im)) (*.f64 -1/2 im))
(*.f64 im (+.f64 re 1))
(+.f64 im (*.f64 re im))
(-.f64 (+.f64 (*.f64 1/2 im) (*.f64 re im)) (*.f64 -1/2 im))
(*.f64 im (+.f64 re 1))
(+.f64 im (*.f64 re im))
(-.f64 (+.f64 (*.f64 1/2 im) (*.f64 re im)) (*.f64 -1/2 im))
(*.f64 im (+.f64 re 1))
(+.f64 im (*.f64 re im))
(*.f64 (-.f64 1 re) im)
(*.f64 im (-.f64 1 re))
(-.f64 im (*.f64 re im))
(*.f64 (-.f64 1 re) im)
(*.f64 im (-.f64 1 re))
(-.f64 im (*.f64 re im))
(*.f64 (-.f64 1 re) im)
(*.f64 im (-.f64 1 re))
(-.f64 im (*.f64 re im))
(*.f64 (-.f64 1 re) im)
(*.f64 im (-.f64 1 re))
(-.f64 im (*.f64 re im))
(*.f64 (-.f64 1 re) im)
(*.f64 im (-.f64 1 re))
(-.f64 im (*.f64 re im))
(*.f64 (-.f64 1 re) im)
(*.f64 im (-.f64 1 re))
(-.f64 im (*.f64 re im))
(*.f64 (-.f64 1 re) im)
(*.f64 im (-.f64 1 re))
(-.f64 im (*.f64 re im))
(*.f64 (-.f64 1 re) im)
(*.f64 im (-.f64 1 re))
(-.f64 im (*.f64 re im))
(*.f64 (+.f64 (*.f64 -1 re) 1) im)
(*.f64 im (-.f64 1 re))
(-.f64 im (*.f64 re im))
(*.f64 (+.f64 (*.f64 -1 re) 1) im)
(*.f64 im (-.f64 1 re))
(-.f64 im (*.f64 re im))
(*.f64 (+.f64 (*.f64 -1 re) 1) im)
(*.f64 im (-.f64 1 re))
(-.f64 im (*.f64 re im))
(*.f64 (+.f64 (*.f64 -1 re) 1) im)
(*.f64 im (-.f64 1 re))
(-.f64 im (*.f64 re im))
im
(-.f64 (*.f64 1/2 im) (*.f64 im -1/2))
(+.f64 (*.f64 -1 (*.f64 re im)) im)
(*.f64 im (-.f64 1 re))
(-.f64 im (*.f64 re im))
(+.f64 (*.f64 -1 (*.f64 re im)) im)
(*.f64 im (-.f64 1 re))
(-.f64 im (*.f64 re im))
(+.f64 (*.f64 -1 (*.f64 re im)) im)
(*.f64 im (-.f64 1 re))
(-.f64 im (*.f64 re im))
(*.f64 -1 (*.f64 re im))
(neg.f64 (*.f64 re im))
(*.f64 re (neg.f64 im))
(+.f64 (*.f64 -1 (*.f64 re im)) im)
(*.f64 im (-.f64 1 re))
(-.f64 im (*.f64 re im))
(+.f64 (*.f64 -1 (*.f64 re im)) im)
(*.f64 im (-.f64 1 re))
(-.f64 im (*.f64 re im))
(+.f64 (*.f64 -1 (*.f64 re im)) im)
(*.f64 im (-.f64 1 re))
(-.f64 im (*.f64 re im))
(*.f64 -1 (*.f64 re im))
(neg.f64 (*.f64 re im))
(*.f64 re (neg.f64 im))
(+.f64 (*.f64 -1 (*.f64 re im)) im)
(*.f64 im (-.f64 1 re))
(-.f64 im (*.f64 re im))
(+.f64 (*.f64 -1 (*.f64 re im)) im)
(*.f64 im (-.f64 1 re))
(-.f64 im (*.f64 re im))
(+.f64 (*.f64 -1 (*.f64 re im)) im)
(*.f64 im (-.f64 1 re))
(-.f64 im (*.f64 re im))
(+.f64 im (*.f64 im (-.f64 re 1/2)))
(*.f64 (+.f64 1/2 re) im)
(*.f64 im (-.f64 re -1/2))
(+.f64 (*.f64 im 1/2) (*.f64 im re))
(*.f64 (+.f64 1/2 re) im)
(*.f64 im (-.f64 re -1/2))
(+.f64 (*.f64 im 3/2) (-.f64 (*.f64 im re) im))
(*.f64 (+.f64 1/2 re) im)
(*.f64 im (-.f64 re -1/2))
(+.f64 (*.f64 im 3/2) (-.f64 (/.f64 im -4) (+.f64 (-.f64 (/.f64 im -4) (*.f64 im re)) im)))
(*.f64 (+.f64 1/2 re) im)
(*.f64 im (-.f64 re -1/2))
(+.f64 (*.f64 im re) (*.f64 im 1/2))
(*.f64 (+.f64 1/2 re) im)
(*.f64 im (-.f64 re -1/2))
(+.f64 (*.f64 im (+.f64 re 1/2)) 0)
(*.f64 (+.f64 1/2 re) im)
(*.f64 im (-.f64 re -1/2))
(+.f64 (*.f64 im -1/2) (+.f64 im (*.f64 im re)))
(*.f64 (+.f64 1/2 re) im)
(*.f64 im (-.f64 re -1/2))
(+.f64 (+.f64 im (*.f64 im re)) (*.f64 im -1/2))
(*.f64 (+.f64 1/2 re) im)
(*.f64 im (-.f64 re -1/2))
(+.f64 0 (*.f64 im (+.f64 re 1/2)))
(*.f64 (+.f64 1/2 re) im)
(*.f64 im (-.f64 re -1/2))
(+.f64 1 (+.f64 (+.f64 (*.f64 im 1/2) -1) (*.f64 im re)))
(*.f64 (+.f64 1/2 re) im)
(*.f64 im (-.f64 re -1/2))
(+.f64 (neg.f64 im) (+.f64 (*.f64 im 3/2) (*.f64 im re)))
(*.f64 (+.f64 1/2 re) im)
(*.f64 im (-.f64 re -1/2))
(+.f64 -1 (+.f64 (*.f64 im (+.f64 re 1/2)) 1))
(*.f64 (+.f64 1/2 re) im)
(*.f64 im (-.f64 re -1/2))
(+.f64 (*.f64 im (-.f64 re 1/2)) im)
(*.f64 (+.f64 1/2 re) im)
(*.f64 im (-.f64 re -1/2))
(+.f64 (-.f64 (*.f64 im re) im) (*.f64 im 3/2))
(*.f64 (+.f64 1/2 re) im)
(*.f64 im (-.f64 re -1/2))
(+.f64 (/.f64 im -4) (neg.f64 (-.f64 (*.f64 im (-.f64 -1 re)) (/.f64 im -4))))
(*.f64 (+.f64 1/2 re) im)
(*.f64 im (-.f64 re -1/2))
(+.f64 (/.f64 im -4) (-.f64 (/.f64 im -4) (*.f64 im (-.f64 -1 re))))
(*.f64 (+.f64 1/2 re) im)
(*.f64 im (-.f64 re -1/2))
(+.f64 (+.f64 (*.f64 im -1/2) -1) (-.f64 1 (*.f64 im (-.f64 -1 re))))
(*.f64 (+.f64 1/2 re) im)
(*.f64 im (-.f64 re -1/2))
(+.f64 (+.f64 (*.f64 im 3/2) (*.f64 im re)) (neg.f64 im))
(*.f64 (+.f64 1/2 re) im)
(*.f64 im (-.f64 re -1/2))
(+.f64 (/.f64 im 4) (+.f64 (*.f64 im re) (/.f64 im 4)))
(*.f64 (+.f64 1/2 re) im)
(*.f64 im (-.f64 re -1/2))
(+.f64 (/.f64 im 4) (-.f64 (/.f64 im 4) (neg.f64 (*.f64 im re))))
(*.f64 (+.f64 1/2 re) im)
(*.f64 im (-.f64 re -1/2))
(+.f64 (/.f64 im 4) (-.f64 (/.f64 im -4) (neg.f64 (*.f64 im (+.f64 re 1/2)))))
(+.f64 (/.f64 im 4) (-.f64 (/.f64 im -4) (neg.f64 (*.f64 (+.f64 1/2 re) im))))
(+.f64 (/.f64 im 4) (-.f64 (*.f64 (+.f64 1/2 re) im) (neg.f64 (/.f64 im -4))))
(+.f64 (/.f64 im 4) (+.f64 (/.f64 im -4) (*.f64 im (-.f64 re -1/2))))
(+.f64 (/.f64 im 4) (+.f64 (/.f64 im 4) (*.f64 im re)))
(*.f64 (+.f64 1/2 re) im)
(*.f64 im (-.f64 re -1/2))
(+.f64 (+.f64 (*.f64 im re) (/.f64 im 4)) (/.f64 im 4))
(*.f64 (+.f64 1/2 re) im)
(*.f64 im (-.f64 re -1/2))
(+.f64 (+.f64 (*.f64 im re) 1) (+.f64 (*.f64 im 1/2) -1))
(*.f64 (+.f64 1/2 re) im)
(*.f64 im (-.f64 re -1/2))
(+.f64 (+.f64 (*.f64 im (+.f64 re 1/2)) 1) -1)
(*.f64 (+.f64 1/2 re) im)
(*.f64 im (-.f64 re -1/2))
(+.f64 (/.f64 (*.f64 im re) 2) (/.f64 (+.f64 im (*.f64 im re)) 2))
(*.f64 (+.f64 1/2 re) im)
(*.f64 im (-.f64 re -1/2))
(+.f64 (/.f64 (+.f64 im (*.f64 im re)) 2) (/.f64 (*.f64 im re) 2))
(*.f64 (+.f64 1/2 re) im)
(*.f64 im (-.f64 re -1/2))
(+.f64 (/.f64 (*.f64 im (+.f64 re 1/2)) 2) (/.f64 (*.f64 im (+.f64 re 1/2)) 2))
(*.f64 (+.f64 1/2 re) im)
(*.f64 im (-.f64 re -1/2))
(+.f64 (-.f64 im (/.f64 im -4)) (neg.f64 (+.f64 (-.f64 (/.f64 im -4) (*.f64 im re)) im)))
(*.f64 (+.f64 1/2 re) im)
(*.f64 im (-.f64 re -1/2))
(+.f64 (+.f64 im (/.f64 im -4)) (+.f64 (+.f64 im (/.f64 im -4)) (-.f64 (*.f64 im re) im)))
(+.f64 (-.f64 (*.f64 re im) im) (+.f64 (+.f64 im (/.f64 im -4)) (+.f64 im (/.f64 im -4))))
(+.f64 (-.f64 (*.f64 re im) im) (+.f64 (/.f64 im -4) (+.f64 im (+.f64 im (/.f64 im -4)))))
(+.f64 im (+.f64 (/.f64 im -4) (+.f64 (*.f64 re im) (/.f64 im -4))))
(+.f64 (+.f64 im (/.f64 im -4)) (-.f64 (*.f64 im 1/2) (+.f64 (-.f64 (/.f64 im -4) (*.f64 im re)) im)))
(+.f64 (+.f64 im (/.f64 im -4)) (-.f64 (*.f64 1/2 im) (+.f64 im (-.f64 (/.f64 im -4) (*.f64 re im)))))
(+.f64 (+.f64 im (/.f64 im -4)) (+.f64 (*.f64 im -1/2) (+.f64 (*.f64 re im) (/.f64 im 4))))
(+.f64 (+.f64 im (/.f64 im -4)) (-.f64 (+.f64 im (/.f64 im -4)) (-.f64 im (*.f64 im re))))
(+.f64 (-.f64 (*.f64 re im) im) (+.f64 (+.f64 im (/.f64 im -4)) (+.f64 im (/.f64 im -4))))
(+.f64 (-.f64 (*.f64 re im) im) (+.f64 (/.f64 im -4) (+.f64 im (+.f64 im (/.f64 im -4)))))
(+.f64 im (+.f64 (/.f64 im -4) (+.f64 (*.f64 re im) (/.f64 im -4))))
(+.f64 (+.f64 (*.f64 im -3/2) (*.f64 im re)) (+.f64 im im))
(*.f64 (+.f64 1/2 re) im)
(*.f64 im (-.f64 re -1/2))
(+.f64 (+.f64 (*.f64 im 1/2) -1) (+.f64 (*.f64 im re) 1))
(*.f64 (+.f64 1/2 re) im)
(*.f64 im (-.f64 re -1/2))
(+.f64 (+.f64 (*.f64 im 1/2) -1) (+.f64 (+.f64 (*.f64 im re) 1) 0))
(*.f64 (+.f64 1/2 re) im)
(*.f64 im (-.f64 re -1/2))
(+.f64 (+.f64 -1 (*.f64 im (+.f64 re 1/2))) 1)
(*.f64 (+.f64 1/2 re) im)
(*.f64 im (-.f64 re -1/2))
(+.f64 (+.f64 (*.f64 im 1/2) 1) (+.f64 -1 (*.f64 im re)))
(*.f64 (+.f64 1/2 re) im)
(*.f64 im (-.f64 re -1/2))
(+.f64 (+.f64 (*.f64 im 1/2) 1) (+.f64 (+.f64 -1 (*.f64 im re)) 0))
(*.f64 (+.f64 1/2 re) im)
(*.f64 im (-.f64 re -1/2))
(+.f64 (+.f64 (*.f64 im 1/2) 1) (neg.f64 (-.f64 1 (*.f64 im re))))
(*.f64 (+.f64 1/2 re) im)
(*.f64 im (-.f64 re -1/2))
(+.f64 (+.f64 -1 (+.f64 im im)) (-.f64 1 (-.f64 im (*.f64 im (-.f64 re 1/2)))))
(+.f64 (+.f64 im (+.f64 im -1)) (-.f64 (*.f64 im (-.f64 re 1/2)) (-.f64 im 1)))
(+.f64 -1 (+.f64 (+.f64 im im) (-.f64 1 (-.f64 im (*.f64 im (-.f64 re 1/2))))))
(+.f64 -1 (+.f64 (+.f64 im im) (+.f64 (*.f64 im (-.f64 (-.f64 re 1/2) 1)) 1)))
(+.f64 (+.f64 1 (-.f64 (*.f64 im re) im)) (neg.f64 (+.f64 1 (*.f64 im -3/2))))
(+.f64 (+.f64 1 (-.f64 (*.f64 re im) im)) (neg.f64 (+.f64 1 (*.f64 im -3/2))))
(+.f64 1 (+.f64 (-.f64 (*.f64 re im) im) (neg.f64 (+.f64 1 (*.f64 im -3/2)))))
(-.f64 (neg.f64 (*.f64 im -3/2)) (-.f64 im (*.f64 re im)))
(+.f64 (+.f64 -1 (-.f64 (*.f64 im re) im)) (-.f64 1 (*.f64 im -3/2)))
(+.f64 (+.f64 -1 (-.f64 (*.f64 re im) im)) (-.f64 1 (*.f64 im -3/2)))
(+.f64 -1 (+.f64 (-.f64 (*.f64 re im) im) (-.f64 1 (*.f64 im -3/2))))
(+.f64 (neg.f64 (*.f64 im -3/2)) (-.f64 (*.f64 re im) im))
(+.f64 (+.f64 -1 (*.f64 im re)) (+.f64 (*.f64 im 1/2) 1))
(*.f64 (+.f64 1/2 re) im)
(*.f64 im (-.f64 re -1/2))
(+.f64 (+.f64 -1 (*.f64 im re)) (neg.f64 (+.f64 (*.f64 im -1/2) -1)))
(*.f64 (+.f64 1/2 re) im)
(*.f64 im (-.f64 re -1/2))
(+.f64 (-.f64 (+.f64 im (/.f64 im -4)) im) (-.f64 (+.f64 im (/.f64 im -4)) (neg.f64 (*.f64 im re))))
(+.f64 (-.f64 (+.f64 im (/.f64 im -4)) im) (-.f64 (+.f64 im (/.f64 im -4)) (neg.f64 (*.f64 re im))))
(+.f64 (-.f64 (+.f64 im (/.f64 im -4)) im) (+.f64 im (+.f64 (/.f64 im -4) (*.f64 re im))))
(+.f64 (-.f64 (+.f64 im (/.f64 im -4)) im) (+.f64 im (+.f64 (*.f64 re im) (/.f64 im -4))))
(+.f64 (-.f64 (*.f64 im 3) (-.f64 im (*.f64 im re))) (*.f64 im -3/2))
(+.f64 (*.f64 im -3/2) (-.f64 (*.f64 re im) (-.f64 im (*.f64 im 3))))
(-.f64 (*.f64 im -3/2) (-.f64 (*.f64 im -2) (*.f64 re im)))
(+.f64 (-.f64 (*.f64 im (+.f64 re re)) (*.f64 im -1/2)) (neg.f64 (*.f64 im re)))
(-.f64 (*.f64 im (+.f64 re re)) (+.f64 (*.f64 im -1/2) (*.f64 re im)))
(-.f64 (*.f64 im (+.f64 re re)) (*.f64 im (+.f64 -1/2 re)))
(*.f64 im (-.f64 (+.f64 re re) (+.f64 -1/2 re)))
(+.f64 (-.f64 (*.f64 im (-.f64 re 1/2)) (/.f64 im -4)) (neg.f64 (*.f64 3 (/.f64 im -4))))
(-.f64 (*.f64 im (-.f64 re 1/2)) (+.f64 (/.f64 im -4) (*.f64 im -3/4)))
(-.f64 (*.f64 im (-.f64 re 1/2)) (*.f64 (/.f64 im -4) 4))
(+.f64 (-.f64 (/.f64 im -4) (*.f64 im -2)) (-.f64 (/.f64 im -4) (-.f64 im (*.f64 im re))))
(+.f64 (-.f64 (/.f64 im -4) (*.f64 im -2)) (-.f64 (*.f64 re im) (-.f64 im (/.f64 im -4))))
(+.f64 (-.f64 (/.f64 im -4) (*.f64 im -2)) (-.f64 (*.f64 re im) (*.f64 im 5/4)))
(+.f64 (-.f64 (/.f64 im -4) (*.f64 im -2)) (*.f64 im (-.f64 re 5/4)))
(+.f64 (-.f64 (*.f64 im (-.f64 re 1/2)) im) (+.f64 im im))
(*.f64 (+.f64 1/2 re) im)
(*.f64 im (-.f64 re -1/2))
(+.f64 (-.f64 (*.f64 im (-.f64 re 1/2)) 1) (neg.f64 (-.f64 -1 im)))
(-.f64 (*.f64 im (-.f64 re 1/2)) (+.f64 1 (-.f64 -1 im)))
(+.f64 -1 (+.f64 (*.f64 im (-.f64 re 1/2)) (+.f64 im 1)))
(+.f64 (-.f64 (*.f64 im (-.f64 re 1/2)) (+.f64 (*.f64 im -1/2) 1)) (neg.f64 (+.f64 (*.f64 im -1/2) -1)))
(-.f64 (*.f64 im (-.f64 re 1/2)) (+.f64 (+.f64 1 (*.f64 im -1/2)) (+.f64 -1 (*.f64 im -1/2))))
(+.f64 -1 (+.f64 (*.f64 im (-.f64 (-.f64 re 1/2) -1/2)) (+.f64 1 (neg.f64 (*.f64 im -1/2)))))
(-.f64 (*.f64 im (-.f64 re 0)) (+.f64 1 (+.f64 -1 (*.f64 im -1/2))))
(+.f64 (-.f64 -1 (neg.f64 im)) (-.f64 1 (*.f64 im (-.f64 1/2 re))))
(+.f64 (+.f64 im -1) (-.f64 1 (*.f64 im (-.f64 1/2 re))))
(+.f64 (-.f64 -1 (*.f64 im -3/2)) (+.f64 1 (-.f64 (*.f64 im re) im)))
(+.f64 (+.f64 1 (-.f64 (*.f64 re im) im)) (neg.f64 (+.f64 1 (*.f64 im -3/2))))
(+.f64 1 (+.f64 (-.f64 (*.f64 re im) im) (neg.f64 (+.f64 1 (*.f64 im -3/2)))))
(-.f64 (neg.f64 (*.f64 im -3/2)) (-.f64 im (*.f64 re im)))
(+.f64 (-.f64 (*.f64 im 3/2) (neg.f64 (*.f64 im re))) (neg.f64 im))
(*.f64 (+.f64 1/2 re) im)
(*.f64 im (-.f64 re -1/2))
(+.f64 (-.f64 (*.f64 im 3/2) (/.f64 (-.f64 im (*.f64 im re)) 2)) (neg.f64 (/.f64 (-.f64 im (*.f64 im re)) 2)))
(*.f64 (+.f64 1/2 re) im)
(*.f64 im (-.f64 re -1/2))
(+.f64 (-.f64 (*.f64 im -1/2) (+.f64 (/.f64 im -4) (*.f64 im -3/2))) (neg.f64 (+.f64 (-.f64 (/.f64 im -4) (*.f64 im re)) im)))
(*.f64 (+.f64 1/2 re) im)
(*.f64 im (-.f64 re -1/2))
(+.f64 (-.f64 (*.f64 im -1/2) (-.f64 (*.f64 im (-.f64 -1 re)) (/.f64 im -4))) (/.f64 im 4))
(+.f64 (/.f64 im 4) (-.f64 (/.f64 im -4) (-.f64 (*.f64 im (-.f64 -1 re)) (*.f64 im -1/2))))
(+.f64 (/.f64 im 4) (-.f64 (/.f64 im -4) (*.f64 im (-.f64 (-.f64 -1 re) -1/2))))
(+.f64 (/.f64 im 4) (-.f64 (/.f64 im -4) (*.f64 im (-.f64 -1/2 re))))
(+.f64 (-.f64 (*.f64 im -1/2) (+.f64 -1 (-.f64 im (*.f64 im re)))) (neg.f64 (+.f64 1 (*.f64 im -2))))
(-.f64 (*.f64 im -1/2) (+.f64 (+.f64 -1 (-.f64 im (*.f64 re im))) (+.f64 1 (*.f64 im -2))))
(+.f64 (*.f64 im 3/2) (neg.f64 (+.f64 1 (+.f64 -1 (-.f64 im (*.f64 re im))))))
(+.f64 (-.f64 (*.f64 im -1/2) (+.f64 -1 (*.f64 im -2))) (neg.f64 (+.f64 1 (-.f64 im (*.f64 im re)))))
(+.f64 (+.f64 -1 (-.f64 (*.f64 re im) im)) (-.f64 1 (*.f64 im -3/2)))
(+.f64 -1 (+.f64 (-.f64 (*.f64 re im) im) (-.f64 1 (*.f64 im -3/2))))
(+.f64 (neg.f64 (*.f64 im -3/2)) (-.f64 (*.f64 re im) im))
(+.f64 (-.f64 0 (-.f64 -1 (*.f64 im re))) (+.f64 (*.f64 im 1/2) -1))
(*.f64 (+.f64 1/2 re) im)
(*.f64 im (-.f64 re -1/2))
(+.f64 (-.f64 0 (+.f64 -1 (*.f64 im -3/2))) (neg.f64 (+.f64 1 (-.f64 im (*.f64 im re)))))
(+.f64 (+.f64 -1 (-.f64 (*.f64 re im) im)) (-.f64 1 (*.f64 im -3/2)))
(+.f64 -1 (+.f64 (-.f64 (*.f64 re im) im) (-.f64 1 (*.f64 im -3/2))))
(+.f64 (neg.f64 (*.f64 im -3/2)) (-.f64 (*.f64 re im) im))
(+.f64 (-.f64 -1 (/.f64 im 4)) (-.f64 1 (-.f64 (*.f64 im (-.f64 -1 re)) (/.f64 im -4))))
(+.f64 (-.f64 -1 (/.f64 im 4)) (-.f64 (/.f64 im -4) (-.f64 (*.f64 im (-.f64 -1 re)) 1)))
(+.f64 (-.f64 -1 (/.f64 im 4)) (-.f64 (/.f64 im -4) (+.f64 (*.f64 im (-.f64 -1 re)) -1)))
(+.f64 (-.f64 -1 (/.f64 im 4)) (+.f64 (-.f64 (/.f64 im -4) (*.f64 im (-.f64 -1 re))) 1))
(+.f64 (-.f64 -1 (*.f64 im (-.f64 1/2 re))) (-.f64 1 (neg.f64 im)))
(+.f64 (-.f64 -1 (*.f64 im (-.f64 1/2 re))) (+.f64 im 1))
(+.f64 (/.f64 (-.f64 (*.f64 im re) im) 2) (/.f64 (*.f64 im (+.f64 2 re)) 2))
(/.f64 (+.f64 (-.f64 (*.f64 re im) im) (*.f64 im (+.f64 re 2))) 2)
(+.f64 (-.f64 (/.f64 (*.f64 im re) 2) (*.f64 im 1/2)) (-.f64 (/.f64 (*.f64 im re) 2) (neg.f64 im)))
(+.f64 (-.f64 (/.f64 (*.f64 re im) 2) (*.f64 1/2 im)) (-.f64 (/.f64 (*.f64 re im) 2) (neg.f64 im)))
(+.f64 (-.f64 (/.f64 (*.f64 re im) 2) (*.f64 1/2 im)) (-.f64 im (/.f64 (*.f64 re im) -2)))
(+.f64 (-.f64 (/.f64 (*.f64 re im) 2) (*.f64 1/2 im)) (-.f64 im (*.f64 (*.f64 re im) -1/2)))
(+.f64 (-.f64 (/.f64 (*.f64 im re) 2) im) (-.f64 (/.f64 (*.f64 im re) 2) (*.f64 im -3/2)))
(+.f64 (-.f64 (/.f64 (*.f64 re im) 2) im) (-.f64 (/.f64 (*.f64 re im) 2) (*.f64 im -3/2)))
(+.f64 (-.f64 (/.f64 (*.f64 im re) 2) (+.f64 (*.f64 im -1/2) -1)) (-.f64 (/.f64 (*.f64 im re) 2) 1))
(+.f64 (+.f64 (-.f64 (/.f64 (*.f64 re im) 2) (*.f64 im -1/2)) 1) (+.f64 (/.f64 (*.f64 re im) 2) -1))
(+.f64 -1 (+.f64 (/.f64 (*.f64 re im) 2) (+.f64 1 (-.f64 (/.f64 (*.f64 re im) 2) (*.f64 im -1/2)))))
(+.f64 -1 (+.f64 (/.f64 (*.f64 re im) 2) (-.f64 (/.f64 (*.f64 re im) 2) (+.f64 -1 (*.f64 im -1/2)))))
(+.f64 (-.f64 (/.f64 im 4) (neg.f64 im)) (-.f64 (/.f64 im 4) (-.f64 im (*.f64 im re))))
(*.f64 (+.f64 1/2 re) im)
(*.f64 im (-.f64 re -1/2))
(+.f64 (-.f64 (/.f64 im 4) (neg.f64 (*.f64 im re))) (/.f64 im 4))
(*.f64 (+.f64 1/2 re) im)
(*.f64 im (-.f64 re -1/2))
(+.f64 (-.f64 (/.f64 im 4) (-.f64 im (*.f64 im re))) (-.f64 (/.f64 im 4) (neg.f64 im)))
(*.f64 (+.f64 1/2 re) im)
(*.f64 im (-.f64 re -1/2))
(+.f64 (-.f64 (/.f64 (*.f64 im re) 2) (neg.f64 im)) (-.f64 (/.f64 (*.f64 im re) 2) (*.f64 im 1/2)))
(+.f64 (-.f64 (/.f64 (*.f64 re im) 2) (*.f64 1/2 im)) (-.f64 (/.f64 (*.f64 re im) 2) (neg.f64 im)))
(+.f64 (-.f64 (/.f64 (*.f64 re im) 2) (*.f64 1/2 im)) (-.f64 im (/.f64 (*.f64 re im) -2)))
(+.f64 (-.f64 (/.f64 (*.f64 re im) 2) (*.f64 1/2 im)) (-.f64 im (*.f64 (*.f64 re im) -1/2)))
(+.f64 (-.f64 (/.f64 (*.f64 im re) 2) 1) (-.f64 (/.f64 (*.f64 im re) 2) (+.f64 (*.f64 im -1/2) -1)))
(+.f64 (+.f64 (-.f64 (/.f64 (*.f64 re im) 2) (*.f64 im -1/2)) 1) (+.f64 (/.f64 (*.f64 re im) 2) -1))
(+.f64 -1 (+.f64 (/.f64 (*.f64 re im) 2) (+.f64 1 (-.f64 (/.f64 (*.f64 re im) 2) (*.f64 im -1/2)))))
(+.f64 -1 (+.f64 (/.f64 (*.f64 re im) 2) (-.f64 (/.f64 (*.f64 re im) 2) (+.f64 -1 (*.f64 im -1/2)))))
(+.f64 (-.f64 (+.f64 im (/.f64 im -4)) (neg.f64 (*.f64 im re))) (-.f64 (+.f64 im (/.f64 im -4)) im))
(+.f64 (-.f64 (+.f64 im (/.f64 im -4)) im) (-.f64 (+.f64 im (/.f64 im -4)) (neg.f64 (*.f64 re im))))
(+.f64 (-.f64 (+.f64 im (/.f64 im -4)) im) (+.f64 im (+.f64 (/.f64 im -4) (*.f64 re im))))
(+.f64 (-.f64 (+.f64 im (/.f64 im -4)) im) (+.f64 im (+.f64 (*.f64 re im) (/.f64 im -4))))
(+.f64 (-.f64 (+.f64 im (/.f64 im -4)) (-.f64 im (*.f64 im re))) (+.f64 im (/.f64 im -4)))
(+.f64 (-.f64 (*.f64 re im) im) (+.f64 (+.f64 im (/.f64 im -4)) (+.f64 im (/.f64 im -4))))
(+.f64 (-.f64 (*.f64 re im) im) (+.f64 (/.f64 im -4) (+.f64 im (+.f64 im (/.f64 im -4)))))
(+.f64 im (+.f64 (/.f64 im -4) (+.f64 (*.f64 re im) (/.f64 im -4))))
(+.f64 (-.f64 (/.f64 (*.f64 im re) 2) (*.f64 im -3/2)) (-.f64 (/.f64 (*.f64 im re) 2) im))
(+.f64 (-.f64 (/.f64 (*.f64 re im) 2) im) (-.f64 (/.f64 (*.f64 re im) 2) (*.f64 im -3/2)))
(+.f64 (-.f64 (/.f64 (*.f64 im re) 2) (+.f64 (*.f64 im -1/2) 1)) (-.f64 (/.f64 (*.f64 im re) 2) -1))
(+.f64 (+.f64 (-.f64 (/.f64 (*.f64 re im) 2) (*.f64 im -1/2)) -1) (+.f64 (/.f64 (*.f64 re im) 2) 1))
(+.f64 -1 (+.f64 (-.f64 (/.f64 (*.f64 re im) 2) (*.f64 im -1/2)) (+.f64 1 (/.f64 (*.f64 re im) 2))))
(+.f64 (-.f64 (/.f64 (*.f64 im re) 2) -1) (-.f64 (/.f64 (*.f64 im re) 2) (+.f64 (*.f64 im -1/2) 1)))
(+.f64 (+.f64 (-.f64 (/.f64 (*.f64 re im) 2) (*.f64 im -1/2)) -1) (+.f64 (/.f64 (*.f64 re im) 2) 1))
(+.f64 -1 (+.f64 (-.f64 (/.f64 (*.f64 re im) 2) (*.f64 im -1/2)) (+.f64 1 (/.f64 (*.f64 re im) 2))))
(+.f64 (-.f64 (/.f64 im -4) (neg.f64 (*.f64 im (+.f64 re 1/2)))) (/.f64 im 4))
(+.f64 (/.f64 im 4) (-.f64 (/.f64 im -4) (neg.f64 (*.f64 (+.f64 1/2 re) im))))
(+.f64 (/.f64 im 4) (-.f64 (*.f64 (+.f64 1/2 re) im) (neg.f64 (/.f64 im -4))))
(+.f64 (/.f64 im 4) (+.f64 (/.f64 im -4) (*.f64 im (-.f64 re -1/2))))
(+.f64 (-.f64 (/.f64 im -4) (*.f64 im (-.f64 -1 re))) (/.f64 im -4))
(*.f64 (+.f64 1/2 re) im)
(*.f64 im (-.f64 re -1/2))
(+.f64 (-.f64 (/.f64 im -4) (-.f64 im (*.f64 im re))) (-.f64 (/.f64 im -4) (*.f64 im -2)))
(+.f64 (-.f64 (/.f64 im -4) (*.f64 im -2)) (-.f64 (*.f64 re im) (-.f64 im (/.f64 im -4))))
(+.f64 (-.f64 (/.f64 im -4) (*.f64 im -2)) (-.f64 (*.f64 re im) (*.f64 im 5/4)))
(+.f64 (-.f64 (/.f64 im -4) (*.f64 im -2)) (*.f64 im (-.f64 re 5/4)))
(+.f64 (-.f64 (/.f64 im -4) (+.f64 -1 (-.f64 im (*.f64 im re)))) (-.f64 (/.f64 im -4) (+.f64 1 (*.f64 im -2))))
(+.f64 (-.f64 (/.f64 im -4) (+.f64 -1 (-.f64 im (*.f64 re im)))) (-.f64 (/.f64 im -4) (+.f64 1 (*.f64 im -2))))
(+.f64 (+.f64 (-.f64 (*.f64 re im) (*.f64 im 5/4)) 1) (+.f64 (-.f64 (/.f64 im -4) (*.f64 im -2)) -1))
(+.f64 (+.f64 (*.f64 im (-.f64 re 5/4)) 1) (+.f64 (-.f64 (/.f64 im -4) (*.f64 im -2)) -1))
(+.f64 (-.f64 (/.f64 im -4) (+.f64 -1 (*.f64 im -2))) (-.f64 (/.f64 im -4) (+.f64 1 (-.f64 im (*.f64 im re)))))
(+.f64 (-.f64 (/.f64 im -4) (+.f64 -1 (*.f64 im -2))) (-.f64 (/.f64 im -4) (+.f64 1 (-.f64 im (*.f64 re im)))))
(+.f64 (-.f64 (/.f64 im -4) (+.f64 -1 (*.f64 im -2))) (+.f64 (-.f64 (*.f64 re im) (*.f64 im 5/4)) -1))
(+.f64 (-.f64 1 (-.f64 (*.f64 im -2) (/.f64 im -4))) (+.f64 (*.f64 im (-.f64 re 5/4)) -1))
(+.f64 (-.f64 -1 (-.f64 im (*.f64 im (-.f64 re 1/2)))) (+.f64 1 (+.f64 im im)))
(+.f64 (+.f64 im im) (+.f64 1 (-.f64 (*.f64 im (-.f64 re 1/2)) (-.f64 im -1))))
(+.f64 1 (+.f64 (+.f64 im im) (-.f64 -1 (-.f64 im (*.f64 im (-.f64 re 1/2))))))
(+.f64 1 (+.f64 (+.f64 im im) (+.f64 (*.f64 im (-.f64 (-.f64 re 1/2) 1)) -1)))
(+.f64 (-.f64 -1 (*.f64 im (-.f64 -1 re))) (+.f64 (*.f64 im -1/2) 1))
(*.f64 (+.f64 1/2 re) im)
(*.f64 im (-.f64 re -1/2))
(+.f64 (-.f64 -1 (-.f64 (*.f64 im (-.f64 -1 re)) (/.f64 im -4))) (-.f64 1 (/.f64 im 4)))
(+.f64 (+.f64 (-.f64 (/.f64 im -4) (*.f64 im (-.f64 -1 re))) -1) (-.f64 1 (/.f64 im 4)))
(*.f64 im (-.f64 re -1/2))
(*.f64 (+.f64 1/2 re) im)
(*.f64 im (+.f64 re 1/2))
(*.f64 (+.f64 1/2 re) im)
(*.f64 im (-.f64 re -1/2))
(*.f64 im (+.f64 1/2 re))
(*.f64 (+.f64 1/2 re) im)
(*.f64 im (-.f64 re -1/2))
(*.f64 1/2 (+.f64 (*.f64 im (+.f64 re re)) im))
(*.f64 (+.f64 1/2 re) im)
(*.f64 im (-.f64 re -1/2))
(*.f64 1/2 (+.f64 im (*.f64 im (+.f64 re re))))
(*.f64 (+.f64 1/2 re) im)
(*.f64 im (-.f64 re -1/2))
(*.f64 (*.f64 im 1/2) (-.f64 (+.f64 re re) -1))
(*.f64 (+.f64 1/2 re) im)
(*.f64 im (-.f64 re -1/2))
(*.f64 (*.f64 im 1/2) (+.f64 (+.f64 re re) 1))
(*.f64 (+.f64 1/2 re) im)
(*.f64 im (-.f64 re -1/2))
(*.f64 (*.f64 im 1/2) (+.f64 1 (+.f64 re re)))
(*.f64 (+.f64 1/2 re) im)
(*.f64 im (-.f64 re -1/2))
(*.f64 (*.f64 im (+.f64 re 1/2)) 1)
(*.f64 (+.f64 1/2 re) im)
(*.f64 im (-.f64 re -1/2))
(*.f64 1 (*.f64 im (+.f64 re 1/2)))
(*.f64 (+.f64 1/2 re) im)
(*.f64 im (-.f64 re -1/2))
(*.f64 (neg.f64 (*.f64 im (+.f64 re 1/2))) -1)
(*.f64 (+.f64 1/2 re) im)
(*.f64 im (-.f64 re -1/2))
(*.f64 (+.f64 (*.f64 im (+.f64 re re)) im) 1/2)
(*.f64 (+.f64 1/2 re) im)
(*.f64 im (-.f64 re -1/2))
(*.f64 (*.f64 2 (+.f64 (*.f64 im (+.f64 re re)) im)) 1/4)
(*.f64 (+.f64 1/2 re) im)
(*.f64 im (-.f64 re -1/2))
(/.f64 (*.f64 im (+.f64 re 1/2)) 1)
(*.f64 (+.f64 1/2 re) im)
(*.f64 im (-.f64 re -1/2))
(/.f64 (neg.f64 (*.f64 im (+.f64 re 1/2))) -1)
(*.f64 (+.f64 1/2 re) im)
(*.f64 im (-.f64 re -1/2))
(/.f64 (+.f64 (*.f64 im (+.f64 re re)) im) 2)
(*.f64 (+.f64 1/2 re) im)
(*.f64 im (-.f64 re -1/2))
(/.f64 (*.f64 2 (+.f64 (*.f64 im (+.f64 re re)) im)) 4)
(*.f64 (+.f64 1/2 re) im)
(*.f64 im (-.f64 re -1/2))
(/.f64 (+.f64 im (*.f64 im (+.f64 re re))) 2)
(*.f64 (+.f64 1/2 re) im)
(*.f64 im (-.f64 re -1/2))
(/.f64 (+.f64 (*.f64 im 3) (*.f64 (+.f64 im im) (+.f64 re -1))) 2)
(/.f64 (+.f64 (*.f64 (*.f64 im 4) re) (+.f64 im im)) 4)
(/.f64 (+.f64 im (+.f64 im (*.f64 re (*.f64 im 4)))) 4)
(+.f64 (/.f64 (*.f64 re (*.f64 im 4)) 4) (/.f64 im 2))
(/.f64 (-.f64 (*.f64 (*.f64 re im) 8) (*.f64 im -4)) 8)
(/.f64 (+.f64 (*.f64 (+.f64 im im) (+.f64 re -1)) (*.f64 im 3)) 2)
(/.f64 (+.f64 (*.f64 im 3) (*.f64 (+.f64 im im) (+.f64 re -1))) 2)
(/.f64 (+.f64 (*.f64 2 (+.f64 (*.f64 im (+.f64 re re)) im)) (*.f64 2 (+.f64 (*.f64 im (+.f64 re re)) im))) 8)
(*.f64 (+.f64 1/2 re) im)
(*.f64 im (-.f64 re -1/2))
(/.f64 (+.f64 (+.f64 im im) (*.f64 (*.f64 im 4) re)) 4)
(/.f64 (+.f64 im (+.f64 im (*.f64 re (*.f64 im 4)))) 4)
(+.f64 (/.f64 (*.f64 re (*.f64 im 4)) 4) (/.f64 im 2))
(/.f64 (-.f64 (*.f64 (*.f64 re im) 8) (*.f64 im -4)) 8)
(/.f64 (-.f64 (*.f64 2 (*.f64 im 3)) (*.f64 2 (*.f64 im (-.f64 2 (+.f64 re re))))) 4)
(/.f64 (-.f64 (*.f64 2 (*.f64 im 3)) (*.f64 (-.f64 2 (+.f64 re re)) (*.f64 im 2))) 4)
(/.f64 (-.f64 (*.f64 im 6) (*.f64 im (*.f64 (-.f64 2 (+.f64 re re)) 2))) 4)
(/.f64 (*.f64 2 (*.f64 im (-.f64 3 (-.f64 2 (+.f64 re re))))) 4)
(/.f64 (-.f64 (+.f64 im im) (*.f64 (*.f64 im (-.f64 1/2 re)) 2)) 2)
(/.f64 (-.f64 (+.f64 im im) (*.f64 2 (*.f64 im (-.f64 1/2 re)))) 2)
(-.f64 im (/.f64 (*.f64 im (*.f64 (-.f64 1/2 re) 2)) 2))
(-.f64 im (/.f64 (*.f64 im (*.f64 2 (-.f64 1/2 re))) 2))
(/.f64 (-.f64 (*.f64 (*.f64 im 4) re) (*.f64 im -2)) 4)
(/.f64 (+.f64 im (+.f64 im (*.f64 re (*.f64 im 4)))) 4)
(+.f64 (/.f64 (*.f64 re (*.f64 im 4)) 4) (/.f64 im 2))
(/.f64 (-.f64 (*.f64 (*.f64 re im) 8) (*.f64 im -4)) 8)
(/.f64 (-.f64 (neg.f64 im) (-.f64 0 (*.f64 (+.f64 im (*.f64 im re)) 2))) 2)
(*.f64 (+.f64 1/2 re) im)
(*.f64 im (-.f64 re -1/2))
(/.f64 (-.f64 (+.f64 (*.f64 im re) (-.f64 (*.f64 im re) im)) (*.f64 im -2)) 2)
(*.f64 (+.f64 1/2 re) im)
(*.f64 im (-.f64 re -1/2))
(pow.f64 (*.f64 im (+.f64 re 1/2)) 1)
(*.f64 (+.f64 1/2 re) im)
(*.f64 im (-.f64 re -1/2))
(neg.f64 (neg.f64 (*.f64 im (+.f64 re 1/2))))
(*.f64 (+.f64 1/2 re) im)
(*.f64 im (-.f64 re -1/2))
(+.f64 im (*.f64 im re))
(*.f64 im (+.f64 re 1))
(+.f64 im (*.f64 re im))
(+.f64 (*.f64 im 1/2) (*.f64 im (+.f64 re 1/2)))
(*.f64 im (+.f64 re 1))
(+.f64 im (*.f64 re im))
(+.f64 (*.f64 im 3/2) (*.f64 im (-.f64 re 1/2)))
(+.f64 (*.f64 im (-.f64 re 1/2)) (*.f64 im 3/2))
(*.f64 im (+.f64 (-.f64 re 1/2) 3/2))
(+.f64 (*.f64 im re) im)
(*.f64 im (+.f64 re 1))
(+.f64 im (*.f64 re im))
(+.f64 (*.f64 im (+.f64 re 1/2)) (*.f64 im 1/2))
(*.f64 im (+.f64 re 1))
(+.f64 im (*.f64 re im))
(+.f64 (*.f64 im -1/2) (+.f64 im (*.f64 im (+.f64 re 1/2))))
(*.f64 im (+.f64 re 1))
(+.f64 im (*.f64 re im))
(+.f64 (+.f64 im (*.f64 im re)) 0)
(*.f64 im (+.f64 re 1))
(+.f64 im (*.f64 re im))
(+.f64 0 (+.f64 im (*.f64 im re)))
(*.f64 im (+.f64 re 1))
(+.f64 im (*.f64 re im))
(+.f64 1 (+.f64 (+.f64 (*.f64 im 1/2) -1) (*.f64 im (+.f64 re 1/2))))
(*.f64 im (+.f64 re 1))
(+.f64 im (*.f64 re im))
(+.f64 (neg.f64 im) (*.f64 im (+.f64 2 re)))
(+.f64 (neg.f64 im) (*.f64 im (+.f64 re 2)))
(-.f64 (*.f64 im (+.f64 re 2)) im)
(+.f64 (+.f64 im im) (-.f64 (*.f64 im re) im))
(*.f64 im (+.f64 re 1))
(+.f64 im (*.f64 re im))
(+.f64 -1 (+.f64 (*.f64 im 1/2) (+.f64 (*.f64 im (+.f64 re 1/2)) 1)))
(*.f64 im (+.f64 re 1))
(+.f64 im (*.f64 re im))
(+.f64 -1 (-.f64 1 (*.f64 im (-.f64 -1 re))))
(*.f64 im (+.f64 re 1))
(+.f64 im (*.f64 re im))
(+.f64 (*.f64 im (-.f64 re 1/2)) (*.f64 im 3/2))
(*.f64 im (+.f64 (-.f64 re 1/2) 3/2))
(+.f64 (-.f64 (*.f64 im re) im) (+.f64 im im))
(*.f64 im (+.f64 re 1))
(+.f64 im (*.f64 re im))
(+.f64 (*.f64 im (+.f64 2 re)) (neg.f64 im))
(+.f64 (neg.f64 im) (*.f64 im (+.f64 re 2)))
(-.f64 (*.f64 im (+.f64 re 2)) im)
(+.f64 (+.f64 (*.f64 im 3/2) (*.f64 im re)) (*.f64 im -1/2))
(*.f64 im (+.f64 re 1))
(+.f64 im (*.f64 re im))
(+.f64 (+.f64 im (+.f64 im (/.f64 im -4))) (neg.f64 (+.f64 (-.f64 (/.f64 im -4) (*.f64 im re)) im)))
(+.f64 (neg.f64 (+.f64 im (-.f64 (/.f64 im -4) (*.f64 re im)))) (+.f64 (/.f64 im -4) (+.f64 im im)))
(+.f64 (neg.f64 (+.f64 im (-.f64 (/.f64 im -4) (*.f64 re im)))) (+.f64 im (+.f64 im (/.f64 im -4))))
(+.f64 im (+.f64 (/.f64 im -4) (+.f64 (*.f64 re im) (/.f64 im 4))))
(+.f64 (/.f64 im 4) (+.f64 (*.f64 im (+.f64 re 1/2)) (/.f64 im 4)))
(*.f64 im (+.f64 re 1))
(+.f64 im (*.f64 re im))
(+.f64 (/.f64 im 4) (+.f64 (+.f64 (*.f64 im re) (/.f64 im 4)) (*.f64 im 1/2)))
(*.f64 im (+.f64 re 1))
(+.f64 im (*.f64 re im))
(+.f64 (/.f64 im 4) (+.f64 (+.f64 im (+.f64 im (/.f64 im -4))) (-.f64 (*.f64 im re) im)))
(+.f64 (neg.f64 (+.f64 im (-.f64 (/.f64 im -4) (*.f64 re im)))) (+.f64 (/.f64 im -4) (+.f64 im im)))
(+.f64 (neg.f64 (+.f64 im (-.f64 (/.f64 im -4) (*.f64 re im)))) (+.f64 im (+.f64 im (/.f64 im -4))))
(+.f64 im (+.f64 (/.f64 im -4) (+.f64 (*.f64 re im) (/.f64 im 4))))
(+.f64 (/.f64 im 4) (+.f64 (/.f64 im 4) (*.f64 im (+.f64 re 1/2))))
(*.f64 im (+.f64 re 1))
(+.f64 im (*.f64 re im))
(+.f64 (/.f64 im 4) (neg.f64 (-.f64 (*.f64 im (-.f64 -1 re)) (/.f64 im -4))))
(*.f64 im (+.f64 re 1))
(+.f64 im (*.f64 re im))
(+.f64 (/.f64 im 4) (/.f64 (+.f64 (*.f64 im (-.f64 re 1/2)) (*.f64 im (+.f64 2 re))) 2))
(+.f64 (/.f64 im 4) (/.f64 (+.f64 (*.f64 im (-.f64 re 1/2)) (*.f64 im (+.f64 re 2))) 2))
(+.f64 (/.f64 im 4) (/.f64 (*.f64 im (+.f64 (-.f64 re 1/2) (+.f64 re 2))) 2))
(/.f64 (+.f64 im (*.f64 (+.f64 (-.f64 re 1/2) (+.f64 re 2)) (+.f64 im im))) 4)
(+.f64 (/.f64 im 4) (-.f64 (/.f64 im 4) (neg.f64 (*.f64 im (+.f64 re 1/2)))))
(*.f64 im (+.f64 re 1))
(+.f64 im (*.f64 re im))
(+.f64 (/.f64 im 4) (+.f64 (+.f64 im (/.f64 im -4)) (*.f64 im re)))
(+.f64 (neg.f64 (+.f64 im (-.f64 (/.f64 im -4) (*.f64 re im)))) (+.f64 (/.f64 im -4) (+.f64 im im)))
(+.f64 (neg.f64 (+.f64 im (-.f64 (/.f64 im -4) (*.f64 re im)))) (+.f64 im (+.f64 im (/.f64 im -4))))
(+.f64 im (+.f64 (/.f64 im -4) (+.f64 (*.f64 re im) (/.f64 im 4))))
(+.f64 (+.f64 (*.f64 im re) (/.f64 im 4)) (neg.f64 (*.f64 3 (/.f64 im -4))))
(+.f64 (+.f64 (*.f64 re im) (/.f64 im 4)) (neg.f64 (*.f64 im -3/4)))
(+.f64 (*.f64 re im) (+.f64 (/.f64 im 4) (neg.f64 (*.f64 im -3/4))))
(-.f64 (*.f64 re im) (*.f64 (/.f64 im -4) 4))
(+.f64 (+.f64 (*.f64 im (+.f64 re 1/2)) (/.f64 im 4)) (/.f64 im 4))
(*.f64 im (+.f64 re 1))
(+.f64 im (*.f64 re im))
(+.f64 (+.f64 (*.f64 im 1/2) (+.f64 (*.f64 im (+.f64 re 1/2)) 1)) -1)
(*.f64 im (+.f64 re 1))
(+.f64 im (*.f64 re im))
(+.f64 (+.f64 (*.f64 im re) 1) (+.f64 (+.f64 (*.f64 im 1/2) -1) (*.f64 im 1/2)))
(*.f64 im (+.f64 re 1))
(+.f64 im (*.f64 re im))
(+.f64 (+.f64 (*.f64 im (+.f64 re 1/2)) 1) (+.f64 (*.f64 im 1/2) -1))
(*.f64 im (+.f64 re 1))
(+.f64 im (*.f64 re im))
(+.f64 (/.f64 (*.f64 im re) 2) (+.f64 (/.f64 (*.f64 im re) 2) im))
(*.f64 im (+.f64 re 1))
(+.f64 im (*.f64 re im))
(+.f64 (/.f64 (*.f64 im re) 2) (-.f64 (/.f64 (*.f64 im re) 2) (neg.f64 im)))
(+.f64 (/.f64 (*.f64 re im) 2) (-.f64 (/.f64 (*.f64 re im) 2) (neg.f64 im)))
(+.f64 (/.f64 (*.f64 re im) 2) (-.f64 im (/.f64 (*.f64 re im) -2)))
(+.f64 (/.f64 (*.f64 re im) 2) (-.f64 im (*.f64 (*.f64 re im) -1/2)))
(+.f64 (/.f64 (+.f64 im (*.f64 im re)) 2) (/.f64 (+.f64 im (*.f64 im re)) 2))
(*.f64 im (+.f64 re 1))
(+.f64 im (*.f64 re im))
(+.f64 (/.f64 (*.f64 im (+.f64 re 1/2)) 2) (+.f64 (/.f64 (*.f64 im (+.f64 re 1/2)) 2) (*.f64 im 1/2)))
(*.f64 im (+.f64 re 1))
(+.f64 im (*.f64 re im))
(+.f64 (/.f64 (*.f64 im (+.f64 re 1/2)) 2) (-.f64 (/.f64 (*.f64 im (+.f64 re 1/2)) 2) (*.f64 im -1/2)))
(+.f64 (/.f64 (*.f64 (+.f64 1/2 re) im) 2) (-.f64 (/.f64 (*.f64 (+.f64 1/2 re) im) 2) (*.f64 im -1/2)))
(+.f64 (/.f64 (*.f64 im (-.f64 re -1/2)) 2) (-.f64 (/.f64 (*.f64 im (-.f64 re -1/2)) 2) (*.f64 im -1/2)))
(+.f64 (/.f64 (*.f64 im (+.f64 re 1/2)) 2) (-.f64 (/.f64 (*.f64 im re) 2) (*.f64 3 (/.f64 im -4))))
(+.f64 (/.f64 (*.f64 (+.f64 1/2 re) im) 2) (-.f64 (/.f64 (*.f64 re im) 2) (*.f64 im -3/4)))
(+.f64 (/.f64 (*.f64 im (-.f64 re -1/2)) 2) (-.f64 (/.f64 (*.f64 re im) 2) (*.f64 im -3/4)))
(+.f64 (-.f64 im (/.f64 im -4)) (-.f64 (+.f64 im (/.f64 im -4)) (-.f64 im (*.f64 im re))))
(+.f64 (-.f64 im (/.f64 im -4)) (-.f64 (*.f64 re im) (-.f64 im (+.f64 im (/.f64 im -4)))))
(+.f64 (*.f64 im 5/4) (-.f64 (*.f64 re im) (+.f64 (*.f64 im 5/4) (neg.f64 im))))
(+.f64 (*.f64 im 5/4) (+.f64 (*.f64 re im) (/.f64 im -4)))
(+.f64 (+.f64 im (/.f64 im -4)) (-.f64 (/.f64 im 4) (neg.f64 (*.f64 im re))))
(+.f64 (neg.f64 (+.f64 im (-.f64 (/.f64 im -4) (*.f64 re im)))) (+.f64 (/.f64 im -4) (+.f64 im im)))
(+.f64 (neg.f64 (+.f64 im (-.f64 (/.f64 im -4) (*.f64 re im)))) (+.f64 im (+.f64 im (/.f64 im -4))))
(+.f64 im (+.f64 (/.f64 im -4) (+.f64 (*.f64 re im) (/.f64 im 4))))
(+.f64 (+.f64 im (/.f64 im -4)) (-.f64 (+.f64 im (/.f64 im -4)) (*.f64 im (-.f64 1/2 re))))
(+.f64 (/.f64 im -4) (+.f64 im (-.f64 (+.f64 im (/.f64 im -4)) (*.f64 im (-.f64 1/2 re)))))
(+.f64 im (+.f64 (/.f64 im -4) (-.f64 (+.f64 im (/.f64 im -4)) (*.f64 im (-.f64 1/2 re)))))
(+.f64 (+.f64 (-.f64 (*.f64 im re) im) (/.f64 im 4)) (neg.f64 (+.f64 (/.f64 im -4) (*.f64 im -3/2))))
(*.f64 im (+.f64 re 1))
(+.f64 im (*.f64 re im))
(+.f64 (+.f64 (*.f64 im 1/2) -1) (+.f64 (*.f64 im (+.f64 re 1/2)) 1))
(*.f64 im (+.f64 re 1))
(+.f64 im (*.f64 re im))
(+.f64 (+.f64 -1 (*.f64 im (+.f64 re 1/2))) (+.f64 (*.f64 im 1/2) 1))
(*.f64 im (+.f64 re 1))
(+.f64 im (*.f64 re im))
(+.f64 (+.f64 -1 (*.f64 im (+.f64 re 1/2))) (neg.f64 (+.f64 (*.f64 im -1/2) -1)))
(*.f64 im (+.f64 re 1))
(+.f64 im (*.f64 re im))
(+.f64 (+.f64 (*.f64 im 1/2) 1) (+.f64 -1 (*.f64 im (+.f64 re 1/2))))
(*.f64 im (+.f64 re 1))
(+.f64 im (*.f64 re im))
(+.f64 (+.f64 -1 (+.f64 im im)) (+.f64 1 (-.f64 (*.f64 im re) im)))
(*.f64 im (+.f64 re 1))
(+.f64 im (*.f64 re im))
(+.f64 (+.f64 1 (-.f64 (*.f64 im re) im)) (+.f64 -1 (+.f64 im im)))
(*.f64 im (+.f64 re 1))
(+.f64 im (*.f64 re im))
(+.f64 (+.f64 1 (-.f64 (*.f64 im re) im)) (neg.f64 (+.f64 1 (*.f64 im -2))))
(+.f64 (+.f64 1 (-.f64 (*.f64 re im) im)) (neg.f64 (+.f64 1 (*.f64 im -2))))
(+.f64 1 (+.f64 (-.f64 (*.f64 re im) im) (+.f64 -1 (neg.f64 (*.f64 im -2)))))
(-.f64 (neg.f64 (*.f64 im -2)) (-.f64 im (*.f64 re im)))
(+.f64 (+.f64 -1 (-.f64 (*.f64 im re) im)) (+.f64 1 (+.f64 im im)))
(*.f64 im (+.f64 re 1))
(+.f64 im (*.f64 re im))
(+.f64 (+.f64 1 (+.f64 im im)) (+.f64 -1 (-.f64 (*.f64 im re) im)))
(*.f64 im (+.f64 re 1))
(+.f64 im (*.f64 re im))
(+.f64 (+.f64 1 (+.f64 im im)) (neg.f64 (+.f64 1 (-.f64 im (*.f64 im re)))))
(*.f64 im (+.f64 re 1))
(+.f64 im (*.f64 re im))
(+.f64 (+.f64 -1 (*.f64 im re)) (neg.f64 (-.f64 -1 im)))
(*.f64 im (+.f64 re 1))
(+.f64 im (*.f64 re im))
(+.f64 (+.f64 -1 (*.f64 im re)) (-.f64 1 (neg.f64 im)))
(*.f64 im (+.f64 re 1))
(+.f64 im (*.f64 re im))
(+.f64 (-.f64 (*.f64 im (+.f64 re 1/2)) (neg.f64 im)) (*.f64 im -1/2))
(*.f64 im (+.f64 re 1))
(+.f64 im (*.f64 re im))
(+.f64 (-.f64 (*.f64 im 3) (*.f64 im (-.f64 1/2 re))) (*.f64 im -3/2))
(+.f64 (*.f64 im -3/2) (-.f64 (*.f64 im 3) (*.f64 im (-.f64 1/2 re))))
(+.f64 (*.f64 im -3/2) (*.f64 im (-.f64 3 (-.f64 1/2 re))))
(+.f64 (*.f64 im -3/2) (*.f64 im (-.f64 re -5/2)))
(+.f64 (-.f64 (*.f64 im 1/2) (+.f64 (*.f64 im -1/2) -1)) (neg.f64 (-.f64 1 (*.f64 im re))))
(*.f64 im (+.f64 re 1))
(+.f64 im (*.f64 re im))
(+.f64 (-.f64 -1 (neg.f64 im)) (+.f64 (*.f64 im re) 1))
(*.f64 im (+.f64 re 1))
(+.f64 im (*.f64 re im))
(+.f64 (-.f64 -1 (*.f64 im -3/2)) (-.f64 1 (*.f64 im (-.f64 1/2 re))))
(+.f64 (-.f64 1 (*.f64 im (-.f64 1/2 re))) (-.f64 -1 (*.f64 im -3/2)))
(+.f64 (-.f64 (*.f64 im 3/2) (neg.f64 (*.f64 im re))) (*.f64 im -1/2))
(*.f64 im (+.f64 re 1))
(+.f64 im (*.f64 re im))
(+.f64 (-.f64 (+.f64 (*.f64 im (+.f64 re re)) im) (*.f64 im -1/2)) (neg.f64 (*.f64 im (+.f64 re 1/2))))
(*.f64 im (+.f64 re 1))
(+.f64 im (*.f64 re im))
(+.f64 (-.f64 -1 (*.f64 im (-.f64 1/2 re))) (-.f64 1 (*.f64 im -3/2)))
(+.f64 (-.f64 1 (*.f64 im -3/2)) (-.f64 -1 (*.f64 im (-.f64 1/2 re))))
(+.f64 (+.f64 (*.f64 im 3/2) 1) (-.f64 -1 (*.f64 im (-.f64 1/2 re))))
(+.f64 (-.f64 (*.f64 im 1/2) (+.f64 -1 (-.f64 im (*.f64 im re)))) (neg.f64 (+.f64 1 (*.f64 im -3/2))))
(-.f64 (*.f64 1/2 im) (+.f64 (+.f64 -1 (-.f64 im (*.f64 re im))) (+.f64 1 (*.f64 im -3/2))))
(-.f64 (*.f64 1/2 im) (+.f64 1 (+.f64 (*.f64 im -3/2) (+.f64 -1 (-.f64 im (*.f64 re im))))))
(+.f64 (-.f64 -1 (*.f64 im -3/2)) (+.f64 (*.f64 im (+.f64 -1/2 re)) 1))
(+.f64 (-.f64 (*.f64 im 1/2) (+.f64 -1 (*.f64 im -3/2))) (neg.f64 (+.f64 1 (-.f64 im (*.f64 im re)))))
(*.f64 im (+.f64 re 1))
(+.f64 im (*.f64 re im))
(+.f64 (-.f64 (*.f64 im (+.f64 re 1/2)) (+.f64 (*.f64 im -1/2) 1)) 1)
(*.f64 im (+.f64 re 1))
(+.f64 im (*.f64 re im))
(+.f64 (-.f64 (+.f64 im im) (/.f64 (-.f64 im (*.f64 im re)) 2)) (neg.f64 (/.f64 (-.f64 im (*.f64 im re)) 2)))
(*.f64 im (+.f64 re 1))
(+.f64 im (*.f64 re im))
(+.f64 (-.f64 (-.f64 (*.f64 im re) im) (*.f64 3 (/.f64 im -4))) (neg.f64 (-.f64 (/.f64 im -4) im)))
(+.f64 (+.f64 (*.f64 re im) (/.f64 im 4)) (neg.f64 (*.f64 im -3/4)))
(+.f64 (*.f64 re im) (+.f64 (/.f64 im 4) (neg.f64 (*.f64 im -3/4))))
(-.f64 (*.f64 re im) (*.f64 (/.f64 im -4) 4))
(+.f64 (-.f64 (-.f64 (*.f64 im re) im) (-.f64 (/.f64 im -4) im)) (neg.f64 (*.f64 3 (/.f64 im -4))))
(+.f64 (+.f64 (*.f64 re im) (/.f64 im 4)) (neg.f64 (*.f64 im -3/4)))
(+.f64 (*.f64 re im) (+.f64 (/.f64 im 4) (neg.f64 (*.f64 im -3/4))))
(-.f64 (*.f64 re im) (*.f64 (/.f64 im -4) 4))
(+.f64 (-.f64 (-.f64 (*.f64 im re) im) (+.f64 (/.f64 im -4) (*.f64 im -3/2))) (/.f64 im 4))
(*.f64 im (+.f64 re 1))
(+.f64 im (*.f64 re im))
(+.f64 (/.f64 (-.f64 (*.f64 im re) im) 2) (/.f64 (+.f64 im (*.f64 im (+.f64 2 re))) 2))
(/.f64 (+.f64 (-.f64 (*.f64 re im) im) (+.f64 im (*.f64 im (+.f64 re 2)))) 2)
(/.f64 (+.f64 im (+.f64 (-.f64 (*.f64 re im) im) (*.f64 im (+.f64 re 2)))) 2)
(/.f64 (+.f64 (*.f64 im (+.f64 re 2)) (*.f64 re im)) 2)
(+.f64 (-.f64 (/.f64 (*.f64 im (+.f64 re 1/2)) 2) (*.f64 im -1/2)) (/.f64 (*.f64 im (+.f64 re 1/2)) 2))
(+.f64 (/.f64 (*.f64 (+.f64 1/2 re) im) 2) (-.f64 (/.f64 (*.f64 (+.f64 1/2 re) im) 2) (*.f64 im -1/2)))
(+.f64 (/.f64 (*.f64 im (-.f64 re -1/2)) 2) (-.f64 (/.f64 (*.f64 im (-.f64 re -1/2)) 2) (*.f64 im -1/2)))
(+.f64 (-.f64 (/.f64 (*.f64 im (+.f64 re 1/2)) 2) (neg.f64 im)) (-.f64 (/.f64 (*.f64 im (+.f64 re 1/2)) 2) (*.f64 im 1/2)))
(+.f64 (-.f64 (/.f64 (*.f64 (+.f64 1/2 re) im) 2) (neg.f64 im)) (-.f64 (/.f64 (*.f64 (+.f64 1/2 re) im) 2) (*.f64 1/2 im)))
(+.f64 (-.f64 im (neg.f64 (/.f64 (*.f64 (+.f64 1/2 re) im) 2))) (-.f64 (/.f64 (*.f64 (+.f64 1/2 re) im) 2) (*.f64 1/2 im)))
(+.f64 (-.f64 im (/.f64 (*.f64 im (-.f64 re -1/2)) -2)) (-.f64 (/.f64 (*.f64 im (-.f64 re -1/2)) 2) (*.f64 1/2 im)))
(+.f64 (-.f64 (/.f64 (*.f64 im (+.f64 re 1/2)) 2) (*.f64 im 1/2)) (-.f64 (/.f64 (*.f64 im (+.f64 re 1/2)) 2) (neg.f64 im)))
(+.f64 (-.f64 (/.f64 (*.f64 (+.f64 1/2 re) im) 2) (neg.f64 im)) (-.f64 (/.f64 (*.f64 (+.f64 1/2 re) im) 2) (*.f64 1/2 im)))
(+.f64 (-.f64 im (neg.f64 (/.f64 (*.f64 (+.f64 1/2 re) im) 2))) (-.f64 (/.f64 (*.f64 (+.f64 1/2 re) im) 2) (*.f64 1/2 im)))
(+.f64 (-.f64 im (/.f64 (*.f64 im (-.f64 re -1/2)) -2)) (-.f64 (/.f64 (*.f64 im (-.f64 re -1/2)) 2) (*.f64 1/2 im)))
(+.f64 (-.f64 (/.f64 (*.f64 im (+.f64 re 1/2)) 2) 1) (-.f64 (/.f64 (*.f64 im (+.f64 re 1/2)) 2) (+.f64 (*.f64 im -1/2) -1)))
(*.f64 im (+.f64 re 1))
(+.f64 im (*.f64 re im))
(+.f64 (-.f64 (/.f64 (*.f64 im re) 2) im) (-.f64 (/.f64 (*.f64 im re) 2) (*.f64 im -2)))
(+.f64 (-.f64 (/.f64 (*.f64 re im) 2) im) (-.f64 (/.f64 (*.f64 re im) 2) (*.f64 im -2)))
(+.f64 (-.f64 (/.f64 im 4) (neg.f64 im)) (-.f64 (/.f64 im 4) (*.f64 im (-.f64 1/2 re))))
(+.f64 (*.f64 5 (/.f64 im 4)) (-.f64 (/.f64 im 4) (*.f64 im (-.f64 1/2 re))))
(+.f64 (*.f64 im 5/4) (-.f64 (/.f64 im 4) (*.f64 im (-.f64 1/2 re))))
(+.f64 (-.f64 (/.f64 im 4) (*.f64 im -3/2)) (-.f64 (/.f64 im 4) (-.f64 im (*.f64 im re))))
(*.f64 im (+.f64 re 1))
(+.f64 im (*.f64 re im))
(+.f64 (-.f64 (/.f64 im 4) (+.f64 (*.f64 im -1/2) -1)) (-.f64 (/.f64 im 4) (-.f64 1 (*.f64 im re))))
(+.f64 (-.f64 (/.f64 im 4) (+.f64 -1 (*.f64 im -1/2))) (-.f64 (*.f64 re im) (-.f64 1 (/.f64 im 4))))
(+.f64 1 (+.f64 (-.f64 (/.f64 im 4) (*.f64 im -1/2)) (-.f64 (*.f64 re im) (-.f64 1 (/.f64 im 4)))))
(+.f64 (-.f64 (/.f64 im 4) (neg.f64 (*.f64 im re))) (+.f64 im (/.f64 im -4)))
(+.f64 (neg.f64 (+.f64 im (-.f64 (/.f64 im -4) (*.f64 re im)))) (+.f64 (/.f64 im -4) (+.f64 im im)))
(+.f64 (neg.f64 (+.f64 im (-.f64 (/.f64 im -4) (*.f64 re im)))) (+.f64 im (+.f64 im (/.f64 im -4))))
(+.f64 im (+.f64 (/.f64 im -4) (+.f64 (*.f64 re im) (/.f64 im 4))))
(+.f64 (-.f64 (/.f64 im 4) (-.f64 im (*.f64 im re))) (-.f64 (/.f64 im 4) (*.f64 im -3/2)))
(*.f64 im (+.f64 re 1))
(+.f64 im (*.f64 re im))
(+.f64 (-.f64 (/.f64 (*.f64 im re) 2) (neg.f64 im)) (/.f64 (*.f64 im re) 2))
(+.f64 (/.f64 (*.f64 re im) 2) (-.f64 (/.f64 (*.f64 re im) 2) (neg.f64 im)))
(+.f64 (/.f64 (*.f64 re im) 2) (-.f64 im (/.f64 (*.f64 re im) -2)))
(+.f64 (/.f64 (*.f64 re im) 2) (-.f64 im (*.f64 (*.f64 re im) -1/2)))
(+.f64 (-.f64 (/.f64 (*.f64 im re) 2) 1) (-.f64 (/.f64 (*.f64 im re) 2) (-.f64 -1 im)))
(+.f64 (+.f64 (/.f64 (*.f64 re im) 2) -1) (-.f64 (/.f64 (*.f64 re im) 2) (-.f64 -1 im)))
(+.f64 (+.f64 -1 (/.f64 (*.f64 re im) 2)) (-.f64 (/.f64 (*.f64 re im) 2) (-.f64 -1 im)))
(+.f64 -1 (+.f64 (/.f64 (*.f64 re im) 2) (-.f64 (/.f64 (*.f64 re im) 2) (-.f64 -1 im))))
(+.f64 (-.f64 (/.f64 im 4) (*.f64 im (-.f64 1/2 re))) (-.f64 (/.f64 im 4) (neg.f64 im)))
(+.f64 (*.f64 5 (/.f64 im 4)) (-.f64 (/.f64 im 4) (*.f64 im (-.f64 1/2 re))))
(+.f64 (*.f64 im 5/4) (-.f64 (/.f64 im 4) (*.f64 im (-.f64 1/2 re))))
(+.f64 (-.f64 (+.f64 im (/.f64 im -4)) (neg.f64 (*.f64 im re))) (/.f64 im 4))
(+.f64 (neg.f64 (+.f64 im (-.f64 (/.f64 im -4) (*.f64 re im)))) (+.f64 (/.f64 im -4) (+.f64 im im)))
(+.f64 (neg.f64 (+.f64 im (-.f64 (/.f64 im -4) (*.f64 re im)))) (+.f64 im (+.f64 im (/.f64 im -4))))
(+.f64 im (+.f64 (/.f64 im -4) (+.f64 (*.f64 re im) (/.f64 im 4))))
(+.f64 (-.f64 (+.f64 im (/.f64 im -4)) (-.f64 im (*.f64 im re))) (-.f64 im (/.f64 im -4)))
(+.f64 (-.f64 im (/.f64 im -4)) (-.f64 (*.f64 re im) (-.f64 im (+.f64 im (/.f64 im -4)))))
(+.f64 (*.f64 im 5/4) (-.f64 (*.f64 re im) (+.f64 (*.f64 im 5/4) (neg.f64 im))))
(+.f64 (*.f64 im 5/4) (+.f64 (*.f64 re im) (/.f64 im -4)))
(+.f64 (-.f64 (/.f64 (*.f64 im re) 2) (*.f64 im -3/2)) (-.f64 (/.f64 (*.f64 im re) 2) (*.f64 im 1/2)))
(+.f64 (-.f64 (/.f64 (*.f64 re im) 2) (*.f64 1/2 im)) (-.f64 (/.f64 (*.f64 re im) 2) (*.f64 im -3/2)))
(+.f64 (-.f64 (/.f64 (*.f64 im re) 2) (+.f64 (*.f64 im -1/2) 1)) (-.f64 (/.f64 (*.f64 im re) 2) (+.f64 (*.f64 im -1/2) -1)))
(+.f64 (+.f64 (-.f64 (/.f64 (*.f64 re im) 2) (*.f64 im -1/2)) 1) (+.f64 (-.f64 (/.f64 (*.f64 re im) 2) (*.f64 im -1/2)) -1))
(+.f64 -1 (+.f64 (-.f64 (/.f64 (*.f64 re im) 2) (*.f64 im -1/2)) (+.f64 1 (-.f64 (/.f64 (*.f64 re im) 2) (*.f64 im -1/2)))))
(+.f64 -1 (+.f64 (-.f64 (/.f64 (*.f64 re im) 2) (*.f64 im -1/2)) (-.f64 (/.f64 (*.f64 re im) 2) (+.f64 -1 (*.f64 im -1/2)))))
(+.f64 (-.f64 (/.f64 (*.f64 im (+.f64 re 1/2)) 2) (+.f64 (*.f64 im -1/2) -1)) (-.f64 (/.f64 (*.f64 im (+.f64 re 1/2)) 2) 1))
(*.f64 im (+.f64 re 1))
(+.f64 im (*.f64 re im))
(+.f64 (-.f64 (/.f64 (*.f64 im (+.f64 re 1/2)) 2) im) (-.f64 (/.f64 (*.f64 im (+.f64 re 1/2)) 2) (*.f64 im -3/2)))
(+.f64 (-.f64 (/.f64 (*.f64 (+.f64 1/2 re) im) 2) im) (-.f64 (/.f64 (*.f64 (+.f64 1/2 re) im) 2) (*.f64 im -3/2)))
(+.f64 (-.f64 (/.f64 (*.f64 im (-.f64 re -1/2)) 2) im) (-.f64 (/.f64 (*.f64 im (-.f64 re -1/2)) 2) (*.f64 im -3/2)))
(+.f64 (-.f64 (/.f64 im 4) (neg.f64 (*.f64 im (+.f64 re 1/2)))) (/.f64 im 4))
(*.f64 im (+.f64 re 1))
(+.f64 im (*.f64 re im))
(+.f64 (-.f64 (+.f64 im (/.f64 im -4)) (*.f64 im (-.f64 1/2 re))) (+.f64 im (/.f64 im -4)))
(+.f64 (/.f64 im -4) (+.f64 im (-.f64 (+.f64 im (/.f64 im -4)) (*.f64 im (-.f64 1/2 re)))))
(+.f64 im (+.f64 (/.f64 im -4) (-.f64 (+.f64 im (/.f64 im -4)) (*.f64 im (-.f64 1/2 re)))))
(+.f64 (-.f64 (/.f64 (*.f64 im (+.f64 re 1/2)) 2) (*.f64 im -3/2)) (-.f64 (/.f64 (*.f64 im (+.f64 re 1/2)) 2) im))
(+.f64 (-.f64 (/.f64 (*.f64 (+.f64 1/2 re) im) 2) im) (-.f64 (/.f64 (*.f64 (+.f64 1/2 re) im) 2) (*.f64 im -3/2)))
(+.f64 (-.f64 (/.f64 (*.f64 im (-.f64 re -1/2)) 2) im) (-.f64 (/.f64 (*.f64 im (-.f64 re -1/2)) 2) (*.f64 im -3/2)))
(+.f64 (-.f64 (/.f64 (*.f64 im (+.f64 re 1/2)) 2) (+.f64 (*.f64 im -1/2) 1)) (-.f64 (/.f64 (*.f64 im (+.f64 re 1/2)) 2) -1))
(+.f64 (-.f64 (/.f64 (*.f64 (+.f64 1/2 re) im) 2) (+.f64 1 (*.f64 im -1/2))) (+.f64 (/.f64 (*.f64 (+.f64 1/2 re) im) 2) 1))
(+.f64 -1 (+.f64 (-.f64 (/.f64 (*.f64 (+.f64 1/2 re) im) 2) (*.f64 im -1/2)) (+.f64 1 (/.f64 (*.f64 (+.f64 1/2 re) im) 2))))
(+.f64 -1 (+.f64 (-.f64 (/.f64 (*.f64 im (-.f64 re -1/2)) 2) (*.f64 im -1/2)) (+.f64 1 (/.f64 (*.f64 im (-.f64 re -1/2)) 2))))
(+.f64 (-.f64 (/.f64 (*.f64 im (+.f64 re 1/2)) 2) -1) (-.f64 (/.f64 (*.f64 im (+.f64 re 1/2)) 2) (+.f64 (*.f64 im -1/2) 1)))
(+.f64 (-.f64 (/.f64 (*.f64 (+.f64 1/2 re) im) 2) (+.f64 1 (*.f64 im -1/2))) (+.f64 (/.f64 (*.f64 (+.f64 1/2 re) im) 2) 1))
(+.f64 -1 (+.f64 (-.f64 (/.f64 (*.f64 (+.f64 1/2 re) im) 2) (*.f64 im -1/2)) (+.f64 1 (/.f64 (*.f64 (+.f64 1/2 re) im) 2))))
(+.f64 -1 (+.f64 (-.f64 (/.f64 (*.f64 im (-.f64 re -1/2)) 2) (*.f64 im -1/2)) (+.f64 1 (/.f64 (*.f64 im (-.f64 re -1/2)) 2))))
(+.f64 (-.f64 (/.f64 im 4) (-.f64 -1 (*.f64 im re))) (-.f64 (/.f64 im 4) (+.f64 (*.f64 im -1/2) 1)))
(+.f64 (-.f64 (*.f64 re im) (-.f64 -1 (/.f64 im 4))) (+.f64 (-.f64 (/.f64 im 4) (*.f64 im -1/2)) -1))
(+.f64 -1 (+.f64 (-.f64 (/.f64 im 4) (*.f64 im -1/2)) (-.f64 (*.f64 re im) (-.f64 -1 (/.f64 im 4)))))
(+.f64 (-.f64 (*.f64 re im) (-.f64 -1 (/.f64 im 4))) (+.f64 -1 (-.f64 (/.f64 im 4) (*.f64 im -1/2))))
(+.f64 (-.f64 (/.f64 im 4) (+.f64 -1 (-.f64 im (*.f64 im re)))) (-.f64 (/.f64 im 4) (+.f64 1 (*.f64 im -3/2))))
(+.f64 (-.f64 (/.f64 im 4) (+.f64 -1 (-.f64 im (*.f64 re im)))) (-.f64 (/.f64 im 4) (+.f64 1 (*.f64 im -3/2))))
(+.f64 (+.f64 (-.f64 (*.f64 re im) (-.f64 im (/.f64 im 4))) 1) (+.f64 (-.f64 (/.f64 im 4) (*.f64 im -3/2)) -1))
(+.f64 (+.f64 (-.f64 (*.f64 re im) (*.f64 im 3/4)) 1) (-.f64 -1 (+.f64 (/.f64 im -4) (*.f64 im -3/2))))
(+.f64 (-.f64 (/.f64 im 4) (+.f64 -1 (*.f64 im -3/2))) (-.f64 (/.f64 im 4) (+.f64 1 (-.f64 im (*.f64 im re)))))
(+.f64 (-.f64 (/.f64 im 4) (+.f64 -1 (*.f64 im -3/2))) (-.f64 (/.f64 im 4) (+.f64 1 (-.f64 im (*.f64 re im)))))
(+.f64 (+.f64 (-.f64 (/.f64 im 4) (*.f64 im -3/2)) 1) (+.f64 (-.f64 (*.f64 re im) (-.f64 im (/.f64 im 4))) -1))
(+.f64 (-.f64 1 (+.f64 (/.f64 im -4) (*.f64 im -3/2))) (+.f64 (-.f64 (*.f64 re im) (*.f64 im 3/4)) -1))
(+.f64 (-.f64 -1 (*.f64 im (-.f64 -1 re))) 1)
(*.f64 im (+.f64 re 1))
(+.f64 im (*.f64 re im))
(*.f64 im (-.f64 re -1))
(*.f64 im (+.f64 re 1))
(+.f64 im (*.f64 re im))
(*.f64 im (-.f64 2 (-.f64 1 re)))
(*.f64 im (+.f64 re 1))
(+.f64 im (*.f64 re im))
(*.f64 im (+.f64 1 re))
(*.f64 im (+.f64 re 1))
(+.f64 im (*.f64 re im))
(*.f64 im (+.f64 re 1))
(+.f64 im (*.f64 re im))
(*.f64 1/2 (*.f64 (+.f64 im (*.f64 im re)) 2))
(*.f64 im (+.f64 re 1))
(+.f64 im (*.f64 re im))
(*.f64 1/2 (+.f64 (+.f64 im im) (*.f64 im (+.f64 re re))))
(*.f64 im (+.f64 re 1))
(+.f64 im (*.f64 re im))
(*.f64 1/2 (+.f64 (*.f64 im (+.f64 re re)) (+.f64 im im)))
(*.f64 im (+.f64 re 1))
(+.f64 im (*.f64 re im))
(*.f64 (+.f64 im (*.f64 im re)) 1)
(*.f64 im (+.f64 re 1))
(+.f64 im (*.f64 re im))
(*.f64 1 (+.f64 im (*.f64 im re)))
(*.f64 im (+.f64 re 1))
(+.f64 im (*.f64 re im))
(*.f64 (*.f64 im (-.f64 -1 re)) -1)
(*.f64 im (+.f64 re 1))
(+.f64 im (*.f64 re im))
(*.f64 (*.f64 (+.f64 im (*.f64 im re)) 2) 1/2)
(*.f64 im (+.f64 re 1))
(+.f64 im (*.f64 re im))
(*.f64 (*.f64 2 (*.f64 (+.f64 im (*.f64 im re)) 2)) 1/4)
(*.f64 im (+.f64 re 1))
(+.f64 im (*.f64 re im))
(/.f64 (+.f64 im (*.f64 im re)) 1)
(*.f64 im (+.f64 re 1))
(+.f64 im (*.f64 re im))
(/.f64 (*.f64 im (-.f64 -1 re)) -1)
(*.f64 im (+.f64 re 1))
(+.f64 im (*.f64 re im))
(/.f64 (*.f64 (+.f64 im (*.f64 im re)) 2) 2)
(*.f64 im (+.f64 re 1))
(+.f64 im (*.f64 re im))
(/.f64 (*.f64 2 (*.f64 (+.f64 im (*.f64 im re)) 2)) 4)
(*.f64 im (+.f64 re 1))
(+.f64 im (*.f64 re im))
(/.f64 (-.f64 (*.f64 im (+.f64 re re)) (*.f64 im -2)) 2)
(*.f64 im (+.f64 re 1))
(+.f64 im (*.f64 re im))
(/.f64 (+.f64 (+.f64 im im) (*.f64 im (+.f64 re re))) 2)
(*.f64 im (+.f64 re 1))
(+.f64 im (*.f64 re im))
(/.f64 (+.f64 (*.f64 im (+.f64 re re)) (+.f64 im im)) 2)
(*.f64 im (+.f64 re 1))
(+.f64 im (*.f64 re im))
(/.f64 (+.f64 (*.f64 im 4) (*.f64 (*.f64 im 4) re)) 4)
(/.f64 (+.f64 (*.f64 im 4) (*.f64 re (*.f64 im 4))) 4)
(/.f64 (*.f64 (*.f64 im 4) (+.f64 re 1)) 4)
(/.f64 (+.f64 (*.f64 2 (*.f64 (+.f64 im (*.f64 im re)) 2)) (*.f64 2 (*.f64 (+.f64 im (*.f64 im re)) 2))) 8)
(*.f64 im (+.f64 re 1))
(+.f64 im (*.f64 re im))
(/.f64 (+.f64 (*.f64 (*.f64 im 4) re) (*.f64 im 4)) 4)
(/.f64 (+.f64 (*.f64 im 4) (*.f64 re (*.f64 im 4))) 4)
(/.f64 (*.f64 (*.f64 im 4) (+.f64 re 1)) 4)
(/.f64 (+.f64 (+.f64 im im) (*.f64 2 (+.f64 (*.f64 im (+.f64 re re)) im))) 4)
(*.f64 im (+.f64 re 1))
(+.f64 im (*.f64 re im))
(/.f64 (+.f64 (*.f64 2 (+.f64 (*.f64 im (+.f64 re re)) im)) (+.f64 im im)) 4)
(*.f64 im (+.f64 re 1))
(+.f64 im (*.f64 re im))
(/.f64 (+.f64 (*.f64 im 4) (*.f64 (+.f64 im im) (+.f64 re -1))) 2)
(/.f64 (+.f64 (*.f64 (+.f64 im im) (+.f64 re -1)) (*.f64 im 4)) 2)
(/.f64 (+.f64 (*.f64 (+.f64 im im) (+.f64 re -1)) (*.f64 im 4)) 2)
(/.f64 (-.f64 (*.f64 2 (+.f64 (*.f64 im (+.f64 re re)) im)) (*.f64 im -2)) 4)
(*.f64 im (+.f64 re 1))
(+.f64 im (*.f64 re im))
(/.f64 (-.f64 (*.f64 im 4) (*.f64 im (-.f64 2 (+.f64 re re)))) 2)
(*.f64 im (+.f64 re 1))
(+.f64 im (*.f64 re im))
(/.f64 (-.f64 (*.f64 (+.f64 im im) (+.f64 re -1)) (-.f64 0 (*.f64 im 4))) 2)
(/.f64 (+.f64 (*.f64 (+.f64 im im) (+.f64 re -1)) (*.f64 im 4)) 2)
(pow.f64 (+.f64 im (*.f64 im re)) 1)
(*.f64 im (+.f64 re 1))
(+.f64 im (*.f64 re im))
(neg.f64 (*.f64 im (-.f64 -1 re)))
(*.f64 im (+.f64 re 1))
(+.f64 im (*.f64 re im))
(+.f64 im (neg.f64 (*.f64 im re)))
(*.f64 im (-.f64 1 re))
(-.f64 im (*.f64 re im))
(+.f64 (*.f64 im 1/2) (*.f64 im (-.f64 1/2 re)))
(+.f64 (*.f64 1/2 im) (*.f64 im (-.f64 1/2 re)))
(*.f64 im (+.f64 1/2 (-.f64 1/2 re)))
(+.f64 (-.f64 im (*.f64 im re)) 0)
(*.f64 im (-.f64 1 re))
(-.f64 im (*.f64 re im))
(+.f64 0 (-.f64 im (*.f64 im re)))
(*.f64 im (-.f64 1 re))
(-.f64 im (*.f64 re im))
(+.f64 (*.f64 im (-.f64 1/2 re)) (*.f64 im 1/2))
(+.f64 (*.f64 1/2 im) (*.f64 im (-.f64 1/2 re)))
(*.f64 im (+.f64 1/2 (-.f64 1/2 re)))
(+.f64 (neg.f64 (*.f64 im re)) im)
(*.f64 im (-.f64 1 re))
(-.f64 im (*.f64 re im))
(+.f64 (-.f64 im (-.f64 (*.f64 im re) im)) (neg.f64 im))
(*.f64 im (-.f64 1 re))
(-.f64 im (*.f64 re im))
(+.f64 (/.f64 im 4) (+.f64 (+.f64 im (/.f64 im -4)) (neg.f64 (*.f64 im re))))
(+.f64 (neg.f64 (*.f64 re im)) (+.f64 (+.f64 im (/.f64 im -4)) (/.f64 im 4)))
(+.f64 (/.f64 im 4) (+.f64 im (+.f64 (/.f64 im -4) (*.f64 re (neg.f64 im)))))
(+.f64 (neg.f64 (-.f64 (*.f64 re im) (*.f64 im 3/4))) (/.f64 im 4))
(+.f64 (/.f64 (-.f64 im (*.f64 im re)) 2) (/.f64 (-.f64 im (*.f64 im re)) 2))
(*.f64 im (-.f64 1 re))
(-.f64 im (*.f64 re im))
(+.f64 (-.f64 -1 (*.f64 im re)) (-.f64 1 (neg.f64 im)))
(+.f64 (-.f64 -1 (*.f64 re im)) (-.f64 1 (neg.f64 im)))
(+.f64 (-.f64 -1 (*.f64 re im)) (+.f64 im 1))
(+.f64 (-.f64 im (/.f64 (*.f64 im re) 2)) (neg.f64 (/.f64 (*.f64 im re) 2)))
(*.f64 im (-.f64 1 re))
(-.f64 im (*.f64 re im))
(+.f64 (-.f64 -1 (neg.f64 im)) (-.f64 1 (*.f64 im re)))
(+.f64 (-.f64 1 (*.f64 re im)) (-.f64 -1 (neg.f64 im)))
(+.f64 (-.f64 1 (*.f64 re im)) (+.f64 im -1))
(+.f64 (/.f64 (neg.f64 (*.f64 im re)) 2) (/.f64 (-.f64 im (-.f64 (*.f64 im re) im)) 2))
(*.f64 im (-.f64 1 re))
(-.f64 im (*.f64 re im))
(*.f64 im (-.f64 1 re))
(-.f64 im (*.f64 re im))
(*.f64 1/2 (*.f64 im (-.f64 2 (+.f64 re re))))
(*.f64 (-.f64 2 (+.f64 re re)) (*.f64 1/2 im))
(*.f64 im (*.f64 1/2 (-.f64 2 (+.f64 re re))))
(*.f64 (-.f64 im (*.f64 im re)) 1)
(*.f64 im (-.f64 1 re))
(-.f64 im (*.f64 re im))
(*.f64 1 (-.f64 im (*.f64 im re)))
(*.f64 im (-.f64 1 re))
(-.f64 im (*.f64 re im))
(*.f64 (+.f64 im im) (-.f64 1/2 (/.f64 re 2)))
(*.f64 (-.f64 (*.f64 im re) im) -1)
(*.f64 im (-.f64 1 re))
(-.f64 im (*.f64 re im))
(*.f64 (*.f64 im (-.f64 2 (+.f64 re re))) 1/2)
(*.f64 (-.f64 2 (+.f64 re re)) (*.f64 1/2 im))
(*.f64 1/2 (*.f64 im (-.f64 2 (+.f64 re re))))
(*.f64 im (*.f64 1/2 (-.f64 2 (+.f64 re re))))
(*.f64 (-.f64 1 re) im)
(*.f64 im (-.f64 1 re))
(-.f64 im (*.f64 re im))
(*.f64 (*.f64 2 (*.f64 im (-.f64 2 (+.f64 re re)))) 1/4)
(*.f64 (-.f64 2 (+.f64 re re)) (*.f64 1/2 im))
(*.f64 1/2 (*.f64 im (-.f64 2 (+.f64 re re))))
(*.f64 im (*.f64 1/2 (-.f64 2 (+.f64 re re))))
(/.f64 (-.f64 im (*.f64 im re)) 1)
(*.f64 im (-.f64 1 re))
(-.f64 im (*.f64 re im))
(/.f64 (-.f64 (*.f64 im re) im) -1)
(*.f64 im (-.f64 1 re))
(-.f64 im (*.f64 re im))
(/.f64 (*.f64 im (-.f64 2 (+.f64 re re))) 2)
(/.f64 (*.f64 2 (*.f64 im (-.f64 2 (+.f64 re re)))) 4)
(/.f64 (*.f64 im (-.f64 2 (+.f64 re re))) 2)
(/.f64 (+.f64 (*.f64 2 (*.f64 im (-.f64 2 (+.f64 re re)))) (*.f64 2 (*.f64 im (-.f64 2 (+.f64 re re))))) 8)
(/.f64 (*.f64 im (-.f64 2 (+.f64 re re))) 2)
(/.f64 (-.f64 (*.f64 im 4) (*.f64 (*.f64 im 4) re)) 4)
(/.f64 (-.f64 (*.f64 im 4) (*.f64 re (*.f64 im 4))) 4)
(/.f64 (*.f64 im (-.f64 4 (*.f64 re 4))) 4)
(pow.f64 (-.f64 im (*.f64 im re)) 1)
(*.f64 im (-.f64 1 re))
(-.f64 im (*.f64 re im))
(neg.f64 (-.f64 (*.f64 im re) im))
(*.f64 im (-.f64 1 re))
(-.f64 im (*.f64 re im))

eval192.0ms (2.4%)

Compiler

Compiled 10931 to 7048 computations (35.5% saved)

prune147.0ms (1.9%)

Pruning

20 alts after pruning (11 fresh and 9 done)

PrunedKeptTotal
New72310733
Fresh011
Picked101
Done1910
Total72520745
Error
0.0b
Counts
745 → 20
Alt Table
Click to see full alt table
StatusErrorProgram
59.0b
(-.f64 (-.f64 (+.f64 im (*.f64 im 1/2)) (*.f64 re (neg.f64 im))) (/.f64 im -2))
58.3b
(-.f64 (+.f64 (-.f64 (/.f64 im -4) (+.f64 -1 (-.f64 im (*.f64 re im)))) (-.f64 (/.f64 im -4) (+.f64 1 (*.f64 im -2)))) (/.f64 im -2))
58.3b
(-.f64 (+.f64 (-.f64 (/.f64 im -4) (+.f64 -1 (*.f64 im -2))) (-.f64 (/.f64 im -4) (+.f64 1 (-.f64 im (*.f64 re im))))) (/.f64 im -2))
58.3b
(-.f64 (+.f64 (+.f64 im -1) (-.f64 1 (*.f64 im (-.f64 1/2 re)))) (/.f64 im -2))
59.0b
(-.f64 (*.f64 re im) (/.f64 im -2))
43.9b
(+.f64 (/.f64 im 4) (+.f64 (/.f64 im 4) (*.f64 im (+.f64 re 1/2))))
56.4b
(+.f64 (-.f64 -1 (*.f64 im (-.f64 -1 re))) 1)
56.4b
(+.f64 (+.f64 (*.f64 im 1/2) (+.f64 (*.f64 im (+.f64 re 1/2)) 1)) -1)
43.9b
(+.f64 (*.f64 re im) im)
20.6b
(+.f64 (sin.f64 im) (*.f64 (sin.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))))
20.4b
(*.f64 (-.f64 (+.f64 1 (*.f64 2 re)) re) (sin.f64 im))
43.9b
(*.f64 (-.f64 (*.f64 re 3) (+.f64 re (+.f64 re -1))) im)
43.9b
(*.f64 (+.f64 1 re) im)
20.4b
(*.f64 (+.f64 -1 (+.f64 (-.f64 (*.f64 re 3) -2) (*.f64 re -2))) (sin.f64 im))
20.4b
(*.f64 (sin.f64 im) (-.f64 re -1))
0.0b
(*.f64 (exp.f64 re) (sin.f64 im))
23.4b
(*.f64 (exp.f64 re) im)
61.4b
(*.f64 re im)
20.7b
(sin.f64 im)
43.8b
im
Compiler

Compiled 240 to 175 computations (27.1% saved)

regimes53.0ms (0.7%)

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

5 calls:

12.0ms
(sin.f64 im)
11.0ms
im
11.0ms
re
8.0ms
(*.f64 (exp.f64 re) (sin.f64 im))
4.0ms
(exp.f64 re)
Results
ErrorSegmentsBranch
0.0b1re
0.0b1im
0.0b1(*.f64 (exp.f64 re) (sin.f64 im))
0.0b1(exp.f64 re)
0.0b1(sin.f64 im)
Compiler

Compiled 264 to 161 computations (39% saved)

regimes92.0ms (1.2%)

Counts
21 → 2
Calls
Call 1
Inputs
im
(*.f64 re im)
(*.f64 (+.f64 1 re) im)
(+.f64 (*.f64 re im) im)
(-.f64 (*.f64 re im) (/.f64 im -2))
(*.f64 (-.f64 (*.f64 2 re) (+.f64 re -1)) im)
(+.f64 (-.f64 -1 (*.f64 im (-.f64 -1 re))) 1)
(*.f64 (-.f64 (*.f64 re 3) (+.f64 re (+.f64 re -1))) im)
(+.f64 (+.f64 (*.f64 im 1/2) (+.f64 (*.f64 im (+.f64 re 1/2)) 1)) -1)
(+.f64 (/.f64 im 4) (+.f64 (/.f64 im 4) (*.f64 im (+.f64 re 1/2))))
(-.f64 (-.f64 (+.f64 im (*.f64 im 1/2)) (*.f64 re (neg.f64 im))) (/.f64 im -2))
(-.f64 (+.f64 (+.f64 im -1) (-.f64 1 (*.f64 im (-.f64 1/2 re)))) (/.f64 im -2))
(-.f64 (-.f64 (+.f64 im (*.f64 im 1/2)) (-.f64 im (*.f64 re im))) (/.f64 im -2))
(-.f64 (+.f64 (-.f64 (/.f64 im -4) (+.f64 -1 (*.f64 im -2))) (-.f64 (/.f64 im -4) (+.f64 1 (-.f64 im (*.f64 re im))))) (/.f64 im -2))
(-.f64 (+.f64 (-.f64 (/.f64 im -4) (+.f64 -1 (-.f64 im (*.f64 re im)))) (-.f64 (/.f64 im -4) (+.f64 1 (*.f64 im -2)))) (/.f64 im -2))
(sin.f64 im)
(*.f64 (exp.f64 re) im)
(*.f64 (sin.f64 im) (-.f64 re -1))
(*.f64 (sin.f64 im) (-.f64 (+.f64 re re) (+.f64 re -1)))
(*.f64 (-.f64 (+.f64 1 (*.f64 2 re)) re) (sin.f64 im))
(*.f64 (+.f64 -1 (+.f64 (-.f64 (*.f64 re 3) -2) (*.f64 re -2))) (sin.f64 im))
Outputs
(*.f64 (exp.f64 re) im)
(*.f64 (-.f64 (+.f64 1 (*.f64 2 re)) re) (sin.f64 im))
Calls

4 calls:

32.0ms
im
32.0ms
(sin.f64 im)
18.0ms
re
4.0ms
(exp.f64 re)
Results
ErrorSegmentsBranch
0.5b2re
8.4b3im
0.5b2(exp.f64 re)
8.6b3(sin.f64 im)
Compiler

Compiled 232 to 146 computations (37.1% saved)

bsearch0.0ms (0%)

Algorithm
left-value
Steps
TimeLeftRight
0.0ms
0.0
0.999999977491392
Compiler

Compiled 12 to 9 computations (25% saved)

regimes77.0ms (1%)

Counts
19 → 2
Calls
Call 1
Inputs
im
(*.f64 re im)
(*.f64 (+.f64 1 re) im)
(+.f64 (*.f64 re im) im)
(-.f64 (*.f64 re im) (/.f64 im -2))
(*.f64 (-.f64 (*.f64 2 re) (+.f64 re -1)) im)
(+.f64 (-.f64 -1 (*.f64 im (-.f64 -1 re))) 1)
(*.f64 (-.f64 (*.f64 re 3) (+.f64 re (+.f64 re -1))) im)
(+.f64 (+.f64 (*.f64 im 1/2) (+.f64 (*.f64 im (+.f64 re 1/2)) 1)) -1)
(+.f64 (/.f64 im 4) (+.f64 (/.f64 im 4) (*.f64 im (+.f64 re 1/2))))
(-.f64 (-.f64 (+.f64 im (*.f64 im 1/2)) (*.f64 re (neg.f64 im))) (/.f64 im -2))
(-.f64 (+.f64 (+.f64 im -1) (-.f64 1 (*.f64 im (-.f64 1/2 re)))) (/.f64 im -2))
(-.f64 (-.f64 (+.f64 im (*.f64 im 1/2)) (-.f64 im (*.f64 re im))) (/.f64 im -2))
(-.f64 (+.f64 (-.f64 (/.f64 im -4) (+.f64 -1 (*.f64 im -2))) (-.f64 (/.f64 im -4) (+.f64 1 (-.f64 im (*.f64 re im))))) (/.f64 im -2))
(-.f64 (+.f64 (-.f64 (/.f64 im -4) (+.f64 -1 (-.f64 im (*.f64 re im)))) (-.f64 (/.f64 im -4) (+.f64 1 (*.f64 im -2)))) (/.f64 im -2))
(sin.f64 im)
(*.f64 (exp.f64 re) im)
(*.f64 (sin.f64 im) (-.f64 re -1))
(*.f64 (sin.f64 im) (-.f64 (+.f64 re re) (+.f64 re -1)))
Outputs
(*.f64 (exp.f64 re) im)
(*.f64 (sin.f64 im) (-.f64 re -1))
Calls

4 calls:

25.0ms
(sin.f64 im)
25.0ms
im
17.0ms
re
5.0ms
(exp.f64 re)
Results
ErrorSegmentsBranch
0.5b2re
8.4b3im
0.5b2(exp.f64 re)
8.6b3(sin.f64 im)
Compiler

Compiled 208 to 130 computations (37.5% saved)

bsearch0.0ms (0%)

Algorithm
left-value
Steps
TimeLeftRight
0.0ms
0.0
0.999999977491392
Compiler

Compiled 12 to 9 computations (25% saved)

regimes71.0ms (0.9%)

Counts
17 → 2
Calls
Call 1
Inputs
im
(*.f64 re im)
(*.f64 (+.f64 1 re) im)
(+.f64 (*.f64 re im) im)
(-.f64 (*.f64 re im) (/.f64 im -2))
(*.f64 (-.f64 (*.f64 2 re) (+.f64 re -1)) im)
(+.f64 (-.f64 -1 (*.f64 im (-.f64 -1 re))) 1)
(*.f64 (-.f64 (*.f64 re 3) (+.f64 re (+.f64 re -1))) im)
(+.f64 (+.f64 (*.f64 im 1/2) (+.f64 (*.f64 im (+.f64 re 1/2)) 1)) -1)
(+.f64 (/.f64 im 4) (+.f64 (/.f64 im 4) (*.f64 im (+.f64 re 1/2))))
(-.f64 (-.f64 (+.f64 im (*.f64 im 1/2)) (*.f64 re (neg.f64 im))) (/.f64 im -2))
(-.f64 (+.f64 (+.f64 im -1) (-.f64 1 (*.f64 im (-.f64 1/2 re)))) (/.f64 im -2))
(-.f64 (-.f64 (+.f64 im (*.f64 im 1/2)) (-.f64 im (*.f64 re im))) (/.f64 im -2))
(-.f64 (+.f64 (-.f64 (/.f64 im -4) (+.f64 -1 (*.f64 im -2))) (-.f64 (/.f64 im -4) (+.f64 1 (-.f64 im (*.f64 re im))))) (/.f64 im -2))
(-.f64 (+.f64 (-.f64 (/.f64 im -4) (+.f64 -1 (-.f64 im (*.f64 re im)))) (-.f64 (/.f64 im -4) (+.f64 1 (*.f64 im -2)))) (/.f64 im -2))
(sin.f64 im)
(*.f64 (exp.f64 re) im)
Outputs
(*.f64 (exp.f64 re) im)
(sin.f64 im)
Calls

4 calls:

23.0ms
(sin.f64 im)
23.0ms
im
16.0ms
re
5.0ms
(exp.f64 re)
Results
ErrorSegmentsBranch
1.0b2re
8.6b3im
1.0b2(exp.f64 re)
8.8b3(sin.f64 im)
Compiler

Compiled 192 to 122 computations (36.5% saved)

bsearch0.0ms (0%)

Algorithm
left-value
Steps
TimeLeftRight
0.0ms
0.9999999995642196
0.9999999999995521
Compiler

Compiled 12 to 9 computations (25% saved)

regimes63.0ms (0.8%)

Counts
16 → 2
Calls
Call 1
Inputs
im
(*.f64 re im)
(*.f64 (+.f64 1 re) im)
(+.f64 (*.f64 re im) im)
(-.f64 (*.f64 re im) (/.f64 im -2))
(*.f64 (-.f64 (*.f64 2 re) (+.f64 re -1)) im)
(+.f64 (-.f64 -1 (*.f64 im (-.f64 -1 re))) 1)
(*.f64 (-.f64 (*.f64 re 3) (+.f64 re (+.f64 re -1))) im)
(+.f64 (+.f64 (*.f64 im 1/2) (+.f64 (*.f64 im (+.f64 re 1/2)) 1)) -1)
(+.f64 (/.f64 im 4) (+.f64 (/.f64 im 4) (*.f64 im (+.f64 re 1/2))))
(-.f64 (-.f64 (+.f64 im (*.f64 im 1/2)) (*.f64 re (neg.f64 im))) (/.f64 im -2))
(-.f64 (+.f64 (+.f64 im -1) (-.f64 1 (*.f64 im (-.f64 1/2 re)))) (/.f64 im -2))
(-.f64 (-.f64 (+.f64 im (*.f64 im 1/2)) (-.f64 im (*.f64 re im))) (/.f64 im -2))
(-.f64 (+.f64 (-.f64 (/.f64 im -4) (+.f64 -1 (*.f64 im -2))) (-.f64 (/.f64 im -4) (+.f64 1 (-.f64 im (*.f64 re im))))) (/.f64 im -2))
(-.f64 (+.f64 (-.f64 (/.f64 im -4) (+.f64 -1 (-.f64 im (*.f64 re im)))) (-.f64 (/.f64 im -4) (+.f64 1 (*.f64 im -2)))) (/.f64 im -2))
(sin.f64 im)
Outputs
(+.f64 (+.f64 (*.f64 im 1/2) (+.f64 (*.f64 im (+.f64 re 1/2)) 1)) -1)
(sin.f64 im)
Calls

3 calls:

22.0ms
(sin.f64 im)
21.0ms
im
15.0ms
re
Results
ErrorSegmentsBranch
16.6b2re
19.5b3im
19.5b3(sin.f64 im)
Compiler

Compiled 184 to 117 computations (36.4% saved)

bsearch41.0ms (0.5%)

Algorithm
binary-search
Steps
TimeLeftRight
41.0ms
-8626294.613288978
-2.2508608270380455e-8
Results
20.0ms102×body256valid
14.0ms41×body1024valid
5.0ms17×body512valid
Compiler

Compiled 222 to 179 computations (19.4% saved)

regimes40.0ms (0.5%)

Counts
15 → 2
Calls
Call 1
Inputs
im
(*.f64 re im)
(*.f64 (+.f64 1 re) im)
(+.f64 (*.f64 re im) im)
(-.f64 (*.f64 re im) (/.f64 im -2))
(*.f64 (-.f64 (*.f64 2 re) (+.f64 re -1)) im)
(+.f64 (-.f64 -1 (*.f64 im (-.f64 -1 re))) 1)
(*.f64 (-.f64 (*.f64 re 3) (+.f64 re (+.f64 re -1))) im)
(+.f64 (+.f64 (*.f64 im 1/2) (+.f64 (*.f64 im (+.f64 re 1/2)) 1)) -1)
(+.f64 (/.f64 im 4) (+.f64 (/.f64 im 4) (*.f64 im (+.f64 re 1/2))))
(-.f64 (-.f64 (+.f64 im (*.f64 im 1/2)) (*.f64 re (neg.f64 im))) (/.f64 im -2))
(-.f64 (+.f64 (+.f64 im -1) (-.f64 1 (*.f64 im (-.f64 1/2 re)))) (/.f64 im -2))
(-.f64 (-.f64 (+.f64 im (*.f64 im 1/2)) (-.f64 im (*.f64 re im))) (/.f64 im -2))
(-.f64 (+.f64 (-.f64 (/.f64 im -4) (+.f64 -1 (*.f64 im -2))) (-.f64 (/.f64 im -4) (+.f64 1 (-.f64 im (*.f64 re im))))) (/.f64 im -2))
(-.f64 (+.f64 (-.f64 (/.f64 im -4) (+.f64 -1 (-.f64 im (*.f64 re im)))) (-.f64 (/.f64 im -4) (+.f64 1 (*.f64 im -2)))) (/.f64 im -2))
Outputs
(+.f64 (+.f64 (*.f64 im 1/2) (+.f64 (*.f64 im (+.f64 re 1/2)) 1)) -1)
(+.f64 (*.f64 re im) im)
Calls

2 calls:

21.0ms
im
15.0ms
re
Results
ErrorSegmentsBranch
39.3b2re
42.6b3im
Compiler

Compiled 178 to 113 computations (36.5% saved)

bsearch34.0ms (0.4%)

Algorithm
binary-search
Steps
TimeLeftRight
33.0ms
-8626294.613288978
-2.2508608270380455e-8
Results
17.0ms114×body256valid
11.0ms31×body1024valid
3.0ms15×body512valid
Compiler

Compiled 252 to 189 computations (25% saved)

regimes26.0ms (0.3%)

Counts
8 → 2
Calls
Call 1
Inputs
im
(*.f64 re im)
(*.f64 (+.f64 1 re) im)
(+.f64 (*.f64 re im) im)
(-.f64 (*.f64 re im) (/.f64 im -2))
(*.f64 (-.f64 (*.f64 2 re) (+.f64 re -1)) im)
(+.f64 (-.f64 -1 (*.f64 im (-.f64 -1 re))) 1)
(*.f64 (-.f64 (*.f64 re 3) (+.f64 re (+.f64 re -1))) im)
Outputs
(+.f64 (-.f64 -1 (*.f64 im (-.f64 -1 re))) 1)
(+.f64 (*.f64 re im) im)
Calls

2 calls:

14.0ms
im
10.0ms
re
Results
ErrorSegmentsBranch
39.3b2re
42.6b3im
Compiler

Compiled 58 to 34 computations (41.4% saved)

bsearch34.0ms (0.4%)

Algorithm
binary-search
Steps
TimeLeftRight
34.0ms
-8626294.613288978
-2.2508608270380455e-8
Results
17.0ms113×body256valid
12.0ms34×body1024valid
3.0ms13×body512valid
Compiler

Compiled 212 to 159 computations (25% saved)

regimes13.0ms (0.2%)

Accuracy

Total -18.0b remaining (-41.2%)

Threshold costs -18.0b (-41.2%)

Counts
6 → 1
Calls
Call 1
Inputs
im
(*.f64 re im)
(*.f64 (+.f64 1 re) im)
(+.f64 (*.f64 re im) im)
(-.f64 (*.f64 re im) (/.f64 im -2))
(*.f64 (-.f64 (*.f64 2 re) (+.f64 re -1)) im)
Outputs
im
Calls

2 calls:

7.0ms
re
4.0ms
im
Results
ErrorSegmentsBranch
43.8b1re
43.8b1im
Compiler

Compiled 38 to 20 computations (47.4% saved)

simplify5.0ms (0.1%)

Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
047296
Stop Event
fuel
saturated
Calls
Call 1
Inputs
(*.f64 (exp.f64 re) (sin.f64 im))
(if (<=.f64 (exp.f64 re) 0) (*.f64 (exp.f64 re) im) (*.f64 (-.f64 (+.f64 1 (*.f64 2 re)) re) (sin.f64 im)))
(if (<=.f64 (exp.f64 re) 0) (*.f64 (exp.f64 re) im) (*.f64 (sin.f64 im) (-.f64 re -1)))
(if (<=.f64 (exp.f64 re) 140737488299033/140737488355328) (*.f64 (exp.f64 re) im) (sin.f64 im))
(if (<=.f64 re -220) (+.f64 (+.f64 (*.f64 im 1/2) (+.f64 (*.f64 im (+.f64 re 1/2)) 1)) -1) (sin.f64 im))
(if (<=.f64 re -1) (+.f64 (+.f64 (*.f64 im 1/2) (+.f64 (*.f64 im (+.f64 re 1/2)) 1)) -1) (+.f64 (*.f64 re im) im))
(if (<=.f64 re -1) (+.f64 (-.f64 -1 (*.f64 im (-.f64 -1 re))) 1) (+.f64 (*.f64 re im) im))
im
Outputs
(*.f64 (exp.f64 re) (sin.f64 im))
(if (<=.f64 (exp.f64 re) 0) (*.f64 (exp.f64 re) im) (*.f64 (-.f64 (+.f64 1 (*.f64 2 re)) re) (sin.f64 im)))
(if (<=.f64 (exp.f64 re) 0) (*.f64 (exp.f64 re) im) (*.f64 (sin.f64 im) (-.f64 re -1)))
(if (<=.f64 (exp.f64 re) 140737488299033/140737488355328) (*.f64 (exp.f64 re) im) (sin.f64 im))
(if (<=.f64 re -220) (+.f64 (+.f64 (*.f64 im 1/2) (+.f64 (*.f64 im (+.f64 re 1/2)) 1)) -1) (sin.f64 im))
(if (<=.f64 re -1) (+.f64 (+.f64 (*.f64 im 1/2) (+.f64 (*.f64 im (+.f64 re 1/2)) 1)) -1) (+.f64 (*.f64 re im) im))
(if (<=.f64 re -1) (+.f64 (-.f64 -1 (*.f64 im (-.f64 -1 re))) 1) (+.f64 (*.f64 re im) im))
im
Compiler

Compiled 126 to 87 computations (31% saved)

soundness0.0ms (0%)

end57.0ms (0.7%)

Compiler

Compiled 112 to 62 computations (44.6% saved)

Profiling

Loading profile data...