Details

Time bar (total: 26.6s)

analyze171.0ms (0.6%)

Algorithm
search
Search
ProbabilityValidUnknownPreconditionInfiniteDomainCan'tIter
0%0%99.9%0.1%0%0%0%0
0%0%99.9%0.1%0%0%0%1
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)

sample8.6s (32.3%)

Results
3.5s6259×body256valid
2.1s1322×body1024valid
1.2s671×body1024infinite
835.0ms671×body512valid
499.0ms339×body512infinite
442.0ms505×body256infinite
15.0msbody2048valid
Bogosity

preprocess824.0ms (3.1%)

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)

simplify738.0ms (2.8%)

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))

eval1.0ms (0%)

Compiler

Compiled 7 to 5 computations (28.6% saved)

prune1.0ms (0%)

Pruning

2 alts after pruning (2 fresh and 0 done)

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

Compiled 7 to 5 computations (28.6% saved)

localize10.0ms (0%)

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)

series34.0ms (0.1%)

Counts
1 → 24
Calls

6 calls:

TimeVariablePointExpression
15.0ms
re
@0
(*.f64 (exp.f64 re) (sin.f64 im))
15.0ms
im
@inf
(*.f64 (exp.f64 re) (sin.f64 im))
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
@-inf
(*.f64 (exp.f64 re) (sin.f64 im))

rewrite361.0ms (1.4%)

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)))))

simplify147.0ms (0.6%)

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))

eval54.0ms (0.2%)

Compiler

Compiled 850 to 451 computations (46.9% saved)

prune27.0ms (0.1%)

Pruning

5 alts after pruning (4 fresh and 1 done)

PrunedKeptTotal
New49453
Fresh000
Picked011
Done000
Total49554
Error
0.0b
Counts
54 → 5
Alt Table
Click to see full alt table
StatusErrorProgram
19.8b
(+.f64 (sin.f64 im) (*.f64 (sin.f64 im) re))
19.8b
(*.f64 (sin.f64 im) (-.f64 re -1))
0.0b
(*.f64 (exp.f64 re) (sin.f64 im))
20.9b
(*.f64 (exp.f64 re) im)
19.7b
(sin.f64 im)
Compiler

Compiled 34 to 23 computations (32.4% saved)

localize28.0ms (0.1%)

Compiler

Compiled 5 to 3 computations (40% saved)

localize7.0ms (0%)

Local error

Found 1 expressions with local error:

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

Compiled 10 to 4 computations (60% saved)

series7.0ms (0%)

Counts
1 → 4
Calls

6 calls:

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

rewrite362.0ms (1.4%)

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)))))

simplify148.0ms (0.6%)

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))

localize48.0ms (0.2%)

Local error

Found 1 expressions with local error:

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

Compiled 16 to 9 computations (43.8% saved)

series6.0ms (0%)

Counts
1 → 24
Calls

6 calls:

TimeVariablePointExpression
2.0ms
im
@0
(*.f64 (sin.f64 im) (-.f64 re -1))
1.0ms
im
@-inf
(*.f64 (sin.f64 im) (-.f64 re -1))
1.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))

rewrite226.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)))))

simplify212.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))

localize27.0ms (0.1%)

Local error

Found 2 expressions with local error:

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

Compiled 17 to 5 computations (70.6% saved)

series4.0ms (0%)

Counts
2 → 11
Calls

12 calls:

TimeVariablePointExpression
0.0ms
re
@inf
(*.f64 (sin.f64 im) re)
0.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
@inf
(*.f64 (sin.f64 im) re)

rewrite510.0ms (1.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)))))))

simplify437.0ms (1.6%)

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))

eval370.0ms (1.4%)

Compiler

Compiled 4450 to 2676 computations (39.9% saved)

prune359.0ms (1.4%)

Pruning

7 alts after pruning (3 fresh and 4 done)

PrunedKeptTotal
New2833286
Fresh000
Picked101
Done044
Total2847291
Error
0.0b
Counts
291 → 7
Alt Table
Click to see full alt table
StatusErrorProgram
40.5b
(+.f64 (*.f64 re im) im)
19.8b
(*.f64 (sin.f64 im) (-.f64 (+.f64 re re) (+.f64 re -1)))
19.8b
(*.f64 (sin.f64 im) (-.f64 re -1))
0.0b
(*.f64 (exp.f64 re) (sin.f64 im))
20.9b
(*.f64 (exp.f64 re) im)
19.7b
(sin.f64 im)
40.2b
im
Compiler

Compiled 47 to 32 computations (31.9% saved)

localize45.0ms (0.2%)

Local error

Found 2 expressions with local error:

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

Compiled 30 to 14 computations (53.3% saved)

series5.0ms (0%)

Counts
2 → 36
Calls

9 calls:

TimeVariablePointExpression
2.0ms
im
@0
(*.f64 (sin.f64 im) (-.f64 (+.f64 re re) (+.f64 re -1)))
1.0ms
im
@inf
(*.f64 (sin.f64 im) (-.f64 (+.f64 re re) (+.f64 re -1)))
1.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)))
0.0ms
re
@0
(*.f64 (sin.f64 im) (-.f64 (+.f64 re re) (+.f64 re -1)))

rewrite292.0ms (1.1%)

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))))))

simplify331.0ms (1.2%)

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)

localize23.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)

series3.0ms (0%)

Counts
1 → 21
Calls

6 calls:

TimeVariablePointExpression
1.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)

rewrite395.0ms (1.5%)

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)))))))

simplify367.0ms (1.4%)

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))

eval659.0ms (2.5%)

Compiler

Compiled 2848 to 1697 computations (40.4% saved)

prune308.0ms (1.2%)

Pruning

11 alts after pruning (6 fresh and 5 done)

PrunedKeptTotal
New2075212
Fresh011
Picked011
Done145
Total20811219
Error
0.0b
Counts
219 → 11
Alt Table
Click to see full alt table
StatusErrorProgram
40.7b
(-.f64 (-.f64 (+.f64 im (*.f64 im 1/2)) (-.f64 im (*.f64 re im))) (/.f64 im -2))
40.5b
(+.f64 (*.f64 re im) im)
19.8b
(*.f64 (-.f64 (+.f64 1 (*.f64 2 re)) re) (sin.f64 im))
40.5b
(*.f64 (-.f64 (*.f64 2 re) (+.f64 re -1)) im)
19.8b
(*.f64 (sin.f64 im) (-.f64 re -1))
19.8b
(*.f64 (sin.f64 im) (+.f64 (-.f64 -1 re) (+.f64 re (+.f64 re 2))))
0.0b
(*.f64 (exp.f64 re) (sin.f64 im))
20.9b
(*.f64 (exp.f64 re) im)
61.4b
(*.f64 re im)
19.7b
(sin.f64 im)
40.2b
im
Compiler

Compiled 153 to 106 computations (30.7% saved)

localize87.0ms (0.3%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.0b
(-.f64 (+.f64 1 (*.f64 2 re)) re)
0.0b
(*.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
@inf
(*.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
im
@inf
(*.f64 (-.f64 (+.f64 1 (*.f64 2 re)) re) (sin.f64 im))

rewrite313.0ms (1.2%)

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))))))

simplify651.0ms (2.5%)

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)

localize19.0ms (0.1%)

Compiler

Compiled 7 to 3 computations (57.1% saved)

localize187.0ms (0.7%)

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)

series3.0ms (0%)

Counts
2 → 36
Calls

9 calls:

TimeVariablePointExpression
1.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
@-inf
(*.f64 (-.f64 (*.f64 2 re) (+.f64 re -1)) im)
0.0ms
re
@0
(*.f64 (-.f64 (*.f64 2 re) (+.f64 re -1)) im)

rewrite668.0ms (2.5%)

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)))))))

simplify700.0ms (2.6%)

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))

localize417.0ms (1.6%)

Local error

Found 3 expressions with local error:

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

Compiled 51 to 24 computations (52.9% saved)

series4.0ms (0%)

Counts
3 → 60
Calls

15 calls:

TimeVariablePointExpression
0.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
@inf
(-.f64 (-.f64 (+.f64 im (*.f64 im 1/2)) (-.f64 im (*.f64 re im))) (/.f64 im -2))
0.0ms
im
@0
(-.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))

rewrite432.0ms (1.6%)

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
226443
3123833
Stop Event
node limit
Counts
3 → 292
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 im 1/2))
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 (*.f64 im -1/2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 im 1/2) (neg.f64 im))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 im 3/2) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 im -1/2) (*.f64 im -2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (*.f64 im -3/2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (neg.f64 im) (-.f64 (*.f64 im -2) (*.f64 im 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 im im) (*.f64 im 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 -1 (-.f64 (+.f64 (*.f64 im -1/2) -1) im))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 im -4) (+.f64 (/.f64 im -4) (*.f64 im -3/2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 im -4) (-.f64 (-.f64 (/.f64 im -4) im) (*.f64 im 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 im 3) (*.f64 im 3/2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 im (*.f64 im 3/2)) im)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 im (+.f64 im (/.f64 im -4))) (/.f64 im 4))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 im 4) (-.f64 (/.f64 im -4) im))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 im 4) (-.f64 (*.f64 3 (/.f64 im -4)) (*.f64 im 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 im (/.f64 im -4)) (/.f64 im -4))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 im (/.f64 im -4)) (*.f64 3 (/.f64 im -4)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (*.f64 im 1/2) -1) (-.f64 -1 im))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (*.f64 im 1/2) 1) (-.f64 (+.f64 (*.f64 im -1/2) 1) (*.f64 im 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (*.f64 im 1/2) (*.f64 im 3)) (+.f64 im im))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (/.f64 im 4) im) (/.f64 im -4))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 (*.f64 im 1/2) (+.f64 (*.f64 im -1/2) 1)) (+.f64 (*.f64 im -1/2) -1))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 (*.f64 im 1/2) (+.f64 (*.f64 im -1/2) -1)) (+.f64 (*.f64 im -1/2) 1))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 (/.f64 im 4) (neg.f64 im)) (/.f64 im -4))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 (/.f64 im 4) (+.f64 (*.f64 im -1/2) -1)) (-.f64 (+.f64 (*.f64 im -1/2) 1) (/.f64 im 4)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 (/.f64 im 4) (*.f64 im -2)) (+.f64 im (/.f64 im -4)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 (/.f64 im 4) (-.f64 -1 im)) (-.f64 1 (/.f64 im 4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 im 3/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 im 3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 im 3/2) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (*.f64 im 3/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 im im) 3/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (*.f64 im -3/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 im -3/2) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 im 3) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 3/2 im)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (*.f64 im 3)) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 3 (*.f64 im 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -3 (*.f64 im -1/2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 im 3/2) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 im -3/2) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 im 3) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 im 3)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 im 3)) (*.f64 2 (*.f64 im 3))) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 im 4) (+.f64 im im)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 im 4) (*.f64 im -2)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 im 3/2) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (*.f64 im -3/2))))))

simplify438.0ms (1.6%)

Algorithm
egg-herbie
Rules
1170×rational_best-simplify-51
1046×rational_best-simplify-57
756×rational_best-simplify-65
668×rational_best-simplify-3
592×rational_best-simplify-47
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
05787412
113507120
232416754
Stop Event
node limit
Counts
352 → 457
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 3/2 im)
(*.f64 3/2 im)
(*.f64 3/2 im)
(*.f64 3/2 im)
(*.f64 3/2 im)
(*.f64 3/2 im)
(*.f64 3/2 im)
(*.f64 3/2 im)
(*.f64 3/2 im)
(*.f64 3/2 im)
(*.f64 3/2 im)
(*.f64 3/2 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 (*.f64 im -1/2))
(-.f64 (*.f64 im 1/2) (neg.f64 im))
(-.f64 (*.f64 im 3/2) 0)
(-.f64 (*.f64 im -1/2) (*.f64 im -2))
(-.f64 0 (*.f64 im -3/2))
(-.f64 (neg.f64 im) (-.f64 (*.f64 im -2) (*.f64 im 1/2)))
(-.f64 (+.f64 im im) (*.f64 im 1/2))
(-.f64 -1 (-.f64 (+.f64 (*.f64 im -1/2) -1) im))
(-.f64 (/.f64 im -4) (+.f64 (/.f64 im -4) (*.f64 im -3/2)))
(-.f64 (/.f64 im -4) (-.f64 (-.f64 (/.f64 im -4) im) (*.f64 im 1/2)))
(-.f64 (*.f64 im 3) (*.f64 im 3/2))
(-.f64 (+.f64 im (*.f64 im 3/2)) im)
(-.f64 (+.f64 im (+.f64 im (/.f64 im -4))) (/.f64 im 4))
(-.f64 (/.f64 im 4) (-.f64 (/.f64 im -4) im))
(-.f64 (/.f64 im 4) (-.f64 (*.f64 3 (/.f64 im -4)) (*.f64 im 1/2)))
(-.f64 (-.f64 im (/.f64 im -4)) (/.f64 im -4))
(-.f64 (+.f64 im (/.f64 im -4)) (*.f64 3 (/.f64 im -4)))
(-.f64 (+.f64 (*.f64 im 1/2) -1) (-.f64 -1 im))
(-.f64 (+.f64 (*.f64 im 1/2) 1) (-.f64 (+.f64 (*.f64 im -1/2) 1) (*.f64 im 1/2)))
(-.f64 (+.f64 (*.f64 im 1/2) (*.f64 im 3)) (+.f64 im im))
(-.f64 (+.f64 (/.f64 im 4) im) (/.f64 im -4))
(-.f64 (-.f64 (*.f64 im 1/2) (+.f64 (*.f64 im -1/2) 1)) (+.f64 (*.f64 im -1/2) -1))
(-.f64 (-.f64 (*.f64 im 1/2) (+.f64 (*.f64 im -1/2) -1)) (+.f64 (*.f64 im -1/2) 1))
(-.f64 (-.f64 (/.f64 im 4) (neg.f64 im)) (/.f64 im -4))
(-.f64 (-.f64 (/.f64 im 4) (+.f64 (*.f64 im -1/2) -1)) (-.f64 (+.f64 (*.f64 im -1/2) 1) (/.f64 im 4)))
(-.f64 (-.f64 (/.f64 im 4) (*.f64 im -2)) (+.f64 im (/.f64 im -4)))
(-.f64 (-.f64 (/.f64 im 4) (-.f64 -1 im)) (-.f64 1 (/.f64 im 4)))
(*.f64 im 3/2)
(*.f64 1/2 (*.f64 im 3))
(*.f64 (*.f64 im 3/2) 1)
(*.f64 1 (*.f64 im 3/2))
(*.f64 (+.f64 im im) 3/4)
(*.f64 -1 (*.f64 im -3/2))
(*.f64 (*.f64 im -3/2) -1)
(*.f64 (*.f64 im 3) 1/2)
(*.f64 3/2 im)
(*.f64 (*.f64 2 (*.f64 im 3)) 1/4)
(*.f64 3 (*.f64 im 1/2))
(*.f64 -3 (*.f64 im -1/2))
(/.f64 (*.f64 im 3/2) 1)
(/.f64 (*.f64 im -3/2) -1)
(/.f64 (*.f64 im 3) 2)
(/.f64 (*.f64 2 (*.f64 im 3)) 4)
(/.f64 (+.f64 (*.f64 2 (*.f64 im 3)) (*.f64 2 (*.f64 im 3))) 8)
(/.f64 (+.f64 (*.f64 im 4) (+.f64 im im)) 4)
(/.f64 (-.f64 (*.f64 im 4) (*.f64 im -2)) 4)
(pow.f64 (*.f64 im 3/2) 1)
(neg.f64 (*.f64 im -3/2))
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 -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 -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 -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 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 (+.f64 (*.f64 re -1) -1) (neg.f64 im))
(*.f64 (+.f64 -1 (neg.f64 re)) (neg.f64 im))
(*.f64 im (neg.f64 (+.f64 -1 (neg.f64 re))))
(*.f64 -1 (*.f64 im (-.f64 (*.f64 -1 re) 1)))
(*.f64 (+.f64 (*.f64 re -1) -1) (neg.f64 im))
(*.f64 (+.f64 -1 (neg.f64 re)) (neg.f64 im))
(*.f64 im (neg.f64 (+.f64 -1 (neg.f64 re))))
(*.f64 -1 (*.f64 im (-.f64 (*.f64 -1 re) 1)))
(*.f64 (+.f64 (*.f64 re -1) -1) (neg.f64 im))
(*.f64 (+.f64 -1 (neg.f64 re)) (neg.f64 im))
(*.f64 im (neg.f64 (+.f64 -1 (neg.f64 re))))
(*.f64 -1 (*.f64 im (-.f64 (*.f64 -1 re) 1)))
(*.f64 (+.f64 (*.f64 re -1) -1) (neg.f64 im))
(*.f64 (+.f64 -1 (neg.f64 re)) (neg.f64 im))
(*.f64 im (neg.f64 (+.f64 -1 (neg.f64 re))))
(-.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 3/2 im)
(*.f64 im 3/2)
(*.f64 3/2 im)
(*.f64 im 3/2)
(*.f64 3/2 im)
(*.f64 im 3/2)
(*.f64 3/2 im)
(*.f64 im 3/2)
(*.f64 3/2 im)
(*.f64 im 3/2)
(*.f64 3/2 im)
(*.f64 im 3/2)
(*.f64 3/2 im)
(*.f64 im 3/2)
(*.f64 3/2 im)
(*.f64 im 3/2)
(*.f64 3/2 im)
(*.f64 im 3/2)
(*.f64 3/2 im)
(*.f64 im 3/2)
(*.f64 3/2 im)
(*.f64 im 3/2)
(*.f64 3/2 im)
(*.f64 im 3/2)
(+.f64 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 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 im -4) (-.f64 (/.f64 im -4) (*.f64 im (-.f64 -1 re))))
(+.f64 (/.f64 im -4) (-.f64 (/.f64 im -4) (*.f64 im (-.f64 -1 re))))
(+.f64 (/.f64 im -4) (neg.f64 (-.f64 (*.f64 im (-.f64 -1 re)) (/.f64 im -4))))
(+.f64 (+.f64 (*.f64 im -1/2) -1) (-.f64 1 (*.f64 im (-.f64 -1 re))))
(+.f64 (+.f64 -1 (*.f64 im -1/2)) (-.f64 1 (*.f64 im (-.f64 -1 re))))
(+.f64 (*.f64 im -1/2) (*.f64 (-.f64 -1 re) (neg.f64 im)))
(+.f64 (*.f64 im -1/2) (*.f64 im (neg.f64 (-.f64 -1 re))))
(+.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 im (+.f64 (/.f64 im -4) (+.f64 im (-.f64 (/.f64 im -4) (*.f64 re im)))))
(+.f64 (*.f64 im 5/4) (neg.f64 (+.f64 im (-.f64 (/.f64 im -4) (*.f64 re im)))))
(+.f64 (-.f64 (*.f64 im (-.f64 re -5/4)) im) (/.f64 im 4))
(+.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 im (+.f64 (/.f64 im -4) (+.f64 im (+.f64 (/.f64 im -4) (-.f64 (*.f64 re im) 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 1/2 im) (+.f64 im (-.f64 (/.f64 im -4) (*.f64 re im)))))
(+.f64 (/.f64 im -4) (+.f64 im (-.f64 (*.f64 1/2 im) (+.f64 im (-.f64 (/.f64 im -4) (*.f64 re im))))))
(+.f64 im (+.f64 (/.f64 im -4) (+.f64 (neg.f64 im) (+.f64 (*.f64 im 3/4) (*.f64 re im)))))
(+.f64 (+.f64 im (/.f64 im -4)) (-.f64 (+.f64 im (/.f64 im -4)) (-.f64 im (*.f64 im re))))
(+.f64 (/.f64 im -4) (+.f64 im (-.f64 (*.f64 re im) (-.f64 im (+.f64 im (/.f64 im -4))))))
(+.f64 im (+.f64 (/.f64 im -4) (-.f64 (*.f64 re im) (+.f64 (*.f64 im 5/4) (neg.f64 im)))))
(+.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 (+.f64 im (+.f64 im -1)) (-.f64 (*.f64 im (-.f64 re 1/2)) (+.f64 im -1)))
(+.f64 -1 (+.f64 (+.f64 im im) (-.f64 (*.f64 im (-.f64 re 1/2)) (+.f64 im -1))))
(+.f64 (+.f64 1 (-.f64 (*.f64 im re) im)) (neg.f64 (+.f64 1 (*.f64 im -3/2))))
(*.f64 (+.f64 1/2 re) im)
(*.f64 im (-.f64 re -1/2))
(+.f64 (+.f64 -1 (-.f64 (*.f64 im re) im)) (-.f64 1 (*.f64 im -3/2)))
(*.f64 (+.f64 1/2 re) im)
(*.f64 im (-.f64 re -1/2))
(+.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 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 re im) (*.f64 im -2)))
(+.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 re (+.f64 im im)) (*.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 im (*.f64 im (-.f64 re 1/2)))
(+.f64 (-.f64 (*.f64 im (-.f64 re 1/2)) 1) (neg.f64 (-.f64 -1 im)))
(+.f64 im (*.f64 im (-.f64 re 1/2)))
(+.f64 (-.f64 (*.f64 im (-.f64 re 1/2)) (+.f64 (*.f64 im -1/2) 1)) (neg.f64 (+.f64 (*.f64 im -1/2) -1)))
(+.f64 im (*.f64 im (-.f64 re 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/2 re) im)
(*.f64 im (-.f64 re -1/2))
(+.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 im (+.f64 (/.f64 im -4) (+.f64 im (-.f64 (/.f64 im -4) (*.f64 re im)))))
(+.f64 (*.f64 im 5/4) (neg.f64 (+.f64 im (-.f64 (/.f64 im -4) (*.f64 re im)))))
(+.f64 (-.f64 (*.f64 im (-.f64 re -5/4)) im) (/.f64 im 4))
(+.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 (*.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 -1/2) (+.f64 1 (+.f64 (*.f64 im -2) (+.f64 -1 (-.f64 im (*.f64 re im))))))
(+.f64 (+.f64 (*.f64 im (+.f64 re -3/2)) 1) (-.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 1/2 re) im)
(*.f64 im (-.f64 re -1/2))
(+.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/2 re) im)
(*.f64 im (-.f64 re -1/2))
(+.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 (/.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 1/2 re) im)
(*.f64 im (-.f64 re -1/2))
(+.f64 (-.f64 (/.f64 (*.f64 im re) 2) im) (-.f64 (/.f64 (*.f64 im re) 2) (*.f64 im -3/2)))
(*.f64 (+.f64 1/2 re) im)
(*.f64 im (-.f64 re -1/2))
(+.f64 (-.f64 (/.f64 (*.f64 im re) 2) (+.f64 (*.f64 im -1/2) -1)) (-.f64 (/.f64 (*.f64 im re) 2) 1))
(*.f64 (+.f64 1/2 re) im)
(*.f64 im (-.f64 re -1/2))
(+.f64 (-.f64 (/.f64 im 4) (neg.f64 im)) (-.f64 (/.f64 im 4) (-.f64 im (*.f64 im re))))
(+.f64 (*.f64 5 (/.f64 im 4)) (-.f64 (*.f64 re im) (-.f64 im (/.f64 im 4))))
(+.f64 (*.f64 im 5/4) (-.f64 (*.f64 re im) (-.f64 im (/.f64 im 4))))
(+.f64 (*.f64 im 5/4) (-.f64 (*.f64 re im) (*.f64 im 3/4)))
(+.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 5 (/.f64 im 4)) (-.f64 (*.f64 re im) (-.f64 im (/.f64 im 4))))
(+.f64 (*.f64 im 5/4) (-.f64 (*.f64 re im) (-.f64 im (/.f64 im 4))))
(+.f64 (*.f64 im 5/4) (-.f64 (*.f64 re im) (*.f64 im 3/4)))
(+.f64 (-.f64 (/.f64 (*.f64 im re) 2) (neg.f64 im)) (-.f64 (/.f64 (*.f64 im re) 2) (*.f64 im 1/2)))
(*.f64 (+.f64 1/2 re) im)
(*.f64 im (-.f64 re -1/2))
(+.f64 (-.f64 (/.f64 (*.f64 im re) 2) 1) (-.f64 (/.f64 (*.f64 im re) 2) (+.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)) (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)) (-.f64 im (*.f64 im re))) (+.f64 im (/.f64 im -4)))
(+.f64 (/.f64 im -4) (+.f64 im (-.f64 (*.f64 re im) (-.f64 im (+.f64 im (/.f64 im -4))))))
(+.f64 im (+.f64 (/.f64 im -4) (-.f64 (*.f64 re im) (+.f64 (*.f64 im 5/4) (neg.f64 im)))))
(+.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 1/2 re) im)
(*.f64 im (-.f64 re -1/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 -1 (+.f64 (/.f64 (+.f64 im (*.f64 re im)) 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 -1 (+.f64 (/.f64 (+.f64 im (*.f64 re im)) 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 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 -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 (/.f64 im -4) (*.f64 im -2)) 1) (+.f64 (-.f64 (*.f64 re im) (*.f64 im 5/4)) -1))
(+.f64 (+.f64 (-.f64 (/.f64 im -4) (*.f64 im -2)) 1) (+.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 (-.f64 (*.f64 im (-.f64 re 1/2)) (-.f64 im -1)) (+.f64 im (-.f64 im -1)))
(+.f64 (-.f64 -1 (*.f64 im (-.f64 -1 re))) (+.f64 (*.f64 im -1/2) 1))
(+.f64 (+.f64 -1 (*.f64 im -1/2)) (-.f64 1 (*.f64 im (-.f64 -1 re))))
(+.f64 (*.f64 im -1/2) (*.f64 (-.f64 -1 re) (neg.f64 im)))
(+.f64 (*.f64 im -1/2) (*.f64 im (neg.f64 (-.f64 -1 re))))
(+.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 im 3/2) (/.f64 (*.f64 (+.f64 im im) (+.f64 re -1)) 2))
(/.f64 (*.f64 (+.f64 im im) (+.f64 3/2 (+.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 1/2 im) (/.f64 (*.f64 re (*.f64 im 4)) 4))
(/.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 im 3/2) (/.f64 (*.f64 (+.f64 im im) (+.f64 re -1)) 2))
(/.f64 (*.f64 (+.f64 im im) (+.f64 3/2 (+.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 1/2 im) (/.f64 (*.f64 re (*.f64 im 4)) 4))
(/.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 im 3/2) (/.f64 (*.f64 2 (*.f64 im (-.f64 2 (+.f64 re re)))) 4))
(-.f64 (*.f64 im 3/2) (/.f64 (*.f64 im (-.f64 2 (+.f64 re re))) 2))
(/.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 1/2 im) (/.f64 (*.f64 re (*.f64 im 4)) 4))
(/.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 (+.f64 (*.f64 re im) (-.f64 (*.f64 re im) im)) (*.f64 im -2)) 2)
(-.f64 (/.f64 (+.f64 (*.f64 re im) (-.f64 (*.f64 re im) im)) 2) (neg.f64 im))
(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 (*.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 (+.f64 (-.f64 (*.f64 re im) im) (/.f64 im 4)) (+.f64 im (+.f64 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 (+.f64 (-.f64 (*.f64 re im) im) (/.f64 im 4)) (+.f64 im (+.f64 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 (neg.f64 (-.f64 (*.f64 im (-.f64 -1 re)) (/.f64 im -4))) (/.f64 im 4))
(+.f64 (-.f64 (/.f64 im -4) (*.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 (*.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 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 (*.f64 re im) (+.f64 (+.f64 im (/.f64 im -4)) (/.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 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 im (+.f64 re 1))
(+.f64 im (*.f64 re im))
(+.f64 (/.f64 (*.f64 im (+.f64 re 1/2)) 2) (-.f64 (/.f64 (*.f64 im re) 2) (*.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 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 (*.f64 re im) (+.f64 (+.f64 im (/.f64 im -4)) (/.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 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 (-.f64 (*.f64 re im) im) (+.f64 1 (+.f64 im (+.f64 im -1))))
(+.f64 (-.f64 (*.f64 re im) im) (+.f64 (+.f64 im im) 0))
(+.f64 (-.f64 (*.f64 re im) im) (-.f64 im (neg.f64 im)))
(+.f64 (+.f64 1 (-.f64 (*.f64 im re) im)) (+.f64 -1 (+.f64 im im)))
(+.f64 (-.f64 (*.f64 re im) im) (+.f64 1 (+.f64 im (+.f64 im -1))))
(+.f64 (-.f64 (*.f64 re im) im) (+.f64 (+.f64 im im) 0))
(+.f64 (-.f64 (*.f64 re im) im) (-.f64 im (neg.f64 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 1 (+.f64 (-.f64 (*.f64 re im) im) (-.f64 -1 (*.f64 im -2))))
(+.f64 (+.f64 -1 (-.f64 (*.f64 im re) im)) (+.f64 1 (+.f64 im im)))
(+.f64 (-.f64 (*.f64 re im) im) (+.f64 1 (+.f64 im (+.f64 im -1))))
(+.f64 (-.f64 (*.f64 re im) im) (+.f64 (+.f64 im im) 0))
(+.f64 (-.f64 (*.f64 re im) im) (-.f64 im (neg.f64 im)))
(+.f64 (+.f64 1 (+.f64 im im)) (+.f64 -1 (-.f64 (*.f64 im re) im)))
(+.f64 (-.f64 (*.f64 re im) im) (+.f64 1 (+.f64 im (+.f64 im -1))))
(+.f64 (-.f64 (*.f64 re im) im) (+.f64 (+.f64 im im) 0))
(+.f64 (-.f64 (*.f64 re im) im) (-.f64 im (neg.f64 im)))
(+.f64 (+.f64 1 (+.f64 im im)) (neg.f64 (+.f64 1 (-.f64 im (*.f64 im re)))))
(+.f64 (-.f64 (*.f64 re im) im) (+.f64 1 (+.f64 im (+.f64 im -1))))
(+.f64 (-.f64 (*.f64 re im) im) (+.f64 (+.f64 im im) 0))
(+.f64 (-.f64 (*.f64 re im) im) (-.f64 im (neg.f64 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 -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 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 (+.f64 im (*.f64 im (+.f64 re re))) (+.f64 (*.f64 im -1/2) (*.f64 (+.f64 1/2 re) im)))
(-.f64 (+.f64 im (*.f64 re (+.f64 im im))) (*.f64 im (+.f64 -1/2 (+.f64 1/2 re))))
(+.f64 (+.f64 (-.f64 (*.f64 re im) (*.f64 re im)) (*.f64 re im)) 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 1 (*.f64 im 3/2)) (-.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 (*.f64 im 3/2)) (+.f64 (-.f64 (*.f64 1/2 im) (-.f64 im (*.f64 re im))) 1))
(+.f64 (+.f64 -1 (*.f64 im 3/2)) (+.f64 (*.f64 im (+.f64 re -1/2)) 1))
(+.f64 (-.f64 (*.f64 im 1/2) (+.f64 -1 (*.f64 im -3/2))) (neg.f64 (+.f64 1 (-.f64 im (*.f64 im re)))))
(+.f64 (-.f64 (*.f64 re im) im) (+.f64 1 (+.f64 im (+.f64 im -1))))
(+.f64 (-.f64 (*.f64 re im) im) (+.f64 (+.f64 im im) 0))
(+.f64 (-.f64 (*.f64 re im) im) (-.f64 im (neg.f64 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) im) (+.f64 (*.f64 im -3/4) (-.f64 (/.f64 im -4) im)))
(-.f64 (-.f64 (*.f64 re im) im) (*.f64 (/.f64 im -4) 8))
(-.f64 (*.f64 im (-.f64 re -5/4)) (*.f64 im 1/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) im) (+.f64 (*.f64 im -3/4) (-.f64 (/.f64 im -4) im)))
(-.f64 (-.f64 (*.f64 re im) im) (*.f64 (/.f64 im -4) 8))
(-.f64 (*.f64 im (-.f64 re -5/4)) (*.f64 im 1/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 (*.f64 im (+.f64 re 1/2)) 2) (*.f64 im -1/2)) (/.f64 (*.f64 im (+.f64 re 1/2)) 2))
(*.f64 im (+.f64 re 1))
(+.f64 im (*.f64 re im))
(+.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 (/.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 (/.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 (-.f64 (*.f64 re im) (-.f64 im (/.f64 im 4))) (-.f64 (/.f64 im 4) (*.f64 im -3/2)))
(+.f64 (-.f64 (*.f64 re im) (*.f64 im 3/4)) (+.f64 (*.f64 im 3/2) (/.f64 im 4)))
(+.f64 (-.f64 (/.f64 im 4) (+.f64 (*.f64 im -1/2) -1)) (-.f64 (/.f64 im 4) (-.f64 1 (*.f64 im re))))
(+.f64 (+.f64 (-.f64 (/.f64 im 4) (*.f64 im -1/2)) 1) (-.f64 (*.f64 re im) (-.f64 1 (/.f64 im 4))))
(+.f64 (+.f64 1 (-.f64 (/.f64 im 4) (*.f64 im -1/2))) (-.f64 (*.f64 re im) (-.f64 1 (/.f64 im 4))))
(+.f64 1 (+.f64 (*.f64 im 3/4) (-.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 (*.f64 re im) (+.f64 (+.f64 im (/.f64 im -4)) (/.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 (-.f64 (*.f64 re im) (-.f64 im (/.f64 im 4))) (-.f64 (/.f64 im 4) (*.f64 im -3/2)))
(+.f64 (-.f64 (*.f64 re im) (*.f64 im 3/4)) (+.f64 (*.f64 im 3/2) (/.f64 im 4)))
(+.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 (*.f64 im re) 2) 1) (-.f64 (/.f64 (*.f64 im re) 2) (-.f64 -1 im)))
(*.f64 im (+.f64 re 1))
(+.f64 im (*.f64 re 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 (*.f64 re im) (+.f64 (+.f64 im (/.f64 im -4)) (/.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 im (+.f64 re 1))
(+.f64 im (*.f64 re im))
(+.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 im -1/2) (/.f64 (*.f64 re im) 2)))))
(+.f64 -1 (+.f64 (/.f64 (+.f64 im (*.f64 re im)) 2) (+.f64 1 (/.f64 (+.f64 im (*.f64 re im)) 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 (/.f64 im -4)) (-.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 im (+.f64 re 1))
(+.f64 im (*.f64 re 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 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 re im))) (+.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 im 3/4)))
(+.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 im 3/2) (+.f64 (+.f64 (/.f64 im 4) -1) (+.f64 (-.f64 (*.f64 re im) (-.f64 im (/.f64 im 4))) 1)))
(+.f64 (+.f64 (-.f64 (*.f64 re im) (*.f64 im 3/4)) 1) (-.f64 -1 (+.f64 (*.f64 im -5/4) (*.f64 im -1/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 im 3/2) (+.f64 (+.f64 (/.f64 im 4) 1) (+.f64 (-.f64 (*.f64 re im) (-.f64 im (/.f64 im 4))) -1)))
(+.f64 (*.f64 im 3/2) (+.f64 (+.f64 (/.f64 im 4) 1) (+.f64 (-.f64 (*.f64 re im) (*.f64 im 3/4)) -1)))
(+.f64 (-.f64 -1 (*.f64 im (-.f64 -1 re))) 1)
(+.f64 1 (-.f64 -1 (*.f64 im (-.f64 -1 re))))
(*.f64 (-.f64 -1 re) (neg.f64 im))
(*.f64 im (neg.f64 (-.f64 -1 re)))
(*.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 1 (-.f64 -1 (*.f64 im (-.f64 -1 re))))
(*.f64 (-.f64 -1 re) (neg.f64 im))
(*.f64 im (neg.f64 (-.f64 -1 re)))
(*.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 1 (-.f64 -1 (*.f64 im (-.f64 -1 re))))
(*.f64 (-.f64 -1 re) (neg.f64 im))
(*.f64 im (neg.f64 (-.f64 -1 re)))
(/.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 1 (-.f64 -1 (*.f64 im (-.f64 -1 re))))
(*.f64 (-.f64 -1 re) (neg.f64 im))
(*.f64 im (neg.f64 (-.f64 -1 re)))
(-.f64 im (*.f64 im -1/2))
(*.f64 im 3/2)
(-.f64 (*.f64 im 1/2) (neg.f64 im))
(*.f64 im 3/2)
(-.f64 (*.f64 im 3/2) 0)
(*.f64 im 3/2)
(-.f64 (*.f64 im -1/2) (*.f64 im -2))
(*.f64 im 3/2)
(-.f64 0 (*.f64 im -3/2))
(*.f64 im 3/2)
(-.f64 (neg.f64 im) (-.f64 (*.f64 im -2) (*.f64 im 1/2)))
(*.f64 im 3/2)
(-.f64 (+.f64 im im) (*.f64 im 1/2))
(*.f64 im 3/2)
(-.f64 -1 (-.f64 (+.f64 (*.f64 im -1/2) -1) im))
(*.f64 im 3/2)
(-.f64 (/.f64 im -4) (+.f64 (/.f64 im -4) (*.f64 im -3/2)))
(*.f64 im 3/2)
(-.f64 (/.f64 im -4) (-.f64 (-.f64 (/.f64 im -4) im) (*.f64 im 1/2)))
(*.f64 im 3/2)
(-.f64 (*.f64 im 3) (*.f64 im 3/2))
(*.f64 im 3/2)
(-.f64 (+.f64 im (*.f64 im 3/2)) im)
(*.f64 im 3/2)
(-.f64 (+.f64 im (+.f64 im (/.f64 im -4))) (/.f64 im 4))
(-.f64 (+.f64 (/.f64 im -4) (+.f64 im im)) (/.f64 im 4))
(-.f64 (/.f64 im 4) (-.f64 (/.f64 im -4) im))
(*.f64 im 3/2)
(-.f64 (/.f64 im 4) (-.f64 (*.f64 3 (/.f64 im -4)) (*.f64 im 1/2)))
(*.f64 im 3/2)
(-.f64 (-.f64 im (/.f64 im -4)) (/.f64 im -4))
(*.f64 im 3/2)
(-.f64 (+.f64 im (/.f64 im -4)) (*.f64 3 (/.f64 im -4)))
(-.f64 (+.f64 im (/.f64 im -4)) (*.f64 im -3/4))
(-.f64 (+.f64 (*.f64 im 1/2) -1) (-.f64 -1 im))
(*.f64 im 3/2)
(-.f64 (+.f64 (*.f64 im 1/2) 1) (-.f64 (+.f64 (*.f64 im -1/2) 1) (*.f64 im 1/2)))
(*.f64 im 3/2)
(-.f64 (+.f64 (*.f64 im 1/2) (*.f64 im 3)) (+.f64 im im))
(*.f64 im 3/2)
(-.f64 (+.f64 (/.f64 im 4) im) (/.f64 im -4))
(*.f64 im 3/2)
(-.f64 (-.f64 (*.f64 im 1/2) (+.f64 (*.f64 im -1/2) 1)) (+.f64 (*.f64 im -1/2) -1))
(*.f64 im 3/2)
(-.f64 (-.f64 (*.f64 im 1/2) (+.f64 (*.f64 im -1/2) -1)) (+.f64 (*.f64 im -1/2) 1))
(*.f64 im 3/2)
(-.f64 (-.f64 (/.f64 im 4) (neg.f64 im)) (/.f64 im -4))
(*.f64 im 3/2)
(-.f64 (-.f64 (/.f64 im 4) (+.f64 (*.f64 im -1/2) -1)) (-.f64 (+.f64 (*.f64 im -1/2) 1) (/.f64 im 4)))
(*.f64 im 3/2)
(-.f64 (-.f64 (/.f64 im 4) (*.f64 im -2)) (+.f64 im (/.f64 im -4)))
(*.f64 im 3/2)
(-.f64 (-.f64 (/.f64 im 4) (-.f64 -1 im)) (-.f64 1 (/.f64 im 4)))
(-.f64 (/.f64 im 4) (+.f64 (-.f64 1 (/.f64 im 4)) (-.f64 -1 im)))
(+.f64 (-.f64 (/.f64 im 4) (-.f64 1 (/.f64 im 4))) (-.f64 im -1))
(*.f64 im 3/2)
(*.f64 1/2 (*.f64 im 3))
(*.f64 im 3/2)
(*.f64 (*.f64 im 3/2) 1)
(*.f64 im 3/2)
(*.f64 1 (*.f64 im 3/2))
(*.f64 im 3/2)
(*.f64 (+.f64 im im) 3/4)
(*.f64 im 3/2)
(*.f64 -1 (*.f64 im -3/2))
(*.f64 im 3/2)
(*.f64 (*.f64 im -3/2) -1)
(*.f64 im 3/2)
(*.f64 (*.f64 im 3) 1/2)
(*.f64 im 3/2)
(*.f64 3/2 im)
(*.f64 im 3/2)
(*.f64 (*.f64 2 (*.f64 im 3)) 1/4)
(*.f64 im 3/2)
(*.f64 3 (*.f64 im 1/2))
(*.f64 im 3/2)
(*.f64 -3 (*.f64 im -1/2))
(*.f64 im 3/2)
(/.f64 (*.f64 im 3/2) 1)
(*.f64 im 3/2)
(/.f64 (*.f64 im -3/2) -1)
(*.f64 im 3/2)
(/.f64 (*.f64 im 3) 2)
(*.f64 im 3/2)
(/.f64 (*.f64 2 (*.f64 im 3)) 4)
(*.f64 im 3/2)
(/.f64 (+.f64 (*.f64 2 (*.f64 im 3)) (*.f64 2 (*.f64 im 3))) 8)
(*.f64 im 3/2)
(/.f64 (+.f64 (*.f64 im 4) (+.f64 im im)) 4)
(*.f64 im 3/2)
(/.f64 (-.f64 (*.f64 im 4) (*.f64 im -2)) 4)
(*.f64 im 3/2)
(pow.f64 (*.f64 im 3/2) 1)
(*.f64 im 3/2)
(neg.f64 (*.f64 im -3/2))
(*.f64 im 3/2)

localize53.0ms (0.2%)

Local error

Found 2 expressions with local error:

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

Compiled 40 to 25 computations (37.5% saved)

series1.0ms (0%)

Counts
2 → 36
Calls

9 calls:

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

rewrite363.0ms (1.4%)

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

Useful iterations: 2 (0.0ms)

IterNodesCost
01348
19348
221830
369230
4334130
Stop Event
node limit
Counts
2 → 112
Calls
Call 1
Inputs
(*.f64 (sin.f64 im) (+.f64 (-.f64 -1 re) (+.f64 re (+.f64 re 2))))
(+.f64 re (+.f64 re 2))
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 2 (+.f64 re re))) (*.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)) 1)))) (#(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 re 1) (*.f64 (sin.f64 im) 4)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 (+.f64 re 1) (*.f64 (sin.f64 im) 4)) (*.f64 (+.f64 re 1) (*.f64 (sin.f64 im) 4))) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 (-.f64 -1 re) -4) (*.f64 (sin.f64 im) 4)) 16)))) (#(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 (+.f64 re 1) (*.f64 (sin.f64 im) 4))) 2) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 -1 re) (*.f64 (sin.f64 im) 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 -1 re) (sin.f64 im)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (-.f64 -2 re) re) (*.f64 (sin.f64 im) 4)) -8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (-.f64 -2 re) re) (sin.f64 im)) -2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (-.f64 -2 re) re) (*.f64 (sin.f64 im) 2)) -4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 -1 re) (+.f64 (*.f64 (sin.f64 im) 4) (*.f64 (sin.f64 im) 4))) -8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 re 1) (neg.f64 (sin.f64 im))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (-.f64 -2 re) re) (*.f64 (sin.f64 im) 1/2)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (sin.f64 im) (+.f64 re 1)) 1)))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 -1 (+.f64 (-.f64 -1 re) (-.f64 -2 re)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 -1 (+.f64 (-.f64 -1 re) (-.f64 re (+.f64 2 (+.f64 re re)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 re (-.f64 -2 re))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 re (-.f64 -1 (+.f64 re 1)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 -1 re) (+.f64 (-.f64 -1 re) (-.f64 (-.f64 -2 re) re)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 re 2) (neg.f64 re))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 re 2) (+.f64 (-.f64 -1 re) 1))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 2 (+.f64 re re)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 re 1) (-.f64 -1 re))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (-.f64 (-.f64 -2 re) re))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 1 (+.f64 (-.f64 -1 re) (neg.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 re re) -2)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 (-.f64 -2 re) re) (*.f64 (-.f64 -1 re) 4))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 -2 (+.f64 (-.f64 -2 re) (-.f64 -2 re)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (-.f64 -1 re) -4) (+.f64 2 (+.f64 re re)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 re (+.f64 re 4)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 re (+.f64 re 4)) (+.f64 (+.f64 re 2) (neg.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (+.f64 re re)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (+.f64 re re) 3) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 3 (+.f64 re 1)) (+.f64 re 1))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1/2 (/.f64 re 2)) (*.f64 -3 (+.f64 1/2 (/.f64 re 2))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (/.f64 re 2)) (-.f64 (neg.f64 re) (+.f64 1 (/.f64 re 2))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 re 2) (+.f64 (-.f64 -2 re) (/.f64 re -2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 re 2) (-.f64 (-.f64 -2 re) (/.f64 re 2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (+.f64 re 2) (+.f64 1/2 (/.f64 re 2))) (-.f64 1 (+.f64 1/2 (/.f64 re 2))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 re (+.f64 1/2 (/.f64 re 2))) (-.f64 -1 (+.f64 1/2 (/.f64 re 2))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (+.f64 re 1) (+.f64 1/2 (/.f64 re 2))) (+.f64 (/.f64 re -2) -1/2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (-.f64 -1 re) (+.f64 1/2 (/.f64 re 2))) (*.f64 -5 (+.f64 1/2 (/.f64 re 2))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (+.f64 2 (+.f64 re re)) (+.f64 1/2 (/.f64 re 2))) (+.f64 1/2 (/.f64 re 2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 re (+.f64 1 (/.f64 re 2))) (/.f64 (-.f64 -2 re) 2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (+.f64 re 2) (/.f64 re 2)) (/.f64 re -2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 re (/.f64 re 2)) (-.f64 -2 (/.f64 re 2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 -1 (+.f64 1/2 (/.f64 re 2))) (-.f64 (-.f64 -2 re) (+.f64 1/2 (/.f64 re 2))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 -1 (+.f64 1/2 (/.f64 re 2))) (-.f64 (-.f64 re (+.f64 2 (+.f64 re re))) (+.f64 1/2 (/.f64 re 2))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 (/.f64 re 2) (-.f64 -2 re)) (/.f64 re -2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 -1 (-.f64 -1 re)) (-.f64 -2 re))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 -1 (-.f64 -1 re)) (-.f64 re (+.f64 2 (+.f64 re re))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 -2 (-.f64 -1 re)) (+.f64 -1 (-.f64 -2 re)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 (*.f64 (-.f64 -1 re) -4) (-.f64 -1 re)) (*.f64 3 (+.f64 re 1)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 (+.f64 1 (+.f64 re re)) (-.f64 -1 re)) re)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 1 (-.f64 -1 re)) (neg.f64 re))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 (/.f64 re 2) -2) (*.f64 -3 (/.f64 re 2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 (+.f64 1 (/.f64 re 2)) (neg.f64 re)) (/.f64 (-.f64 -2 re) 2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 (+.f64 1/2 (/.f64 re 2)) (neg.f64 re)) (-.f64 -1 (+.f64 1/2 (/.f64 re 2))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 3 (+.f64 1/2 (/.f64 re 2))) (+.f64 (/.f64 re -2) -1/2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (+.f64 1/2 (/.f64 re 2))) (-.f64 (neg.f64 re) (+.f64 1/2 (/.f64 re 2))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 -2 (+.f64 1/2 (/.f64 re 2))) (-.f64 (+.f64 -1 (-.f64 -2 re)) (+.f64 1/2 (/.f64 re 2))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (*.f64 (-.f64 -1 re) -4) (+.f64 1/2 (/.f64 re 2))) (-.f64 (*.f64 3 (+.f64 re 1)) (+.f64 1/2 (/.f64 re 2))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (+.f64 1 (+.f64 re re)) (+.f64 1/2 (/.f64 re 2))) (-.f64 re (+.f64 1/2 (/.f64 re 2))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 (*.f64 re 4) -2) (+.f64 re re))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (+.f64 re 2) (-.f64 (+.f64 2 (+.f64 re re)) re)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (-.f64 (+.f64 2 (+.f64 re re)) re) (+.f64 re 2)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (-.f64 (+.f64 2 (+.f64 re re)) re) (-.f64 (+.f64 2 (+.f64 re re)) re)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 re (-.f64 -2 (-.f64 -2 re))) -2)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 re (-.f64 (+.f64 2 (+.f64 re re)) (+.f64 re 2))) -2)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (-.f64 -2 (-.f64 -2 re)) re) -2)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (-.f64 -2 (-.f64 -2 re)) (-.f64 -2 (-.f64 -2 re))) -2)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (-.f64 -2 (-.f64 -2 re)) (-.f64 (+.f64 2 (+.f64 re re)) (+.f64 re 2))) -2)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (-.f64 (+.f64 2 (+.f64 re re)) (+.f64 re 2)) re) -2)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (-.f64 (+.f64 2 (+.f64 re re)) (+.f64 re 2)) (-.f64 -2 (-.f64 -2 re))) -2)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (-.f64 (+.f64 2 (+.f64 re re)) (+.f64 re 2)) (-.f64 (+.f64 2 (+.f64 re re)) (+.f64 re 2))) -2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (-.f64 (-.f64 -2 re) re))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 -1 re) -2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (+.f64 re 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 2 (+.f64 re re)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 re 1) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 2 (+.f64 re re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (-.f64 -2 re) re) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -2 (-.f64 -1 re))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (-.f64 -1 re) -4) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 (-.f64 -1 re) -4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 2 (+.f64 re re)) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (-.f64 -1 re) 4) -1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (+.f64 2 (+.f64 re re)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (*.f64 (+.f64 2 (+.f64 re re)) 4) (*.f64 (+.f64 2 (+.f64 re re)) 4)) 1/8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 -1 re) -1/2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 2 (+.f64 re re)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 re 1) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (-.f64 -2 re) re) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 -1 re) -4) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 2 (+.f64 re re)) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 -1 re) 4) -2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 (+.f64 2 (+.f64 re re)) 4)) -4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 (-.f64 -1 re) 4) (*.f64 (-.f64 -1 re) 4)) -4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 (+.f64 2 (+.f64 re re)) 4) (*.f64 (+.f64 2 (+.f64 re re)) 4)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (neg.f64 (*.f64 (+.f64 2 (+.f64 re re)) 4)) -1) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (+.f64 (*.f64 (-.f64 -1 re) 4) (*.f64 (-.f64 -1 re) 4)) -1) 4)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (+.f64 2 (+.f64 re re)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (-.f64 (-.f64 -2 re) re))))))

simplify464.0ms (1.7%)

Algorithm
egg-herbie
Rules
1090×rational_best-simplify-47
980×rational_best-simplify-57
972×rational_best-simplify-51
742×rational_best-simplify-1
674×rational_best-simplify-3
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02773748
17243198
217653032
367693032
Stop Event
node limit
Counts
148 → 176
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))
2
(+.f64 2 (*.f64 2 re))
(+.f64 2 (*.f64 2 re))
(+.f64 2 (*.f64 2 re))
(*.f64 2 re)
(+.f64 2 (*.f64 2 re))
(+.f64 2 (*.f64 2 re))
(+.f64 2 (*.f64 2 re))
(*.f64 2 re)
(+.f64 2 (*.f64 2 re))
(+.f64 2 (*.f64 2 re))
(+.f64 2 (*.f64 2 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 2 (+.f64 re re))) (*.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)) 1)
(/.f64 (*.f64 (sin.f64 im) (+.f64 2 (+.f64 re re))) 2)
(/.f64 (*.f64 (+.f64 re 1) (*.f64 (sin.f64 im) 4)) 4)
(/.f64 (+.f64 (*.f64 (+.f64 re 1) (*.f64 (sin.f64 im) 4)) (*.f64 (+.f64 re 1) (*.f64 (sin.f64 im) 4))) 8)
(/.f64 (*.f64 (*.f64 (-.f64 -1 re) -4) (*.f64 (sin.f64 im) 4)) 16)
(/.f64 (*.f64 2 (*.f64 (+.f64 re 1) (*.f64 (sin.f64 im) 4))) 8)
(/.f64 (/.f64 (*.f64 2 (*.f64 (+.f64 re 1) (*.f64 (sin.f64 im) 4))) 2) 4)
(/.f64 (*.f64 (-.f64 -1 re) (*.f64 (sin.f64 im) 2)) -2)
(/.f64 (*.f64 (-.f64 -1 re) (*.f64 (sin.f64 im) 4)) -4)
(/.f64 (*.f64 (-.f64 -1 re) (sin.f64 im)) -1)
(/.f64 (*.f64 (-.f64 (-.f64 -2 re) re) (*.f64 (sin.f64 im) 4)) -8)
(/.f64 (*.f64 (-.f64 (-.f64 -2 re) re) (sin.f64 im)) -2)
(/.f64 (*.f64 (-.f64 (-.f64 -2 re) re) (*.f64 (sin.f64 im) 2)) -4)
(/.f64 (*.f64 (-.f64 -1 re) (+.f64 (*.f64 (sin.f64 im) 4) (*.f64 (sin.f64 im) 4))) -8)
(/.f64 (*.f64 (+.f64 re 1) (neg.f64 (sin.f64 im))) -1)
(/.f64 (*.f64 (-.f64 (-.f64 -2 re) re) (*.f64 (sin.f64 im) 1/2)) -1)
(pow.f64 (*.f64 (sin.f64 im) (+.f64 re 1)) 1)
(-.f64 -1 (+.f64 (-.f64 -1 re) (-.f64 -2 re)))
(-.f64 -1 (+.f64 (-.f64 -1 re) (-.f64 re (+.f64 2 (+.f64 re re)))))
(-.f64 re (-.f64 -2 re))
(-.f64 re (-.f64 -1 (+.f64 re 1)))
(-.f64 (-.f64 -1 re) (+.f64 (-.f64 -1 re) (-.f64 (-.f64 -2 re) re)))
(-.f64 (+.f64 re 2) (neg.f64 re))
(-.f64 (+.f64 re 2) (+.f64 (-.f64 -1 re) 1))
(-.f64 (+.f64 2 (+.f64 re re)) 0)
(-.f64 (+.f64 re 1) (-.f64 -1 re))
(-.f64 0 (-.f64 (-.f64 -2 re) re))
(-.f64 1 (+.f64 (-.f64 -1 re) (neg.f64 re)))
(-.f64 (+.f64 re re) -2)
(-.f64 (-.f64 (-.f64 -2 re) re) (*.f64 (-.f64 -1 re) 4))
(-.f64 -2 (+.f64 (-.f64 -2 re) (-.f64 -2 re)))
(-.f64 (*.f64 (-.f64 -1 re) -4) (+.f64 2 (+.f64 re re)))
(-.f64 (+.f64 re (+.f64 re 4)) 2)
(-.f64 (+.f64 re (+.f64 re 4)) (+.f64 (+.f64 re 2) (neg.f64 re)))
(-.f64 (+.f64 1 (+.f64 re re)) -1)
(-.f64 (+.f64 (+.f64 re re) 3) 1)
(-.f64 (*.f64 3 (+.f64 re 1)) (+.f64 re 1))
(-.f64 (+.f64 1/2 (/.f64 re 2)) (*.f64 -3 (+.f64 1/2 (/.f64 re 2))))
(-.f64 (+.f64 1 (/.f64 re 2)) (-.f64 (neg.f64 re) (+.f64 1 (/.f64 re 2))))
(-.f64 (/.f64 re 2) (+.f64 (-.f64 -2 re) (/.f64 re -2)))
(-.f64 (/.f64 re 2) (-.f64 (-.f64 -2 re) (/.f64 re 2)))
(-.f64 (+.f64 (+.f64 re 2) (+.f64 1/2 (/.f64 re 2))) (-.f64 1 (+.f64 1/2 (/.f64 re 2))))
(-.f64 (+.f64 re (+.f64 1/2 (/.f64 re 2))) (-.f64 -1 (+.f64 1/2 (/.f64 re 2))))
(-.f64 (+.f64 (+.f64 re 1) (+.f64 1/2 (/.f64 re 2))) (+.f64 (/.f64 re -2) -1/2))
(-.f64 (+.f64 (-.f64 -1 re) (+.f64 1/2 (/.f64 re 2))) (*.f64 -5 (+.f64 1/2 (/.f64 re 2))))
(-.f64 (+.f64 (+.f64 2 (+.f64 re re)) (+.f64 1/2 (/.f64 re 2))) (+.f64 1/2 (/.f64 re 2)))
(-.f64 (+.f64 re (+.f64 1 (/.f64 re 2))) (/.f64 (-.f64 -2 re) 2))
(-.f64 (+.f64 (+.f64 re 2) (/.f64 re 2)) (/.f64 re -2))
(-.f64 (+.f64 re (/.f64 re 2)) (-.f64 -2 (/.f64 re 2)))
(-.f64 (+.f64 -1 (+.f64 1/2 (/.f64 re 2))) (-.f64 (-.f64 -2 re) (+.f64 1/2 (/.f64 re 2))))
(-.f64 (+.f64 -1 (+.f64 1/2 (/.f64 re 2))) (-.f64 (-.f64 re (+.f64 2 (+.f64 re re))) (+.f64 1/2 (/.f64 re 2))))
(-.f64 (-.f64 (/.f64 re 2) (-.f64 -2 re)) (/.f64 re -2))
(-.f64 (-.f64 -1 (-.f64 -1 re)) (-.f64 -2 re))
(-.f64 (-.f64 -1 (-.f64 -1 re)) (-.f64 re (+.f64 2 (+.f64 re re))))
(-.f64 (-.f64 -2 (-.f64 -1 re)) (+.f64 -1 (-.f64 -2 re)))
(-.f64 (-.f64 (*.f64 (-.f64 -1 re) -4) (-.f64 -1 re)) (*.f64 3 (+.f64 re 1)))
(-.f64 (-.f64 (+.f64 1 (+.f64 re re)) (-.f64 -1 re)) re)
(-.f64 (-.f64 1 (-.f64 -1 re)) (neg.f64 re))
(-.f64 (-.f64 (/.f64 re 2) -2) (*.f64 -3 (/.f64 re 2)))
(-.f64 (-.f64 (+.f64 1 (/.f64 re 2)) (neg.f64 re)) (/.f64 (-.f64 -2 re) 2))
(-.f64 (-.f64 (+.f64 1/2 (/.f64 re 2)) (neg.f64 re)) (-.f64 -1 (+.f64 1/2 (/.f64 re 2))))
(-.f64 (*.f64 3 (+.f64 1/2 (/.f64 re 2))) (+.f64 (/.f64 re -2) -1/2))
(-.f64 (+.f64 1 (+.f64 1/2 (/.f64 re 2))) (-.f64 (neg.f64 re) (+.f64 1/2 (/.f64 re 2))))
(-.f64 (+.f64 -2 (+.f64 1/2 (/.f64 re 2))) (-.f64 (+.f64 -1 (-.f64 -2 re)) (+.f64 1/2 (/.f64 re 2))))
(-.f64 (+.f64 (*.f64 (-.f64 -1 re) -4) (+.f64 1/2 (/.f64 re 2))) (-.f64 (*.f64 3 (+.f64 re 1)) (+.f64 1/2 (/.f64 re 2))))
(-.f64 (+.f64 (+.f64 1 (+.f64 re re)) (+.f64 1/2 (/.f64 re 2))) (-.f64 re (+.f64 1/2 (/.f64 re 2))))
(-.f64 (-.f64 (*.f64 re 4) -2) (+.f64 re re))
(-.f64 (+.f64 (+.f64 re 2) (-.f64 (+.f64 2 (+.f64 re re)) re)) 2)
(-.f64 (+.f64 (-.f64 (+.f64 2 (+.f64 re re)) re) (+.f64 re 2)) 2)
(-.f64 (+.f64 (-.f64 (+.f64 2 (+.f64 re re)) re) (-.f64 (+.f64 2 (+.f64 re re)) re)) 2)
(-.f64 (+.f64 re (-.f64 -2 (-.f64 -2 re))) -2)
(-.f64 (+.f64 re (-.f64 (+.f64 2 (+.f64 re re)) (+.f64 re 2))) -2)
(-.f64 (+.f64 (-.f64 -2 (-.f64 -2 re)) re) -2)
(-.f64 (+.f64 (-.f64 -2 (-.f64 -2 re)) (-.f64 -2 (-.f64 -2 re))) -2)
(-.f64 (+.f64 (-.f64 -2 (-.f64 -2 re)) (-.f64 (+.f64 2 (+.f64 re re)) (+.f64 re 2))) -2)
(-.f64 (+.f64 (-.f64 (+.f64 2 (+.f64 re re)) (+.f64 re 2)) re) -2)
(-.f64 (+.f64 (-.f64 (+.f64 2 (+.f64 re re)) (+.f64 re 2)) (-.f64 -2 (-.f64 -2 re))) -2)
(-.f64 (+.f64 (-.f64 (+.f64 2 (+.f64 re re)) (+.f64 re 2)) (-.f64 (+.f64 2 (+.f64 re re)) (+.f64 re 2))) -2)
(*.f64 -1 (-.f64 (-.f64 -2 re) re))
(*.f64 (-.f64 -1 re) -2)
(*.f64 2 (+.f64 re 1))
(*.f64 (+.f64 2 (+.f64 re re)) 1)
(*.f64 (+.f64 re 1) 2)
(*.f64 1 (+.f64 2 (+.f64 re re)))
(*.f64 (-.f64 (-.f64 -2 re) re) -1)
(*.f64 -2 (-.f64 -1 re))
(*.f64 (*.f64 (-.f64 -1 re) -4) 1/2)
(*.f64 1/2 (*.f64 (-.f64 -1 re) -4))
(*.f64 (*.f64 (+.f64 2 (+.f64 re re)) 4) 1/4)
(*.f64 (*.f64 (-.f64 -1 re) 4) -1/2)
(*.f64 1/4 (*.f64 (+.f64 2 (+.f64 re re)) 4))
(*.f64 (+.f64 (*.f64 (+.f64 2 (+.f64 re re)) 4) (*.f64 (+.f64 2 (+.f64 re re)) 4)) 1/8)
(/.f64 (-.f64 -1 re) -1/2)
(/.f64 (+.f64 2 (+.f64 re re)) 1)
(/.f64 (+.f64 re 1) 1/2)
(/.f64 (-.f64 (-.f64 -2 re) re) -1)
(/.f64 (*.f64 (-.f64 -1 re) -4) 2)
(/.f64 (*.f64 (+.f64 2 (+.f64 re re)) 4) 4)
(/.f64 (*.f64 (-.f64 -1 re) 4) -2)
(/.f64 (neg.f64 (*.f64 (+.f64 2 (+.f64 re re)) 4)) -4)
(/.f64 (+.f64 (*.f64 (-.f64 -1 re) 4) (*.f64 (-.f64 -1 re) 4)) -4)
(/.f64 (+.f64 (*.f64 (+.f64 2 (+.f64 re re)) 4) (*.f64 (+.f64 2 (+.f64 re re)) 4)) 8)
(/.f64 (/.f64 (neg.f64 (*.f64 (+.f64 2 (+.f64 re re)) 4)) -1) 4)
(/.f64 (/.f64 (+.f64 (*.f64 (-.f64 -1 re) 4) (*.f64 (-.f64 -1 re) 4)) -1) 4)
(pow.f64 (+.f64 2 (+.f64 re re)) 1)
(neg.f64 (-.f64 (-.f64 -2 re) re))
Outputs
(*.f64 (-.f64 (+.f64 1 (*.f64 2 re)) re) im)
(*.f64 (-.f64 (*.f64 2 re) (+.f64 re -1)) 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 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 2 re) (+.f64 re -1)) im) (*.f64 (-.f64 (*.f64 2 re) (+.f64 re -1)) (*.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)) im) (+.f64 (*.f64 (-.f64 (*.f64 2 re) (+.f64 re -1)) (*.f64 (pow.f64 im 3) -1/6)) (*.f64 (pow.f64 im 5) (*.f64 (-.f64 (*.f64 2 re) (+.f64 re -1)) 1/120))))
(+.f64 (*.f64 (-.f64 (*.f64 2 re) (+.f64 re -1)) im) (+.f64 (*.f64 (-.f64 (*.f64 2 re) (+.f64 re -1)) (*.f64 -1/6 (pow.f64 im 3))) (*.f64 (-.f64 (*.f64 2 re) (+.f64 re -1)) (*.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 3) -1/6)) (+.f64 (*.f64 (pow.f64 im 5) (*.f64 (-.f64 (*.f64 2 re) (+.f64 re -1)) 1/120)) (*.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 1/120 (pow.f64 im 5))) (+.f64 (*.f64 (-.f64 (*.f64 2 re) (+.f64 re -1)) im) (+.f64 (*.f64 (-.f64 (*.f64 2 re) (+.f64 re -1)) (*.f64 -1/6 (pow.f64 im 3))) (*.f64 (-.f64 (*.f64 2 re) (+.f64 re -1)) (*.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 (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 (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 (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 (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 (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 (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 (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))
(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 1 re))
(+.f64 (sin.f64 im) (*.f64 (sin.f64 im) re))
(+.f64 (sin.f64 im) (*.f64 re (sin.f64 im)))
(*.f64 (sin.f64 im) (+.f64 1 re))
(+.f64 (sin.f64 im) (*.f64 (sin.f64 im) re))
(+.f64 (sin.f64 im) (*.f64 re (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 (sin.f64 im) (*.f64 re (sin.f64 im)))
(*.f64 (sin.f64 im) (+.f64 1 re))
(+.f64 (sin.f64 im) (*.f64 (sin.f64 im) re))
(+.f64 (sin.f64 im) (*.f64 re (sin.f64 im)))
(*.f64 (sin.f64 im) (+.f64 1 re))
(+.f64 (sin.f64 im) (*.f64 (sin.f64 im) re))
(+.f64 (sin.f64 im) (*.f64 re (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 (sin.f64 im) (*.f64 re (sin.f64 im)))
(*.f64 (sin.f64 im) (+.f64 1 re))
(+.f64 (sin.f64 im) (*.f64 (sin.f64 im) re))
(+.f64 (sin.f64 im) (*.f64 re (sin.f64 im)))
(*.f64 (sin.f64 im) (+.f64 1 re))
(+.f64 (sin.f64 im) (*.f64 (sin.f64 im) re))
(+.f64 (sin.f64 im) (*.f64 re (sin.f64 im)))
(*.f64 (sin.f64 im) (+.f64 1 re))
2
(+.f64 2 (*.f64 2 re))
(+.f64 2 (*.f64 2 re))
(+.f64 2 (*.f64 2 re))
(*.f64 2 re)
(+.f64 2 (*.f64 2 re))
(+.f64 2 (*.f64 2 re))
(+.f64 2 (*.f64 2 re))
(*.f64 2 re)
(+.f64 2 (*.f64 2 re))
(+.f64 2 (*.f64 2 re))
(+.f64 2 (*.f64 2 re))
(+.f64 (*.f64 (sin.f64 im) (+.f64 re 1)) 0)
(+.f64 (sin.f64 im) (*.f64 re (sin.f64 im)))
(*.f64 (sin.f64 im) (+.f64 1 re))
(+.f64 0 (*.f64 (sin.f64 im) (+.f64 re 1)))
(+.f64 (sin.f64 im) (*.f64 re (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 (sin.f64 im) (*.f64 re (sin.f64 im)))
(*.f64 (sin.f64 im) (+.f64 1 re))
(-.f64 (*.f64 (sin.f64 im) (+.f64 re 1)) 0)
(+.f64 (sin.f64 im) (*.f64 re (sin.f64 im)))
(*.f64 (sin.f64 im) (+.f64 1 re))
(-.f64 (*.f64 (sin.f64 im) (+.f64 2 (+.f64 re re))) (*.f64 (sin.f64 im) (+.f64 re 1)))
(+.f64 (sin.f64 im) (*.f64 re (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 (sin.f64 im) (*.f64 re (sin.f64 im)))
(*.f64 (sin.f64 im) (+.f64 1 re))
(/.f64 (*.f64 (sin.f64 im) (+.f64 re 1)) 1)
(+.f64 (sin.f64 im) (*.f64 re (sin.f64 im)))
(*.f64 (sin.f64 im) (+.f64 1 re))
(/.f64 (*.f64 (sin.f64 im) (+.f64 2 (+.f64 re re))) 2)
(+.f64 (sin.f64 im) (*.f64 re (sin.f64 im)))
(*.f64 (sin.f64 im) (+.f64 1 re))
(/.f64 (*.f64 (+.f64 re 1) (*.f64 (sin.f64 im) 4)) 4)
(+.f64 (sin.f64 im) (*.f64 re (sin.f64 im)))
(*.f64 (sin.f64 im) (+.f64 1 re))
(/.f64 (+.f64 (*.f64 (+.f64 re 1) (*.f64 (sin.f64 im) 4)) (*.f64 (+.f64 re 1) (*.f64 (sin.f64 im) 4))) 8)
(+.f64 (sin.f64 im) (*.f64 re (sin.f64 im)))
(*.f64 (sin.f64 im) (+.f64 1 re))
(/.f64 (*.f64 (*.f64 (-.f64 -1 re) -4) (*.f64 (sin.f64 im) 4)) 16)
(/.f64 (*.f64 4 (*.f64 (sin.f64 im) (*.f64 (-.f64 -1 re) -4))) 16)
(/.f64 (*.f64 (sin.f64 im) (*.f64 4 (*.f64 (-.f64 -1 re) -4))) 16)
(/.f64 (*.f64 (sin.f64 im) (*.f64 (-.f64 -1 re) -16)) 16)
(/.f64 (*.f64 2 (*.f64 (+.f64 re 1) (*.f64 (sin.f64 im) 4))) 8)
(+.f64 (sin.f64 im) (*.f64 re (sin.f64 im)))
(*.f64 (sin.f64 im) (+.f64 1 re))
(/.f64 (/.f64 (*.f64 2 (*.f64 (+.f64 re 1) (*.f64 (sin.f64 im) 4))) 2) 4)
(+.f64 (sin.f64 im) (*.f64 re (sin.f64 im)))
(*.f64 (sin.f64 im) (+.f64 1 re))
(/.f64 (*.f64 (-.f64 -1 re) (*.f64 (sin.f64 im) 2)) -2)
(+.f64 (sin.f64 im) (*.f64 re (sin.f64 im)))
(*.f64 (sin.f64 im) (+.f64 1 re))
(/.f64 (*.f64 (-.f64 -1 re) (*.f64 (sin.f64 im) 4)) -4)
(+.f64 (sin.f64 im) (*.f64 re (sin.f64 im)))
(*.f64 (sin.f64 im) (+.f64 1 re))
(/.f64 (*.f64 (-.f64 -1 re) (sin.f64 im)) -1)
(+.f64 (sin.f64 im) (*.f64 re (sin.f64 im)))
(*.f64 (sin.f64 im) (+.f64 1 re))
(/.f64 (*.f64 (-.f64 (-.f64 -2 re) re) (*.f64 (sin.f64 im) 4)) -8)
(+.f64 (sin.f64 im) (*.f64 re (sin.f64 im)))
(*.f64 (sin.f64 im) (+.f64 1 re))
(/.f64 (*.f64 (-.f64 (-.f64 -2 re) re) (sin.f64 im)) -2)
(+.f64 (sin.f64 im) (*.f64 re (sin.f64 im)))
(*.f64 (sin.f64 im) (+.f64 1 re))
(/.f64 (*.f64 (-.f64 (-.f64 -2 re) re) (*.f64 (sin.f64 im) 2)) -4)
(+.f64 (sin.f64 im) (*.f64 re (sin.f64 im)))
(*.f64 (sin.f64 im) (+.f64 1 re))
(/.f64 (*.f64 (-.f64 -1 re) (+.f64 (*.f64 (sin.f64 im) 4) (*.f64 (sin.f64 im) 4))) -8)
(+.f64 (sin.f64 im) (*.f64 re (sin.f64 im)))
(*.f64 (sin.f64 im) (+.f64 1 re))
(/.f64 (*.f64 (+.f64 re 1) (neg.f64 (sin.f64 im))) -1)
(+.f64 (sin.f64 im) (*.f64 re (sin.f64 im)))
(*.f64 (sin.f64 im) (+.f64 1 re))
(/.f64 (*.f64 (-.f64 (-.f64 -2 re) re) (*.f64 (sin.f64 im) 1/2)) -1)
(+.f64 (sin.f64 im) (*.f64 re (sin.f64 im)))
(*.f64 (sin.f64 im) (+.f64 1 re))
(pow.f64 (*.f64 (sin.f64 im) (+.f64 re 1)) 1)
(+.f64 (sin.f64 im) (*.f64 re (sin.f64 im)))
(*.f64 (sin.f64 im) (+.f64 1 re))
(-.f64 -1 (+.f64 (-.f64 -1 re) (-.f64 -2 re)))
(-.f64 re (-.f64 -2 (-.f64 re 0)))
(+.f64 2 (+.f64 re re))
(-.f64 -1 (+.f64 (-.f64 -1 re) (-.f64 re (+.f64 2 (+.f64 re re)))))
(-.f64 re (-.f64 -2 (-.f64 re 0)))
(+.f64 2 (+.f64 re re))
(-.f64 re (-.f64 -2 re))
(-.f64 re (-.f64 -2 (-.f64 re 0)))
(+.f64 2 (+.f64 re re))
(-.f64 re (-.f64 -1 (+.f64 re 1)))
(-.f64 re (-.f64 -2 (-.f64 re 0)))
(+.f64 2 (+.f64 re re))
(-.f64 (-.f64 -1 re) (+.f64 (-.f64 -1 re) (-.f64 (-.f64 -2 re) re)))
(-.f64 re (-.f64 -2 (-.f64 re 0)))
(+.f64 2 (+.f64 re re))
(-.f64 (+.f64 re 2) (neg.f64 re))
(-.f64 re (-.f64 -2 (-.f64 re 0)))
(+.f64 2 (+.f64 re re))
(-.f64 (+.f64 re 2) (+.f64 (-.f64 -1 re) 1))
(-.f64 re (-.f64 -2 (-.f64 re 0)))
(+.f64 2 (+.f64 re re))
(-.f64 (+.f64 2 (+.f64 re re)) 0)
(-.f64 re (-.f64 -2 (-.f64 re 0)))
(+.f64 2 (+.f64 re re))
(-.f64 (+.f64 re 1) (-.f64 -1 re))
(-.f64 re (-.f64 -2 (-.f64 re 0)))
(+.f64 2 (+.f64 re re))
(-.f64 0 (-.f64 (-.f64 -2 re) re))
(-.f64 re (-.f64 -2 (-.f64 re 0)))
(+.f64 2 (+.f64 re re))
(-.f64 1 (+.f64 (-.f64 -1 re) (neg.f64 re)))
(-.f64 re (-.f64 -2 (-.f64 re 0)))
(+.f64 2 (+.f64 re re))
(-.f64 (+.f64 re re) -2)
(-.f64 re (-.f64 -2 (-.f64 re 0)))
(+.f64 2 (+.f64 re re))
(-.f64 (-.f64 (-.f64 -2 re) re) (*.f64 (-.f64 -1 re) 4))
(-.f64 (-.f64 -2 re) (+.f64 (*.f64 4 (-.f64 -1 re)) re))
(-.f64 -2 (+.f64 (+.f64 re (*.f64 4 (-.f64 -1 re))) re))
(+.f64 (-.f64 -2 (+.f64 re re)) (/.f64 (-.f64 -1 re) -1/4))
(-.f64 -2 (+.f64 (-.f64 -2 re) (-.f64 -2 re)))
(-.f64 re (-.f64 -2 (-.f64 re 0)))
(+.f64 2 (+.f64 re re))
(-.f64 (*.f64 (-.f64 -1 re) -4) (+.f64 2 (+.f64 re re)))
(+.f64 (-.f64 (*.f64 (-.f64 -1 re) -4) 2) (/.f64 re -1/2))
(+.f64 -2 (-.f64 (*.f64 (-.f64 -1 re) -4) (+.f64 re re)))
(-.f64 (+.f64 re (+.f64 re 4)) 2)
(-.f64 re (-.f64 -2 (-.f64 re 0)))
(+.f64 2 (+.f64 re re))
(-.f64 (+.f64 re (+.f64 re 4)) (+.f64 (+.f64 re 2) (neg.f64 re)))
(-.f64 re (-.f64 -2 (-.f64 re 0)))
(+.f64 2 (+.f64 re re))
(-.f64 (+.f64 1 (+.f64 re re)) -1)
(-.f64 re (-.f64 -2 (-.f64 re 0)))
(+.f64 2 (+.f64 re re))
(-.f64 (+.f64 (+.f64 re re) 3) 1)
(-.f64 re (-.f64 -2 (-.f64 re 0)))
(+.f64 2 (+.f64 re re))
(-.f64 (*.f64 3 (+.f64 re 1)) (+.f64 re 1))
(+.f64 (-.f64 (*.f64 3 (+.f64 1 re)) re) -1)
(+.f64 -1 (-.f64 (*.f64 3 (+.f64 1 re)) re))
(-.f64 (+.f64 1/2 (/.f64 re 2)) (*.f64 -3 (+.f64 1/2 (/.f64 re 2))))
(-.f64 (+.f64 1/2 (/.f64 re 2)) (*.f64 (+.f64 1/2 (/.f64 re 2)) -3))
(-.f64 (+.f64 1 (/.f64 re 2)) (-.f64 (neg.f64 re) (+.f64 1 (/.f64 re 2))))
(-.f64 (+.f64 1 (/.f64 re 2)) (+.f64 (-.f64 -1 re) (neg.f64 (/.f64 re 2))))
(+.f64 re (-.f64 (/.f64 re 2) (+.f64 -2 (/.f64 re -2))))
(-.f64 (/.f64 re 2) (+.f64 (-.f64 -2 re) (/.f64 re -2)))
(-.f64 (+.f64 1 (/.f64 re 2)) (-.f64 (neg.f64 re) (+.f64 1 (/.f64 re 2))))
(-.f64 (+.f64 1 (/.f64 re 2)) (+.f64 (-.f64 -1 re) (neg.f64 (/.f64 re 2))))
(+.f64 re (-.f64 (/.f64 re 2) (+.f64 -2 (/.f64 re -2))))
(-.f64 (/.f64 re 2) (-.f64 (-.f64 -2 re) (/.f64 re 2)))
(-.f64 (+.f64 1 (/.f64 re 2)) (-.f64 (neg.f64 re) (+.f64 1 (/.f64 re 2))))
(-.f64 (+.f64 1 (/.f64 re 2)) (+.f64 (-.f64 -1 re) (neg.f64 (/.f64 re 2))))
(+.f64 re (-.f64 (/.f64 re 2) (+.f64 -2 (/.f64 re -2))))
(-.f64 (+.f64 (+.f64 re 2) (+.f64 1/2 (/.f64 re 2))) (-.f64 1 (+.f64 1/2 (/.f64 re 2))))
(-.f64 (+.f64 (+.f64 2 re) (+.f64 1/2 (/.f64 re 2))) (+.f64 1/2 (neg.f64 (/.f64 re 2))))
(-.f64 (+.f64 (/.f64 re 2) (+.f64 re 5/2)) (+.f64 1/2 (neg.f64 (/.f64 re 2))))
(+.f64 (/.f64 re 2) (-.f64 1/2 (+.f64 -3/2 (*.f64 re -3/2))))
(-.f64 (+.f64 re (+.f64 1/2 (/.f64 re 2))) (-.f64 -1 (+.f64 1/2 (/.f64 re 2))))
(-.f64 (+.f64 (+.f64 2 re) (+.f64 1/2 (/.f64 re 2))) (+.f64 1/2 (neg.f64 (/.f64 re 2))))
(-.f64 (+.f64 (/.f64 re 2) (+.f64 re 5/2)) (+.f64 1/2 (neg.f64 (/.f64 re 2))))
(+.f64 (/.f64 re 2) (-.f64 1/2 (+.f64 -3/2 (*.f64 re -3/2))))
(-.f64 (+.f64 (+.f64 re 1) (+.f64 1/2 (/.f64 re 2))) (+.f64 (/.f64 re -2) -1/2))
(-.f64 (+.f64 (+.f64 2 re) (+.f64 1/2 (/.f64 re 2))) (+.f64 1/2 (neg.f64 (/.f64 re 2))))
(-.f64 (+.f64 (/.f64 re 2) (+.f64 re 5/2)) (+.f64 1/2 (neg.f64 (/.f64 re 2))))
(+.f64 (/.f64 re 2) (-.f64 1/2 (+.f64 -3/2 (*.f64 re -3/2))))
(-.f64 (+.f64 (-.f64 -1 re) (+.f64 1/2 (/.f64 re 2))) (*.f64 -5 (+.f64 1/2 (/.f64 re 2))))
(-.f64 (+.f64 (-.f64 -1 re) (+.f64 1/2 (/.f64 re 2))) (*.f64 (+.f64 1/2 (/.f64 re 2)) -5))
(-.f64 (+.f64 (/.f64 re 2) (+.f64 (-.f64 -1 re) 1/2)) (*.f64 (+.f64 1/2 (/.f64 re 2)) -5))
(-.f64 (+.f64 (+.f64 2 (+.f64 re re)) (+.f64 1/2 (/.f64 re 2))) (+.f64 1/2 (/.f64 re 2)))
(+.f64 (-.f64 (+.f64 (/.f64 re 2) (+.f64 (+.f64 re re) 5/2)) (/.f64 re 2)) -1/2)
(+.f64 -1/2 (-.f64 (+.f64 re (+.f64 re (+.f64 (/.f64 re 2) 5/2))) (/.f64 re 2)))
(-.f64 (+.f64 re (+.f64 1 (/.f64 re 2))) (/.f64 (-.f64 -2 re) 2))
(-.f64 (+.f64 1 (/.f64 re 2)) (-.f64 (neg.f64 re) (+.f64 1 (/.f64 re 2))))
(-.f64 (+.f64 1 (/.f64 re 2)) (+.f64 (-.f64 -1 re) (neg.f64 (/.f64 re 2))))
(+.f64 re (-.f64 (/.f64 re 2) (+.f64 -2 (/.f64 re -2))))
(-.f64 (+.f64 (+.f64 re 2) (/.f64 re 2)) (/.f64 re -2))
(-.f64 (+.f64 (+.f64 2 re) (/.f64 re 2)) (/.f64 re -2))
(-.f64 (+.f64 (/.f64 re 2) (-.f64 re -2)) (/.f64 re -2))
(-.f64 (+.f64 re (/.f64 re 2)) (-.f64 -2 (/.f64 re 2)))
(-.f64 (+.f64 1 (/.f64 re 2)) (-.f64 (neg.f64 re) (+.f64 1 (/.f64 re 2))))
(-.f64 (+.f64 1 (/.f64 re 2)) (+.f64 (-.f64 -1 re) (neg.f64 (/.f64 re 2))))
(+.f64 re (-.f64 (/.f64 re 2) (+.f64 -2 (/.f64 re -2))))
(-.f64 (+.f64 -1 (+.f64 1/2 (/.f64 re 2))) (-.f64 (-.f64 -2 re) (+.f64 1/2 (/.f64 re 2))))
(-.f64 (+.f64 (+.f64 2 re) (+.f64 1/2 (/.f64 re 2))) (+.f64 1/2 (neg.f64 (/.f64 re 2))))
(-.f64 (+.f64 (/.f64 re 2) (+.f64 re 5/2)) (+.f64 1/2 (neg.f64 (/.f64 re 2))))
(+.f64 (/.f64 re 2) (-.f64 1/2 (+.f64 -3/2 (*.f64 re -3/2))))
(-.f64 (+.f64 -1 (+.f64 1/2 (/.f64 re 2))) (-.f64 (-.f64 re (+.f64 2 (+.f64 re re))) (+.f64 1/2 (/.f64 re 2))))
(-.f64 (+.f64 (+.f64 2 re) (+.f64 1/2 (/.f64 re 2))) (+.f64 1/2 (neg.f64 (/.f64 re 2))))
(-.f64 (+.f64 (/.f64 re 2) (+.f64 re 5/2)) (+.f64 1/2 (neg.f64 (/.f64 re 2))))
(+.f64 (/.f64 re 2) (-.f64 1/2 (+.f64 -3/2 (*.f64 re -3/2))))
(-.f64 (-.f64 (/.f64 re 2) (-.f64 -2 re)) (/.f64 re -2))
(-.f64 (+.f64 1 (/.f64 re 2)) (-.f64 (neg.f64 re) (+.f64 1 (/.f64 re 2))))
(-.f64 (+.f64 1 (/.f64 re 2)) (+.f64 (-.f64 -1 re) (neg.f64 (/.f64 re 2))))
(+.f64 re (-.f64 (/.f64 re 2) (+.f64 -2 (/.f64 re -2))))
(-.f64 (-.f64 -1 (-.f64 -1 re)) (-.f64 -2 re))
(-.f64 re (-.f64 -2 (-.f64 re 0)))
(+.f64 2 (+.f64 re re))
(-.f64 (-.f64 -1 (-.f64 -1 re)) (-.f64 re (+.f64 2 (+.f64 re re))))
(-.f64 re (-.f64 -2 (-.f64 re 0)))
(+.f64 2 (+.f64 re re))
(-.f64 (-.f64 -2 (-.f64 -1 re)) (+.f64 -1 (-.f64 -2 re)))
(-.f64 re (-.f64 -2 (-.f64 re 0)))
(+.f64 2 (+.f64 re re))
(-.f64 (-.f64 (*.f64 (-.f64 -1 re) -4) (-.f64 -1 re)) (*.f64 3 (+.f64 re 1)))
(-.f64 (*.f64 (-.f64 -1 re) -4) (+.f64 (*.f64 3 (+.f64 1 re)) (-.f64 -1 re)))
(-.f64 re (-.f64 -1 (-.f64 (*.f64 (-.f64 -1 re) -4) (*.f64 3 (+.f64 1 re)))))
(+.f64 (+.f64 1 re) (-.f64 (*.f64 (-.f64 -1 re) -4) (*.f64 3 (+.f64 1 re))))
(-.f64 (-.f64 (+.f64 1 (+.f64 re re)) (-.f64 -1 re)) re)
(-.f64 re (-.f64 -2 (-.f64 re 0)))
(+.f64 2 (+.f64 re re))
(-.f64 (-.f64 1 (-.f64 -1 re)) (neg.f64 re))
(-.f64 re (-.f64 -2 (-.f64 re 0)))
(+.f64 2 (+.f64 re re))
(-.f64 (-.f64 (/.f64 re 2) -2) (*.f64 -3 (/.f64 re 2)))
(-.f64 (/.f64 re 2) (+.f64 (*.f64 re -3/2) -2))
(+.f64 (-.f64 (/.f64 re 2) (*.f64 re -3/2)) 2)
(+.f64 2 (-.f64 (/.f64 re 2) (*.f64 re -3/2)))
(-.f64 (-.f64 (+.f64 1 (/.f64 re 2)) (neg.f64 re)) (/.f64 (-.f64 -2 re) 2))
(-.f64 (+.f64 1 (/.f64 re 2)) (-.f64 (neg.f64 re) (+.f64 1 (/.f64 re 2))))
(-.f64 (+.f64 1 (/.f64 re 2)) (+.f64 (-.f64 -1 re) (neg.f64 (/.f64 re 2))))
(+.f64 re (-.f64 (/.f64 re 2) (+.f64 -2 (/.f64 re -2))))
(-.f64 (-.f64 (+.f64 1/2 (/.f64 re 2)) (neg.f64 re)) (-.f64 -1 (+.f64 1/2 (/.f64 re 2))))
(-.f64 (+.f64 (+.f64 2 re) (+.f64 1/2 (/.f64 re 2))) (+.f64 1/2 (neg.f64 (/.f64 re 2))))
(-.f64 (+.f64 (/.f64 re 2) (+.f64 re 5/2)) (+.f64 1/2 (neg.f64 (/.f64 re 2))))
(+.f64 (/.f64 re 2) (-.f64 1/2 (+.f64 -3/2 (*.f64 re -3/2))))
(-.f64 (*.f64 3 (+.f64 1/2 (/.f64 re 2))) (+.f64 (/.f64 re -2) -1/2))
(+.f64 (-.f64 (*.f64 3 (+.f64 1/2 (/.f64 re 2))) (/.f64 re -2)) 1/2)
(+.f64 1/2 (-.f64 (*.f64 3 (+.f64 1/2 (/.f64 re 2))) (/.f64 re -2)))
(-.f64 (*.f64 3 (+.f64 1/2 (/.f64 re 2))) (+.f64 -1/2 (/.f64 re -2)))
(-.f64 (+.f64 1 (+.f64 1/2 (/.f64 re 2))) (-.f64 (neg.f64 re) (+.f64 1/2 (/.f64 re 2))))
(-.f64 (+.f64 (+.f64 2 re) (+.f64 1/2 (/.f64 re 2))) (+.f64 1/2 (neg.f64 (/.f64 re 2))))
(-.f64 (+.f64 (/.f64 re 2) (+.f64 re 5/2)) (+.f64 1/2 (neg.f64 (/.f64 re 2))))
(+.f64 (/.f64 re 2) (-.f64 1/2 (+.f64 -3/2 (*.f64 re -3/2))))
(-.f64 (+.f64 -2 (+.f64 1/2 (/.f64 re 2))) (-.f64 (+.f64 -1 (-.f64 -2 re)) (+.f64 1/2 (/.f64 re 2))))
(-.f64 (+.f64 (+.f64 2 re) (+.f64 1/2 (/.f64 re 2))) (+.f64 1/2 (neg.f64 (/.f64 re 2))))
(-.f64 (+.f64 (/.f64 re 2) (+.f64 re 5/2)) (+.f64 1/2 (neg.f64 (/.f64 re 2))))
(+.f64 (/.f64 re 2) (-.f64 1/2 (+.f64 -3/2 (*.f64 re -3/2))))
(-.f64 (+.f64 (*.f64 (-.f64 -1 re) -4) (+.f64 1/2 (/.f64 re 2))) (-.f64 (*.f64 3 (+.f64 re 1)) (+.f64 1/2 (/.f64 re 2))))
(-.f64 (+.f64 1/2 (/.f64 re 2)) (-.f64 (*.f64 3 (+.f64 1 re)) (+.f64 (*.f64 (-.f64 -1 re) -4) (+.f64 1/2 (/.f64 re 2)))))
(-.f64 (+.f64 (*.f64 (-.f64 -1 re) -4) (+.f64 1/2 (/.f64 re 2))) (+.f64 (-.f64 (*.f64 3 (+.f64 1 re)) (/.f64 re 2)) -1/2))
(+.f64 (/.f64 re 2) (-.f64 1/2 (+.f64 (+.f64 -1/2 (/.f64 re -2)) (-.f64 (*.f64 3 (+.f64 1 re)) (*.f64 (-.f64 -1 re) -4)))))
(-.f64 (+.f64 (+.f64 1 (+.f64 re re)) (+.f64 1/2 (/.f64 re 2))) (-.f64 re (+.f64 1/2 (/.f64 re 2))))
(-.f64 (+.f64 (+.f64 2 re) (+.f64 1/2 (/.f64 re 2))) (+.f64 1/2 (neg.f64 (/.f64 re 2))))
(-.f64 (+.f64 (/.f64 re 2) (+.f64 re 5/2)) (+.f64 1/2 (neg.f64 (/.f64 re 2))))
(+.f64 (/.f64 re 2) (-.f64 1/2 (+.f64 -3/2 (*.f64 re -3/2))))
(-.f64 (-.f64 (*.f64 re 4) -2) (+.f64 re re))
(-.f64 (*.f64 re 4) (+.f64 (+.f64 re re) -2))
(+.f64 (-.f64 (*.f64 re 4) (+.f64 re re)) 2)
(-.f64 (*.f64 re 4) (+.f64 (+.f64 re -2) re))
(-.f64 (+.f64 (+.f64 re 2) (-.f64 (+.f64 2 (+.f64 re re)) re)) 2)
(-.f64 re (-.f64 -2 (-.f64 re 0)))
(+.f64 2 (+.f64 re re))
(-.f64 (+.f64 (-.f64 (+.f64 2 (+.f64 re re)) re) (+.f64 re 2)) 2)
(-.f64 re (-.f64 -2 (-.f64 re 0)))
(+.f64 2 (+.f64 re re))
(-.f64 (+.f64 (-.f64 (+.f64 2 (+.f64 re re)) re) (-.f64 (+.f64 2 (+.f64 re re)) re)) 2)
(-.f64 re (-.f64 -2 (-.f64 re 0)))
(+.f64 2 (+.f64 re re))
(-.f64 (+.f64 re (-.f64 -2 (-.f64 -2 re))) -2)
(-.f64 re (-.f64 -2 (-.f64 re 0)))
(+.f64 2 (+.f64 re re))
(-.f64 (+.f64 re (-.f64 (+.f64 2 (+.f64 re re)) (+.f64 re 2))) -2)
(-.f64 re (-.f64 -2 (-.f64 re 0)))
(+.f64 2 (+.f64 re re))
(-.f64 (+.f64 (-.f64 -2 (-.f64 -2 re)) re) -2)
(-.f64 re (-.f64 -2 (-.f64 re 0)))
(+.f64 2 (+.f64 re re))
(-.f64 (+.f64 (-.f64 -2 (-.f64 -2 re)) (-.f64 -2 (-.f64 -2 re))) -2)
(-.f64 re (-.f64 -2 (-.f64 re 0)))
(+.f64 2 (+.f64 re re))
(-.f64 (+.f64 (-.f64 -2 (-.f64 -2 re)) (-.f64 (+.f64 2 (+.f64 re re)) (+.f64 re 2))) -2)
(-.f64 re (-.f64 -2 (-.f64 re 0)))
(+.f64 2 (+.f64 re re))
(-.f64 (+.f64 (-.f64 (+.f64 2 (+.f64 re re)) (+.f64 re 2)) re) -2)
(-.f64 re (-.f64 -2 (-.f64 re 0)))
(+.f64 2 (+.f64 re re))
(-.f64 (+.f64 (-.f64 (+.f64 2 (+.f64 re re)) (+.f64 re 2)) (-.f64 -2 (-.f64 -2 re))) -2)
(-.f64 re (-.f64 -2 (-.f64 re 0)))
(+.f64 2 (+.f64 re re))
(-.f64 (+.f64 (-.f64 (+.f64 2 (+.f64 re re)) (+.f64 re 2)) (-.f64 (+.f64 2 (+.f64 re re)) (+.f64 re 2))) -2)
(-.f64 re (-.f64 -2 (-.f64 re 0)))
(+.f64 2 (+.f64 re re))
(*.f64 -1 (-.f64 (-.f64 -2 re) re))
(-.f64 re (-.f64 -2 (-.f64 re 0)))
(+.f64 2 (+.f64 re re))
(*.f64 (-.f64 -1 re) -2)
(-.f64 re (-.f64 -2 (-.f64 re 0)))
(+.f64 2 (+.f64 re re))
(*.f64 2 (+.f64 re 1))
(-.f64 re (-.f64 -2 (-.f64 re 0)))
(+.f64 2 (+.f64 re re))
(*.f64 (+.f64 2 (+.f64 re re)) 1)
(-.f64 re (-.f64 -2 (-.f64 re 0)))
(+.f64 2 (+.f64 re re))
(*.f64 (+.f64 re 1) 2)
(-.f64 re (-.f64 -2 (-.f64 re 0)))
(+.f64 2 (+.f64 re re))
(*.f64 1 (+.f64 2 (+.f64 re re)))
(-.f64 re (-.f64 -2 (-.f64 re 0)))
(+.f64 2 (+.f64 re re))
(*.f64 (-.f64 (-.f64 -2 re) re) -1)
(-.f64 re (-.f64 -2 (-.f64 re 0)))
(+.f64 2 (+.f64 re re))
(*.f64 -2 (-.f64 -1 re))
(-.f64 re (-.f64 -2 (-.f64 re 0)))
(+.f64 2 (+.f64 re re))
(*.f64 (*.f64 (-.f64 -1 re) -4) 1/2)
(-.f64 re (-.f64 -2 (-.f64 re 0)))
(+.f64 2 (+.f64 re re))
(*.f64 1/2 (*.f64 (-.f64 -1 re) -4))
(-.f64 re (-.f64 -2 (-.f64 re 0)))
(+.f64 2 (+.f64 re re))
(*.f64 (*.f64 (+.f64 2 (+.f64 re re)) 4) 1/4)
(-.f64 re (-.f64 -2 (-.f64 re 0)))
(+.f64 2 (+.f64 re re))
(*.f64 (*.f64 (-.f64 -1 re) 4) -1/2)
(-.f64 re (-.f64 -2 (-.f64 re 0)))
(+.f64 2 (+.f64 re re))
(*.f64 1/4 (*.f64 (+.f64 2 (+.f64 re re)) 4))
(-.f64 re (-.f64 -2 (-.f64 re 0)))
(+.f64 2 (+.f64 re re))
(*.f64 (+.f64 (*.f64 (+.f64 2 (+.f64 re re)) 4) (*.f64 (+.f64 2 (+.f64 re re)) 4)) 1/8)
(-.f64 re (-.f64 -2 (-.f64 re 0)))
(+.f64 2 (+.f64 re re))
(/.f64 (-.f64 -1 re) -1/2)
(-.f64 re (-.f64 -2 (-.f64 re 0)))
(+.f64 2 (+.f64 re re))
(/.f64 (+.f64 2 (+.f64 re re)) 1)
(-.f64 re (-.f64 -2 (-.f64 re 0)))
(+.f64 2 (+.f64 re re))
(/.f64 (+.f64 re 1) 1/2)
(-.f64 re (-.f64 -2 (-.f64 re 0)))
(+.f64 2 (+.f64 re re))
(/.f64 (-.f64 (-.f64 -2 re) re) -1)
(-.f64 re (-.f64 -2 (-.f64 re 0)))
(+.f64 2 (+.f64 re re))
(/.f64 (*.f64 (-.f64 -1 re) -4) 2)
(-.f64 re (-.f64 -2 (-.f64 re 0)))
(+.f64 2 (+.f64 re re))
(/.f64 (*.f64 (+.f64 2 (+.f64 re re)) 4) 4)
(-.f64 re (-.f64 -2 (-.f64 re 0)))
(+.f64 2 (+.f64 re re))
(/.f64 (*.f64 (-.f64 -1 re) 4) -2)
(-.f64 re (-.f64 -2 (-.f64 re 0)))
(+.f64 2 (+.f64 re re))
(/.f64 (neg.f64 (*.f64 (+.f64 2 (+.f64 re re)) 4)) -4)
(-.f64 re (-.f64 -2 (-.f64 re 0)))
(+.f64 2 (+.f64 re re))
(/.f64 (+.f64 (*.f64 (-.f64 -1 re) 4) (*.f64 (-.f64 -1 re) 4)) -4)
(-.f64 re (-.f64 -2 (-.f64 re 0)))
(+.f64 2 (+.f64 re re))
(/.f64 (+.f64 (*.f64 (+.f64 2 (+.f64 re re)) 4) (*.f64 (+.f64 2 (+.f64 re re)) 4)) 8)
(-.f64 re (-.f64 -2 (-.f64 re 0)))
(+.f64 2 (+.f64 re re))
(/.f64 (/.f64 (neg.f64 (*.f64 (+.f64 2 (+.f64 re re)) 4)) -1) 4)
(-.f64 re (-.f64 -2 (-.f64 re 0)))
(+.f64 2 (+.f64 re re))
(/.f64 (/.f64 (+.f64 (*.f64 (-.f64 -1 re) 4) (*.f64 (-.f64 -1 re) 4)) -1) 4)
(-.f64 re (-.f64 -2 (-.f64 re 0)))
(+.f64 2 (+.f64 re re))
(pow.f64 (+.f64 2 (+.f64 re re)) 1)
(-.f64 re (-.f64 -2 (-.f64 re 0)))
(+.f64 2 (+.f64 re re))
(neg.f64 (-.f64 (-.f64 -2 re) re))
(-.f64 re (-.f64 -2 (-.f64 re 0)))
(+.f64 2 (+.f64 re re))

eval1.2s (4.4%)

Compiler

Compiled 13964 to 9002 computations (35.5% saved)

prune798.0ms (3%)

Pruning

24 alts after pruning (16 fresh and 8 done)

PrunedKeptTotal
New89915914
Fresh011
Picked011
Done279
Total90124925
Error
0.0b
Counts
925 → 24
Alt Table
Click to see full alt table
StatusErrorProgram
60.6b
(-.f64 (-.f64 (-.f64 (+.f64 (*.f64 im 1/2) -1) (-.f64 -1 im)) (-.f64 im (*.f64 re im))) (/.f64 im -2))
40.8b
(-.f64 (-.f64 (-.f64 (+.f64 im (*.f64 im 3/2)) im) (-.f64 im (*.f64 re im))) (/.f64 im -2))
40.5b
(-.f64 (-.f64 (*.f64 re im) im) (+.f64 (*.f64 im -3/4) (-.f64 (/.f64 im -4) im)))
57.3b
(-.f64 (+.f64 (-.f64 -1 (*.f64 im -3/2)) (+.f64 1 (-.f64 (*.f64 im re) im))) (/.f64 im -2))
57.5b
(-.f64 (+.f64 (+.f64 im im) (+.f64 1 (-.f64 (*.f64 im (-.f64 re 1/2)) (-.f64 im -1)))) (/.f64 im -2))
58.5b
(-.f64 (*.f64 re im) (/.f64 im -2))
40.5b
(-.f64 (*.f64 im (+.f64 re 2)) im)
55.8b
(+.f64 (-.f64 (*.f64 im (+.f64 re 1/2)) (+.f64 (*.f64 im -1/2) 1)) 1)
40.8b
(+.f64 (-.f64 (*.f64 im 3) (*.f64 im (-.f64 1/2 re))) (*.f64 im -3/2))
55.8b
(+.f64 (-.f64 1 (*.f64 im (-.f64 1/2 re))) (-.f64 -1 (*.f64 im -3/2)))
40.5b
(+.f64 (*.f64 re im) im)
40.7b
(+.f64 (*.f64 im (-.f64 re 1/2)) (*.f64 im 3/2))
40.8b
(+.f64 (*.f64 im -3/2) (*.f64 im (-.f64 re -5/2)))
55.8b
(+.f64 -1 (-.f64 1 (*.f64 im (-.f64 -1 re))))
55.8b
(+.f64 -1 (+.f64 (-.f64 (/.f64 im 4) (*.f64 im -1/2)) (-.f64 (*.f64 re im) (-.f64 -1 (/.f64 im 4)))))
19.8b
(*.f64 (-.f64 (+.f64 1 (*.f64 2 re)) re) (sin.f64 im))
19.8b
(*.f64 (+.f64 -1 (+.f64 (-.f64 (*.f64 re 3) -2) (*.f64 re -2))) (sin.f64 im))
19.8b
(*.f64 (sin.f64 im) (-.f64 re -1))
19.8b
(*.f64 (sin.f64 im) (+.f64 (-.f64 -1 re) (+.f64 re (+.f64 re 2))))
0.0b
(*.f64 (exp.f64 re) (sin.f64 im))
20.9b
(*.f64 (exp.f64 re) im)
61.4b
(*.f64 re im)
19.7b
(sin.f64 im)
40.2b
im
Compiler

Compiled 296 to 214 computations (27.7% saved)

regimes402.0ms (1.5%)

Counts
28 → 1
Calls
Call 1
Inputs
im
(*.f64 re im)
(+.f64 (*.f64 re im) im)
(-.f64 (*.f64 im (+.f64 re 2)) im)
(-.f64 (*.f64 re im) (/.f64 im -2))
(*.f64 (-.f64 (*.f64 2 re) (+.f64 re -1)) im)
(+.f64 -1 (-.f64 1 (*.f64 im (-.f64 -1 re))))
(+.f64 (*.f64 im -3/2) (*.f64 im (-.f64 re -5/2)))
(+.f64 (*.f64 im (-.f64 re 1/2)) (*.f64 im 3/2))
(+.f64 (-.f64 1 (*.f64 im (-.f64 1/2 re))) (-.f64 -1 (*.f64 im -3/2)))
(+.f64 (-.f64 (*.f64 im 3) (*.f64 im (-.f64 1/2 re))) (*.f64 im -3/2))
(+.f64 (-.f64 (*.f64 im (+.f64 re 1/2)) (+.f64 (*.f64 im -1/2) 1)) 1)
(-.f64 (-.f64 (*.f64 re im) im) (+.f64 (*.f64 im -3/4) (-.f64 (/.f64 im -4) im)))
(-.f64 (-.f64 (+.f64 im (*.f64 im 1/2)) (-.f64 im (*.f64 re im))) (/.f64 im -2))
(-.f64 (+.f64 (-.f64 -1 (*.f64 im -3/2)) (+.f64 1 (-.f64 (*.f64 im re) im))) (/.f64 im -2))
(-.f64 (-.f64 (-.f64 (+.f64 im (*.f64 im 3/2)) im) (-.f64 im (*.f64 re im))) (/.f64 im -2))
(+.f64 -1 (+.f64 (-.f64 (/.f64 im 4) (*.f64 im -1/2)) (-.f64 (*.f64 re im) (-.f64 -1 (/.f64 im 4)))))
(-.f64 (+.f64 (+.f64 im im) (+.f64 1 (-.f64 (*.f64 im (-.f64 re 1/2)) (-.f64 im -1)))) (/.f64 im -2))
(-.f64 (-.f64 (-.f64 (+.f64 (*.f64 im 1/2) -1) (-.f64 -1 im)) (-.f64 im (*.f64 re im))) (/.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 (sin.f64 im) (+.f64 (-.f64 -1 re) (+.f64 re (+.f64 re 2))))
(*.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))
Outputs
(*.f64 (exp.f64 re) (sin.f64 im))
Calls

5 calls:

194.0ms
im
85.0ms
re
53.0ms
(sin.f64 im)
36.0ms
(*.f64 (exp.f64 re) (sin.f64 im))
22.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 312 to 190 computations (39.1% saved)

regimes855.0ms (3.2%)

Counts
26 → 2
Calls
Call 1
Inputs
im
(*.f64 re im)
(+.f64 (*.f64 re im) im)
(-.f64 (*.f64 im (+.f64 re 2)) im)
(-.f64 (*.f64 re im) (/.f64 im -2))
(*.f64 (-.f64 (*.f64 2 re) (+.f64 re -1)) im)
(+.f64 -1 (-.f64 1 (*.f64 im (-.f64 -1 re))))
(+.f64 (*.f64 im -3/2) (*.f64 im (-.f64 re -5/2)))
(+.f64 (*.f64 im (-.f64 re 1/2)) (*.f64 im 3/2))
(+.f64 (-.f64 1 (*.f64 im (-.f64 1/2 re))) (-.f64 -1 (*.f64 im -3/2)))
(+.f64 (-.f64 (*.f64 im 3) (*.f64 im (-.f64 1/2 re))) (*.f64 im -3/2))
(+.f64 (-.f64 (*.f64 im (+.f64 re 1/2)) (+.f64 (*.f64 im -1/2) 1)) 1)
(-.f64 (-.f64 (*.f64 re im) im) (+.f64 (*.f64 im -3/4) (-.f64 (/.f64 im -4) im)))
(-.f64 (-.f64 (+.f64 im (*.f64 im 1/2)) (-.f64 im (*.f64 re im))) (/.f64 im -2))
(-.f64 (+.f64 (-.f64 -1 (*.f64 im -3/2)) (+.f64 1 (-.f64 (*.f64 im re) im))) (/.f64 im -2))
(-.f64 (-.f64 (-.f64 (+.f64 im (*.f64 im 3/2)) im) (-.f64 im (*.f64 re im))) (/.f64 im -2))
(+.f64 -1 (+.f64 (-.f64 (/.f64 im 4) (*.f64 im -1/2)) (-.f64 (*.f64 re im) (-.f64 -1 (/.f64 im 4)))))
(-.f64 (+.f64 (+.f64 im im) (+.f64 1 (-.f64 (*.f64 im (-.f64 re 1/2)) (-.f64 im -1)))) (/.f64 im -2))
(-.f64 (-.f64 (-.f64 (+.f64 (*.f64 im 1/2) -1) (-.f64 -1 im)) (-.f64 im (*.f64 re im))) (/.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 (sin.f64 im) (+.f64 (-.f64 -1 re) (+.f64 re (+.f64 re 2))))
(*.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:

304.0ms
im
274.0ms
(sin.f64 im)
243.0ms
re
8.0ms
(exp.f64 re)
Results
ErrorSegmentsBranch
0.4b2re
9.4b3im
0.4b2(exp.f64 re)
9.4b3(sin.f64 im)
Compiler

Compiled 293 to 182 computations (37.9% saved)

bsearch0.0ms (0%)

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

Compiled 12 to 9 computations (25% saved)

regimes541.0ms (2%)

Counts
23 → 2
Calls
Call 1
Inputs
im
(*.f64 re im)
(+.f64 (*.f64 re im) im)
(-.f64 (*.f64 im (+.f64 re 2)) im)
(-.f64 (*.f64 re im) (/.f64 im -2))
(*.f64 (-.f64 (*.f64 2 re) (+.f64 re -1)) im)
(+.f64 -1 (-.f64 1 (*.f64 im (-.f64 -1 re))))
(+.f64 (*.f64 im -3/2) (*.f64 im (-.f64 re -5/2)))
(+.f64 (*.f64 im (-.f64 re 1/2)) (*.f64 im 3/2))
(+.f64 (-.f64 1 (*.f64 im (-.f64 1/2 re))) (-.f64 -1 (*.f64 im -3/2)))
(+.f64 (-.f64 (*.f64 im 3) (*.f64 im (-.f64 1/2 re))) (*.f64 im -3/2))
(+.f64 (-.f64 (*.f64 im (+.f64 re 1/2)) (+.f64 (*.f64 im -1/2) 1)) 1)
(-.f64 (-.f64 (*.f64 re im) im) (+.f64 (*.f64 im -3/4) (-.f64 (/.f64 im -4) im)))
(-.f64 (-.f64 (+.f64 im (*.f64 im 1/2)) (-.f64 im (*.f64 re im))) (/.f64 im -2))
(-.f64 (+.f64 (-.f64 -1 (*.f64 im -3/2)) (+.f64 1 (-.f64 (*.f64 im re) im))) (/.f64 im -2))
(-.f64 (-.f64 (-.f64 (+.f64 im (*.f64 im 3/2)) im) (-.f64 im (*.f64 re im))) (/.f64 im -2))
(+.f64 -1 (+.f64 (-.f64 (/.f64 im 4) (*.f64 im -1/2)) (-.f64 (*.f64 re im) (-.f64 -1 (/.f64 im 4)))))
(-.f64 (+.f64 (+.f64 im im) (+.f64 1 (-.f64 (*.f64 im (-.f64 re 1/2)) (-.f64 im -1)))) (/.f64 im -2))
(-.f64 (-.f64 (-.f64 (+.f64 (*.f64 im 1/2) -1) (-.f64 -1 im)) (-.f64 im (*.f64 re im))) (/.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 (+.f64 re re) (+.f64 re -1)))
Calls

4 calls:

287.0ms
(sin.f64 im)
142.0ms
im
84.0ms
re
8.0ms
(exp.f64 re)
Results
ErrorSegmentsBranch
0.4b2re
9.4b3im
0.4b2(exp.f64 re)
9.4b3(sin.f64 im)
Compiler

Compiled 257 to 159 computations (38.1% saved)

bsearch0.0ms (0%)

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

Compiled 12 to 9 computations (25% saved)

regimes337.0ms (1.3%)

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

4 calls:

136.0ms
im
110.0ms
(sin.f64 im)
71.0ms
re
8.0ms
(exp.f64 re)
Results
ErrorSegmentsBranch
0.4b2re
9.4b3im
0.4b2(exp.f64 re)
9.4b3(sin.f64 im)
Compiler

Compiled 247 to 154 computations (37.7% saved)

bsearch0.0ms (0%)

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

Compiled 12 to 9 computations (25% saved)

regimes345.0ms (1.3%)

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

4 calls:

122.0ms
im
109.0ms
(sin.f64 im)
74.0ms
re
18.0ms
(exp.f64 re)
Results
ErrorSegmentsBranch
0.6b2re
9.5b3im
0.6b2(exp.f64 re)
9.5b3(sin.f64 im)
Compiler

Compiled 241 to 151 computations (37.3% saved)

bsearch0.0ms (0%)

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

Compiled 12 to 9 computations (25% saved)

regimes340.0ms (1.3%)

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

3 calls:

127.0ms
im
104.0ms
(sin.f64 im)
68.0ms
re
Results
ErrorSegmentsBranch
15.7b2re
18.6b3im
18.6b3(sin.f64 im)
Compiler

Compiled 233 to 146 computations (37.3% saved)

bsearch55.0ms (0.2%)

Algorithm
binary-search
Steps
TimeLeftRight
55.0ms
-23570266086337.26
-599.3788975632837
Results
27.0ms138×body256valid
9.0ms16×body1024valid
2.0msbody512valid
Compiler

Compiled 222 to 179 computations (19.4% saved)

regimes195.0ms (0.7%)

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

2 calls:

114.0ms
im
71.0ms
re
Results
ErrorSegmentsBranch
36.0b2re
39.1b3im
Compiler

Compiled 227 to 142 computations (37.4% saved)

bsearch81.0ms (0.3%)

Algorithm
binary-search
Steps
TimeLeftRight
81.0ms
-23570266086337.26
-599.3788975632837
Results
49.0ms140×body256valid
10.0ms10×body1024valid
6.0ms10×body512valid
Compiler

Compiled 272 to 209 computations (23.2% saved)

regimes135.0ms (0.5%)

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

2 calls:

83.0ms
im
45.0ms
re
Results
ErrorSegmentsBranch
36.0b2re
39.1b3im
Compiler

Compiled 93 to 59 computations (36.6% saved)

bsearch70.0ms (0.3%)

Algorithm
binary-search
Steps
TimeLeftRight
70.0ms
-23570266086337.26
-599.3788975632837
Results
54.0ms135×body256valid
7.0ms12×body1024valid
5.0ms13×body512valid
Compiler

Compiled 232 to 179 computations (22.8% saved)

regimes31.0ms (0.1%)

Accuracy

Total -21.6b remaining (-53.9%)

Threshold costs -21.6b (-53.9%)

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

2 calls:

19.0ms
re
10.0ms
im
Results
ErrorSegmentsBranch
40.2b1re
40.2b1im
Compiler

Compiled 40 to 21 computations (47.5% saved)

simplify34.0ms (0.1%)

Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

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

Compiled 151 to 104 computations (31.1% saved)

soundness0.0ms (0%)

end229.0ms (0.9%)

Compiler

Compiled 135 to 76 computations (43.7% saved)

Profiling

Loading profile data...