Details

Time bar (total: 50.4s)

analyze462.0ms (0.9%)

Algorithm
search
Search
ProbabilityValidUnknownPreconditionInfiniteDomainCan'tIter
0%0%99.8%0.2%0%0%0%0
0%0%99.8%0.2%0%0%0%1
0%0%99.8%0.2%0%0%0%2
0%0%99.8%0.2%0%0%0%3
0%0%99.8%0.2%0%0%0%4
0%0%99.8%0.2%0%0%0%5
15.6%15.6%84.2%0.2%0%0%0%6
23.4%23.4%76.4%0.2%0%0%0%7
26.6%26.5%73.3%0.2%0%0%0%8
35.5%35.5%64.3%0.2%0%0%0%9
40.6%40.5%59.3%0.2%0%0%0%10
46.4%46.3%53.5%0.2%0%0%0%11
46.9%46.8%53%0.2%0%0%0%12
Compiler

Compiled 42 to 20 computations (52.4% saved)

sample13.7s (27.1%)

Results
8.6s2663×body1024infinite
3.0s7928×body256valid
771.0ms925×body512infinite
554.0ms13×body2048valid
293.0ms181×body2048infinite
198.0ms828×body256infinite
156.0ms156×body1024valid
66.0ms159×body512valid
Bogosity

preprocess108.0ms (0.2%)

Algorithm
egg-herbie
Rules
1596×rational.json-simplify-51
1298×rational.json-simplify-46
1208×rational.json-simplify-49
926×rational.json-simplify-1
848×rational.json-simplify-19
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
094805
1159805
2194805
3298805
4994805
54685805
67598805
044
Stop Event
saturated
node limit
Calls
Call 1
Inputs
0
1
2
3
Outputs
0
1
2
3
Call 2
Inputs
(*.f64 (exp.f64 (-.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) y.re) (*.f64 (atan2.f64 x.im x.re) y.im))) (sin.f64 (+.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))))
(*.f64 (exp.f64 (-.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 x.im x.im) (*.f64 x.re x.re)))) y.re) (*.f64 (atan2.f64 x.re x.im) y.im))) (sin.f64 (+.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 x.im x.im) (*.f64 x.re x.re)))) y.im) (*.f64 (atan2.f64 x.re x.im) y.re))))
(*.f64 (exp.f64 (-.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 y.re y.re) (*.f64 x.im x.im)))) x.re) (*.f64 (atan2.f64 x.im y.re) y.im))) (sin.f64 (+.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 y.re y.re) (*.f64 x.im x.im)))) y.im) (*.f64 (atan2.f64 x.im y.re) x.re))))
(*.f64 (exp.f64 (-.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 y.im y.im) (*.f64 x.im x.im)))) y.re) (*.f64 (atan2.f64 x.im y.im) x.re))) (sin.f64 (+.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 y.im y.im) (*.f64 x.im x.im)))) x.re) (*.f64 (atan2.f64 x.im y.im) y.re))))
(*.f64 (exp.f64 (-.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 y.re y.re)))) x.im) (*.f64 (atan2.f64 y.re x.re) y.im))) (sin.f64 (+.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 y.re y.re)))) y.im) (*.f64 (atan2.f64 y.re x.re) x.im))))
(*.f64 (exp.f64 (-.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 y.im y.im)))) y.re) (*.f64 (atan2.f64 y.im x.re) x.im))) (sin.f64 (+.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 y.im y.im)))) x.im) (*.f64 (atan2.f64 y.im x.re) y.re))))
(*.f64 (exp.f64 (-.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))) (sin.f64 (+.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) y.re) (*.f64 (atan2.f64 x.im x.re) y.im))))
Outputs
(*.f64 (exp.f64 (-.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) y.re) (*.f64 (atan2.f64 x.im x.re) y.im))) (sin.f64 (+.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))))
(*.f64 (exp.f64 (-.f64 (*.f64 y.re (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))))) (*.f64 (atan2.f64 x.im x.re) y.im))) (sin.f64 (+.f64 (*.f64 y.im (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))))) (*.f64 y.re (atan2.f64 x.im x.re)))))
(*.f64 (exp.f64 (-.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 x.im x.im) (*.f64 x.re x.re)))) y.re) (*.f64 (atan2.f64 x.re x.im) y.im))) (sin.f64 (+.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 x.im x.im) (*.f64 x.re x.re)))) y.im) (*.f64 (atan2.f64 x.re x.im) y.re))))
(*.f64 (exp.f64 (-.f64 (*.f64 y.re (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))))) (*.f64 y.im (atan2.f64 x.re x.im)))) (sin.f64 (+.f64 (*.f64 y.im (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))))) (*.f64 y.re (atan2.f64 x.re x.im)))))
(*.f64 (exp.f64 (-.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 y.re y.re) (*.f64 x.im x.im)))) x.re) (*.f64 (atan2.f64 x.im y.re) y.im))) (sin.f64 (+.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 y.re y.re) (*.f64 x.im x.im)))) y.im) (*.f64 (atan2.f64 x.im y.re) x.re))))
(*.f64 (exp.f64 (-.f64 (*.f64 x.re (log.f64 (sqrt.f64 (+.f64 (*.f64 x.im x.im) (*.f64 y.re y.re))))) (*.f64 y.im (atan2.f64 x.im y.re)))) (sin.f64 (+.f64 (*.f64 y.im (log.f64 (sqrt.f64 (+.f64 (*.f64 x.im x.im) (*.f64 y.re y.re))))) (*.f64 x.re (atan2.f64 x.im y.re)))))
(*.f64 (exp.f64 (-.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 y.im y.im) (*.f64 x.im x.im)))) y.re) (*.f64 (atan2.f64 x.im y.im) x.re))) (sin.f64 (+.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 y.im y.im) (*.f64 x.im x.im)))) x.re) (*.f64 (atan2.f64 x.im y.im) y.re))))
(*.f64 (exp.f64 (-.f64 (*.f64 y.re (log.f64 (sqrt.f64 (+.f64 (*.f64 x.im x.im) (*.f64 y.im y.im))))) (*.f64 x.re (atan2.f64 x.im y.im)))) (sin.f64 (+.f64 (*.f64 x.re (log.f64 (sqrt.f64 (+.f64 (*.f64 x.im x.im) (*.f64 y.im y.im))))) (*.f64 y.re (atan2.f64 x.im y.im)))))
(*.f64 (exp.f64 (-.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 y.re y.re)))) x.im) (*.f64 (atan2.f64 y.re x.re) y.im))) (sin.f64 (+.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 y.re y.re)))) y.im) (*.f64 (atan2.f64 y.re x.re) x.im))))
(*.f64 (exp.f64 (-.f64 (*.f64 x.im (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 y.re y.re))))) (*.f64 y.im (atan2.f64 y.re x.re)))) (sin.f64 (+.f64 (*.f64 y.im (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 y.re y.re))))) (*.f64 x.im (atan2.f64 y.re x.re)))))
(*.f64 (exp.f64 (-.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 y.im y.im)))) y.re) (*.f64 (atan2.f64 y.im x.re) x.im))) (sin.f64 (+.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 y.im y.im)))) x.im) (*.f64 (atan2.f64 y.im x.re) y.re))))
(*.f64 (exp.f64 (-.f64 (*.f64 y.re (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 y.im y.im))))) (*.f64 x.im (atan2.f64 y.im x.re)))) (sin.f64 (+.f64 (*.f64 x.im (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 y.im y.im))))) (*.f64 y.re (atan2.f64 y.im x.re)))))
(*.f64 (exp.f64 (-.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))) (sin.f64 (+.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) y.re) (*.f64 (atan2.f64 x.im x.re) y.im))))
(*.f64 (exp.f64 (-.f64 (*.f64 y.im (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))))) (*.f64 y.re (atan2.f64 x.im x.re)))) (sin.f64 (+.f64 (*.f64 y.re (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))))) (*.f64 (atan2.f64 x.im x.re) y.im))))
Compiler

Compiled 45 to 23 computations (48.9% saved)

simplify113.0ms (0.2%)

Algorithm
egg-herbie
Rules
1098×rational.json-simplify-2
924×rational.json-simplify-44
828×rational.json-simplify-39
826×rational.json-simplify-47
720×rational.json-simplify-19
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
022115
135115
246115
388115
4403115
54011115
66309115
77524115
Stop Event
node limit
Counts
1 → 2
Calls
Call 1
Inputs
(*.f64 (exp.f64 (-.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) y.re) (*.f64 (atan2.f64 x.im x.re) y.im))) (sin.f64 (+.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))))
Outputs
(*.f64 (exp.f64 (-.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) y.re) (*.f64 (atan2.f64 x.im x.re) y.im))) (sin.f64 (+.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))))
(*.f64 (exp.f64 (-.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) y.re) (*.f64 (atan2.f64 x.im x.re) y.im))) (sin.f64 (+.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) y.im) (*.f64 y.re (atan2.f64 x.im x.re)))))

eval1.0ms (0%)

Compiler

Compiled 78 to 23 computations (70.5% saved)

prune1.0ms (0%)

Pruning

2 alts after pruning (2 fresh and 0 done)

PrunedKeptTotal
New112
Fresh011
Picked000
Done000
Total123
Error
32.9b
Counts
3 → 1
Alt Table
Click to see full alt table
StatusErrorProgram
32.9b
(*.f64 (exp.f64 (-.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) y.re) (*.f64 (atan2.f64 x.im x.re) y.im))) (sin.f64 (+.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))))
Compiler

Compiled 41 to 19 computations (53.7% saved)

localize36.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
1.5b
(*.f64 (atan2.f64 x.im x.re) y.re)
2.3b
(*.f64 (atan2.f64 x.im x.re) y.im)
29.8b
(sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))
30.5b
(sin.f64 (+.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) y.im) (*.f64 (atan2.f64 x.im x.re) y.re)))
Compiler

Compiled 180 to 19 computations (89.4% saved)

series22.0ms (0%)

Counts
4 → 120
Calls

36 calls:

TimeVariablePointExpression
3.0ms
x.im
@0
(sin.f64 (+.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) y.im) (*.f64 (atan2.f64 x.im x.re) y.re)))
3.0ms
x.im
@-inf
(sin.f64 (+.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) y.im) (*.f64 (atan2.f64 x.im x.re) y.re)))
2.0ms
x.re
@inf
(sin.f64 (+.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) y.im) (*.f64 (atan2.f64 x.im x.re) y.re)))
2.0ms
x.re
@0
(sin.f64 (+.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) y.im) (*.f64 (atan2.f64 x.im x.re) y.re)))
2.0ms
x.im
@inf
(sin.f64 (+.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) y.im) (*.f64 (atan2.f64 x.im x.re) y.re)))

rewrite70.0ms (0.1%)

Algorithm
batch-egg-rewrite
Rules
1388×bool.json-1
1388×bool.json-2
1374×rational.json-1
1374×rational.json-2
1374×rational.json-4
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
018104
1178104
2453104
31052104
43552104
Stop Event
node limit
Counts
4 → 44
Calls
Call 1
Inputs
(sin.f64 (+.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) y.im) (*.f64 (atan2.f64 x.im x.re) y.re)))
(sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))
(*.f64 (atan2.f64 x.im x.re) y.im)
(*.f64 (atan2.f64 x.im x.re) y.re)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (sin.f64 (+.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (sin.f64 (+.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (sin.f64 (+.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (sin.f64 (+.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) y.im) (-.f64 (*.f64 (atan2.f64 x.im x.re) y.re) (PI.f64)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sin.f64 (+.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (sin.f64 (+.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (/.f64 (sin.f64 (+.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sin.f64 (+.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 (sin.f64 (+.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sin.f64 (+.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sin.f64 (+.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) y.im) (-.f64 (*.f64 (atan2.f64 x.im x.re) y.re) (PI.f64)))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sin.f64 (+.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sin.f64 (+.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sin.f64 (+.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 (sin.f64 (+.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))) 4) (*.f64 (sin.f64 (+.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))) 4)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sin.f64 (+.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) y.im) (-.f64 (*.f64 (atan2.f64 x.im x.re) y.re) (PI.f64)))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (sin.f64 (+.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) y.im) (-.f64 (*.f64 (atan2.f64 x.im x.re) y.re) (PI.f64)))))))) (#(struct:change #<rule egg-rr> (2) ((x not (not (sin.f64 (+.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) y.im) (*.f64 (atan2.f64 x.im x.re) y.re)))))))) (#(struct:change #<rule egg-rr> (2) ((x and (sin.f64 (+.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))) (sin.f64 (+.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))))))) (#(struct:change #<rule egg-rr> (2) ((x or (sin.f64 (+.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))) (sin.f64 (+.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (/.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))) 4) (*.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))) 4)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))))))) (#(struct:change #<rule egg-rr> (2) ((x and (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))) (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))))))) (#(struct:change #<rule egg-rr> (2) ((x or (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))) (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 y.im (atan2.f64 x.im x.re)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 y.im (atan2.f64 x.im x.re)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 y.im (atan2.f64 x.im x.re)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 y.im (atan2.f64 x.im x.re)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (atan2.f64 x.im x.re) (+.f64 y.im y.im)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 y.im (atan2.f64 x.im x.re)) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 (*.f64 y.im (atan2.f64 x.im x.re)) 4) (*.f64 (*.f64 y.im (atan2.f64 x.im x.re)) 4)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (*.f64 y.im (atan2.f64 x.im x.re))))))) (#(struct:change #<rule egg-rr> (2) ((x and (*.f64 y.im (atan2.f64 x.im x.re)) (*.f64 y.im (atan2.f64 x.im x.re)))))) (#(struct:change #<rule egg-rr> (2) ((x or (*.f64 y.im (atan2.f64 x.im x.re)) (*.f64 y.im (atan2.f64 x.im x.re)))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (atan2.f64 x.im x.re) y.re) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (atan2.f64 x.im x.re) y.re))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (atan2.f64 x.im x.re) y.re) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (atan2.f64 x.im x.re) y.re) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (atan2.f64 x.im x.re) (+.f64 y.re y.re)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 (atan2.f64 x.im x.re) y.re) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 (*.f64 (atan2.f64 x.im x.re) y.re) 4) (*.f64 (*.f64 (atan2.f64 x.im x.re) y.re) 4)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (*.f64 (atan2.f64 x.im x.re) y.re)))))) (#(struct:change #<rule egg-rr> (2) ((x and (*.f64 (atan2.f64 x.im x.re) y.re) (*.f64 (atan2.f64 x.im x.re) y.re))))) (#(struct:change #<rule egg-rr> (2) ((x or (*.f64 (atan2.f64 x.im x.re) y.re) (*.f64 (atan2.f64 x.im x.re) y.re))))))

simplify452.0ms (0.9%)

Algorithm
egg-herbie
Rules
1248×rational.json-simplify-35
1094×rational.json-simplify-51
1040×rational.json-simplify-2
900×rational.json-simplify-54
810×rational.json-simplify-41
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
040610732
1100610540
2207910516
3414510104
4598110104
Stop Event
node limit
Counts
164 → 232
Calls
Call 1
Inputs
(sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.im))))
(+.f64 (*.f64 1/2 (/.f64 (*.f64 (pow.f64 x.re 2) (*.f64 y.im (cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.im)))))) (pow.f64 x.im 2))) (sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.im)))))
(+.f64 (*.f64 1/2 (/.f64 (*.f64 (pow.f64 x.re 2) (*.f64 y.im (cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.im)))))) (pow.f64 x.im 2))) (+.f64 (sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.im)))) (*.f64 (pow.f64 x.re 4) (+.f64 (*.f64 -1/8 (/.f64 (*.f64 (pow.f64 y.im 2) (sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.im))))) (pow.f64 x.im 4))) (*.f64 -1/4 (/.f64 (*.f64 y.im (cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.im))))) (pow.f64 x.im 4)))))))
(+.f64 (*.f64 1/2 (/.f64 (*.f64 (pow.f64 x.re 2) (*.f64 y.im (cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.im)))))) (pow.f64 x.im 2))) (+.f64 (sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.im)))) (+.f64 (*.f64 (pow.f64 x.re 6) (+.f64 (*.f64 1/8 (/.f64 (*.f64 (pow.f64 y.im 2) (sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.im))))) (pow.f64 x.im 6))) (*.f64 (+.f64 (*.f64 1/6 (/.f64 y.im (pow.f64 x.im 6))) (*.f64 -1/48 (/.f64 (pow.f64 y.im 3) (pow.f64 x.im 6)))) (cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.im))))))) (*.f64 (pow.f64 x.re 4) (+.f64 (*.f64 -1/8 (/.f64 (*.f64 (pow.f64 y.im 2) (sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.im))))) (pow.f64 x.im 4))) (*.f64 -1/4 (/.f64 (*.f64 y.im (cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.im))))) (pow.f64 x.im 4))))))))
(sin.f64 (+.f64 (*.f64 -1 (*.f64 (log.f64 (/.f64 1 x.re)) y.im)) (*.f64 y.re (atan2.f64 x.im x.re))))
(+.f64 (sin.f64 (+.f64 (*.f64 -1 (*.f64 (log.f64 (/.f64 1 x.re)) y.im)) (*.f64 y.re (atan2.f64 x.im x.re)))) (*.f64 1/2 (/.f64 (*.f64 y.im (*.f64 (pow.f64 x.im 2) (cos.f64 (+.f64 (*.f64 -1 (*.f64 (log.f64 (/.f64 1 x.re)) y.im)) (*.f64 y.re (atan2.f64 x.im x.re)))))) (pow.f64 x.re 2))))
(+.f64 (sin.f64 (+.f64 (*.f64 -1 (*.f64 (log.f64 (/.f64 1 x.re)) y.im)) (*.f64 y.re (atan2.f64 x.im x.re)))) (+.f64 (*.f64 1/2 (/.f64 (*.f64 y.im (*.f64 (pow.f64 x.im 2) (cos.f64 (+.f64 (*.f64 -1 (*.f64 (log.f64 (/.f64 1 x.re)) y.im)) (*.f64 y.re (atan2.f64 x.im x.re)))))) (pow.f64 x.re 2))) (+.f64 (*.f64 -1/4 (/.f64 (*.f64 y.im (*.f64 (pow.f64 x.im 4) (cos.f64 (+.f64 (*.f64 -1 (*.f64 (log.f64 (/.f64 1 x.re)) y.im)) (*.f64 y.re (atan2.f64 x.im x.re)))))) (pow.f64 x.re 4))) (*.f64 -1/8 (/.f64 (*.f64 (sin.f64 (+.f64 (*.f64 -1 (*.f64 (log.f64 (/.f64 1 x.re)) y.im)) (*.f64 y.re (atan2.f64 x.im x.re)))) (*.f64 (pow.f64 y.im 2) (pow.f64 x.im 4))) (pow.f64 x.re 4))))))
(+.f64 (*.f64 1/8 (/.f64 (*.f64 (sin.f64 (+.f64 (*.f64 -1 (*.f64 (log.f64 (/.f64 1 x.re)) y.im)) (*.f64 y.re (atan2.f64 x.im x.re)))) (*.f64 (pow.f64 y.im 2) (pow.f64 x.im 6))) (pow.f64 x.re 6))) (+.f64 (/.f64 (*.f64 (+.f64 (*.f64 -1/48 (*.f64 (pow.f64 y.im 3) (pow.f64 x.im 6))) (*.f64 1/720 (*.f64 (+.f64 (*.f64 30 (pow.f64 x.im 6)) (*.f64 90 (pow.f64 x.im 6))) y.im))) (cos.f64 (+.f64 (*.f64 -1 (*.f64 (log.f64 (/.f64 1 x.re)) y.im)) (*.f64 y.re (atan2.f64 x.im x.re))))) (pow.f64 x.re 6)) (+.f64 (sin.f64 (+.f64 (*.f64 -1 (*.f64 (log.f64 (/.f64 1 x.re)) y.im)) (*.f64 y.re (atan2.f64 x.im x.re)))) (+.f64 (*.f64 1/2 (/.f64 (*.f64 y.im (*.f64 (pow.f64 x.im 2) (cos.f64 (+.f64 (*.f64 -1 (*.f64 (log.f64 (/.f64 1 x.re)) y.im)) (*.f64 y.re (atan2.f64 x.im x.re)))))) (pow.f64 x.re 2))) (+.f64 (*.f64 -1/8 (/.f64 (*.f64 (sin.f64 (+.f64 (*.f64 -1 (*.f64 (log.f64 (/.f64 1 x.re)) y.im)) (*.f64 y.re (atan2.f64 x.im x.re)))) (*.f64 (pow.f64 y.im 2) (pow.f64 x.im 4))) (pow.f64 x.re 4))) (*.f64 -1/4 (/.f64 (*.f64 y.im (*.f64 (pow.f64 x.im 4) (cos.f64 (+.f64 (*.f64 -1 (*.f64 (log.f64 (/.f64 1 x.re)) y.im)) (*.f64 y.re (atan2.f64 x.im x.re)))))) (pow.f64 x.re 4))))))))
(sin.f64 (+.f64 (*.f64 -1 (*.f64 y.im (log.f64 (/.f64 -1 x.re)))) (*.f64 y.re (atan2.f64 x.im x.re))))
(+.f64 (sin.f64 (+.f64 (*.f64 -1 (*.f64 y.im (log.f64 (/.f64 -1 x.re)))) (*.f64 y.re (atan2.f64 x.im x.re)))) (*.f64 1/2 (/.f64 (*.f64 (cos.f64 (+.f64 (*.f64 -1 (*.f64 y.im (log.f64 (/.f64 -1 x.re)))) (*.f64 y.re (atan2.f64 x.im x.re)))) (*.f64 y.im (pow.f64 x.im 2))) (pow.f64 x.re 2))))
(+.f64 (*.f64 -1/4 (/.f64 (*.f64 (cos.f64 (+.f64 (*.f64 -1 (*.f64 y.im (log.f64 (/.f64 -1 x.re)))) (*.f64 y.re (atan2.f64 x.im x.re)))) (*.f64 y.im (pow.f64 x.im 4))) (pow.f64 x.re 4))) (+.f64 (sin.f64 (+.f64 (*.f64 -1 (*.f64 y.im (log.f64 (/.f64 -1 x.re)))) (*.f64 y.re (atan2.f64 x.im x.re)))) (+.f64 (*.f64 -1/8 (/.f64 (*.f64 (sin.f64 (+.f64 (*.f64 -1 (*.f64 y.im (log.f64 (/.f64 -1 x.re)))) (*.f64 y.re (atan2.f64 x.im x.re)))) (*.f64 (pow.f64 y.im 2) (pow.f64 x.im 4))) (pow.f64 x.re 4))) (*.f64 1/2 (/.f64 (*.f64 (cos.f64 (+.f64 (*.f64 -1 (*.f64 y.im (log.f64 (/.f64 -1 x.re)))) (*.f64 y.re (atan2.f64 x.im x.re)))) (*.f64 y.im (pow.f64 x.im 2))) (pow.f64 x.re 2))))))
(+.f64 (*.f64 -1/4 (/.f64 (*.f64 (cos.f64 (+.f64 (*.f64 -1 (*.f64 y.im (log.f64 (/.f64 -1 x.re)))) (*.f64 y.re (atan2.f64 x.im x.re)))) (*.f64 y.im (pow.f64 x.im 4))) (pow.f64 x.re 4))) (+.f64 (sin.f64 (+.f64 (*.f64 -1 (*.f64 y.im (log.f64 (/.f64 -1 x.re)))) (*.f64 y.re (atan2.f64 x.im x.re)))) (+.f64 (/.f64 (*.f64 (+.f64 (*.f64 -1/48 (*.f64 (pow.f64 y.im 3) (pow.f64 x.im 6))) (*.f64 1/720 (*.f64 (+.f64 (*.f64 30 (pow.f64 x.im 6)) (*.f64 90 (pow.f64 x.im 6))) y.im))) (cos.f64 (+.f64 (*.f64 -1 (*.f64 y.im (log.f64 (/.f64 -1 x.re)))) (*.f64 y.re (atan2.f64 x.im x.re))))) (pow.f64 x.re 6)) (+.f64 (*.f64 -1/8 (/.f64 (*.f64 (sin.f64 (+.f64 (*.f64 -1 (*.f64 y.im (log.f64 (/.f64 -1 x.re)))) (*.f64 y.re (atan2.f64 x.im x.re)))) (*.f64 (pow.f64 y.im 2) (pow.f64 x.im 4))) (pow.f64 x.re 4))) (+.f64 (*.f64 1/2 (/.f64 (*.f64 (cos.f64 (+.f64 (*.f64 -1 (*.f64 y.im (log.f64 (/.f64 -1 x.re)))) (*.f64 y.re (atan2.f64 x.im x.re)))) (*.f64 y.im (pow.f64 x.im 2))) (pow.f64 x.re 2))) (*.f64 1/8 (/.f64 (*.f64 (sin.f64 (+.f64 (*.f64 -1 (*.f64 y.im (log.f64 (/.f64 -1 x.re)))) (*.f64 y.re (atan2.f64 x.im x.re)))) (*.f64 (pow.f64 y.im 2) (pow.f64 x.im 6))) (pow.f64 x.re 6))))))))
(sin.f64 (+.f64 (*.f64 y.im (log.f64 x.re)) (*.f64 y.re (atan2.f64 x.im x.re))))
(+.f64 (sin.f64 (+.f64 (*.f64 y.im (log.f64 x.re)) (*.f64 y.re (atan2.f64 x.im x.re)))) (*.f64 1/2 (/.f64 (*.f64 y.im (*.f64 (pow.f64 x.im 2) (cos.f64 (+.f64 (*.f64 y.im (log.f64 x.re)) (*.f64 y.re (atan2.f64 x.im x.re)))))) (pow.f64 x.re 2))))
(+.f64 (*.f64 (+.f64 (*.f64 -1/8 (/.f64 (*.f64 (sin.f64 (+.f64 (*.f64 y.im (log.f64 x.re)) (*.f64 y.re (atan2.f64 x.im x.re)))) (pow.f64 y.im 2)) (pow.f64 x.re 4))) (*.f64 -1/4 (/.f64 (*.f64 y.im (cos.f64 (+.f64 (*.f64 y.im (log.f64 x.re)) (*.f64 y.re (atan2.f64 x.im x.re))))) (pow.f64 x.re 4)))) (pow.f64 x.im 4)) (+.f64 (sin.f64 (+.f64 (*.f64 y.im (log.f64 x.re)) (*.f64 y.re (atan2.f64 x.im x.re)))) (*.f64 1/2 (/.f64 (*.f64 y.im (*.f64 (pow.f64 x.im 2) (cos.f64 (+.f64 (*.f64 y.im (log.f64 x.re)) (*.f64 y.re (atan2.f64 x.im x.re)))))) (pow.f64 x.re 2)))))
(+.f64 (*.f64 (+.f64 (*.f64 1/8 (/.f64 (*.f64 (sin.f64 (+.f64 (*.f64 y.im (log.f64 x.re)) (*.f64 y.re (atan2.f64 x.im x.re)))) (pow.f64 y.im 2)) (pow.f64 x.re 6))) (*.f64 (+.f64 (*.f64 -1/48 (/.f64 (pow.f64 y.im 3) (pow.f64 x.re 6))) (*.f64 1/6 (/.f64 y.im (pow.f64 x.re 6)))) (cos.f64 (+.f64 (*.f64 y.im (log.f64 x.re)) (*.f64 y.re (atan2.f64 x.im x.re)))))) (pow.f64 x.im 6)) (+.f64 (*.f64 (+.f64 (*.f64 -1/8 (/.f64 (*.f64 (sin.f64 (+.f64 (*.f64 y.im (log.f64 x.re)) (*.f64 y.re (atan2.f64 x.im x.re)))) (pow.f64 y.im 2)) (pow.f64 x.re 4))) (*.f64 -1/4 (/.f64 (*.f64 y.im (cos.f64 (+.f64 (*.f64 y.im (log.f64 x.re)) (*.f64 y.re (atan2.f64 x.im x.re))))) (pow.f64 x.re 4)))) (pow.f64 x.im 4)) (+.f64 (sin.f64 (+.f64 (*.f64 y.im (log.f64 x.re)) (*.f64 y.re (atan2.f64 x.im x.re)))) (*.f64 1/2 (/.f64 (*.f64 y.im (*.f64 (pow.f64 x.im 2) (cos.f64 (+.f64 (*.f64 y.im (log.f64 x.re)) (*.f64 y.re (atan2.f64 x.im x.re)))))) (pow.f64 x.re 2))))))
(sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 -1 (*.f64 (log.f64 (/.f64 1 x.im)) y.im))))
(+.f64 (*.f64 1/2 (/.f64 (*.f64 (pow.f64 x.re 2) (*.f64 (cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 -1 (*.f64 (log.f64 (/.f64 1 x.im)) y.im)))) y.im)) (pow.f64 x.im 2))) (sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 -1 (*.f64 (log.f64 (/.f64 1 x.im)) y.im)))))
(+.f64 (*.f64 -1/8 (/.f64 (*.f64 (pow.f64 x.re 4) (*.f64 (pow.f64 y.im 2) (sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 -1 (*.f64 (log.f64 (/.f64 1 x.im)) y.im)))))) (pow.f64 x.im 4))) (+.f64 (*.f64 1/2 (/.f64 (*.f64 (pow.f64 x.re 2) (*.f64 (cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 -1 (*.f64 (log.f64 (/.f64 1 x.im)) y.im)))) y.im)) (pow.f64 x.im 2))) (+.f64 (*.f64 -1/4 (/.f64 (*.f64 (pow.f64 x.re 4) (*.f64 (cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 -1 (*.f64 (log.f64 (/.f64 1 x.im)) y.im)))) y.im)) (pow.f64 x.im 4))) (sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 -1 (*.f64 (log.f64 (/.f64 1 x.im)) y.im)))))))
(+.f64 (*.f64 -1/8 (/.f64 (*.f64 (pow.f64 x.re 4) (*.f64 (pow.f64 y.im 2) (sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 -1 (*.f64 (log.f64 (/.f64 1 x.im)) y.im)))))) (pow.f64 x.im 4))) (+.f64 (/.f64 (*.f64 (+.f64 (*.f64 -1/48 (*.f64 (pow.f64 x.re 6) (pow.f64 y.im 3))) (*.f64 1/720 (*.f64 (+.f64 (*.f64 90 (pow.f64 x.re 6)) (*.f64 30 (pow.f64 x.re 6))) y.im))) (cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 -1 (*.f64 (log.f64 (/.f64 1 x.im)) y.im))))) (pow.f64 x.im 6)) (+.f64 (*.f64 1/8 (/.f64 (*.f64 (pow.f64 x.re 6) (*.f64 (pow.f64 y.im 2) (sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 -1 (*.f64 (log.f64 (/.f64 1 x.im)) y.im)))))) (pow.f64 x.im 6))) (+.f64 (*.f64 1/2 (/.f64 (*.f64 (pow.f64 x.re 2) (*.f64 (cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 -1 (*.f64 (log.f64 (/.f64 1 x.im)) y.im)))) y.im)) (pow.f64 x.im 2))) (+.f64 (*.f64 -1/4 (/.f64 (*.f64 (pow.f64 x.re 4) (*.f64 (cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 -1 (*.f64 (log.f64 (/.f64 1 x.im)) y.im)))) y.im)) (pow.f64 x.im 4))) (sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 -1 (*.f64 (log.f64 (/.f64 1 x.im)) y.im)))))))))
(sin.f64 (+.f64 (*.f64 -1 (*.f64 (log.f64 (/.f64 -1 x.im)) y.im)) (*.f64 y.re (atan2.f64 x.im x.re))))
(+.f64 (sin.f64 (+.f64 (*.f64 -1 (*.f64 (log.f64 (/.f64 -1 x.im)) y.im)) (*.f64 y.re (atan2.f64 x.im x.re)))) (*.f64 1/2 (/.f64 (*.f64 (pow.f64 x.re 2) (*.f64 (cos.f64 (+.f64 (*.f64 -1 (*.f64 (log.f64 (/.f64 -1 x.im)) y.im)) (*.f64 y.re (atan2.f64 x.im x.re)))) y.im)) (pow.f64 x.im 2))))
(+.f64 (sin.f64 (+.f64 (*.f64 -1 (*.f64 (log.f64 (/.f64 -1 x.im)) y.im)) (*.f64 y.re (atan2.f64 x.im x.re)))) (+.f64 (*.f64 1/2 (/.f64 (*.f64 (pow.f64 x.re 2) (*.f64 (cos.f64 (+.f64 (*.f64 -1 (*.f64 (log.f64 (/.f64 -1 x.im)) y.im)) (*.f64 y.re (atan2.f64 x.im x.re)))) y.im)) (pow.f64 x.im 2))) (+.f64 (*.f64 -1/8 (/.f64 (*.f64 (sin.f64 (+.f64 (*.f64 -1 (*.f64 (log.f64 (/.f64 -1 x.im)) y.im)) (*.f64 y.re (atan2.f64 x.im x.re)))) (*.f64 (pow.f64 x.re 4) (pow.f64 y.im 2))) (pow.f64 x.im 4))) (*.f64 -1/4 (/.f64 (*.f64 (pow.f64 x.re 4) (*.f64 (cos.f64 (+.f64 (*.f64 -1 (*.f64 (log.f64 (/.f64 -1 x.im)) y.im)) (*.f64 y.re (atan2.f64 x.im x.re)))) y.im)) (pow.f64 x.im 4))))))
(+.f64 (/.f64 (*.f64 (+.f64 (*.f64 -1/48 (*.f64 (pow.f64 x.re 6) (pow.f64 y.im 3))) (*.f64 1/720 (*.f64 (+.f64 (*.f64 90 (pow.f64 x.re 6)) (*.f64 30 (pow.f64 x.re 6))) y.im))) (cos.f64 (+.f64 (*.f64 -1 (*.f64 (log.f64 (/.f64 -1 x.im)) y.im)) (*.f64 y.re (atan2.f64 x.im x.re))))) (pow.f64 x.im 6)) (+.f64 (sin.f64 (+.f64 (*.f64 -1 (*.f64 (log.f64 (/.f64 -1 x.im)) y.im)) (*.f64 y.re (atan2.f64 x.im x.re)))) (+.f64 (*.f64 1/2 (/.f64 (*.f64 (pow.f64 x.re 2) (*.f64 (cos.f64 (+.f64 (*.f64 -1 (*.f64 (log.f64 (/.f64 -1 x.im)) y.im)) (*.f64 y.re (atan2.f64 x.im x.re)))) y.im)) (pow.f64 x.im 2))) (+.f64 (*.f64 -1/8 (/.f64 (*.f64 (sin.f64 (+.f64 (*.f64 -1 (*.f64 (log.f64 (/.f64 -1 x.im)) y.im)) (*.f64 y.re (atan2.f64 x.im x.re)))) (*.f64 (pow.f64 x.re 4) (pow.f64 y.im 2))) (pow.f64 x.im 4))) (+.f64 (*.f64 1/8 (/.f64 (*.f64 (sin.f64 (+.f64 (*.f64 -1 (*.f64 (log.f64 (/.f64 -1 x.im)) y.im)) (*.f64 y.re (atan2.f64 x.im x.re)))) (*.f64 (pow.f64 x.re 6) (pow.f64 y.im 2))) (pow.f64 x.im 6))) (*.f64 -1/4 (/.f64 (*.f64 (pow.f64 x.re 4) (*.f64 (cos.f64 (+.f64 (*.f64 -1 (*.f64 (log.f64 (/.f64 -1 x.im)) y.im)) (*.f64 y.re (atan2.f64 x.im x.re)))) y.im)) (pow.f64 x.im 4))))))))
(sin.f64 (*.f64 y.re (atan2.f64 x.im x.re)))
(+.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (*.f64 y.im (*.f64 (log.f64 (sqrt.f64 (+.f64 (pow.f64 x.im 2) (pow.f64 x.re 2)))) (cos.f64 (*.f64 y.re (atan2.f64 x.im x.re))))))
(+.f64 (*.f64 -1/2 (*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (*.f64 (pow.f64 y.im 2) (pow.f64 (log.f64 (sqrt.f64 (+.f64 (pow.f64 x.im 2) (pow.f64 x.re 2)))) 2)))) (+.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (*.f64 y.im (*.f64 (log.f64 (sqrt.f64 (+.f64 (pow.f64 x.im 2) (pow.f64 x.re 2)))) (cos.f64 (*.f64 y.re (atan2.f64 x.im x.re)))))))
(+.f64 (*.f64 -1/2 (*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (*.f64 (pow.f64 y.im 2) (pow.f64 (log.f64 (sqrt.f64 (+.f64 (pow.f64 x.im 2) (pow.f64 x.re 2)))) 2)))) (+.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (+.f64 (*.f64 -1/6 (*.f64 (pow.f64 y.im 3) (*.f64 (pow.f64 (log.f64 (sqrt.f64 (+.f64 (pow.f64 x.im 2) (pow.f64 x.re 2)))) 3) (cos.f64 (*.f64 y.re (atan2.f64 x.im x.re)))))) (*.f64 y.im (*.f64 (log.f64 (sqrt.f64 (+.f64 (pow.f64 x.im 2) (pow.f64 x.re 2)))) (cos.f64 (*.f64 y.re (atan2.f64 x.im x.re))))))))
(sin.f64 (+.f64 (*.f64 y.im (log.f64 (sqrt.f64 (+.f64 (pow.f64 x.im 2) (pow.f64 x.re 2))))) (*.f64 y.re (atan2.f64 x.im x.re))))
(sin.f64 (+.f64 (*.f64 y.im (log.f64 (sqrt.f64 (+.f64 (pow.f64 x.im 2) (pow.f64 x.re 2))))) (*.f64 y.re (atan2.f64 x.im x.re))))
(sin.f64 (+.f64 (*.f64 y.im (log.f64 (sqrt.f64 (+.f64 (pow.f64 x.im 2) (pow.f64 x.re 2))))) (*.f64 y.re (atan2.f64 x.im x.re))))
(sin.f64 (+.f64 (*.f64 y.im (log.f64 (sqrt.f64 (+.f64 (pow.f64 x.im 2) (pow.f64 x.re 2))))) (*.f64 y.re (atan2.f64 x.im x.re))))
(sin.f64 (+.f64 (*.f64 y.im (log.f64 (sqrt.f64 (+.f64 (pow.f64 x.im 2) (pow.f64 x.re 2))))) (*.f64 y.re (atan2.f64 x.im x.re))))
(sin.f64 (+.f64 (*.f64 y.im (log.f64 (sqrt.f64 (+.f64 (pow.f64 x.im 2) (pow.f64 x.re 2))))) (*.f64 y.re (atan2.f64 x.im x.re))))
(sin.f64 (+.f64 (*.f64 y.im (log.f64 (sqrt.f64 (+.f64 (pow.f64 x.im 2) (pow.f64 x.re 2))))) (*.f64 y.re (atan2.f64 x.im x.re))))
(sin.f64 (+.f64 (*.f64 y.im (log.f64 (sqrt.f64 (+.f64 (pow.f64 x.im 2) (pow.f64 x.re 2))))) (*.f64 y.re (atan2.f64 x.im x.re))))
(sin.f64 (*.f64 y.im (log.f64 (sqrt.f64 (+.f64 (pow.f64 x.im 2) (pow.f64 x.re 2))))))
(+.f64 (sin.f64 (*.f64 y.im (log.f64 (sqrt.f64 (+.f64 (pow.f64 x.im 2) (pow.f64 x.re 2)))))) (*.f64 y.re (*.f64 (atan2.f64 x.im x.re) (cos.f64 (*.f64 y.im (log.f64 (sqrt.f64 (+.f64 (pow.f64 x.im 2) (pow.f64 x.re 2)))))))))
(+.f64 (*.f64 -1/2 (*.f64 (sin.f64 (*.f64 y.im (log.f64 (sqrt.f64 (+.f64 (pow.f64 x.im 2) (pow.f64 x.re 2)))))) (*.f64 (pow.f64 y.re 2) (pow.f64 (atan2.f64 x.im x.re) 2)))) (+.f64 (sin.f64 (*.f64 y.im (log.f64 (sqrt.f64 (+.f64 (pow.f64 x.im 2) (pow.f64 x.re 2)))))) (*.f64 y.re (*.f64 (atan2.f64 x.im x.re) (cos.f64 (*.f64 y.im (log.f64 (sqrt.f64 (+.f64 (pow.f64 x.im 2) (pow.f64 x.re 2))))))))))
(+.f64 (*.f64 -1/2 (*.f64 (sin.f64 (*.f64 y.im (log.f64 (sqrt.f64 (+.f64 (pow.f64 x.im 2) (pow.f64 x.re 2)))))) (*.f64 (pow.f64 y.re 2) (pow.f64 (atan2.f64 x.im x.re) 2)))) (+.f64 (*.f64 -1/6 (*.f64 (pow.f64 y.re 3) (*.f64 (pow.f64 (atan2.f64 x.im x.re) 3) (cos.f64 (*.f64 y.im (log.f64 (sqrt.f64 (+.f64 (pow.f64 x.im 2) (pow.f64 x.re 2))))))))) (+.f64 (sin.f64 (*.f64 y.im (log.f64 (sqrt.f64 (+.f64 (pow.f64 x.im 2) (pow.f64 x.re 2)))))) (*.f64 y.re (*.f64 (atan2.f64 x.im x.re) (cos.f64 (*.f64 y.im (log.f64 (sqrt.f64 (+.f64 (pow.f64 x.im 2) (pow.f64 x.re 2)))))))))))
(sin.f64 (+.f64 (*.f64 y.im (log.f64 (sqrt.f64 (+.f64 (pow.f64 x.im 2) (pow.f64 x.re 2))))) (*.f64 y.re (atan2.f64 x.im x.re))))
(sin.f64 (+.f64 (*.f64 y.im (log.f64 (sqrt.f64 (+.f64 (pow.f64 x.im 2) (pow.f64 x.re 2))))) (*.f64 y.re (atan2.f64 x.im x.re))))
(sin.f64 (+.f64 (*.f64 y.im (log.f64 (sqrt.f64 (+.f64 (pow.f64 x.im 2) (pow.f64 x.re 2))))) (*.f64 y.re (atan2.f64 x.im x.re))))
(sin.f64 (+.f64 (*.f64 y.im (log.f64 (sqrt.f64 (+.f64 (pow.f64 x.im 2) (pow.f64 x.re 2))))) (*.f64 y.re (atan2.f64 x.im x.re))))
(sin.f64 (+.f64 (*.f64 y.im (log.f64 (sqrt.f64 (+.f64 (pow.f64 x.im 2) (pow.f64 x.re 2))))) (*.f64 y.re (atan2.f64 x.im x.re))))
(sin.f64 (+.f64 (*.f64 y.im (log.f64 (sqrt.f64 (+.f64 (pow.f64 x.im 2) (pow.f64 x.re 2))))) (*.f64 y.re (atan2.f64 x.im x.re))))
(sin.f64 (+.f64 (*.f64 y.im (log.f64 (sqrt.f64 (+.f64 (pow.f64 x.im 2) (pow.f64 x.re 2))))) (*.f64 y.re (atan2.f64 x.im x.re))))
(sin.f64 (+.f64 (*.f64 y.im (log.f64 (sqrt.f64 (+.f64 (pow.f64 x.im 2) (pow.f64 x.re 2))))) (*.f64 y.re (atan2.f64 x.im x.re))))
x.im
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 x.re 2) x.im)) x.im)
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 x.re 2) x.im)) (+.f64 (*.f64 -1/8 (/.f64 (pow.f64 x.re 4) (pow.f64 x.im 3))) x.im))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 x.re 2) x.im)) (+.f64 (*.f64 -1/8 (/.f64 (pow.f64 x.re 4) (pow.f64 x.im 3))) (+.f64 x.im (*.f64 1/16 (/.f64 (pow.f64 x.re 6) (pow.f64 x.im 5))))))
x.re
(+.f64 x.re (*.f64 1/2 (/.f64 (pow.f64 x.im 2) x.re)))
(+.f64 (*.f64 -1/8 (/.f64 (pow.f64 x.im 4) (pow.f64 x.re 3))) (+.f64 x.re (*.f64 1/2 (/.f64 (pow.f64 x.im 2) x.re))))
(+.f64 (*.f64 -1/8 (/.f64 (pow.f64 x.im 4) (pow.f64 x.re 3))) (+.f64 x.re (+.f64 (*.f64 1/2 (/.f64 (pow.f64 x.im 2) x.re)) (*.f64 1/16 (/.f64 (pow.f64 x.im 6) (pow.f64 x.re 5))))))
(*.f64 -1 x.re)
(+.f64 (*.f64 -1/2 (/.f64 (pow.f64 x.im 2) x.re)) (*.f64 -1 x.re))
(+.f64 (*.f64 -1/2 (/.f64 (pow.f64 x.im 2) x.re)) (+.f64 (*.f64 -1 x.re) (*.f64 1/8 (/.f64 (pow.f64 x.im 4) (pow.f64 x.re 3)))))
(+.f64 (*.f64 -1/16 (/.f64 (pow.f64 x.im 6) (pow.f64 x.re 5))) (+.f64 (*.f64 -1/2 (/.f64 (pow.f64 x.im 2) x.re)) (+.f64 (*.f64 -1 x.re) (*.f64 1/8 (/.f64 (pow.f64 x.im 4) (pow.f64 x.re 3))))))
x.re
(+.f64 x.re (*.f64 1/2 (/.f64 (pow.f64 x.im 2) x.re)))
(+.f64 (*.f64 -1/8 (/.f64 (pow.f64 x.im 4) (pow.f64 x.re 3))) (+.f64 x.re (*.f64 1/2 (/.f64 (pow.f64 x.im 2) x.re))))
(+.f64 (*.f64 -1/8 (/.f64 (pow.f64 x.im 4) (pow.f64 x.re 3))) (+.f64 x.re (+.f64 (*.f64 1/2 (/.f64 (pow.f64 x.im 2) x.re)) (*.f64 1/16 (/.f64 (pow.f64 x.im 6) (pow.f64 x.re 5))))))
x.im
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 x.re 2) x.im)) x.im)
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 x.re 2) x.im)) (+.f64 (*.f64 -1/8 (/.f64 (pow.f64 x.re 4) (pow.f64 x.im 3))) x.im))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 x.re 2) x.im)) (+.f64 (*.f64 -1/8 (/.f64 (pow.f64 x.re 4) (pow.f64 x.im 3))) (+.f64 x.im (*.f64 1/16 (/.f64 (pow.f64 x.re 6) (pow.f64 x.im 5))))))
(*.f64 -1 x.im)
(+.f64 (*.f64 -1 x.im) (*.f64 -1/2 (/.f64 (pow.f64 x.re 2) x.im)))
(+.f64 (*.f64 -1 x.im) (+.f64 (*.f64 1/8 (/.f64 (pow.f64 x.re 4) (pow.f64 x.im 3))) (*.f64 -1/2 (/.f64 (pow.f64 x.re 2) x.im))))
(+.f64 (*.f64 -1 x.im) (+.f64 (*.f64 -1/16 (/.f64 (pow.f64 x.re 6) (pow.f64 x.im 5))) (+.f64 (*.f64 1/8 (/.f64 (pow.f64 x.re 4) (pow.f64 x.im 3))) (*.f64 -1/2 (/.f64 (pow.f64 x.re 2) x.im)))))
(*.f64 y.im (atan2.f64 x.im x.re))
(*.f64 y.im (atan2.f64 x.im x.re))
(*.f64 y.im (atan2.f64 x.im x.re))
(*.f64 y.im (atan2.f64 x.im x.re))
(*.f64 y.im (atan2.f64 x.im x.re))
(*.f64 y.im (atan2.f64 x.im x.re))
(*.f64 y.im (atan2.f64 x.im x.re))
(*.f64 y.im (atan2.f64 x.im x.re))
(*.f64 y.im (atan2.f64 x.im x.re))
(*.f64 y.im (atan2.f64 x.im x.re))
(*.f64 y.im (atan2.f64 x.im x.re))
(*.f64 y.im (atan2.f64 x.im x.re))
(*.f64 y.re (atan2.f64 x.im x.re))
(*.f64 y.re (atan2.f64 x.im x.re))
(*.f64 y.re (atan2.f64 x.im x.re))
(*.f64 y.re (atan2.f64 x.im x.re))
(*.f64 y.re (atan2.f64 x.im x.re))
(*.f64 y.re (atan2.f64 x.im x.re))
(*.f64 y.re (atan2.f64 x.im x.re))
(*.f64 y.re (atan2.f64 x.im x.re))
(*.f64 y.re (atan2.f64 x.im x.re))
(*.f64 y.re (atan2.f64 x.im x.re))
(*.f64 y.re (atan2.f64 x.im x.re))
(*.f64 y.re (atan2.f64 x.im x.re))
(*.f64 y.re (atan2.f64 x.im x.re))
(*.f64 y.re (atan2.f64 x.im x.re))
(*.f64 y.re (atan2.f64 x.im x.re))
(*.f64 y.re (atan2.f64 x.im x.re))
(*.f64 y.re (atan2.f64 x.im x.re))
(*.f64 y.re (atan2.f64 x.im x.re))
(*.f64 y.re (atan2.f64 x.im x.re))
(*.f64 y.re (atan2.f64 x.im x.re))
(*.f64 y.re (atan2.f64 x.im x.re))
(*.f64 y.re (atan2.f64 x.im x.re))
(*.f64 y.re (atan2.f64 x.im x.re))
(*.f64 y.re (atan2.f64 x.im x.re))
(*.f64 y.re (atan2.f64 x.im x.re))
(*.f64 y.re (atan2.f64 x.im x.re))
(*.f64 y.re (atan2.f64 x.im x.re))
(*.f64 y.re (atan2.f64 x.im x.re))
(*.f64 y.re (atan2.f64 x.im x.re))
(*.f64 y.re (atan2.f64 x.im x.re))
(*.f64 y.re (atan2.f64 x.im x.re))
(*.f64 y.re (atan2.f64 x.im x.re))
(*.f64 y.re (atan2.f64 x.im x.re))
(*.f64 y.re (atan2.f64 x.im x.re))
(*.f64 y.re (atan2.f64 x.im x.re))
(*.f64 y.re (atan2.f64 x.im x.re))
(+.f64 (sin.f64 (+.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))) 0)
(+.f64 0 (sin.f64 (+.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))))
(-.f64 (sin.f64 (+.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))) 0)
(-.f64 0 (sin.f64 (+.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) y.im) (-.f64 (*.f64 (atan2.f64 x.im x.re) y.re) (PI.f64)))))
(*.f64 (sin.f64 (+.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))) 1)
(*.f64 1 (sin.f64 (+.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))))
(*.f64 2 (/.f64 (sin.f64 (+.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))) 2))
(*.f64 (*.f64 (sin.f64 (+.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))) 2) 1/2)
(*.f64 1/2 (*.f64 (sin.f64 (+.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))) 2))
(*.f64 (/.f64 (sin.f64 (+.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))) 2) 2)
(*.f64 (sin.f64 (+.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) y.im) (-.f64 (*.f64 (atan2.f64 x.im x.re) y.re) (PI.f64)))) -1)
(/.f64 (sin.f64 (+.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))) 1)
(/.f64 (*.f64 (sin.f64 (+.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))) 2) 2)
(/.f64 (*.f64 (sin.f64 (+.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))) 4) 4)
(/.f64 (+.f64 (*.f64 (sin.f64 (+.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))) 4) (*.f64 (sin.f64 (+.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))) 4)) 8)
(/.f64 (sin.f64 (+.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) y.im) (-.f64 (*.f64 (atan2.f64 x.im x.re) y.re) (PI.f64)))) -1)
(neg.f64 (sin.f64 (+.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) y.im) (-.f64 (*.f64 (atan2.f64 x.im x.re) y.re) (PI.f64)))))
(+.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))) 0)
(+.f64 0 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))))
(-.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))) 0)
(*.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))) 1)
(*.f64 1 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))))
(*.f64 2 (/.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))) 2))
(*.f64 (*.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))) 2) 1/2)
(*.f64 1/2 (*.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))) 2))
(*.f64 (/.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))) 2) 2)
(/.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))) 1)
(/.f64 (*.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))) 2) 2)
(/.f64 (*.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))) 4) 4)
(/.f64 (+.f64 (*.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))) 4) (*.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))) 4)) 8)
(+.f64 (*.f64 y.im (atan2.f64 x.im x.re)) 0)
(+.f64 0 (*.f64 y.im (atan2.f64 x.im x.re)))
(-.f64 (*.f64 y.im (atan2.f64 x.im x.re)) 0)
(/.f64 (*.f64 y.im (atan2.f64 x.im x.re)) 1)
(/.f64 (*.f64 (atan2.f64 x.im x.re) (+.f64 y.im y.im)) 2)
(/.f64 (*.f64 (*.f64 y.im (atan2.f64 x.im x.re)) 4) 4)
(/.f64 (+.f64 (*.f64 (*.f64 y.im (atan2.f64 x.im x.re)) 4) (*.f64 (*.f64 y.im (atan2.f64 x.im x.re)) 4)) 8)
(+.f64 (*.f64 (atan2.f64 x.im x.re) y.re) 0)
(+.f64 0 (*.f64 (atan2.f64 x.im x.re) y.re))
(-.f64 (*.f64 (atan2.f64 x.im x.re) y.re) 0)
(/.f64 (*.f64 (atan2.f64 x.im x.re) y.re) 1)
(/.f64 (*.f64 (atan2.f64 x.im x.re) (+.f64 y.re y.re)) 2)
(/.f64 (*.f64 (*.f64 (atan2.f64 x.im x.re) y.re) 4) 4)
(/.f64 (+.f64 (*.f64 (*.f64 (atan2.f64 x.im x.re) y.re) 4) (*.f64 (*.f64 (atan2.f64 x.im x.re) y.re) 4)) 8)
Outputs
(sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.im))))
(+.f64 (*.f64 1/2 (/.f64 (*.f64 (pow.f64 x.re 2) (*.f64 y.im (cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.im)))))) (pow.f64 x.im 2))) (sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.im)))))
(+.f64 (sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.im)))) (*.f64 1/2 (*.f64 (*.f64 y.im (cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.im))))) (/.f64 (pow.f64 x.re 2) (pow.f64 x.im 2)))))
(+.f64 (sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.im)))) (*.f64 1/2 (*.f64 (*.f64 (pow.f64 x.re 2) (cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.im))))) (/.f64 y.im (pow.f64 x.im 2)))))
(+.f64 (sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.im)))) (*.f64 1/2 (*.f64 y.im (*.f64 (cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.im)))) (/.f64 (pow.f64 x.re 2) (pow.f64 x.im 2))))))
(+.f64 (sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.im)))) (*.f64 (*.f64 (pow.f64 x.re 2) (cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.im))))) (*.f64 (/.f64 y.im (pow.f64 x.im 2)) 1/2)))
(+.f64 (*.f64 1/2 (/.f64 (*.f64 (pow.f64 x.re 2) (*.f64 y.im (cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.im)))))) (pow.f64 x.im 2))) (+.f64 (sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.im)))) (*.f64 (pow.f64 x.re 4) (+.f64 (*.f64 -1/8 (/.f64 (*.f64 (pow.f64 y.im 2) (sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.im))))) (pow.f64 x.im 4))) (*.f64 -1/4 (/.f64 (*.f64 y.im (cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.im))))) (pow.f64 x.im 4)))))))
(+.f64 (sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.im)))) (+.f64 (*.f64 (pow.f64 x.re 4) (+.f64 (*.f64 -1/8 (*.f64 (sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.im)))) (/.f64 (pow.f64 y.im 2) (pow.f64 x.im 4)))) (*.f64 -1/4 (*.f64 (cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.im)))) (/.f64 y.im (pow.f64 x.im 4)))))) (*.f64 1/2 (*.f64 (*.f64 y.im (cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.im))))) (/.f64 (pow.f64 x.re 2) (pow.f64 x.im 2))))))
(+.f64 (*.f64 (pow.f64 x.re 4) (+.f64 (*.f64 (sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.im)))) (*.f64 (/.f64 (pow.f64 y.im 2) (pow.f64 x.im 4)) -1/8)) (*.f64 (cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.im)))) (*.f64 (/.f64 y.im (pow.f64 x.im 4)) -1/4)))) (+.f64 (sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.im)))) (*.f64 1/2 (*.f64 (*.f64 (pow.f64 x.re 2) (cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.im))))) (/.f64 y.im (pow.f64 x.im 2))))))
(+.f64 (*.f64 1/2 (*.f64 y.im (*.f64 (cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.im)))) (/.f64 (pow.f64 x.re 2) (pow.f64 x.im 2))))) (+.f64 (sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.im)))) (*.f64 (pow.f64 x.re 4) (+.f64 (*.f64 (sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.im)))) (*.f64 -1/8 (/.f64 (pow.f64 y.im 2) (pow.f64 x.im 4)))) (*.f64 (cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.im)))) (*.f64 -1/4 (/.f64 y.im (pow.f64 x.im 4))))))))
(+.f64 (+.f64 (sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.im)))) (*.f64 (*.f64 (pow.f64 x.re 2) (cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.im))))) (*.f64 (/.f64 y.im (pow.f64 x.im 2)) 1/2))) (*.f64 (pow.f64 x.re 4) (+.f64 (*.f64 (sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.im)))) (*.f64 -1/8 (/.f64 (pow.f64 y.im 2) (pow.f64 x.im 4)))) (*.f64 (cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.im)))) (*.f64 -1/4 (/.f64 y.im (pow.f64 x.im 4)))))))
(+.f64 (*.f64 1/2 (/.f64 (*.f64 (pow.f64 x.re 2) (*.f64 y.im (cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.im)))))) (pow.f64 x.im 2))) (+.f64 (sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.im)))) (+.f64 (*.f64 (pow.f64 x.re 6) (+.f64 (*.f64 1/8 (/.f64 (*.f64 (pow.f64 y.im 2) (sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.im))))) (pow.f64 x.im 6))) (*.f64 (+.f64 (*.f64 1/6 (/.f64 y.im (pow.f64 x.im 6))) (*.f64 -1/48 (/.f64 (pow.f64 y.im 3) (pow.f64 x.im 6)))) (cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.im))))))) (*.f64 (pow.f64 x.re 4) (+.f64 (*.f64 -1/8 (/.f64 (*.f64 (pow.f64 y.im 2) (sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.im))))) (pow.f64 x.im 4))) (*.f64 -1/4 (/.f64 (*.f64 y.im (cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.im))))) (pow.f64 x.im 4))))))))
(+.f64 (sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.im)))) (+.f64 (+.f64 (*.f64 (pow.f64 x.re 4) (+.f64 (*.f64 -1/8 (*.f64 (sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.im)))) (/.f64 (pow.f64 y.im 2) (pow.f64 x.im 4)))) (*.f64 -1/4 (*.f64 (cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.im)))) (/.f64 y.im (pow.f64 x.im 4)))))) (*.f64 (pow.f64 x.re 6) (+.f64 (*.f64 1/8 (*.f64 (sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.im)))) (/.f64 (pow.f64 y.im 2) (pow.f64 x.im 6)))) (*.f64 (cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.im)))) (+.f64 (*.f64 1/6 (/.f64 y.im (pow.f64 x.im 6))) (*.f64 -1/48 (/.f64 (pow.f64 y.im 3) (pow.f64 x.im 6)))))))) (*.f64 1/2 (*.f64 (*.f64 y.im (cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.im))))) (/.f64 (pow.f64 x.re 2) (pow.f64 x.im 2))))))
(+.f64 (*.f64 1/2 (*.f64 (*.f64 (pow.f64 x.re 2) (cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.im))))) (/.f64 y.im (pow.f64 x.im 2)))) (+.f64 (+.f64 (sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.im)))) (*.f64 (pow.f64 x.re 4) (+.f64 (*.f64 (sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.im)))) (*.f64 (/.f64 (pow.f64 y.im 2) (pow.f64 x.im 4)) -1/8)) (*.f64 (cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.im)))) (*.f64 (/.f64 y.im (pow.f64 x.im 4)) -1/4))))) (*.f64 (pow.f64 x.re 6) (+.f64 (*.f64 (sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.im)))) (*.f64 (/.f64 (pow.f64 y.im 2) (pow.f64 x.im 6)) 1/8)) (*.f64 (cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.im)))) (+.f64 (*.f64 1/6 (/.f64 y.im (pow.f64 x.im 6))) (*.f64 -1/48 (/.f64 (pow.f64 y.im 3) (pow.f64 x.im 6)))))))))
(+.f64 (sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.im)))) (+.f64 (*.f64 1/2 (*.f64 y.im (*.f64 (cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.im)))) (/.f64 (pow.f64 x.re 2) (pow.f64 x.im 2))))) (+.f64 (*.f64 (pow.f64 x.re 4) (+.f64 (*.f64 (sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.im)))) (*.f64 -1/8 (/.f64 (pow.f64 y.im 2) (pow.f64 x.im 4)))) (*.f64 (cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.im)))) (*.f64 -1/4 (/.f64 y.im (pow.f64 x.im 4)))))) (*.f64 (pow.f64 x.re 6) (+.f64 (*.f64 (sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.im)))) (*.f64 1/8 (/.f64 (pow.f64 y.im 2) (pow.f64 x.im 6)))) (*.f64 (cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.im)))) (+.f64 (*.f64 1/6 (/.f64 y.im (pow.f64 x.im 6))) (*.f64 -1/48 (/.f64 (pow.f64 y.im 3) (pow.f64 x.im 6))))))))))
(+.f64 (sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.im)))) (+.f64 (*.f64 (*.f64 (pow.f64 x.re 2) (cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.im))))) (*.f64 (/.f64 y.im (pow.f64 x.im 2)) 1/2)) (+.f64 (*.f64 (pow.f64 x.re 4) (+.f64 (*.f64 (sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.im)))) (*.f64 -1/8 (/.f64 (pow.f64 y.im 2) (pow.f64 x.im 4)))) (*.f64 (cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.im)))) (*.f64 -1/4 (/.f64 y.im (pow.f64 x.im 4)))))) (*.f64 (pow.f64 x.re 6) (+.f64 (*.f64 (sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.im)))) (*.f64 1/8 (/.f64 (pow.f64 y.im 2) (pow.f64 x.im 6)))) (*.f64 (cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.im)))) (+.f64 (*.f64 1/6 (/.f64 y.im (pow.f64 x.im 6))) (*.f64 -1/48 (/.f64 (pow.f64 y.im 3) (pow.f64 x.im 6))))))))))
(sin.f64 (+.f64 (*.f64 -1 (*.f64 (log.f64 (/.f64 1 x.re)) y.im)) (*.f64 y.re (atan2.f64 x.im x.re))))
(sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 (log.f64 (/.f64 1 x.re)) (*.f64 y.im -1))))
(sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 (log.f64 (/.f64 1 x.re)) (neg.f64 y.im))))
(sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (neg.f64 (log.f64 (/.f64 1 x.re))))))
(+.f64 (sin.f64 (+.f64 (*.f64 -1 (*.f64 (log.f64 (/.f64 1 x.re)) y.im)) (*.f64 y.re (atan2.f64 x.im x.re)))) (*.f64 1/2 (/.f64 (*.f64 y.im (*.f64 (pow.f64 x.im 2) (cos.f64 (+.f64 (*.f64 -1 (*.f64 (log.f64 (/.f64 1 x.re)) y.im)) (*.f64 y.re (atan2.f64 x.im x.re)))))) (pow.f64 x.re 2))))
(+.f64 (sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 (log.f64 (/.f64 1 x.re)) (*.f64 y.im -1)))) (*.f64 1/2 (*.f64 (*.f64 (pow.f64 x.im 2) (cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 (log.f64 (/.f64 1 x.re)) (*.f64 y.im -1))))) (/.f64 y.im (pow.f64 x.re 2)))))
(+.f64 (sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 (log.f64 (/.f64 1 x.re)) (neg.f64 y.im)))) (*.f64 1/2 (*.f64 (*.f64 (pow.f64 x.im 2) (cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 (log.f64 (/.f64 1 x.re)) (neg.f64 y.im))))) (/.f64 y.im (pow.f64 x.re 2)))))
(+.f64 (sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (neg.f64 (log.f64 (/.f64 1 x.re)))))) (*.f64 y.im (*.f64 (*.f64 (pow.f64 x.im 2) (/.f64 (cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (neg.f64 (log.f64 (/.f64 1 x.re)))))) (pow.f64 x.re 2))) 1/2)))
(+.f64 (sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (neg.f64 (log.f64 (/.f64 1 x.re)))))) (*.f64 (*.f64 y.im (cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (neg.f64 (log.f64 (/.f64 1 x.re))))))) (*.f64 (/.f64 (pow.f64 x.im 2) (pow.f64 x.re 2)) 1/2)))
(+.f64 (sin.f64 (+.f64 (*.f64 -1 (*.f64 (log.f64 (/.f64 1 x.re)) y.im)) (*.f64 y.re (atan2.f64 x.im x.re)))) (+.f64 (*.f64 1/2 (/.f64 (*.f64 y.im (*.f64 (pow.f64 x.im 2) (cos.f64 (+.f64 (*.f64 -1 (*.f64 (log.f64 (/.f64 1 x.re)) y.im)) (*.f64 y.re (atan2.f64 x.im x.re)))))) (pow.f64 x.re 2))) (+.f64 (*.f64 -1/4 (/.f64 (*.f64 y.im (*.f64 (pow.f64 x.im 4) (cos.f64 (+.f64 (*.f64 -1 (*.f64 (log.f64 (/.f64 1 x.re)) y.im)) (*.f64 y.re (atan2.f64 x.im x.re)))))) (pow.f64 x.re 4))) (*.f64 -1/8 (/.f64 (*.f64 (sin.f64 (+.f64 (*.f64 -1 (*.f64 (log.f64 (/.f64 1 x.re)) y.im)) (*.f64 y.re (atan2.f64 x.im x.re)))) (*.f64 (pow.f64 y.im 2) (pow.f64 x.im 4))) (pow.f64 x.re 4))))))
(+.f64 (sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 (log.f64 (/.f64 1 x.re)) (*.f64 y.im -1)))) (+.f64 (*.f64 1/2 (*.f64 (*.f64 (pow.f64 x.im 2) (cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 (log.f64 (/.f64 1 x.re)) (*.f64 y.im -1))))) (/.f64 y.im (pow.f64 x.re 2)))) (+.f64 (*.f64 -1/4 (*.f64 (*.f64 (pow.f64 x.im 4) (cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 (log.f64 (/.f64 1 x.re)) (*.f64 y.im -1))))) (/.f64 y.im (pow.f64 x.re 4)))) (*.f64 -1/8 (*.f64 (*.f64 (pow.f64 y.im 2) (pow.f64 x.im 4)) (/.f64 (sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 (log.f64 (/.f64 1 x.re)) (*.f64 y.im -1)))) (pow.f64 x.re 4)))))))
(+.f64 (+.f64 (*.f64 -1/4 (*.f64 y.im (/.f64 (*.f64 (pow.f64 x.im 4) (cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 (log.f64 (/.f64 1 x.re)) (neg.f64 y.im))))) (pow.f64 x.re 4)))) (*.f64 -1/8 (*.f64 (sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 (log.f64 (/.f64 1 x.re)) (neg.f64 y.im)))) (/.f64 (*.f64 (pow.f64 y.im 2) (pow.f64 x.im 4)) (pow.f64 x.re 4))))) (+.f64 (sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 (log.f64 (/.f64 1 x.re)) (neg.f64 y.im)))) (*.f64 1/2 (*.f64 (*.f64 (pow.f64 x.im 2) (cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 (log.f64 (/.f64 1 x.re)) (neg.f64 y.im))))) (/.f64 y.im (pow.f64 x.re 2))))))
(+.f64 (+.f64 (sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (neg.f64 (log.f64 (/.f64 1 x.re)))))) (*.f64 y.im (*.f64 (*.f64 (pow.f64 x.im 2) (/.f64 (cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (neg.f64 (log.f64 (/.f64 1 x.re)))))) (pow.f64 x.re 2))) 1/2))) (+.f64 (*.f64 y.im (*.f64 (*.f64 (pow.f64 x.im 4) (/.f64 (cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (neg.f64 (log.f64 (/.f64 1 x.re)))))) (pow.f64 x.re 4))) -1/4)) (*.f64 -1/8 (*.f64 (sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (neg.f64 (log.f64 (/.f64 1 x.re)))))) (*.f64 (pow.f64 y.im 2) (/.f64 (pow.f64 x.im 4) (pow.f64 x.re 4)))))))
(+.f64 (*.f64 (*.f64 y.im (cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (neg.f64 (log.f64 (/.f64 1 x.re))))))) (*.f64 (/.f64 (pow.f64 x.im 2) (pow.f64 x.re 2)) 1/2)) (+.f64 (sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (neg.f64 (log.f64 (/.f64 1 x.re)))))) (+.f64 (*.f64 y.im (*.f64 (*.f64 (cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (neg.f64 (log.f64 (/.f64 1 x.re)))))) (/.f64 (pow.f64 x.im 4) (pow.f64 x.re 4))) -1/4)) (*.f64 (sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (neg.f64 (log.f64 (/.f64 1 x.re)))))) (*.f64 (*.f64 (pow.f64 y.im 2) (/.f64 (pow.f64 x.im 4) (pow.f64 x.re 4))) -1/8)))))
(+.f64 (*.f64 1/8 (/.f64 (*.f64 (sin.f64 (+.f64 (*.f64 -1 (*.f64 (log.f64 (/.f64 1 x.re)) y.im)) (*.f64 y.re (atan2.f64 x.im x.re)))) (*.f64 (pow.f64 y.im 2) (pow.f64 x.im 6))) (pow.f64 x.re 6))) (+.f64 (/.f64 (*.f64 (+.f64 (*.f64 -1/48 (*.f64 (pow.f64 y.im 3) (pow.f64 x.im 6))) (*.f64 1/720 (*.f64 (+.f64 (*.f64 30 (pow.f64 x.im 6)) (*.f64 90 (pow.f64 x.im 6))) y.im))) (cos.f64 (+.f64 (*.f64 -1 (*.f64 (log.f64 (/.f64 1 x.re)) y.im)) (*.f64 y.re (atan2.f64 x.im x.re))))) (pow.f64 x.re 6)) (+.f64 (sin.f64 (+.f64 (*.f64 -1 (*.f64 (log.f64 (/.f64 1 x.re)) y.im)) (*.f64 y.re (atan2.f64 x.im x.re)))) (+.f64 (*.f64 1/2 (/.f64 (*.f64 y.im (*.f64 (pow.f64 x.im 2) (cos.f64 (+.f64 (*.f64 -1 (*.f64 (log.f64 (/.f64 1 x.re)) y.im)) (*.f64 y.re (atan2.f64 x.im x.re)))))) (pow.f64 x.re 2))) (+.f64 (*.f64 -1/8 (/.f64 (*.f64 (sin.f64 (+.f64 (*.f64 -1 (*.f64 (log.f64 (/.f64 1 x.re)) y.im)) (*.f64 y.re (atan2.f64 x.im x.re)))) (*.f64 (pow.f64 y.im 2) (pow.f64 x.im 4))) (pow.f64 x.re 4))) (*.f64 -1/4 (/.f64 (*.f64 y.im (*.f64 (pow.f64 x.im 4) (cos.f64 (+.f64 (*.f64 -1 (*.f64 (log.f64 (/.f64 1 x.re)) y.im)) (*.f64 y.re (atan2.f64 x.im x.re)))))) (pow.f64 x.re 4))))))))
(+.f64 (*.f64 1/8 (*.f64 (*.f64 (pow.f64 y.im 2) (pow.f64 x.im 6)) (/.f64 (sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 (log.f64 (/.f64 1 x.re)) (*.f64 y.im -1)))) (pow.f64 x.re 6)))) (+.f64 (sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 (log.f64 (/.f64 1 x.re)) (*.f64 y.im -1)))) (+.f64 (+.f64 (*.f64 1/2 (*.f64 (*.f64 (pow.f64 x.im 2) (cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 (log.f64 (/.f64 1 x.re)) (*.f64 y.im -1))))) (/.f64 y.im (pow.f64 x.re 2)))) (+.f64 (*.f64 -1/4 (*.f64 (*.f64 (pow.f64 x.im 4) (cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 (log.f64 (/.f64 1 x.re)) (*.f64 y.im -1))))) (/.f64 y.im (pow.f64 x.re 4)))) (*.f64 -1/8 (*.f64 (*.f64 (pow.f64 y.im 2) (pow.f64 x.im 4)) (/.f64 (sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 (log.f64 (/.f64 1 x.re)) (*.f64 y.im -1)))) (pow.f64 x.re 4)))))) (*.f64 (cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 (log.f64 (/.f64 1 x.re)) (*.f64 y.im -1)))) (/.f64 (+.f64 (*.f64 -1/48 (*.f64 (pow.f64 x.im 6) (pow.f64 y.im 3))) (*.f64 (+.f64 (*.f64 (pow.f64 x.im 6) 30) (*.f64 (pow.f64 x.im 6) 90)) (*.f64 y.im 1/720))) (pow.f64 x.re 6))))))
(+.f64 (*.f64 1/8 (*.f64 (sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 (log.f64 (/.f64 1 x.re)) (neg.f64 y.im)))) (/.f64 (*.f64 (pow.f64 y.im 2) (pow.f64 x.im 6)) (pow.f64 x.re 6)))) (+.f64 (*.f64 (+.f64 (*.f64 (pow.f64 x.im 6) (*.f64 -1/48 (pow.f64 y.im 3))) (*.f64 y.im (*.f64 (*.f64 (pow.f64 x.im 6) 120) 1/720))) (/.f64 (cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 (log.f64 (/.f64 1 x.re)) (neg.f64 y.im)))) (pow.f64 x.re 6))) (+.f64 (+.f64 (*.f64 -1/4 (*.f64 y.im (/.f64 (*.f64 (pow.f64 x.im 4) (cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 (log.f64 (/.f64 1 x.re)) (neg.f64 y.im))))) (pow.f64 x.re 4)))) (*.f64 -1/8 (*.f64 (sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 (log.f64 (/.f64 1 x.re)) (neg.f64 y.im)))) (/.f64 (*.f64 (pow.f64 y.im 2) (pow.f64 x.im 4)) (pow.f64 x.re 4))))) (+.f64 (sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 (log.f64 (/.f64 1 x.re)) (neg.f64 y.im)))) (*.f64 1/2 (*.f64 (*.f64 (pow.f64 x.im 2) (cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 (log.f64 (/.f64 1 x.re)) (neg.f64 y.im))))) (/.f64 y.im (pow.f64 x.re 2))))))))
(+.f64 (*.f64 1/8 (*.f64 (pow.f64 y.im 2) (/.f64 (*.f64 (pow.f64 x.im 6) (sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (neg.f64 (log.f64 (/.f64 1 x.re))))))) (pow.f64 x.re 6)))) (+.f64 (*.f64 (+.f64 (*.f64 (pow.f64 x.im 6) (*.f64 -1/48 (pow.f64 y.im 3))) (*.f64 y.im (*.f64 (pow.f64 x.im 6) 1/6))) (/.f64 (cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (neg.f64 (log.f64 (/.f64 1 x.re)))))) (pow.f64 x.re 6))) (+.f64 (+.f64 (sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (neg.f64 (log.f64 (/.f64 1 x.re)))))) (*.f64 y.im (*.f64 (*.f64 (pow.f64 x.im 2) (/.f64 (cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (neg.f64 (log.f64 (/.f64 1 x.re)))))) (pow.f64 x.re 2))) 1/2))) (+.f64 (*.f64 y.im (*.f64 (*.f64 (pow.f64 x.im 4) (/.f64 (cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (neg.f64 (log.f64 (/.f64 1 x.re)))))) (pow.f64 x.re 4))) -1/4)) (*.f64 -1/8 (*.f64 (sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (neg.f64 (log.f64 (/.f64 1 x.re)))))) (*.f64 (pow.f64 y.im 2) (/.f64 (pow.f64 x.im 4) (pow.f64 x.re 4)))))))))
(+.f64 (*.f64 1/8 (*.f64 (pow.f64 x.im 6) (*.f64 (pow.f64 y.im 2) (/.f64 (sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (neg.f64 (log.f64 (/.f64 1 x.re)))))) (pow.f64 x.re 6))))) (+.f64 (+.f64 (sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (neg.f64 (log.f64 (/.f64 1 x.re)))))) (+.f64 (*.f64 y.im (*.f64 (*.f64 (cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (neg.f64 (log.f64 (/.f64 1 x.re)))))) (/.f64 (pow.f64 x.im 4) (pow.f64 x.re 4))) -1/4)) (*.f64 (sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (neg.f64 (log.f64 (/.f64 1 x.re)))))) (*.f64 (*.f64 (pow.f64 y.im 2) (/.f64 (pow.f64 x.im 4) (pow.f64 x.re 4))) -1/8)))) (+.f64 (*.f64 (cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (neg.f64 (log.f64 (/.f64 1 x.re)))))) (/.f64 (*.f64 (pow.f64 x.im 6) (+.f64 (*.f64 -1/48 (pow.f64 y.im 3)) (*.f64 120 (*.f64 y.im 1/720)))) (pow.f64 x.re 6))) (*.f64 (*.f64 y.im (cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (neg.f64 (log.f64 (/.f64 1 x.re))))))) (*.f64 (/.f64 (pow.f64 x.im 2) (pow.f64 x.re 2)) 1/2)))))
(sin.f64 (+.f64 (*.f64 -1 (*.f64 y.im (log.f64 (/.f64 -1 x.re)))) (*.f64 y.re (atan2.f64 x.im x.re))))
(sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (*.f64 (log.f64 (/.f64 -1 x.re)) -1))))
(sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (neg.f64 (log.f64 (/.f64 -1 x.re))))))
(+.f64 (sin.f64 (+.f64 (*.f64 -1 (*.f64 y.im (log.f64 (/.f64 -1 x.re)))) (*.f64 y.re (atan2.f64 x.im x.re)))) (*.f64 1/2 (/.f64 (*.f64 (cos.f64 (+.f64 (*.f64 -1 (*.f64 y.im (log.f64 (/.f64 -1 x.re)))) (*.f64 y.re (atan2.f64 x.im x.re)))) (*.f64 y.im (pow.f64 x.im 2))) (pow.f64 x.re 2))))
(+.f64 (sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (*.f64 (log.f64 (/.f64 -1 x.re)) -1)))) (*.f64 1/2 (*.f64 (*.f64 y.im (pow.f64 x.im 2)) (/.f64 (cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (*.f64 (log.f64 (/.f64 -1 x.re)) -1)))) (pow.f64 x.re 2)))))
(+.f64 (sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (neg.f64 (log.f64 (/.f64 -1 x.re)))))) (*.f64 (*.f64 y.im (pow.f64 x.im 2)) (*.f64 (/.f64 (cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (neg.f64 (log.f64 (/.f64 -1 x.re)))))) (pow.f64 x.re 2)) 1/2)))
(+.f64 (sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (neg.f64 (log.f64 (/.f64 -1 x.re)))))) (*.f64 (cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (neg.f64 (log.f64 (/.f64 -1 x.re)))))) (*.f64 (*.f64 y.im (/.f64 (pow.f64 x.im 2) (pow.f64 x.re 2))) 1/2)))
(+.f64 (*.f64 -1/4 (/.f64 (*.f64 (cos.f64 (+.f64 (*.f64 -1 (*.f64 y.im (log.f64 (/.f64 -1 x.re)))) (*.f64 y.re (atan2.f64 x.im x.re)))) (*.f64 y.im (pow.f64 x.im 4))) (pow.f64 x.re 4))) (+.f64 (sin.f64 (+.f64 (*.f64 -1 (*.f64 y.im (log.f64 (/.f64 -1 x.re)))) (*.f64 y.re (atan2.f64 x.im x.re)))) (+.f64 (*.f64 -1/8 (/.f64 (*.f64 (sin.f64 (+.f64 (*.f64 -1 (*.f64 y.im (log.f64 (/.f64 -1 x.re)))) (*.f64 y.re (atan2.f64 x.im x.re)))) (*.f64 (pow.f64 y.im 2) (pow.f64 x.im 4))) (pow.f64 x.re 4))) (*.f64 1/2 (/.f64 (*.f64 (cos.f64 (+.f64 (*.f64 -1 (*.f64 y.im (log.f64 (/.f64 -1 x.re)))) (*.f64 y.re (atan2.f64 x.im x.re)))) (*.f64 y.im (pow.f64 x.im 2))) (pow.f64 x.re 2))))))
(+.f64 (sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (*.f64 (log.f64 (/.f64 -1 x.re)) -1)))) (+.f64 (+.f64 (*.f64 1/2 (*.f64 (*.f64 y.im (pow.f64 x.im 2)) (/.f64 (cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (*.f64 (log.f64 (/.f64 -1 x.re)) -1)))) (pow.f64 x.re 2)))) (*.f64 -1/8 (*.f64 (*.f64 (pow.f64 y.im 2) (pow.f64 x.im 4)) (/.f64 (sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (*.f64 (log.f64 (/.f64 -1 x.re)) -1)))) (pow.f64 x.re 4))))) (*.f64 -1/4 (*.f64 (*.f64 y.im (pow.f64 x.im 4)) (/.f64 (cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (*.f64 (log.f64 (/.f64 -1 x.re)) -1)))) (pow.f64 x.re 4))))))
(+.f64 (sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (neg.f64 (log.f64 (/.f64 -1 x.re)))))) (+.f64 (*.f64 -1/4 (*.f64 (cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (neg.f64 (log.f64 (/.f64 -1 x.re)))))) (/.f64 (*.f64 y.im (pow.f64 x.im 4)) (pow.f64 x.re 4)))) (+.f64 (*.f64 (*.f64 y.im (pow.f64 x.im 2)) (*.f64 (/.f64 (cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (neg.f64 (log.f64 (/.f64 -1 x.re)))))) (pow.f64 x.re 2)) 1/2)) (*.f64 -1/8 (*.f64 (*.f64 (pow.f64 y.im 2) (pow.f64 x.im 4)) (/.f64 (sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (neg.f64 (log.f64 (/.f64 -1 x.re)))))) (pow.f64 x.re 4)))))))
(+.f64 (sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (neg.f64 (log.f64 (/.f64 -1 x.re)))))) (+.f64 (*.f64 (cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (neg.f64 (log.f64 (/.f64 -1 x.re)))))) (*.f64 (*.f64 y.im (/.f64 (pow.f64 x.im 2) (pow.f64 x.re 2))) 1/2)) (+.f64 (*.f64 (sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (neg.f64 (log.f64 (/.f64 -1 x.re)))))) (*.f64 (*.f64 (pow.f64 y.im 2) (/.f64 (pow.f64 x.im 4) (pow.f64 x.re 4))) -1/8)) (*.f64 -1/4 (*.f64 (cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (neg.f64 (log.f64 (/.f64 -1 x.re)))))) (*.f64 y.im (/.f64 (pow.f64 x.im 4) (pow.f64 x.re 4))))))))
(+.f64 (*.f64 -1/4 (/.f64 (*.f64 (cos.f64 (+.f64 (*.f64 -1 (*.f64 y.im (log.f64 (/.f64 -1 x.re)))) (*.f64 y.re (atan2.f64 x.im x.re)))) (*.f64 y.im (pow.f64 x.im 4))) (pow.f64 x.re 4))) (+.f64 (sin.f64 (+.f64 (*.f64 -1 (*.f64 y.im (log.f64 (/.f64 -1 x.re)))) (*.f64 y.re (atan2.f64 x.im x.re)))) (+.f64 (/.f64 (*.f64 (+.f64 (*.f64 -1/48 (*.f64 (pow.f64 y.im 3) (pow.f64 x.im 6))) (*.f64 1/720 (*.f64 (+.f64 (*.f64 30 (pow.f64 x.im 6)) (*.f64 90 (pow.f64 x.im 6))) y.im))) (cos.f64 (+.f64 (*.f64 -1 (*.f64 y.im (log.f64 (/.f64 -1 x.re)))) (*.f64 y.re (atan2.f64 x.im x.re))))) (pow.f64 x.re 6)) (+.f64 (*.f64 -1/8 (/.f64 (*.f64 (sin.f64 (+.f64 (*.f64 -1 (*.f64 y.im (log.f64 (/.f64 -1 x.re)))) (*.f64 y.re (atan2.f64 x.im x.re)))) (*.f64 (pow.f64 y.im 2) (pow.f64 x.im 4))) (pow.f64 x.re 4))) (+.f64 (*.f64 1/2 (/.f64 (*.f64 (cos.f64 (+.f64 (*.f64 -1 (*.f64 y.im (log.f64 (/.f64 -1 x.re)))) (*.f64 y.re (atan2.f64 x.im x.re)))) (*.f64 y.im (pow.f64 x.im 2))) (pow.f64 x.re 2))) (*.f64 1/8 (/.f64 (*.f64 (sin.f64 (+.f64 (*.f64 -1 (*.f64 y.im (log.f64 (/.f64 -1 x.re)))) (*.f64 y.re (atan2.f64 x.im x.re)))) (*.f64 (pow.f64 y.im 2) (pow.f64 x.im 6))) (pow.f64 x.re 6))))))))
(+.f64 (sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (*.f64 (log.f64 (/.f64 -1 x.re)) -1)))) (+.f64 (+.f64 (*.f64 -1/8 (*.f64 (*.f64 (pow.f64 y.im 2) (pow.f64 x.im 4)) (/.f64 (sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (*.f64 (log.f64 (/.f64 -1 x.re)) -1)))) (pow.f64 x.re 4)))) (+.f64 (+.f64 (*.f64 1/2 (*.f64 (*.f64 y.im (pow.f64 x.im 2)) (/.f64 (cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (*.f64 (log.f64 (/.f64 -1 x.re)) -1)))) (pow.f64 x.re 2)))) (*.f64 1/8 (*.f64 (*.f64 (pow.f64 y.im 2) (pow.f64 x.im 6)) (/.f64 (sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (*.f64 (log.f64 (/.f64 -1 x.re)) -1)))) (pow.f64 x.re 6))))) (*.f64 (cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (*.f64 (log.f64 (/.f64 -1 x.re)) -1)))) (/.f64 (+.f64 (*.f64 -1/48 (*.f64 (pow.f64 x.im 6) (pow.f64 y.im 3))) (*.f64 (+.f64 (*.f64 (pow.f64 x.im 6) 30) (*.f64 (pow.f64 x.im 6) 90)) (*.f64 y.im 1/720))) (pow.f64 x.re 6))))) (*.f64 -1/4 (*.f64 (*.f64 y.im (pow.f64 x.im 4)) (/.f64 (cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (*.f64 (log.f64 (/.f64 -1 x.re)) -1)))) (pow.f64 x.re 4))))))
(+.f64 (sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (neg.f64 (log.f64 (/.f64 -1 x.re)))))) (+.f64 (*.f64 -1/4 (*.f64 (cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (neg.f64 (log.f64 (/.f64 -1 x.re)))))) (/.f64 (*.f64 y.im (pow.f64 x.im 4)) (pow.f64 x.re 4)))) (+.f64 (*.f64 (*.f64 y.im (pow.f64 x.im 2)) (*.f64 (/.f64 (cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (neg.f64 (log.f64 (/.f64 -1 x.re)))))) (pow.f64 x.re 2)) 1/2)) (+.f64 (+.f64 (*.f64 -1/8 (*.f64 (*.f64 (pow.f64 y.im 2) (pow.f64 x.im 4)) (/.f64 (sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (neg.f64 (log.f64 (/.f64 -1 x.re)))))) (pow.f64 x.re 4)))) (*.f64 (*.f64 (pow.f64 y.im 2) (pow.f64 x.im 6)) (*.f64 (/.f64 (sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (neg.f64 (log.f64 (/.f64 -1 x.re)))))) (pow.f64 x.re 6)) 1/8))) (*.f64 (+.f64 (*.f64 (pow.f64 x.im 6) (*.f64 -1/48 (pow.f64 y.im 3))) (*.f64 y.im (*.f64 (*.f64 (pow.f64 x.im 6) 120) 1/720))) (/.f64 (cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (neg.f64 (log.f64 (/.f64 -1 x.re)))))) (pow.f64 x.re 6)))))))
(+.f64 (*.f64 -1/4 (*.f64 (cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (neg.f64 (log.f64 (/.f64 -1 x.re)))))) (*.f64 y.im (/.f64 (pow.f64 x.im 4) (pow.f64 x.re 4))))) (+.f64 (+.f64 (*.f64 1/8 (*.f64 (sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (neg.f64 (log.f64 (/.f64 -1 x.re)))))) (*.f64 (pow.f64 y.im 2) (/.f64 (pow.f64 x.im 6) (pow.f64 x.re 6))))) (+.f64 (*.f64 (cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (neg.f64 (log.f64 (/.f64 -1 x.re)))))) (*.f64 (*.f64 y.im (/.f64 (pow.f64 x.im 2) (pow.f64 x.re 2))) 1/2)) (*.f64 (cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (neg.f64 (log.f64 (/.f64 -1 x.re)))))) (/.f64 (+.f64 (*.f64 (pow.f64 x.im 6) (*.f64 -1/48 (pow.f64 y.im 3))) (*.f64 y.im (*.f64 (pow.f64 x.im 6) 1/6))) (pow.f64 x.re 6))))) (+.f64 (sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (neg.f64 (log.f64 (/.f64 -1 x.re)))))) (*.f64 (sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (neg.f64 (log.f64 (/.f64 -1 x.re)))))) (*.f64 (*.f64 (pow.f64 y.im 2) (/.f64 (pow.f64 x.im 4) (pow.f64 x.re 4))) -1/8)))))
(+.f64 (*.f64 -1/4 (*.f64 (cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (neg.f64 (log.f64 (/.f64 -1 x.re)))))) (*.f64 y.im (/.f64 (pow.f64 x.im 4) (pow.f64 x.re 4))))) (+.f64 (+.f64 (*.f64 1/8 (*.f64 (sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (neg.f64 (log.f64 (/.f64 -1 x.re)))))) (*.f64 (pow.f64 y.im 2) (/.f64 (pow.f64 x.im 6) (pow.f64 x.re 6))))) (*.f64 (cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (neg.f64 (log.f64 (/.f64 -1 x.re)))))) (+.f64 (/.f64 (*.f64 (pow.f64 x.im 6) (+.f64 (*.f64 -1/48 (pow.f64 y.im 3)) (*.f64 120 (*.f64 y.im 1/720)))) (pow.f64 x.re 6)) (*.f64 (*.f64 y.im (/.f64 (pow.f64 x.im 2) (pow.f64 x.re 2))) 1/2)))) (+.f64 (sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (neg.f64 (log.f64 (/.f64 -1 x.re)))))) (*.f64 (sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (neg.f64 (log.f64 (/.f64 -1 x.re)))))) (*.f64 (*.f64 (pow.f64 y.im 2) (/.f64 (pow.f64 x.im 4) (pow.f64 x.re 4))) -1/8)))))
(sin.f64 (+.f64 (*.f64 y.im (log.f64 x.re)) (*.f64 y.re (atan2.f64 x.im x.re))))
(sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.re))))
(+.f64 (sin.f64 (+.f64 (*.f64 y.im (log.f64 x.re)) (*.f64 y.re (atan2.f64 x.im x.re)))) (*.f64 1/2 (/.f64 (*.f64 y.im (*.f64 (pow.f64 x.im 2) (cos.f64 (+.f64 (*.f64 y.im (log.f64 x.re)) (*.f64 y.re (atan2.f64 x.im x.re)))))) (pow.f64 x.re 2))))
(+.f64 (sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.re)))) (*.f64 1/2 (*.f64 (*.f64 (pow.f64 x.im 2) (cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.re))))) (/.f64 y.im (pow.f64 x.re 2)))))
(+.f64 (sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.re)))) (*.f64 y.im (*.f64 (*.f64 (cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.re)))) (/.f64 (pow.f64 x.im 2) (pow.f64 x.re 2))) 1/2)))
(+.f64 (*.f64 (+.f64 (*.f64 -1/8 (/.f64 (*.f64 (sin.f64 (+.f64 (*.f64 y.im (log.f64 x.re)) (*.f64 y.re (atan2.f64 x.im x.re)))) (pow.f64 y.im 2)) (pow.f64 x.re 4))) (*.f64 -1/4 (/.f64 (*.f64 y.im (cos.f64 (+.f64 (*.f64 y.im (log.f64 x.re)) (*.f64 y.re (atan2.f64 x.im x.re))))) (pow.f64 x.re 4)))) (pow.f64 x.im 4)) (+.f64 (sin.f64 (+.f64 (*.f64 y.im (log.f64 x.re)) (*.f64 y.re (atan2.f64 x.im x.re)))) (*.f64 1/2 (/.f64 (*.f64 y.im (*.f64 (pow.f64 x.im 2) (cos.f64 (+.f64 (*.f64 y.im (log.f64 x.re)) (*.f64 y.re (atan2.f64 x.im x.re)))))) (pow.f64 x.re 2)))))
(+.f64 (sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.re)))) (+.f64 (*.f64 1/2 (*.f64 (*.f64 (pow.f64 x.im 2) (cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.re))))) (/.f64 y.im (pow.f64 x.re 2)))) (*.f64 (pow.f64 x.im 4) (+.f64 (*.f64 -1/8 (*.f64 (pow.f64 y.im 2) (/.f64 (sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.re)))) (pow.f64 x.re 4)))) (*.f64 -1/4 (*.f64 (cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.re)))) (/.f64 y.im (pow.f64 x.re 4))))))))
(+.f64 (sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.re)))) (+.f64 (*.f64 1/2 (*.f64 (*.f64 (pow.f64 x.im 2) (cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.re))))) (/.f64 y.im (pow.f64 x.re 2)))) (*.f64 (pow.f64 x.im 4) (+.f64 (*.f64 -1/8 (*.f64 (sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.re)))) (/.f64 (pow.f64 y.im 2) (pow.f64 x.re 4)))) (*.f64 -1/4 (*.f64 y.im (/.f64 (cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.re)))) (pow.f64 x.re 4))))))))
(+.f64 (sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.re)))) (+.f64 (*.f64 y.im (*.f64 (*.f64 (cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.re)))) (/.f64 (pow.f64 x.im 2) (pow.f64 x.re 2))) 1/2)) (*.f64 (pow.f64 x.im 4) (+.f64 (*.f64 -1/8 (*.f64 (sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.re)))) (/.f64 (pow.f64 y.im 2) (pow.f64 x.re 4)))) (*.f64 -1/4 (*.f64 y.im (/.f64 (cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.re)))) (pow.f64 x.re 4))))))))
(+.f64 (+.f64 (sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.re)))) (*.f64 y.im (*.f64 (*.f64 (cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.re)))) (/.f64 (pow.f64 x.im 2) (pow.f64 x.re 2))) 1/2))) (*.f64 (pow.f64 x.im 4) (+.f64 (*.f64 -1/8 (*.f64 (sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.re)))) (/.f64 (pow.f64 y.im 2) (pow.f64 x.re 4)))) (*.f64 (cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.re)))) (*.f64 -1/4 (/.f64 y.im (pow.f64 x.re 4)))))))
(+.f64 (*.f64 (+.f64 (*.f64 1/8 (/.f64 (*.f64 (sin.f64 (+.f64 (*.f64 y.im (log.f64 x.re)) (*.f64 y.re (atan2.f64 x.im x.re)))) (pow.f64 y.im 2)) (pow.f64 x.re 6))) (*.f64 (+.f64 (*.f64 -1/48 (/.f64 (pow.f64 y.im 3) (pow.f64 x.re 6))) (*.f64 1/6 (/.f64 y.im (pow.f64 x.re 6)))) (cos.f64 (+.f64 (*.f64 y.im (log.f64 x.re)) (*.f64 y.re (atan2.f64 x.im x.re)))))) (pow.f64 x.im 6)) (+.f64 (*.f64 (+.f64 (*.f64 -1/8 (/.f64 (*.f64 (sin.f64 (+.f64 (*.f64 y.im (log.f64 x.re)) (*.f64 y.re (atan2.f64 x.im x.re)))) (pow.f64 y.im 2)) (pow.f64 x.re 4))) (*.f64 -1/4 (/.f64 (*.f64 y.im (cos.f64 (+.f64 (*.f64 y.im (log.f64 x.re)) (*.f64 y.re (atan2.f64 x.im x.re))))) (pow.f64 x.re 4)))) (pow.f64 x.im 4)) (+.f64 (sin.f64 (+.f64 (*.f64 y.im (log.f64 x.re)) (*.f64 y.re (atan2.f64 x.im x.re)))) (*.f64 1/2 (/.f64 (*.f64 y.im (*.f64 (pow.f64 x.im 2) (cos.f64 (+.f64 (*.f64 y.im (log.f64 x.re)) (*.f64 y.re (atan2.f64 x.im x.re)))))) (pow.f64 x.re 2))))))
(+.f64 (*.f64 (pow.f64 x.im 4) (+.f64 (*.f64 -1/8 (*.f64 (pow.f64 y.im 2) (/.f64 (sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.re)))) (pow.f64 x.re 4)))) (*.f64 -1/4 (*.f64 (cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.re)))) (/.f64 y.im (pow.f64 x.re 4)))))) (+.f64 (+.f64 (sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.re)))) (*.f64 1/2 (*.f64 (*.f64 (pow.f64 x.im 2) (cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.re))))) (/.f64 y.im (pow.f64 x.re 2))))) (*.f64 (pow.f64 x.im 6) (+.f64 (*.f64 1/8 (*.f64 (pow.f64 y.im 2) (/.f64 (sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.re)))) (pow.f64 x.re 6)))) (*.f64 (cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.re)))) (+.f64 (*.f64 -1/48 (/.f64 (pow.f64 y.im 3) (pow.f64 x.re 6))) (*.f64 1/6 (/.f64 y.im (pow.f64 x.re 6)))))))))
(+.f64 (+.f64 (sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.re)))) (*.f64 1/2 (*.f64 (*.f64 (pow.f64 x.im 2) (cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.re))))) (/.f64 y.im (pow.f64 x.re 2))))) (+.f64 (*.f64 (pow.f64 x.im 6) (+.f64 (*.f64 1/8 (*.f64 (sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.re)))) (/.f64 (pow.f64 y.im 2) (pow.f64 x.re 6)))) (*.f64 (cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.re)))) (+.f64 (*.f64 -1/48 (/.f64 (pow.f64 y.im 3) (pow.f64 x.re 6))) (*.f64 1/6 (/.f64 y.im (pow.f64 x.re 6))))))) (*.f64 (pow.f64 x.im 4) (+.f64 (*.f64 -1/8 (*.f64 (sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.re)))) (/.f64 (pow.f64 y.im 2) (pow.f64 x.re 4)))) (*.f64 -1/4 (*.f64 y.im (/.f64 (cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.re)))) (pow.f64 x.re 4))))))))
(+.f64 (+.f64 (sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.re)))) (*.f64 y.im (*.f64 (*.f64 (cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.re)))) (/.f64 (pow.f64 x.im 2) (pow.f64 x.re 2))) 1/2))) (+.f64 (*.f64 (pow.f64 x.im 4) (+.f64 (*.f64 -1/8 (*.f64 (sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.re)))) (/.f64 (pow.f64 y.im 2) (pow.f64 x.re 4)))) (*.f64 -1/4 (*.f64 y.im (/.f64 (cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.re)))) (pow.f64 x.re 4)))))) (*.f64 (pow.f64 x.im 6) (+.f64 (*.f64 1/8 (*.f64 (sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.re)))) (/.f64 (pow.f64 y.im 2) (pow.f64 x.re 6)))) (*.f64 (cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.re)))) (+.f64 (*.f64 -1/48 (/.f64 (pow.f64 y.im 3) (pow.f64 x.re 6))) (*.f64 1/6 (/.f64 y.im (pow.f64 x.re 6)))))))))
(+.f64 (+.f64 (sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.re)))) (*.f64 y.im (*.f64 (*.f64 (cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.re)))) (/.f64 (pow.f64 x.im 2) (pow.f64 x.re 2))) 1/2))) (+.f64 (*.f64 (pow.f64 x.im 4) (+.f64 (*.f64 -1/8 (*.f64 (sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.re)))) (/.f64 (pow.f64 y.im 2) (pow.f64 x.re 4)))) (*.f64 (cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.re)))) (*.f64 -1/4 (/.f64 y.im (pow.f64 x.re 4)))))) (*.f64 (pow.f64 x.im 6) (+.f64 (*.f64 (sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.re)))) (*.f64 (/.f64 (pow.f64 y.im 2) (pow.f64 x.re 6)) 1/8)) (*.f64 (cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.re)))) (+.f64 (*.f64 -1/48 (/.f64 (pow.f64 y.im 3) (pow.f64 x.re 6))) (*.f64 1/6 (/.f64 y.im (pow.f64 x.re 6)))))))))
(sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 -1 (*.f64 (log.f64 (/.f64 1 x.im)) y.im))))
(sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 (log.f64 (/.f64 1 x.im)) (*.f64 y.im -1))))
(sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 (log.f64 (/.f64 1 x.im)) (neg.f64 y.im))))
(+.f64 (*.f64 1/2 (/.f64 (*.f64 (pow.f64 x.re 2) (*.f64 (cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 -1 (*.f64 (log.f64 (/.f64 1 x.im)) y.im)))) y.im)) (pow.f64 x.im 2))) (sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 -1 (*.f64 (log.f64 (/.f64 1 x.im)) y.im)))))
(+.f64 (sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 (log.f64 (/.f64 1 x.im)) (*.f64 y.im -1)))) (*.f64 1/2 (*.f64 (*.f64 y.im (cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 (log.f64 (/.f64 1 x.im)) (*.f64 y.im -1))))) (/.f64 (pow.f64 x.re 2) (pow.f64 x.im 2)))))
(+.f64 (sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 (log.f64 (/.f64 1 x.im)) (neg.f64 y.im)))) (*.f64 1/2 (*.f64 (pow.f64 x.re 2) (/.f64 (*.f64 y.im (cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 (log.f64 (/.f64 1 x.im)) (neg.f64 y.im))))) (pow.f64 x.im 2)))))
(+.f64 (sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 (log.f64 (/.f64 1 x.im)) (neg.f64 y.im)))) (*.f64 1/2 (*.f64 y.im (*.f64 (cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 (log.f64 (/.f64 1 x.im)) (neg.f64 y.im)))) (/.f64 (pow.f64 x.re 2) (pow.f64 x.im 2))))))
(+.f64 (*.f64 -1/8 (/.f64 (*.f64 (pow.f64 x.re 4) (*.f64 (pow.f64 y.im 2) (sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 -1 (*.f64 (log.f64 (/.f64 1 x.im)) y.im)))))) (pow.f64 x.im 4))) (+.f64 (*.f64 1/2 (/.f64 (*.f64 (pow.f64 x.re 2) (*.f64 (cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 -1 (*.f64 (log.f64 (/.f64 1 x.im)) y.im)))) y.im)) (pow.f64 x.im 2))) (+.f64 (*.f64 -1/4 (/.f64 (*.f64 (pow.f64 x.re 4) (*.f64 (cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 -1 (*.f64 (log.f64 (/.f64 1 x.im)) y.im)))) y.im)) (pow.f64 x.im 4))) (sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 -1 (*.f64 (log.f64 (/.f64 1 x.im)) y.im)))))))
(+.f64 (*.f64 1/2 (*.f64 (*.f64 y.im (cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 (log.f64 (/.f64 1 x.im)) (*.f64 y.im -1))))) (/.f64 (pow.f64 x.re 2) (pow.f64 x.im 2)))) (+.f64 (+.f64 (sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 (log.f64 (/.f64 1 x.im)) (*.f64 y.im -1)))) (*.f64 -1/4 (*.f64 (*.f64 y.im (cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 (log.f64 (/.f64 1 x.im)) (*.f64 y.im -1))))) (/.f64 (pow.f64 x.re 4) (pow.f64 x.im 4))))) (*.f64 -1/8 (*.f64 (*.f64 (pow.f64 y.im 2) (sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 (log.f64 (/.f64 1 x.im)) (*.f64 y.im -1))))) (/.f64 (pow.f64 x.re 4) (pow.f64 x.im 4))))))
(+.f64 (*.f64 1/2 (*.f64 (pow.f64 x.re 2) (/.f64 (*.f64 y.im (cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 (log.f64 (/.f64 1 x.im)) (neg.f64 y.im))))) (pow.f64 x.im 2)))) (+.f64 (*.f64 -1/8 (*.f64 (*.f64 (pow.f64 y.im 2) (sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 (log.f64 (/.f64 1 x.im)) (neg.f64 y.im))))) (/.f64 (pow.f64 x.re 4) (pow.f64 x.im 4)))) (+.f64 (sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 (log.f64 (/.f64 1 x.im)) (neg.f64 y.im)))) (*.f64 (*.f64 y.im (cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 (log.f64 (/.f64 1 x.im)) (neg.f64 y.im))))) (*.f64 (/.f64 (pow.f64 x.re 4) (pow.f64 x.im 4)) -1/4)))))
(+.f64 (*.f64 1/2 (*.f64 y.im (*.f64 (cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 (log.f64 (/.f64 1 x.im)) (neg.f64 y.im)))) (/.f64 (pow.f64 x.re 2) (pow.f64 x.im 2))))) (+.f64 (sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 (log.f64 (/.f64 1 x.im)) (neg.f64 y.im)))) (+.f64 (*.f64 -1/4 (*.f64 y.im (*.f64 (cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 (log.f64 (/.f64 1 x.im)) (neg.f64 y.im)))) (/.f64 (pow.f64 x.re 4) (pow.f64 x.im 4))))) (*.f64 (pow.f64 x.re 4) (*.f64 (*.f64 (sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 (log.f64 (/.f64 1 x.im)) (neg.f64 y.im)))) (/.f64 (pow.f64 y.im 2) (pow.f64 x.im 4))) -1/8)))))
(+.f64 (sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 (log.f64 (/.f64 1 x.im)) (neg.f64 y.im)))) (+.f64 (*.f64 (*.f64 y.im (cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 (log.f64 (/.f64 1 x.im)) (neg.f64 y.im))))) (+.f64 (*.f64 -1/4 (/.f64 (pow.f64 x.re 4) (pow.f64 x.im 4))) (*.f64 1/2 (/.f64 (pow.f64 x.re 2) (pow.f64 x.im 2))))) (*.f64 (pow.f64 x.re 4) (*.f64 (*.f64 (sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 (log.f64 (/.f64 1 x.im)) (neg.f64 y.im)))) (/.f64 (pow.f64 y.im 2) (pow.f64 x.im 4))) -1/8))))
(+.f64 (*.f64 -1/8 (/.f64 (*.f64 (pow.f64 x.re 4) (*.f64 (pow.f64 y.im 2) (sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 -1 (*.f64 (log.f64 (/.f64 1 x.im)) y.im)))))) (pow.f64 x.im 4))) (+.f64 (/.f64 (*.f64 (+.f64 (*.f64 -1/48 (*.f64 (pow.f64 x.re 6) (pow.f64 y.im 3))) (*.f64 1/720 (*.f64 (+.f64 (*.f64 90 (pow.f64 x.re 6)) (*.f64 30 (pow.f64 x.re 6))) y.im))) (cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 -1 (*.f64 (log.f64 (/.f64 1 x.im)) y.im))))) (pow.f64 x.im 6)) (+.f64 (*.f64 1/8 (/.f64 (*.f64 (pow.f64 x.re 6) (*.f64 (pow.f64 y.im 2) (sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 -1 (*.f64 (log.f64 (/.f64 1 x.im)) y.im)))))) (pow.f64 x.im 6))) (+.f64 (*.f64 1/2 (/.f64 (*.f64 (pow.f64 x.re 2) (*.f64 (cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 -1 (*.f64 (log.f64 (/.f64 1 x.im)) y.im)))) y.im)) (pow.f64 x.im 2))) (+.f64 (*.f64 -1/4 (/.f64 (*.f64 (pow.f64 x.re 4) (*.f64 (cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 -1 (*.f64 (log.f64 (/.f64 1 x.im)) y.im)))) y.im)) (pow.f64 x.im 4))) (sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 -1 (*.f64 (log.f64 (/.f64 1 x.im)) y.im)))))))))
(+.f64 (*.f64 (cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 (log.f64 (/.f64 1 x.im)) (*.f64 y.im -1)))) (/.f64 (+.f64 (*.f64 (pow.f64 x.re 6) (*.f64 (pow.f64 y.im 3) -1/48)) (*.f64 (+.f64 (*.f64 (pow.f64 x.re 6) 90) (*.f64 (pow.f64 x.re 6) 30)) (*.f64 y.im 1/720))) (pow.f64 x.im 6))) (+.f64 (+.f64 (*.f64 1/2 (*.f64 (*.f64 y.im (cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 (log.f64 (/.f64 1 x.im)) (*.f64 y.im -1))))) (/.f64 (pow.f64 x.re 2) (pow.f64 x.im 2)))) (+.f64 (+.f64 (sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 (log.f64 (/.f64 1 x.im)) (*.f64 y.im -1)))) (*.f64 -1/4 (*.f64 (*.f64 y.im (cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 (log.f64 (/.f64 1 x.im)) (*.f64 y.im -1))))) (/.f64 (pow.f64 x.re 4) (pow.f64 x.im 4))))) (*.f64 1/8 (*.f64 (*.f64 (pow.f64 y.im 2) (sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 (log.f64 (/.f64 1 x.im)) (*.f64 y.im -1))))) (/.f64 (pow.f64 x.re 6) (pow.f64 x.im 6)))))) (*.f64 -1/8 (*.f64 (*.f64 (pow.f64 y.im 2) (sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 (log.f64 (/.f64 1 x.im)) (*.f64 y.im -1))))) (/.f64 (pow.f64 x.re 4) (pow.f64 x.im 4))))))
(+.f64 (*.f64 -1/8 (*.f64 (*.f64 (pow.f64 y.im 2) (sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 (log.f64 (/.f64 1 x.im)) (neg.f64 y.im))))) (/.f64 (pow.f64 x.re 4) (pow.f64 x.im 4)))) (+.f64 (*.f64 1/2 (*.f64 (pow.f64 x.re 2) (/.f64 (*.f64 y.im (cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 (log.f64 (/.f64 1 x.im)) (neg.f64 y.im))))) (pow.f64 x.im 2)))) (+.f64 (+.f64 (+.f64 (sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 (log.f64 (/.f64 1 x.im)) (neg.f64 y.im)))) (*.f64 (*.f64 y.im (cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 (log.f64 (/.f64 1 x.im)) (neg.f64 y.im))))) (*.f64 (/.f64 (pow.f64 x.re 4) (pow.f64 x.im 4)) -1/4))) (*.f64 (*.f64 (pow.f64 y.im 2) (sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 (log.f64 (/.f64 1 x.im)) (neg.f64 y.im))))) (*.f64 (/.f64 (pow.f64 x.re 6) (pow.f64 x.im 6)) 1/8))) (*.f64 (cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 (log.f64 (/.f64 1 x.im)) (neg.f64 y.im)))) (/.f64 (+.f64 (*.f64 (pow.f64 x.re 6) (*.f64 -1/48 (pow.f64 y.im 3))) (*.f64 (*.f64 (pow.f64 x.re 6) 120) (*.f64 y.im 1/720))) (pow.f64 x.im 6))))))
(+.f64 (*.f64 (pow.f64 x.re 4) (*.f64 (*.f64 (sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 (log.f64 (/.f64 1 x.im)) (neg.f64 y.im)))) (/.f64 (pow.f64 y.im 2) (pow.f64 x.im 4))) -1/8)) (+.f64 (+.f64 (sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 (log.f64 (/.f64 1 x.im)) (neg.f64 y.im)))) (+.f64 (*.f64 1/2 (*.f64 y.im (*.f64 (cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 (log.f64 (/.f64 1 x.im)) (neg.f64 y.im)))) (/.f64 (pow.f64 x.re 2) (pow.f64 x.im 2))))) (*.f64 -1/4 (*.f64 y.im (*.f64 (cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 (log.f64 (/.f64 1 x.im)) (neg.f64 y.im)))) (/.f64 (pow.f64 x.re 4) (pow.f64 x.im 4))))))) (+.f64 (*.f64 (cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 (log.f64 (/.f64 1 x.im)) (neg.f64 y.im)))) (/.f64 (+.f64 (*.f64 (pow.f64 x.re 6) (*.f64 -1/48 (pow.f64 y.im 3))) (*.f64 y.im (*.f64 (pow.f64 x.re 6) 1/6))) (pow.f64 x.im 6))) (*.f64 1/8 (*.f64 (sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 (log.f64 (/.f64 1 x.im)) (neg.f64 y.im)))) (*.f64 (pow.f64 y.im 2) (/.f64 (pow.f64 x.re 6) (pow.f64 x.im 6))))))))
(+.f64 (*.f64 (cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 (log.f64 (/.f64 1 x.im)) (neg.f64 y.im)))) (/.f64 (*.f64 (pow.f64 x.re 6) (+.f64 (*.f64 -1/48 (pow.f64 y.im 3)) (*.f64 120 (*.f64 y.im 1/720)))) (pow.f64 x.im 6))) (+.f64 (+.f64 (sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 (log.f64 (/.f64 1 x.im)) (neg.f64 y.im)))) (*.f64 (*.f64 y.im (cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 (log.f64 (/.f64 1 x.im)) (neg.f64 y.im))))) (+.f64 (*.f64 -1/4 (/.f64 (pow.f64 x.re 4) (pow.f64 x.im 4))) (*.f64 1/2 (/.f64 (pow.f64 x.re 2) (pow.f64 x.im 2)))))) (*.f64 (*.f64 (pow.f64 y.im 2) (sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 (log.f64 (/.f64 1 x.im)) (neg.f64 y.im))))) (+.f64 (*.f64 -1/8 (/.f64 (pow.f64 x.re 4) (pow.f64 x.im 4))) (*.f64 1/8 (/.f64 (pow.f64 x.re 6) (pow.f64 x.im 6)))))))
(sin.f64 (+.f64 (*.f64 -1 (*.f64 (log.f64 (/.f64 -1 x.im)) y.im)) (*.f64 y.re (atan2.f64 x.im x.re))))
(sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 (log.f64 (/.f64 -1 x.im)) (*.f64 y.im -1))))
(sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 (log.f64 (/.f64 -1 x.im)) (neg.f64 y.im))))
(sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (neg.f64 (log.f64 (/.f64 -1 x.im))))))
(+.f64 (sin.f64 (+.f64 (*.f64 -1 (*.f64 (log.f64 (/.f64 -1 x.im)) y.im)) (*.f64 y.re (atan2.f64 x.im x.re)))) (*.f64 1/2 (/.f64 (*.f64 (pow.f64 x.re 2) (*.f64 (cos.f64 (+.f64 (*.f64 -1 (*.f64 (log.f64 (/.f64 -1 x.im)) y.im)) (*.f64 y.re (atan2.f64 x.im x.re)))) y.im)) (pow.f64 x.im 2))))
(+.f64 (sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 (log.f64 (/.f64 -1 x.im)) (*.f64 y.im -1)))) (*.f64 1/2 (*.f64 (*.f64 y.im (cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 (log.f64 (/.f64 -1 x.im)) (*.f64 y.im -1))))) (/.f64 (pow.f64 x.re 2) (pow.f64 x.im 2)))))
(+.f64 (sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 (log.f64 (/.f64 -1 x.im)) (neg.f64 y.im)))) (*.f64 1/2 (*.f64 (pow.f64 x.re 2) (/.f64 (*.f64 y.im (cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 (log.f64 (/.f64 -1 x.im)) (neg.f64 y.im))))) (pow.f64 x.im 2)))))
(+.f64 (sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (neg.f64 (log.f64 (/.f64 -1 x.im)))))) (*.f64 1/2 (*.f64 y.im (*.f64 (cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (neg.f64 (log.f64 (/.f64 -1 x.im)))))) (/.f64 (pow.f64 x.re 2) (pow.f64 x.im 2))))))
(+.f64 (sin.f64 (+.f64 (*.f64 -1 (*.f64 (log.f64 (/.f64 -1 x.im)) y.im)) (*.f64 y.re (atan2.f64 x.im x.re)))) (+.f64 (*.f64 1/2 (/.f64 (*.f64 (pow.f64 x.re 2) (*.f64 (cos.f64 (+.f64 (*.f64 -1 (*.f64 (log.f64 (/.f64 -1 x.im)) y.im)) (*.f64 y.re (atan2.f64 x.im x.re)))) y.im)) (pow.f64 x.im 2))) (+.f64 (*.f64 -1/8 (/.f64 (*.f64 (sin.f64 (+.f64 (*.f64 -1 (*.f64 (log.f64 (/.f64 -1 x.im)) y.im)) (*.f64 y.re (atan2.f64 x.im x.re)))) (*.f64 (pow.f64 x.re 4) (pow.f64 y.im 2))) (pow.f64 x.im 4))) (*.f64 -1/4 (/.f64 (*.f64 (pow.f64 x.re 4) (*.f64 (cos.f64 (+.f64 (*.f64 -1 (*.f64 (log.f64 (/.f64 -1 x.im)) y.im)) (*.f64 y.re (atan2.f64 x.im x.re)))) y.im)) (pow.f64 x.im 4))))))
(+.f64 (sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 (log.f64 (/.f64 -1 x.im)) (*.f64 y.im -1)))) (+.f64 (*.f64 -1/8 (/.f64 (*.f64 (sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 (log.f64 (/.f64 -1 x.im)) (*.f64 y.im -1)))) (*.f64 (pow.f64 x.re 4) (pow.f64 y.im 2))) (pow.f64 x.im 4))) (+.f64 (*.f64 -1/4 (*.f64 (*.f64 y.im (cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 (log.f64 (/.f64 -1 x.im)) (*.f64 y.im -1))))) (/.f64 (pow.f64 x.re 4) (pow.f64 x.im 4)))) (*.f64 1/2 (*.f64 (*.f64 y.im (cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 (log.f64 (/.f64 -1 x.im)) (*.f64 y.im -1))))) (/.f64 (pow.f64 x.re 2) (pow.f64 x.im 2)))))))
(+.f64 (sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 (log.f64 (/.f64 -1 x.im)) (neg.f64 y.im)))) (+.f64 (*.f64 -1/8 (*.f64 (sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 (log.f64 (/.f64 -1 x.im)) (neg.f64 y.im)))) (/.f64 (*.f64 (pow.f64 x.re 4) (pow.f64 y.im 2)) (pow.f64 x.im 4)))) (+.f64 (*.f64 1/2 (*.f64 (pow.f64 x.re 2) (/.f64 (*.f64 y.im (cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 (log.f64 (/.f64 -1 x.im)) (neg.f64 y.im))))) (pow.f64 x.im 2)))) (*.f64 (*.f64 y.im (cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 (log.f64 (/.f64 -1 x.im)) (neg.f64 y.im))))) (*.f64 (/.f64 (pow.f64 x.re 4) (pow.f64 x.im 4)) -1/4)))))
(+.f64 (sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (neg.f64 (log.f64 (/.f64 -1 x.im)))))) (+.f64 (*.f64 1/2 (*.f64 y.im (*.f64 (cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (neg.f64 (log.f64 (/.f64 -1 x.im)))))) (/.f64 (pow.f64 x.re 2) (pow.f64 x.im 2))))) (+.f64 (*.f64 (sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (neg.f64 (log.f64 (/.f64 -1 x.im)))))) (*.f64 (*.f64 (pow.f64 x.re 4) (/.f64 (pow.f64 y.im 2) (pow.f64 x.im 4))) -1/8)) (*.f64 (pow.f64 x.re 4) (*.f64 (*.f64 (cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (neg.f64 (log.f64 (/.f64 -1 x.im)))))) (/.f64 y.im (pow.f64 x.im 4))) -1/4)))))
(+.f64 (sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (neg.f64 (log.f64 (/.f64 -1 x.im)))))) (+.f64 (*.f64 (sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (neg.f64 (log.f64 (/.f64 -1 x.im)))))) (*.f64 (*.f64 (pow.f64 y.im 2) (/.f64 (pow.f64 x.re 4) (pow.f64 x.im 4))) -1/8)) (*.f64 (*.f64 y.im (cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (neg.f64 (log.f64 (/.f64 -1 x.im))))))) (+.f64 (*.f64 -1/4 (/.f64 (pow.f64 x.re 4) (pow.f64 x.im 4))) (*.f64 1/2 (/.f64 (pow.f64 x.re 2) (pow.f64 x.im 2)))))))
(+.f64 (/.f64 (*.f64 (+.f64 (*.f64 -1/48 (*.f64 (pow.f64 x.re 6) (pow.f64 y.im 3))) (*.f64 1/720 (*.f64 (+.f64 (*.f64 90 (pow.f64 x.re 6)) (*.f64 30 (pow.f64 x.re 6))) y.im))) (cos.f64 (+.f64 (*.f64 -1 (*.f64 (log.f64 (/.f64 -1 x.im)) y.im)) (*.f64 y.re (atan2.f64 x.im x.re))))) (pow.f64 x.im 6)) (+.f64 (sin.f64 (+.f64 (*.f64 -1 (*.f64 (log.f64 (/.f64 -1 x.im)) y.im)) (*.f64 y.re (atan2.f64 x.im x.re)))) (+.f64 (*.f64 1/2 (/.f64 (*.f64 (pow.f64 x.re 2) (*.f64 (cos.f64 (+.f64 (*.f64 -1 (*.f64 (log.f64 (/.f64 -1 x.im)) y.im)) (*.f64 y.re (atan2.f64 x.im x.re)))) y.im)) (pow.f64 x.im 2))) (+.f64 (*.f64 -1/8 (/.f64 (*.f64 (sin.f64 (+.f64 (*.f64 -1 (*.f64 (log.f64 (/.f64 -1 x.im)) y.im)) (*.f64 y.re (atan2.f64 x.im x.re)))) (*.f64 (pow.f64 x.re 4) (pow.f64 y.im 2))) (pow.f64 x.im 4))) (+.f64 (*.f64 1/8 (/.f64 (*.f64 (sin.f64 (+.f64 (*.f64 -1 (*.f64 (log.f64 (/.f64 -1 x.im)) y.im)) (*.f64 y.re (atan2.f64 x.im x.re)))) (*.f64 (pow.f64 x.re 6) (pow.f64 y.im 2))) (pow.f64 x.im 6))) (*.f64 -1/4 (/.f64 (*.f64 (pow.f64 x.re 4) (*.f64 (cos.f64 (+.f64 (*.f64 -1 (*.f64 (log.f64 (/.f64 -1 x.im)) y.im)) (*.f64 y.re (atan2.f64 x.im x.re)))) y.im)) (pow.f64 x.im 4))))))))
(+.f64 (sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 (log.f64 (/.f64 -1 x.im)) (*.f64 y.im -1)))) (+.f64 (+.f64 (*.f64 1/2 (*.f64 (*.f64 y.im (cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 (log.f64 (/.f64 -1 x.im)) (*.f64 y.im -1))))) (/.f64 (pow.f64 x.re 2) (pow.f64 x.im 2)))) (+.f64 (*.f64 1/8 (*.f64 (*.f64 (pow.f64 y.im 2) (pow.f64 x.re 6)) (/.f64 (sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 (log.f64 (/.f64 -1 x.im)) (*.f64 y.im -1)))) (pow.f64 x.im 6)))) (+.f64 (*.f64 -1/8 (/.f64 (*.f64 (sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 (log.f64 (/.f64 -1 x.im)) (*.f64 y.im -1)))) (*.f64 (pow.f64 x.re 4) (pow.f64 y.im 2))) (pow.f64 x.im 4))) (*.f64 -1/4 (*.f64 (*.f64 y.im (cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 (log.f64 (/.f64 -1 x.im)) (*.f64 y.im -1))))) (/.f64 (pow.f64 x.re 4) (pow.f64 x.im 4))))))) (*.f64 (cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 (log.f64 (/.f64 -1 x.im)) (*.f64 y.im -1)))) (/.f64 (+.f64 (*.f64 (pow.f64 x.re 6) (*.f64 (pow.f64 y.im 3) -1/48)) (*.f64 (+.f64 (*.f64 (pow.f64 x.re 6) 90) (*.f64 (pow.f64 x.re 6) 30)) (*.f64 y.im 1/720))) (pow.f64 x.im 6)))))
(+.f64 (+.f64 (*.f64 -1/8 (*.f64 (sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 (log.f64 (/.f64 -1 x.im)) (neg.f64 y.im)))) (/.f64 (*.f64 (pow.f64 x.re 4) (pow.f64 y.im 2)) (pow.f64 x.im 4)))) (+.f64 (*.f64 1/2 (*.f64 (pow.f64 x.re 2) (/.f64 (*.f64 y.im (cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 (log.f64 (/.f64 -1 x.im)) (neg.f64 y.im))))) (pow.f64 x.im 2)))) (+.f64 (*.f64 (*.f64 y.im (cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 (log.f64 (/.f64 -1 x.im)) (neg.f64 y.im))))) (*.f64 (/.f64 (pow.f64 x.re 4) (pow.f64 x.im 4)) -1/4)) (*.f64 1/8 (*.f64 (sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 (log.f64 (/.f64 -1 x.im)) (neg.f64 y.im)))) (/.f64 (*.f64 (pow.f64 y.im 2) (pow.f64 x.re 6)) (pow.f64 x.im 6))))))) (+.f64 (*.f64 (+.f64 (*.f64 (pow.f64 x.re 6) (*.f64 -1/48 (pow.f64 y.im 3))) (*.f64 (*.f64 (pow.f64 x.re 6) 120) (*.f64 y.im 1/720))) (/.f64 (cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 (log.f64 (/.f64 -1 x.im)) (neg.f64 y.im)))) (pow.f64 x.im 6))) (sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 (log.f64 (/.f64 -1 x.im)) (neg.f64 y.im))))))
(+.f64 (*.f64 1/2 (*.f64 y.im (*.f64 (cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (neg.f64 (log.f64 (/.f64 -1 x.im)))))) (/.f64 (pow.f64 x.re 2) (pow.f64 x.im 2))))) (+.f64 (*.f64 (cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (neg.f64 (log.f64 (/.f64 -1 x.im)))))) (/.f64 (+.f64 (*.f64 (pow.f64 x.re 6) (*.f64 -1/48 (pow.f64 y.im 3))) (*.f64 y.im (*.f64 (pow.f64 x.re 6) 1/6))) (pow.f64 x.im 6))) (+.f64 (sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (neg.f64 (log.f64 (/.f64 -1 x.im)))))) (+.f64 (*.f64 (sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (neg.f64 (log.f64 (/.f64 -1 x.im)))))) (*.f64 (*.f64 (pow.f64 x.re 4) (/.f64 (pow.f64 y.im 2) (pow.f64 x.im 4))) -1/8)) (+.f64 (*.f64 (pow.f64 x.re 4) (*.f64 (*.f64 (cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (neg.f64 (log.f64 (/.f64 -1 x.im)))))) (/.f64 y.im (pow.f64 x.im 4))) -1/4)) (*.f64 1/8 (*.f64 (pow.f64 x.re 6) (*.f64 (pow.f64 y.im 2) (/.f64 (sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (neg.f64 (log.f64 (/.f64 -1 x.im)))))) (pow.f64 x.im 6))))))))))
(+.f64 (+.f64 (*.f64 (sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (neg.f64 (log.f64 (/.f64 -1 x.im)))))) (*.f64 (*.f64 (pow.f64 y.im 2) (/.f64 (pow.f64 x.re 4) (pow.f64 x.im 4))) -1/8)) (+.f64 (*.f64 (sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (neg.f64 (log.f64 (/.f64 -1 x.im)))))) (*.f64 (*.f64 (pow.f64 y.im 2) (/.f64 (pow.f64 x.re 6) (pow.f64 x.im 6))) 1/8)) (*.f64 (*.f64 y.im (cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (neg.f64 (log.f64 (/.f64 -1 x.im))))))) (+.f64 (*.f64 -1/4 (/.f64 (pow.f64 x.re 4) (pow.f64 x.im 4))) (*.f64 1/2 (/.f64 (pow.f64 x.re 2) (pow.f64 x.im 2))))))) (+.f64 (sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (neg.f64 (log.f64 (/.f64 -1 x.im)))))) (*.f64 (cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (neg.f64 (log.f64 (/.f64 -1 x.im)))))) (/.f64 (*.f64 (pow.f64 x.re 6) (+.f64 (*.f64 -1/48 (pow.f64 y.im 3)) (*.f64 120 (*.f64 y.im 1/720)))) (pow.f64 x.im 6)))))
(sin.f64 (*.f64 y.re (atan2.f64 x.im x.re)))
(+.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (*.f64 y.im (*.f64 (log.f64 (sqrt.f64 (+.f64 (pow.f64 x.im 2) (pow.f64 x.re 2)))) (cos.f64 (*.f64 y.re (atan2.f64 x.im x.re))))))
(+.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (*.f64 y.im (*.f64 (log.f64 (sqrt.f64 (+.f64 (pow.f64 x.re 2) (pow.f64 x.im 2)))) (cos.f64 (*.f64 y.re (atan2.f64 x.im x.re))))))
(+.f64 (*.f64 -1/2 (*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (*.f64 (pow.f64 y.im 2) (pow.f64 (log.f64 (sqrt.f64 (+.f64 (pow.f64 x.im 2) (pow.f64 x.re 2)))) 2)))) (+.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (*.f64 y.im (*.f64 (log.f64 (sqrt.f64 (+.f64 (pow.f64 x.im 2) (pow.f64 x.re 2)))) (cos.f64 (*.f64 y.re (atan2.f64 x.im x.re)))))))
(+.f64 (+.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (*.f64 y.im (*.f64 (log.f64 (sqrt.f64 (+.f64 (pow.f64 x.re 2) (pow.f64 x.im 2)))) (cos.f64 (*.f64 y.re (atan2.f64 x.im x.re)))))) (*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (*.f64 (*.f64 (pow.f64 y.im 2) (pow.f64 (log.f64 (sqrt.f64 (+.f64 (pow.f64 x.re 2) (pow.f64 x.im 2)))) 2)) -1/2)))
(+.f64 (*.f64 y.im (*.f64 (log.f64 (sqrt.f64 (+.f64 (pow.f64 x.re 2) (pow.f64 x.im 2)))) (cos.f64 (*.f64 y.re (atan2.f64 x.im x.re))))) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 (log.f64 (sqrt.f64 (+.f64 (pow.f64 x.re 2) (pow.f64 x.im 2)))) 2) (*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (pow.f64 y.im 2)))) (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re)))))
(+.f64 (+.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (*.f64 y.im (*.f64 (log.f64 (sqrt.f64 (+.f64 (pow.f64 x.re 2) (pow.f64 x.im 2)))) (cos.f64 (*.f64 y.re (atan2.f64 x.im x.re)))))) (*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (*.f64 -1/2 (*.f64 (pow.f64 y.im 2) (pow.f64 (log.f64 (sqrt.f64 (+.f64 (pow.f64 x.re 2) (pow.f64 x.im 2)))) 2)))))
(+.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (+.f64 (*.f64 y.im (*.f64 (log.f64 (sqrt.f64 (+.f64 (pow.f64 x.re 2) (pow.f64 x.im 2)))) (cos.f64 (*.f64 y.re (atan2.f64 x.im x.re))))) (*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (*.f64 -1/2 (*.f64 (pow.f64 y.im 2) (pow.f64 (log.f64 (sqrt.f64 (+.f64 (pow.f64 x.re 2) (pow.f64 x.im 2)))) 2))))))
(+.f64 (*.f64 -1/2 (*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (*.f64 (pow.f64 y.im 2) (pow.f64 (log.f64 (sqrt.f64 (+.f64 (pow.f64 x.im 2) (pow.f64 x.re 2)))) 2)))) (+.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (+.f64 (*.f64 -1/6 (*.f64 (pow.f64 y.im 3) (*.f64 (pow.f64 (log.f64 (sqrt.f64 (+.f64 (pow.f64 x.im 2) (pow.f64 x.re 2)))) 3) (cos.f64 (*.f64 y.re (atan2.f64 x.im x.re)))))) (*.f64 y.im (*.f64 (log.f64 (sqrt.f64 (+.f64 (pow.f64 x.im 2) (pow.f64 x.re 2)))) (cos.f64 (*.f64 y.re (atan2.f64 x.im x.re))))))))
(+.f64 (*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (*.f64 (*.f64 (pow.f64 y.im 2) (pow.f64 (log.f64 (sqrt.f64 (+.f64 (pow.f64 x.re 2) (pow.f64 x.im 2)))) 2)) -1/2)) (+.f64 (*.f64 -1/6 (*.f64 (pow.f64 (log.f64 (sqrt.f64 (+.f64 (pow.f64 x.re 2) (pow.f64 x.im 2)))) 3) (*.f64 (cos.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (pow.f64 y.im 3)))) (+.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (*.f64 y.im (*.f64 (log.f64 (sqrt.f64 (+.f64 (pow.f64 x.re 2) (pow.f64 x.im 2)))) (cos.f64 (*.f64 y.re (atan2.f64 x.im x.re))))))))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 (log.f64 (sqrt.f64 (+.f64 (pow.f64 x.re 2) (pow.f64 x.im 2)))) 2) (*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (pow.f64 y.im 2)))) (+.f64 (*.f64 y.im (*.f64 (log.f64 (sqrt.f64 (+.f64 (pow.f64 x.re 2) (pow.f64 x.im 2)))) (cos.f64 (*.f64 y.re (atan2.f64 x.im x.re))))) (+.f64 (*.f64 -1/6 (*.f64 (pow.f64 (log.f64 (sqrt.f64 (+.f64 (pow.f64 x.re 2) (pow.f64 x.im 2)))) 3) (*.f64 (pow.f64 y.im 3) (cos.f64 (*.f64 y.re (atan2.f64 x.im x.re)))))) (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))))))
(+.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (+.f64 (*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (*.f64 -1/2 (*.f64 (pow.f64 y.im 2) (pow.f64 (log.f64 (sqrt.f64 (+.f64 (pow.f64 x.re 2) (pow.f64 x.im 2)))) 2)))) (+.f64 (*.f64 y.im (*.f64 (log.f64 (sqrt.f64 (+.f64 (pow.f64 x.re 2) (pow.f64 x.im 2)))) (cos.f64 (*.f64 y.re (atan2.f64 x.im x.re))))) (*.f64 (pow.f64 y.im 3) (*.f64 (cos.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (*.f64 (pow.f64 (log.f64 (sqrt.f64 (+.f64 (pow.f64 x.re 2) (pow.f64 x.im 2)))) 3) -1/6))))))
(+.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (+.f64 (*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (*.f64 -1/2 (*.f64 (pow.f64 y.im 2) (pow.f64 (log.f64 (sqrt.f64 (+.f64 (pow.f64 x.re 2) (pow.f64 x.im 2)))) 2)))) (*.f64 (cos.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (+.f64 (*.f64 y.im (log.f64 (sqrt.f64 (+.f64 (pow.f64 x.re 2) (pow.f64 x.im 2))))) (*.f64 (*.f64 (pow.f64 y.im 3) (pow.f64 (log.f64 (sqrt.f64 (+.f64 (pow.f64 x.re 2) (pow.f64 x.im 2)))) 3)) -1/6)))))
(sin.f64 (+.f64 (*.f64 y.im (log.f64 (sqrt.f64 (+.f64 (pow.f64 x.im 2) (pow.f64 x.re 2))))) (*.f64 y.re (atan2.f64 x.im x.re))))
(sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 (sqrt.f64 (+.f64 (pow.f64 x.re 2) (pow.f64 x.im 2)))))))
(sin.f64 (+.f64 (*.f64 y.im (log.f64 (sqrt.f64 (+.f64 (pow.f64 x.im 2) (pow.f64 x.re 2))))) (*.f64 y.re (atan2.f64 x.im x.re))))
(sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 (sqrt.f64 (+.f64 (pow.f64 x.re 2) (pow.f64 x.im 2)))))))
(sin.f64 (+.f64 (*.f64 y.im (log.f64 (sqrt.f64 (+.f64 (pow.f64 x.im 2) (pow.f64 x.re 2))))) (*.f64 y.re (atan2.f64 x.im x.re))))
(sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 (sqrt.f64 (+.f64 (pow.f64 x.re 2) (pow.f64 x.im 2)))))))
(sin.f64 (+.f64 (*.f64 y.im (log.f64 (sqrt.f64 (+.f64 (pow.f64 x.im 2) (pow.f64 x.re 2))))) (*.f64 y.re (atan2.f64 x.im x.re))))
(sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 (sqrt.f64 (+.f64 (pow.f64 x.re 2) (pow.f64 x.im 2)))))))
(sin.f64 (+.f64 (*.f64 y.im (log.f64 (sqrt.f64 (+.f64 (pow.f64 x.im 2) (pow.f64 x.re 2))))) (*.f64 y.re (atan2.f64 x.im x.re))))
(sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 (sqrt.f64 (+.f64 (pow.f64 x.re 2) (pow.f64 x.im 2)))))))
(sin.f64 (+.f64 (*.f64 y.im (log.f64 (sqrt.f64 (+.f64 (pow.f64 x.im 2) (pow.f64 x.re 2))))) (*.f64 y.re (atan2.f64 x.im x.re))))
(sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 (sqrt.f64 (+.f64 (pow.f64 x.re 2) (pow.f64 x.im 2)))))))
(sin.f64 (+.f64 (*.f64 y.im (log.f64 (sqrt.f64 (+.f64 (pow.f64 x.im 2) (pow.f64 x.re 2))))) (*.f64 y.re (atan2.f64 x.im x.re))))
(sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 (sqrt.f64 (+.f64 (pow.f64 x.re 2) (pow.f64 x.im 2)))))))
(sin.f64 (+.f64 (*.f64 y.im (log.f64 (sqrt.f64 (+.f64 (pow.f64 x.im 2) (pow.f64 x.re 2))))) (*.f64 y.re (atan2.f64 x.im x.re))))
(sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 (sqrt.f64 (+.f64 (pow.f64 x.re 2) (pow.f64 x.im 2)))))))
(sin.f64 (*.f64 y.im (log.f64 (sqrt.f64 (+.f64 (pow.f64 x.im 2) (pow.f64 x.re 2))))))
(sin.f64 (*.f64 y.im (log.f64 (sqrt.f64 (+.f64 (pow.f64 x.re 2) (pow.f64 x.im 2))))))
(+.f64 (sin.f64 (*.f64 y.im (log.f64 (sqrt.f64 (+.f64 (pow.f64 x.im 2) (pow.f64 x.re 2)))))) (*.f64 y.re (*.f64 (atan2.f64 x.im x.re) (cos.f64 (*.f64 y.im (log.f64 (sqrt.f64 (+.f64 (pow.f64 x.im 2) (pow.f64 x.re 2)))))))))
(+.f64 (sin.f64 (*.f64 y.im (log.f64 (sqrt.f64 (+.f64 (pow.f64 x.re 2) (pow.f64 x.im 2)))))) (*.f64 y.re (*.f64 (atan2.f64 x.im x.re) (cos.f64 (*.f64 y.im (log.f64 (sqrt.f64 (+.f64 (pow.f64 x.re 2) (pow.f64 x.im 2)))))))))
(+.f64 (sin.f64 (*.f64 y.im (log.f64 (sqrt.f64 (+.f64 (pow.f64 x.re 2) (pow.f64 x.im 2)))))) (*.f64 (cos.f64 (*.f64 y.im (log.f64 (sqrt.f64 (+.f64 (pow.f64 x.re 2) (pow.f64 x.im 2)))))) (*.f64 y.re (atan2.f64 x.im x.re))))
(+.f64 (sin.f64 (*.f64 y.im (log.f64 (sqrt.f64 (+.f64 (pow.f64 x.re 2) (pow.f64 x.im 2)))))) (*.f64 (atan2.f64 x.im x.re) (*.f64 y.re (cos.f64 (*.f64 y.im (log.f64 (sqrt.f64 (+.f64 (pow.f64 x.re 2) (pow.f64 x.im 2)))))))))
(+.f64 (*.f64 -1/2 (*.f64 (sin.f64 (*.f64 y.im (log.f64 (sqrt.f64 (+.f64 (pow.f64 x.im 2) (pow.f64 x.re 2)))))) (*.f64 (pow.f64 y.re 2) (pow.f64 (atan2.f64 x.im x.re) 2)))) (+.f64 (sin.f64 (*.f64 y.im (log.f64 (sqrt.f64 (+.f64 (pow.f64 x.im 2) (pow.f64 x.re 2)))))) (*.f64 y.re (*.f64 (atan2.f64 x.im x.re) (cos.f64 (*.f64 y.im (log.f64 (sqrt.f64 (+.f64 (pow.f64 x.im 2) (pow.f64 x.re 2))))))))))
(+.f64 (sin.f64 (*.f64 y.im (log.f64 (sqrt.f64 (+.f64 (pow.f64 x.re 2) (pow.f64 x.im 2)))))) (+.f64 (*.f64 y.re (*.f64 (atan2.f64 x.im x.re) (cos.f64 (*.f64 y.im (log.f64 (sqrt.f64 (+.f64 (pow.f64 x.re 2) (pow.f64 x.im 2)))))))) (*.f64 -1/2 (*.f64 (sin.f64 (*.f64 y.im (log.f64 (sqrt.f64 (+.f64 (pow.f64 x.re 2) (pow.f64 x.im 2)))))) (*.f64 (pow.f64 y.re 2) (pow.f64 (atan2.f64 x.im x.re) 2))))))
(+.f64 (*.f64 (cos.f64 (*.f64 y.im (log.f64 (sqrt.f64 (+.f64 (pow.f64 x.re 2) (pow.f64 x.im 2)))))) (*.f64 y.re (atan2.f64 x.im x.re))) (+.f64 (*.f64 -1/2 (*.f64 (sin.f64 (*.f64 y.im (log.f64 (sqrt.f64 (+.f64 (pow.f64 x.re 2) (pow.f64 x.im 2)))))) (*.f64 (pow.f64 y.re 2) (pow.f64 (atan2.f64 x.im x.re) 2)))) (sin.f64 (*.f64 y.im (log.f64 (sqrt.f64 (+.f64 (pow.f64 x.re 2) (pow.f64 x.im 2))))))))
(+.f64 (+.f64 (sin.f64 (*.f64 y.im (log.f64 (sqrt.f64 (+.f64 (pow.f64 x.re 2) (pow.f64 x.im 2)))))) (*.f64 y.re (*.f64 (atan2.f64 x.im x.re) (cos.f64 (*.f64 y.im (log.f64 (sqrt.f64 (+.f64 (pow.f64 x.re 2) (pow.f64 x.im 2))))))))) (*.f64 -1/2 (*.f64 (sin.f64 (*.f64 y.im (log.f64 (sqrt.f64 (+.f64 (pow.f64 x.re 2) (pow.f64 x.im 2)))))) (*.f64 (pow.f64 y.re 2) (pow.f64 (atan2.f64 x.im x.re) 2)))))
(+.f64 (+.f64 (sin.f64 (*.f64 y.im (log.f64 (sqrt.f64 (+.f64 (pow.f64 x.re 2) (pow.f64 x.im 2)))))) (*.f64 (atan2.f64 x.im x.re) (*.f64 y.re (cos.f64 (*.f64 y.im (log.f64 (sqrt.f64 (+.f64 (pow.f64 x.re 2) (pow.f64 x.im 2))))))))) (*.f64 -1/2 (*.f64 (sin.f64 (*.f64 y.im (log.f64 (sqrt.f64 (+.f64 (pow.f64 x.re 2) (pow.f64 x.im 2)))))) (*.f64 (pow.f64 y.re 2) (pow.f64 (atan2.f64 x.im x.re) 2)))))
(+.f64 (*.f64 -1/2 (*.f64 (sin.f64 (*.f64 y.im (log.f64 (sqrt.f64 (+.f64 (pow.f64 x.im 2) (pow.f64 x.re 2)))))) (*.f64 (pow.f64 y.re 2) (pow.f64 (atan2.f64 x.im x.re) 2)))) (+.f64 (*.f64 -1/6 (*.f64 (pow.f64 y.re 3) (*.f64 (pow.f64 (atan2.f64 x.im x.re) 3) (cos.f64 (*.f64 y.im (log.f64 (sqrt.f64 (+.f64 (pow.f64 x.im 2) (pow.f64 x.re 2))))))))) (+.f64 (sin.f64 (*.f64 y.im (log.f64 (sqrt.f64 (+.f64 (pow.f64 x.im 2) (pow.f64 x.re 2)))))) (*.f64 y.re (*.f64 (atan2.f64 x.im x.re) (cos.f64 (*.f64 y.im (log.f64 (sqrt.f64 (+.f64 (pow.f64 x.im 2) (pow.f64 x.re 2)))))))))))
(+.f64 (*.f64 -1/2 (*.f64 (sin.f64 (*.f64 y.im (log.f64 (sqrt.f64 (+.f64 (pow.f64 x.re 2) (pow.f64 x.im 2)))))) (*.f64 (pow.f64 y.re 2) (pow.f64 (atan2.f64 x.im x.re) 2)))) (+.f64 (sin.f64 (*.f64 y.im (log.f64 (sqrt.f64 (+.f64 (pow.f64 x.re 2) (pow.f64 x.im 2)))))) (+.f64 (*.f64 y.re (*.f64 (atan2.f64 x.im x.re) (cos.f64 (*.f64 y.im (log.f64 (sqrt.f64 (+.f64 (pow.f64 x.re 2) (pow.f64 x.im 2)))))))) (*.f64 (pow.f64 y.re 3) (*.f64 (*.f64 (cos.f64 (*.f64 y.im (log.f64 (sqrt.f64 (+.f64 (pow.f64 x.re 2) (pow.f64 x.im 2)))))) (pow.f64 (atan2.f64 x.im x.re) 3)) -1/6)))))
(+.f64 (sin.f64 (*.f64 y.im (log.f64 (sqrt.f64 (+.f64 (pow.f64 x.re 2) (pow.f64 x.im 2)))))) (+.f64 (+.f64 (*.f64 (cos.f64 (*.f64 y.im (log.f64 (sqrt.f64 (+.f64 (pow.f64 x.re 2) (pow.f64 x.im 2)))))) (*.f64 y.re (atan2.f64 x.im x.re))) (*.f64 -1/6 (*.f64 (cos.f64 (*.f64 y.im (log.f64 (sqrt.f64 (+.f64 (pow.f64 x.re 2) (pow.f64 x.im 2)))))) (*.f64 (pow.f64 (atan2.f64 x.im x.re) 3) (pow.f64 y.re 3))))) (*.f64 -1/2 (*.f64 (sin.f64 (*.f64 y.im (log.f64 (sqrt.f64 (+.f64 (pow.f64 x.re 2) (pow.f64 x.im 2)))))) (*.f64 (pow.f64 y.re 2) (pow.f64 (atan2.f64 x.im x.re) 2))))))
(+.f64 (sin.f64 (*.f64 y.im (log.f64 (sqrt.f64 (+.f64 (pow.f64 x.re 2) (pow.f64 x.im 2)))))) (+.f64 (*.f64 -1/2 (*.f64 (sin.f64 (*.f64 y.im (log.f64 (sqrt.f64 (+.f64 (pow.f64 x.re 2) (pow.f64 x.im 2)))))) (*.f64 (pow.f64 y.re 2) (pow.f64 (atan2.f64 x.im x.re) 2)))) (+.f64 (*.f64 y.re (*.f64 (atan2.f64 x.im x.re) (cos.f64 (*.f64 y.im (log.f64 (sqrt.f64 (+.f64 (pow.f64 x.re 2) (pow.f64 x.im 2)))))))) (*.f64 -1/6 (*.f64 (cos.f64 (*.f64 y.im (log.f64 (sqrt.f64 (+.f64 (pow.f64 x.re 2) (pow.f64 x.im 2)))))) (*.f64 (pow.f64 y.re 3) (pow.f64 (atan2.f64 x.im x.re) 3)))))))
(+.f64 (sin.f64 (*.f64 y.im (log.f64 (sqrt.f64 (+.f64 (pow.f64 x.re 2) (pow.f64 x.im 2)))))) (+.f64 (*.f64 -1/2 (*.f64 (sin.f64 (*.f64 y.im (log.f64 (sqrt.f64 (+.f64 (pow.f64 x.re 2) (pow.f64 x.im 2)))))) (*.f64 (pow.f64 y.re 2) (pow.f64 (atan2.f64 x.im x.re) 2)))) (*.f64 (cos.f64 (*.f64 y.im (log.f64 (sqrt.f64 (+.f64 (pow.f64 x.re 2) (pow.f64 x.im 2)))))) (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 (*.f64 (pow.f64 y.re 3) (pow.f64 (atan2.f64 x.im x.re) 3)) -1/6)))))
(sin.f64 (+.f64 (*.f64 y.im (log.f64 (sqrt.f64 (+.f64 (pow.f64 x.im 2) (pow.f64 x.re 2))))) (*.f64 y.re (atan2.f64 x.im x.re))))
(sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 (sqrt.f64 (+.f64 (pow.f64 x.re 2) (pow.f64 x.im 2)))))))
(sin.f64 (+.f64 (*.f64 y.im (log.f64 (sqrt.f64 (+.f64 (pow.f64 x.im 2) (pow.f64 x.re 2))))) (*.f64 y.re (atan2.f64 x.im x.re))))
(sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 (sqrt.f64 (+.f64 (pow.f64 x.re 2) (pow.f64 x.im 2)))))))
(sin.f64 (+.f64 (*.f64 y.im (log.f64 (sqrt.f64 (+.f64 (pow.f64 x.im 2) (pow.f64 x.re 2))))) (*.f64 y.re (atan2.f64 x.im x.re))))
(sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 (sqrt.f64 (+.f64 (pow.f64 x.re 2) (pow.f64 x.im 2)))))))
(sin.f64 (+.f64 (*.f64 y.im (log.f64 (sqrt.f64 (+.f64 (pow.f64 x.im 2) (pow.f64 x.re 2))))) (*.f64 y.re (atan2.f64 x.im x.re))))
(sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 (sqrt.f64 (+.f64 (pow.f64 x.re 2) (pow.f64 x.im 2)))))))
(sin.f64 (+.f64 (*.f64 y.im (log.f64 (sqrt.f64 (+.f64 (pow.f64 x.im 2) (pow.f64 x.re 2))))) (*.f64 y.re (atan2.f64 x.im x.re))))
(sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 (sqrt.f64 (+.f64 (pow.f64 x.re 2) (pow.f64 x.im 2)))))))
(sin.f64 (+.f64 (*.f64 y.im (log.f64 (sqrt.f64 (+.f64 (pow.f64 x.im 2) (pow.f64 x.re 2))))) (*.f64 y.re (atan2.f64 x.im x.re))))
(sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 (sqrt.f64 (+.f64 (pow.f64 x.re 2) (pow.f64 x.im 2)))))))
(sin.f64 (+.f64 (*.f64 y.im (log.f64 (sqrt.f64 (+.f64 (pow.f64 x.im 2) (pow.f64 x.re 2))))) (*.f64 y.re (atan2.f64 x.im x.re))))
(sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 (sqrt.f64 (+.f64 (pow.f64 x.re 2) (pow.f64 x.im 2)))))))
(sin.f64 (+.f64 (*.f64 y.im (log.f64 (sqrt.f64 (+.f64 (pow.f64 x.im 2) (pow.f64 x.re 2))))) (*.f64 y.re (atan2.f64 x.im x.re))))
(sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 (sqrt.f64 (+.f64 (pow.f64 x.re 2) (pow.f64 x.im 2)))))))
x.im
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 x.re 2) x.im)) x.im)
(+.f64 x.im (*.f64 1/2 (/.f64 (pow.f64 x.re 2) x.im)))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 x.re 2) x.im)) (+.f64 (*.f64 -1/8 (/.f64 (pow.f64 x.re 4) (pow.f64 x.im 3))) x.im))
(+.f64 (*.f64 -1/8 (/.f64 (pow.f64 x.re 4) (pow.f64 x.im 3))) (+.f64 x.im (*.f64 1/2 (/.f64 (pow.f64 x.re 2) x.im))))
(+.f64 (+.f64 x.im (*.f64 1/2 (/.f64 (pow.f64 x.re 2) x.im))) (*.f64 -1/8 (/.f64 (pow.f64 x.re 4) (pow.f64 x.im 3))))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 x.re 2) x.im)) (+.f64 x.im (*.f64 -1/8 (/.f64 (pow.f64 x.re 4) (pow.f64 x.im 3)))))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 x.re 2) x.im)) (+.f64 (*.f64 -1/8 (/.f64 (pow.f64 x.re 4) (pow.f64 x.im 3))) (+.f64 x.im (*.f64 1/16 (/.f64 (pow.f64 x.re 6) (pow.f64 x.im 5))))))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 x.re 2) x.im)) (+.f64 x.im (+.f64 (*.f64 1/16 (/.f64 (pow.f64 x.re 6) (pow.f64 x.im 5))) (*.f64 -1/8 (/.f64 (pow.f64 x.re 4) (pow.f64 x.im 3))))))
(+.f64 (+.f64 x.im (*.f64 1/16 (/.f64 (pow.f64 x.re 6) (pow.f64 x.im 5)))) (+.f64 (*.f64 -1/8 (/.f64 (pow.f64 x.re 4) (pow.f64 x.im 3))) (*.f64 1/2 (/.f64 (pow.f64 x.re 2) x.im))))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 x.re 2) x.im)) (+.f64 x.im (+.f64 (*.f64 -1/8 (/.f64 (pow.f64 x.re 4) (pow.f64 x.im 3))) (*.f64 1/16 (/.f64 (pow.f64 x.re 6) (pow.f64 x.im 5))))))
(+.f64 (*.f64 -1/8 (/.f64 (pow.f64 x.re 4) (pow.f64 x.im 3))) (+.f64 x.im (+.f64 (*.f64 1/16 (/.f64 (pow.f64 x.re 6) (pow.f64 x.im 5))) (*.f64 1/2 (/.f64 (pow.f64 x.re 2) x.im)))))
x.re
(+.f64 x.re (*.f64 1/2 (/.f64 (pow.f64 x.im 2) x.re)))
(+.f64 (*.f64 -1/8 (/.f64 (pow.f64 x.im 4) (pow.f64 x.re 3))) (+.f64 x.re (*.f64 1/2 (/.f64 (pow.f64 x.im 2) x.re))))
(+.f64 (+.f64 x.re (*.f64 1/2 (/.f64 (pow.f64 x.im 2) x.re))) (*.f64 -1/8 (/.f64 (pow.f64 x.im 4) (pow.f64 x.re 3))))
(+.f64 x.re (+.f64 (*.f64 1/2 (/.f64 (pow.f64 x.im 2) x.re)) (*.f64 -1/8 (/.f64 (pow.f64 x.im 4) (pow.f64 x.re 3)))))
(+.f64 (*.f64 -1/8 (/.f64 (pow.f64 x.im 4) (pow.f64 x.re 3))) (+.f64 x.re (+.f64 (*.f64 1/2 (/.f64 (pow.f64 x.im 2) x.re)) (*.f64 1/16 (/.f64 (pow.f64 x.im 6) (pow.f64 x.re 5))))))
(+.f64 x.re (+.f64 (+.f64 (*.f64 1/2 (/.f64 (pow.f64 x.im 2) x.re)) (*.f64 1/16 (/.f64 (pow.f64 x.im 6) (pow.f64 x.re 5)))) (*.f64 -1/8 (/.f64 (pow.f64 x.im 4) (pow.f64 x.re 3)))))
(+.f64 x.re (+.f64 (*.f64 -1/8 (/.f64 (pow.f64 x.im 4) (pow.f64 x.re 3))) (+.f64 (*.f64 1/2 (/.f64 (pow.f64 x.im 2) x.re)) (*.f64 1/16 (/.f64 (pow.f64 x.im 6) (pow.f64 x.re 5))))))
(+.f64 x.re (+.f64 (*.f64 1/2 (/.f64 (pow.f64 x.im 2) x.re)) (+.f64 (*.f64 1/16 (/.f64 (pow.f64 x.im 6) (pow.f64 x.re 5))) (*.f64 -1/8 (/.f64 (pow.f64 x.im 4) (pow.f64 x.re 3))))))
(*.f64 -1 x.re)
(*.f64 x.re -1)
(neg.f64 x.re)
(+.f64 (*.f64 -1/2 (/.f64 (pow.f64 x.im 2) x.re)) (*.f64 -1 x.re))
(+.f64 (*.f64 x.re -1) (*.f64 -1/2 (/.f64 (pow.f64 x.im 2) x.re)))
(+.f64 (neg.f64 x.re) (*.f64 -1/2 (/.f64 (pow.f64 x.im 2) x.re)))
(+.f64 (*.f64 -1/2 (/.f64 (pow.f64 x.im 2) x.re)) (+.f64 (*.f64 -1 x.re) (*.f64 1/8 (/.f64 (pow.f64 x.im 4) (pow.f64 x.re 3)))))
(+.f64 (*.f64 x.re -1) (+.f64 (*.f64 1/8 (/.f64 (pow.f64 x.im 4) (pow.f64 x.re 3))) (*.f64 -1/2 (/.f64 (pow.f64 x.im 2) x.re))))
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 x.im 4) (pow.f64 x.re 3))) (+.f64 (neg.f64 x.re) (*.f64 -1/2 (/.f64 (pow.f64 x.im 2) x.re))))
(+.f64 (neg.f64 x.re) (+.f64 (*.f64 -1/2 (/.f64 (pow.f64 x.im 2) x.re)) (*.f64 1/8 (/.f64 (pow.f64 x.im 4) (pow.f64 x.re 3)))))
(+.f64 (*.f64 -1/16 (/.f64 (pow.f64 x.im 6) (pow.f64 x.re 5))) (+.f64 (*.f64 -1/2 (/.f64 (pow.f64 x.im 2) x.re)) (+.f64 (*.f64 -1 x.re) (*.f64 1/8 (/.f64 (pow.f64 x.im 4) (pow.f64 x.re 3))))))
(+.f64 (*.f64 -1/2 (/.f64 (pow.f64 x.im 2) x.re)) (+.f64 (+.f64 (*.f64 x.re -1) (*.f64 1/8 (/.f64 (pow.f64 x.im 4) (pow.f64 x.re 3)))) (*.f64 (/.f64 (pow.f64 x.im 6) (pow.f64 x.re 5)) -1/16)))
(+.f64 (neg.f64 x.re) (+.f64 (+.f64 (*.f64 -1/2 (/.f64 (pow.f64 x.im 2) x.re)) (*.f64 1/8 (/.f64 (pow.f64 x.im 4) (pow.f64 x.re 3)))) (*.f64 (/.f64 (pow.f64 x.im 6) (pow.f64 x.re 5)) -1/16)))
(+.f64 (+.f64 (*.f64 -1/2 (/.f64 (pow.f64 x.im 2) x.re)) (*.f64 1/8 (/.f64 (pow.f64 x.im 4) (pow.f64 x.re 3)))) (+.f64 (neg.f64 x.re) (*.f64 (/.f64 (pow.f64 x.im 6) (pow.f64 x.re 5)) -1/16)))
(+.f64 (neg.f64 x.re) (+.f64 (*.f64 (/.f64 (pow.f64 x.im 6) (pow.f64 x.re 5)) -1/16) (+.f64 (*.f64 -1/2 (/.f64 (pow.f64 x.im 2) x.re)) (*.f64 1/8 (/.f64 (pow.f64 x.im 4) (pow.f64 x.re 3))))))
x.re
(+.f64 x.re (*.f64 1/2 (/.f64 (pow.f64 x.im 2) x.re)))
(+.f64 (*.f64 -1/8 (/.f64 (pow.f64 x.im 4) (pow.f64 x.re 3))) (+.f64 x.re (*.f64 1/2 (/.f64 (pow.f64 x.im 2) x.re))))
(+.f64 (+.f64 x.re (*.f64 1/2 (/.f64 (pow.f64 x.im 2) x.re))) (*.f64 -1/8 (/.f64 (pow.f64 x.im 4) (pow.f64 x.re 3))))
(+.f64 x.re (+.f64 (*.f64 1/2 (/.f64 (pow.f64 x.im 2) x.re)) (*.f64 -1/8 (/.f64 (pow.f64 x.im 4) (pow.f64 x.re 3)))))
(+.f64 (*.f64 -1/8 (/.f64 (pow.f64 x.im 4) (pow.f64 x.re 3))) (+.f64 x.re (+.f64 (*.f64 1/2 (/.f64 (pow.f64 x.im 2) x.re)) (*.f64 1/16 (/.f64 (pow.f64 x.im 6) (pow.f64 x.re 5))))))
(+.f64 x.re (+.f64 (+.f64 (*.f64 1/2 (/.f64 (pow.f64 x.im 2) x.re)) (*.f64 1/16 (/.f64 (pow.f64 x.im 6) (pow.f64 x.re 5)))) (*.f64 -1/8 (/.f64 (pow.f64 x.im 4) (pow.f64 x.re 3)))))
(+.f64 x.re (+.f64 (*.f64 -1/8 (/.f64 (pow.f64 x.im 4) (pow.f64 x.re 3))) (+.f64 (*.f64 1/2 (/.f64 (pow.f64 x.im 2) x.re)) (*.f64 1/16 (/.f64 (pow.f64 x.im 6) (pow.f64 x.re 5))))))
(+.f64 x.re (+.f64 (*.f64 1/2 (/.f64 (pow.f64 x.im 2) x.re)) (+.f64 (*.f64 1/16 (/.f64 (pow.f64 x.im 6) (pow.f64 x.re 5))) (*.f64 -1/8 (/.f64 (pow.f64 x.im 4) (pow.f64 x.re 3))))))
x.im
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 x.re 2) x.im)) x.im)
(+.f64 x.im (*.f64 1/2 (/.f64 (pow.f64 x.re 2) x.im)))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 x.re 2) x.im)) (+.f64 (*.f64 -1/8 (/.f64 (pow.f64 x.re 4) (pow.f64 x.im 3))) x.im))
(+.f64 (*.f64 -1/8 (/.f64 (pow.f64 x.re 4) (pow.f64 x.im 3))) (+.f64 x.im (*.f64 1/2 (/.f64 (pow.f64 x.re 2) x.im))))
(+.f64 (+.f64 x.im (*.f64 1/2 (/.f64 (pow.f64 x.re 2) x.im))) (*.f64 -1/8 (/.f64 (pow.f64 x.re 4) (pow.f64 x.im 3))))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 x.re 2) x.im)) (+.f64 x.im (*.f64 -1/8 (/.f64 (pow.f64 x.re 4) (pow.f64 x.im 3)))))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 x.re 2) x.im)) (+.f64 (*.f64 -1/8 (/.f64 (pow.f64 x.re 4) (pow.f64 x.im 3))) (+.f64 x.im (*.f64 1/16 (/.f64 (pow.f64 x.re 6) (pow.f64 x.im 5))))))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 x.re 2) x.im)) (+.f64 x.im (+.f64 (*.f64 1/16 (/.f64 (pow.f64 x.re 6) (pow.f64 x.im 5))) (*.f64 -1/8 (/.f64 (pow.f64 x.re 4) (pow.f64 x.im 3))))))
(+.f64 (+.f64 x.im (*.f64 1/16 (/.f64 (pow.f64 x.re 6) (pow.f64 x.im 5)))) (+.f64 (*.f64 -1/8 (/.f64 (pow.f64 x.re 4) (pow.f64 x.im 3))) (*.f64 1/2 (/.f64 (pow.f64 x.re 2) x.im))))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 x.re 2) x.im)) (+.f64 x.im (+.f64 (*.f64 -1/8 (/.f64 (pow.f64 x.re 4) (pow.f64 x.im 3))) (*.f64 1/16 (/.f64 (pow.f64 x.re 6) (pow.f64 x.im 5))))))
(+.f64 (*.f64 -1/8 (/.f64 (pow.f64 x.re 4) (pow.f64 x.im 3))) (+.f64 x.im (+.f64 (*.f64 1/16 (/.f64 (pow.f64 x.re 6) (pow.f64 x.im 5))) (*.f64 1/2 (/.f64 (pow.f64 x.re 2) x.im)))))
(*.f64 -1 x.im)
(*.f64 x.im -1)
(neg.f64 x.im)
(+.f64 (*.f64 -1 x.im) (*.f64 -1/2 (/.f64 (pow.f64 x.re 2) x.im)))
(+.f64 (*.f64 x.im -1) (*.f64 -1/2 (/.f64 (pow.f64 x.re 2) x.im)))
(+.f64 (neg.f64 x.im) (*.f64 -1/2 (/.f64 (pow.f64 x.re 2) x.im)))
(+.f64 (*.f64 -1 x.im) (+.f64 (*.f64 1/8 (/.f64 (pow.f64 x.re 4) (pow.f64 x.im 3))) (*.f64 -1/2 (/.f64 (pow.f64 x.re 2) x.im))))
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 x.re 4) (pow.f64 x.im 3))) (+.f64 (*.f64 x.im -1) (*.f64 -1/2 (/.f64 (pow.f64 x.re 2) x.im))))
(+.f64 (*.f64 -1/2 (/.f64 (pow.f64 x.re 2) x.im)) (+.f64 (neg.f64 x.im) (*.f64 1/8 (/.f64 (pow.f64 x.re 4) (pow.f64 x.im 3)))))
(+.f64 (neg.f64 x.im) (+.f64 (*.f64 -1/2 (/.f64 (pow.f64 x.re 2) x.im)) (*.f64 1/8 (/.f64 (pow.f64 x.re 4) (pow.f64 x.im 3)))))
(+.f64 (*.f64 -1 x.im) (+.f64 (*.f64 -1/16 (/.f64 (pow.f64 x.re 6) (pow.f64 x.im 5))) (+.f64 (*.f64 1/8 (/.f64 (pow.f64 x.re 4) (pow.f64 x.im 3))) (*.f64 -1/2 (/.f64 (pow.f64 x.re 2) x.im)))))
(+.f64 (*.f64 x.im -1) (+.f64 (*.f64 1/8 (/.f64 (pow.f64 x.re 4) (pow.f64 x.im 3))) (+.f64 (*.f64 -1/2 (/.f64 (pow.f64 x.re 2) x.im)) (*.f64 (/.f64 (pow.f64 x.re 6) (pow.f64 x.im 5)) -1/16))))
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 x.re 4) (pow.f64 x.im 3))) (+.f64 (+.f64 (*.f64 -1/2 (/.f64 (pow.f64 x.re 2) x.im)) (*.f64 (/.f64 (pow.f64 x.re 6) (pow.f64 x.im 5)) -1/16)) (neg.f64 x.im)))
(+.f64 (neg.f64 x.im) (+.f64 (+.f64 (*.f64 -1/2 (/.f64 (pow.f64 x.re 2) x.im)) (*.f64 1/8 (/.f64 (pow.f64 x.re 4) (pow.f64 x.im 3)))) (*.f64 (/.f64 (pow.f64 x.re 6) (pow.f64 x.im 5)) -1/16)))
(+.f64 (neg.f64 x.im) (+.f64 (*.f64 -1/2 (/.f64 (pow.f64 x.re 2) x.im)) (+.f64 (*.f64 1/8 (/.f64 (pow.f64 x.re 4) (pow.f64 x.im 3))) (*.f64 (/.f64 (pow.f64 x.re 6) (pow.f64 x.im 5)) -1/16))))
(*.f64 y.im (atan2.f64 x.im x.re))
(*.f64 (atan2.f64 x.im x.re) y.im)
(*.f64 y.im (atan2.f64 x.im x.re))
(*.f64 (atan2.f64 x.im x.re) y.im)
(*.f64 y.im (atan2.f64 x.im x.re))
(*.f64 (atan2.f64 x.im x.re) y.im)
(*.f64 y.im (atan2.f64 x.im x.re))
(*.f64 (atan2.f64 x.im x.re) y.im)
(*.f64 y.im (atan2.f64 x.im x.re))
(*.f64 (atan2.f64 x.im x.re) y.im)
(*.f64 y.im (atan2.f64 x.im x.re))
(*.f64 (atan2.f64 x.im x.re) y.im)
(*.f64 y.im (atan2.f64 x.im x.re))
(*.f64 (atan2.f64 x.im x.re) y.im)
(*.f64 y.im (atan2.f64 x.im x.re))
(*.f64 (atan2.f64 x.im x.re) y.im)
(*.f64 y.im (atan2.f64 x.im x.re))
(*.f64 (atan2.f64 x.im x.re) y.im)
(*.f64 y.im (atan2.f64 x.im x.re))
(*.f64 (atan2.f64 x.im x.re) y.im)
(*.f64 y.im (atan2.f64 x.im x.re))
(*.f64 (atan2.f64 x.im x.re) y.im)
(*.f64 y.im (atan2.f64 x.im x.re))
(*.f64 (atan2.f64 x.im x.re) y.im)
(*.f64 y.re (atan2.f64 x.im x.re))
(*.f64 y.re (atan2.f64 x.im x.re))
(*.f64 y.re (atan2.f64 x.im x.re))
(*.f64 y.re (atan2.f64 x.im x.re))
(*.f64 y.re (atan2.f64 x.im x.re))
(*.f64 y.re (atan2.f64 x.im x.re))
(*.f64 y.re (atan2.f64 x.im x.re))
(*.f64 y.re (atan2.f64 x.im x.re))
(*.f64 y.re (atan2.f64 x.im x.re))
(*.f64 y.re (atan2.f64 x.im x.re))
(*.f64 y.re (atan2.f64 x.im x.re))
(*.f64 y.re (atan2.f64 x.im x.re))
(*.f64 y.re (atan2.f64 x.im x.re))
(*.f64 y.re (atan2.f64 x.im x.re))
(*.f64 y.re (atan2.f64 x.im x.re))
(*.f64 y.re (atan2.f64 x.im x.re))
(*.f64 y.re (atan2.f64 x.im x.re))
(*.f64 y.re (atan2.f64 x.im x.re))
(*.f64 y.re (atan2.f64 x.im x.re))
(*.f64 y.re (atan2.f64 x.im x.re))
(*.f64 y.re (atan2.f64 x.im x.re))
(*.f64 y.re (atan2.f64 x.im x.re))
(*.f64 y.re (atan2.f64 x.im x.re))
(*.f64 y.re (atan2.f64 x.im x.re))
(*.f64 y.re (atan2.f64 x.im x.re))
(*.f64 y.re (atan2.f64 x.im x.re))
(*.f64 y.re (atan2.f64 x.im x.re))
(*.f64 y.re (atan2.f64 x.im x.re))
(*.f64 y.re (atan2.f64 x.im x.re))
(*.f64 y.re (atan2.f64 x.im x.re))
(*.f64 y.re (atan2.f64 x.im x.re))
(*.f64 y.re (atan2.f64 x.im x.re))
(*.f64 y.re (atan2.f64 x.im x.re))
(*.f64 y.re (atan2.f64 x.im x.re))
(*.f64 y.re (atan2.f64 x.im x.re))
(*.f64 y.re (atan2.f64 x.im x.re))
(+.f64 (sin.f64 (+.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))) 0)
(sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))))))
(+.f64 0 (sin.f64 (+.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))))
(sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))))))
(-.f64 (sin.f64 (+.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))) 0)
(sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))))))
(-.f64 0 (sin.f64 (+.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) y.im) (-.f64 (*.f64 (atan2.f64 x.im x.re) y.re) (PI.f64)))))
(sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))))))
(*.f64 (sin.f64 (+.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))) 1)
(sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))))))
(*.f64 1 (sin.f64 (+.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))))
(sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))))))
(*.f64 2 (/.f64 (sin.f64 (+.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))) 2))
(sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))))))
(*.f64 (*.f64 (sin.f64 (+.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))) 2) 1/2)
(sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))))))
(*.f64 1/2 (*.f64 (sin.f64 (+.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))) 2))
(sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))))))
(*.f64 (/.f64 (sin.f64 (+.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))) 2) 2)
(sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))))))
(*.f64 (sin.f64 (+.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) y.im) (-.f64 (*.f64 (atan2.f64 x.im x.re) y.re) (PI.f64)))) -1)
(sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))))))
(/.f64 (sin.f64 (+.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))) 1)
(sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))))))
(/.f64 (*.f64 (sin.f64 (+.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))) 2) 2)
(sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))))))
(/.f64 (*.f64 (sin.f64 (+.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))) 4) 4)
(sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))))))
(/.f64 (+.f64 (*.f64 (sin.f64 (+.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))) 4) (*.f64 (sin.f64 (+.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))) 4)) 8)
(sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))))))
(/.f64 (sin.f64 (+.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) y.im) (-.f64 (*.f64 (atan2.f64 x.im x.re) y.re) (PI.f64)))) -1)
(sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))))))
(neg.f64 (sin.f64 (+.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) y.im) (-.f64 (*.f64 (atan2.f64 x.im x.re) y.re) (PI.f64)))))
(sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))))))
(+.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))) 0)
(sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))
(+.f64 0 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))))
(sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))
(-.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))) 0)
(sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))
(*.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))) 1)
(sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))
(*.f64 1 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))))
(sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))
(*.f64 2 (/.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))) 2))
(sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))
(*.f64 (*.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))) 2) 1/2)
(sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))
(*.f64 1/2 (*.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))) 2))
(sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))
(*.f64 (/.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))) 2) 2)
(sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))
(/.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))) 1)
(sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))
(/.f64 (*.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))) 2) 2)
(sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))
(/.f64 (*.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))) 4) 4)
(sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))
(/.f64 (+.f64 (*.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))) 4) (*.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))) 4)) 8)
(sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))
(+.f64 (*.f64 y.im (atan2.f64 x.im x.re)) 0)
(*.f64 (atan2.f64 x.im x.re) y.im)
(+.f64 0 (*.f64 y.im (atan2.f64 x.im x.re)))
(*.f64 (atan2.f64 x.im x.re) y.im)
(-.f64 (*.f64 y.im (atan2.f64 x.im x.re)) 0)
(*.f64 (atan2.f64 x.im x.re) y.im)
(/.f64 (*.f64 y.im (atan2.f64 x.im x.re)) 1)
(*.f64 (atan2.f64 x.im x.re) y.im)
(/.f64 (*.f64 (atan2.f64 x.im x.re) (+.f64 y.im y.im)) 2)
(*.f64 (atan2.f64 x.im x.re) y.im)
(/.f64 (*.f64 (*.f64 y.im (atan2.f64 x.im x.re)) 4) 4)
(*.f64 (atan2.f64 x.im x.re) y.im)
(/.f64 (+.f64 (*.f64 (*.f64 y.im (atan2.f64 x.im x.re)) 4) (*.f64 (*.f64 y.im (atan2.f64 x.im x.re)) 4)) 8)
(*.f64 (atan2.f64 x.im x.re) y.im)
(+.f64 (*.f64 (atan2.f64 x.im x.re) y.re) 0)
(*.f64 y.re (atan2.f64 x.im x.re))
(+.f64 0 (*.f64 (atan2.f64 x.im x.re) y.re))
(*.f64 y.re (atan2.f64 x.im x.re))
(-.f64 (*.f64 (atan2.f64 x.im x.re) y.re) 0)
(*.f64 y.re (atan2.f64 x.im x.re))
(/.f64 (*.f64 (atan2.f64 x.im x.re) y.re) 1)
(*.f64 y.re (atan2.f64 x.im x.re))
(/.f64 (*.f64 (atan2.f64 x.im x.re) (+.f64 y.re y.re)) 2)
(*.f64 y.re (atan2.f64 x.im x.re))
(/.f64 (*.f64 (*.f64 (atan2.f64 x.im x.re) y.re) 4) 4)
(*.f64 y.re (atan2.f64 x.im x.re))
(/.f64 (+.f64 (*.f64 (*.f64 (atan2.f64 x.im x.re) y.re) 4) (*.f64 (*.f64 (atan2.f64 x.im x.re) y.re) 4)) 8)
(*.f64 y.re (atan2.f64 x.im x.re))

eval1.1s (2.1%)

Compiler

Compiled 20062 to 8134 computations (59.5% saved)

prune213.0ms (0.4%)

Pruning

7 alts after pruning (7 fresh and 0 done)

PrunedKeptTotal
New2907297
Fresh000
Picked101
Done000
Total2917298
Error
18.8b
Counts
298 → 7
Alt Table
Click to see full alt table
StatusErrorProgram
48.5b
(*.f64 (exp.f64 (-.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) y.re) (*.f64 (atan2.f64 x.im x.re) y.im))) (sin.f64 (+.f64 (*.f64 (log.f64 (+.f64 (neg.f64 x.im) (*.f64 -1/2 (/.f64 (pow.f64 x.re 2) x.im)))) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))))
44.3b
(*.f64 (exp.f64 (-.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) y.re) (*.f64 (atan2.f64 x.im x.re) y.im))) (sin.f64 (+.f64 (*.f64 (log.f64 (neg.f64 x.im)) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))))
45.4b
(*.f64 (exp.f64 (-.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) y.re) (*.f64 (atan2.f64 x.im x.re) y.im))) (sin.f64 (+.f64 (*.f64 (log.f64 x.im) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))))
29.8b
(*.f64 (exp.f64 (-.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) y.re) (*.f64 (atan2.f64 x.im x.re) y.im))) (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))))
49.3b
(*.f64 (exp.f64 (-.f64 (*.f64 (log.f64 (neg.f64 x.re)) y.re) (*.f64 (atan2.f64 x.im x.re) y.im))) (sin.f64 (+.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))))
50.0b
(*.f64 (exp.f64 (-.f64 (*.f64 (log.f64 x.re) y.re) (*.f64 (atan2.f64 x.im x.re) y.im))) (sin.f64 (+.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))))
49.0b
(*.f64 (exp.f64 (-.f64 (*.f64 (log.f64 x.im) y.re) (*.f64 (atan2.f64 x.im x.re) y.im))) (sin.f64 (+.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))))
Compiler

Compiled 488 to 292 computations (40.2% saved)

localize29.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
1.5b
(*.f64 y.re (atan2.f64 x.im x.re))
2.3b
(*.f64 (atan2.f64 x.im x.re) y.im)
17.6b
(sin.f64 (*.f64 y.re (atan2.f64 x.im x.re)))
29.8b
(sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))
Compiler

Compiled 128 to 17 computations (86.7% saved)

series4.0ms (0%)

Counts
2 → 4
Calls

18 calls:

TimeVariablePointExpression
0.0ms
x.im
@0
(sin.f64 (*.f64 y.re (atan2.f64 x.im x.re)))
0.0ms
x.im
@-inf
(sin.f64 (*.f64 y.re (atan2.f64 x.im x.re)))
0.0ms
x.im
@inf
(sin.f64 (*.f64 y.re (atan2.f64 x.im x.re)))
0.0ms
x.re
@-inf
(sin.f64 (*.f64 y.re (atan2.f64 x.im x.re)))
0.0ms
x.re
@inf
(sin.f64 (*.f64 y.re (atan2.f64 x.im x.re)))

rewrite83.0ms (0.2%)

Algorithm
batch-egg-rewrite
Rules
1474×bool.json-1
1474×bool.json-2
1436×rational.json-1
1436×rational.json-2
1436×rational.json-4
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0930
19130
226230
355030
4114830
5256430
6560830
Stop Event
node limit
Counts
2 → 70
Calls
Call 1
Inputs
(sin.f64 (*.f64 y.re (atan2.f64 x.im x.re)))
(*.f64 y.re (atan2.f64 x.im x.re))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 -1 (-.f64 1 (neg.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) 1/2) (*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 1 (neg.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (neg.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (neg.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) 1/2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re)))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re)))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (neg.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re)))) (neg.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))))) -2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) 8)) (*.f64 2 (*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) 8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (neg.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re)))))))) (#(struct:change #<rule egg-rr> (2) ((x not (not (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re)))))))) (#(struct:change #<rule egg-rr> (2) ((x and (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))))))) (#(struct:change #<rule egg-rr> (2) ((x or (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 y.re (atan2.f64 x.im x.re)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 y.re (atan2.f64 x.im x.re)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (PI.f64) (-.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (PI.f64)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (PI.f64)) (PI.f64))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (PI.f64)) (-.f64 (neg.f64 (PI.f64)) (*.f64 (PI.f64) -2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (PI.f64) 1/2) (-.f64 (*.f64 (PI.f64) 1/2) (-.f64 (PI.f64) (*.f64 y.re (atan2.f64 x.im x.re)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (PI.f64) 2) (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 (PI.f64) -2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (neg.f64 (PI.f64)) (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (PI.f64)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 -1 (-.f64 (*.f64 y.re (atan2.f64 x.im x.re)) -1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (PI.f64)) (neg.f64 (PI.f64)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 (PI.f64) -2)) (*.f64 (PI.f64) 2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 y.re (*.f64 (atan2.f64 x.im x.re) 1/2)) (*.f64 y.re (*.f64 (atan2.f64 x.im x.re) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (PI.f64) 1) (-.f64 (-.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (PI.f64)) -1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (*.f64 y.re (atan2.f64 x.im x.re)) -1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (*.f64 y.re (atan2.f64 x.im x.re)) -1) (-.f64 (PI.f64) (+.f64 1 (PI.f64))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (-.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (PI.f64)) -1) (-.f64 (PI.f64) 1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (-.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (PI.f64)) -1) (-.f64 (-.f64 -1 (PI.f64)) (*.f64 (PI.f64) -2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 1 (PI.f64)) (-.f64 -1 (-.f64 (neg.f64 (PI.f64)) (*.f64 y.re (atan2.f64 x.im x.re)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (PI.f64) -2) (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 (PI.f64) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (PI.f64) -2) (-.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 (PI.f64) -2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (-.f64 -1 (PI.f64))) (+.f64 1 (PI.f64)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 -1 (-.f64 (neg.f64 (PI.f64)) (*.f64 y.re (atan2.f64 x.im x.re)))) (-.f64 1 (PI.f64)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 y.re (atan2.f64 x.im x.re)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (neg.f64 (*.f64 y.re (atan2.f64 x.im x.re))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (PI.f64) (-.f64 (PI.f64) (*.f64 y.re (atan2.f64 x.im x.re))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (PI.f64)) (neg.f64 (PI.f64)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (PI.f64) 2) (-.f64 (*.f64 (PI.f64) 2) (*.f64 y.re (atan2.f64 x.im x.re))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (neg.f64 (PI.f64)) (-.f64 (neg.f64 (PI.f64)) (*.f64 y.re (atan2.f64 x.im x.re))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (PI.f64)) (PI.f64))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 (PI.f64) -2)) (*.f64 (PI.f64) -2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 (*.f64 (PI.f64) 2) (PI.f64)) (-.f64 (PI.f64) (*.f64 y.re (atan2.f64 x.im x.re))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 (neg.f64 (PI.f64)) (*.f64 (PI.f64) -2)) (-.f64 (PI.f64) (*.f64 y.re (atan2.f64 x.im x.re))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 y.re (atan2.f64 x.im x.re)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 y.re (*.f64 (atan2.f64 x.im x.re) 2)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 y.re (*.f64 (atan2.f64 x.im x.re) 4)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 y.re (atan2.f64 x.im x.re))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 y.re (atan2.f64 x.im x.re)) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (*.f64 y.re (atan2.f64 x.im x.re)) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (neg.f64 (*.f64 y.re (atan2.f64 x.im x.re)))) -2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 (*.f64 y.re (atan2.f64 x.im x.re)) 8)) (*.f64 2 (*.f64 (*.f64 y.re (atan2.f64 x.im x.re)) 8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 2 (neg.f64 (*.f64 y.re (atan2.f64 x.im x.re)))) -1) 2)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (neg.f64 (*.f64 y.re (atan2.f64 x.im x.re))))))) (#(struct:change #<rule egg-rr> (2) ((x not (not (*.f64 y.re (atan2.f64 x.im x.re))))))) (#(struct:change #<rule egg-rr> (2) ((x and (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.re (atan2.f64 x.im x.re)))))) (#(struct:change #<rule egg-rr> (2) ((x or (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.re (atan2.f64 x.im x.re)))))))

simplify177.0ms (0.4%)

Algorithm
egg-herbie
Rules
1760×rational.json-simplify-35
1426×rational.json-simplify-1
970×rational.json-simplify-2
854×rational.json-simplify-52
730×rational.json-simplify-41
Iterations

Useful iterations: 5 (0.0ms)

IterNodesCost
01631368
13431368
28111368
332431368
451591360
559421352
668881352
773281352
877631352
Stop Event
node limit
Counts
74 → 92
Calls
Call 1
Inputs
(*.f64 y.re (atan2.f64 x.im x.re))
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 y.re 3) (pow.f64 (atan2.f64 x.im x.re) 3))) (*.f64 y.re (atan2.f64 x.im x.re)))
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 y.re 3) (pow.f64 (atan2.f64 x.im x.re) 3))) (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 1/120 (*.f64 (pow.f64 y.re 5) (pow.f64 (atan2.f64 x.im x.re) 5)))))
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 y.re 3) (pow.f64 (atan2.f64 x.im x.re) 3))) (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (+.f64 (*.f64 -1/5040 (*.f64 (pow.f64 y.re 7) (pow.f64 (atan2.f64 x.im x.re) 7))) (*.f64 1/120 (*.f64 (pow.f64 y.re 5) (pow.f64 (atan2.f64 x.im x.re) 5))))))
(+.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) 0)
(+.f64 0 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))))
(+.f64 -1 (-.f64 1 (neg.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))))))
(+.f64 (*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) 1/2) (*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) 1/2))
(+.f64 (-.f64 1 (neg.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))))) -1)
(-.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) 0)
(-.f64 0 (neg.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re)))))
(*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) 1)
(*.f64 1 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))))
(*.f64 2 (*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) 1/2))
(*.f64 (*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) 2) 1/2)
(*.f64 4 (/.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) 4))
(*.f64 (*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) 4) 1/4)
(*.f64 1/2 (*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) 2))
(*.f64 -1 (neg.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re)))))
(*.f64 (*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) 1/2) 2)
(*.f64 (neg.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re)))) -1)
(*.f64 1/4 (*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) 4))
(*.f64 (/.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) 4) 4)
(/.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) 1)
(/.f64 (*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) 2) 2)
(/.f64 (*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) 4) 4)
(/.f64 (*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) 8) 8)
(/.f64 (neg.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re)))) -1)
(/.f64 (*.f64 2 (*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) 8)) 16)
(/.f64 (+.f64 (neg.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re)))) (neg.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))))) -2)
(/.f64 (+.f64 (*.f64 2 (*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) 8)) (*.f64 2 (*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) 8))) 32)
(neg.f64 (neg.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re)))))
(+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) 0)
(+.f64 0 (*.f64 y.re (atan2.f64 x.im x.re)))
(+.f64 (PI.f64) (-.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (PI.f64)))
(+.f64 (-.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (PI.f64)) (PI.f64))
(+.f64 (-.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (PI.f64)) (-.f64 (neg.f64 (PI.f64)) (*.f64 (PI.f64) -2)))
(+.f64 (*.f64 (PI.f64) 1/2) (-.f64 (*.f64 (PI.f64) 1/2) (-.f64 (PI.f64) (*.f64 y.re (atan2.f64 x.im x.re)))))
(+.f64 (*.f64 (PI.f64) 2) (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 (PI.f64) -2)))
(+.f64 (neg.f64 (PI.f64)) (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (PI.f64)))
(+.f64 -1 (-.f64 (*.f64 y.re (atan2.f64 x.im x.re)) -1))
(+.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (PI.f64)) (neg.f64 (PI.f64)))
(+.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 (PI.f64) -2)) (*.f64 (PI.f64) 2))
(+.f64 (*.f64 y.re (*.f64 (atan2.f64 x.im x.re) 1/2)) (*.f64 y.re (*.f64 (atan2.f64 x.im x.re) 1/2)))
(+.f64 (-.f64 (PI.f64) 1) (-.f64 (-.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (PI.f64)) -1))
(+.f64 (-.f64 (*.f64 y.re (atan2.f64 x.im x.re)) -1) -1)
(+.f64 (-.f64 (*.f64 y.re (atan2.f64 x.im x.re)) -1) (-.f64 (PI.f64) (+.f64 1 (PI.f64))))
(+.f64 (-.f64 (-.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (PI.f64)) -1) (-.f64 (PI.f64) 1))
(+.f64 (-.f64 (-.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (PI.f64)) -1) (-.f64 (-.f64 -1 (PI.f64)) (*.f64 (PI.f64) -2)))
(+.f64 (-.f64 1 (PI.f64)) (-.f64 -1 (-.f64 (neg.f64 (PI.f64)) (*.f64 y.re (atan2.f64 x.im x.re)))))
(+.f64 (*.f64 (PI.f64) -2) (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 (PI.f64) 2)))
(+.f64 (*.f64 (PI.f64) -2) (-.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 (PI.f64) -2)))
(+.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (-.f64 -1 (PI.f64))) (+.f64 1 (PI.f64)))
(+.f64 (-.f64 -1 (-.f64 (neg.f64 (PI.f64)) (*.f64 y.re (atan2.f64 x.im x.re)))) (-.f64 1 (PI.f64)))
(-.f64 (*.f64 y.re (atan2.f64 x.im x.re)) 0)
(-.f64 0 (neg.f64 (*.f64 y.re (atan2.f64 x.im x.re))))
(-.f64 (PI.f64) (-.f64 (PI.f64) (*.f64 y.re (atan2.f64 x.im x.re))))
(-.f64 (-.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (PI.f64)) (neg.f64 (PI.f64)))
(-.f64 (*.f64 (PI.f64) 2) (-.f64 (*.f64 (PI.f64) 2) (*.f64 y.re (atan2.f64 x.im x.re))))
(-.f64 (neg.f64 (PI.f64)) (-.f64 (neg.f64 (PI.f64)) (*.f64 y.re (atan2.f64 x.im x.re))))
(-.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (PI.f64)) (PI.f64))
(-.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 (PI.f64) -2)) (*.f64 (PI.f64) -2))
(-.f64 (-.f64 (*.f64 (PI.f64) 2) (PI.f64)) (-.f64 (PI.f64) (*.f64 y.re (atan2.f64 x.im x.re))))
(-.f64 (-.f64 (neg.f64 (PI.f64)) (*.f64 (PI.f64) -2)) (-.f64 (PI.f64) (*.f64 y.re (atan2.f64 x.im x.re))))
(/.f64 (*.f64 y.re (atan2.f64 x.im x.re)) 1)
(/.f64 (*.f64 y.re (*.f64 (atan2.f64 x.im x.re) 2)) 2)
(/.f64 (*.f64 y.re (*.f64 (atan2.f64 x.im x.re) 4)) 4)
(/.f64 (neg.f64 (*.f64 y.re (atan2.f64 x.im x.re))) -1)
(/.f64 (*.f64 (*.f64 y.re (atan2.f64 x.im x.re)) 8) 8)
(/.f64 (*.f64 2 (*.f64 (*.f64 y.re (atan2.f64 x.im x.re)) 8)) 16)
(/.f64 (*.f64 2 (neg.f64 (*.f64 y.re (atan2.f64 x.im x.re)))) -2)
(/.f64 (+.f64 (*.f64 2 (*.f64 (*.f64 y.re (atan2.f64 x.im x.re)) 8)) (*.f64 2 (*.f64 (*.f64 y.re (atan2.f64 x.im x.re)) 8))) 32)
(/.f64 (/.f64 (*.f64 2 (neg.f64 (*.f64 y.re (atan2.f64 x.im x.re)))) -1) 2)
(neg.f64 (neg.f64 (*.f64 y.re (atan2.f64 x.im x.re))))
Outputs
(*.f64 y.re (atan2.f64 x.im x.re))
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 y.re 3) (pow.f64 (atan2.f64 x.im x.re) 3))) (*.f64 y.re (atan2.f64 x.im x.re)))
(+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 (pow.f64 y.re 3) (*.f64 (pow.f64 (atan2.f64 x.im x.re) 3) -1/6)))
(+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 -1/6 (*.f64 (pow.f64 y.re 3) (pow.f64 (atan2.f64 x.im x.re) 3))))
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 y.re 3) (pow.f64 (atan2.f64 x.im x.re) 3))) (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 1/120 (*.f64 (pow.f64 y.re 5) (pow.f64 (atan2.f64 x.im x.re) 5)))))
(+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (+.f64 (*.f64 (pow.f64 y.re 5) (*.f64 (pow.f64 (atan2.f64 x.im x.re) 5) 1/120)) (*.f64 (pow.f64 y.re 3) (*.f64 (pow.f64 (atan2.f64 x.im x.re) 3) -1/6))))
(+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (+.f64 (*.f64 -1/6 (*.f64 (pow.f64 y.re 3) (pow.f64 (atan2.f64 x.im x.re) 3))) (*.f64 1/120 (*.f64 (pow.f64 y.re 5) (pow.f64 (atan2.f64 x.im x.re) 5)))))
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 y.re 3) (pow.f64 (atan2.f64 x.im x.re) 3))) (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (+.f64 (*.f64 -1/5040 (*.f64 (pow.f64 y.re 7) (pow.f64 (atan2.f64 x.im x.re) 7))) (*.f64 1/120 (*.f64 (pow.f64 y.re 5) (pow.f64 (atan2.f64 x.im x.re) 5))))))
(+.f64 (*.f64 (pow.f64 y.re 3) (*.f64 (pow.f64 (atan2.f64 x.im x.re) 3) -1/6)) (+.f64 (*.f64 -1/5040 (*.f64 (pow.f64 y.re 7) (pow.f64 (atan2.f64 x.im x.re) 7))) (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 (pow.f64 y.re 5) (*.f64 (pow.f64 (atan2.f64 x.im x.re) 5) 1/120)))))
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 y.re 3) (pow.f64 (atan2.f64 x.im x.re) 3))) (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (+.f64 (*.f64 1/120 (*.f64 (pow.f64 y.re 5) (pow.f64 (atan2.f64 x.im x.re) 5))) (*.f64 -1/5040 (*.f64 (pow.f64 y.re 7) (pow.f64 (atan2.f64 x.im x.re) 7))))))
(+.f64 (*.f64 1/120 (*.f64 (pow.f64 y.re 5) (pow.f64 (atan2.f64 x.im x.re) 5))) (+.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 -1/5040 (*.f64 (pow.f64 y.re 7) (pow.f64 (atan2.f64 x.im x.re) 7)))) (*.f64 -1/6 (*.f64 (pow.f64 y.re 3) (pow.f64 (atan2.f64 x.im x.re) 3)))))
(+.f64 (*.f64 1/120 (*.f64 (pow.f64 y.re 5) (pow.f64 (atan2.f64 x.im x.re) 5))) (+.f64 (*.f64 -1/6 (*.f64 (pow.f64 y.re 3) (pow.f64 (atan2.f64 x.im x.re) 3))) (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 -1/5040 (*.f64 (pow.f64 y.re 7) (pow.f64 (atan2.f64 x.im x.re) 7))))))
(+.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) 0)
(sin.f64 (*.f64 y.re (atan2.f64 x.im x.re)))
(+.f64 0 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))))
(sin.f64 (*.f64 y.re (atan2.f64 x.im x.re)))
(+.f64 -1 (-.f64 1 (neg.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))))))
(sin.f64 (*.f64 y.re (atan2.f64 x.im x.re)))
(+.f64 (*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) 1/2) (*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) 1/2))
(sin.f64 (*.f64 y.re (atan2.f64 x.im x.re)))
(+.f64 (-.f64 1 (neg.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))))) -1)
(sin.f64 (*.f64 y.re (atan2.f64 x.im x.re)))
(-.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) 0)
(sin.f64 (*.f64 y.re (atan2.f64 x.im x.re)))
(-.f64 0 (neg.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re)))))
(sin.f64 (*.f64 y.re (atan2.f64 x.im x.re)))
(*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) 1)
(sin.f64 (*.f64 y.re (atan2.f64 x.im x.re)))
(*.f64 1 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))))
(sin.f64 (*.f64 y.re (atan2.f64 x.im x.re)))
(*.f64 2 (*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) 1/2))
(sin.f64 (*.f64 y.re (atan2.f64 x.im x.re)))
(*.f64 (*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) 2) 1/2)
(sin.f64 (*.f64 y.re (atan2.f64 x.im x.re)))
(*.f64 4 (/.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) 4))
(sin.f64 (*.f64 y.re (atan2.f64 x.im x.re)))
(*.f64 (*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) 4) 1/4)
(sin.f64 (*.f64 y.re (atan2.f64 x.im x.re)))
(*.f64 1/2 (*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) 2))
(sin.f64 (*.f64 y.re (atan2.f64 x.im x.re)))
(*.f64 -1 (neg.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re)))))
(sin.f64 (*.f64 y.re (atan2.f64 x.im x.re)))
(*.f64 (*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) 1/2) 2)
(sin.f64 (*.f64 y.re (atan2.f64 x.im x.re)))
(*.f64 (neg.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re)))) -1)
(sin.f64 (*.f64 y.re (atan2.f64 x.im x.re)))
(*.f64 1/4 (*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) 4))
(sin.f64 (*.f64 y.re (atan2.f64 x.im x.re)))
(*.f64 (/.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) 4) 4)
(sin.f64 (*.f64 y.re (atan2.f64 x.im x.re)))
(/.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) 1)
(sin.f64 (*.f64 y.re (atan2.f64 x.im x.re)))
(/.f64 (*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) 2) 2)
(sin.f64 (*.f64 y.re (atan2.f64 x.im x.re)))
(/.f64 (*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) 4) 4)
(sin.f64 (*.f64 y.re (atan2.f64 x.im x.re)))
(/.f64 (*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) 8) 8)
(sin.f64 (*.f64 y.re (atan2.f64 x.im x.re)))
(/.f64 (neg.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re)))) -1)
(sin.f64 (*.f64 y.re (atan2.f64 x.im x.re)))
(/.f64 (*.f64 2 (*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) 8)) 16)
(sin.f64 (*.f64 y.re (atan2.f64 x.im x.re)))
(/.f64 (+.f64 (neg.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re)))) (neg.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))))) -2)
(sin.f64 (*.f64 y.re (atan2.f64 x.im x.re)))
(/.f64 (+.f64 (*.f64 2 (*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) 8)) (*.f64 2 (*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) 8))) 32)
(sin.f64 (*.f64 y.re (atan2.f64 x.im x.re)))
(neg.f64 (neg.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re)))))
(sin.f64 (*.f64 y.re (atan2.f64 x.im x.re)))
(+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) 0)
(*.f64 y.re (atan2.f64 x.im x.re))
(+.f64 0 (*.f64 y.re (atan2.f64 x.im x.re)))
(*.f64 y.re (atan2.f64 x.im x.re))
(+.f64 (PI.f64) (-.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (PI.f64)))
(*.f64 y.re (atan2.f64 x.im x.re))
(+.f64 (-.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (PI.f64)) (PI.f64))
(*.f64 y.re (atan2.f64 x.im x.re))
(+.f64 (-.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (PI.f64)) (-.f64 (neg.f64 (PI.f64)) (*.f64 (PI.f64) -2)))
(*.f64 y.re (atan2.f64 x.im x.re))
(+.f64 (*.f64 (PI.f64) 1/2) (-.f64 (*.f64 (PI.f64) 1/2) (-.f64 (PI.f64) (*.f64 y.re (atan2.f64 x.im x.re)))))
(+.f64 (*.f64 1/2 (PI.f64)) (-.f64 (*.f64 1/2 (PI.f64)) (-.f64 (PI.f64) (*.f64 y.re (atan2.f64 x.im x.re)))))
(+.f64 (*.f64 1/2 (PI.f64)) (-.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (-.f64 (PI.f64) (*.f64 1/2 (PI.f64)))))
(+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (+.f64 (*.f64 1/2 (PI.f64)) (-.f64 (*.f64 1/2 (PI.f64)) (PI.f64))))
(+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (+.f64 (*.f64 1/2 (PI.f64)) (*.f64 (PI.f64) -1/2)))
(+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 0 (*.f64 (PI.f64) -1/2)))
(+.f64 (*.f64 (PI.f64) 2) (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 (PI.f64) -2)))
(*.f64 y.re (atan2.f64 x.im x.re))
(+.f64 (neg.f64 (PI.f64)) (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (PI.f64)))
(*.f64 y.re (atan2.f64 x.im x.re))
(+.f64 -1 (-.f64 (*.f64 y.re (atan2.f64 x.im x.re)) -1))
(*.f64 y.re (atan2.f64 x.im x.re))
(+.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (PI.f64)) (neg.f64 (PI.f64)))
(*.f64 y.re (atan2.f64 x.im x.re))
(+.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 (PI.f64) -2)) (*.f64 (PI.f64) 2))
(*.f64 y.re (atan2.f64 x.im x.re))
(+.f64 (*.f64 y.re (*.f64 (atan2.f64 x.im x.re) 1/2)) (*.f64 y.re (*.f64 (atan2.f64 x.im x.re) 1/2)))
(*.f64 y.re (atan2.f64 x.im x.re))
(+.f64 (-.f64 (PI.f64) 1) (-.f64 (-.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (PI.f64)) -1))
(*.f64 y.re (atan2.f64 x.im x.re))
(+.f64 (-.f64 (*.f64 y.re (atan2.f64 x.im x.re)) -1) -1)
(*.f64 y.re (atan2.f64 x.im x.re))
(+.f64 (-.f64 (*.f64 y.re (atan2.f64 x.im x.re)) -1) (-.f64 (PI.f64) (+.f64 1 (PI.f64))))
(*.f64 y.re (atan2.f64 x.im x.re))
(+.f64 (-.f64 (-.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (PI.f64)) -1) (-.f64 (PI.f64) 1))
(*.f64 y.re (atan2.f64 x.im x.re))
(+.f64 (-.f64 (-.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (PI.f64)) -1) (-.f64 (-.f64 -1 (PI.f64)) (*.f64 (PI.f64) -2)))
(+.f64 (+.f64 1 (-.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (PI.f64))) (-.f64 (-.f64 -1 (PI.f64)) (*.f64 -2 (PI.f64))))
(+.f64 1 (+.f64 (-.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (PI.f64)) (-.f64 (-.f64 -1 (PI.f64)) (*.f64 -2 (PI.f64)))))
(+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (+.f64 (-.f64 1 (PI.f64)) (-.f64 (-.f64 -1 (PI.f64)) (*.f64 -2 (PI.f64)))))
(+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (+.f64 (-.f64 (-.f64 -1 (PI.f64)) (*.f64 -2 (PI.f64))) (-.f64 1 (PI.f64))))
(+.f64 (-.f64 1 (PI.f64)) (-.f64 -1 (-.f64 (neg.f64 (PI.f64)) (*.f64 y.re (atan2.f64 x.im x.re)))))
(*.f64 y.re (atan2.f64 x.im x.re))
(+.f64 (*.f64 (PI.f64) -2) (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 (PI.f64) 2)))
(*.f64 y.re (atan2.f64 x.im x.re))
(+.f64 (*.f64 (PI.f64) -2) (-.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 (PI.f64) -2)))
(*.f64 y.re (atan2.f64 x.im x.re))
(+.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (-.f64 -1 (PI.f64))) (+.f64 1 (PI.f64)))
(*.f64 y.re (atan2.f64 x.im x.re))
(+.f64 (-.f64 -1 (-.f64 (neg.f64 (PI.f64)) (*.f64 y.re (atan2.f64 x.im x.re)))) (-.f64 1 (PI.f64)))
(*.f64 y.re (atan2.f64 x.im x.re))
(-.f64 (*.f64 y.re (atan2.f64 x.im x.re)) 0)
(*.f64 y.re (atan2.f64 x.im x.re))
(-.f64 0 (neg.f64 (*.f64 y.re (atan2.f64 x.im x.re))))
(*.f64 y.re (atan2.f64 x.im x.re))
(-.f64 (PI.f64) (-.f64 (PI.f64) (*.f64 y.re (atan2.f64 x.im x.re))))
(*.f64 y.re (atan2.f64 x.im x.re))
(-.f64 (-.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (PI.f64)) (neg.f64 (PI.f64)))
(*.f64 y.re (atan2.f64 x.im x.re))
(-.f64 (*.f64 (PI.f64) 2) (-.f64 (*.f64 (PI.f64) 2) (*.f64 y.re (atan2.f64 x.im x.re))))
(*.f64 y.re (atan2.f64 x.im x.re))
(-.f64 (neg.f64 (PI.f64)) (-.f64 (neg.f64 (PI.f64)) (*.f64 y.re (atan2.f64 x.im x.re))))
(*.f64 y.re (atan2.f64 x.im x.re))
(-.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (PI.f64)) (PI.f64))
(*.f64 y.re (atan2.f64 x.im x.re))
(-.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 (PI.f64) -2)) (*.f64 (PI.f64) -2))
(*.f64 y.re (atan2.f64 x.im x.re))
(-.f64 (-.f64 (*.f64 (PI.f64) 2) (PI.f64)) (-.f64 (PI.f64) (*.f64 y.re (atan2.f64 x.im x.re))))
(*.f64 y.re (atan2.f64 x.im x.re))
(-.f64 (-.f64 (neg.f64 (PI.f64)) (*.f64 (PI.f64) -2)) (-.f64 (PI.f64) (*.f64 y.re (atan2.f64 x.im x.re))))
(*.f64 y.re (atan2.f64 x.im x.re))
(/.f64 (*.f64 y.re (atan2.f64 x.im x.re)) 1)
(*.f64 y.re (atan2.f64 x.im x.re))
(/.f64 (*.f64 y.re (*.f64 (atan2.f64 x.im x.re) 2)) 2)
(*.f64 y.re (atan2.f64 x.im x.re))
(/.f64 (*.f64 y.re (*.f64 (atan2.f64 x.im x.re) 4)) 4)
(*.f64 y.re (atan2.f64 x.im x.re))
(/.f64 (neg.f64 (*.f64 y.re (atan2.f64 x.im x.re))) -1)
(*.f64 y.re (atan2.f64 x.im x.re))
(/.f64 (*.f64 (*.f64 y.re (atan2.f64 x.im x.re)) 8) 8)
(*.f64 y.re (atan2.f64 x.im x.re))
(/.f64 (*.f64 2 (*.f64 (*.f64 y.re (atan2.f64 x.im x.re)) 8)) 16)
(*.f64 y.re (atan2.f64 x.im x.re))
(/.f64 (*.f64 2 (neg.f64 (*.f64 y.re (atan2.f64 x.im x.re)))) -2)
(*.f64 y.re (atan2.f64 x.im x.re))
(/.f64 (+.f64 (*.f64 2 (*.f64 (*.f64 y.re (atan2.f64 x.im x.re)) 8)) (*.f64 2 (*.f64 (*.f64 y.re (atan2.f64 x.im x.re)) 8))) 32)
(*.f64 y.re (atan2.f64 x.im x.re))
(/.f64 (/.f64 (*.f64 2 (neg.f64 (*.f64 y.re (atan2.f64 x.im x.re)))) -1) 2)
(*.f64 y.re (atan2.f64 x.im x.re))
(neg.f64 (neg.f64 (*.f64 y.re (atan2.f64 x.im x.re))))
(*.f64 y.re (atan2.f64 x.im x.re))

localize36.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
1.5b
(*.f64 (atan2.f64 x.im x.re) y.re)
2.3b
(*.f64 (atan2.f64 x.im x.re) y.im)
29.8b
(sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))
30.5b
(sin.f64 (+.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) y.im) (*.f64 (atan2.f64 x.im x.re) y.re)))
Compiler

Compiled 154 to 20 computations (87% saved)

localize260.0ms (0.5%)

Local error

Found 4 expressions with local error:

NewErrorProgram
1.5b
(*.f64 (atan2.f64 x.im x.re) y.re)
2.3b
(*.f64 (atan2.f64 x.im x.re) y.im)
29.8b
(sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))
30.5b
(sin.f64 (+.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) y.im) (*.f64 (atan2.f64 x.im x.re) y.re)))
Compiler

Compiled 154 to 20 computations (87% saved)

localize35.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
1.5b
(*.f64 (atan2.f64 x.im x.re) y.re)
2.3b
(*.f64 (atan2.f64 x.im x.re) y.im)
15.0b
(sin.f64 (+.f64 (*.f64 (log.f64 x.im) y.im) (*.f64 (atan2.f64 x.im x.re) y.re)))
29.8b
(sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))
Compiler

Compiled 154 to 20 computations (87% saved)

series56.0ms (0.1%)

Counts
1 → 48
Calls

12 calls:

TimeVariablePointExpression
25.0ms
x.im
@0
(sin.f64 (+.f64 (*.f64 (log.f64 x.im) y.im) (*.f64 (atan2.f64 x.im x.re) y.re)))
12.0ms
x.im
@-inf
(sin.f64 (+.f64 (*.f64 (log.f64 x.im) y.im) (*.f64 (atan2.f64 x.im x.re) y.re)))
9.0ms
x.re
@0
(sin.f64 (+.f64 (*.f64 (log.f64 x.im) y.im) (*.f64 (atan2.f64 x.im x.re) y.re)))
6.0ms
x.im
@inf
(sin.f64 (+.f64 (*.f64 (log.f64 x.im) y.im) (*.f64 (atan2.f64 x.im x.re) y.re)))
1.0ms
x.re
@inf
(sin.f64 (+.f64 (*.f64 (log.f64 x.im) y.im) (*.f64 (atan2.f64 x.im x.re) y.re)))

rewrite94.0ms (0.2%)

Algorithm
batch-egg-rewrite
Rules
1920×bool.json-1
1920×bool.json-2
1078×rational.json-1
1078×rational.json-2
1078×rational.json-4
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01333
112933
234033
370633
4152233
5353833
6723933
Stop Event
node limit
Counts
1 → 28
Calls
Call 1
Inputs
(sin.f64 (+.f64 (*.f64 (log.f64 x.im) y.im) (*.f64 (atan2.f64 x.im x.re) y.re)))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (sin.f64 (+.f64 (*.f64 (log.f64 x.im) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (sin.f64 (+.f64 (*.f64 (log.f64 x.im) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 -1 (-.f64 1 (neg.f64 (sin.f64 (+.f64 (*.f64 (log.f64 x.im) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (sin.f64 (+.f64 (*.f64 (log.f64 x.im) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))) 1/2) (*.f64 (sin.f64 (+.f64 (*.f64 (log.f64 x.im) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 1 (neg.f64 (sin.f64 (+.f64 (*.f64 (log.f64 x.im) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (sin.f64 (+.f64 (*.f64 (log.f64 x.im) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (neg.f64 (sin.f64 (+.f64 (*.f64 (log.f64 x.im) y.im) (*.f64 (atan2.f64 x.im x.re) y.re)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sin.f64 (+.f64 (*.f64 (log.f64 x.im) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (sin.f64 (+.f64 (*.f64 (log.f64 x.im) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (sin.f64 (+.f64 (*.f64 (log.f64 x.im) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sin.f64 (+.f64 (*.f64 (log.f64 x.im) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 (sin.f64 (+.f64 (*.f64 (log.f64 x.im) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sin.f64 (+.f64 (*.f64 (log.f64 x.im) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 (sin.f64 (+.f64 (*.f64 (log.f64 x.im) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (neg.f64 (sin.f64 (+.f64 (*.f64 (log.f64 x.im) y.im) (*.f64 (atan2.f64 x.im x.re) y.re)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sin.f64 (+.f64 (*.f64 (log.f64 x.im) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))) 1/2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (sin.f64 (+.f64 (*.f64 (log.f64 x.im) y.im) (*.f64 (atan2.f64 x.im x.re) y.re)))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (sin.f64 (+.f64 (*.f64 (log.f64 x.im) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sin.f64 (+.f64 (*.f64 (log.f64 x.im) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sin.f64 (+.f64 (*.f64 (log.f64 x.im) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sin.f64 (+.f64 (*.f64 (log.f64 x.im) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sin.f64 (+.f64 (*.f64 (log.f64 x.im) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (sin.f64 (+.f64 (*.f64 (log.f64 x.im) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))) 4)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (sin.f64 (+.f64 (*.f64 (log.f64 x.im) y.im) (*.f64 (atan2.f64 x.im x.re) y.re)))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (sin.f64 (+.f64 (*.f64 (log.f64 x.im) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))) 4))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (neg.f64 (sin.f64 (+.f64 (*.f64 (log.f64 x.im) y.im) (*.f64 (atan2.f64 x.im x.re) y.re)))) (neg.f64 (sin.f64 (+.f64 (*.f64 (log.f64 x.im) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))))) -2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (sin.f64 (+.f64 (*.f64 (log.f64 x.im) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))) 4))) (*.f64 2 (*.f64 2 (*.f64 (sin.f64 (+.f64 (*.f64 (log.f64 x.im) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))) 4)))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (neg.f64 (sin.f64 (+.f64 (*.f64 (log.f64 x.im) y.im) (*.f64 (atan2.f64 x.im x.re) y.re)))))))) (#(struct:change #<rule egg-rr> (2) ((x not (not (sin.f64 (+.f64 (*.f64 (log.f64 x.im) y.im) (*.f64 (atan2.f64 x.im x.re) y.re)))))))) (#(struct:change #<rule egg-rr> (2) ((x and (sin.f64 (+.f64 (*.f64 (log.f64 x.im) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))) (sin.f64 (+.f64 (*.f64 (log.f64 x.im) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))))))) (#(struct:change #<rule egg-rr> (2) ((x or (sin.f64 (+.f64 (*.f64 (log.f64 x.im) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))) (sin.f64 (+.f64 (*.f64 (log.f64 x.im) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))))))))

simplify267.0ms (0.5%)

Algorithm
egg-herbie
Rules
2536×rational.json-simplify-1
1818×rational.json-simplify-35
1052×rational.json-simplify-41
974×rational.json-simplify-2
876×rational.json-simplify-26
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01233072
12603056
25773056
313043014
426543014
542003014
655253014
763233014
868313014
971543014
1076503014
Stop Event
node limit
Counts
76 → 65
Calls
Call 1
Inputs
(sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.im))))
(sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.im))))
(sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.im))))
(sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.im))))
(sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 -1 (*.f64 (log.f64 (/.f64 1 x.im)) y.im))))
(sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 -1 (*.f64 (log.f64 (/.f64 1 x.im)) y.im))))
(sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 -1 (*.f64 (log.f64 (/.f64 1 x.im)) y.im))))
(sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 -1 (*.f64 (log.f64 (/.f64 1 x.im)) y.im))))
(sin.f64 (+.f64 (*.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 x.im)))) y.im) (*.f64 y.re (atan2.f64 x.im x.re))))
(sin.f64 (+.f64 (*.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 x.im)))) y.im) (*.f64 y.re (atan2.f64 x.im x.re))))
(sin.f64 (+.f64 (*.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 x.im)))) y.im) (*.f64 y.re (atan2.f64 x.im x.re))))
(sin.f64 (+.f64 (*.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 x.im)))) y.im) (*.f64 y.re (atan2.f64 x.im x.re))))
(sin.f64 (*.f64 y.re (atan2.f64 x.im x.re)))
(+.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (*.f64 (log.f64 x.im) (*.f64 y.im (cos.f64 (*.f64 y.re (atan2.f64 x.im x.re))))))
(+.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (+.f64 (*.f64 -1/2 (*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (*.f64 (pow.f64 (log.f64 x.im) 2) (pow.f64 y.im 2)))) (*.f64 (log.f64 x.im) (*.f64 y.im (cos.f64 (*.f64 y.re (atan2.f64 x.im x.re)))))))
(+.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (+.f64 (*.f64 -1/6 (*.f64 (pow.f64 y.im 3) (*.f64 (pow.f64 (log.f64 x.im) 3) (cos.f64 (*.f64 y.re (atan2.f64 x.im x.re)))))) (+.f64 (*.f64 -1/2 (*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (*.f64 (pow.f64 (log.f64 x.im) 2) (pow.f64 y.im 2)))) (*.f64 (log.f64 x.im) (*.f64 y.im (cos.f64 (*.f64 y.re (atan2.f64 x.im x.re))))))))
(sin.f64 (+.f64 (*.f64 (log.f64 x.im) y.im) (*.f64 y.re (atan2.f64 x.im x.re))))
(sin.f64 (+.f64 (*.f64 (log.f64 x.im) y.im) (*.f64 y.re (atan2.f64 x.im x.re))))
(sin.f64 (+.f64 (*.f64 (log.f64 x.im) y.im) (*.f64 y.re (atan2.f64 x.im x.re))))
(sin.f64 (+.f64 (*.f64 (log.f64 x.im) y.im) (*.f64 y.re (atan2.f64 x.im x.re))))
(sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.im))))
(sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.im))))
(sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.im))))
(sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.im))))
(sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.im))))
(sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.im))))
(sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.im))))
(sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.im))))
(sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.im))))
(sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.im))))
(sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.im))))
(sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.im))))
(sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.im))))
(sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.im))))
(sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.im))))
(sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.im))))
(sin.f64 (*.f64 y.im (log.f64 x.im)))
(+.f64 (sin.f64 (*.f64 y.im (log.f64 x.im))) (*.f64 y.re (*.f64 (atan2.f64 x.im x.re) (cos.f64 (*.f64 y.im (log.f64 x.im))))))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y.re 2) (*.f64 (pow.f64 (atan2.f64 x.im x.re) 2) (sin.f64 (*.f64 y.im (log.f64 x.im)))))) (+.f64 (sin.f64 (*.f64 y.im (log.f64 x.im))) (*.f64 y.re (*.f64 (atan2.f64 x.im x.re) (cos.f64 (*.f64 y.im (log.f64 x.im)))))))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y.re 2) (*.f64 (pow.f64 (atan2.f64 x.im x.re) 2) (sin.f64 (*.f64 y.im (log.f64 x.im)))))) (+.f64 (sin.f64 (*.f64 y.im (log.f64 x.im))) (+.f64 (*.f64 -1/6 (*.f64 (pow.f64 y.re 3) (*.f64 (pow.f64 (atan2.f64 x.im x.re) 3) (cos.f64 (*.f64 y.im (log.f64 x.im)))))) (*.f64 y.re (*.f64 (atan2.f64 x.im x.re) (cos.f64 (*.f64 y.im (log.f64 x.im))))))))
(sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.im))))
(sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.im))))
(sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.im))))
(sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.im))))
(sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.im))))
(sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.im))))
(sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.im))))
(sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.im))))
(+.f64 (sin.f64 (+.f64 (*.f64 (log.f64 x.im) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))) 0)
(+.f64 0 (sin.f64 (+.f64 (*.f64 (log.f64 x.im) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))))
(+.f64 -1 (-.f64 1 (neg.f64 (sin.f64 (+.f64 (*.f64 (log.f64 x.im) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))))))
(+.f64 (*.f64 (sin.f64 (+.f64 (*.f64 (log.f64 x.im) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))) 1/2) (*.f64 (sin.f64 (+.f64 (*.f64 (log.f64 x.im) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))) 1/2))
(+.f64 (-.f64 1 (neg.f64 (sin.f64 (+.f64 (*.f64 (log.f64 x.im) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))))) -1)
(-.f64 (sin.f64 (+.f64 (*.f64 (log.f64 x.im) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))) 0)
(-.f64 0 (neg.f64 (sin.f64 (+.f64 (*.f64 (log.f64 x.im) y.im) (*.f64 (atan2.f64 x.im x.re) y.re)))))
(*.f64 (sin.f64 (+.f64 (*.f64 (log.f64 x.im) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))) 1)
(*.f64 1 (sin.f64 (+.f64 (*.f64 (log.f64 x.im) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))))
(*.f64 2 (*.f64 (sin.f64 (+.f64 (*.f64 (log.f64 x.im) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))) 1/2))
(*.f64 (*.f64 (sin.f64 (+.f64 (*.f64 (log.f64 x.im) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))) 2) 1/2)
(*.f64 4 (/.f64 (sin.f64 (+.f64 (*.f64 (log.f64 x.im) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))) 4))
(*.f64 (*.f64 (sin.f64 (+.f64 (*.f64 (log.f64 x.im) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))) 4) 1/4)
(*.f64 1/2 (*.f64 (sin.f64 (+.f64 (*.f64 (log.f64 x.im) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))) 2))
(*.f64 -1 (neg.f64 (sin.f64 (+.f64 (*.f64 (log.f64 x.im) y.im) (*.f64 (atan2.f64 x.im x.re) y.re)))))
(*.f64 (*.f64 (sin.f64 (+.f64 (*.f64 (log.f64 x.im) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))) 1/2) 2)
(*.f64 (neg.f64 (sin.f64 (+.f64 (*.f64 (log.f64 x.im) y.im) (*.f64 (atan2.f64 x.im x.re) y.re)))) -1)
(*.f64 1/4 (*.f64 (sin.f64 (+.f64 (*.f64 (log.f64 x.im) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))) 4))
(*.f64 (/.f64 (sin.f64 (+.f64 (*.f64 (log.f64 x.im) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))) 4) 4)
(/.f64 (sin.f64 (+.f64 (*.f64 (log.f64 x.im) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))) 1)
(/.f64 (*.f64 (sin.f64 (+.f64 (*.f64 (log.f64 x.im) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))) 2) 2)
(/.f64 (*.f64 (sin.f64 (+.f64 (*.f64 (log.f64 x.im) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))) 4) 4)
(/.f64 (*.f64 2 (*.f64 (sin.f64 (+.f64 (*.f64 (log.f64 x.im) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))) 4)) 8)
(/.f64 (neg.f64 (sin.f64 (+.f64 (*.f64 (log.f64 x.im) y.im) (*.f64 (atan2.f64 x.im x.re) y.re)))) -1)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (sin.f64 (+.f64 (*.f64 (log.f64 x.im) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))) 4))) 16)
(/.f64 (+.f64 (neg.f64 (sin.f64 (+.f64 (*.f64 (log.f64 x.im) y.im) (*.f64 (atan2.f64 x.im x.re) y.re)))) (neg.f64 (sin.f64 (+.f64 (*.f64 (log.f64 x.im) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))))) -2)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (sin.f64 (+.f64 (*.f64 (log.f64 x.im) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))) 4))) (*.f64 2 (*.f64 2 (*.f64 (sin.f64 (+.f64 (*.f64 (log.f64 x.im) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))) 4)))) 32)
(neg.f64 (neg.f64 (sin.f64 (+.f64 (*.f64 (log.f64 x.im) y.im) (*.f64 (atan2.f64 x.im x.re) y.re)))))
Outputs
(sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.im))))
(sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.im))))
(sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.im))))
(sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.im))))
(sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 -1 (*.f64 (log.f64 (/.f64 1 x.im)) y.im))))
(sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 (log.f64 (/.f64 1 x.im)) (*.f64 y.im -1))))
(sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 (log.f64 (/.f64 1 x.im)) (neg.f64 y.im))))
(sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 -1 (*.f64 (log.f64 (/.f64 1 x.im)) y.im))))
(sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 (log.f64 (/.f64 1 x.im)) (*.f64 y.im -1))))
(sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 (log.f64 (/.f64 1 x.im)) (neg.f64 y.im))))
(sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 -1 (*.f64 (log.f64 (/.f64 1 x.im)) y.im))))
(sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 (log.f64 (/.f64 1 x.im)) (*.f64 y.im -1))))
(sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 (log.f64 (/.f64 1 x.im)) (neg.f64 y.im))))
(sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 -1 (*.f64 (log.f64 (/.f64 1 x.im)) y.im))))
(sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 (log.f64 (/.f64 1 x.im)) (*.f64 y.im -1))))
(sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 (log.f64 (/.f64 1 x.im)) (neg.f64 y.im))))
(sin.f64 (+.f64 (*.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 x.im)))) y.im) (*.f64 y.re (atan2.f64 x.im x.re))))
(sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 x.im)))))))
(sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (+.f64 (log.f64 -1) (neg.f64 (log.f64 (/.f64 -1 x.im)))))))
(sin.f64 (+.f64 (*.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 x.im)))) y.im) (*.f64 y.re (atan2.f64 x.im x.re))))
(sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 x.im)))))))
(sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (+.f64 (log.f64 -1) (neg.f64 (log.f64 (/.f64 -1 x.im)))))))
(sin.f64 (+.f64 (*.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 x.im)))) y.im) (*.f64 y.re (atan2.f64 x.im x.re))))
(sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 x.im)))))))
(sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (+.f64 (log.f64 -1) (neg.f64 (log.f64 (/.f64 -1 x.im)))))))
(sin.f64 (+.f64 (*.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 x.im)))) y.im) (*.f64 y.re (atan2.f64 x.im x.re))))
(sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 x.im)))))))
(sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (+.f64 (log.f64 -1) (neg.f64 (log.f64 (/.f64 -1 x.im)))))))
(sin.f64 (*.f64 y.re (atan2.f64 x.im x.re)))
(+.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (*.f64 (log.f64 x.im) (*.f64 y.im (cos.f64 (*.f64 y.re (atan2.f64 x.im x.re))))))
(+.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (*.f64 y.im (*.f64 (cos.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (log.f64 x.im))))
(+.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (*.f64 (cos.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (*.f64 y.im (log.f64 x.im))))
(+.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (*.f64 y.im (*.f64 (log.f64 x.im) (cos.f64 (*.f64 y.re (atan2.f64 x.im x.re))))))
(+.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (+.f64 (*.f64 -1/2 (*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (*.f64 (pow.f64 (log.f64 x.im) 2) (pow.f64 y.im 2)))) (*.f64 (log.f64 x.im) (*.f64 y.im (cos.f64 (*.f64 y.re (atan2.f64 x.im x.re)))))))
(+.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (+.f64 (*.f64 y.im (*.f64 (cos.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (log.f64 x.im))) (*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (*.f64 (*.f64 (pow.f64 (log.f64 x.im) 2) (pow.f64 y.im 2)) -1/2))))
(+.f64 (+.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (*.f64 (cos.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (*.f64 y.im (log.f64 x.im)))) (*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (*.f64 -1/2 (*.f64 (pow.f64 (log.f64 x.im) 2) (pow.f64 y.im 2)))))
(+.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (+.f64 (*.f64 y.im (*.f64 (log.f64 x.im) (cos.f64 (*.f64 y.re (atan2.f64 x.im x.re))))) (*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (*.f64 (pow.f64 (log.f64 x.im) 2) (*.f64 (pow.f64 y.im 2) -1/2)))))
(+.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (+.f64 (*.f64 y.im (*.f64 (log.f64 x.im) (cos.f64 (*.f64 y.re (atan2.f64 x.im x.re))))) (*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (*.f64 -1/2 (*.f64 (pow.f64 (log.f64 x.im) 2) (pow.f64 y.im 2))))))
(+.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (+.f64 (*.f64 -1/6 (*.f64 (pow.f64 y.im 3) (*.f64 (pow.f64 (log.f64 x.im) 3) (cos.f64 (*.f64 y.re (atan2.f64 x.im x.re)))))) (+.f64 (*.f64 -1/2 (*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (*.f64 (pow.f64 (log.f64 x.im) 2) (pow.f64 y.im 2)))) (*.f64 (log.f64 x.im) (*.f64 y.im (cos.f64 (*.f64 y.re (atan2.f64 x.im x.re))))))))
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 y.im 3) (*.f64 (cos.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (pow.f64 (log.f64 x.im) 3)))) (+.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (+.f64 (*.f64 y.im (*.f64 (cos.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (log.f64 x.im))) (*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (*.f64 (*.f64 (pow.f64 (log.f64 x.im) 2) (pow.f64 y.im 2)) -1/2)))))
(+.f64 (+.f64 (+.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (*.f64 (cos.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (*.f64 y.im (log.f64 x.im)))) (*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (*.f64 -1/2 (*.f64 (pow.f64 (log.f64 x.im) 2) (pow.f64 y.im 2))))) (*.f64 -1/6 (*.f64 (cos.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (*.f64 (pow.f64 (log.f64 x.im) 3) (pow.f64 y.im 3)))))
(+.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (+.f64 (*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (*.f64 (pow.f64 (log.f64 x.im) 2) (*.f64 (pow.f64 y.im 2) -1/2))) (+.f64 (*.f64 y.im (*.f64 (log.f64 x.im) (cos.f64 (*.f64 y.re (atan2.f64 x.im x.re))))) (*.f64 (cos.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (*.f64 (*.f64 (pow.f64 y.im 3) (pow.f64 (log.f64 x.im) 3)) -1/6)))))
(+.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (+.f64 (*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (*.f64 -1/2 (*.f64 (pow.f64 (log.f64 x.im) 2) (pow.f64 y.im 2)))) (*.f64 (cos.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (+.f64 (*.f64 y.im (log.f64 x.im)) (*.f64 -1/6 (*.f64 (pow.f64 y.im 3) (pow.f64 (log.f64 x.im) 3)))))))
(sin.f64 (+.f64 (*.f64 (log.f64 x.im) y.im) (*.f64 y.re (atan2.f64 x.im x.re))))
(sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.im))))
(sin.f64 (+.f64 (*.f64 (log.f64 x.im) y.im) (*.f64 y.re (atan2.f64 x.im x.re))))
(sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.im))))
(sin.f64 (+.f64 (*.f64 (log.f64 x.im) y.im) (*.f64 y.re (atan2.f64 x.im x.re))))
(sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.im))))
(sin.f64 (+.f64 (*.f64 (log.f64 x.im) y.im) (*.f64 y.re (atan2.f64 x.im x.re))))
(sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.im))))
(sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.im))))
(sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.im))))
(sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.im))))
(sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.im))))
(sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.im))))
(sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.im))))
(sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.im))))
(sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.im))))
(sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.im))))
(sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.im))))
(sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.im))))
(sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.im))))
(sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.im))))
(sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.im))))
(sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.im))))
(sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.im))))
(sin.f64 (*.f64 y.im (log.f64 x.im)))
(+.f64 (sin.f64 (*.f64 y.im (log.f64 x.im))) (*.f64 y.re (*.f64 (atan2.f64 x.im x.re) (cos.f64 (*.f64 y.im (log.f64 x.im))))))
(+.f64 (sin.f64 (*.f64 y.im (log.f64 x.im))) (*.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (cos.f64 (*.f64 y.im (log.f64 x.im)))))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y.re 2) (*.f64 (pow.f64 (atan2.f64 x.im x.re) 2) (sin.f64 (*.f64 y.im (log.f64 x.im)))))) (+.f64 (sin.f64 (*.f64 y.im (log.f64 x.im))) (*.f64 y.re (*.f64 (atan2.f64 x.im x.re) (cos.f64 (*.f64 y.im (log.f64 x.im)))))))
(+.f64 (sin.f64 (*.f64 y.im (log.f64 x.im))) (+.f64 (*.f64 y.re (*.f64 (atan2.f64 x.im x.re) (cos.f64 (*.f64 y.im (log.f64 x.im))))) (*.f64 -1/2 (*.f64 (pow.f64 y.re 2) (*.f64 (sin.f64 (*.f64 y.im (log.f64 x.im))) (pow.f64 (atan2.f64 x.im x.re) 2))))))
(+.f64 (sin.f64 (*.f64 y.im (log.f64 x.im))) (+.f64 (*.f64 y.re (*.f64 (atan2.f64 x.im x.re) (cos.f64 (*.f64 y.im (log.f64 x.im))))) (*.f64 (*.f64 (sin.f64 (*.f64 y.im (log.f64 x.im))) (pow.f64 (atan2.f64 x.im x.re) 2)) (*.f64 (pow.f64 y.re 2) -1/2))))
(+.f64 (sin.f64 (*.f64 y.im (log.f64 x.im))) (+.f64 (*.f64 y.re (*.f64 (atan2.f64 x.im x.re) (cos.f64 (*.f64 y.im (log.f64 x.im))))) (*.f64 -1/2 (*.f64 (sin.f64 (*.f64 y.im (log.f64 x.im))) (*.f64 (pow.f64 y.re 2) (pow.f64 (atan2.f64 x.im x.re) 2))))))
(+.f64 (sin.f64 (*.f64 y.im (log.f64 x.im))) (+.f64 (*.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (cos.f64 (*.f64 y.im (log.f64 x.im)))) (*.f64 -1/2 (*.f64 (sin.f64 (*.f64 y.im (log.f64 x.im))) (*.f64 (pow.f64 y.re 2) (pow.f64 (atan2.f64 x.im x.re) 2))))))
(+.f64 (+.f64 (sin.f64 (*.f64 y.im (log.f64 x.im))) (*.f64 y.re (*.f64 (atan2.f64 x.im x.re) (cos.f64 (*.f64 y.im (log.f64 x.im)))))) (*.f64 -1/2 (*.f64 (sin.f64 (*.f64 y.im (log.f64 x.im))) (*.f64 (pow.f64 y.re 2) (pow.f64 (atan2.f64 x.im x.re) 2)))))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y.re 2) (*.f64 (pow.f64 (atan2.f64 x.im x.re) 2) (sin.f64 (*.f64 y.im (log.f64 x.im)))))) (+.f64 (sin.f64 (*.f64 y.im (log.f64 x.im))) (+.f64 (*.f64 -1/6 (*.f64 (pow.f64 y.re 3) (*.f64 (pow.f64 (atan2.f64 x.im x.re) 3) (cos.f64 (*.f64 y.im (log.f64 x.im)))))) (*.f64 y.re (*.f64 (atan2.f64 x.im x.re) (cos.f64 (*.f64 y.im (log.f64 x.im))))))))
(+.f64 (sin.f64 (*.f64 y.im (log.f64 x.im))) (+.f64 (+.f64 (*.f64 y.re (*.f64 (atan2.f64 x.im x.re) (cos.f64 (*.f64 y.im (log.f64 x.im))))) (*.f64 -1/6 (*.f64 (pow.f64 (atan2.f64 x.im x.re) 3) (*.f64 (cos.f64 (*.f64 y.im (log.f64 x.im))) (pow.f64 y.re 3))))) (*.f64 -1/2 (*.f64 (pow.f64 y.re 2) (*.f64 (sin.f64 (*.f64 y.im (log.f64 x.im))) (pow.f64 (atan2.f64 x.im x.re) 2))))))
(+.f64 (*.f64 -1/6 (*.f64 (cos.f64 (*.f64 y.im (log.f64 x.im))) (*.f64 (pow.f64 (atan2.f64 x.im x.re) 3) (pow.f64 y.re 3)))) (+.f64 (sin.f64 (*.f64 y.im (log.f64 x.im))) (+.f64 (*.f64 y.re (*.f64 (atan2.f64 x.im x.re) (cos.f64 (*.f64 y.im (log.f64 x.im))))) (*.f64 (*.f64 (sin.f64 (*.f64 y.im (log.f64 x.im))) (pow.f64 (atan2.f64 x.im x.re) 2)) (*.f64 (pow.f64 y.re 2) -1/2)))))
(+.f64 (sin.f64 (*.f64 y.im (log.f64 x.im))) (+.f64 (*.f64 y.re (*.f64 (atan2.f64 x.im x.re) (cos.f64 (*.f64 y.im (log.f64 x.im))))) (+.f64 (*.f64 -1/6 (*.f64 (cos.f64 (*.f64 y.im (log.f64 x.im))) (*.f64 (pow.f64 y.re 3) (pow.f64 (atan2.f64 x.im x.re) 3)))) (*.f64 -1/2 (*.f64 (sin.f64 (*.f64 y.im (log.f64 x.im))) (*.f64 (pow.f64 y.re 2) (pow.f64 (atan2.f64 x.im x.re) 2)))))))
(+.f64 (sin.f64 (*.f64 y.im (log.f64 x.im))) (+.f64 (*.f64 -1/2 (*.f64 (sin.f64 (*.f64 y.im (log.f64 x.im))) (*.f64 (pow.f64 y.re 2) (pow.f64 (atan2.f64 x.im x.re) 2)))) (*.f64 (cos.f64 (*.f64 y.im (log.f64 x.im))) (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 -1/6 (*.f64 (pow.f64 y.re 3) (pow.f64 (atan2.f64 x.im x.re) 3)))))))
(sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.im))))
(sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.im))))
(sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.im))))
(sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.im))))
(sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.im))))
(sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.im))))
(sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.im))))
(sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.im))))
(+.f64 (sin.f64 (+.f64 (*.f64 (log.f64 x.im) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))) 0)
(sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.im))))
(+.f64 0 (sin.f64 (+.f64 (*.f64 (log.f64 x.im) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))))
(sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.im))))
(+.f64 -1 (-.f64 1 (neg.f64 (sin.f64 (+.f64 (*.f64 (log.f64 x.im) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))))))
(sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.im))))
(+.f64 (*.f64 (sin.f64 (+.f64 (*.f64 (log.f64 x.im) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))) 1/2) (*.f64 (sin.f64 (+.f64 (*.f64 (log.f64 x.im) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))) 1/2))
(sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.im))))
(+.f64 (-.f64 1 (neg.f64 (sin.f64 (+.f64 (*.f64 (log.f64 x.im) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))))) -1)
(sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.im))))
(-.f64 (sin.f64 (+.f64 (*.f64 (log.f64 x.im) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))) 0)
(sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.im))))
(-.f64 0 (neg.f64 (sin.f64 (+.f64 (*.f64 (log.f64 x.im) y.im) (*.f64 (atan2.f64 x.im x.re) y.re)))))
(sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.im))))
(*.f64 (sin.f64 (+.f64 (*.f64 (log.f64 x.im) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))) 1)
(sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.im))))
(*.f64 1 (sin.f64 (+.f64 (*.f64 (log.f64 x.im) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))))
(sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.im))))
(*.f64 2 (*.f64 (sin.f64 (+.f64 (*.f64 (log.f64 x.im) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))) 1/2))
(sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.im))))
(*.f64 (*.f64 (sin.f64 (+.f64 (*.f64 (log.f64 x.im) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))) 2) 1/2)
(sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.im))))
(*.f64 4 (/.f64 (sin.f64 (+.f64 (*.f64 (log.f64 x.im) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))) 4))
(sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.im))))
(*.f64 (*.f64 (sin.f64 (+.f64 (*.f64 (log.f64 x.im) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))) 4) 1/4)
(sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.im))))
(*.f64 1/2 (*.f64 (sin.f64 (+.f64 (*.f64 (log.f64 x.im) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))) 2))
(sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.im))))
(*.f64 -1 (neg.f64 (sin.f64 (+.f64 (*.f64 (log.f64 x.im) y.im) (*.f64 (atan2.f64 x.im x.re) y.re)))))
(sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.im))))
(*.f64 (*.f64 (sin.f64 (+.f64 (*.f64 (log.f64 x.im) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))) 1/2) 2)
(sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.im))))
(*.f64 (neg.f64 (sin.f64 (+.f64 (*.f64 (log.f64 x.im) y.im) (*.f64 (atan2.f64 x.im x.re) y.re)))) -1)
(sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.im))))
(*.f64 1/4 (*.f64 (sin.f64 (+.f64 (*.f64 (log.f64 x.im) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))) 4))
(sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.im))))
(*.f64 (/.f64 (sin.f64 (+.f64 (*.f64 (log.f64 x.im) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))) 4) 4)
(sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.im))))
(/.f64 (sin.f64 (+.f64 (*.f64 (log.f64 x.im) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))) 1)
(sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.im))))
(/.f64 (*.f64 (sin.f64 (+.f64 (*.f64 (log.f64 x.im) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))) 2) 2)
(sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.im))))
(/.f64 (*.f64 (sin.f64 (+.f64 (*.f64 (log.f64 x.im) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))) 4) 4)
(sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.im))))
(/.f64 (*.f64 2 (*.f64 (sin.f64 (+.f64 (*.f64 (log.f64 x.im) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))) 4)) 8)
(sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.im))))
(/.f64 (neg.f64 (sin.f64 (+.f64 (*.f64 (log.f64 x.im) y.im) (*.f64 (atan2.f64 x.im x.re) y.re)))) -1)
(sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.im))))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (sin.f64 (+.f64 (*.f64 (log.f64 x.im) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))) 4))) 16)
(sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.im))))
(/.f64 (+.f64 (neg.f64 (sin.f64 (+.f64 (*.f64 (log.f64 x.im) y.im) (*.f64 (atan2.f64 x.im x.re) y.re)))) (neg.f64 (sin.f64 (+.f64 (*.f64 (log.f64 x.im) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))))) -2)
(sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.im))))
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (sin.f64 (+.f64 (*.f64 (log.f64 x.im) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))) 4))) (*.f64 2 (*.f64 2 (*.f64 (sin.f64 (+.f64 (*.f64 (log.f64 x.im) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))) 4)))) 32)
(sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.im))))
(neg.f64 (neg.f64 (sin.f64 (+.f64 (*.f64 (log.f64 x.im) y.im) (*.f64 (atan2.f64 x.im x.re) y.re)))))
(sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.im))))

localize85.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
1.5b
(*.f64 (atan2.f64 x.im x.re) y.re)
2.3b
(*.f64 (atan2.f64 x.im x.re) y.im)
29.8b
(sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))
30.5b
(sin.f64 (+.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) y.im) (*.f64 (atan2.f64 x.im x.re) y.re)))
Compiler

Compiled 161 to 21 computations (87% saved)

eval1.7s (3.4%)

Compiler

Compiled 57998 to 24523 computations (57.7% saved)

prune401.0ms (0.8%)

Pruning

12 alts after pruning (12 fresh and 0 done)

PrunedKeptTotal
New997121009
Fresh202
Picked101
Done404
Total1004121016
Error
3.1b
Counts
1016 → 12
Alt Table
Click to see full alt table
StatusErrorProgram
29.8b
(*.f64 (exp.f64 (-.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) y.re) (*.f64 (atan2.f64 x.im x.re) y.im))) (*.f64 y.re (atan2.f64 x.im x.re)))
41.7b
(*.f64 (exp.f64 (-.f64 (*.f64 (log.f64 (neg.f64 x.re)) y.re) (*.f64 (atan2.f64 x.im x.re) y.im))) (sin.f64 (+.f64 (*.f64 (log.f64 (neg.f64 x.re)) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))))
53.2b
(*.f64 (exp.f64 (-.f64 (*.f64 (log.f64 (neg.f64 x.re)) y.re) (*.f64 (atan2.f64 x.im x.re) y.im))) (sin.f64 (+.f64 (*.f64 (log.f64 (neg.f64 x.im)) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))))
45.1b
(*.f64 (exp.f64 (-.f64 (*.f64 (log.f64 (neg.f64 x.re)) y.re) (*.f64 (atan2.f64 x.im x.re) y.im))) (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))))
45.5b
(*.f64 (exp.f64 (-.f64 (*.f64 (log.f64 (neg.f64 x.im)) y.re) (*.f64 (atan2.f64 x.im x.re) y.im))) (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))))
54.4b
(*.f64 (exp.f64 (-.f64 (*.f64 (log.f64 x.re) y.re) (*.f64 (atan2.f64 x.im x.re) y.im))) (sin.f64 (+.f64 (*.f64 (log.f64 (+.f64 (neg.f64 x.im) (*.f64 -1/2 (/.f64 (pow.f64 x.re 2) x.im)))) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))))
51.1b
(*.f64 (exp.f64 (-.f64 (*.f64 (log.f64 x.re) y.re) (*.f64 (atan2.f64 x.im x.re) y.im))) (sin.f64 (+.f64 (*.f64 (log.f64 (neg.f64 x.im)) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))))
40.3b
(*.f64 (exp.f64 (-.f64 (*.f64 (log.f64 x.re) y.re) (*.f64 (atan2.f64 x.im x.re) y.im))) (sin.f64 (+.f64 (*.f64 (log.f64 x.re) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))))
47.5b
(*.f64 (exp.f64 (-.f64 (*.f64 (log.f64 x.re) y.re) (*.f64 (atan2.f64 x.im x.re) y.im))) (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))))
50.8b
(*.f64 (exp.f64 (-.f64 (*.f64 (log.f64 x.im) y.re) (*.f64 (atan2.f64 x.im x.re) y.im))) (sin.f64 (+.f64 (*.f64 (log.f64 (neg.f64 x.re)) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))))
41.8b
(*.f64 (exp.f64 (-.f64 (*.f64 (log.f64 x.im) y.re) (*.f64 (atan2.f64 x.im x.re) y.im))) (sin.f64 (+.f64 (*.f64 (log.f64 x.im) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))))
45.8b
(*.f64 (exp.f64 (-.f64 (*.f64 (log.f64 x.im) y.re) (*.f64 (atan2.f64 x.im x.re) y.im))) (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))))
Compiler

Compiled 644 to 382 computations (40.7% saved)

localize26.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.3b
(*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) y.re)
1.5b
(*.f64 y.re (atan2.f64 x.im x.re))
2.3b
(*.f64 (atan2.f64 x.im x.re) y.im)
29.8b
(sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))
Compiler

Compiled 121 to 16 computations (86.8% saved)

series36.0ms (0.1%)

Counts
1 → 36
Calls

9 calls:

TimeVariablePointExpression
33.0ms
y.re
@0
(*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) y.re)
0.0ms
x.re
@inf
(*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) y.re)
0.0ms
x.re
@0
(*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) y.re)
0.0ms
x.im
@inf
(*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) y.re)
0.0ms
y.re
@inf
(*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) y.re)

rewrite120.0ms (0.2%)

Algorithm
batch-egg-rewrite
Rules
1510×rational.json-simplify-35
1160×bool.json-1
1160×bool.json-2
1146×rational.json-1
1146×rational.json-2
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01233
111733
230633
374633
4283133
Stop Event
node limit
Counts
1 → 8
Calls
Call 1
Inputs
(*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) y.re)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) y.re) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) y.re))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) y.re) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) y.re) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) (+.f64 y.re y.re)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) y.re) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) y.re) 4)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) y.re) 4)) (*.f64 2 (*.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) y.re) 4))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) y.re)))))) (#(struct:change #<rule egg-rr> (2) ((x and (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) y.re) (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) y.re))))) (#(struct:change #<rule egg-rr> (2) ((x or (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) y.re) (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) y.re))))))

simplify1.0s (2%)

Algorithm
egg-herbie
Rules
1056×rational.json-simplify-35
1048×rational.json-simplify-41
872×rational.json-simplify-61
764×rational.json-simplify-54
746×rational.json-simplify-1
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01292508
13032404
25662380
310932260
427782260
563602260
673832260
Stop Event
node limit
Counts
44 → 121
Calls
Call 1
Inputs
(*.f64 y.re (log.f64 x.im))
(+.f64 (*.f64 y.re (log.f64 x.im)) (*.f64 1/2 (/.f64 (*.f64 (pow.f64 x.re 2) y.re) (pow.f64 x.im 2))))
(+.f64 (*.f64 y.re (log.f64 x.im)) (+.f64 (*.f64 -1/4 (/.f64 (*.f64 (pow.f64 x.re 4) y.re) (pow.f64 x.im 4))) (*.f64 1/2 (/.f64 (*.f64 (pow.f64 x.re 2) y.re) (pow.f64 x.im 2)))))
(+.f64 (*.f64 y.re (log.f64 x.im)) (+.f64 (*.f64 -1/4 (/.f64 (*.f64 (pow.f64 x.re 4) y.re) (pow.f64 x.im 4))) (+.f64 (*.f64 1/2 (/.f64 (*.f64 (pow.f64 x.re 2) y.re) (pow.f64 x.im 2))) (*.f64 1/6 (/.f64 (*.f64 (pow.f64 x.re 6) y.re) (pow.f64 x.im 6))))))
(*.f64 -1 (*.f64 (log.f64 (/.f64 1 x.re)) y.re))
(+.f64 (*.f64 1/2 (/.f64 (*.f64 y.re (pow.f64 x.im 2)) (pow.f64 x.re 2))) (*.f64 -1 (*.f64 (log.f64 (/.f64 1 x.re)) y.re)))
(+.f64 (*.f64 1/2 (/.f64 (*.f64 y.re (pow.f64 x.im 2)) (pow.f64 x.re 2))) (+.f64 (*.f64 -1/4 (/.f64 (*.f64 y.re (pow.f64 x.im 4)) (pow.f64 x.re 4))) (*.f64 -1 (*.f64 (log.f64 (/.f64 1 x.re)) y.re))))
(+.f64 (*.f64 1/720 (/.f64 (*.f64 (+.f64 (*.f64 30 (pow.f64 x.im 6)) (*.f64 90 (pow.f64 x.im 6))) y.re) (pow.f64 x.re 6))) (+.f64 (*.f64 1/2 (/.f64 (*.f64 y.re (pow.f64 x.im 2)) (pow.f64 x.re 2))) (+.f64 (*.f64 -1/4 (/.f64 (*.f64 y.re (pow.f64 x.im 4)) (pow.f64 x.re 4))) (*.f64 -1 (*.f64 (log.f64 (/.f64 1 x.re)) y.re)))))
(*.f64 -1 (*.f64 y.re (log.f64 (/.f64 -1 x.re))))
(+.f64 (*.f64 -1 (*.f64 y.re (log.f64 (/.f64 -1 x.re)))) (*.f64 1/2 (/.f64 (*.f64 y.re (pow.f64 x.im 2)) (pow.f64 x.re 2))))
(+.f64 (*.f64 -1 (*.f64 y.re (log.f64 (/.f64 -1 x.re)))) (+.f64 (*.f64 1/2 (/.f64 (*.f64 y.re (pow.f64 x.im 2)) (pow.f64 x.re 2))) (*.f64 -1/4 (/.f64 (*.f64 y.re (pow.f64 x.im 4)) (pow.f64 x.re 4)))))
(+.f64 (*.f64 1/720 (/.f64 (*.f64 (+.f64 (*.f64 30 (pow.f64 x.im 6)) (*.f64 90 (pow.f64 x.im 6))) y.re) (pow.f64 x.re 6))) (+.f64 (*.f64 -1 (*.f64 y.re (log.f64 (/.f64 -1 x.re)))) (+.f64 (*.f64 1/2 (/.f64 (*.f64 y.re (pow.f64 x.im 2)) (pow.f64 x.re 2))) (*.f64 -1/4 (/.f64 (*.f64 y.re (pow.f64 x.im 4)) (pow.f64 x.re 4))))))
(*.f64 y.re (log.f64 x.re))
(+.f64 (*.f64 1/2 (/.f64 (*.f64 y.re (pow.f64 x.im 2)) (pow.f64 x.re 2))) (*.f64 y.re (log.f64 x.re)))
(+.f64 (*.f64 1/2 (/.f64 (*.f64 y.re (pow.f64 x.im 2)) (pow.f64 x.re 2))) (+.f64 (*.f64 -1/4 (/.f64 (*.f64 y.re (pow.f64 x.im 4)) (pow.f64 x.re 4))) (*.f64 y.re (log.f64 x.re))))
(+.f64 (*.f64 1/2 (/.f64 (*.f64 y.re (pow.f64 x.im 2)) (pow.f64 x.re 2))) (+.f64 (*.f64 -1/4 (/.f64 (*.f64 y.re (pow.f64 x.im 4)) (pow.f64 x.re 4))) (+.f64 (*.f64 1/6 (/.f64 (*.f64 y.re (pow.f64 x.im 6)) (pow.f64 x.re 6))) (*.f64 y.re (log.f64 x.re)))))
(*.f64 -1 (*.f64 (log.f64 (/.f64 1 x.im)) y.re))
(+.f64 (*.f64 1/2 (/.f64 (*.f64 (pow.f64 x.re 2) y.re) (pow.f64 x.im 2))) (*.f64 -1 (*.f64 (log.f64 (/.f64 1 x.im)) y.re)))
(+.f64 (*.f64 -1/4 (/.f64 (*.f64 (pow.f64 x.re 4) y.re) (pow.f64 x.im 4))) (+.f64 (*.f64 1/2 (/.f64 (*.f64 (pow.f64 x.re 2) y.re) (pow.f64 x.im 2))) (*.f64 -1 (*.f64 (log.f64 (/.f64 1 x.im)) y.re))))
(+.f64 (*.f64 -1/4 (/.f64 (*.f64 (pow.f64 x.re 4) y.re) (pow.f64 x.im 4))) (+.f64 (*.f64 1/2 (/.f64 (*.f64 (pow.f64 x.re 2) y.re) (pow.f64 x.im 2))) (+.f64 (*.f64 1/720 (/.f64 (*.f64 (+.f64 (*.f64 90 (pow.f64 x.re 6)) (*.f64 30 (pow.f64 x.re 6))) y.re) (pow.f64 x.im 6))) (*.f64 -1 (*.f64 (log.f64 (/.f64 1 x.im)) y.re)))))
(*.f64 -1 (*.f64 (log.f64 (/.f64 -1 x.im)) y.re))
(+.f64 (*.f64 1/2 (/.f64 (*.f64 (pow.f64 x.re 2) y.re) (pow.f64 x.im 2))) (*.f64 -1 (*.f64 (log.f64 (/.f64 -1 x.im)) y.re)))
(+.f64 (*.f64 -1/4 (/.f64 (*.f64 (pow.f64 x.re 4) y.re) (pow.f64 x.im 4))) (+.f64 (*.f64 1/2 (/.f64 (*.f64 (pow.f64 x.re 2) y.re) (pow.f64 x.im 2))) (*.f64 -1 (*.f64 (log.f64 (/.f64 -1 x.im)) y.re))))
(+.f64 (*.f64 -1/4 (/.f64 (*.f64 (pow.f64 x.re 4) y.re) (pow.f64 x.im 4))) (+.f64 (*.f64 1/2 (/.f64 (*.f64 (pow.f64 x.re 2) y.re) (pow.f64 x.im 2))) (+.f64 (*.f64 1/720 (/.f64 (*.f64 (+.f64 (*.f64 90 (pow.f64 x.re 6)) (*.f64 30 (pow.f64 x.re 6))) y.re) (pow.f64 x.im 6))) (*.f64 -1 (*.f64 (log.f64 (/.f64 -1 x.im)) y.re)))))
(*.f64 y.re (log.f64 (sqrt.f64 (+.f64 (pow.f64 x.im 2) (pow.f64 x.re 2)))))
(*.f64 y.re (log.f64 (sqrt.f64 (+.f64 (pow.f64 x.im 2) (pow.f64 x.re 2)))))
(*.f64 y.re (log.f64 (sqrt.f64 (+.f64 (pow.f64 x.im 2) (pow.f64 x.re 2)))))
(*.f64 y.re (log.f64 (sqrt.f64 (+.f64 (pow.f64 x.im 2) (pow.f64 x.re 2)))))
(*.f64 y.re (log.f64 (sqrt.f64 (+.f64 (pow.f64 x.im 2) (pow.f64 x.re 2)))))
(*.f64 y.re (log.f64 (sqrt.f64 (+.f64 (pow.f64 x.im 2) (pow.f64 x.re 2)))))
(*.f64 y.re (log.f64 (sqrt.f64 (+.f64 (pow.f64 x.im 2) (pow.f64 x.re 2)))))
(*.f64 y.re (log.f64 (sqrt.f64 (+.f64 (pow.f64 x.im 2) (pow.f64 x.re 2)))))
(*.f64 y.re (log.f64 (sqrt.f64 (+.f64 (pow.f64 x.im 2) (pow.f64 x.re 2)))))
(*.f64 y.re (log.f64 (sqrt.f64 (+.f64 (pow.f64 x.im 2) (pow.f64 x.re 2)))))
(*.f64 y.re (log.f64 (sqrt.f64 (+.f64 (pow.f64 x.im 2) (pow.f64 x.re 2)))))
(*.f64 y.re (log.f64 (sqrt.f64 (+.f64 (pow.f64 x.im 2) (pow.f64 x.re 2)))))
(+.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) y.re) 0)
(+.f64 0 (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) y.re))
(-.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) y.re) 0)
(/.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) y.re) 1)
(/.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) (+.f64 y.re y.re)) 2)
(/.f64 (*.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) y.re) 4) 4)
(/.f64 (*.f64 2 (*.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) y.re) 4)) 8)
(/.f64 (+.f64 (*.f64 2 (*.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) y.re) 4)) (*.f64 2 (*.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) y.re) 4))) 16)
Outputs
(*.f64 y.re (log.f64 x.im))
(+.f64 (*.f64 y.re (log.f64 x.im)) (*.f64 1/2 (/.f64 (*.f64 (pow.f64 x.re 2) y.re) (pow.f64 x.im 2))))
(+.f64 (*.f64 y.re (log.f64 x.im)) (*.f64 1/2 (/.f64 (*.f64 y.re (pow.f64 x.re 2)) (pow.f64 x.im 2))))
(*.f64 y.re (+.f64 (log.f64 x.im) (*.f64 1/2 (/.f64 (pow.f64 x.re 2) (pow.f64 x.im 2)))))
(+.f64 (*.f64 y.re (log.f64 x.im)) (+.f64 (*.f64 -1/4 (/.f64 (*.f64 (pow.f64 x.re 4) y.re) (pow.f64 x.im 4))) (*.f64 1/2 (/.f64 (*.f64 (pow.f64 x.re 2) y.re) (pow.f64 x.im 2)))))
(+.f64 (*.f64 -1/4 (*.f64 y.re (/.f64 (pow.f64 x.re 4) (pow.f64 x.im 4)))) (+.f64 (*.f64 y.re (log.f64 x.im)) (*.f64 1/2 (/.f64 (*.f64 y.re (pow.f64 x.re 2)) (pow.f64 x.im 2)))))
(+.f64 (*.f64 y.re (log.f64 x.im)) (+.f64 (*.f64 1/2 (/.f64 (*.f64 y.re (pow.f64 x.re 2)) (pow.f64 x.im 2))) (*.f64 y.re (*.f64 (/.f64 (pow.f64 x.re 4) (pow.f64 x.im 4)) -1/4))))
(+.f64 (*.f64 1/2 (/.f64 (*.f64 y.re (pow.f64 x.re 2)) (pow.f64 x.im 2))) (*.f64 y.re (+.f64 (log.f64 x.im) (*.f64 -1/4 (/.f64 (pow.f64 x.re 4) (pow.f64 x.im 4))))))
(*.f64 y.re (+.f64 (*.f64 -1/4 (/.f64 (pow.f64 x.re 4) (pow.f64 x.im 4))) (+.f64 (log.f64 x.im) (*.f64 1/2 (/.f64 (pow.f64 x.re 2) (pow.f64 x.im 2))))))
(*.f64 y.re (+.f64 (log.f64 x.im) (+.f64 (*.f64 -1/4 (/.f64 (pow.f64 x.re 4) (pow.f64 x.im 4))) (*.f64 1/2 (/.f64 (pow.f64 x.re 2) (pow.f64 x.im 2))))))
(+.f64 (*.f64 y.re (log.f64 x.im)) (+.f64 (*.f64 -1/4 (/.f64 (*.f64 (pow.f64 x.re 4) y.re) (pow.f64 x.im 4))) (+.f64 (*.f64 1/2 (/.f64 (*.f64 (pow.f64 x.re 2) y.re) (pow.f64 x.im 2))) (*.f64 1/6 (/.f64 (*.f64 (pow.f64 x.re 6) y.re) (pow.f64 x.im 6))))))
(+.f64 (*.f64 y.re (log.f64 x.im)) (+.f64 (*.f64 1/2 (/.f64 (*.f64 y.re (pow.f64 x.re 2)) (pow.f64 x.im 2))) (+.f64 (*.f64 1/6 (*.f64 y.re (/.f64 (pow.f64 x.re 6) (pow.f64 x.im 6)))) (*.f64 -1/4 (*.f64 y.re (/.f64 (pow.f64 x.re 4) (pow.f64 x.im 4)))))))
(+.f64 (*.f64 y.re (log.f64 x.im)) (+.f64 (*.f64 1/2 (/.f64 (*.f64 y.re (pow.f64 x.re 2)) (pow.f64 x.im 2))) (+.f64 (*.f64 y.re (*.f64 (/.f64 (pow.f64 x.re 4) (pow.f64 x.im 4)) -1/4)) (*.f64 1/6 (*.f64 (pow.f64 x.re 6) (/.f64 y.re (pow.f64 x.im 6)))))))
(+.f64 (*.f64 y.re (*.f64 -1/4 (/.f64 (pow.f64 x.re 4) (pow.f64 x.im 4)))) (+.f64 (*.f64 1/6 (*.f64 (pow.f64 x.re 6) (/.f64 y.re (pow.f64 x.im 6)))) (*.f64 y.re (+.f64 (log.f64 x.im) (*.f64 1/2 (/.f64 (pow.f64 x.re 2) (pow.f64 x.im 2)))))))
(+.f64 (*.f64 y.re (+.f64 (log.f64 x.im) (*.f64 1/2 (/.f64 (pow.f64 x.re 2) (pow.f64 x.im 2))))) (*.f64 y.re (+.f64 (*.f64 1/6 (/.f64 (pow.f64 x.re 6) (pow.f64 x.im 6))) (*.f64 -1/4 (/.f64 (pow.f64 x.re 4) (pow.f64 x.im 4))))))
(+.f64 (*.f64 y.re (+.f64 (*.f64 -1/4 (/.f64 (pow.f64 x.re 4) (pow.f64 x.im 4))) (*.f64 1/2 (/.f64 (pow.f64 x.re 2) (pow.f64 x.im 2))))) (*.f64 y.re (+.f64 (log.f64 x.im) (*.f64 1/6 (/.f64 (pow.f64 x.re 6) (pow.f64 x.im 6))))))
(*.f64 -1 (*.f64 (log.f64 (/.f64 1 x.re)) y.re))
(*.f64 (log.f64 (/.f64 1 x.re)) (*.f64 y.re -1))
(neg.f64 (*.f64 y.re (log.f64 (/.f64 1 x.re))))
(*.f64 y.re (neg.f64 (log.f64 (/.f64 1 x.re))))
(+.f64 (*.f64 1/2 (/.f64 (*.f64 y.re (pow.f64 x.im 2)) (pow.f64 x.re 2))) (*.f64 -1 (*.f64 (log.f64 (/.f64 1 x.re)) y.re)))
(+.f64 (*.f64 (log.f64 (/.f64 1 x.re)) (*.f64 y.re -1)) (*.f64 1/2 (*.f64 (pow.f64 x.im 2) (/.f64 y.re (pow.f64 x.re 2)))))
(+.f64 (neg.f64 (*.f64 y.re (log.f64 (/.f64 1 x.re)))) (*.f64 1/2 (*.f64 y.re (/.f64 (pow.f64 x.im 2) (pow.f64 x.re 2)))))
(*.f64 y.re (+.f64 (neg.f64 (log.f64 (/.f64 1 x.re))) (*.f64 1/2 (/.f64 (pow.f64 x.im 2) (pow.f64 x.re 2)))))
(+.f64 (*.f64 1/2 (/.f64 (*.f64 y.re (pow.f64 x.im 2)) (pow.f64 x.re 2))) (+.f64 (*.f64 -1/4 (/.f64 (*.f64 y.re (pow.f64 x.im 4)) (pow.f64 x.re 4))) (*.f64 -1 (*.f64 (log.f64 (/.f64 1 x.re)) y.re))))
(+.f64 (*.f64 -1/4 (*.f64 (pow.f64 x.im 4) (/.f64 y.re (pow.f64 x.re 4)))) (+.f64 (*.f64 (log.f64 (/.f64 1 x.re)) (*.f64 y.re -1)) (*.f64 1/2 (*.f64 (pow.f64 x.im 2) (/.f64 y.re (pow.f64 x.re 2))))))
(+.f64 (neg.f64 (*.f64 y.re (log.f64 (/.f64 1 x.re)))) (+.f64 (*.f64 1/2 (*.f64 y.re (/.f64 (pow.f64 x.im 2) (pow.f64 x.re 2)))) (*.f64 -1/4 (*.f64 y.re (/.f64 (pow.f64 x.im 4) (pow.f64 x.re 4))))))
(+.f64 (*.f64 y.re (+.f64 (neg.f64 (log.f64 (/.f64 1 x.re))) (*.f64 1/2 (/.f64 (pow.f64 x.im 2) (pow.f64 x.re 2))))) (*.f64 (/.f64 y.re (pow.f64 x.re 4)) (*.f64 -1/4 (pow.f64 x.im 4))))
(+.f64 (*.f64 (/.f64 (pow.f64 x.im 2) (pow.f64 x.re 2)) (*.f64 y.re 1/2)) (*.f64 y.re (+.f64 (neg.f64 (log.f64 (/.f64 1 x.re))) (*.f64 -1/4 (/.f64 (pow.f64 x.im 4) (pow.f64 x.re 4))))))
(+.f64 (*.f64 1/720 (/.f64 (*.f64 (+.f64 (*.f64 30 (pow.f64 x.im 6)) (*.f64 90 (pow.f64 x.im 6))) y.re) (pow.f64 x.re 6))) (+.f64 (*.f64 1/2 (/.f64 (*.f64 y.re (pow.f64 x.im 2)) (pow.f64 x.re 2))) (+.f64 (*.f64 -1/4 (/.f64 (*.f64 y.re (pow.f64 x.im 4)) (pow.f64 x.re 4))) (*.f64 -1 (*.f64 (log.f64 (/.f64 1 x.re)) y.re)))))
(+.f64 (*.f64 1/2 (*.f64 (pow.f64 x.im 2) (/.f64 y.re (pow.f64 x.re 2)))) (+.f64 (+.f64 (*.f64 (log.f64 (/.f64 1 x.re)) (*.f64 y.re -1)) (*.f64 -1/4 (*.f64 (pow.f64 x.im 4) (/.f64 y.re (pow.f64 x.re 4))))) (*.f64 1/720 (*.f64 y.re (/.f64 (+.f64 (*.f64 (pow.f64 x.im 6) 30) (*.f64 (pow.f64 x.im 6) 90)) (pow.f64 x.re 6))))))
(+.f64 (*.f64 1/2 (*.f64 y.re (/.f64 (pow.f64 x.im 2) (pow.f64 x.re 2)))) (+.f64 (+.f64 (neg.f64 (*.f64 y.re (log.f64 (/.f64 1 x.re)))) (*.f64 -1/4 (*.f64 y.re (/.f64 (pow.f64 x.im 4) (pow.f64 x.re 4))))) (*.f64 1/720 (*.f64 y.re (/.f64 (*.f64 (pow.f64 x.im 6) 120) (pow.f64 x.re 6))))))
(+.f64 (*.f64 1/2 (*.f64 y.re (/.f64 (pow.f64 x.im 2) (pow.f64 x.re 2)))) (+.f64 (+.f64 (neg.f64 (*.f64 y.re (log.f64 (/.f64 1 x.re)))) (*.f64 -1/4 (*.f64 y.re (/.f64 (pow.f64 x.im 4) (pow.f64 x.re 4))))) (*.f64 1/720 (*.f64 y.re (*.f64 120 (/.f64 (pow.f64 x.im 6) (pow.f64 x.re 6)))))))
(+.f64 (*.f64 y.re (+.f64 (neg.f64 (log.f64 (/.f64 1 x.re))) (*.f64 -1/4 (/.f64 (pow.f64 x.im 4) (pow.f64 x.re 4))))) (*.f64 y.re (+.f64 (*.f64 1/720 (*.f64 (pow.f64 x.im 6) (/.f64 120 (pow.f64 x.re 6)))) (*.f64 1/2 (/.f64 (pow.f64 x.im 2) (pow.f64 x.re 2))))))
(+.f64 (*.f64 y.re (+.f64 (neg.f64 (log.f64 (/.f64 1 x.re))) (*.f64 1/2 (/.f64 (pow.f64 x.im 2) (pow.f64 x.re 2))))) (*.f64 y.re (+.f64 (*.f64 1/720 (*.f64 (pow.f64 x.im 6) (/.f64 120 (pow.f64 x.re 6)))) (*.f64 -1/4 (/.f64 (pow.f64 x.im 4) (pow.f64 x.re 4))))))
(*.f64 -1 (*.f64 y.re (log.f64 (/.f64 -1 x.re))))
(*.f64 y.re (*.f64 (log.f64 (/.f64 -1 x.re)) -1))
(*.f64 y.re (neg.f64 (log.f64 (/.f64 -1 x.re))))
(*.f64 (log.f64 (/.f64 -1 x.re)) (neg.f64 y.re))
(+.f64 (*.f64 -1 (*.f64 y.re (log.f64 (/.f64 -1 x.re)))) (*.f64 1/2 (/.f64 (*.f64 y.re (pow.f64 x.im 2)) (pow.f64 x.re 2))))
(+.f64 (*.f64 1/2 (*.f64 (pow.f64 x.im 2) (/.f64 y.re (pow.f64 x.re 2)))) (*.f64 y.re (*.f64 (log.f64 (/.f64 -1 x.re)) -1)))
(+.f64 (*.f64 1/2 (*.f64 y.re (/.f64 (pow.f64 x.im 2) (pow.f64 x.re 2)))) (*.f64 y.re (neg.f64 (log.f64 (/.f64 -1 x.re)))))
(*.f64 y.re (+.f64 (neg.f64 (log.f64 (/.f64 -1 x.re))) (*.f64 1/2 (/.f64 (pow.f64 x.im 2) (pow.f64 x.re 2)))))
(+.f64 (*.f64 -1 (*.f64 y.re (log.f64 (/.f64 -1 x.re)))) (+.f64 (*.f64 1/2 (/.f64 (*.f64 y.re (pow.f64 x.im 2)) (pow.f64 x.re 2))) (*.f64 -1/4 (/.f64 (*.f64 y.re (pow.f64 x.im 4)) (pow.f64 x.re 4)))))
(+.f64 (*.f64 1/2 (*.f64 (pow.f64 x.im 2) (/.f64 y.re (pow.f64 x.re 2)))) (+.f64 (*.f64 -1/4 (*.f64 (pow.f64 x.im 4) (/.f64 y.re (pow.f64 x.re 4)))) (*.f64 y.re (*.f64 (log.f64 (/.f64 -1 x.re)) -1))))
(+.f64 (*.f64 1/2 (*.f64 y.re (/.f64 (pow.f64 x.im 2) (pow.f64 x.re 2)))) (+.f64 (*.f64 -1/4 (*.f64 y.re (/.f64 (pow.f64 x.im 4) (pow.f64 x.re 4)))) (*.f64 y.re (neg.f64 (log.f64 (/.f64 -1 x.re))))))
(+.f64 (*.f64 (/.f64 y.re (pow.f64 x.re 4)) (*.f64 -1/4 (pow.f64 x.im 4))) (*.f64 y.re (+.f64 (neg.f64 (log.f64 (/.f64 -1 x.re))) (*.f64 1/2 (/.f64 (pow.f64 x.im 2) (pow.f64 x.re 2))))))
(+.f64 (*.f64 (/.f64 (pow.f64 x.im 2) (pow.f64 x.re 2)) (*.f64 y.re 1/2)) (*.f64 y.re (+.f64 (neg.f64 (log.f64 (/.f64 -1 x.re))) (*.f64 -1/4 (/.f64 (pow.f64 x.im 4) (pow.f64 x.re 4))))))
(+.f64 (*.f64 1/720 (/.f64 (*.f64 (+.f64 (*.f64 30 (pow.f64 x.im 6)) (*.f64 90 (pow.f64 x.im 6))) y.re) (pow.f64 x.re 6))) (+.f64 (*.f64 -1 (*.f64 y.re (log.f64 (/.f64 -1 x.re)))) (+.f64 (*.f64 1/2 (/.f64 (*.f64 y.re (pow.f64 x.im 2)) (pow.f64 x.re 2))) (*.f64 -1/4 (/.f64 (*.f64 y.re (pow.f64 x.im 4)) (pow.f64 x.re 4))))))
(+.f64 (*.f64 1/720 (*.f64 y.re (/.f64 (+.f64 (*.f64 (pow.f64 x.im 6) 30) (*.f64 (pow.f64 x.im 6) 90)) (pow.f64 x.re 6)))) (+.f64 (*.f64 1/2 (*.f64 (pow.f64 x.im 2) (/.f64 y.re (pow.f64 x.re 2)))) (+.f64 (*.f64 -1/4 (*.f64 (pow.f64 x.im 4) (/.f64 y.re (pow.f64 x.re 4)))) (*.f64 y.re (*.f64 (log.f64 (/.f64 -1 x.re)) -1)))))
(+.f64 (*.f64 1/2 (*.f64 y.re (/.f64 (pow.f64 x.im 2) (pow.f64 x.re 2)))) (+.f64 (+.f64 (*.f64 -1/4 (*.f64 y.re (/.f64 (pow.f64 x.im 4) (pow.f64 x.re 4)))) (*.f64 y.re (neg.f64 (log.f64 (/.f64 -1 x.re))))) (*.f64 1/720 (*.f64 y.re (/.f64 (*.f64 (pow.f64 x.im 6) 120) (pow.f64 x.re 6))))))
(+.f64 (+.f64 (*.f64 1/2 (*.f64 y.re (/.f64 (pow.f64 x.im 2) (pow.f64 x.re 2)))) (*.f64 -1/4 (*.f64 y.re (/.f64 (pow.f64 x.im 4) (pow.f64 x.re 4))))) (*.f64 y.re (+.f64 (neg.f64 (log.f64 (/.f64 -1 x.re))) (*.f64 1/720 (*.f64 120 (/.f64 (pow.f64 x.im 6) (pow.f64 x.re 6)))))))
(+.f64 (*.f64 y.re (+.f64 (neg.f64 (log.f64 (/.f64 -1 x.re))) (*.f64 1/2 (/.f64 (pow.f64 x.im 2) (pow.f64 x.re 2))))) (*.f64 y.re (+.f64 (*.f64 1/720 (*.f64 (pow.f64 x.im 6) (/.f64 120 (pow.f64 x.re 6)))) (*.f64 -1/4 (/.f64 (pow.f64 x.im 4) (pow.f64 x.re 4))))))
(*.f64 y.re (log.f64 x.re))
(+.f64 (*.f64 1/2 (/.f64 (*.f64 y.re (pow.f64 x.im 2)) (pow.f64 x.re 2))) (*.f64 y.re (log.f64 x.re)))
(+.f64 (*.f64 1/2 (*.f64 (pow.f64 x.im 2) (/.f64 y.re (pow.f64 x.re 2)))) (*.f64 y.re (log.f64 x.re)))
(+.f64 (*.f64 1/2 (*.f64 y.re (/.f64 (pow.f64 x.im 2) (pow.f64 x.re 2)))) (*.f64 y.re (log.f64 x.re)))
(*.f64 y.re (+.f64 (log.f64 x.re) (*.f64 1/2 (/.f64 (pow.f64 x.im 2) (pow.f64 x.re 2)))))
(+.f64 (*.f64 1/2 (/.f64 (*.f64 y.re (pow.f64 x.im 2)) (pow.f64 x.re 2))) (+.f64 (*.f64 -1/4 (/.f64 (*.f64 y.re (pow.f64 x.im 4)) (pow.f64 x.re 4))) (*.f64 y.re (log.f64 x.re))))
(+.f64 (*.f64 -1/4 (*.f64 (pow.f64 x.im 4) (/.f64 y.re (pow.f64 x.re 4)))) (+.f64 (*.f64 1/2 (*.f64 (pow.f64 x.im 2) (/.f64 y.re (pow.f64 x.re 2)))) (*.f64 y.re (log.f64 x.re))))
(+.f64 (*.f64 y.re (log.f64 x.re)) (+.f64 (*.f64 1/2 (*.f64 y.re (/.f64 (pow.f64 x.im 2) (pow.f64 x.re 2)))) (*.f64 -1/4 (*.f64 y.re (/.f64 (pow.f64 x.im 4) (pow.f64 x.re 4))))))
(+.f64 (+.f64 (*.f64 1/2 (*.f64 y.re (/.f64 (pow.f64 x.im 2) (pow.f64 x.re 2)))) (*.f64 -1/4 (*.f64 y.re (/.f64 (pow.f64 x.im 4) (pow.f64 x.re 4))))) (*.f64 y.re (log.f64 x.re)))
(+.f64 (*.f64 (/.f64 y.re (pow.f64 x.re 4)) (*.f64 -1/4 (pow.f64 x.im 4))) (*.f64 y.re (+.f64 (log.f64 x.re) (*.f64 1/2 (/.f64 (pow.f64 x.im 2) (pow.f64 x.re 2))))))
(+.f64 (*.f64 (/.f64 (pow.f64 x.im 2) (pow.f64 x.re 2)) (*.f64 y.re 1/2)) (*.f64 y.re (+.f64 (log.f64 x.re) (*.f64 -1/4 (/.f64 (pow.f64 x.im 4) (pow.f64 x.re 4))))))
(+.f64 (*.f64 1/2 (/.f64 (*.f64 y.re (pow.f64 x.im 2)) (pow.f64 x.re 2))) (+.f64 (*.f64 -1/4 (/.f64 (*.f64 y.re (pow.f64 x.im 4)) (pow.f64 x.re 4))) (+.f64 (*.f64 1/6 (/.f64 (*.f64 y.re (pow.f64 x.im 6)) (pow.f64 x.re 6))) (*.f64 y.re (log.f64 x.re)))))
(+.f64 (*.f64 -1/4 (*.f64 (pow.f64 x.im 4) (/.f64 y.re (pow.f64 x.re 4)))) (+.f64 (+.f64 (*.f64 y.re (log.f64 x.re)) (*.f64 1/6 (*.f64 (pow.f64 x.im 6) (/.f64 y.re (pow.f64 x.re 6))))) (*.f64 1/2 (*.f64 (pow.f64 x.im 2) (/.f64 y.re (pow.f64 x.re 2))))))
(+.f64 (*.f64 1/2 (*.f64 y.re (/.f64 (pow.f64 x.im 2) (pow.f64 x.re 2)))) (+.f64 (*.f64 -1/4 (*.f64 y.re (/.f64 (pow.f64 x.im 4) (pow.f64 x.re 4)))) (+.f64 (*.f64 y.re (log.f64 x.re)) (*.f64 1/6 (*.f64 (pow.f64 x.im 6) (/.f64 y.re (pow.f64 x.re 6)))))))
(+.f64 (+.f64 (*.f64 1/2 (*.f64 (pow.f64 x.im 2) (/.f64 y.re (pow.f64 x.re 2)))) (*.f64 (/.f64 y.re (pow.f64 x.re 4)) (*.f64 -1/4 (pow.f64 x.im 4)))) (*.f64 y.re (+.f64 (log.f64 x.re) (*.f64 1/6 (/.f64 (pow.f64 x.im 6) (pow.f64 x.re 6))))))
(+.f64 (*.f64 (/.f64 y.re (pow.f64 x.re 4)) (*.f64 -1/4 (pow.f64 x.im 4))) (+.f64 (*.f64 (/.f64 (pow.f64 x.im 2) (pow.f64 x.re 2)) (*.f64 y.re 1/2)) (*.f64 y.re (+.f64 (log.f64 x.re) (*.f64 1/6 (/.f64 (pow.f64 x.im 6) (pow.f64 x.re 6)))))))
(*.f64 -1 (*.f64 (log.f64 (/.f64 1 x.im)) y.re))
(*.f64 (log.f64 (/.f64 1 x.im)) (*.f64 y.re -1))
(neg.f64 (*.f64 y.re (log.f64 (/.f64 1 x.im))))
(*.f64 y.re (neg.f64 (log.f64 (/.f64 1 x.im))))
(+.f64 (*.f64 1/2 (/.f64 (*.f64 (pow.f64 x.re 2) y.re) (pow.f64 x.im 2))) (*.f64 -1 (*.f64 (log.f64 (/.f64 1 x.im)) y.re)))
(+.f64 (*.f64 1/2 (/.f64 (*.f64 y.re (pow.f64 x.re 2)) (pow.f64 x.im 2))) (*.f64 (log.f64 (/.f64 1 x.im)) (*.f64 y.re -1)))
(+.f64 (*.f64 1/2 (/.f64 (*.f64 y.re (pow.f64 x.re 2)) (pow.f64 x.im 2))) (neg.f64 (*.f64 y.re (log.f64 (/.f64 1 x.im)))))
(*.f64 y.re (+.f64 (neg.f64 (log.f64 (/.f64 1 x.im))) (*.f64 1/2 (/.f64 (pow.f64 x.re 2) (pow.f64 x.im 2)))))
(*.f64 y.re (+.f64 (*.f64 1/2 (/.f64 (pow.f64 x.re 2) (pow.f64 x.im 2))) (neg.f64 (log.f64 (/.f64 1 x.im)))))
(+.f64 (*.f64 -1/4 (/.f64 (*.f64 (pow.f64 x.re 4) y.re) (pow.f64 x.im 4))) (+.f64 (*.f64 1/2 (/.f64 (*.f64 (pow.f64 x.re 2) y.re) (pow.f64 x.im 2))) (*.f64 -1 (*.f64 (log.f64 (/.f64 1 x.im)) y.re))))
(+.f64 (*.f64 -1/4 (*.f64 y.re (/.f64 (pow.f64 x.re 4) (pow.f64 x.im 4)))) (+.f64 (*.f64 1/2 (/.f64 (*.f64 y.re (pow.f64 x.re 2)) (pow.f64 x.im 2))) (*.f64 (log.f64 (/.f64 1 x.im)) (*.f64 y.re -1))))
(+.f64 (*.f64 y.re (*.f64 (/.f64 (pow.f64 x.re 4) (pow.f64 x.im 4)) -1/4)) (+.f64 (*.f64 1/2 (/.f64 (*.f64 y.re (pow.f64 x.re 2)) (pow.f64 x.im 2))) (neg.f64 (*.f64 y.re (log.f64 (/.f64 1 x.im))))))
(+.f64 (*.f64 y.re (*.f64 -1/4 (/.f64 (pow.f64 x.re 4) (pow.f64 x.im 4)))) (+.f64 (*.f64 1/2 (/.f64 (*.f64 y.re (pow.f64 x.re 2)) (pow.f64 x.im 2))) (neg.f64 (*.f64 y.re (log.f64 (/.f64 1 x.im))))))
(+.f64 (*.f64 y.re (*.f64 1/2 (/.f64 (pow.f64 x.re 2) (pow.f64 x.im 2)))) (*.f64 y.re (+.f64 (neg.f64 (log.f64 (/.f64 1 x.im))) (*.f64 -1/4 (/.f64 (pow.f64 x.re 4) (pow.f64 x.im 4))))))
(+.f64 (*.f64 1/2 (*.f64 (pow.f64 x.re 2) (/.f64 y.re (pow.f64 x.im 2)))) (*.f64 y.re (+.f64 (*.f64 -1/4 (/.f64 (pow.f64 x.re 4) (pow.f64 x.im 4))) (neg.f64 (log.f64 (/.f64 1 x.im))))))
(+.f64 (*.f64 -1/4 (/.f64 (*.f64 (pow.f64 x.re 4) y.re) (pow.f64 x.im 4))) (+.f64 (*.f64 1/2 (/.f64 (*.f64 (pow.f64 x.re 2) y.re) (pow.f64 x.im 2))) (+.f64 (*.f64 1/720 (/.f64 (*.f64 (+.f64 (*.f64 90 (pow.f64 x.re 6)) (*.f64 30 (pow.f64 x.re 6))) y.re) (pow.f64 x.im 6))) (*.f64 -1 (*.f64 (log.f64 (/.f64 1 x.im)) y.re)))))
(+.f64 (*.f64 -1/4 (*.f64 y.re (/.f64 (pow.f64 x.re 4) (pow.f64 x.im 4)))) (+.f64 (*.f64 1/720 (*.f64 y.re (/.f64 (+.f64 (*.f64 (pow.f64 x.re 6) 90) (*.f64 (pow.f64 x.re 6) 30)) (pow.f64 x.im 6)))) (+.f64 (*.f64 1/2 (/.f64 (*.f64 y.re (pow.f64 x.re 2)) (pow.f64 x.im 2))) (*.f64 (log.f64 (/.f64 1 x.im)) (*.f64 y.re -1)))))
(+.f64 (*.f64 1/2 (/.f64 (*.f64 y.re (pow.f64 x.re 2)) (pow.f64 x.im 2))) (+.f64 (*.f64 y.re (*.f64 (/.f64 (pow.f64 x.re 4) (pow.f64 x.im 4)) -1/4)) (+.f64 (neg.f64 (*.f64 y.re (log.f64 (/.f64 1 x.im)))) (*.f64 1/720 (*.f64 y.re (/.f64 (*.f64 (pow.f64 x.re 6) 120) (pow.f64 x.im 6)))))))
(+.f64 (*.f64 1/2 (/.f64 (*.f64 y.re (pow.f64 x.re 2)) (pow.f64 x.im 2))) (+.f64 (*.f64 y.re (*.f64 -1/4 (/.f64 (pow.f64 x.re 4) (pow.f64 x.im 4)))) (+.f64 (neg.f64 (*.f64 y.re (log.f64 (/.f64 1 x.im)))) (*.f64 1/720 (*.f64 y.re (/.f64 (*.f64 (pow.f64 x.re 6) 120) (pow.f64 x.im 6)))))))
(+.f64 (*.f64 y.re (+.f64 (*.f64 -1/4 (/.f64 (pow.f64 x.re 4) (pow.f64 x.im 4))) (*.f64 1/2 (/.f64 (pow.f64 x.re 2) (pow.f64 x.im 2))))) (*.f64 y.re (+.f64 (*.f64 120 (*.f64 (/.f64 (pow.f64 x.re 6) (pow.f64 x.im 6)) 1/720)) (neg.f64 (log.f64 (/.f64 1 x.im))))))
(*.f64 -1 (*.f64 (log.f64 (/.f64 -1 x.im)) y.re))
(*.f64 (log.f64 (/.f64 -1 x.im)) (*.f64 y.re -1))
(*.f64 (log.f64 (/.f64 -1 x.im)) (neg.f64 y.re))
(*.f64 y.re (neg.f64 (log.f64 (/.f64 -1 x.im))))
(+.f64 (*.f64 1/2 (/.f64 (*.f64 (pow.f64 x.re 2) y.re) (pow.f64 x.im 2))) (*.f64 -1 (*.f64 (log.f64 (/.f64 -1 x.im)) y.re)))
(+.f64 (*.f64 1/2 (/.f64 (*.f64 y.re (pow.f64 x.re 2)) (pow.f64 x.im 2))) (*.f64 (log.f64 (/.f64 -1 x.im)) (*.f64 y.re -1)))
(+.f64 (*.f64 1/2 (/.f64 (*.f64 y.re (pow.f64 x.re 2)) (pow.f64 x.im 2))) (*.f64 (log.f64 (/.f64 -1 x.im)) (neg.f64 y.re)))
(*.f64 y.re (+.f64 (neg.f64 (log.f64 (/.f64 -1 x.im))) (*.f64 1/2 (/.f64 (pow.f64 x.re 2) (pow.f64 x.im 2)))))
(*.f64 y.re (+.f64 (*.f64 1/2 (/.f64 (pow.f64 x.re 2) (pow.f64 x.im 2))) (neg.f64 (log.f64 (/.f64 -1 x.im)))))
(+.f64 (*.f64 -1/4 (/.f64 (*.f64 (pow.f64 x.re 4) y.re) (pow.f64 x.im 4))) (+.f64 (*.f64 1/2 (/.f64 (*.f64 (pow.f64 x.re 2) y.re) (pow.f64 x.im 2))) (*.f64 -1 (*.f64 (log.f64 (/.f64 -1 x.im)) y.re))))
(+.f64 (*.f64 1/2 (/.f64 (*.f64 y.re (pow.f64 x.re 2)) (pow.f64 x.im 2))) (+.f64 (*.f64 (log.f64 (/.f64 -1 x.im)) (*.f64 y.re -1)) (*.f64 -1/4 (*.f64 y.re (/.f64 (pow.f64 x.re 4) (pow.f64 x.im 4))))))
(+.f64 (*.f64 y.re (*.f64 (/.f64 (pow.f64 x.re 4) (pow.f64 x.im 4)) -1/4)) (+.f64 (*.f64 1/2 (/.f64 (*.f64 y.re (pow.f64 x.re 2)) (pow.f64 x.im 2))) (*.f64 (log.f64 (/.f64 -1 x.im)) (neg.f64 y.re))))
(+.f64 (*.f64 y.re (*.f64 -1/4 (/.f64 (pow.f64 x.re 4) (pow.f64 x.im 4)))) (+.f64 (*.f64 1/2 (/.f64 (*.f64 y.re (pow.f64 x.re 2)) (pow.f64 x.im 2))) (*.f64 (log.f64 (/.f64 -1 x.im)) (neg.f64 y.re))))
(+.f64 (*.f64 y.re (*.f64 1/2 (/.f64 (pow.f64 x.re 2) (pow.f64 x.im 2)))) (*.f64 y.re (+.f64 (neg.f64 (log.f64 (/.f64 -1 x.im))) (*.f64 -1/4 (/.f64 (pow.f64 x.re 4) (pow.f64 x.im 4))))))
(+.f64 (*.f64 1/2 (*.f64 (pow.f64 x.re 2) (/.f64 y.re (pow.f64 x.im 2)))) (*.f64 y.re (+.f64 (*.f64 -1/4 (/.f64 (pow.f64 x.re 4) (pow.f64 x.im 4))) (neg.f64 (log.f64 (/.f64 -1 x.im))))))
(+.f64 (*.f64 -1/4 (/.f64 (*.f64 (pow.f64 x.re 4) y.re) (pow.f64 x.im 4))) (+.f64 (*.f64 1/2 (/.f64 (*.f64 (pow.f64 x.re 2) y.re) (pow.f64 x.im 2))) (+.f64 (*.f64 1/720 (/.f64 (*.f64 (+.f64 (*.f64 90 (pow.f64 x.re 6)) (*.f64 30 (pow.f64 x.re 6))) y.re) (pow.f64 x.im 6))) (*.f64 -1 (*.f64 (log.f64 (/.f64 -1 x.im)) y.re)))))
(+.f64 (*.f64 1/2 (/.f64 (*.f64 y.re (pow.f64 x.re 2)) (pow.f64 x.im 2))) (+.f64 (+.f64 (*.f64 1/720 (*.f64 y.re (/.f64 (+.f64 (*.f64 (pow.f64 x.re 6) 90) (*.f64 (pow.f64 x.re 6) 30)) (pow.f64 x.im 6)))) (*.f64 (log.f64 (/.f64 -1 x.im)) (*.f64 y.re -1))) (*.f64 -1/4 (*.f64 y.re (/.f64 (pow.f64 x.re 4) (pow.f64 x.im 4))))))
(+.f64 (*.f64 y.re (*.f64 (/.f64 (pow.f64 x.re 4) (pow.f64 x.im 4)) -1/4)) (+.f64 (*.f64 (log.f64 (/.f64 -1 x.im)) (neg.f64 y.re)) (+.f64 (*.f64 1/2 (/.f64 (*.f64 y.re (pow.f64 x.re 2)) (pow.f64 x.im 2))) (*.f64 1/720 (*.f64 y.re (/.f64 (*.f64 (pow.f64 x.re 6) 120) (pow.f64 x.im 6)))))))
(+.f64 (+.f64 (*.f64 1/2 (/.f64 (*.f64 y.re (pow.f64 x.re 2)) (pow.f64 x.im 2))) (*.f64 (log.f64 (/.f64 -1 x.im)) (neg.f64 y.re))) (+.f64 (*.f64 1/720 (*.f64 y.re (/.f64 (*.f64 (pow.f64 x.re 6) 120) (pow.f64 x.im 6)))) (*.f64 y.re (*.f64 -1/4 (/.f64 (pow.f64 x.re 4) (pow.f64 x.im 4))))))
(+.f64 (*.f64 y.re (+.f64 (neg.f64 (log.f64 (/.f64 -1 x.im))) (*.f64 -1/4 (/.f64 (pow.f64 x.re 4) (pow.f64 x.im 4))))) (*.f64 y.re (+.f64 (*.f64 120 (*.f64 (/.f64 (pow.f64 x.re 6) (pow.f64 x.im 6)) 1/720)) (*.f64 1/2 (/.f64 (pow.f64 x.re 2) (pow.f64 x.im 2))))))
(+.f64 (*.f64 y.re (+.f64 (*.f64 -1/4 (/.f64 (pow.f64 x.re 4) (pow.f64 x.im 4))) (*.f64 1/2 (/.f64 (pow.f64 x.re 2) (pow.f64 x.im 2))))) (*.f64 y.re (+.f64 (*.f64 120 (*.f64 (/.f64 (pow.f64 x.re 6) (pow.f64 x.im 6)) 1/720)) (neg.f64 (log.f64 (/.f64 -1 x.im))))))
(*.f64 y.re (log.f64 (sqrt.f64 (+.f64 (pow.f64 x.im 2) (pow.f64 x.re 2)))))
(*.f64 y.re (log.f64 (sqrt.f64 (+.f64 (pow.f64 x.re 2) (pow.f64 x.im 2)))))
(*.f64 y.re (log.f64 (sqrt.f64 (+.f64 (pow.f64 x.im 2) (pow.f64 x.re 2)))))
(*.f64 y.re (log.f64 (sqrt.f64 (+.f64 (pow.f64 x.re 2) (pow.f64 x.im 2)))))
(*.f64 y.re (log.f64 (sqrt.f64 (+.f64 (pow.f64 x.im 2) (pow.f64 x.re 2)))))
(*.f64 y.re (log.f64 (sqrt.f64 (+.f64 (pow.f64 x.re 2) (pow.f64 x.im 2)))))
(*.f64 y.re (log.f64 (sqrt.f64 (+.f64 (pow.f64 x.im 2) (pow.f64 x.re 2)))))
(*.f64 y.re (log.f64 (sqrt.f64 (+.f64 (pow.f64 x.re 2) (pow.f64 x.im 2)))))
(*.f64 y.re (log.f64 (sqrt.f64 (+.f64 (pow.f64 x.im 2) (pow.f64 x.re 2)))))
(*.f64 y.re (log.f64 (sqrt.f64 (+.f64 (pow.f64 x.re 2) (pow.f64 x.im 2)))))
(*.f64 y.re (log.f64 (sqrt.f64 (+.f64 (pow.f64 x.im 2) (pow.f64 x.re 2)))))
(*.f64 y.re (log.f64 (sqrt.f64 (+.f64 (pow.f64 x.re 2) (pow.f64 x.im 2)))))
(*.f64 y.re (log.f64 (sqrt.f64 (+.f64 (pow.f64 x.im 2) (pow.f64 x.re 2)))))
(*.f64 y.re (log.f64 (sqrt.f64 (+.f64 (pow.f64 x.re 2) (pow.f64 x.im 2)))))
(*.f64 y.re (log.f64 (sqrt.f64 (+.f64 (pow.f64 x.im 2) (pow.f64 x.re 2)))))
(*.f64 y.re (log.f64 (sqrt.f64 (+.f64 (pow.f64 x.re 2) (pow.f64 x.im 2)))))
(*.f64 y.re (log.f64 (sqrt.f64 (+.f64 (pow.f64 x.im 2) (pow.f64 x.re 2)))))
(*.f64 y.re (log.f64 (sqrt.f64 (+.f64 (pow.f64 x.re 2) (pow.f64 x.im 2)))))
(*.f64 y.re (log.f64 (sqrt.f64 (+.f64 (pow.f64 x.im 2) (pow.f64 x.re 2)))))
(*.f64 y.re (log.f64 (sqrt.f64 (+.f64 (pow.f64 x.re 2) (pow.f64 x.im 2)))))
(*.f64 y.re (log.f64 (sqrt.f64 (+.f64 (pow.f64 x.im 2) (pow.f64 x.re 2)))))
(*.f64 y.re (log.f64 (sqrt.f64 (+.f64 (pow.f64 x.re 2) (pow.f64 x.im 2)))))
(*.f64 y.re (log.f64 (sqrt.f64 (+.f64 (pow.f64 x.im 2) (pow.f64 x.re 2)))))
(*.f64 y.re (log.f64 (sqrt.f64 (+.f64 (pow.f64 x.re 2) (pow.f64 x.im 2)))))
(+.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) y.re) 0)
(*.f64 y.re (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))))
(+.f64 0 (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) y.re))
(*.f64 y.re (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))))
(-.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) y.re) 0)
(*.f64 y.re (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))))
(/.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) y.re) 1)
(*.f64 y.re (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))))
(/.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) (+.f64 y.re y.re)) 2)
(*.f64 y.re (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))))
(/.f64 (*.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) y.re) 4) 4)
(*.f64 y.re (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))))
(/.f64 (*.f64 2 (*.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) y.re) 4)) 8)
(*.f64 y.re (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))))
(/.f64 (+.f64 (*.f64 2 (*.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) y.re) 4)) (*.f64 2 (*.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) y.re) 4))) 16)
(*.f64 y.re (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))))

localize19.0ms (0%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.3b
(*.f64 (exp.f64 (-.f64 (*.f64 (log.f64 x.im) y.re) (*.f64 (atan2.f64 x.im x.re) y.im))) (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))))
1.5b
(*.f64 y.re (atan2.f64 x.im x.re))
2.3b
(*.f64 (atan2.f64 x.im x.re) y.im)
17.6b
(sin.f64 (*.f64 y.re (atan2.f64 x.im x.re)))
Compiler

Compiled 72 to 13 computations (81.9% saved)

series9.0ms (0%)

Counts
1 → 48
Calls

12 calls:

TimeVariablePointExpression
2.0ms
x.re
@inf
(*.f64 (exp.f64 (-.f64 (*.f64 (log.f64 x.im) y.re) (*.f64 (atan2.f64 x.im x.re) y.im))) (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))))
1.0ms
y.re
@0
(*.f64 (exp.f64 (-.f64 (*.f64 (log.f64 x.im) y.re) (*.f64 (atan2.f64 x.im x.re) y.im))) (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))))
1.0ms
x.im
@-inf
(*.f64 (exp.f64 (-.f64 (*.f64 (log.f64 x.im) y.re) (*.f64 (atan2.f64 x.im x.re) y.im))) (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))))
1.0ms
y.im
@inf
(*.f64 (exp.f64 (-.f64 (*.f64 (log.f64 x.im) y.re) (*.f64 (atan2.f64 x.im x.re) y.im))) (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))))
1.0ms
x.im
@inf
(*.f64 (exp.f64 (-.f64 (*.f64 (log.f64 x.im) y.re) (*.f64 (atan2.f64 x.im x.re) y.im))) (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))))

rewrite113.0ms (0.2%)

Algorithm
batch-egg-rewrite
Rules
1220×bool.json-1
1220×bool.json-2
1196×rational.json-1
1196×rational.json-2
1196×rational.json-4
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01655
115755
240255
384555
4176955
5406655
6793255
Stop Event
node limit
Counts
1 → 18
Calls
Call 1
Inputs
(*.f64 (exp.f64 (-.f64 (*.f64 (log.f64 x.im) y.re) (*.f64 (atan2.f64 x.im x.re) y.im))) (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (exp.f64 (-.f64 (*.f64 (log.f64 x.im) y.re) (*.f64 (atan2.f64 x.im x.re) y.im))) (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re)))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (exp.f64 (-.f64 (*.f64 (log.f64 x.im) y.re) (*.f64 (atan2.f64 x.im x.re) y.im))) (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (exp.f64 (-.f64 (*.f64 (log.f64 x.im) y.re) (*.f64 (atan2.f64 x.im x.re) y.im))) (*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) 1/2)) (*.f64 (exp.f64 (-.f64 (*.f64 (log.f64 x.im) y.re) (*.f64 (atan2.f64 x.im x.re) y.im))) (*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (exp.f64 (-.f64 (*.f64 (log.f64 x.im) y.re) (*.f64 (atan2.f64 x.im x.re) y.im))) (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re)))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (exp.f64 (-.f64 (*.f64 (log.f64 x.im) y.re) (*.f64 (atan2.f64 x.im x.re) y.im))) (/.f64 1 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (exp.f64 (-.f64 (*.f64 (atan2.f64 x.im x.re) y.im) (*.f64 (log.f64 x.im) y.re))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (exp.f64 (-.f64 (*.f64 (log.f64 x.im) y.re) (*.f64 (atan2.f64 x.im x.re) y.im))) (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (exp.f64 (-.f64 (*.f64 (atan2.f64 x.im x.re) y.im) (*.f64 (log.f64 x.im) y.re))) (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) 2) (*.f64 2 (exp.f64 (-.f64 (*.f64 (atan2.f64 x.im x.re) y.im) (*.f64 (log.f64 x.im) y.re)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) 2) (*.f64 (exp.f64 (-.f64 (*.f64 (atan2.f64 x.im x.re) y.im) (*.f64 (log.f64 x.im) y.re))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (exp.f64 (-.f64 (*.f64 (log.f64 x.im) y.re) (*.f64 (atan2.f64 x.im x.re) y.im))) (*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) 2)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (exp.f64 (-.f64 (*.f64 (log.f64 x.im) y.re) (*.f64 (atan2.f64 x.im x.re) y.im))) (*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) 4)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (exp.f64 (-.f64 (*.f64 (log.f64 x.im) y.re) (*.f64 (atan2.f64 x.im x.re) y.im))) (*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) 4))) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re)))) (-.f64 0 (exp.f64 (-.f64 (*.f64 (atan2.f64 x.im x.re) y.im) (*.f64 (log.f64 x.im) y.re)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (exp.f64 (-.f64 (*.f64 (log.f64 x.im) y.re) (*.f64 (atan2.f64 x.im x.re) y.im))) (*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) 4)))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (exp.f64 (*.f64 (atan2.f64 x.im x.re) y.im))) (exp.f64 (neg.f64 (*.f64 (log.f64 x.im) y.re))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (exp.f64 (-.f64 (*.f64 (log.f64 x.im) y.re) (*.f64 (atan2.f64 x.im x.re) y.im))) (*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) 4)))) (*.f64 2 (*.f64 2 (*.f64 (exp.f64 (-.f64 (*.f64 (log.f64 x.im) y.re) (*.f64 (atan2.f64 x.im x.re) y.im))) (*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) 4))))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (exp.f64 (neg.f64 (*.f64 (log.f64 x.im) y.re)))) (exp.f64 (*.f64 (atan2.f64 x.im x.re) y.im)))))) (#(struct:change #<rule egg-rr> (2) ((x not (not (*.f64 (exp.f64 (-.f64 (*.f64 (log.f64 x.im) y.re) (*.f64 (atan2.f64 x.im x.re) y.im))) (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))))))))) (#(struct:change #<rule egg-rr> (2) ((x and (*.f64 (exp.f64 (-.f64 (*.f64 (log.f64 x.im) y.re) (*.f64 (atan2.f64 x.im x.re) y.im))) (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re)))) (*.f64 (exp.f64 (-.f64 (*.f64 (log.f64 x.im) y.re) (*.f64 (atan2.f64 x.im x.re) y.im))) (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re)))))))) (#(struct:change #<rule egg-rr> (2) ((x or (*.f64 (exp.f64 (-.f64 (*.f64 (log.f64 x.im) y.re) (*.f64 (atan2.f64 x.im x.re) y.im))) (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re)))) (*.f64 (exp.f64 (-.f64 (*.f64 (log.f64 x.im) y.re) (*.f64 (atan2.f64 x.im x.re) y.im))) (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re)))))))))

simplify1.2s (2.4%)

Algorithm
egg-herbie
Rules
976×rational.json-simplify-41
926×rational.json-simplify-2
834×rational.json-simplify-53
740×rational.json-simplify-49
614×rational.json-simplify-35
Iterations

Useful iterations: 5 (0.0ms)

IterNodesCost
01454554
13554380
27254222
315744200
442594200
560714196
670554196
Stop Event
node limit
Counts
66 → 69
Calls
Call 1
Inputs
(*.f64 (exp.f64 (-.f64 (*.f64 y.re (log.f64 x.im)) (*.f64 y.im (atan2.f64 x.im x.re)))) (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))))
(*.f64 (exp.f64 (-.f64 (*.f64 y.re (log.f64 x.im)) (*.f64 y.im (atan2.f64 x.im x.re)))) (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))))
(*.f64 (exp.f64 (-.f64 (*.f64 y.re (log.f64 x.im)) (*.f64 y.im (atan2.f64 x.im x.re)))) (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))))
(*.f64 (exp.f64 (-.f64 (*.f64 y.re (log.f64 x.im)) (*.f64 y.im (atan2.f64 x.im x.re)))) (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))))
(*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (exp.f64 (-.f64 (*.f64 -1 (*.f64 (log.f64 (/.f64 1 x.im)) y.re)) (*.f64 (atan2.f64 x.im x.re) y.im))))
(*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (exp.f64 (-.f64 (*.f64 -1 (*.f64 (log.f64 (/.f64 1 x.im)) y.re)) (*.f64 (atan2.f64 x.im x.re) y.im))))
(*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (exp.f64 (-.f64 (*.f64 -1 (*.f64 (log.f64 (/.f64 1 x.im)) y.re)) (*.f64 (atan2.f64 x.im x.re) y.im))))
(*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (exp.f64 (-.f64 (*.f64 -1 (*.f64 (log.f64 (/.f64 1 x.im)) y.re)) (*.f64 (atan2.f64 x.im x.re) y.im))))
(*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (exp.f64 (-.f64 (*.f64 y.re (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 x.im))))) (*.f64 y.im (atan2.f64 x.im x.re)))))
(*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (exp.f64 (-.f64 (*.f64 y.re (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 x.im))))) (*.f64 y.im (atan2.f64 x.im x.re)))))
(*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (exp.f64 (-.f64 (*.f64 y.re (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 x.im))))) (*.f64 y.im (atan2.f64 x.im x.re)))))
(*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (exp.f64 (-.f64 (*.f64 y.re (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 x.im))))) (*.f64 y.im (atan2.f64 x.im x.re)))))
(*.f64 (exp.f64 (neg.f64 (*.f64 y.im (atan2.f64 x.im x.re)))) (*.f64 y.re (atan2.f64 x.im x.re)))
(+.f64 (*.f64 (exp.f64 (neg.f64 (*.f64 y.im (atan2.f64 x.im x.re)))) (*.f64 (pow.f64 y.re 2) (*.f64 (atan2.f64 x.im x.re) (log.f64 x.im)))) (*.f64 (exp.f64 (neg.f64 (*.f64 y.im (atan2.f64 x.im x.re)))) (*.f64 y.re (atan2.f64 x.im x.re))))
(+.f64 (*.f64 (+.f64 (*.f64 -1/6 (*.f64 (exp.f64 (neg.f64 (*.f64 y.im (atan2.f64 x.im x.re)))) (pow.f64 (atan2.f64 x.im x.re) 3))) (*.f64 1/2 (*.f64 (exp.f64 (neg.f64 (*.f64 y.im (atan2.f64 x.im x.re)))) (*.f64 (pow.f64 (log.f64 x.im) 2) (atan2.f64 x.im x.re))))) (pow.f64 y.re 3)) (+.f64 (*.f64 (exp.f64 (neg.f64 (*.f64 y.im (atan2.f64 x.im x.re)))) (*.f64 (pow.f64 y.re 2) (*.f64 (atan2.f64 x.im x.re) (log.f64 x.im)))) (*.f64 (exp.f64 (neg.f64 (*.f64 y.im (atan2.f64 x.im x.re)))) (*.f64 y.re (atan2.f64 x.im x.re)))))
(+.f64 (*.f64 (+.f64 (*.f64 -1/6 (*.f64 (exp.f64 (neg.f64 (*.f64 y.im (atan2.f64 x.im x.re)))) (pow.f64 (atan2.f64 x.im x.re) 3))) (*.f64 1/2 (*.f64 (exp.f64 (neg.f64 (*.f64 y.im (atan2.f64 x.im x.re)))) (*.f64 (pow.f64 (log.f64 x.im) 2) (atan2.f64 x.im x.re))))) (pow.f64 y.re 3)) (+.f64 (*.f64 (exp.f64 (neg.f64 (*.f64 y.im (atan2.f64 x.im x.re)))) (*.f64 (pow.f64 y.re 2) (*.f64 (atan2.f64 x.im x.re) (log.f64 x.im)))) (+.f64 (*.f64 (+.f64 (*.f64 1/6 (*.f64 (exp.f64 (neg.f64 (*.f64 y.im (atan2.f64 x.im x.re)))) (*.f64 (pow.f64 (log.f64 x.im) 3) (atan2.f64 x.im x.re)))) (*.f64 -1/6 (*.f64 (exp.f64 (neg.f64 (*.f64 y.im (atan2.f64 x.im x.re)))) (*.f64 (log.f64 x.im) (pow.f64 (atan2.f64 x.im x.re) 3))))) (pow.f64 y.re 4)) (*.f64 (exp.f64 (neg.f64 (*.f64 y.im (atan2.f64 x.im x.re)))) (*.f64 y.re (atan2.f64 x.im x.re))))))
(*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (exp.f64 (-.f64 (*.f64 y.re (log.f64 x.im)) (*.f64 (atan2.f64 x.im x.re) y.im))))
(*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (exp.f64 (-.f64 (*.f64 y.re (log.f64 x.im)) (*.f64 (atan2.f64 x.im x.re) y.im))))
(*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (exp.f64 (-.f64 (*.f64 y.re (log.f64 x.im)) (*.f64 (atan2.f64 x.im x.re) y.im))))
(*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (exp.f64 (-.f64 (*.f64 y.re (log.f64 x.im)) (*.f64 (atan2.f64 x.im x.re) y.im))))
(*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (exp.f64 (-.f64 (*.f64 y.re (log.f64 x.im)) (*.f64 (atan2.f64 x.im x.re) y.im))))
(*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (exp.f64 (-.f64 (*.f64 y.re (log.f64 x.im)) (*.f64 (atan2.f64 x.im x.re) y.im))))
(*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (exp.f64 (-.f64 (*.f64 y.re (log.f64 x.im)) (*.f64 (atan2.f64 x.im x.re) y.im))))
(*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (exp.f64 (-.f64 (*.f64 y.re (log.f64 x.im)) (*.f64 (atan2.f64 x.im x.re) y.im))))
(*.f64 (exp.f64 (-.f64 (*.f64 y.re (log.f64 x.im)) (*.f64 y.im (atan2.f64 x.im x.re)))) (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))))
(*.f64 (exp.f64 (-.f64 (*.f64 y.re (log.f64 x.im)) (*.f64 y.im (atan2.f64 x.im x.re)))) (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))))
(*.f64 (exp.f64 (-.f64 (*.f64 y.re (log.f64 x.im)) (*.f64 y.im (atan2.f64 x.im x.re)))) (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))))
(*.f64 (exp.f64 (-.f64 (*.f64 y.re (log.f64 x.im)) (*.f64 y.im (atan2.f64 x.im x.re)))) (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))))
(*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (exp.f64 (-.f64 (*.f64 y.re (log.f64 x.im)) (*.f64 (atan2.f64 x.im x.re) y.im))))
(*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (exp.f64 (-.f64 (*.f64 y.re (log.f64 x.im)) (*.f64 (atan2.f64 x.im x.re) y.im))))
(*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (exp.f64 (-.f64 (*.f64 y.re (log.f64 x.im)) (*.f64 (atan2.f64 x.im x.re) y.im))))
(*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (exp.f64 (-.f64 (*.f64 y.re (log.f64 x.im)) (*.f64 (atan2.f64 x.im x.re) y.im))))
(*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (exp.f64 (-.f64 (*.f64 y.re (log.f64 x.im)) (*.f64 (atan2.f64 x.im x.re) y.im))))
(*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (exp.f64 (-.f64 (*.f64 y.re (log.f64 x.im)) (*.f64 (atan2.f64 x.im x.re) y.im))))
(*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (exp.f64 (-.f64 (*.f64 y.re (log.f64 x.im)) (*.f64 (atan2.f64 x.im x.re) y.im))))
(*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (exp.f64 (-.f64 (*.f64 y.re (log.f64 x.im)) (*.f64 (atan2.f64 x.im x.re) y.im))))
(*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (pow.f64 x.im y.re))
(+.f64 (*.f64 -1 (*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (*.f64 (atan2.f64 x.im x.re) (*.f64 y.im (pow.f64 x.im y.re))))) (*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (pow.f64 x.im y.re)))
(+.f64 (*.f64 -1 (*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (*.f64 (atan2.f64 x.im x.re) (*.f64 y.im (pow.f64 x.im y.re))))) (+.f64 (*.f64 1/2 (*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (*.f64 (pow.f64 (atan2.f64 x.im x.re) 2) (*.f64 (pow.f64 y.im 2) (pow.f64 x.im y.re))))) (*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (pow.f64 x.im y.re))))
(+.f64 (*.f64 -1/6 (*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (*.f64 (pow.f64 (atan2.f64 x.im x.re) 3) (*.f64 (pow.f64 y.im 3) (pow.f64 x.im y.re))))) (+.f64 (*.f64 -1 (*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (*.f64 (atan2.f64 x.im x.re) (*.f64 y.im (pow.f64 x.im y.re))))) (+.f64 (*.f64 1/2 (*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (*.f64 (pow.f64 (atan2.f64 x.im x.re) 2) (*.f64 (pow.f64 y.im 2) (pow.f64 x.im y.re))))) (*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (pow.f64 x.im y.re)))))
(*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (exp.f64 (-.f64 (*.f64 y.re (log.f64 x.im)) (*.f64 (atan2.f64 x.im x.re) y.im))))
(*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (exp.f64 (-.f64 (*.f64 y.re (log.f64 x.im)) (*.f64 (atan2.f64 x.im x.re) y.im))))
(*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (exp.f64 (-.f64 (*.f64 y.re (log.f64 x.im)) (*.f64 (atan2.f64 x.im x.re) y.im))))
(*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (exp.f64 (-.f64 (*.f64 y.re (log.f64 x.im)) (*.f64 (atan2.f64 x.im x.re) y.im))))
(*.f64 (exp.f64 (-.f64 (*.f64 y.re (log.f64 x.im)) (*.f64 y.im (atan2.f64 x.im x.re)))) (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))))
(*.f64 (exp.f64 (-.f64 (*.f64 y.re (log.f64 x.im)) (*.f64 y.im (atan2.f64 x.im x.re)))) (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))))
(*.f64 (exp.f64 (-.f64 (*.f64 y.re (log.f64 x.im)) (*.f64 y.im (atan2.f64 x.im x.re)))) (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))))
(*.f64 (exp.f64 (-.f64 (*.f64 y.re (log.f64 x.im)) (*.f64 y.im (atan2.f64 x.im x.re)))) (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))))
(+.f64 (*.f64 (exp.f64 (-.f64 (*.f64 (log.f64 x.im) y.re) (*.f64 (atan2.f64 x.im x.re) y.im))) (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re)))) 0)
(+.f64 0 (*.f64 (exp.f64 (-.f64 (*.f64 (log.f64 x.im) y.re) (*.f64 (atan2.f64 x.im x.re) y.im))) (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re)))))
(+.f64 (*.f64 (exp.f64 (-.f64 (*.f64 (log.f64 x.im) y.re) (*.f64 (atan2.f64 x.im x.re) y.im))) (*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) 1/2)) (*.f64 (exp.f64 (-.f64 (*.f64 (log.f64 x.im) y.re) (*.f64 (atan2.f64 x.im x.re) y.im))) (*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) 1/2)))
(-.f64 (*.f64 (exp.f64 (-.f64 (*.f64 (log.f64 x.im) y.re) (*.f64 (atan2.f64 x.im x.re) y.im))) (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re)))) 0)
(/.f64 (exp.f64 (-.f64 (*.f64 (log.f64 x.im) y.re) (*.f64 (atan2.f64 x.im x.re) y.im))) (/.f64 1 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re)))))
(/.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (exp.f64 (-.f64 (*.f64 (atan2.f64 x.im x.re) y.im) (*.f64 (log.f64 x.im) y.re))))
(/.f64 (*.f64 (exp.f64 (-.f64 (*.f64 (log.f64 x.im) y.re) (*.f64 (atan2.f64 x.im x.re) y.im))) (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re)))) 1)
(/.f64 1 (/.f64 (exp.f64 (-.f64 (*.f64 (atan2.f64 x.im x.re) y.im) (*.f64 (log.f64 x.im) y.re))) (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re)))))
(/.f64 (*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) 2) (*.f64 2 (exp.f64 (-.f64 (*.f64 (atan2.f64 x.im x.re) y.im) (*.f64 (log.f64 x.im) y.re)))))
(/.f64 (*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) 2) (*.f64 (exp.f64 (-.f64 (*.f64 (atan2.f64 x.im x.re) y.im) (*.f64 (log.f64 x.im) y.re))) 2))
(/.f64 (*.f64 (exp.f64 (-.f64 (*.f64 (log.f64 x.im) y.re) (*.f64 (atan2.f64 x.im x.re) y.im))) (*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) 2)) 2)
(/.f64 (*.f64 (exp.f64 (-.f64 (*.f64 (log.f64 x.im) y.re) (*.f64 (atan2.f64 x.im x.re) y.im))) (*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) 4)) 4)
(/.f64 (*.f64 2 (*.f64 (exp.f64 (-.f64 (*.f64 (log.f64 x.im) y.re) (*.f64 (atan2.f64 x.im x.re) y.im))) (*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) 4))) 8)
(/.f64 (neg.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re)))) (-.f64 0 (exp.f64 (-.f64 (*.f64 (atan2.f64 x.im x.re) y.im) (*.f64 (log.f64 x.im) y.re)))))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (exp.f64 (-.f64 (*.f64 (log.f64 x.im) y.re) (*.f64 (atan2.f64 x.im x.re) y.im))) (*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) 4)))) 16)
(/.f64 (/.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (exp.f64 (*.f64 (atan2.f64 x.im x.re) y.im))) (exp.f64 (neg.f64 (*.f64 (log.f64 x.im) y.re))))
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (exp.f64 (-.f64 (*.f64 (log.f64 x.im) y.re) (*.f64 (atan2.f64 x.im x.re) y.im))) (*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) 4)))) (*.f64 2 (*.f64 2 (*.f64 (exp.f64 (-.f64 (*.f64 (log.f64 x.im) y.re) (*.f64 (atan2.f64 x.im x.re) y.im))) (*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) 4))))) 32)
(/.f64 (/.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (exp.f64 (neg.f64 (*.f64 (log.f64 x.im) y.re)))) (exp.f64 (*.f64 (atan2.f64 x.im x.re) y.im)))
Outputs
(*.f64 (exp.f64 (-.f64 (*.f64 y.re (log.f64 x.im)) (*.f64 y.im (atan2.f64 x.im x.re)))) (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))))
(*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (exp.f64 (-.f64 (*.f64 y.re (log.f64 x.im)) (*.f64 y.im (atan2.f64 x.im x.re)))))
(*.f64 (exp.f64 (-.f64 (*.f64 y.re (log.f64 x.im)) (*.f64 y.im (atan2.f64 x.im x.re)))) (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))))
(*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (exp.f64 (-.f64 (*.f64 y.re (log.f64 x.im)) (*.f64 y.im (atan2.f64 x.im x.re)))))
(*.f64 (exp.f64 (-.f64 (*.f64 y.re (log.f64 x.im)) (*.f64 y.im (atan2.f64 x.im x.re)))) (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))))
(*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (exp.f64 (-.f64 (*.f64 y.re (log.f64 x.im)) (*.f64 y.im (atan2.f64 x.im x.re)))))
(*.f64 (exp.f64 (-.f64 (*.f64 y.re (log.f64 x.im)) (*.f64 y.im (atan2.f64 x.im x.re)))) (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))))
(*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (exp.f64 (-.f64 (*.f64 y.re (log.f64 x.im)) (*.f64 y.im (atan2.f64 x.im x.re)))))
(*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (exp.f64 (-.f64 (*.f64 -1 (*.f64 (log.f64 (/.f64 1 x.im)) y.re)) (*.f64 (atan2.f64 x.im x.re) y.im))))
(*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (exp.f64 (-.f64 (*.f64 (log.f64 (/.f64 1 x.im)) (*.f64 y.re -1)) (*.f64 y.im (atan2.f64 x.im x.re)))))
(*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (exp.f64 (-.f64 (*.f64 (log.f64 (/.f64 1 x.im)) (neg.f64 y.re)) (*.f64 y.im (atan2.f64 x.im x.re)))))
(*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (exp.f64 (-.f64 (*.f64 -1 (*.f64 (log.f64 (/.f64 1 x.im)) y.re)) (*.f64 (atan2.f64 x.im x.re) y.im))))
(*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (exp.f64 (-.f64 (*.f64 (log.f64 (/.f64 1 x.im)) (*.f64 y.re -1)) (*.f64 y.im (atan2.f64 x.im x.re)))))
(*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (exp.f64 (-.f64 (*.f64 (log.f64 (/.f64 1 x.im)) (neg.f64 y.re)) (*.f64 y.im (atan2.f64 x.im x.re)))))
(*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (exp.f64 (-.f64 (*.f64 -1 (*.f64 (log.f64 (/.f64 1 x.im)) y.re)) (*.f64 (atan2.f64 x.im x.re) y.im))))
(*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (exp.f64 (-.f64 (*.f64 (log.f64 (/.f64 1 x.im)) (*.f64 y.re -1)) (*.f64 y.im (atan2.f64 x.im x.re)))))
(*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (exp.f64 (-.f64 (*.f64 (log.f64 (/.f64 1 x.im)) (neg.f64 y.re)) (*.f64 y.im (atan2.f64 x.im x.re)))))
(*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (exp.f64 (-.f64 (*.f64 -1 (*.f64 (log.f64 (/.f64 1 x.im)) y.re)) (*.f64 (atan2.f64 x.im x.re) y.im))))
(*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (exp.f64 (-.f64 (*.f64 (log.f64 (/.f64 1 x.im)) (*.f64 y.re -1)) (*.f64 y.im (atan2.f64 x.im x.re)))))
(*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (exp.f64 (-.f64 (*.f64 (log.f64 (/.f64 1 x.im)) (neg.f64 y.re)) (*.f64 y.im (atan2.f64 x.im x.re)))))
(*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (exp.f64 (-.f64 (*.f64 y.re (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 x.im))))) (*.f64 y.im (atan2.f64 x.im x.re)))))
(*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (exp.f64 (-.f64 (*.f64 y.re (+.f64 (log.f64 -1) (neg.f64 (log.f64 (/.f64 -1 x.im))))) (*.f64 y.im (atan2.f64 x.im x.re)))))
(*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (exp.f64 (-.f64 (*.f64 y.re (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 x.im))))) (*.f64 y.im (atan2.f64 x.im x.re)))))
(*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (exp.f64 (-.f64 (*.f64 y.re (+.f64 (log.f64 -1) (neg.f64 (log.f64 (/.f64 -1 x.im))))) (*.f64 y.im (atan2.f64 x.im x.re)))))
(*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (exp.f64 (-.f64 (*.f64 y.re (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 x.im))))) (*.f64 y.im (atan2.f64 x.im x.re)))))
(*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (exp.f64 (-.f64 (*.f64 y.re (+.f64 (log.f64 -1) (neg.f64 (log.f64 (/.f64 -1 x.im))))) (*.f64 y.im (atan2.f64 x.im x.re)))))
(*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (exp.f64 (-.f64 (*.f64 y.re (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 x.im))))) (*.f64 y.im (atan2.f64 x.im x.re)))))
(*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (exp.f64 (-.f64 (*.f64 y.re (+.f64 (log.f64 -1) (neg.f64 (log.f64 (/.f64 -1 x.im))))) (*.f64 y.im (atan2.f64 x.im x.re)))))
(*.f64 (exp.f64 (neg.f64 (*.f64 y.im (atan2.f64 x.im x.re)))) (*.f64 y.re (atan2.f64 x.im x.re)))
(*.f64 y.re (*.f64 (atan2.f64 x.im x.re) (exp.f64 (neg.f64 (*.f64 y.im (atan2.f64 x.im x.re))))))
(*.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (exp.f64 (neg.f64 (*.f64 y.im (atan2.f64 x.im x.re)))))
(*.f64 y.re (*.f64 (atan2.f64 x.im x.re) (exp.f64 (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re))))))
(/.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (exp.f64 (*.f64 y.im (atan2.f64 x.im x.re))))
(+.f64 (*.f64 (exp.f64 (neg.f64 (*.f64 y.im (atan2.f64 x.im x.re)))) (*.f64 (pow.f64 y.re 2) (*.f64 (atan2.f64 x.im x.re) (log.f64 x.im)))) (*.f64 (exp.f64 (neg.f64 (*.f64 y.im (atan2.f64 x.im x.re)))) (*.f64 y.re (atan2.f64 x.im x.re))))
(+.f64 (*.f64 y.re (*.f64 (atan2.f64 x.im x.re) (exp.f64 (neg.f64 (*.f64 y.im (atan2.f64 x.im x.re)))))) (*.f64 (exp.f64 (neg.f64 (*.f64 y.im (atan2.f64 x.im x.re)))) (*.f64 (pow.f64 y.re 2) (*.f64 (log.f64 x.im) (atan2.f64 x.im x.re)))))
(*.f64 (exp.f64 (neg.f64 (*.f64 y.im (atan2.f64 x.im x.re)))) (+.f64 (*.f64 (log.f64 x.im) (*.f64 (pow.f64 y.re 2) (atan2.f64 x.im x.re))) (*.f64 y.re (atan2.f64 x.im x.re))))
(*.f64 (exp.f64 (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re)))) (*.f64 (atan2.f64 x.im x.re) (+.f64 y.re (*.f64 (log.f64 x.im) (pow.f64 y.re 2)))))
(+.f64 (*.f64 (+.f64 (*.f64 -1/6 (*.f64 (exp.f64 (neg.f64 (*.f64 y.im (atan2.f64 x.im x.re)))) (pow.f64 (atan2.f64 x.im x.re) 3))) (*.f64 1/2 (*.f64 (exp.f64 (neg.f64 (*.f64 y.im (atan2.f64 x.im x.re)))) (*.f64 (pow.f64 (log.f64 x.im) 2) (atan2.f64 x.im x.re))))) (pow.f64 y.re 3)) (+.f64 (*.f64 (exp.f64 (neg.f64 (*.f64 y.im (atan2.f64 x.im x.re)))) (*.f64 (pow.f64 y.re 2) (*.f64 (atan2.f64 x.im x.re) (log.f64 x.im)))) (*.f64 (exp.f64 (neg.f64 (*.f64 y.im (atan2.f64 x.im x.re)))) (*.f64 y.re (atan2.f64 x.im x.re)))))
(+.f64 (*.f64 (exp.f64 (neg.f64 (*.f64 y.im (atan2.f64 x.im x.re)))) (*.f64 (pow.f64 y.re 2) (*.f64 (log.f64 x.im) (atan2.f64 x.im x.re)))) (+.f64 (*.f64 y.re (*.f64 (atan2.f64 x.im x.re) (exp.f64 (neg.f64 (*.f64 y.im (atan2.f64 x.im x.re)))))) (*.f64 (+.f64 (*.f64 (exp.f64 (neg.f64 (*.f64 y.im (atan2.f64 x.im x.re)))) (*.f64 (pow.f64 (atan2.f64 x.im x.re) 3) -1/6)) (*.f64 (exp.f64 (neg.f64 (*.f64 y.im (atan2.f64 x.im x.re)))) (*.f64 (*.f64 (atan2.f64 x.im x.re) (pow.f64 (log.f64 x.im) 2)) 1/2))) (pow.f64 y.re 3))))
(+.f64 (*.f64 (exp.f64 (neg.f64 (*.f64 y.im (atan2.f64 x.im x.re)))) (+.f64 (*.f64 (log.f64 x.im) (*.f64 (pow.f64 y.re 2) (atan2.f64 x.im x.re))) (*.f64 y.re (atan2.f64 x.im x.re)))) (*.f64 (+.f64 (*.f64 (exp.f64 (neg.f64 (*.f64 y.im (atan2.f64 x.im x.re)))) (*.f64 -1/6 (pow.f64 (atan2.f64 x.im x.re) 3))) (*.f64 (exp.f64 (neg.f64 (*.f64 y.im (atan2.f64 x.im x.re)))) (*.f64 1/2 (*.f64 (atan2.f64 x.im x.re) (pow.f64 (log.f64 x.im) 2))))) (pow.f64 y.re 3)))
(+.f64 (*.f64 (exp.f64 (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re)))) (*.f64 (atan2.f64 x.im x.re) (+.f64 y.re (*.f64 (log.f64 x.im) (pow.f64 y.re 2))))) (*.f64 (*.f64 (exp.f64 (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re)))) (+.f64 (*.f64 (pow.f64 (log.f64 x.im) 2) (*.f64 (atan2.f64 x.im x.re) 1/2)) (*.f64 -1/6 (pow.f64 (atan2.f64 x.im x.re) 3)))) (pow.f64 y.re 3)))
(+.f64 (*.f64 (exp.f64 (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re)))) (*.f64 (atan2.f64 x.im x.re) (+.f64 y.re (*.f64 (log.f64 x.im) (pow.f64 y.re 2))))) (*.f64 (*.f64 (exp.f64 (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re)))) (+.f64 (*.f64 (atan2.f64 x.im x.re) (*.f64 1/2 (pow.f64 (log.f64 x.im) 2))) (*.f64 -1/6 (pow.f64 (atan2.f64 x.im x.re) 3)))) (pow.f64 y.re 3)))
(+.f64 (*.f64 (+.f64 (*.f64 -1/6 (*.f64 (exp.f64 (neg.f64 (*.f64 y.im (atan2.f64 x.im x.re)))) (pow.f64 (atan2.f64 x.im x.re) 3))) (*.f64 1/2 (*.f64 (exp.f64 (neg.f64 (*.f64 y.im (atan2.f64 x.im x.re)))) (*.f64 (pow.f64 (log.f64 x.im) 2) (atan2.f64 x.im x.re))))) (pow.f64 y.re 3)) (+.f64 (*.f64 (exp.f64 (neg.f64 (*.f64 y.im (atan2.f64 x.im x.re)))) (*.f64 (pow.f64 y.re 2) (*.f64 (atan2.f64 x.im x.re) (log.f64 x.im)))) (+.f64 (*.f64 (+.f64 (*.f64 1/6 (*.f64 (exp.f64 (neg.f64 (*.f64 y.im (atan2.f64 x.im x.re)))) (*.f64 (pow.f64 (log.f64 x.im) 3) (atan2.f64 x.im x.re)))) (*.f64 -1/6 (*.f64 (exp.f64 (neg.f64 (*.f64 y.im (atan2.f64 x.im x.re)))) (*.f64 (log.f64 x.im) (pow.f64 (atan2.f64 x.im x.re) 3))))) (pow.f64 y.re 4)) (*.f64 (exp.f64 (neg.f64 (*.f64 y.im (atan2.f64 x.im x.re)))) (*.f64 y.re (atan2.f64 x.im x.re))))))
(+.f64 (*.f64 (exp.f64 (neg.f64 (*.f64 y.im (atan2.f64 x.im x.re)))) (*.f64 (pow.f64 y.re 2) (*.f64 (log.f64 x.im) (atan2.f64 x.im x.re)))) (+.f64 (+.f64 (*.f64 y.re (*.f64 (atan2.f64 x.im x.re) (exp.f64 (neg.f64 (*.f64 y.im (atan2.f64 x.im x.re)))))) (*.f64 (+.f64 (*.f64 (exp.f64 (neg.f64 (*.f64 y.im (atan2.f64 x.im x.re)))) (*.f64 (*.f64 (atan2.f64 x.im x.re) (pow.f64 (log.f64 x.im) 3)) 1/6)) (*.f64 (exp.f64 (neg.f64 (*.f64 y.im (atan2.f64 x.im x.re)))) (*.f64 (*.f64 (log.f64 x.im) (pow.f64 (atan2.f64 x.im x.re) 3)) -1/6))) (pow.f64 y.re 4))) (*.f64 (+.f64 (*.f64 (exp.f64 (neg.f64 (*.f64 y.im (atan2.f64 x.im x.re)))) (*.f64 (pow.f64 (atan2.f64 x.im x.re) 3) -1/6)) (*.f64 (exp.f64 (neg.f64 (*.f64 y.im (atan2.f64 x.im x.re)))) (*.f64 (*.f64 (atan2.f64 x.im x.re) (pow.f64 (log.f64 x.im) 2)) 1/2))) (pow.f64 y.re 3))))
(+.f64 (*.f64 (+.f64 (*.f64 (exp.f64 (neg.f64 (*.f64 y.im (atan2.f64 x.im x.re)))) (*.f64 -1/6 (pow.f64 (atan2.f64 x.im x.re) 3))) (*.f64 (exp.f64 (neg.f64 (*.f64 y.im (atan2.f64 x.im x.re)))) (*.f64 1/2 (*.f64 (atan2.f64 x.im x.re) (pow.f64 (log.f64 x.im) 2))))) (pow.f64 y.re 3)) (+.f64 (*.f64 (exp.f64 (neg.f64 (*.f64 y.im (atan2.f64 x.im x.re)))) (+.f64 (*.f64 (log.f64 x.im) (*.f64 (pow.f64 y.re 2) (atan2.f64 x.im x.re))) (*.f64 y.re (atan2.f64 x.im x.re)))) (*.f64 (+.f64 (*.f64 1/6 (*.f64 (atan2.f64 x.im x.re) (*.f64 (exp.f64 (neg.f64 (*.f64 y.im (atan2.f64 x.im x.re)))) (pow.f64 (log.f64 x.im) 3)))) (*.f64 -1/6 (*.f64 (exp.f64 (neg.f64 (*.f64 y.im (atan2.f64 x.im x.re)))) (*.f64 (log.f64 x.im) (pow.f64 (atan2.f64 x.im x.re) 3))))) (pow.f64 y.re 4))))
(+.f64 (*.f64 (exp.f64 (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re)))) (*.f64 (atan2.f64 x.im x.re) (+.f64 y.re (*.f64 (log.f64 x.im) (pow.f64 y.re 2))))) (+.f64 (*.f64 (*.f64 (exp.f64 (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re)))) (+.f64 (*.f64 (log.f64 x.im) (*.f64 -1/6 (pow.f64 (atan2.f64 x.im x.re) 3))) (*.f64 1/6 (*.f64 (atan2.f64 x.im x.re) (pow.f64 (log.f64 x.im) 3))))) (pow.f64 y.re 4)) (*.f64 (*.f64 (exp.f64 (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re)))) (+.f64 (*.f64 (pow.f64 (log.f64 x.im) 2) (*.f64 (atan2.f64 x.im x.re) 1/2)) (*.f64 -1/6 (pow.f64 (atan2.f64 x.im x.re) 3)))) (pow.f64 y.re 3))))
(+.f64 (*.f64 (exp.f64 (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re)))) (*.f64 (atan2.f64 x.im x.re) (+.f64 y.re (*.f64 (log.f64 x.im) (pow.f64 y.re 2))))) (+.f64 (*.f64 (*.f64 (exp.f64 (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re)))) (+.f64 (*.f64 (atan2.f64 x.im x.re) (*.f64 1/2 (pow.f64 (log.f64 x.im) 2))) (*.f64 -1/6 (pow.f64 (atan2.f64 x.im x.re) 3)))) (pow.f64 y.re 3)) (*.f64 (*.f64 (exp.f64 (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re)))) (+.f64 (*.f64 1/6 (*.f64 (atan2.f64 x.im x.re) (pow.f64 (log.f64 x.im) 3))) (*.f64 (log.f64 x.im) (*.f64 -1/6 (pow.f64 (atan2.f64 x.im x.re) 3))))) (pow.f64 y.re 4))))
(+.f64 (*.f64 (exp.f64 (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re)))) (*.f64 (atan2.f64 x.im x.re) (+.f64 y.re (*.f64 (log.f64 x.im) (pow.f64 y.re 2))))) (+.f64 (*.f64 (*.f64 (exp.f64 (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re)))) (+.f64 (*.f64 (atan2.f64 x.im x.re) (*.f64 1/2 (pow.f64 (log.f64 x.im) 2))) (*.f64 -1/6 (pow.f64 (atan2.f64 x.im x.re) 3)))) (pow.f64 y.re 3)) (*.f64 (*.f64 (exp.f64 (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re)))) (+.f64 (*.f64 (pow.f64 (log.f64 x.im) 3) (*.f64 (atan2.f64 x.im x.re) 1/6)) (*.f64 (log.f64 x.im) (*.f64 -1/6 (pow.f64 (atan2.f64 x.im x.re) 3))))) (pow.f64 y.re 4))))
(*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (exp.f64 (-.f64 (*.f64 y.re (log.f64 x.im)) (*.f64 (atan2.f64 x.im x.re) y.im))))
(*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (exp.f64 (-.f64 (*.f64 y.re (log.f64 x.im)) (*.f64 y.im (atan2.f64 x.im x.re)))))
(*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (exp.f64 (-.f64 (*.f64 y.re (log.f64 x.im)) (*.f64 (atan2.f64 x.im x.re) y.im))))
(*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (exp.f64 (-.f64 (*.f64 y.re (log.f64 x.im)) (*.f64 y.im (atan2.f64 x.im x.re)))))
(*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (exp.f64 (-.f64 (*.f64 y.re (log.f64 x.im)) (*.f64 (atan2.f64 x.im x.re) y.im))))
(*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (exp.f64 (-.f64 (*.f64 y.re (log.f64 x.im)) (*.f64 y.im (atan2.f64 x.im x.re)))))
(*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (exp.f64 (-.f64 (*.f64 y.re (log.f64 x.im)) (*.f64 (atan2.f64 x.im x.re) y.im))))
(*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (exp.f64 (-.f64 (*.f64 y.re (log.f64 x.im)) (*.f64 y.im (atan2.f64 x.im x.re)))))
(*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (exp.f64 (-.f64 (*.f64 y.re (log.f64 x.im)) (*.f64 (atan2.f64 x.im x.re) y.im))))
(*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (exp.f64 (-.f64 (*.f64 y.re (log.f64 x.im)) (*.f64 y.im (atan2.f64 x.im x.re)))))
(*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (exp.f64 (-.f64 (*.f64 y.re (log.f64 x.im)) (*.f64 (atan2.f64 x.im x.re) y.im))))
(*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (exp.f64 (-.f64 (*.f64 y.re (log.f64 x.im)) (*.f64 y.im (atan2.f64 x.im x.re)))))
(*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (exp.f64 (-.f64 (*.f64 y.re (log.f64 x.im)) (*.f64 (atan2.f64 x.im x.re) y.im))))
(*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (exp.f64 (-.f64 (*.f64 y.re (log.f64 x.im)) (*.f64 y.im (atan2.f64 x.im x.re)))))
(*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (exp.f64 (-.f64 (*.f64 y.re (log.f64 x.im)) (*.f64 (atan2.f64 x.im x.re) y.im))))
(*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (exp.f64 (-.f64 (*.f64 y.re (log.f64 x.im)) (*.f64 y.im (atan2.f64 x.im x.re)))))
(*.f64 (exp.f64 (-.f64 (*.f64 y.re (log.f64 x.im)) (*.f64 y.im (atan2.f64 x.im x.re)))) (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))))
(*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (exp.f64 (-.f64 (*.f64 y.re (log.f64 x.im)) (*.f64 y.im (atan2.f64 x.im x.re)))))
(*.f64 (exp.f64 (-.f64 (*.f64 y.re (log.f64 x.im)) (*.f64 y.im (atan2.f64 x.im x.re)))) (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))))
(*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (exp.f64 (-.f64 (*.f64 y.re (log.f64 x.im)) (*.f64 y.im (atan2.f64 x.im x.re)))))
(*.f64 (exp.f64 (-.f64 (*.f64 y.re (log.f64 x.im)) (*.f64 y.im (atan2.f64 x.im x.re)))) (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))))
(*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (exp.f64 (-.f64 (*.f64 y.re (log.f64 x.im)) (*.f64 y.im (atan2.f64 x.im x.re)))))
(*.f64 (exp.f64 (-.f64 (*.f64 y.re (log.f64 x.im)) (*.f64 y.im (atan2.f64 x.im x.re)))) (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))))
(*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (exp.f64 (-.f64 (*.f64 y.re (log.f64 x.im)) (*.f64 y.im (atan2.f64 x.im x.re)))))
(*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (exp.f64 (-.f64 (*.f64 y.re (log.f64 x.im)) (*.f64 (atan2.f64 x.im x.re) y.im))))
(*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (exp.f64 (-.f64 (*.f64 y.re (log.f64 x.im)) (*.f64 y.im (atan2.f64 x.im x.re)))))
(*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (exp.f64 (-.f64 (*.f64 y.re (log.f64 x.im)) (*.f64 (atan2.f64 x.im x.re) y.im))))
(*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (exp.f64 (-.f64 (*.f64 y.re (log.f64 x.im)) (*.f64 y.im (atan2.f64 x.im x.re)))))
(*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (exp.f64 (-.f64 (*.f64 y.re (log.f64 x.im)) (*.f64 (atan2.f64 x.im x.re) y.im))))
(*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (exp.f64 (-.f64 (*.f64 y.re (log.f64 x.im)) (*.f64 y.im (atan2.f64 x.im x.re)))))
(*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (exp.f64 (-.f64 (*.f64 y.re (log.f64 x.im)) (*.f64 (atan2.f64 x.im x.re) y.im))))
(*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (exp.f64 (-.f64 (*.f64 y.re (log.f64 x.im)) (*.f64 y.im (atan2.f64 x.im x.re)))))
(*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (exp.f64 (-.f64 (*.f64 y.re (log.f64 x.im)) (*.f64 (atan2.f64 x.im x.re) y.im))))
(*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (exp.f64 (-.f64 (*.f64 y.re (log.f64 x.im)) (*.f64 y.im (atan2.f64 x.im x.re)))))
(*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (exp.f64 (-.f64 (*.f64 y.re (log.f64 x.im)) (*.f64 (atan2.f64 x.im x.re) y.im))))
(*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (exp.f64 (-.f64 (*.f64 y.re (log.f64 x.im)) (*.f64 y.im (atan2.f64 x.im x.re)))))
(*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (exp.f64 (-.f64 (*.f64 y.re (log.f64 x.im)) (*.f64 (atan2.f64 x.im x.re) y.im))))
(*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (exp.f64 (-.f64 (*.f64 y.re (log.f64 x.im)) (*.f64 y.im (atan2.f64 x.im x.re)))))
(*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (exp.f64 (-.f64 (*.f64 y.re (log.f64 x.im)) (*.f64 (atan2.f64 x.im x.re) y.im))))
(*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (exp.f64 (-.f64 (*.f64 y.re (log.f64 x.im)) (*.f64 y.im (atan2.f64 x.im x.re)))))
(*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (pow.f64 x.im y.re))
(+.f64 (*.f64 -1 (*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (*.f64 (atan2.f64 x.im x.re) (*.f64 y.im (pow.f64 x.im y.re))))) (*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (pow.f64 x.im y.re)))
(+.f64 (*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (pow.f64 x.im y.re)) (*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (*.f64 (*.f64 y.im (*.f64 (pow.f64 x.im y.re) (atan2.f64 x.im x.re))) -1)))
(*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (+.f64 (pow.f64 x.im y.re) (neg.f64 (*.f64 y.im (*.f64 (atan2.f64 x.im x.re) (pow.f64 x.im y.re))))))
(*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (+.f64 (pow.f64 x.im y.re) (*.f64 (pow.f64 x.im y.re) (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re))))))
(*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (+.f64 (pow.f64 x.im y.re) (*.f64 y.im (neg.f64 (*.f64 (atan2.f64 x.im x.re) (pow.f64 x.im y.re))))))
(*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (+.f64 (pow.f64 x.im y.re) (*.f64 (*.f64 y.im (pow.f64 x.im y.re)) (neg.f64 (atan2.f64 x.im x.re)))))
(+.f64 (*.f64 -1 (*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (*.f64 (atan2.f64 x.im x.re) (*.f64 y.im (pow.f64 x.im y.re))))) (+.f64 (*.f64 1/2 (*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (*.f64 (pow.f64 (atan2.f64 x.im x.re) 2) (*.f64 (pow.f64 y.im 2) (pow.f64 x.im y.re))))) (*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (pow.f64 x.im y.re))))
(+.f64 (*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (*.f64 (*.f64 y.im (*.f64 (pow.f64 x.im y.re) (atan2.f64 x.im x.re))) -1)) (+.f64 (*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (pow.f64 x.im y.re)) (*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (*.f64 (*.f64 (pow.f64 (atan2.f64 x.im x.re) 2) (*.f64 (pow.f64 x.im y.re) (pow.f64 y.im 2))) 1/2))))
(+.f64 (*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (+.f64 (pow.f64 x.im y.re) (neg.f64 (*.f64 y.im (*.f64 (atan2.f64 x.im x.re) (pow.f64 x.im y.re)))))) (*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (*.f64 1/2 (*.f64 (pow.f64 x.im y.re) (*.f64 (pow.f64 y.im 2) (pow.f64 (atan2.f64 x.im x.re) 2))))))
(*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (+.f64 (*.f64 (pow.f64 x.im y.re) (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re)))) (+.f64 (pow.f64 x.im y.re) (*.f64 1/2 (*.f64 (pow.f64 x.im y.re) (*.f64 (pow.f64 (atan2.f64 x.im x.re) 2) (pow.f64 y.im 2)))))))
(*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (+.f64 (*.f64 y.im (neg.f64 (*.f64 (atan2.f64 x.im x.re) (pow.f64 x.im y.re)))) (+.f64 (pow.f64 x.im y.re) (*.f64 1/2 (*.f64 (pow.f64 x.im y.re) (*.f64 (pow.f64 (atan2.f64 x.im x.re) 2) (pow.f64 y.im 2)))))))
(*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (+.f64 (*.f64 (*.f64 (pow.f64 x.im y.re) (pow.f64 y.im 2)) (*.f64 1/2 (pow.f64 (atan2.f64 x.im x.re) 2))) (+.f64 (pow.f64 x.im y.re) (*.f64 (*.f64 y.im (pow.f64 x.im y.re)) (neg.f64 (atan2.f64 x.im x.re))))))
(+.f64 (*.f64 -1/6 (*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (*.f64 (pow.f64 (atan2.f64 x.im x.re) 3) (*.f64 (pow.f64 y.im 3) (pow.f64 x.im y.re))))) (+.f64 (*.f64 -1 (*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (*.f64 (atan2.f64 x.im x.re) (*.f64 y.im (pow.f64 x.im y.re))))) (+.f64 (*.f64 1/2 (*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (*.f64 (pow.f64 (atan2.f64 x.im x.re) 2) (*.f64 (pow.f64 y.im 2) (pow.f64 x.im y.re))))) (*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (pow.f64 x.im y.re)))))
(+.f64 (*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (*.f64 (*.f64 y.im (*.f64 (pow.f64 x.im y.re) (atan2.f64 x.im x.re))) -1)) (+.f64 (+.f64 (*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (pow.f64 x.im y.re)) (*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (*.f64 (*.f64 (pow.f64 (atan2.f64 x.im x.re) 2) (*.f64 (pow.f64 x.im y.re) (pow.f64 y.im 2))) 1/2))) (*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (*.f64 (*.f64 (pow.f64 (atan2.f64 x.im x.re) 3) (*.f64 (pow.f64 x.im y.re) (pow.f64 y.im 3))) -1/6))))
(+.f64 (*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (*.f64 1/2 (*.f64 (pow.f64 x.im y.re) (*.f64 (pow.f64 y.im 2) (pow.f64 (atan2.f64 x.im x.re) 2))))) (+.f64 (*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (+.f64 (pow.f64 x.im y.re) (neg.f64 (*.f64 y.im (*.f64 (atan2.f64 x.im x.re) (pow.f64 x.im y.re)))))) (*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (*.f64 -1/6 (*.f64 (pow.f64 (atan2.f64 x.im x.re) 3) (*.f64 (pow.f64 x.im y.re) (pow.f64 y.im 3)))))))
(+.f64 (*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (*.f64 1/2 (*.f64 (pow.f64 x.im y.re) (*.f64 (pow.f64 (atan2.f64 x.im x.re) 2) (pow.f64 y.im 2))))) (*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (+.f64 (*.f64 -1/6 (*.f64 (pow.f64 (atan2.f64 x.im x.re) 3) (*.f64 (pow.f64 x.im y.re) (pow.f64 y.im 3)))) (+.f64 (pow.f64 x.im y.re) (*.f64 (pow.f64 x.im y.re) (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re))))))))
(*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (+.f64 (*.f64 1/2 (*.f64 (pow.f64 x.im y.re) (*.f64 (pow.f64 (atan2.f64 x.im x.re) 2) (pow.f64 y.im 2)))) (+.f64 (pow.f64 x.im y.re) (+.f64 (*.f64 -1/6 (*.f64 (pow.f64 (atan2.f64 x.im x.re) 3) (*.f64 (pow.f64 x.im y.re) (pow.f64 y.im 3)))) (*.f64 y.im (neg.f64 (*.f64 (atan2.f64 x.im x.re) (pow.f64 x.im y.re))))))))
(*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (+.f64 (*.f64 -1/6 (*.f64 (pow.f64 (atan2.f64 x.im x.re) 3) (*.f64 (pow.f64 x.im y.re) (pow.f64 y.im 3)))) (+.f64 (*.f64 (*.f64 (pow.f64 x.im y.re) (pow.f64 y.im 2)) (*.f64 1/2 (pow.f64 (atan2.f64 x.im x.re) 2))) (+.f64 (pow.f64 x.im y.re) (*.f64 (*.f64 y.im (pow.f64 x.im y.re)) (neg.f64 (atan2.f64 x.im x.re)))))))
(*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (exp.f64 (-.f64 (*.f64 y.re (log.f64 x.im)) (*.f64 (atan2.f64 x.im x.re) y.im))))
(*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (exp.f64 (-.f64 (*.f64 y.re (log.f64 x.im)) (*.f64 y.im (atan2.f64 x.im x.re)))))
(*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (exp.f64 (-.f64 (*.f64 y.re (log.f64 x.im)) (*.f64 (atan2.f64 x.im x.re) y.im))))
(*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (exp.f64 (-.f64 (*.f64 y.re (log.f64 x.im)) (*.f64 y.im (atan2.f64 x.im x.re)))))
(*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (exp.f64 (-.f64 (*.f64 y.re (log.f64 x.im)) (*.f64 (atan2.f64 x.im x.re) y.im))))
(*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (exp.f64 (-.f64 (*.f64 y.re (log.f64 x.im)) (*.f64 y.im (atan2.f64 x.im x.re)))))
(*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (exp.f64 (-.f64 (*.f64 y.re (log.f64 x.im)) (*.f64 (atan2.f64 x.im x.re) y.im))))
(*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (exp.f64 (-.f64 (*.f64 y.re (log.f64 x.im)) (*.f64 y.im (atan2.f64 x.im x.re)))))
(*.f64 (exp.f64 (-.f64 (*.f64 y.re (log.f64 x.im)) (*.f64 y.im (atan2.f64 x.im x.re)))) (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))))
(*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (exp.f64 (-.f64 (*.f64 y.re (log.f64 x.im)) (*.f64 y.im (atan2.f64 x.im x.re)))))
(*.f64 (exp.f64 (-.f64 (*.f64 y.re (log.f64 x.im)) (*.f64 y.im (atan2.f64 x.im x.re)))) (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))))
(*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (exp.f64 (-.f64 (*.f64 y.re (log.f64 x.im)) (*.f64 y.im (atan2.f64 x.im x.re)))))
(*.f64 (exp.f64 (-.f64 (*.f64 y.re (log.f64 x.im)) (*.f64 y.im (atan2.f64 x.im x.re)))) (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))))
(*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (exp.f64 (-.f64 (*.f64 y.re (log.f64 x.im)) (*.f64 y.im (atan2.f64 x.im x.re)))))
(*.f64 (exp.f64 (-.f64 (*.f64 y.re (log.f64 x.im)) (*.f64 y.im (atan2.f64 x.im x.re)))) (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))))
(*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (exp.f64 (-.f64 (*.f64 y.re (log.f64 x.im)) (*.f64 y.im (atan2.f64 x.im x.re)))))
(+.f64 (*.f64 (exp.f64 (-.f64 (*.f64 (log.f64 x.im) y.re) (*.f64 (atan2.f64 x.im x.re) y.im))) (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re)))) 0)
(*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (exp.f64 (-.f64 (*.f64 y.re (log.f64 x.im)) (*.f64 y.im (atan2.f64 x.im x.re)))))
(+.f64 0 (*.f64 (exp.f64 (-.f64 (*.f64 (log.f64 x.im) y.re) (*.f64 (atan2.f64 x.im x.re) y.im))) (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re)))))
(*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (exp.f64 (-.f64 (*.f64 y.re (log.f64 x.im)) (*.f64 y.im (atan2.f64 x.im x.re)))))
(+.f64 (*.f64 (exp.f64 (-.f64 (*.f64 (log.f64 x.im) y.re) (*.f64 (atan2.f64 x.im x.re) y.im))) (*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) 1/2)) (*.f64 (exp.f64 (-.f64 (*.f64 (log.f64 x.im) y.re) (*.f64 (atan2.f64 x.im x.re) y.im))) (*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) 1/2)))
(*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (exp.f64 (-.f64 (*.f64 y.re (log.f64 x.im)) (*.f64 y.im (atan2.f64 x.im x.re)))))
(-.f64 (*.f64 (exp.f64 (-.f64 (*.f64 (log.f64 x.im) y.re) (*.f64 (atan2.f64 x.im x.re) y.im))) (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re)))) 0)
(*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (exp.f64 (-.f64 (*.f64 y.re (log.f64 x.im)) (*.f64 y.im (atan2.f64 x.im x.re)))))
(/.f64 (exp.f64 (-.f64 (*.f64 (log.f64 x.im) y.re) (*.f64 (atan2.f64 x.im x.re) y.im))) (/.f64 1 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re)))))
(*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (exp.f64 (-.f64 (*.f64 y.re (log.f64 x.im)) (*.f64 y.im (atan2.f64 x.im x.re)))))
(/.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (exp.f64 (-.f64 (*.f64 (atan2.f64 x.im x.re) y.im) (*.f64 (log.f64 x.im) y.re))))
(*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (exp.f64 (-.f64 (*.f64 y.re (log.f64 x.im)) (*.f64 y.im (atan2.f64 x.im x.re)))))
(/.f64 (*.f64 (exp.f64 (-.f64 (*.f64 (log.f64 x.im) y.re) (*.f64 (atan2.f64 x.im x.re) y.im))) (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re)))) 1)
(*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (exp.f64 (-.f64 (*.f64 y.re (log.f64 x.im)) (*.f64 y.im (atan2.f64 x.im x.re)))))
(/.f64 1 (/.f64 (exp.f64 (-.f64 (*.f64 (atan2.f64 x.im x.re) y.im) (*.f64 (log.f64 x.im) y.re))) (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re)))))
(*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (exp.f64 (-.f64 (*.f64 y.re (log.f64 x.im)) (*.f64 y.im (atan2.f64 x.im x.re)))))
(/.f64 (*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) 2) (*.f64 2 (exp.f64 (-.f64 (*.f64 (atan2.f64 x.im x.re) y.im) (*.f64 (log.f64 x.im) y.re)))))
(*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (exp.f64 (-.f64 (*.f64 y.re (log.f64 x.im)) (*.f64 y.im (atan2.f64 x.im x.re)))))
(/.f64 (*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) 2) (*.f64 (exp.f64 (-.f64 (*.f64 (atan2.f64 x.im x.re) y.im) (*.f64 (log.f64 x.im) y.re))) 2))
(*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (exp.f64 (-.f64 (*.f64 y.re (log.f64 x.im)) (*.f64 y.im (atan2.f64 x.im x.re)))))
(/.f64 (*.f64 (exp.f64 (-.f64 (*.f64 (log.f64 x.im) y.re) (*.f64 (atan2.f64 x.im x.re) y.im))) (*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) 2)) 2)
(*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (exp.f64 (-.f64 (*.f64 y.re (log.f64 x.im)) (*.f64 y.im (atan2.f64 x.im x.re)))))
(/.f64 (*.f64 (exp.f64 (-.f64 (*.f64 (log.f64 x.im) y.re) (*.f64 (atan2.f64 x.im x.re) y.im))) (*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) 4)) 4)
(*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (exp.f64 (-.f64 (*.f64 y.re (log.f64 x.im)) (*.f64 y.im (atan2.f64 x.im x.re)))))
(/.f64 (*.f64 2 (*.f64 (exp.f64 (-.f64 (*.f64 (log.f64 x.im) y.re) (*.f64 (atan2.f64 x.im x.re) y.im))) (*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) 4))) 8)
(*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (exp.f64 (-.f64 (*.f64 y.re (log.f64 x.im)) (*.f64 y.im (atan2.f64 x.im x.re)))))
(/.f64 (neg.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re)))) (-.f64 0 (exp.f64 (-.f64 (*.f64 (atan2.f64 x.im x.re) y.im) (*.f64 (log.f64 x.im) y.re)))))
(*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (exp.f64 (-.f64 (*.f64 y.re (log.f64 x.im)) (*.f64 y.im (atan2.f64 x.im x.re)))))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (exp.f64 (-.f64 (*.f64 (log.f64 x.im) y.re) (*.f64 (atan2.f64 x.im x.re) y.im))) (*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) 4)))) 16)
(*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (exp.f64 (-.f64 (*.f64 y.re (log.f64 x.im)) (*.f64 y.im (atan2.f64 x.im x.re)))))
(/.f64 (/.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (exp.f64 (*.f64 (atan2.f64 x.im x.re) y.im))) (exp.f64 (neg.f64 (*.f64 (log.f64 x.im) y.re))))
(/.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (*.f64 (exp.f64 (*.f64 y.im (atan2.f64 x.im x.re))) (exp.f64 (neg.f64 (*.f64 y.re (log.f64 x.im))))))
(/.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (exp.f64 (+.f64 (neg.f64 (*.f64 y.re (log.f64 x.im))) (*.f64 y.im (atan2.f64 x.im x.re)))))
(/.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (exp.f64 (+.f64 (*.f64 y.im (atan2.f64 x.im x.re)) (*.f64 (log.f64 x.im) (neg.f64 y.re)))))
(/.f64 (exp.f64 (*.f64 y.re (log.f64 x.im))) (/.f64 (exp.f64 (*.f64 y.im (atan2.f64 x.im x.re))) (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re)))))
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (exp.f64 (-.f64 (*.f64 (log.f64 x.im) y.re) (*.f64 (atan2.f64 x.im x.re) y.im))) (*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) 4)))) (*.f64 2 (*.f64 2 (*.f64 (exp.f64 (-.f64 (*.f64 (log.f64 x.im) y.re) (*.f64 (atan2.f64 x.im x.re) y.im))) (*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) 4))))) 32)
(*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (exp.f64 (-.f64 (*.f64 y.re (log.f64 x.im)) (*.f64 y.im (atan2.f64 x.im x.re)))))
(/.f64 (/.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (exp.f64 (neg.f64 (*.f64 (log.f64 x.im) y.re)))) (exp.f64 (*.f64 (atan2.f64 x.im x.re) y.im)))
(/.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (*.f64 (exp.f64 (*.f64 y.im (atan2.f64 x.im x.re))) (exp.f64 (neg.f64 (*.f64 y.re (log.f64 x.im))))))
(/.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (exp.f64 (+.f64 (neg.f64 (*.f64 y.re (log.f64 x.im))) (*.f64 y.im (atan2.f64 x.im x.re)))))
(/.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (exp.f64 (+.f64 (*.f64 y.im (atan2.f64 x.im x.re)) (*.f64 (log.f64 x.im) (neg.f64 y.re)))))
(/.f64 (exp.f64 (*.f64 y.re (log.f64 x.im))) (/.f64 (exp.f64 (*.f64 y.im (atan2.f64 x.im x.re))) (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re)))))

localize21.0ms (0%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.1b
(*.f64 (log.f64 (neg.f64 x.im)) y.re)
1.5b
(*.f64 y.re (atan2.f64 x.im x.re))
2.3b
(*.f64 (atan2.f64 x.im x.re) y.im)
17.6b
(sin.f64 (*.f64 y.re (atan2.f64 x.im x.re)))
Compiler

Compiled 79 to 14 computations (82.3% saved)

series30.0ms (0.1%)

Counts
1 → 24
Calls

6 calls:

TimeVariablePointExpression
16.0ms
y.re
@0
(*.f64 (log.f64 (neg.f64 x.im)) y.re)
7.0ms
x.im
@0
(*.f64 (log.f64 (neg.f64 x.im)) y.re)
7.0ms
x.im
@inf
(*.f64 (log.f64 (neg.f64 x.im)) y.re)
0.0ms
y.re
@inf
(*.f64 (log.f64 (neg.f64 x.im)) y.re)
0.0ms
y.re
@-inf
(*.f64 (log.f64 (neg.f64 x.im)) y.re)

rewrite107.0ms (0.2%)

Algorithm
batch-egg-rewrite
Rules
1798×bool.json-1
1798×bool.json-2
1334×rational.json-simplify-35
1126×bool.json-3
1096×rational.json-1
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0815
18215
223415
349615
4103215
5227215
6456515
7727315
Stop Event
node limit
Counts
1 → 11
Calls
Call 1
Inputs
(*.f64 (log.f64 (neg.f64 x.im)) y.re)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (log.f64 (neg.f64 x.im)) y.re) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (log.f64 (neg.f64 x.im)) y.re))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (log.f64 (neg.f64 x.im)) (*.f64 y.re 1/2)) (*.f64 (log.f64 (neg.f64 x.im)) (*.f64 y.re 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (log.f64 (neg.f64 x.im)) y.re) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (log.f64 (neg.f64 x.im)) y.re) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (log.f64 (neg.f64 x.im)) (+.f64 y.re y.re)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (log.f64 (neg.f64 x.im)) (*.f64 y.re 4)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 (log.f64 (neg.f64 x.im)) y.re) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (*.f64 (log.f64 (neg.f64 x.im)) y.re) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (log.f64 (neg.f64 x.im)) y.re) 8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (log.f64 (neg.f64 x.im)) y.re) 8))) (*.f64 2 (*.f64 2 (*.f64 (*.f64 (log.f64 (neg.f64 x.im)) y.re) 8)))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (*.f64 (log.f64 (neg.f64 x.im)) y.re)))))) (#(struct:change #<rule egg-rr> (2) ((x and (*.f64 (log.f64 (neg.f64 x.im)) y.re) (*.f64 (log.f64 (neg.f64 x.im)) y.re))))) (#(struct:change #<rule egg-rr> (2) ((x or (*.f64 (log.f64 (neg.f64 x.im)) y.re) (*.f64 (log.f64 (neg.f64 x.im)) y.re))))))

simplify1.2s (2.3%)

Algorithm
egg-herbie
Rules
5332×rational.json-simplify-35
2518×rational.json-simplify-2
1118×rational.json-simplify-53
802×rational.json-simplify-43
746×rational.json-simplify-1
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
053653
1118637
2225637
3490637
41953637
53605637
64430637
74800637
84980637
95156637
105157637
115494637
125495637
135570637
145712637
155912637
166128637
176313637
186485637
196657637
206829637
217001637
227173637
237173637
247274637
257274637
267446637
277618637
287790637
297962637
Stop Event
node limit
Counts
35 → 20
Calls
Call 1
Inputs
(*.f64 y.re (+.f64 (log.f64 -1) (log.f64 x.im)))
(*.f64 y.re (+.f64 (log.f64 -1) (log.f64 x.im)))
(*.f64 y.re (+.f64 (log.f64 -1) (log.f64 x.im)))
(*.f64 y.re (+.f64 (log.f64 -1) (log.f64 x.im)))
(*.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 1 x.im)))) y.re)
(*.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 1 x.im)))) y.re)
(*.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 1 x.im)))) y.re)
(*.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 1 x.im)))) y.re)
(*.f64 -1 (*.f64 (log.f64 (/.f64 -1 x.im)) y.re))
(*.f64 -1 (*.f64 (log.f64 (/.f64 -1 x.im)) y.re))
(*.f64 -1 (*.f64 (log.f64 (/.f64 -1 x.im)) y.re))
(*.f64 -1 (*.f64 (log.f64 (/.f64 -1 x.im)) y.re))
(*.f64 y.re (log.f64 (neg.f64 x.im)))
(*.f64 y.re (log.f64 (neg.f64 x.im)))
(*.f64 y.re (log.f64 (neg.f64 x.im)))
(*.f64 y.re (log.f64 (neg.f64 x.im)))
(*.f64 y.re (log.f64 (neg.f64 x.im)))
(*.f64 y.re (log.f64 (neg.f64 x.im)))
(*.f64 y.re (log.f64 (neg.f64 x.im)))
(*.f64 y.re (log.f64 (neg.f64 x.im)))
(*.f64 y.re (log.f64 (neg.f64 x.im)))
(*.f64 y.re (log.f64 (neg.f64 x.im)))
(*.f64 y.re (log.f64 (neg.f64 x.im)))
(*.f64 y.re (log.f64 (neg.f64 x.im)))
(+.f64 (*.f64 (log.f64 (neg.f64 x.im)) y.re) 0)
(+.f64 0 (*.f64 (log.f64 (neg.f64 x.im)) y.re))
(+.f64 (*.f64 (log.f64 (neg.f64 x.im)) (*.f64 y.re 1/2)) (*.f64 (log.f64 (neg.f64 x.im)) (*.f64 y.re 1/2)))
(-.f64 (*.f64 (log.f64 (neg.f64 x.im)) y.re) 0)
(/.f64 (*.f64 (log.f64 (neg.f64 x.im)) y.re) 1)
(/.f64 (*.f64 (log.f64 (neg.f64 x.im)) (+.f64 y.re y.re)) 2)
(/.f64 (*.f64 (log.f64 (neg.f64 x.im)) (*.f64 y.re 4)) 4)
(/.f64 (*.f64 (*.f64 (log.f64 (neg.f64 x.im)) y.re) 8) 8)
(/.f64 (*.f64 2 (*.f64 (*.f64 (log.f64 (neg.f64 x.im)) y.re) 8)) 16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (log.f64 (neg.f64 x.im)) y.re) 8))) 32)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (log.f64 (neg.f64 x.im)) y.re) 8))) (*.f64 2 (*.f64 2 (*.f64 (*.f64 (log.f64 (neg.f64 x.im)) y.re) 8)))) 64)
Outputs
(*.f64 y.re (+.f64 (log.f64 -1) (log.f64 x.im)))
(*.f64 y.re (+.f64 (log.f64 -1) (log.f64 x.im)))
(*.f64 y.re (+.f64 (log.f64 -1) (log.f64 x.im)))
(*.f64 y.re (+.f64 (log.f64 -1) (log.f64 x.im)))
(*.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 1 x.im)))) y.re)
(*.f64 y.re (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 1 x.im)))))
(*.f64 y.re (+.f64 (log.f64 -1) (neg.f64 (log.f64 (/.f64 1 x.im)))))
(*.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 1 x.im)))) y.re)
(*.f64 y.re (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 1 x.im)))))
(*.f64 y.re (+.f64 (log.f64 -1) (neg.f64 (log.f64 (/.f64 1 x.im)))))
(*.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 1 x.im)))) y.re)
(*.f64 y.re (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 1 x.im)))))
(*.f64 y.re (+.f64 (log.f64 -1) (neg.f64 (log.f64 (/.f64 1 x.im)))))
(*.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 1 x.im)))) y.re)
(*.f64 y.re (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 1 x.im)))))
(*.f64 y.re (+.f64 (log.f64 -1) (neg.f64 (log.f64 (/.f64 1 x.im)))))
(*.f64 -1 (*.f64 (log.f64 (/.f64 -1 x.im)) y.re))
(*.f64 -1 (*.f64 y.re (log.f64 (/.f64 -1 x.im))))
(*.f64 (log.f64 (/.f64 -1 x.im)) (neg.f64 y.re))
(*.f64 y.re (neg.f64 (log.f64 (/.f64 -1 x.im))))
(*.f64 -1 (*.f64 (log.f64 (/.f64 -1 x.im)) y.re))
(*.f64 -1 (*.f64 y.re (log.f64 (/.f64 -1 x.im))))
(*.f64 (log.f64 (/.f64 -1 x.im)) (neg.f64 y.re))
(*.f64 y.re (neg.f64 (log.f64 (/.f64 -1 x.im))))
(*.f64 -1 (*.f64 (log.f64 (/.f64 -1 x.im)) y.re))
(*.f64 -1 (*.f64 y.re (log.f64 (/.f64 -1 x.im))))
(*.f64 (log.f64 (/.f64 -1 x.im)) (neg.f64 y.re))
(*.f64 y.re (neg.f64 (log.f64 (/.f64 -1 x.im))))
(*.f64 -1 (*.f64 (log.f64 (/.f64 -1 x.im)) y.re))
(*.f64 -1 (*.f64 y.re (log.f64 (/.f64 -1 x.im))))
(*.f64 (log.f64 (/.f64 -1 x.im)) (neg.f64 y.re))
(*.f64 y.re (neg.f64 (log.f64 (/.f64 -1 x.im))))
(*.f64 y.re (log.f64 (neg.f64 x.im)))
(*.f64 y.re (log.f64 (neg.f64 x.im)))
(*.f64 y.re (log.f64 (neg.f64 x.im)))
(*.f64 y.re (log.f64 (neg.f64 x.im)))
(*.f64 y.re (log.f64 (neg.f64 x.im)))
(*.f64 y.re (log.f64 (neg.f64 x.im)))
(*.f64 y.re (log.f64 (neg.f64 x.im)))
(*.f64 y.re (log.f64 (neg.f64 x.im)))
(*.f64 y.re (log.f64 (neg.f64 x.im)))
(*.f64 y.re (log.f64 (neg.f64 x.im)))
(*.f64 y.re (log.f64 (neg.f64 x.im)))
(*.f64 y.re (log.f64 (neg.f64 x.im)))
(+.f64 (*.f64 (log.f64 (neg.f64 x.im)) y.re) 0)
(*.f64 y.re (log.f64 (neg.f64 x.im)))
(+.f64 0 (*.f64 (log.f64 (neg.f64 x.im)) y.re))
(*.f64 y.re (log.f64 (neg.f64 x.im)))
(+.f64 (*.f64 (log.f64 (neg.f64 x.im)) (*.f64 y.re 1/2)) (*.f64 (log.f64 (neg.f64 x.im)) (*.f64 y.re 1/2)))
(*.f64 y.re (log.f64 (neg.f64 x.im)))
(-.f64 (*.f64 (log.f64 (neg.f64 x.im)) y.re) 0)
(*.f64 y.re (log.f64 (neg.f64 x.im)))
(/.f64 (*.f64 (log.f64 (neg.f64 x.im)) y.re) 1)
(*.f64 y.re (log.f64 (neg.f64 x.im)))
(/.f64 (*.f64 (log.f64 (neg.f64 x.im)) (+.f64 y.re y.re)) 2)
(*.f64 y.re (log.f64 (neg.f64 x.im)))
(/.f64 (*.f64 (log.f64 (neg.f64 x.im)) (*.f64 y.re 4)) 4)
(*.f64 y.re (log.f64 (neg.f64 x.im)))
(/.f64 (*.f64 (*.f64 (log.f64 (neg.f64 x.im)) y.re) 8) 8)
(*.f64 y.re (log.f64 (neg.f64 x.im)))
(/.f64 (*.f64 2 (*.f64 (*.f64 (log.f64 (neg.f64 x.im)) y.re) 8)) 16)
(*.f64 y.re (log.f64 (neg.f64 x.im)))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (log.f64 (neg.f64 x.im)) y.re) 8))) 32)
(*.f64 y.re (log.f64 (neg.f64 x.im)))
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (log.f64 (neg.f64 x.im)) y.re) 8))) (*.f64 2 (*.f64 2 (*.f64 (*.f64 (log.f64 (neg.f64 x.im)) y.re) 8)))) 64)
(*.f64 y.re (log.f64 (neg.f64 x.im)))

localize22.0ms (0%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.1b
(*.f64 (log.f64 x.im) y.im)
1.5b
(*.f64 (atan2.f64 x.im x.re) y.re)
2.3b
(*.f64 (atan2.f64 x.im x.re) y.im)
15.0b
(sin.f64 (+.f64 (*.f64 (log.f64 x.im) y.im) (*.f64 (atan2.f64 x.im x.re) y.re)))
Compiler

Compiled 96 to 15 computations (84.4% saved)

series11.0ms (0%)

Counts
1 → 8
Calls

6 calls:

TimeVariablePointExpression
10.0ms
y.im
@0
(*.f64 (log.f64 x.im) y.im)
0.0ms
y.im
@inf
(*.f64 (log.f64 x.im) y.im)
0.0ms
y.im
@-inf
(*.f64 (log.f64 x.im) y.im)
0.0ms
x.im
@0
(*.f64 (log.f64 x.im) y.im)
0.0ms
x.im
@-inf
(*.f64 (log.f64 x.im) y.im)

rewrite93.0ms (0.2%)

Algorithm
batch-egg-rewrite
Rules
1622×bool.json-1
1622×bool.json-2
1588×rational.json-1
1588×rational.json-2
1140×rational.json-simplify-2
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0711
16911
219411
340311
480911
5173911
6371311
7667211
Stop Event
node limit
Counts
1 → 11
Calls
Call 1
Inputs
(*.f64 (log.f64 x.im) y.im)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (log.f64 x.im) y.im) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (log.f64 x.im) y.im))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (log.f64 x.im) (*.f64 y.im 1/2)) (*.f64 (log.f64 x.im) (*.f64 y.im 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (log.f64 x.im) y.im) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (log.f64 x.im) y.im) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (log.f64 x.im) (+.f64 y.im y.im)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (log.f64 x.im) (*.f64 y.im 4)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 y.im 8) (log.f64 x.im)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (*.f64 y.im 8) (log.f64 x.im))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 y.im 8) (log.f64 x.im)))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 y.im 8) (log.f64 x.im)))) (*.f64 2 (*.f64 2 (*.f64 (*.f64 y.im 8) (log.f64 x.im))))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (*.f64 (log.f64 x.im) y.im)))))) (#(struct:change #<rule egg-rr> (2) ((x and (*.f64 (log.f64 x.im) y.im) (*.f64 (log.f64 x.im) y.im))))) (#(struct:change #<rule egg-rr> (2) ((x or (*.f64 (log.f64 x.im) y.im) (*.f64 (log.f64 x.im) y.im))))))

simplify1.0s (2%)

Algorithm
egg-herbie
Rules
8546×rational.json-simplify-41
4032×rational.json-simplify-35
2884×rational.json-simplify-2
1812×rational.json-simplify-53
762×rational.json-simplify-1
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
049345
1111329
2216329
3452329
41365329
52657329
63621329
73800329
83931329
94059329
104184329
114309329
124865329
135008329
145066329
155066329
165191329
175316329
185441329
195566329
205691329
215959329
226285329
236463329
246613329
256742329
266867329
276867329
287173329
297173329
Stop Event
node limit
Counts
19 → 17
Calls
Call 1
Inputs
(*.f64 -1 (*.f64 (log.f64 (/.f64 1 x.im)) y.im))
(*.f64 -1 (*.f64 (log.f64 (/.f64 1 x.im)) y.im))
(*.f64 -1 (*.f64 (log.f64 (/.f64 1 x.im)) y.im))
(*.f64 -1 (*.f64 (log.f64 (/.f64 1 x.im)) y.im))
(*.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 x.im)))) y.im)
(*.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 x.im)))) y.im)
(*.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 x.im)))) y.im)
(*.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 x.im)))) y.im)
(+.f64 (*.f64 (log.f64 x.im) y.im) 0)
(+.f64 0 (*.f64 (log.f64 x.im) y.im))
(+.f64 (*.f64 (log.f64 x.im) (*.f64 y.im 1/2)) (*.f64 (log.f64 x.im) (*.f64 y.im 1/2)))
(-.f64 (*.f64 (log.f64 x.im) y.im) 0)
(/.f64 (*.f64 (log.f64 x.im) y.im) 1)
(/.f64 (*.f64 (log.f64 x.im) (+.f64 y.im y.im)) 2)
(/.f64 (*.f64 (log.f64 x.im) (*.f64 y.im 4)) 4)
(/.f64 (*.f64 (*.f64 y.im 8) (log.f64 x.im)) 8)
(/.f64 (*.f64 2 (*.f64 (*.f64 y.im 8) (log.f64 x.im))) 16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 y.im 8) (log.f64 x.im)))) 32)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 y.im 8) (log.f64 x.im)))) (*.f64 2 (*.f64 2 (*.f64 (*.f64 y.im 8) (log.f64 x.im))))) 64)
Outputs
(*.f64 -1 (*.f64 (log.f64 (/.f64 1 x.im)) y.im))
(*.f64 (log.f64 (/.f64 1 x.im)) (neg.f64 y.im))
(*.f64 -1 (*.f64 (log.f64 (/.f64 1 x.im)) y.im))
(*.f64 (log.f64 (/.f64 1 x.im)) (neg.f64 y.im))
(*.f64 -1 (*.f64 (log.f64 (/.f64 1 x.im)) y.im))
(*.f64 (log.f64 (/.f64 1 x.im)) (neg.f64 y.im))
(*.f64 -1 (*.f64 (log.f64 (/.f64 1 x.im)) y.im))
(*.f64 (log.f64 (/.f64 1 x.im)) (neg.f64 y.im))
(*.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 x.im)))) y.im)
(*.f64 y.im (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 x.im)))))
(*.f64 y.im (+.f64 (log.f64 -1) (neg.f64 (log.f64 (/.f64 -1 x.im)))))
(*.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 x.im)))) y.im)
(*.f64 y.im (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 x.im)))))
(*.f64 y.im (+.f64 (log.f64 -1) (neg.f64 (log.f64 (/.f64 -1 x.im)))))
(*.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 x.im)))) y.im)
(*.f64 y.im (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 x.im)))))
(*.f64 y.im (+.f64 (log.f64 -1) (neg.f64 (log.f64 (/.f64 -1 x.im)))))
(*.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 x.im)))) y.im)
(*.f64 y.im (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 x.im)))))
(*.f64 y.im (+.f64 (log.f64 -1) (neg.f64 (log.f64 (/.f64 -1 x.im)))))
(+.f64 (*.f64 (log.f64 x.im) y.im) 0)
(*.f64 y.im (log.f64 x.im))
(+.f64 0 (*.f64 (log.f64 x.im) y.im))
(*.f64 y.im (log.f64 x.im))
(+.f64 (*.f64 (log.f64 x.im) (*.f64 y.im 1/2)) (*.f64 (log.f64 x.im) (*.f64 y.im 1/2)))
(*.f64 y.im (log.f64 x.im))
(-.f64 (*.f64 (log.f64 x.im) y.im) 0)
(*.f64 y.im (log.f64 x.im))
(/.f64 (*.f64 (log.f64 x.im) y.im) 1)
(*.f64 y.im (log.f64 x.im))
(/.f64 (*.f64 (log.f64 x.im) (+.f64 y.im y.im)) 2)
(*.f64 y.im (log.f64 x.im))
(/.f64 (*.f64 (log.f64 x.im) (*.f64 y.im 4)) 4)
(*.f64 y.im (log.f64 x.im))
(/.f64 (*.f64 (*.f64 y.im 8) (log.f64 x.im)) 8)
(*.f64 y.im (log.f64 x.im))
(/.f64 (*.f64 2 (*.f64 (*.f64 y.im 8) (log.f64 x.im))) 16)
(*.f64 y.im (log.f64 x.im))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 y.im 8) (log.f64 x.im)))) 32)
(*.f64 y.im (log.f64 x.im))
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 y.im 8) (log.f64 x.im)))) (*.f64 2 (*.f64 2 (*.f64 (*.f64 y.im 8) (log.f64 x.im))))) 64)
(*.f64 y.im (log.f64 x.im))

localize125.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.1b
(*.f64 (log.f64 (neg.f64 x.re)) y.im)
1.5b
(*.f64 (atan2.f64 x.im x.re) y.re)
2.3b
(*.f64 (atan2.f64 x.im x.re) y.im)
13.9b
(sin.f64 (+.f64 (*.f64 (log.f64 (neg.f64 x.re)) y.im) (*.f64 (atan2.f64 x.im x.re) y.re)))
Compiler

Compiled 105 to 17 computations (83.8% saved)

series53.0ms (0.1%)

Counts
2 → 72
Calls

18 calls:

TimeVariablePointExpression
14.0ms
x.im
@0
(sin.f64 (+.f64 (*.f64 (log.f64 (neg.f64 x.re)) y.im) (*.f64 (atan2.f64 x.im x.re) y.re)))
11.0ms
y.im
@0
(*.f64 (log.f64 (neg.f64 x.re)) y.im)
9.0ms
x.re
@inf
(sin.f64 (+.f64 (*.f64 (log.f64 (neg.f64 x.re)) y.im) (*.f64 (atan2.f64 x.im x.re) y.re)))
8.0ms
x.re
@0
(sin.f64 (+.f64 (*.f64 (log.f64 (neg.f64 x.re)) y.im) (*.f64 (atan2.f64 x.im x.re) y.re)))
7.0ms
x.re
@-inf
(sin.f64 (+.f64 (*.f64 (log.f64 (neg.f64 x.re)) y.im) (*.f64 (atan2.f64 x.im x.re) y.re)))

rewrite73.0ms (0.1%)

Algorithm
batch-egg-rewrite
Rules
1246×bool.json-1
1246×bool.json-2
1208×rational.json-1
1208×rational.json-2
1208×rational.json-4
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01452
114252
238052
379952
4174352
5405052
Stop Event
node limit
Counts
2 → 43
Calls
Call 1
Inputs
(sin.f64 (+.f64 (*.f64 (log.f64 (neg.f64 x.re)) y.im) (*.f64 (atan2.f64 x.im x.re) y.re)))
(*.f64 (log.f64 (neg.f64 x.re)) y.im)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (sin.f64 (+.f64 (*.f64 (log.f64 (neg.f64 x.re)) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (sin.f64 (+.f64 (*.f64 (log.f64 (neg.f64 x.re)) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 -1 (-.f64 1 (neg.f64 (sin.f64 (+.f64 (*.f64 (log.f64 (neg.f64 x.re)) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 -1 (-.f64 1 (sin.f64 (neg.f64 (+.f64 (*.f64 (log.f64 (neg.f64 x.re)) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (sin.f64 (+.f64 (*.f64 (log.f64 (neg.f64 x.re)) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))) 1/2) (*.f64 (sin.f64 (+.f64 (*.f64 (log.f64 (neg.f64 x.re)) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 1 (neg.f64 (sin.f64 (+.f64 (*.f64 (log.f64 (neg.f64 x.re)) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (sin.f64 (+.f64 (*.f64 (log.f64 (neg.f64 x.re)) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (neg.f64 (sin.f64 (+.f64 (*.f64 (log.f64 (neg.f64 x.re)) y.im) (*.f64 (atan2.f64 x.im x.re) y.re)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (sin.f64 (neg.f64 (+.f64 (*.f64 (log.f64 (neg.f64 x.re)) y.im) (*.f64 (atan2.f64 x.im x.re) y.re)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sin.f64 (+.f64 (*.f64 (log.f64 (neg.f64 x.re)) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (sin.f64 (+.f64 (*.f64 (log.f64 (neg.f64 x.re)) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (neg.f64 (sin.f64 (+.f64 (*.f64 (log.f64 (neg.f64 x.re)) y.im) (*.f64 (atan2.f64 x.im x.re) y.re)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (sin.f64 (+.f64 (*.f64 (log.f64 (neg.f64 x.re)) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sin.f64 (+.f64 (*.f64 (log.f64 (neg.f64 x.re)) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 (sin.f64 (+.f64 (*.f64 (log.f64 (neg.f64 x.re)) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sin.f64 (+.f64 (*.f64 (log.f64 (neg.f64 x.re)) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 (sin.f64 (+.f64 (*.f64 (log.f64 (neg.f64 x.re)) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sin.f64 (+.f64 (*.f64 (log.f64 (neg.f64 x.re)) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))) 1/2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (sin.f64 (+.f64 (*.f64 (log.f64 (neg.f64 x.re)) y.im) (*.f64 (atan2.f64 x.im x.re) y.re)))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (sin.f64 (+.f64 (*.f64 (log.f64 (neg.f64 x.re)) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sin.f64 (+.f64 (*.f64 (log.f64 (neg.f64 x.re)) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sin.f64 (neg.f64 (+.f64 (*.f64 (log.f64 (neg.f64 x.re)) y.im) (*.f64 (atan2.f64 x.im x.re) y.re)))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sin.f64 (+.f64 (*.f64 (log.f64 (neg.f64 x.re)) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sin.f64 (+.f64 (*.f64 (log.f64 (neg.f64 x.re)) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sin.f64 (+.f64 (*.f64 (log.f64 (neg.f64 x.re)) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (sin.f64 (+.f64 (*.f64 (log.f64 (neg.f64 x.re)) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))) 4)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (sin.f64 (+.f64 (*.f64 (log.f64 (neg.f64 x.re)) y.im) (*.f64 (atan2.f64 x.im x.re) y.re)))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (sin.f64 (+.f64 (*.f64 (log.f64 (neg.f64 x.re)) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))) 4))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sin.f64 (neg.f64 (+.f64 (*.f64 (log.f64 (neg.f64 x.re)) y.im) (*.f64 (atan2.f64 x.im x.re) y.re)))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (neg.f64 (sin.f64 (+.f64 (*.f64 (log.f64 (neg.f64 x.re)) y.im) (*.f64 (atan2.f64 x.im x.re) y.re)))) (neg.f64 (sin.f64 (+.f64 (*.f64 (log.f64 (neg.f64 x.re)) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))))) -2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (sin.f64 (+.f64 (*.f64 (log.f64 (neg.f64 x.re)) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))) 4))) (*.f64 2 (*.f64 2 (*.f64 (sin.f64 (+.f64 (*.f64 (log.f64 (neg.f64 x.re)) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))) 4)))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (neg.f64 (sin.f64 (+.f64 (*.f64 (log.f64 (neg.f64 x.re)) y.im) (*.f64 (atan2.f64 x.im x.re) y.re)))))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (sin.f64 (neg.f64 (+.f64 (*.f64 (log.f64 (neg.f64 x.re)) y.im) (*.f64 (atan2.f64 x.im x.re) y.re)))))))) (#(struct:change #<rule egg-rr> (2) ((x not (not (sin.f64 (+.f64 (*.f64 (log.f64 (neg.f64 x.re)) y.im) (*.f64 (atan2.f64 x.im x.re) y.re)))))))) (#(struct:change #<rule egg-rr> (2) ((x and (sin.f64 (+.f64 (*.f64 (log.f64 (neg.f64 x.re)) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))) (sin.f64 (+.f64 (*.f64 (log.f64 (neg.f64 x.re)) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))))))) (#(struct:change #<rule egg-rr> (2) ((x or (sin.f64 (+.f64 (*.f64 (log.f64 (neg.f64 x.re)) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))) (sin.f64 (+.f64 (*.f64 (log.f64 (neg.f64 x.re)) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (log.f64 (neg.f64 x.re)) y.im) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (log.f64 (neg.f64 x.re)) y.im))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (log.f64 (neg.f64 x.re)) (*.f64 y.im 1/2)) (*.f64 (log.f64 (neg.f64 x.re)) (*.f64 y.im 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (log.f64 (neg.f64 x.re)) y.im) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (log.f64 (neg.f64 x.re)) y.im) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (log.f64 (neg.f64 x.re)) (+.f64 y.im y.im)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (log.f64 (neg.f64 x.re)) (*.f64 y.im 4)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (log.f64 (neg.f64 x.re)) (*.f64 y.im 4))) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (log.f64 (neg.f64 x.re)) (*.f64 y.im 4)))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (log.f64 (neg.f64 x.re)) (*.f64 y.im 4)))) (*.f64 2 (*.f64 2 (*.f64 (log.f64 (neg.f64 x.re)) (*.f64 y.im 4))))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (*.f64 (log.f64 (neg.f64 x.re)) y.im)))))) (#(struct:change #<rule egg-rr> (2) ((x and (*.f64 (log.f64 (neg.f64 x.re)) y.im) (*.f64 (log.f64 (neg.f64 x.re)) y.im))))) (#(struct:change #<rule egg-rr> (2) ((x or (*.f64 (log.f64 (neg.f64 x.re)) y.im) (*.f64 (log.f64 (neg.f64 x.re)) y.im))))))

simplify207.0ms (0.4%)

Algorithm
egg-herbie
Rules
1866×rational.json-simplify-35
1204×rational.json-simplify-26
1172×rational.json-simplify-2
888×rational.json-simplify-48
850×rational.json-simplify-1
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01554223
13394191
27364191
316994145
429874145
540254145
658014145
767674145
874454145
Stop Event
node limit
Counts
115 → 87
Calls
Call 1
Inputs
(sin.f64 (+.f64 (*.f64 (+.f64 (log.f64 -1) (log.f64 x.re)) y.im) (*.f64 y.re (atan2.f64 x.im x.re))))
(sin.f64 (+.f64 (*.f64 (+.f64 (log.f64 -1) (log.f64 x.re)) y.im) (*.f64 y.re (atan2.f64 x.im x.re))))
(sin.f64 (+.f64 (*.f64 (+.f64 (log.f64 -1) (log.f64 x.re)) y.im) (*.f64 y.re (atan2.f64 x.im x.re))))
(sin.f64 (+.f64 (*.f64 (+.f64 (log.f64 -1) (log.f64 x.re)) y.im) (*.f64 y.re (atan2.f64 x.im x.re))))
(sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 x.re))) (log.f64 -1)) y.im)))
(sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 x.re))) (log.f64 -1)) y.im)))
(sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 x.re))) (log.f64 -1)) y.im)))
(sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 x.re))) (log.f64 -1)) y.im)))
(sin.f64 (+.f64 (*.f64 -1 (*.f64 y.im (log.f64 (/.f64 -1 x.re)))) (*.f64 y.re (atan2.f64 x.im x.re))))
(sin.f64 (+.f64 (*.f64 -1 (*.f64 y.im (log.f64 (/.f64 -1 x.re)))) (*.f64 y.re (atan2.f64 x.im x.re))))
(sin.f64 (+.f64 (*.f64 -1 (*.f64 y.im (log.f64 (/.f64 -1 x.re)))) (*.f64 y.re (atan2.f64 x.im x.re))))
(sin.f64 (+.f64 (*.f64 -1 (*.f64 y.im (log.f64 (/.f64 -1 x.re)))) (*.f64 y.re (atan2.f64 x.im x.re))))
(sin.f64 (*.f64 y.re (atan2.f64 x.im x.re)))
(+.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (*.f64 y.im (*.f64 (cos.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (log.f64 (neg.f64 x.re)))))
(+.f64 (*.f64 -1/2 (*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (*.f64 (pow.f64 y.im 2) (pow.f64 (log.f64 (neg.f64 x.re)) 2)))) (+.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (*.f64 y.im (*.f64 (cos.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (log.f64 (neg.f64 x.re))))))
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 y.im 3) (*.f64 (cos.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (pow.f64 (log.f64 (neg.f64 x.re)) 3)))) (+.f64 (*.f64 -1/2 (*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (*.f64 (pow.f64 y.im 2) (pow.f64 (log.f64 (neg.f64 x.re)) 2)))) (+.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (*.f64 y.im (*.f64 (cos.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (log.f64 (neg.f64 x.re)))))))
(sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 (neg.f64 x.re)))))
(sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 (neg.f64 x.re)))))
(sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 (neg.f64 x.re)))))
(sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 (neg.f64 x.re)))))
(sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 (neg.f64 x.re)))))
(sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 (neg.f64 x.re)))))
(sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 (neg.f64 x.re)))))
(sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 (neg.f64 x.re)))))
(sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 (neg.f64 x.re)))))
(sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 (neg.f64 x.re)))))
(sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 (neg.f64 x.re)))))
(sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 (neg.f64 x.re)))))
(sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 (neg.f64 x.re)))))
(sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 (neg.f64 x.re)))))
(sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 (neg.f64 x.re)))))
(sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 (neg.f64 x.re)))))
(sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 (neg.f64 x.re)))))
(sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 (neg.f64 x.re)))))
(sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 (neg.f64 x.re)))))
(sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 (neg.f64 x.re)))))
(sin.f64 (*.f64 y.im (log.f64 (neg.f64 x.re))))
(+.f64 (*.f64 y.re (*.f64 (atan2.f64 x.im x.re) (cos.f64 (*.f64 y.im (log.f64 (neg.f64 x.re)))))) (sin.f64 (*.f64 y.im (log.f64 (neg.f64 x.re)))))
(+.f64 (*.f64 y.re (*.f64 (atan2.f64 x.im x.re) (cos.f64 (*.f64 y.im (log.f64 (neg.f64 x.re)))))) (+.f64 (sin.f64 (*.f64 y.im (log.f64 (neg.f64 x.re)))) (*.f64 -1/2 (*.f64 (sin.f64 (*.f64 y.im (log.f64 (neg.f64 x.re)))) (*.f64 (pow.f64 y.re 2) (pow.f64 (atan2.f64 x.im x.re) 2))))))
(+.f64 (*.f64 y.re (*.f64 (atan2.f64 x.im x.re) (cos.f64 (*.f64 y.im (log.f64 (neg.f64 x.re)))))) (+.f64 (sin.f64 (*.f64 y.im (log.f64 (neg.f64 x.re)))) (+.f64 (*.f64 -1/2 (*.f64 (sin.f64 (*.f64 y.im (log.f64 (neg.f64 x.re)))) (*.f64 (pow.f64 y.re 2) (pow.f64 (atan2.f64 x.im x.re) 2)))) (*.f64 -1/6 (*.f64 (pow.f64 y.re 3) (*.f64 (pow.f64 (atan2.f64 x.im x.re) 3) (cos.f64 (*.f64 y.im (log.f64 (neg.f64 x.re))))))))))
(sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 (neg.f64 x.re)))))
(sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 (neg.f64 x.re)))))
(sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 (neg.f64 x.re)))))
(sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 (neg.f64 x.re)))))
(sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 (neg.f64 x.re)))))
(sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 (neg.f64 x.re)))))
(sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 (neg.f64 x.re)))))
(sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 (neg.f64 x.re)))))
(*.f64 (+.f64 (log.f64 -1) (log.f64 x.re)) y.im)
(*.f64 (+.f64 (log.f64 -1) (log.f64 x.re)) y.im)
(*.f64 (+.f64 (log.f64 -1) (log.f64 x.re)) y.im)
(*.f64 (+.f64 (log.f64 -1) (log.f64 x.re)) y.im)
(*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 x.re))) (log.f64 -1)) y.im)
(*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 x.re))) (log.f64 -1)) y.im)
(*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 x.re))) (log.f64 -1)) y.im)
(*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 x.re))) (log.f64 -1)) y.im)
(*.f64 -1 (*.f64 (log.f64 (/.f64 -1 x.re)) y.im))
(*.f64 -1 (*.f64 (log.f64 (/.f64 -1 x.re)) y.im))
(*.f64 -1 (*.f64 (log.f64 (/.f64 -1 x.re)) y.im))
(*.f64 -1 (*.f64 (log.f64 (/.f64 -1 x.re)) y.im))
(*.f64 y.im (log.f64 (neg.f64 x.re)))
(*.f64 y.im (log.f64 (neg.f64 x.re)))
(*.f64 y.im (log.f64 (neg.f64 x.re)))
(*.f64 y.im (log.f64 (neg.f64 x.re)))
(*.f64 y.im (log.f64 (neg.f64 x.re)))
(*.f64 y.im (log.f64 (neg.f64 x.re)))
(*.f64 y.im (log.f64 (neg.f64 x.re)))
(*.f64 y.im (log.f64 (neg.f64 x.re)))
(*.f64 y.im (log.f64 (neg.f64 x.re)))
(*.f64 y.im (log.f64 (neg.f64 x.re)))
(*.f64 y.im (log.f64 (neg.f64 x.re)))
(*.f64 y.im (log.f64 (neg.f64 x.re)))
(+.f64 (sin.f64 (+.f64 (*.f64 (log.f64 (neg.f64 x.re)) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))) 0)
(+.f64 0 (sin.f64 (+.f64 (*.f64 (log.f64 (neg.f64 x.re)) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))))
(+.f64 -1 (-.f64 1 (neg.f64 (sin.f64 (+.f64 (*.f64 (log.f64 (neg.f64 x.re)) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))))))
(+.f64 -1 (-.f64 1 (sin.f64 (neg.f64 (+.f64 (*.f64 (log.f64 (neg.f64 x.re)) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))))))
(+.f64 (*.f64 (sin.f64 (+.f64 (*.f64 (log.f64 (neg.f64 x.re)) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))) 1/2) (*.f64 (sin.f64 (+.f64 (*.f64 (log.f64 (neg.f64 x.re)) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))) 1/2))
(+.f64 (-.f64 1 (neg.f64 (sin.f64 (+.f64 (*.f64 (log.f64 (neg.f64 x.re)) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))))) -1)
(-.f64 (sin.f64 (+.f64 (*.f64 (log.f64 (neg.f64 x.re)) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))) 0)
(-.f64 0 (neg.f64 (sin.f64 (+.f64 (*.f64 (log.f64 (neg.f64 x.re)) y.im) (*.f64 (atan2.f64 x.im x.re) y.re)))))
(-.f64 0 (sin.f64 (neg.f64 (+.f64 (*.f64 (log.f64 (neg.f64 x.re)) y.im) (*.f64 (atan2.f64 x.im x.re) y.re)))))
(*.f64 (sin.f64 (+.f64 (*.f64 (log.f64 (neg.f64 x.re)) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))) 1)
(*.f64 1 (sin.f64 (+.f64 (*.f64 (log.f64 (neg.f64 x.re)) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))))
(*.f64 -1 (neg.f64 (sin.f64 (+.f64 (*.f64 (log.f64 (neg.f64 x.re)) y.im) (*.f64 (atan2.f64 x.im x.re) y.re)))))
(*.f64 2 (*.f64 (sin.f64 (+.f64 (*.f64 (log.f64 (neg.f64 x.re)) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))) 1/2))
(*.f64 (*.f64 (sin.f64 (+.f64 (*.f64 (log.f64 (neg.f64 x.re)) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))) 2) 1/2)
(*.f64 4 (/.f64 (sin.f64 (+.f64 (*.f64 (log.f64 (neg.f64 x.re)) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))) 4))
(*.f64 (*.f64 (sin.f64 (+.f64 (*.f64 (log.f64 (neg.f64 x.re)) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))) 4) 1/4)
(*.f64 1/2 (*.f64 (sin.f64 (+.f64 (*.f64 (log.f64 (neg.f64 x.re)) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))) 2))
(*.f64 (*.f64 (sin.f64 (+.f64 (*.f64 (log.f64 (neg.f64 x.re)) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))) 1/2) 2)
(*.f64 (neg.f64 (sin.f64 (+.f64 (*.f64 (log.f64 (neg.f64 x.re)) y.im) (*.f64 (atan2.f64 x.im x.re) y.re)))) -1)
(*.f64 1/4 (*.f64 (sin.f64 (+.f64 (*.f64 (log.f64 (neg.f64 x.re)) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))) 4))
(*.f64 (/.f64 (sin.f64 (+.f64 (*.f64 (log.f64 (neg.f64 x.re)) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))) 4) 4)
(*.f64 (sin.f64 (neg.f64 (+.f64 (*.f64 (log.f64 (neg.f64 x.re)) y.im) (*.f64 (atan2.f64 x.im x.re) y.re)))) -1)
(/.f64 (sin.f64 (+.f64 (*.f64 (log.f64 (neg.f64 x.re)) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))) 1)
(/.f64 (*.f64 (sin.f64 (+.f64 (*.f64 (log.f64 (neg.f64 x.re)) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))) 2) 2)
(/.f64 (*.f64 (sin.f64 (+.f64 (*.f64 (log.f64 (neg.f64 x.re)) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))) 4) 4)
(/.f64 (*.f64 2 (*.f64 (sin.f64 (+.f64 (*.f64 (log.f64 (neg.f64 x.re)) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))) 4)) 8)
(/.f64 (neg.f64 (sin.f64 (+.f64 (*.f64 (log.f64 (neg.f64 x.re)) y.im) (*.f64 (atan2.f64 x.im x.re) y.re)))) -1)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (sin.f64 (+.f64 (*.f64 (log.f64 (neg.f64 x.re)) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))) 4))) 16)
(/.f64 (sin.f64 (neg.f64 (+.f64 (*.f64 (log.f64 (neg.f64 x.re)) y.im) (*.f64 (atan2.f64 x.im x.re) y.re)))) -1)
(/.f64 (+.f64 (neg.f64 (sin.f64 (+.f64 (*.f64 (log.f64 (neg.f64 x.re)) y.im) (*.f64 (atan2.f64 x.im x.re) y.re)))) (neg.f64 (sin.f64 (+.f64 (*.f64 (log.f64 (neg.f64 x.re)) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))))) -2)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (sin.f64 (+.f64 (*.f64 (log.f64 (neg.f64 x.re)) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))) 4))) (*.f64 2 (*.f64 2 (*.f64 (sin.f64 (+.f64 (*.f64 (log.f64 (neg.f64 x.re)) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))) 4)))) 32)
(neg.f64 (neg.f64 (sin.f64 (+.f64 (*.f64 (log.f64 (neg.f64 x.re)) y.im) (*.f64 (atan2.f64 x.im x.re) y.re)))))
(neg.f64 (sin.f64 (neg.f64 (+.f64 (*.f64 (log.f64 (neg.f64 x.re)) y.im) (*.f64 (atan2.f64 x.im x.re) y.re)))))
(+.f64 (*.f64 (log.f64 (neg.f64 x.re)) y.im) 0)
(+.f64 0 (*.f64 (log.f64 (neg.f64 x.re)) y.im))
(+.f64 (*.f64 (log.f64 (neg.f64 x.re)) (*.f64 y.im 1/2)) (*.f64 (log.f64 (neg.f64 x.re)) (*.f64 y.im 1/2)))
(-.f64 (*.f64 (log.f64 (neg.f64 x.re)) y.im) 0)
(/.f64 (*.f64 (log.f64 (neg.f64 x.re)) y.im) 1)
(/.f64 (*.f64 (log.f64 (neg.f64 x.re)) (+.f64 y.im y.im)) 2)
(/.f64 (*.f64 (log.f64 (neg.f64 x.re)) (*.f64 y.im 4)) 4)
(/.f64 (*.f64 2 (*.f64 (log.f64 (neg.f64 x.re)) (*.f64 y.im 4))) 8)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (log.f64 (neg.f64 x.re)) (*.f64 y.im 4)))) 16)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (log.f64 (neg.f64 x.re)) (*.f64 y.im 4)))) (*.f64 2 (*.f64 2 (*.f64 (log.f64 (neg.f64 x.re)) (*.f64 y.im 4))))) 32)
Outputs
(sin.f64 (+.f64 (*.f64 (+.f64 (log.f64 -1) (log.f64 x.re)) y.im) (*.f64 y.re (atan2.f64 x.im x.re))))
(sin.f64 (+.f64 (*.f64 (+.f64 (log.f64 -1) (log.f64 x.re)) y.im) (*.f64 y.re (atan2.f64 x.im x.re))))
(sin.f64 (+.f64 (*.f64 (+.f64 (log.f64 -1) (log.f64 x.re)) y.im) (*.f64 y.re (atan2.f64 x.im x.re))))
(sin.f64 (+.f64 (*.f64 (+.f64 (log.f64 -1) (log.f64 x.re)) y.im) (*.f64 y.re (atan2.f64 x.im x.re))))
(sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 x.re))) (log.f64 -1)) y.im)))
(sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 1 x.re)))))))
(sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (+.f64 (log.f64 -1) (neg.f64 (log.f64 (/.f64 1 x.re)))))))
(sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 x.re))) (log.f64 -1)) y.im)))
(sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 1 x.re)))))))
(sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (+.f64 (log.f64 -1) (neg.f64 (log.f64 (/.f64 1 x.re)))))))
(sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 x.re))) (log.f64 -1)) y.im)))
(sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 1 x.re)))))))
(sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (+.f64 (log.f64 -1) (neg.f64 (log.f64 (/.f64 1 x.re)))))))
(sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 x.re))) (log.f64 -1)) y.im)))
(sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 1 x.re)))))))
(sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (+.f64 (log.f64 -1) (neg.f64 (log.f64 (/.f64 1 x.re)))))))
(sin.f64 (+.f64 (*.f64 -1 (*.f64 y.im (log.f64 (/.f64 -1 x.re)))) (*.f64 y.re (atan2.f64 x.im x.re))))
(sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 (log.f64 (/.f64 -1 x.re)) (*.f64 y.im -1))))
(sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (neg.f64 (log.f64 (/.f64 -1 x.re))))))
(sin.f64 (+.f64 (*.f64 -1 (*.f64 y.im (log.f64 (/.f64 -1 x.re)))) (*.f64 y.re (atan2.f64 x.im x.re))))
(sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 (log.f64 (/.f64 -1 x.re)) (*.f64 y.im -1))))
(sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (neg.f64 (log.f64 (/.f64 -1 x.re))))))
(sin.f64 (+.f64 (*.f64 -1 (*.f64 y.im (log.f64 (/.f64 -1 x.re)))) (*.f64 y.re (atan2.f64 x.im x.re))))
(sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 (log.f64 (/.f64 -1 x.re)) (*.f64 y.im -1))))
(sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (neg.f64 (log.f64 (/.f64 -1 x.re))))))
(sin.f64 (+.f64 (*.f64 -1 (*.f64 y.im (log.f64 (/.f64 -1 x.re)))) (*.f64 y.re (atan2.f64 x.im x.re))))
(sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 (log.f64 (/.f64 -1 x.re)) (*.f64 y.im -1))))
(sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (neg.f64 (log.f64 (/.f64 -1 x.re))))))
(sin.f64 (*.f64 y.re (atan2.f64 x.im x.re)))
(+.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (*.f64 y.im (*.f64 (cos.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (log.f64 (neg.f64 x.re)))))
(+.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (*.f64 (cos.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (*.f64 y.im (log.f64 (neg.f64 x.re)))))
(+.f64 (*.f64 -1/2 (*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (*.f64 (pow.f64 y.im 2) (pow.f64 (log.f64 (neg.f64 x.re)) 2)))) (+.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (*.f64 y.im (*.f64 (cos.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (log.f64 (neg.f64 x.re))))))
(+.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (+.f64 (*.f64 y.im (*.f64 (cos.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (log.f64 (neg.f64 x.re)))) (*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (*.f64 (*.f64 (pow.f64 y.im 2) (pow.f64 (log.f64 (neg.f64 x.re)) 2)) -1/2))))
(+.f64 (+.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (*.f64 (cos.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (*.f64 y.im (log.f64 (neg.f64 x.re))))) (*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (*.f64 -1/2 (*.f64 (pow.f64 y.im 2) (pow.f64 (log.f64 (neg.f64 x.re)) 2)))))
(+.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (+.f64 (*.f64 (cos.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (*.f64 y.im (log.f64 (neg.f64 x.re)))) (*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (*.f64 (pow.f64 y.im 2) (*.f64 (pow.f64 (log.f64 (neg.f64 x.re)) 2) -1/2)))))
(+.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (+.f64 (*.f64 (cos.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (*.f64 y.im (log.f64 (neg.f64 x.re)))) (*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (*.f64 (pow.f64 y.im 2) (*.f64 -1/2 (pow.f64 (log.f64 (neg.f64 x.re)) 2))))))
(+.f64 (*.f64 (cos.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (*.f64 y.im (log.f64 (neg.f64 x.re)))) (+.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (*.f64 -1/2 (*.f64 (pow.f64 y.im 2) (pow.f64 (log.f64 (neg.f64 x.re)) 2))))))
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 y.im 3) (*.f64 (cos.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (pow.f64 (log.f64 (neg.f64 x.re)) 3)))) (+.f64 (*.f64 -1/2 (*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (*.f64 (pow.f64 y.im 2) (pow.f64 (log.f64 (neg.f64 x.re)) 2)))) (+.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (*.f64 y.im (*.f64 (cos.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (log.f64 (neg.f64 x.re)))))))
(+.f64 (*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (*.f64 (*.f64 (pow.f64 y.im 2) (pow.f64 (log.f64 (neg.f64 x.re)) 2)) -1/2)) (+.f64 (+.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (*.f64 y.im (*.f64 (cos.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (log.f64 (neg.f64 x.re))))) (*.f64 -1/6 (*.f64 (cos.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (*.f64 (pow.f64 (log.f64 (neg.f64 x.re)) 3) (pow.f64 y.im 3))))))
(+.f64 (+.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (*.f64 (cos.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (*.f64 y.im (log.f64 (neg.f64 x.re))))) (+.f64 (*.f64 (cos.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (*.f64 (*.f64 (pow.f64 y.im 3) (pow.f64 (log.f64 (neg.f64 x.re)) 3)) -1/6)) (*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (*.f64 -1/2 (*.f64 (pow.f64 y.im 2) (pow.f64 (log.f64 (neg.f64 x.re)) 2))))))
(+.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (+.f64 (*.f64 (cos.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (*.f64 -1/6 (*.f64 (pow.f64 y.im 3) (pow.f64 (log.f64 (neg.f64 x.re)) 3)))) (+.f64 (*.f64 (cos.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (*.f64 y.im (log.f64 (neg.f64 x.re)))) (*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (*.f64 (pow.f64 y.im 2) (*.f64 (pow.f64 (log.f64 (neg.f64 x.re)) 2) -1/2))))))
(+.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (+.f64 (*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (*.f64 (pow.f64 y.im 2) (*.f64 -1/2 (pow.f64 (log.f64 (neg.f64 x.re)) 2)))) (*.f64 (cos.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (+.f64 (*.f64 -1/6 (*.f64 (pow.f64 y.im 3) (pow.f64 (log.f64 (neg.f64 x.re)) 3))) (*.f64 y.im (log.f64 (neg.f64 x.re)))))))
(+.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (+.f64 (*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (*.f64 (pow.f64 y.im 2) (*.f64 -1/2 (pow.f64 (log.f64 (neg.f64 x.re)) 2)))) (*.f64 (cos.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (+.f64 (*.f64 y.im (log.f64 (neg.f64 x.re))) (*.f64 -1/6 (*.f64 (pow.f64 y.im 3) (pow.f64 (log.f64 (neg.f64 x.re)) 3)))))))
(+.f64 (+.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (*.f64 -1/2 (*.f64 (pow.f64 y.im 2) (pow.f64 (log.f64 (neg.f64 x.re)) 2))))) (*.f64 (cos.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (+.f64 (*.f64 y.im (log.f64 (neg.f64 x.re))) (*.f64 -1/6 (*.f64 (pow.f64 y.im 3) (pow.f64 (log.f64 (neg.f64 x.re)) 3))))))
(sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 (neg.f64 x.re)))))
(sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 (neg.f64 x.re)))))
(sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 (neg.f64 x.re)))))
(sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 (neg.f64 x.re)))))
(sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 (neg.f64 x.re)))))
(sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 (neg.f64 x.re)))))
(sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 (neg.f64 x.re)))))
(sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 (neg.f64 x.re)))))
(sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 (neg.f64 x.re)))))
(sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 (neg.f64 x.re)))))
(sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 (neg.f64 x.re)))))
(sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 (neg.f64 x.re)))))
(sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 (neg.f64 x.re)))))
(sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 (neg.f64 x.re)))))
(sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 (neg.f64 x.re)))))
(sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 (neg.f64 x.re)))))
(sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 (neg.f64 x.re)))))
(sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 (neg.f64 x.re)))))
(sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 (neg.f64 x.re)))))
(sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 (neg.f64 x.re)))))
(sin.f64 (*.f64 y.im (log.f64 (neg.f64 x.re))))
(+.f64 (*.f64 y.re (*.f64 (atan2.f64 x.im x.re) (cos.f64 (*.f64 y.im (log.f64 (neg.f64 x.re)))))) (sin.f64 (*.f64 y.im (log.f64 (neg.f64 x.re)))))
(+.f64 (sin.f64 (*.f64 y.im (log.f64 (neg.f64 x.re)))) (*.f64 y.re (*.f64 (atan2.f64 x.im x.re) (cos.f64 (*.f64 y.im (log.f64 (neg.f64 x.re)))))))
(+.f64 (sin.f64 (*.f64 y.im (log.f64 (neg.f64 x.re)))) (*.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (cos.f64 (*.f64 y.im (log.f64 (neg.f64 x.re))))))
(+.f64 (*.f64 y.re (*.f64 (atan2.f64 x.im x.re) (cos.f64 (*.f64 y.im (log.f64 (neg.f64 x.re)))))) (+.f64 (sin.f64 (*.f64 y.im (log.f64 (neg.f64 x.re)))) (*.f64 -1/2 (*.f64 (sin.f64 (*.f64 y.im (log.f64 (neg.f64 x.re)))) (*.f64 (pow.f64 y.re 2) (pow.f64 (atan2.f64 x.im x.re) 2))))))
(+.f64 (*.f64 y.re (*.f64 (atan2.f64 x.im x.re) (cos.f64 (*.f64 y.im (log.f64 (neg.f64 x.re)))))) (+.f64 (sin.f64 (*.f64 y.im (log.f64 (neg.f64 x.re)))) (*.f64 (sin.f64 (*.f64 y.im (log.f64 (neg.f64 x.re)))) (*.f64 (*.f64 (pow.f64 y.re 2) (pow.f64 (atan2.f64 x.im x.re) 2)) -1/2))))
(+.f64 (+.f64 (sin.f64 (*.f64 y.im (log.f64 (neg.f64 x.re)))) (*.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (cos.f64 (*.f64 y.im (log.f64 (neg.f64 x.re)))))) (*.f64 -1/2 (*.f64 (sin.f64 (*.f64 y.im (log.f64 (neg.f64 x.re)))) (*.f64 (pow.f64 y.re 2) (pow.f64 (atan2.f64 x.im x.re) 2)))))
(+.f64 (*.f64 y.re (*.f64 (atan2.f64 x.im x.re) (cos.f64 (*.f64 y.im (log.f64 (neg.f64 x.re)))))) (+.f64 (sin.f64 (*.f64 y.im (log.f64 (neg.f64 x.re)))) (+.f64 (*.f64 -1/2 (*.f64 (sin.f64 (*.f64 y.im (log.f64 (neg.f64 x.re)))) (*.f64 (pow.f64 y.re 2) (pow.f64 (atan2.f64 x.im x.re) 2)))) (*.f64 -1/6 (*.f64 (pow.f64 y.re 3) (*.f64 (pow.f64 (atan2.f64 x.im x.re) 3) (cos.f64 (*.f64 y.im (log.f64 (neg.f64 x.re))))))))))
(+.f64 (sin.f64 (*.f64 y.im (log.f64 (neg.f64 x.re)))) (+.f64 (+.f64 (*.f64 (sin.f64 (*.f64 y.im (log.f64 (neg.f64 x.re)))) (*.f64 (*.f64 (pow.f64 y.re 2) (pow.f64 (atan2.f64 x.im x.re) 2)) -1/2)) (*.f64 -1/6 (*.f64 (pow.f64 (atan2.f64 x.im x.re) 3) (*.f64 (cos.f64 (*.f64 y.im (log.f64 (neg.f64 x.re)))) (pow.f64 y.re 3))))) (*.f64 y.re (*.f64 (atan2.f64 x.im x.re) (cos.f64 (*.f64 y.im (log.f64 (neg.f64 x.re))))))))
(+.f64 (*.f64 y.re (*.f64 (atan2.f64 x.im x.re) (cos.f64 (*.f64 y.im (log.f64 (neg.f64 x.re)))))) (+.f64 (sin.f64 (*.f64 y.im (log.f64 (neg.f64 x.re)))) (+.f64 (*.f64 -1/2 (*.f64 (sin.f64 (*.f64 y.im (log.f64 (neg.f64 x.re)))) (*.f64 (pow.f64 y.re 2) (pow.f64 (atan2.f64 x.im x.re) 2)))) (*.f64 -1/6 (*.f64 (cos.f64 (*.f64 y.im (log.f64 (neg.f64 x.re)))) (*.f64 (pow.f64 (atan2.f64 x.im x.re) 3) (pow.f64 y.re 3)))))))
(+.f64 (+.f64 (sin.f64 (*.f64 y.im (log.f64 (neg.f64 x.re)))) (*.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (cos.f64 (*.f64 y.im (log.f64 (neg.f64 x.re)))))) (+.f64 (*.f64 -1/2 (*.f64 (sin.f64 (*.f64 y.im (log.f64 (neg.f64 x.re)))) (*.f64 (pow.f64 y.re 2) (pow.f64 (atan2.f64 x.im x.re) 2)))) (*.f64 (*.f64 (cos.f64 (*.f64 y.im (log.f64 (neg.f64 x.re)))) (pow.f64 (atan2.f64 x.im x.re) 3)) (*.f64 -1/6 (pow.f64 y.re 3)))))
(+.f64 (*.f64 -1/2 (*.f64 (sin.f64 (*.f64 y.im (log.f64 (neg.f64 x.re)))) (*.f64 (pow.f64 y.re 2) (pow.f64 (atan2.f64 x.im x.re) 2)))) (+.f64 (sin.f64 (*.f64 y.im (log.f64 (neg.f64 x.re)))) (*.f64 (cos.f64 (*.f64 y.im (log.f64 (neg.f64 x.re)))) (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 -1/6 (*.f64 (pow.f64 y.re 3) (pow.f64 (atan2.f64 x.im x.re) 3)))))))
(sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 (neg.f64 x.re)))))
(sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 (neg.f64 x.re)))))
(sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 (neg.f64 x.re)))))
(sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 (neg.f64 x.re)))))
(sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 (neg.f64 x.re)))))
(sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 (neg.f64 x.re)))))
(sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 (neg.f64 x.re)))))
(sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 (neg.f64 x.re)))))
(*.f64 (+.f64 (log.f64 -1) (log.f64 x.re)) y.im)
(*.f64 (+.f64 (log.f64 -1) (log.f64 x.re)) y.im)
(*.f64 (+.f64 (log.f64 -1) (log.f64 x.re)) y.im)
(*.f64 (+.f64 (log.f64 -1) (log.f64 x.re)) y.im)
(*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 x.re))) (log.f64 -1)) y.im)
(*.f64 y.im (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 1 x.re)))))
(*.f64 y.im (+.f64 (log.f64 -1) (neg.f64 (log.f64 (/.f64 1 x.re)))))
(*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 x.re))) (log.f64 -1)) y.im)
(*.f64 y.im (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 1 x.re)))))
(*.f64 y.im (+.f64 (log.f64 -1) (neg.f64 (log.f64 (/.f64 1 x.re)))))
(*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 x.re))) (log.f64 -1)) y.im)
(*.f64 y.im (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 1 x.re)))))
(*.f64 y.im (+.f64 (log.f64 -1) (neg.f64 (log.f64 (/.f64 1 x.re)))))
(*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 x.re))) (log.f64 -1)) y.im)
(*.f64 y.im (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 1 x.re)))))
(*.f64 y.im (+.f64 (log.f64 -1) (neg.f64 (log.f64 (/.f64 1 x.re)))))
(*.f64 -1 (*.f64 (log.f64 (/.f64 -1 x.re)) y.im))
(*.f64 (log.f64 (/.f64 -1 x.re)) (*.f64 y.im -1))
(*.f64 y.im (neg.f64 (log.f64 (/.f64 -1 x.re))))
(*.f64 -1 (*.f64 (log.f64 (/.f64 -1 x.re)) y.im))
(*.f64 (log.f64 (/.f64 -1 x.re)) (*.f64 y.im -1))
(*.f64 y.im (neg.f64 (log.f64 (/.f64 -1 x.re))))
(*.f64 -1 (*.f64 (log.f64 (/.f64 -1 x.re)) y.im))
(*.f64 (log.f64 (/.f64 -1 x.re)) (*.f64 y.im -1))
(*.f64 y.im (neg.f64 (log.f64 (/.f64 -1 x.re))))
(*.f64 -1 (*.f64 (log.f64 (/.f64 -1 x.re)) y.im))
(*.f64 (log.f64 (/.f64 -1 x.re)) (*.f64 y.im -1))
(*.f64 y.im (neg.f64 (log.f64 (/.f64 -1 x.re))))
(*.f64 y.im (log.f64 (neg.f64 x.re)))
(*.f64 y.im (log.f64 (neg.f64 x.re)))
(*.f64 y.im (log.f64 (neg.f64 x.re)))
(*.f64 y.im (log.f64 (neg.f64 x.re)))
(*.f64 y.im (log.f64 (neg.f64 x.re)))
(*.f64 y.im (log.f64 (neg.f64 x.re)))
(*.f64 y.im (log.f64 (neg.f64 x.re)))
(*.f64 y.im (log.f64 (neg.f64 x.re)))
(*.f64 y.im (log.f64 (neg.f64 x.re)))
(*.f64 y.im (log.f64 (neg.f64 x.re)))
(*.f64 y.im (log.f64 (neg.f64 x.re)))
(*.f64 y.im (log.f64 (neg.f64 x.re)))
(+.f64 (sin.f64 (+.f64 (*.f64 (log.f64 (neg.f64 x.re)) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))) 0)
(sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 (neg.f64 x.re)))))
(+.f64 0 (sin.f64 (+.f64 (*.f64 (log.f64 (neg.f64 x.re)) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))))
(sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 (neg.f64 x.re)))))
(+.f64 -1 (-.f64 1 (neg.f64 (sin.f64 (+.f64 (*.f64 (log.f64 (neg.f64 x.re)) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))))))
(sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 (neg.f64 x.re)))))
(+.f64 -1 (-.f64 1 (sin.f64 (neg.f64 (+.f64 (*.f64 (log.f64 (neg.f64 x.re)) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))))))
(sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 (neg.f64 x.re)))))
(+.f64 (*.f64 (sin.f64 (+.f64 (*.f64 (log.f64 (neg.f64 x.re)) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))) 1/2) (*.f64 (sin.f64 (+.f64 (*.f64 (log.f64 (neg.f64 x.re)) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))) 1/2))
(sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 (neg.f64 x.re)))))
(+.f64 (-.f64 1 (neg.f64 (sin.f64 (+.f64 (*.f64 (log.f64 (neg.f64 x.re)) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))))) -1)
(sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 (neg.f64 x.re)))))
(-.f64 (sin.f64 (+.f64 (*.f64 (log.f64 (neg.f64 x.re)) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))) 0)
(sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 (neg.f64 x.re)))))
(-.f64 0 (neg.f64 (sin.f64 (+.f64 (*.f64 (log.f64 (neg.f64 x.re)) y.im) (*.f64 (atan2.f64 x.im x.re) y.re)))))
(sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 (neg.f64 x.re)))))
(-.f64 0 (sin.f64 (neg.f64 (+.f64 (*.f64 (log.f64 (neg.f64 x.re)) y.im) (*.f64 (atan2.f64 x.im x.re) y.re)))))
(sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 (neg.f64 x.re)))))
(*.f64 (sin.f64 (+.f64 (*.f64 (log.f64 (neg.f64 x.re)) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))) 1)
(sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 (neg.f64 x.re)))))
(*.f64 1 (sin.f64 (+.f64 (*.f64 (log.f64 (neg.f64 x.re)) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))))
(sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 (neg.f64 x.re)))))
(*.f64 -1 (neg.f64 (sin.f64 (+.f64 (*.f64 (log.f64 (neg.f64 x.re)) y.im) (*.f64 (atan2.f64 x.im x.re) y.re)))))
(sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 (neg.f64 x.re)))))
(*.f64 2 (*.f64 (sin.f64 (+.f64 (*.f64 (log.f64 (neg.f64 x.re)) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))) 1/2))
(sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 (neg.f64 x.re)))))
(*.f64 (*.f64 (sin.f64 (+.f64 (*.f64 (log.f64 (neg.f64 x.re)) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))) 2) 1/2)
(sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 (neg.f64 x.re)))))
(*.f64 4 (/.f64 (sin.f64 (+.f64 (*.f64 (log.f64 (neg.f64 x.re)) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))) 4))
(sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 (neg.f64 x.re)))))
(*.f64 (*.f64 (sin.f64 (+.f64 (*.f64 (log.f64 (neg.f64 x.re)) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))) 4) 1/4)
(sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 (neg.f64 x.re)))))
(*.f64 1/2 (*.f64 (sin.f64 (+.f64 (*.f64 (log.f64 (neg.f64 x.re)) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))) 2))
(sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 (neg.f64 x.re)))))
(*.f64 (*.f64 (sin.f64 (+.f64 (*.f64 (log.f64 (neg.f64 x.re)) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))) 1/2) 2)
(sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 (neg.f64 x.re)))))
(*.f64 (neg.f64 (sin.f64 (+.f64 (*.f64 (log.f64 (neg.f64 x.re)) y.im) (*.f64 (atan2.f64 x.im x.re) y.re)))) -1)
(sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 (neg.f64 x.re)))))
(*.f64 1/4 (*.f64 (sin.f64 (+.f64 (*.f64 (log.f64 (neg.f64 x.re)) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))) 4))
(sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 (neg.f64 x.re)))))
(*.f64 (/.f64 (sin.f64 (+.f64 (*.f64 (log.f64 (neg.f64 x.re)) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))) 4) 4)
(sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 (neg.f64 x.re)))))
(*.f64 (sin.f64 (neg.f64 (+.f64 (*.f64 (log.f64 (neg.f64 x.re)) y.im) (*.f64 (atan2.f64 x.im x.re) y.re)))) -1)
(sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 (neg.f64 x.re)))))
(/.f64 (sin.f64 (+.f64 (*.f64 (log.f64 (neg.f64 x.re)) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))) 1)
(sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 (neg.f64 x.re)))))
(/.f64 (*.f64 (sin.f64 (+.f64 (*.f64 (log.f64 (neg.f64 x.re)) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))) 2) 2)
(sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 (neg.f64 x.re)))))
(/.f64 (*.f64 (sin.f64 (+.f64 (*.f64 (log.f64 (neg.f64 x.re)) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))) 4) 4)
(sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 (neg.f64 x.re)))))
(/.f64 (*.f64 2 (*.f64 (sin.f64 (+.f64 (*.f64 (log.f64 (neg.f64 x.re)) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))) 4)) 8)
(sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 (neg.f64 x.re)))))
(/.f64 (neg.f64 (sin.f64 (+.f64 (*.f64 (log.f64 (neg.f64 x.re)) y.im) (*.f64 (atan2.f64 x.im x.re) y.re)))) -1)
(sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 (neg.f64 x.re)))))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (sin.f64 (+.f64 (*.f64 (log.f64 (neg.f64 x.re)) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))) 4))) 16)
(sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 (neg.f64 x.re)))))
(/.f64 (sin.f64 (neg.f64 (+.f64 (*.f64 (log.f64 (neg.f64 x.re)) y.im) (*.f64 (atan2.f64 x.im x.re) y.re)))) -1)
(sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 (neg.f64 x.re)))))
(/.f64 (+.f64 (neg.f64 (sin.f64 (+.f64 (*.f64 (log.f64 (neg.f64 x.re)) y.im) (*.f64 (atan2.f64 x.im x.re) y.re)))) (neg.f64 (sin.f64 (+.f64 (*.f64 (log.f64 (neg.f64 x.re)) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))))) -2)
(sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 (neg.f64 x.re)))))
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (sin.f64 (+.f64 (*.f64 (log.f64 (neg.f64 x.re)) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))) 4))) (*.f64 2 (*.f64 2 (*.f64 (sin.f64 (+.f64 (*.f64 (log.f64 (neg.f64 x.re)) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))) 4)))) 32)
(sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 (neg.f64 x.re)))))
(neg.f64 (neg.f64 (sin.f64 (+.f64 (*.f64 (log.f64 (neg.f64 x.re)) y.im) (*.f64 (atan2.f64 x.im x.re) y.re)))))
(sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 (neg.f64 x.re)))))
(neg.f64 (sin.f64 (neg.f64 (+.f64 (*.f64 (log.f64 (neg.f64 x.re)) y.im) (*.f64 (atan2.f64 x.im x.re) y.re)))))
(sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 (neg.f64 x.re)))))
(+.f64 (*.f64 (log.f64 (neg.f64 x.re)) y.im) 0)
(*.f64 y.im (log.f64 (neg.f64 x.re)))
(+.f64 0 (*.f64 (log.f64 (neg.f64 x.re)) y.im))
(*.f64 y.im (log.f64 (neg.f64 x.re)))
(+.f64 (*.f64 (log.f64 (neg.f64 x.re)) (*.f64 y.im 1/2)) (*.f64 (log.f64 (neg.f64 x.re)) (*.f64 y.im 1/2)))
(*.f64 y.im (log.f64 (neg.f64 x.re)))
(-.f64 (*.f64 (log.f64 (neg.f64 x.re)) y.im) 0)
(*.f64 y.im (log.f64 (neg.f64 x.re)))
(/.f64 (*.f64 (log.f64 (neg.f64 x.re)) y.im) 1)
(*.f64 y.im (log.f64 (neg.f64 x.re)))
(/.f64 (*.f64 (log.f64 (neg.f64 x.re)) (+.f64 y.im y.im)) 2)
(*.f64 y.im (log.f64 (neg.f64 x.re)))
(/.f64 (*.f64 (log.f64 (neg.f64 x.re)) (*.f64 y.im 4)) 4)
(*.f64 y.im (log.f64 (neg.f64 x.re)))
(/.f64 (*.f64 2 (*.f64 (log.f64 (neg.f64 x.re)) (*.f64 y.im 4))) 8)
(*.f64 y.im (log.f64 (neg.f64 x.re)))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (log.f64 (neg.f64 x.re)) (*.f64 y.im 4)))) 16)
(*.f64 y.im (log.f64 (neg.f64 x.re)))
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (log.f64 (neg.f64 x.re)) (*.f64 y.im 4)))) (*.f64 2 (*.f64 2 (*.f64 (log.f64 (neg.f64 x.re)) (*.f64 y.im 4))))) 32)
(*.f64 y.im (log.f64 (neg.f64 x.re)))

eval213.0ms (0.4%)

Compiler

Compiled 23979 to 7973 computations (66.8% saved)

prune219.0ms (0.4%)

Pruning

16 alts after pruning (15 fresh and 1 done)

PrunedKeptTotal
New73010740
Fresh257
Picked101
Done314
Total73616752
Error
3.1b
Counts
752 → 16
Alt Table
Click to see full alt table
StatusErrorProgram
36.3b
(/.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (exp.f64 (*.f64 y.im (atan2.f64 x.im x.re))))
41.9b
(*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (pow.f64 x.im y.re))
45.1b
(*.f64 (exp.f64 (-.f64 (*.f64 (log.f64 (neg.f64 x.re)) y.re) (*.f64 (atan2.f64 x.im x.re) y.im))) (*.f64 y.re (atan2.f64 x.im x.re)))
41.7b
(*.f64 (exp.f64 (-.f64 (*.f64 (log.f64 (neg.f64 x.re)) y.re) (*.f64 (atan2.f64 x.im x.re) y.im))) (sin.f64 (+.f64 (*.f64 (log.f64 (neg.f64 x.re)) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))))
53.2b
(*.f64 (exp.f64 (-.f64 (*.f64 (log.f64 (neg.f64 x.re)) y.re) (*.f64 (atan2.f64 x.im x.re) y.im))) (sin.f64 (+.f64 (*.f64 (log.f64 (neg.f64 x.im)) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))))
45.5b
(*.f64 (exp.f64 (-.f64 (*.f64 (log.f64 (neg.f64 x.im)) y.re) (*.f64 (atan2.f64 x.im x.re) y.im))) (*.f64 y.re (atan2.f64 x.im x.re)))
48.5b
(*.f64 (exp.f64 (-.f64 (*.f64 (log.f64 (neg.f64 x.im)) y.re) (*.f64 (atan2.f64 x.im x.re) y.im))) (sin.f64 (+.f64 (-.f64 (*.f64 y.re (atan2.f64 x.im x.re)) -1) -1)))
47.5b
(*.f64 (exp.f64 (-.f64 (*.f64 (log.f64 x.re) y.re) (*.f64 (atan2.f64 x.im x.re) y.im))) (*.f64 y.re (atan2.f64 x.im x.re)))
54.4b
(*.f64 (exp.f64 (-.f64 (*.f64 (log.f64 x.re) y.re) (*.f64 (atan2.f64 x.im x.re) y.im))) (sin.f64 (+.f64 (*.f64 (log.f64 (+.f64 (neg.f64 x.im) (*.f64 -1/2 (/.f64 (pow.f64 x.re 2) x.im)))) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))))
51.1b
(*.f64 (exp.f64 (-.f64 (*.f64 (log.f64 x.re) y.re) (*.f64 (atan2.f64 x.im x.re) y.im))) (sin.f64 (+.f64 (*.f64 (log.f64 (neg.f64 x.im)) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))))
40.3b
(*.f64 (exp.f64 (-.f64 (*.f64 (log.f64 x.re) y.re) (*.f64 (atan2.f64 x.im x.re) y.im))) (sin.f64 (+.f64 (*.f64 (log.f64 x.re) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))))
49.5b
(*.f64 (exp.f64 (-.f64 (*.f64 (log.f64 x.im) y.re) (*.f64 (atan2.f64 x.im x.re) y.im))) (sin.f64 (+.f64 (-.f64 (*.f64 y.re (atan2.f64 x.im x.re)) -1) -1)))
41.8b
(*.f64 (exp.f64 (-.f64 (*.f64 (log.f64 x.im) y.re) (*.f64 (atan2.f64 x.im x.re) y.im))) (sin.f64 (+.f64 (*.f64 (log.f64 x.im) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))))
54.2b
(*.f64 (exp.f64 (-.f64 (*.f64 (log.f64 x.im) y.re) (*.f64 (atan2.f64 x.im x.re) y.im))) (sin.f64 (*.f64 y.im (log.f64 (neg.f64 x.re)))))
46.2b
(*.f64 (exp.f64 (-.f64 (*.f64 (log.f64 x.im) y.re) (*.f64 (atan2.f64 x.im x.re) y.im))) (sin.f64 (*.f64 y.im (log.f64 x.im))))
36.3b
(*.f64 y.re (*.f64 (atan2.f64 x.im x.re) (exp.f64 (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re))))))
Compiler

Compiled 741 to 451 computations (39.1% saved)

localize13.0ms (0%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(exp.f64 (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re))))
0.0b
(*.f64 (atan2.f64 x.im x.re) (exp.f64 (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re)))))
1.5b
(*.f64 y.re (*.f64 (atan2.f64 x.im x.re) (exp.f64 (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re))))))
2.3b
(*.f64 y.im (neg.f64 (atan2.f64 x.im x.re)))
Compiler

Compiled 52 to 10 computations (80.8% saved)

series121.0ms (0.2%)

Counts
4 → 156
Calls

39 calls:

TimeVariablePointExpression
76.0ms
x.im
@0
(*.f64 (atan2.f64 x.im x.re) (exp.f64 (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re)))))
33.0ms
x.re
@-inf
(*.f64 y.re (*.f64 (atan2.f64 x.im x.re) (exp.f64 (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re))))))
2.0ms
x.im
@inf
(*.f64 y.re (*.f64 (atan2.f64 x.im x.re) (exp.f64 (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re))))))
1.0ms
y.re
@0
(*.f64 y.re (*.f64 (atan2.f64 x.im x.re) (exp.f64 (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re))))))
1.0ms
x.re
@inf
(*.f64 y.re (*.f64 (atan2.f64 x.im x.re) (exp.f64 (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re))))))

rewrite139.0ms (0.3%)

Algorithm
batch-egg-rewrite
Rules
1808×bool.json-1
1808×bool.json-2
1766×rational.json-1
1090×bool.json-3
1038×rational.json-2
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
013110
1131110
2353110
3775110
41614110
53706110
66671110
Stop Event
node limit
Counts
4 → 53
Calls
Call 1
Inputs
(*.f64 y.im (neg.f64 (atan2.f64 x.im x.re)))
(*.f64 y.re (*.f64 (atan2.f64 x.im x.re) (exp.f64 (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re))))))
(*.f64 (atan2.f64 x.im x.re) (exp.f64 (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re)))))
(exp.f64 (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re))))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 -1 (-.f64 1 (*.f64 y.im (atan2.f64 x.im x.re))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 y.im (*.f64 (atan2.f64 x.im x.re) -1/2)) (*.f64 y.im (*.f64 (atan2.f64 x.im x.re) -1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (*.f64 y.im (atan2.f64 x.im x.re)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 y.im (*.f64 (atan2.f64 x.im x.re) -2)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 y.im (*.f64 (atan2.f64 x.im x.re) -4)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 y.im (atan2.f64 x.im x.re)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 y.im (*.f64 (atan2.f64 x.im x.re) -4))) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 y.im (*.f64 (atan2.f64 x.im x.re) -4)))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 y.im (*.f64 (atan2.f64 x.im x.re) -4)))) (*.f64 2 (*.f64 2 (*.f64 y.im (*.f64 (atan2.f64 x.im x.re) -4))))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (*.f64 y.im (atan2.f64 x.im x.re)))))) (#(struct:change #<rule egg-rr> (2) ((x not (not (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re)))))))) (#(struct:change #<rule egg-rr> (2) ((x and (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re))) (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re))))))) (#(struct:change #<rule egg-rr> (2) ((x or (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re))) (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re))))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (atan2.f64 x.im x.re) (*.f64 y.re (exp.f64 (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re)))))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (atan2.f64 x.im x.re) (*.f64 y.re (exp.f64 (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re)))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (exp.f64 (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re)))) (/.f64 (*.f64 (atan2.f64 x.im x.re) y.re) 2)) (*.f64 (exp.f64 (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re)))) (/.f64 (*.f64 (atan2.f64 x.im x.re) y.re) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (atan2.f64 x.im x.re) (*.f64 y.re (exp.f64 (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re)))))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (atan2.f64 x.im x.re) (*.f64 y.re (exp.f64 (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re)))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (atan2.f64 x.im x.re) (*.f64 y.re (*.f64 (exp.f64 (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re)))) 2))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (atan2.f64 x.im x.re) (*.f64 (*.f64 y.re (exp.f64 (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re))))) 4)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (atan2.f64 x.im x.re) (*.f64 (*.f64 y.re (exp.f64 (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re))))) 4))) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (atan2.f64 x.im x.re) (*.f64 (*.f64 y.re (exp.f64 (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re))))) 4)))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (atan2.f64 x.im x.re) (*.f64 (*.f64 y.re (exp.f64 (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re))))) 4)))) (*.f64 2 (*.f64 2 (*.f64 (atan2.f64 x.im x.re) (*.f64 (*.f64 y.re (exp.f64 (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re))))) 4))))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (*.f64 (atan2.f64 x.im x.re) (*.f64 y.re (exp.f64 (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re))))))))))) (#(struct:change #<rule egg-rr> (2) ((x and (*.f64 (atan2.f64 x.im x.re) (*.f64 y.re (exp.f64 (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re)))))) (*.f64 (atan2.f64 x.im x.re) (*.f64 y.re (exp.f64 (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re)))))))))) (#(struct:change #<rule egg-rr> (2) ((x or (*.f64 (atan2.f64 x.im x.re) (*.f64 y.re (exp.f64 (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re)))))) (*.f64 (atan2.f64 x.im x.re) (*.f64 y.re (exp.f64 (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re)))))))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (atan2.f64 x.im x.re) (exp.f64 (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re))))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (atan2.f64 x.im x.re) (exp.f64 (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (exp.f64 (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re)))) (*.f64 (atan2.f64 x.im x.re) 1/2)) (*.f64 (exp.f64 (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re)))) (*.f64 (atan2.f64 x.im x.re) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (atan2.f64 x.im x.re) (exp.f64 (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re))))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (atan2.f64 x.im x.re) (exp.f64 (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (exp.f64 (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re)))) (*.f64 (atan2.f64 x.im x.re) 2)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (exp.f64 (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re)))) (*.f64 (atan2.f64 x.im x.re) 4)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (exp.f64 (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re)))) (*.f64 (atan2.f64 x.im x.re) 4))) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (exp.f64 (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re)))) (*.f64 (atan2.f64 x.im x.re) 4)))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (exp.f64 (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re)))) (*.f64 (atan2.f64 x.im x.re) 4)))) (*.f64 2 (*.f64 2 (*.f64 (exp.f64 (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re)))) (*.f64 (atan2.f64 x.im x.re) 4))))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (*.f64 (atan2.f64 x.im x.re) (exp.f64 (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re)))))))))) (#(struct:change #<rule egg-rr> (2) ((x and (*.f64 (atan2.f64 x.im x.re) (exp.f64 (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re))))) (*.f64 (atan2.f64 x.im x.re) (exp.f64 (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re))))))))) (#(struct:change #<rule egg-rr> (2) ((x or (*.f64 (atan2.f64 x.im x.re) (exp.f64 (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re))))) (*.f64 (atan2.f64 x.im x.re) (exp.f64 (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re))))))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (exp.f64 (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re)))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (exp.f64 (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (exp.f64 (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re)))) 1/2) (*.f64 (exp.f64 (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re)))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re)))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (exp.f64 (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (exp.f64 (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (exp.f64 (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re)))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (exp.f64 (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re)))) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 (exp.f64 (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re)))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (exp.f64 (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re)))) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 (exp.f64 (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (exp.f64 (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re)))) 1/2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (exp.f64 (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (exp.f64 (*.f64 y.im (atan2.f64 x.im x.re))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (exp.f64 (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re)))) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (exp.f64 (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re)))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (exp.f64 (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re)))) 4)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (exp.f64 (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re)))) 4))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (exp.f64 (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re)))) 4))) (*.f64 2 (*.f64 2 (*.f64 (exp.f64 (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re)))) 4)))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (exp.f64 (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re))))))))) (#(struct:change #<rule egg-rr> (2) ((x and (exp.f64 (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re)))) (exp.f64 (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re)))))))) (#(struct:change #<rule egg-rr> (2) ((x or (exp.f64 (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re)))) (exp.f64 (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re)))))))))

simplify214.0ms (0.4%)

Algorithm
egg-herbie
Rules
1576×rational.json-simplify-35
1148×rational.json-simplify-1
1146×rational.json-simplify-51
1094×rational.json-simplify-2
946×rational.json-simplify-46
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01716103
14076079
29725665
321195659
457235659
Stop Event
node limit
Counts
209 → 116
Calls
Call 1
Inputs
(*.f64 -1 (*.f64 y.im (atan2.f64 x.im x.re)))
(*.f64 -1 (*.f64 y.im (atan2.f64 x.im x.re)))
(*.f64 -1 (*.f64 y.im (atan2.f64 x.im x.re)))
(*.f64 -1 (*.f64 y.im (atan2.f64 x.im x.re)))
(*.f64 -1 (*.f64 y.im (atan2.f64 x.im x.re)))
(*.f64 -1 (*.f64 y.im (atan2.f64 x.im x.re)))
(*.f64 -1 (*.f64 y.im (atan2.f64 x.im x.re)))
(*.f64 -1 (*.f64 y.im (atan2.f64 x.im x.re)))
(*.f64 -1 (*.f64 y.im (atan2.f64 x.im x.re)))
(*.f64 -1 (*.f64 y.im (atan2.f64 x.im x.re)))
(*.f64 -1 (*.f64 y.im (atan2.f64 x.im x.re)))
(*.f64 -1 (*.f64 y.im (atan2.f64 x.im x.re)))
(*.f64 -1 (*.f64 (atan2.f64 x.im x.re) y.im))
(*.f64 -1 (*.f64 (atan2.f64 x.im x.re) y.im))
(*.f64 -1 (*.f64 (atan2.f64 x.im x.re) y.im))
(*.f64 -1 (*.f64 (atan2.f64 x.im x.re) y.im))
(*.f64 -1 (*.f64 y.im (atan2.f64 x.im x.re)))
(*.f64 -1 (*.f64 y.im (atan2.f64 x.im x.re)))
(*.f64 -1 (*.f64 y.im (atan2.f64 x.im x.re)))
(*.f64 -1 (*.f64 y.im (atan2.f64 x.im x.re)))
(*.f64 -1 (*.f64 (atan2.f64 x.im x.re) y.im))
(*.f64 -1 (*.f64 (atan2.f64 x.im x.re) y.im))
(*.f64 -1 (*.f64 (atan2.f64 x.im x.re) y.im))
(*.f64 -1 (*.f64 (atan2.f64 x.im x.re) y.im))
(*.f64 -1 (*.f64 (atan2.f64 x.im x.re) y.im))
(*.f64 -1 (*.f64 (atan2.f64 x.im x.re) y.im))
(*.f64 -1 (*.f64 (atan2.f64 x.im x.re) y.im))
(*.f64 -1 (*.f64 (atan2.f64 x.im x.re) y.im))
(*.f64 -1 (*.f64 y.im (atan2.f64 x.im x.re)))
(*.f64 -1 (*.f64 y.im (atan2.f64 x.im x.re)))
(*.f64 -1 (*.f64 y.im (atan2.f64 x.im x.re)))
(*.f64 -1 (*.f64 y.im (atan2.f64 x.im x.re)))
(*.f64 -1 (*.f64 y.im (atan2.f64 x.im x.re)))
(*.f64 -1 (*.f64 y.im (atan2.f64 x.im x.re)))
(*.f64 -1 (*.f64 y.im (atan2.f64 x.im x.re)))
(*.f64 -1 (*.f64 y.im (atan2.f64 x.im x.re)))
(*.f64 y.re (*.f64 (exp.f64 (*.f64 -1 (*.f64 y.im (atan2.f64 x.im x.re)))) (atan2.f64 x.im x.re)))
(*.f64 y.re (*.f64 (exp.f64 (*.f64 -1 (*.f64 y.im (atan2.f64 x.im x.re)))) (atan2.f64 x.im x.re)))
(*.f64 y.re (*.f64 (exp.f64 (*.f64 -1 (*.f64 y.im (atan2.f64 x.im x.re)))) (atan2.f64 x.im x.re)))
(*.f64 y.re (*.f64 (exp.f64 (*.f64 -1 (*.f64 y.im (atan2.f64 x.im x.re)))) (atan2.f64 x.im x.re)))
(*.f64 y.re (*.f64 (exp.f64 (*.f64 -1 (*.f64 y.im (atan2.f64 x.im x.re)))) (atan2.f64 x.im x.re)))
(*.f64 y.re (*.f64 (exp.f64 (*.f64 -1 (*.f64 y.im (atan2.f64 x.im x.re)))) (atan2.f64 x.im x.re)))
(*.f64 y.re (*.f64 (exp.f64 (*.f64 -1 (*.f64 y.im (atan2.f64 x.im x.re)))) (atan2.f64 x.im x.re)))
(*.f64 y.re (*.f64 (exp.f64 (*.f64 -1 (*.f64 y.im (atan2.f64 x.im x.re)))) (atan2.f64 x.im x.re)))
(*.f64 y.re (*.f64 (exp.f64 (*.f64 -1 (*.f64 y.im (atan2.f64 x.im x.re)))) (atan2.f64 x.im x.re)))
(*.f64 y.re (*.f64 (exp.f64 (*.f64 -1 (*.f64 y.im (atan2.f64 x.im x.re)))) (atan2.f64 x.im x.re)))
(*.f64 y.re (*.f64 (exp.f64 (*.f64 -1 (*.f64 y.im (atan2.f64 x.im x.re)))) (atan2.f64 x.im x.re)))
(*.f64 y.re (*.f64 (exp.f64 (*.f64 -1 (*.f64 y.im (atan2.f64 x.im x.re)))) (atan2.f64 x.im x.re)))
(*.f64 y.re (*.f64 (exp.f64 (*.f64 -1 (*.f64 y.im (atan2.f64 x.im x.re)))) (atan2.f64 x.im x.re)))
(*.f64 y.re (*.f64 (exp.f64 (*.f64 -1 (*.f64 y.im (atan2.f64 x.im x.re)))) (atan2.f64 x.im x.re)))
(*.f64 y.re (*.f64 (exp.f64 (*.f64 -1 (*.f64 y.im (atan2.f64 x.im x.re)))) (atan2.f64 x.im x.re)))
(*.f64 y.re (*.f64 (exp.f64 (*.f64 -1 (*.f64 y.im (atan2.f64 x.im x.re)))) (atan2.f64 x.im x.re)))
(*.f64 (exp.f64 (*.f64 -1 (*.f64 (atan2.f64 x.im x.re) y.im))) (*.f64 y.re (atan2.f64 x.im x.re)))
(*.f64 (exp.f64 (*.f64 -1 (*.f64 (atan2.f64 x.im x.re) y.im))) (*.f64 y.re (atan2.f64 x.im x.re)))
(*.f64 (exp.f64 (*.f64 -1 (*.f64 (atan2.f64 x.im x.re) y.im))) (*.f64 y.re (atan2.f64 x.im x.re)))
(*.f64 (exp.f64 (*.f64 -1 (*.f64 (atan2.f64 x.im x.re) y.im))) (*.f64 y.re (atan2.f64 x.im x.re)))
(*.f64 y.re (*.f64 (exp.f64 (*.f64 -1 (*.f64 y.im (atan2.f64 x.im x.re)))) (atan2.f64 x.im x.re)))
(*.f64 y.re (*.f64 (exp.f64 (*.f64 -1 (*.f64 y.im (atan2.f64 x.im x.re)))) (atan2.f64 x.im x.re)))
(*.f64 y.re (*.f64 (exp.f64 (*.f64 -1 (*.f64 y.im (atan2.f64 x.im x.re)))) (atan2.f64 x.im x.re)))
(*.f64 y.re (*.f64 (exp.f64 (*.f64 -1 (*.f64 y.im (atan2.f64 x.im x.re)))) (atan2.f64 x.im x.re)))
(*.f64 y.re (*.f64 (exp.f64 (*.f64 -1 (*.f64 y.im (atan2.f64 x.im x.re)))) (atan2.f64 x.im x.re)))
(*.f64 y.re (*.f64 (exp.f64 (*.f64 -1 (*.f64 y.im (atan2.f64 x.im x.re)))) (atan2.f64 x.im x.re)))
(*.f64 y.re (*.f64 (exp.f64 (*.f64 -1 (*.f64 y.im (atan2.f64 x.im x.re)))) (atan2.f64 x.im x.re)))
(*.f64 y.re (*.f64 (exp.f64 (*.f64 -1 (*.f64 y.im (atan2.f64 x.im x.re)))) (atan2.f64 x.im x.re)))
(*.f64 (exp.f64 (*.f64 -1 (*.f64 (atan2.f64 x.im x.re) y.im))) (*.f64 y.re (atan2.f64 x.im x.re)))
(*.f64 (exp.f64 (*.f64 -1 (*.f64 (atan2.f64 x.im x.re) y.im))) (*.f64 y.re (atan2.f64 x.im x.re)))
(*.f64 (exp.f64 (*.f64 -1 (*.f64 (atan2.f64 x.im x.re) y.im))) (*.f64 y.re (atan2.f64 x.im x.re)))
(*.f64 (exp.f64 (*.f64 -1 (*.f64 (atan2.f64 x.im x.re) y.im))) (*.f64 y.re (atan2.f64 x.im x.re)))
(*.f64 (exp.f64 (*.f64 -1 (*.f64 (atan2.f64 x.im x.re) y.im))) (*.f64 y.re (atan2.f64 x.im x.re)))
(*.f64 (exp.f64 (*.f64 -1 (*.f64 (atan2.f64 x.im x.re) y.im))) (*.f64 y.re (atan2.f64 x.im x.re)))
(*.f64 (exp.f64 (*.f64 -1 (*.f64 (atan2.f64 x.im x.re) y.im))) (*.f64 y.re (atan2.f64 x.im x.re)))
(*.f64 (exp.f64 (*.f64 -1 (*.f64 (atan2.f64 x.im x.re) y.im))) (*.f64 y.re (atan2.f64 x.im x.re)))
(*.f64 y.re (atan2.f64 x.im x.re))
(+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 -1 (*.f64 y.re (*.f64 (pow.f64 (atan2.f64 x.im x.re) 2) y.im))))
(+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (+.f64 (*.f64 1/2 (*.f64 y.re (*.f64 (pow.f64 (atan2.f64 x.im x.re) 3) (pow.f64 y.im 2)))) (*.f64 -1 (*.f64 y.re (*.f64 (pow.f64 (atan2.f64 x.im x.re) 2) y.im)))))
(+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (+.f64 (*.f64 1/2 (*.f64 y.re (*.f64 (pow.f64 (atan2.f64 x.im x.re) 3) (pow.f64 y.im 2)))) (+.f64 (*.f64 -1 (*.f64 y.re (*.f64 (pow.f64 (atan2.f64 x.im x.re) 2) y.im))) (*.f64 -1/6 (*.f64 y.re (*.f64 (pow.f64 (atan2.f64 x.im x.re) 4) (pow.f64 y.im 3)))))))
(*.f64 (exp.f64 (*.f64 -1 (*.f64 (atan2.f64 x.im x.re) y.im))) (*.f64 y.re (atan2.f64 x.im x.re)))
(*.f64 (exp.f64 (*.f64 -1 (*.f64 (atan2.f64 x.im x.re) y.im))) (*.f64 y.re (atan2.f64 x.im x.re)))
(*.f64 (exp.f64 (*.f64 -1 (*.f64 (atan2.f64 x.im x.re) y.im))) (*.f64 y.re (atan2.f64 x.im x.re)))
(*.f64 (exp.f64 (*.f64 -1 (*.f64 (atan2.f64 x.im x.re) y.im))) (*.f64 y.re (atan2.f64 x.im x.re)))
(*.f64 y.re (*.f64 (exp.f64 (*.f64 -1 (*.f64 y.im (atan2.f64 x.im x.re)))) (atan2.f64 x.im x.re)))
(*.f64 y.re (*.f64 (exp.f64 (*.f64 -1 (*.f64 y.im (atan2.f64 x.im x.re)))) (atan2.f64 x.im x.re)))
(*.f64 y.re (*.f64 (exp.f64 (*.f64 -1 (*.f64 y.im (atan2.f64 x.im x.re)))) (atan2.f64 x.im x.re)))
(*.f64 y.re (*.f64 (exp.f64 (*.f64 -1 (*.f64 y.im (atan2.f64 x.im x.re)))) (atan2.f64 x.im x.re)))
(*.f64 (atan2.f64 x.im x.re) (exp.f64 (*.f64 -1 (*.f64 y.im (atan2.f64 x.im x.re)))))
(*.f64 (atan2.f64 x.im x.re) (exp.f64 (*.f64 -1 (*.f64 y.im (atan2.f64 x.im x.re)))))
(*.f64 (atan2.f64 x.im x.re) (exp.f64 (*.f64 -1 (*.f64 y.im (atan2.f64 x.im x.re)))))
(*.f64 (atan2.f64 x.im x.re) (exp.f64 (*.f64 -1 (*.f64 y.im (atan2.f64 x.im x.re)))))
(*.f64 (exp.f64 (*.f64 -1 (*.f64 (atan2.f64 x.im x.re) y.im))) (atan2.f64 x.im x.re))
(*.f64 (exp.f64 (*.f64 -1 (*.f64 (atan2.f64 x.im x.re) y.im))) (atan2.f64 x.im x.re))
(*.f64 (exp.f64 (*.f64 -1 (*.f64 (atan2.f64 x.im x.re) y.im))) (atan2.f64 x.im x.re))
(*.f64 (exp.f64 (*.f64 -1 (*.f64 (atan2.f64 x.im x.re) y.im))) (atan2.f64 x.im x.re))
(*.f64 (exp.f64 (*.f64 -1 (*.f64 y.im (atan2.f64 x.im x.re)))) (atan2.f64 x.im x.re))
(*.f64 (exp.f64 (*.f64 -1 (*.f64 y.im (atan2.f64 x.im x.re)))) (atan2.f64 x.im x.re))
(*.f64 (exp.f64 (*.f64 -1 (*.f64 y.im (atan2.f64 x.im x.re)))) (atan2.f64 x.im x.re))
(*.f64 (exp.f64 (*.f64 -1 (*.f64 y.im (atan2.f64 x.im x.re)))) (atan2.f64 x.im x.re))
(*.f64 (atan2.f64 x.im x.re) (exp.f64 (*.f64 -1 (*.f64 y.im (atan2.f64 x.im x.re)))))
(*.f64 (atan2.f64 x.im x.re) (exp.f64 (*.f64 -1 (*.f64 y.im (atan2.f64 x.im x.re)))))
(*.f64 (atan2.f64 x.im x.re) (exp.f64 (*.f64 -1 (*.f64 y.im (atan2.f64 x.im x.re)))))
(*.f64 (atan2.f64 x.im x.re) (exp.f64 (*.f64 -1 (*.f64 y.im (atan2.f64 x.im x.re)))))
(*.f64 (exp.f64 (*.f64 -1 (*.f64 (atan2.f64 x.im x.re) y.im))) (atan2.f64 x.im x.re))
(*.f64 (exp.f64 (*.f64 -1 (*.f64 (atan2.f64 x.im x.re) y.im))) (atan2.f64 x.im x.re))
(*.f64 (exp.f64 (*.f64 -1 (*.f64 (atan2.f64 x.im x.re) y.im))) (atan2.f64 x.im x.re))
(*.f64 (exp.f64 (*.f64 -1 (*.f64 (atan2.f64 x.im x.re) y.im))) (atan2.f64 x.im x.re))
(*.f64 (exp.f64 (*.f64 -1 (*.f64 (atan2.f64 x.im x.re) y.im))) (atan2.f64 x.im x.re))
(*.f64 (exp.f64 (*.f64 -1 (*.f64 (atan2.f64 x.im x.re) y.im))) (atan2.f64 x.im x.re))
(*.f64 (exp.f64 (*.f64 -1 (*.f64 (atan2.f64 x.im x.re) y.im))) (atan2.f64 x.im x.re))
(*.f64 (exp.f64 (*.f64 -1 (*.f64 (atan2.f64 x.im x.re) y.im))) (atan2.f64 x.im x.re))
(atan2.f64 x.im x.re)
(+.f64 (*.f64 -1 (*.f64 y.im (pow.f64 (atan2.f64 x.im x.re) 2))) (atan2.f64 x.im x.re))
(+.f64 (*.f64 -1 (*.f64 y.im (pow.f64 (atan2.f64 x.im x.re) 2))) (+.f64 (atan2.f64 x.im x.re) (*.f64 1/2 (*.f64 (pow.f64 y.im 2) (pow.f64 (atan2.f64 x.im x.re) 3)))))
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 y.im 3) (pow.f64 (atan2.f64 x.im x.re) 4))) (+.f64 (*.f64 -1 (*.f64 y.im (pow.f64 (atan2.f64 x.im x.re) 2))) (+.f64 (atan2.f64 x.im x.re) (*.f64 1/2 (*.f64 (pow.f64 y.im 2) (pow.f64 (atan2.f64 x.im x.re) 3))))))
(*.f64 (exp.f64 (*.f64 -1 (*.f64 (atan2.f64 x.im x.re) y.im))) (atan2.f64 x.im x.re))
(*.f64 (exp.f64 (*.f64 -1 (*.f64 (atan2.f64 x.im x.re) y.im))) (atan2.f64 x.im x.re))
(*.f64 (exp.f64 (*.f64 -1 (*.f64 (atan2.f64 x.im x.re) y.im))) (atan2.f64 x.im x.re))
(*.f64 (exp.f64 (*.f64 -1 (*.f64 (atan2.f64 x.im x.re) y.im))) (atan2.f64 x.im x.re))
(*.f64 (exp.f64 (*.f64 -1 (*.f64 y.im (atan2.f64 x.im x.re)))) (atan2.f64 x.im x.re))
(*.f64 (exp.f64 (*.f64 -1 (*.f64 y.im (atan2.f64 x.im x.re)))) (atan2.f64 x.im x.re))
(*.f64 (exp.f64 (*.f64 -1 (*.f64 y.im (atan2.f64 x.im x.re)))) (atan2.f64 x.im x.re))
(*.f64 (exp.f64 (*.f64 -1 (*.f64 y.im (atan2.f64 x.im x.re)))) (atan2.f64 x.im x.re))
1
(+.f64 (*.f64 -1 (*.f64 y.im (atan2.f64 x.im x.re))) 1)
(+.f64 (*.f64 -1 (*.f64 y.im (atan2.f64 x.im x.re))) (+.f64 1 (*.f64 1/2 (*.f64 (pow.f64 y.im 2) (pow.f64 (atan2.f64 x.im x.re) 2)))))
(+.f64 (*.f64 -1 (*.f64 y.im (atan2.f64 x.im x.re))) (+.f64 1 (+.f64 (*.f64 1/2 (*.f64 (pow.f64 y.im 2) (pow.f64 (atan2.f64 x.im x.re) 2))) (*.f64 -1/6 (*.f64 (pow.f64 y.im 3) (pow.f64 (atan2.f64 x.im x.re) 3))))))
(exp.f64 (*.f64 -1 (*.f64 (atan2.f64 x.im x.re) y.im)))
(exp.f64 (*.f64 -1 (*.f64 (atan2.f64 x.im x.re) y.im)))
(exp.f64 (*.f64 -1 (*.f64 (atan2.f64 x.im x.re) y.im)))
(exp.f64 (*.f64 -1 (*.f64 (atan2.f64 x.im x.re) y.im)))
(exp.f64 (*.f64 -1 (*.f64 y.im (atan2.f64 x.im x.re))))
(exp.f64 (*.f64 -1 (*.f64 y.im (atan2.f64 x.im x.re))))
(exp.f64 (*.f64 -1 (*.f64 y.im (atan2.f64 x.im x.re))))
(exp.f64 (*.f64 -1 (*.f64 y.im (atan2.f64 x.im x.re))))
(exp.f64 (*.f64 -1 (*.f64 y.im (atan2.f64 x.im x.re))))
(exp.f64 (*.f64 -1 (*.f64 y.im (atan2.f64 x.im x.re))))
(exp.f64 (*.f64 -1 (*.f64 y.im (atan2.f64 x.im x.re))))
(exp.f64 (*.f64 -1 (*.f64 y.im (atan2.f64 x.im x.re))))
(exp.f64 (*.f64 -1 (*.f64 (atan2.f64 x.im x.re) y.im)))
(exp.f64 (*.f64 -1 (*.f64 (atan2.f64 x.im x.re) y.im)))
(exp.f64 (*.f64 -1 (*.f64 (atan2.f64 x.im x.re) y.im)))
(exp.f64 (*.f64 -1 (*.f64 (atan2.f64 x.im x.re) y.im)))
(exp.f64 (*.f64 -1 (*.f64 y.im (atan2.f64 x.im x.re))))
(exp.f64 (*.f64 -1 (*.f64 y.im (atan2.f64 x.im x.re))))
(exp.f64 (*.f64 -1 (*.f64 y.im (atan2.f64 x.im x.re))))
(exp.f64 (*.f64 -1 (*.f64 y.im (atan2.f64 x.im x.re))))
(exp.f64 (*.f64 -1 (*.f64 y.im (atan2.f64 x.im x.re))))
(exp.f64 (*.f64 -1 (*.f64 y.im (atan2.f64 x.im x.re))))
(exp.f64 (*.f64 -1 (*.f64 y.im (atan2.f64 x.im x.re))))
(exp.f64 (*.f64 -1 (*.f64 y.im (atan2.f64 x.im x.re))))
(exp.f64 (*.f64 -1 (*.f64 (atan2.f64 x.im x.re) y.im)))
(exp.f64 (*.f64 -1 (*.f64 (atan2.f64 x.im x.re) y.im)))
(exp.f64 (*.f64 -1 (*.f64 (atan2.f64 x.im x.re) y.im)))
(exp.f64 (*.f64 -1 (*.f64 (atan2.f64 x.im x.re) y.im)))
(exp.f64 (*.f64 -1 (*.f64 (atan2.f64 x.im x.re) y.im)))
(exp.f64 (*.f64 -1 (*.f64 (atan2.f64 x.im x.re) y.im)))
(exp.f64 (*.f64 -1 (*.f64 (atan2.f64 x.im x.re) y.im)))
(exp.f64 (*.f64 -1 (*.f64 (atan2.f64 x.im x.re) y.im)))
(+.f64 (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re))) 0)
(+.f64 0 (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re))))
(+.f64 -1 (-.f64 1 (*.f64 y.im (atan2.f64 x.im x.re))))
(+.f64 (*.f64 y.im (*.f64 (atan2.f64 x.im x.re) -1/2)) (*.f64 y.im (*.f64 (atan2.f64 x.im x.re) -1/2)))
(-.f64 (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re))) 0)
(-.f64 0 (*.f64 y.im (atan2.f64 x.im x.re)))
(/.f64 (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re))) 1)
(/.f64 (*.f64 y.im (*.f64 (atan2.f64 x.im x.re) -2)) 2)
(/.f64 (*.f64 y.im (*.f64 (atan2.f64 x.im x.re) -4)) 4)
(/.f64 (*.f64 y.im (atan2.f64 x.im x.re)) -1)
(/.f64 (*.f64 2 (*.f64 y.im (*.f64 (atan2.f64 x.im x.re) -4))) 8)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 y.im (*.f64 (atan2.f64 x.im x.re) -4)))) 16)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 y.im (*.f64 (atan2.f64 x.im x.re) -4)))) (*.f64 2 (*.f64 2 (*.f64 y.im (*.f64 (atan2.f64 x.im x.re) -4))))) 32)
(neg.f64 (*.f64 y.im (atan2.f64 x.im x.re)))
(+.f64 (*.f64 (atan2.f64 x.im x.re) (*.f64 y.re (exp.f64 (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re)))))) 0)
(+.f64 0 (*.f64 (atan2.f64 x.im x.re) (*.f64 y.re (exp.f64 (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re)))))))
(+.f64 (*.f64 (exp.f64 (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re)))) (/.f64 (*.f64 (atan2.f64 x.im x.re) y.re) 2)) (*.f64 (exp.f64 (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re)))) (/.f64 (*.f64 (atan2.f64 x.im x.re) y.re) 2)))
(-.f64 (*.f64 (atan2.f64 x.im x.re) (*.f64 y.re (exp.f64 (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re)))))) 0)
(/.f64 (*.f64 (atan2.f64 x.im x.re) (*.f64 y.re (exp.f64 (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re)))))) 1)
(/.f64 (*.f64 (atan2.f64 x.im x.re) (*.f64 y.re (*.f64 (exp.f64 (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re)))) 2))) 2)
(/.f64 (*.f64 (atan2.f64 x.im x.re) (*.f64 (*.f64 y.re (exp.f64 (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re))))) 4)) 4)
(/.f64 (*.f64 2 (*.f64 (atan2.f64 x.im x.re) (*.f64 (*.f64 y.re (exp.f64 (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re))))) 4))) 8)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (atan2.f64 x.im x.re) (*.f64 (*.f64 y.re (exp.f64 (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re))))) 4)))) 16)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (atan2.f64 x.im x.re) (*.f64 (*.f64 y.re (exp.f64 (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re))))) 4)))) (*.f64 2 (*.f64 2 (*.f64 (atan2.f64 x.im x.re) (*.f64 (*.f64 y.re (exp.f64 (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re))))) 4))))) 32)
(+.f64 (*.f64 (atan2.f64 x.im x.re) (exp.f64 (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re))))) 0)
(+.f64 0 (*.f64 (atan2.f64 x.im x.re) (exp.f64 (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re))))))
(+.f64 (*.f64 (exp.f64 (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re)))) (*.f64 (atan2.f64 x.im x.re) 1/2)) (*.f64 (exp.f64 (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re)))) (*.f64 (atan2.f64 x.im x.re) 1/2)))
(-.f64 (*.f64 (atan2.f64 x.im x.re) (exp.f64 (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re))))) 0)
(/.f64 (*.f64 (atan2.f64 x.im x.re) (exp.f64 (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re))))) 1)
(/.f64 (*.f64 (exp.f64 (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re)))) (*.f64 (atan2.f64 x.im x.re) 2)) 2)
(/.f64 (*.f64 (exp.f64 (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re)))) (*.f64 (atan2.f64 x.im x.re) 4)) 4)
(/.f64 (*.f64 2 (*.f64 (exp.f64 (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re)))) (*.f64 (atan2.f64 x.im x.re) 4))) 8)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (exp.f64 (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re)))) (*.f64 (atan2.f64 x.im x.re) 4)))) 16)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (exp.f64 (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re)))) (*.f64 (atan2.f64 x.im x.re) 4)))) (*.f64 2 (*.f64 2 (*.f64 (exp.f64 (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re)))) (*.f64 (atan2.f64 x.im x.re) 4))))) 32)
(+.f64 (exp.f64 (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re)))) 0)
(+.f64 0 (exp.f64 (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re)))))
(+.f64 (*.f64 (exp.f64 (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re)))) 1/2) (*.f64 (exp.f64 (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re)))) 1/2))
(-.f64 (exp.f64 (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re)))) 0)
(*.f64 (exp.f64 (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re)))) 1)
(*.f64 1 (exp.f64 (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re)))))
(*.f64 2 (*.f64 (exp.f64 (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re)))) 1/2))
(*.f64 (*.f64 (exp.f64 (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re)))) 2) 1/2)
(*.f64 4 (/.f64 (exp.f64 (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re)))) 4))
(*.f64 (*.f64 (exp.f64 (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re)))) 4) 1/4)
(*.f64 1/2 (*.f64 (exp.f64 (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re)))) 2))
(*.f64 (*.f64 (exp.f64 (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re)))) 1/2) 2)
(/.f64 (exp.f64 (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re)))) 1)
(/.f64 1 (exp.f64 (*.f64 y.im (atan2.f64 x.im x.re))))
(/.f64 (*.f64 (exp.f64 (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re)))) 2) 2)
(/.f64 (*.f64 (exp.f64 (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re)))) 4) 4)
(/.f64 (*.f64 2 (*.f64 (exp.f64 (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re)))) 4)) 8)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (exp.f64 (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re)))) 4))) 16)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (exp.f64 (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re)))) 4))) (*.f64 2 (*.f64 2 (*.f64 (exp.f64 (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re)))) 4)))) 32)
Outputs
(*.f64 -1 (*.f64 y.im (atan2.f64 x.im x.re)))
(*.f64 y.im (neg.f64 (atan2.f64 x.im x.re)))
(neg.f64 (*.f64 y.im (atan2.f64 x.im x.re)))
(*.f64 (atan2.f64 x.im x.re) (neg.f64 y.im))
(*.f64 -1 (*.f64 y.im (atan2.f64 x.im x.re)))
(*.f64 y.im (neg.f64 (atan2.f64 x.im x.re)))
(neg.f64 (*.f64 y.im (atan2.f64 x.im x.re)))
(*.f64 (atan2.f64 x.im x.re) (neg.f64 y.im))
(*.f64 -1 (*.f64 y.im (atan2.f64 x.im x.re)))
(*.f64 y.im (neg.f64 (atan2.f64 x.im x.re)))
(neg.f64 (*.f64 y.im (atan2.f64 x.im x.re)))
(*.f64 (atan2.f64 x.im x.re) (neg.f64 y.im))
(*.f64 -1 (*.f64 y.im (atan2.f64 x.im x.re)))
(*.f64 y.im (neg.f64 (atan2.f64 x.im x.re)))
(neg.f64 (*.f64 y.im (atan2.f64 x.im x.re)))
(*.f64 (atan2.f64 x.im x.re) (neg.f64 y.im))
(*.f64 -1 (*.f64 y.im (atan2.f64 x.im x.re)))
(*.f64 y.im (neg.f64 (atan2.f64 x.im x.re)))
(neg.f64 (*.f64 y.im (atan2.f64 x.im x.re)))
(*.f64 (atan2.f64 x.im x.re) (neg.f64 y.im))
(*.f64 -1 (*.f64 y.im (atan2.f64 x.im x.re)))
(*.f64 y.im (neg.f64 (atan2.f64 x.im x.re)))
(neg.f64 (*.f64 y.im (atan2.f64 x.im x.re)))
(*.f64 (atan2.f64 x.im x.re) (neg.f64 y.im))
(*.f64 -1 (*.f64 y.im (atan2.f64 x.im x.re)))
(*.f64 y.im (neg.f64 (atan2.f64 x.im x.re)))
(neg.f64 (*.f64 y.im (atan2.f64 x.im x.re)))
(*.f64 (atan2.f64 x.im x.re) (neg.f64 y.im))
(*.f64 -1 (*.f64 y.im (atan2.f64 x.im x.re)))
(*.f64 y.im (neg.f64 (atan2.f64 x.im x.re)))
(neg.f64 (*.f64 y.im (atan2.f64 x.im x.re)))
(*.f64 (atan2.f64 x.im x.re) (neg.f64 y.im))
(*.f64 -1 (*.f64 y.im (atan2.f64 x.im x.re)))
(*.f64 y.im (neg.f64 (atan2.f64 x.im x.re)))
(neg.f64 (*.f64 y.im (atan2.f64 x.im x.re)))
(*.f64 (atan2.f64 x.im x.re) (neg.f64 y.im))
(*.f64 -1 (*.f64 y.im (atan2.f64 x.im x.re)))
(*.f64 y.im (neg.f64 (atan2.f64 x.im x.re)))
(neg.f64 (*.f64 y.im (atan2.f64 x.im x.re)))
(*.f64 (atan2.f64 x.im x.re) (neg.f64 y.im))
(*.f64 -1 (*.f64 y.im (atan2.f64 x.im x.re)))
(*.f64 y.im (neg.f64 (atan2.f64 x.im x.re)))
(neg.f64 (*.f64 y.im (atan2.f64 x.im x.re)))
(*.f64 (atan2.f64 x.im x.re) (neg.f64 y.im))
(*.f64 -1 (*.f64 y.im (atan2.f64 x.im x.re)))
(*.f64 y.im (neg.f64 (atan2.f64 x.im x.re)))
(neg.f64 (*.f64 y.im (atan2.f64 x.im x.re)))
(*.f64 (atan2.f64 x.im x.re) (neg.f64 y.im))
(*.f64 -1 (*.f64 (atan2.f64 x.im x.re) y.im))
(*.f64 y.im (neg.f64 (atan2.f64 x.im x.re)))
(neg.f64 (*.f64 y.im (atan2.f64 x.im x.re)))
(*.f64 (atan2.f64 x.im x.re) (neg.f64 y.im))
(*.f64 -1 (*.f64 (atan2.f64 x.im x.re) y.im))
(*.f64 y.im (neg.f64 (atan2.f64 x.im x.re)))
(neg.f64 (*.f64 y.im (atan2.f64 x.im x.re)))
(*.f64 (atan2.f64 x.im x.re) (neg.f64 y.im))
(*.f64 -1 (*.f64 (atan2.f64 x.im x.re) y.im))
(*.f64 y.im (neg.f64 (atan2.f64 x.im x.re)))
(neg.f64 (*.f64 y.im (atan2.f64 x.im x.re)))
(*.f64 (atan2.f64 x.im x.re) (neg.f64 y.im))
(*.f64 -1 (*.f64 (atan2.f64 x.im x.re) y.im))
(*.f64 y.im (neg.f64 (atan2.f64 x.im x.re)))
(neg.f64 (*.f64 y.im (atan2.f64 x.im x.re)))
(*.f64 (atan2.f64 x.im x.re) (neg.f64 y.im))
(*.f64 -1 (*.f64 y.im (atan2.f64 x.im x.re)))
(*.f64 y.im (neg.f64 (atan2.f64 x.im x.re)))
(neg.f64 (*.f64 y.im (atan2.f64 x.im x.re)))
(*.f64 (atan2.f64 x.im x.re) (neg.f64 y.im))
(*.f64 -1 (*.f64 y.im (atan2.f64 x.im x.re)))
(*.f64 y.im (neg.f64 (atan2.f64 x.im x.re)))
(neg.f64 (*.f64 y.im (atan2.f64 x.im x.re)))
(*.f64 (atan2.f64 x.im x.re) (neg.f64 y.im))
(*.f64 -1 (*.f64 y.im (atan2.f64 x.im x.re)))
(*.f64 y.im (neg.f64 (atan2.f64 x.im x.re)))
(neg.f64 (*.f64 y.im (atan2.f64 x.im x.re)))
(*.f64 (atan2.f64 x.im x.re) (neg.f64 y.im))
(*.f64 -1 (*.f64 y.im (atan2.f64 x.im x.re)))
(*.f64 y.im (neg.f64 (atan2.f64 x.im x.re)))
(neg.f64 (*.f64 y.im (atan2.f64 x.im x.re)))
(*.f64 (atan2.f64 x.im x.re) (neg.f64 y.im))
(*.f64 -1 (*.f64 (atan2.f64 x.im x.re) y.im))
(*.f64 y.im (neg.f64 (atan2.f64 x.im x.re)))
(neg.f64 (*.f64 y.im (atan2.f64 x.im x.re)))
(*.f64 (atan2.f64 x.im x.re) (neg.f64 y.im))
(*.f64 -1 (*.f64 (atan2.f64 x.im x.re) y.im))
(*.f64 y.im (neg.f64 (atan2.f64 x.im x.re)))
(neg.f64 (*.f64 y.im (atan2.f64 x.im x.re)))
(*.f64 (atan2.f64 x.im x.re) (neg.f64 y.im))
(*.f64 -1 (*.f64 (atan2.f64 x.im x.re) y.im))
(*.f64 y.im (neg.f64 (atan2.f64 x.im x.re)))
(neg.f64 (*.f64 y.im (atan2.f64 x.im x.re)))
(*.f64 (atan2.f64 x.im x.re) (neg.f64 y.im))
(*.f64 -1 (*.f64 (atan2.f64 x.im x.re) y.im))
(*.f64 y.im (neg.f64 (atan2.f64 x.im x.re)))
(neg.f64 (*.f64 y.im (atan2.f64 x.im x.re)))
(*.f64 (atan2.f64 x.im x.re) (neg.f64 y.im))
(*.f64 -1 (*.f64 (atan2.f64 x.im x.re) y.im))
(*.f64 y.im (neg.f64 (atan2.f64 x.im x.re)))
(neg.f64 (*.f64 y.im (atan2.f64 x.im x.re)))
(*.f64 (atan2.f64 x.im x.re) (neg.f64 y.im))
(*.f64 -1 (*.f64 (atan2.f64 x.im x.re) y.im))
(*.f64 y.im (neg.f64 (atan2.f64 x.im x.re)))
(neg.f64 (*.f64 y.im (atan2.f64 x.im x.re)))
(*.f64 (atan2.f64 x.im x.re) (neg.f64 y.im))
(*.f64 -1 (*.f64 (atan2.f64 x.im x.re) y.im))
(*.f64 y.im (neg.f64 (atan2.f64 x.im x.re)))
(neg.f64 (*.f64 y.im (atan2.f64 x.im x.re)))
(*.f64 (atan2.f64 x.im x.re) (neg.f64 y.im))
(*.f64 -1 (*.f64 (atan2.f64 x.im x.re) y.im))
(*.f64 y.im (neg.f64 (atan2.f64 x.im x.re)))
(neg.f64 (*.f64 y.im (atan2.f64 x.im x.re)))
(*.f64 (atan2.f64 x.im x.re) (neg.f64 y.im))
(*.f64 -1 (*.f64 y.im (atan2.f64 x.im x.re)))
(*.f64 y.im (neg.f64 (atan2.f64 x.im x.re)))
(neg.f64 (*.f64 y.im (atan2.f64 x.im x.re)))
(*.f64 (atan2.f64 x.im x.re) (neg.f64 y.im))
(*.f64 -1 (*.f64 y.im (atan2.f64 x.im x.re)))
(*.f64 y.im (neg.f64 (atan2.f64 x.im x.re)))
(neg.f64 (*.f64 y.im (atan2.f64 x.im x.re)))
(*.f64 (atan2.f64 x.im x.re) (neg.f64 y.im))
(*.f64 -1 (*.f64 y.im (atan2.f64 x.im x.re)))
(*.f64 y.im (neg.f64 (atan2.f64 x.im x.re)))
(neg.f64 (*.f64 y.im (atan2.f64 x.im x.re)))
(*.f64 (atan2.f64 x.im x.re) (neg.f64 y.im))
(*.f64 -1 (*.f64 y.im (atan2.f64 x.im x.re)))
(*.f64 y.im (neg.f64 (atan2.f64 x.im x.re)))
(neg.f64 (*.f64 y.im (atan2.f64 x.im x.re)))
(*.f64 (atan2.f64 x.im x.re) (neg.f64 y.im))
(*.f64 -1 (*.f64 y.im (atan2.f64 x.im x.re)))
(*.f64 y.im (neg.f64 (atan2.f64 x.im x.re)))
(neg.f64 (*.f64 y.im (atan2.f64 x.im x.re)))
(*.f64 (atan2.f64 x.im x.re) (neg.f64 y.im))
(*.f64 -1 (*.f64 y.im (atan2.f64 x.im x.re)))
(*.f64 y.im (neg.f64 (atan2.f64 x.im x.re)))
(neg.f64 (*.f64 y.im (atan2.f64 x.im x.re)))
(*.f64 (atan2.f64 x.im x.re) (neg.f64 y.im))
(*.f64 -1 (*.f64 y.im (atan2.f64 x.im x.re)))
(*.f64 y.im (neg.f64 (atan2.f64 x.im x.re)))
(neg.f64 (*.f64 y.im (atan2.f64 x.im x.re)))
(*.f64 (atan2.f64 x.im x.re) (neg.f64 y.im))
(*.f64 -1 (*.f64 y.im (atan2.f64 x.im x.re)))
(*.f64 y.im (neg.f64 (atan2.f64 x.im x.re)))
(neg.f64 (*.f64 y.im (atan2.f64 x.im x.re)))
(*.f64 (atan2.f64 x.im x.re) (neg.f64 y.im))
(*.f64 y.re (*.f64 (exp.f64 (*.f64 -1 (*.f64 y.im (atan2.f64 x.im x.re)))) (atan2.f64 x.im x.re)))
(*.f64 (*.f64 (atan2.f64 x.im x.re) y.re) (exp.f64 (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re)))))
(*.f64 (atan2.f64 x.im x.re) (*.f64 y.re (exp.f64 (neg.f64 (*.f64 y.im (atan2.f64 x.im x.re))))))
(*.f64 y.re (/.f64 (atan2.f64 x.im x.re) (exp.f64 (*.f64 y.im (atan2.f64 x.im x.re)))))
(*.f64 (atan2.f64 x.im x.re) (/.f64 y.re (exp.f64 (*.f64 y.im (atan2.f64 x.im x.re)))))
(*.f64 y.re (*.f64 (exp.f64 (*.f64 -1 (*.f64 y.im (atan2.f64 x.im x.re)))) (atan2.f64 x.im x.re)))
(*.f64 (*.f64 (atan2.f64 x.im x.re) y.re) (exp.f64 (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re)))))
(*.f64 (atan2.f64 x.im x.re) (*.f64 y.re (exp.f64 (neg.f64 (*.f64 y.im (atan2.f64 x.im x.re))))))
(*.f64 y.re (/.f64 (atan2.f64 x.im x.re) (exp.f64 (*.f64 y.im (atan2.f64 x.im x.re)))))
(*.f64 (atan2.f64 x.im x.re) (/.f64 y.re (exp.f64 (*.f64 y.im (atan2.f64 x.im x.re)))))
(*.f64 y.re (*.f64 (exp.f64 (*.f64 -1 (*.f64 y.im (atan2.f64 x.im x.re)))) (atan2.f64 x.im x.re)))
(*.f64 (*.f64 (atan2.f64 x.im x.re) y.re) (exp.f64 (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re)))))
(*.f64 (atan2.f64 x.im x.re) (*.f64 y.re (exp.f64 (neg.f64 (*.f64 y.im (atan2.f64 x.im x.re))))))
(*.f64 y.re (/.f64 (atan2.f64 x.im x.re) (exp.f64 (*.f64 y.im (atan2.f64 x.im x.re)))))
(*.f64 (atan2.f64 x.im x.re) (/.f64 y.re (exp.f64 (*.f64 y.im (atan2.f64 x.im x.re)))))
(*.f64 y.re (*.f64 (exp.f64 (*.f64 -1 (*.f64 y.im (atan2.f64 x.im x.re)))) (atan2.f64 x.im x.re)))
(*.f64 (*.f64 (atan2.f64 x.im x.re) y.re) (exp.f64 (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re)))))
(*.f64 (atan2.f64 x.im x.re) (*.f64 y.re (exp.f64 (neg.f64 (*.f64 y.im (atan2.f64 x.im x.re))))))
(*.f64 y.re (/.f64 (atan2.f64 x.im x.re) (exp.f64 (*.f64 y.im (atan2.f64 x.im x.re)))))
(*.f64 (atan2.f64 x.im x.re) (/.f64 y.re (exp.f64 (*.f64 y.im (atan2.f64 x.im x.re)))))
(*.f64 y.re (*.f64 (exp.f64 (*.f64 -1 (*.f64 y.im (atan2.f64 x.im x.re)))) (atan2.f64 x.im x.re)))
(*.f64 (*.f64 (atan2.f64 x.im x.re) y.re) (exp.f64 (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re)))))
(*.f64 (atan2.f64 x.im x.re) (*.f64 y.re (exp.f64 (neg.f64 (*.f64 y.im (atan2.f64 x.im x.re))))))
(*.f64 y.re (/.f64 (atan2.f64 x.im x.re) (exp.f64 (*.f64 y.im (atan2.f64 x.im x.re)))))
(*.f64 (atan2.f64 x.im x.re) (/.f64 y.re (exp.f64 (*.f64 y.im (atan2.f64 x.im x.re)))))
(*.f64 y.re (*.f64 (exp.f64 (*.f64 -1 (*.f64 y.im (atan2.f64 x.im x.re)))) (atan2.f64 x.im x.re)))
(*.f64 (*.f64 (atan2.f64 x.im x.re) y.re) (exp.f64 (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re)))))
(*.f64 (atan2.f64 x.im x.re) (*.f64 y.re (exp.f64 (neg.f64 (*.f64 y.im (atan2.f64 x.im x.re))))))
(*.f64 y.re (/.f64 (atan2.f64 x.im x.re) (exp.f64 (*.f64 y.im (atan2.f64 x.im x.re)))))
(*.f64 (atan2.f64 x.im x.re) (/.f64 y.re (exp.f64 (*.f64 y.im (atan2.f64 x.im x.re)))))
(*.f64 y.re (*.f64 (exp.f64 (*.f64 -1 (*.f64 y.im (atan2.f64 x.im x.re)))) (atan2.f64 x.im x.re)))
(*.f64 (*.f64 (atan2.f64 x.im x.re) y.re) (exp.f64 (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re)))))
(*.f64 (atan2.f64 x.im x.re) (*.f64 y.re (exp.f64 (neg.f64 (*.f64 y.im (atan2.f64 x.im x.re))))))
(*.f64 y.re (/.f64 (atan2.f64 x.im x.re) (exp.f64 (*.f64 y.im (atan2.f64 x.im x.re)))))
(*.f64 (atan2.f64 x.im x.re) (/.f64 y.re (exp.f64 (*.f64 y.im (atan2.f64 x.im x.re)))))
(*.f64 y.re (*.f64 (exp.f64 (*.f64 -1 (*.f64 y.im (atan2.f64 x.im x.re)))) (atan2.f64 x.im x.re)))
(*.f64 (*.f64 (atan2.f64 x.im x.re) y.re) (exp.f64 (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re)))))
(*.f64 (atan2.f64 x.im x.re) (*.f64 y.re (exp.f64 (neg.f64 (*.f64 y.im (atan2.f64 x.im x.re))))))
(*.f64 y.re (/.f64 (atan2.f64 x.im x.re) (exp.f64 (*.f64 y.im (atan2.f64 x.im x.re)))))
(*.f64 (atan2.f64 x.im x.re) (/.f64 y.re (exp.f64 (*.f64 y.im (atan2.f64 x.im x.re)))))
(*.f64 y.re (*.f64 (exp.f64 (*.f64 -1 (*.f64 y.im (atan2.f64 x.im x.re)))) (atan2.f64 x.im x.re)))
(*.f64 (*.f64 (atan2.f64 x.im x.re) y.re) (exp.f64 (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re)))))
(*.f64 (atan2.f64 x.im x.re) (*.f64 y.re (exp.f64 (neg.f64 (*.f64 y.im (atan2.f64 x.im x.re))))))
(*.f64 y.re (/.f64 (atan2.f64 x.im x.re) (exp.f64 (*.f64 y.im (atan2.f64 x.im x.re)))))
(*.f64 (atan2.f64 x.im x.re) (/.f64 y.re (exp.f64 (*.f64 y.im (atan2.f64 x.im x.re)))))
(*.f64 y.re (*.f64 (exp.f64 (*.f64 -1 (*.f64 y.im (atan2.f64 x.im x.re)))) (atan2.f64 x.im x.re)))
(*.f64 (*.f64 (atan2.f64 x.im x.re) y.re) (exp.f64 (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re)))))
(*.f64 (atan2.f64 x.im x.re) (*.f64 y.re (exp.f64 (neg.f64 (*.f64 y.im (atan2.f64 x.im x.re))))))
(*.f64 y.re (/.f64 (atan2.f64 x.im x.re) (exp.f64 (*.f64 y.im (atan2.f64 x.im x.re)))))
(*.f64 (atan2.f64 x.im x.re) (/.f64 y.re (exp.f64 (*.f64 y.im (atan2.f64 x.im x.re)))))
(*.f64 y.re (*.f64 (exp.f64 (*.f64 -1 (*.f64 y.im (atan2.f64 x.im x.re)))) (atan2.f64 x.im x.re)))
(*.f64 (*.f64 (atan2.f64 x.im x.re) y.re) (exp.f64 (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re)))))
(*.f64 (atan2.f64 x.im x.re) (*.f64 y.re (exp.f64 (neg.f64 (*.f64 y.im (atan2.f64 x.im x.re))))))
(*.f64 y.re (/.f64 (atan2.f64 x.im x.re) (exp.f64 (*.f64 y.im (atan2.f64 x.im x.re)))))
(*.f64 (atan2.f64 x.im x.re) (/.f64 y.re (exp.f64 (*.f64 y.im (atan2.f64 x.im x.re)))))
(*.f64 y.re (*.f64 (exp.f64 (*.f64 -1 (*.f64 y.im (atan2.f64 x.im x.re)))) (atan2.f64 x.im x.re)))
(*.f64 (*.f64 (atan2.f64 x.im x.re) y.re) (exp.f64 (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re)))))
(*.f64 (atan2.f64 x.im x.re) (*.f64 y.re (exp.f64 (neg.f64 (*.f64 y.im (atan2.f64 x.im x.re))))))
(*.f64 y.re (/.f64 (atan2.f64 x.im x.re) (exp.f64 (*.f64 y.im (atan2.f64 x.im x.re)))))
(*.f64 (atan2.f64 x.im x.re) (/.f64 y.re (exp.f64 (*.f64 y.im (atan2.f64 x.im x.re)))))
(*.f64 y.re (*.f64 (exp.f64 (*.f64 -1 (*.f64 y.im (atan2.f64 x.im x.re)))) (atan2.f64 x.im x.re)))
(*.f64 (*.f64 (atan2.f64 x.im x.re) y.re) (exp.f64 (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re)))))
(*.f64 (atan2.f64 x.im x.re) (*.f64 y.re (exp.f64 (neg.f64 (*.f64 y.im (atan2.f64 x.im x.re))))))
(*.f64 y.re (/.f64 (atan2.f64 x.im x.re) (exp.f64 (*.f64 y.im (atan2.f64 x.im x.re)))))
(*.f64 (atan2.f64 x.im x.re) (/.f64 y.re (exp.f64 (*.f64 y.im (atan2.f64 x.im x.re)))))
(*.f64 y.re (*.f64 (exp.f64 (*.f64 -1 (*.f64 y.im (atan2.f64 x.im x.re)))) (atan2.f64 x.im x.re)))
(*.f64 (*.f64 (atan2.f64 x.im x.re) y.re) (exp.f64 (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re)))))
(*.f64 (atan2.f64 x.im x.re) (*.f64 y.re (exp.f64 (neg.f64 (*.f64 y.im (atan2.f64 x.im x.re))))))
(*.f64 y.re (/.f64 (atan2.f64 x.im x.re) (exp.f64 (*.f64 y.im (atan2.f64 x.im x.re)))))
(*.f64 (atan2.f64 x.im x.re) (/.f64 y.re (exp.f64 (*.f64 y.im (atan2.f64 x.im x.re)))))
(*.f64 y.re (*.f64 (exp.f64 (*.f64 -1 (*.f64 y.im (atan2.f64 x.im x.re)))) (atan2.f64 x.im x.re)))
(*.f64 (*.f64 (atan2.f64 x.im x.re) y.re) (exp.f64 (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re)))))
(*.f64 (atan2.f64 x.im x.re) (*.f64 y.re (exp.f64 (neg.f64 (*.f64 y.im (atan2.f64 x.im x.re))))))
(*.f64 y.re (/.f64 (atan2.f64 x.im x.re) (exp.f64 (*.f64 y.im (atan2.f64 x.im x.re)))))
(*.f64 (atan2.f64 x.im x.re) (/.f64 y.re (exp.f64 (*.f64 y.im (atan2.f64 x.im x.re)))))
(*.f64 y.re (*.f64 (exp.f64 (*.f64 -1 (*.f64 y.im (atan2.f64 x.im x.re)))) (atan2.f64 x.im x.re)))
(*.f64 (*.f64 (atan2.f64 x.im x.re) y.re) (exp.f64 (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re)))))
(*.f64 (atan2.f64 x.im x.re) (*.f64 y.re (exp.f64 (neg.f64 (*.f64 y.im (atan2.f64 x.im x.re))))))
(*.f64 y.re (/.f64 (atan2.f64 x.im x.re) (exp.f64 (*.f64 y.im (atan2.f64 x.im x.re)))))
(*.f64 (atan2.f64 x.im x.re) (/.f64 y.re (exp.f64 (*.f64 y.im (atan2.f64 x.im x.re)))))
(*.f64 (exp.f64 (*.f64 -1 (*.f64 (atan2.f64 x.im x.re) y.im))) (*.f64 y.re (atan2.f64 x.im x.re)))
(*.f64 (*.f64 (atan2.f64 x.im x.re) y.re) (exp.f64 (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re)))))
(*.f64 (atan2.f64 x.im x.re) (*.f64 y.re (exp.f64 (neg.f64 (*.f64 y.im (atan2.f64 x.im x.re))))))
(*.f64 y.re (/.f64 (atan2.f64 x.im x.re) (exp.f64 (*.f64 y.im (atan2.f64 x.im x.re)))))
(*.f64 (atan2.f64 x.im x.re) (/.f64 y.re (exp.f64 (*.f64 y.im (atan2.f64 x.im x.re)))))
(*.f64 (exp.f64 (*.f64 -1 (*.f64 (atan2.f64 x.im x.re) y.im))) (*.f64 y.re (atan2.f64 x.im x.re)))
(*.f64 (*.f64 (atan2.f64 x.im x.re) y.re) (exp.f64 (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re)))))
(*.f64 (atan2.f64 x.im x.re) (*.f64 y.re (exp.f64 (neg.f64 (*.f64 y.im (atan2.f64 x.im x.re))))))
(*.f64 y.re (/.f64 (atan2.f64 x.im x.re) (exp.f64 (*.f64 y.im (atan2.f64 x.im x.re)))))
(*.f64 (atan2.f64 x.im x.re) (/.f64 y.re (exp.f64 (*.f64 y.im (atan2.f64 x.im x.re)))))
(*.f64 (exp.f64 (*.f64 -1 (*.f64 (atan2.f64 x.im x.re) y.im))) (*.f64 y.re (atan2.f64 x.im x.re)))
(*.f64 (*.f64 (atan2.f64 x.im x.re) y.re) (exp.f64 (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re)))))
(*.f64 (atan2.f64 x.im x.re) (*.f64 y.re (exp.f64 (neg.f64 (*.f64 y.im (atan2.f64 x.im x.re))))))
(*.f64 y.re (/.f64 (atan2.f64 x.im x.re) (exp.f64 (*.f64 y.im (atan2.f64 x.im x.re)))))
(*.f64 (atan2.f64 x.im x.re) (/.f64 y.re (exp.f64 (*.f64 y.im (atan2.f64 x.im x.re)))))
(*.f64 (exp.f64 (*.f64 -1 (*.f64 (atan2.f64 x.im x.re) y.im))) (*.f64 y.re (atan2.f64 x.im x.re)))
(*.f64 (*.f64 (atan2.f64 x.im x.re) y.re) (exp.f64 (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re)))))
(*.f64 (atan2.f64 x.im x.re) (*.f64 y.re (exp.f64 (neg.f64 (*.f64 y.im (atan2.f64 x.im x.re))))))
(*.f64 y.re (/.f64 (atan2.f64 x.im x.re) (exp.f64 (*.f64 y.im (atan2.f64 x.im x.re)))))
(*.f64 (atan2.f64 x.im x.re) (/.f64 y.re (exp.f64 (*.f64 y.im (atan2.f64 x.im x.re)))))
(*.f64 y.re (*.f64 (exp.f64 (*.f64 -1 (*.f64 y.im (atan2.f64 x.im x.re)))) (atan2.f64 x.im x.re)))
(*.f64 (*.f64 (atan2.f64 x.im x.re) y.re) (exp.f64 (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re)))))
(*.f64 (atan2.f64 x.im x.re) (*.f64 y.re (exp.f64 (neg.f64 (*.f64 y.im (atan2.f64 x.im x.re))))))
(*.f64 y.re (/.f64 (atan2.f64 x.im x.re) (exp.f64 (*.f64 y.im (atan2.f64 x.im x.re)))))
(*.f64 (atan2.f64 x.im x.re) (/.f64 y.re (exp.f64 (*.f64 y.im (atan2.f64 x.im x.re)))))
(*.f64 y.re (*.f64 (exp.f64 (*.f64 -1 (*.f64 y.im (atan2.f64 x.im x.re)))) (atan2.f64 x.im x.re)))
(*.f64 (*.f64 (atan2.f64 x.im x.re) y.re) (exp.f64 (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re)))))
(*.f64 (atan2.f64 x.im x.re) (*.f64 y.re (exp.f64 (neg.f64 (*.f64 y.im (atan2.f64 x.im x.re))))))
(*.f64 y.re (/.f64 (atan2.f64 x.im x.re) (exp.f64 (*.f64 y.im (atan2.f64 x.im x.re)))))
(*.f64 (atan2.f64 x.im x.re) (/.f64 y.re (exp.f64 (*.f64 y.im (atan2.f64 x.im x.re)))))
(*.f64 y.re (*.f64 (exp.f64 (*.f64 -1 (*.f64 y.im (atan2.f64 x.im x.re)))) (atan2.f64 x.im x.re)))
(*.f64 (*.f64 (atan2.f64 x.im x.re) y.re) (exp.f64 (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re)))))
(*.f64 (atan2.f64 x.im x.re) (*.f64 y.re (exp.f64 (neg.f64 (*.f64 y.im (atan2.f64 x.im x.re))))))
(*.f64 y.re (/.f64 (atan2.f64 x.im x.re) (exp.f64 (*.f64 y.im (atan2.f64 x.im x.re)))))
(*.f64 (atan2.f64 x.im x.re) (/.f64 y.re (exp.f64 (*.f64 y.im (atan2.f64 x.im x.re)))))
(*.f64 y.re (*.f64 (exp.f64 (*.f64 -1 (*.f64 y.im (atan2.f64 x.im x.re)))) (atan2.f64 x.im x.re)))
(*.f64 (*.f64 (atan2.f64 x.im x.re) y.re) (exp.f64 (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re)))))
(*.f64 (atan2.f64 x.im x.re) (*.f64 y.re (exp.f64 (neg.f64 (*.f64 y.im (atan2.f64 x.im x.re))))))
(*.f64 y.re (/.f64 (atan2.f64 x.im x.re) (exp.f64 (*.f64 y.im (atan2.f64 x.im x.re)))))
(*.f64 (atan2.f64 x.im x.re) (/.f64 y.re (exp.f64 (*.f64 y.im (atan2.f64 x.im x.re)))))
(*.f64 y.re (*.f64 (exp.f64 (*.f64 -1 (*.f64 y.im (atan2.f64 x.im x.re)))) (atan2.f64 x.im x.re)))
(*.f64 (*.f64 (atan2.f64 x.im x.re) y.re) (exp.f64 (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re)))))
(*.f64 (atan2.f64 x.im x.re) (*.f64 y.re (exp.f64 (neg.f64 (*.f64 y.im (atan2.f64 x.im x.re))))))
(*.f64 y.re (/.f64 (atan2.f64 x.im x.re) (exp.f64 (*.f64 y.im (atan2.f64 x.im x.re)))))
(*.f64 (atan2.f64 x.im x.re) (/.f64 y.re (exp.f64 (*.f64 y.im (atan2.f64 x.im x.re)))))
(*.f64 y.re (*.f64 (exp.f64 (*.f64 -1 (*.f64 y.im (atan2.f64 x.im x.re)))) (atan2.f64 x.im x.re)))
(*.f64 (*.f64 (atan2.f64 x.im x.re) y.re) (exp.f64 (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re)))))
(*.f64 (atan2.f64 x.im x.re) (*.f64 y.re (exp.f64 (neg.f64 (*.f64 y.im (atan2.f64 x.im x.re))))))
(*.f64 y.re (/.f64 (atan2.f64 x.im x.re) (exp.f64 (*.f64 y.im (atan2.f64 x.im x.re)))))
(*.f64 (atan2.f64 x.im x.re) (/.f64 y.re (exp.f64 (*.f64 y.im (atan2.f64 x.im x.re)))))
(*.f64 y.re (*.f64 (exp.f64 (*.f64 -1 (*.f64 y.im (atan2.f64 x.im x.re)))) (atan2.f64 x.im x.re)))
(*.f64 (*.f64 (atan2.f64 x.im x.re) y.re) (exp.f64 (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re)))))
(*.f64 (atan2.f64 x.im x.re) (*.f64 y.re (exp.f64 (neg.f64 (*.f64 y.im (atan2.f64 x.im x.re))))))
(*.f64 y.re (/.f64 (atan2.f64 x.im x.re) (exp.f64 (*.f64 y.im (atan2.f64 x.im x.re)))))
(*.f64 (atan2.f64 x.im x.re) (/.f64 y.re (exp.f64 (*.f64 y.im (atan2.f64 x.im x.re)))))
(*.f64 y.re (*.f64 (exp.f64 (*.f64 -1 (*.f64 y.im (atan2.f64 x.im x.re)))) (atan2.f64 x.im x.re)))
(*.f64 (*.f64 (atan2.f64 x.im x.re) y.re) (exp.f64 (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re)))))
(*.f64 (atan2.f64 x.im x.re) (*.f64 y.re (exp.f64 (neg.f64 (*.f64 y.im (atan2.f64 x.im x.re))))))
(*.f64 y.re (/.f64 (atan2.f64 x.im x.re) (exp.f64 (*.f64 y.im (atan2.f64 x.im x.re)))))
(*.f64 (atan2.f64 x.im x.re) (/.f64 y.re (exp.f64 (*.f64 y.im (atan2.f64 x.im x.re)))))
(*.f64 (exp.f64 (*.f64 -1 (*.f64 (atan2.f64 x.im x.re) y.im))) (*.f64 y.re (atan2.f64 x.im x.re)))
(*.f64 (*.f64 (atan2.f64 x.im x.re) y.re) (exp.f64 (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re)))))
(*.f64 (atan2.f64 x.im x.re) (*.f64 y.re (exp.f64 (neg.f64 (*.f64 y.im (atan2.f64 x.im x.re))))))
(*.f64 y.re (/.f64 (atan2.f64 x.im x.re) (exp.f64 (*.f64 y.im (atan2.f64 x.im x.re)))))
(*.f64 (atan2.f64 x.im x.re) (/.f64 y.re (exp.f64 (*.f64 y.im (atan2.f64 x.im x.re)))))
(*.f64 (exp.f64 (*.f64 -1 (*.f64 (atan2.f64 x.im x.re) y.im))) (*.f64 y.re (atan2.f64 x.im x.re)))
(*.f64 (*.f64 (atan2.f64 x.im x.re) y.re) (exp.f64 (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re)))))
(*.f64 (atan2.f64 x.im x.re) (*.f64 y.re (exp.f64 (neg.f64 (*.f64 y.im (atan2.f64 x.im x.re))))))
(*.f64 y.re (/.f64 (atan2.f64 x.im x.re) (exp.f64 (*.f64 y.im (atan2.f64 x.im x.re)))))
(*.f64 (atan2.f64 x.im x.re) (/.f64 y.re (exp.f64 (*.f64 y.im (atan2.f64 x.im x.re)))))
(*.f64 (exp.f64 (*.f64 -1 (*.f64 (atan2.f64 x.im x.re) y.im))) (*.f64 y.re (atan2.f64 x.im x.re)))
(*.f64 (*.f64 (atan2.f64 x.im x.re) y.re) (exp.f64 (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re)))))
(*.f64 (atan2.f64 x.im x.re) (*.f64 y.re (exp.f64 (neg.f64 (*.f64 y.im (atan2.f64 x.im x.re))))))
(*.f64 y.re (/.f64 (atan2.f64 x.im x.re) (exp.f64 (*.f64 y.im (atan2.f64 x.im x.re)))))
(*.f64 (atan2.f64 x.im x.re) (/.f64 y.re (exp.f64 (*.f64 y.im (atan2.f64 x.im x.re)))))
(*.f64 (exp.f64 (*.f64 -1 (*.f64 (atan2.f64 x.im x.re) y.im))) (*.f64 y.re (atan2.f64 x.im x.re)))
(*.f64 (*.f64 (atan2.f64 x.im x.re) y.re) (exp.f64 (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re)))))
(*.f64 (atan2.f64 x.im x.re) (*.f64 y.re (exp.f64 (neg.f64 (*.f64 y.im (atan2.f64 x.im x.re))))))
(*.f64 y.re (/.f64 (atan2.f64 x.im x.re) (exp.f64 (*.f64 y.im (atan2.f64 x.im x.re)))))
(*.f64 (atan2.f64 x.im x.re) (/.f64 y.re (exp.f64 (*.f64 y.im (atan2.f64 x.im x.re)))))
(*.f64 (exp.f64 (*.f64 -1 (*.f64 (atan2.f64 x.im x.re) y.im))) (*.f64 y.re (atan2.f64 x.im x.re)))
(*.f64 (*.f64 (atan2.f64 x.im x.re) y.re) (exp.f64 (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re)))))
(*.f64 (atan2.f64 x.im x.re) (*.f64 y.re (exp.f64 (neg.f64 (*.f64 y.im (atan2.f64 x.im x.re))))))
(*.f64 y.re (/.f64 (atan2.f64 x.im x.re) (exp.f64 (*.f64 y.im (atan2.f64 x.im x.re)))))
(*.f64 (atan2.f64 x.im x.re) (/.f64 y.re (exp.f64 (*.f64 y.im (atan2.f64 x.im x.re)))))
(*.f64 (exp.f64 (*.f64 -1 (*.f64 (atan2.f64 x.im x.re) y.im))) (*.f64 y.re (atan2.f64 x.im x.re)))
(*.f64 (*.f64 (atan2.f64 x.im x.re) y.re) (exp.f64 (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re)))))
(*.f64 (atan2.f64 x.im x.re) (*.f64 y.re (exp.f64 (neg.f64 (*.f64 y.im (atan2.f64 x.im x.re))))))
(*.f64 y.re (/.f64 (atan2.f64 x.im x.re) (exp.f64 (*.f64 y.im (atan2.f64 x.im x.re)))))
(*.f64 (atan2.f64 x.im x.re) (/.f64 y.re (exp.f64 (*.f64 y.im (atan2.f64 x.im x.re)))))
(*.f64 (exp.f64 (*.f64 -1 (*.f64 (atan2.f64 x.im x.re) y.im))) (*.f64 y.re (atan2.f64 x.im x.re)))
(*.f64 (*.f64 (atan2.f64 x.im x.re) y.re) (exp.f64 (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re)))))
(*.f64 (atan2.f64 x.im x.re) (*.f64 y.re (exp.f64 (neg.f64 (*.f64 y.im (atan2.f64 x.im x.re))))))
(*.f64 y.re (/.f64 (atan2.f64 x.im x.re) (exp.f64 (*.f64 y.im (atan2.f64 x.im x.re)))))
(*.f64 (atan2.f64 x.im x.re) (/.f64 y.re (exp.f64 (*.f64 y.im (atan2.f64 x.im x.re)))))
(*.f64 (exp.f64 (*.f64 -1 (*.f64 (atan2.f64 x.im x.re) y.im))) (*.f64 y.re (atan2.f64 x.im x.re)))
(*.f64 (*.f64 (atan2.f64 x.im x.re) y.re) (exp.f64 (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re)))))
(*.f64 (atan2.f64 x.im x.re) (*.f64 y.re (exp.f64 (neg.f64 (*.f64 y.im (atan2.f64 x.im x.re))))))
(*.f64 y.re (/.f64 (atan2.f64 x.im x.re) (exp.f64 (*.f64 y.im (atan2.f64 x.im x.re)))))
(*.f64 (atan2.f64 x.im x.re) (/.f64 y.re (exp.f64 (*.f64 y.im (atan2.f64 x.im x.re)))))
(*.f64 y.re (atan2.f64 x.im x.re))
(*.f64 (atan2.f64 x.im x.re) y.re)
(+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 -1 (*.f64 y.re (*.f64 (pow.f64 (atan2.f64 x.im x.re) 2) y.im))))
(+.f64 (*.f64 (atan2.f64 x.im x.re) y.re) (*.f64 -1 (*.f64 (pow.f64 (atan2.f64 x.im x.re) 2) (*.f64 y.im y.re))))
(*.f64 y.re (+.f64 (atan2.f64 x.im x.re) (*.f64 y.im (neg.f64 (pow.f64 (atan2.f64 x.im x.re) 2)))))
(+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (+.f64 (*.f64 1/2 (*.f64 y.re (*.f64 (pow.f64 (atan2.f64 x.im x.re) 3) (pow.f64 y.im 2)))) (*.f64 -1 (*.f64 y.re (*.f64 (pow.f64 (atan2.f64 x.im x.re) 2) y.im)))))
(+.f64 (*.f64 y.re (*.f64 (pow.f64 y.im 2) (*.f64 (pow.f64 (atan2.f64 x.im x.re) 3) 1/2))) (+.f64 (*.f64 (atan2.f64 x.im x.re) y.re) (*.f64 -1 (*.f64 (pow.f64 (atan2.f64 x.im x.re) 2) (*.f64 y.im y.re)))))
(+.f64 (*.f64 y.re (+.f64 (atan2.f64 x.im x.re) (*.f64 y.im (neg.f64 (pow.f64 (atan2.f64 x.im x.re) 2))))) (*.f64 y.re (*.f64 1/2 (*.f64 (pow.f64 (atan2.f64 x.im x.re) 3) (pow.f64 y.im 2)))))
(*.f64 y.re (+.f64 (+.f64 (atan2.f64 x.im x.re) (*.f64 y.im (neg.f64 (pow.f64 (atan2.f64 x.im x.re) 2)))) (*.f64 1/2 (*.f64 (pow.f64 (atan2.f64 x.im x.re) 3) (pow.f64 y.im 2)))))
(*.f64 y.re (+.f64 (atan2.f64 x.im x.re) (+.f64 (*.f64 y.im (neg.f64 (pow.f64 (atan2.f64 x.im x.re) 2))) (*.f64 1/2 (*.f64 (pow.f64 (atan2.f64 x.im x.re) 3) (pow.f64 y.im 2))))))
(+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (+.f64 (*.f64 1/2 (*.f64 y.re (*.f64 (pow.f64 (atan2.f64 x.im x.re) 3) (pow.f64 y.im 2)))) (+.f64 (*.f64 -1 (*.f64 y.re (*.f64 (pow.f64 (atan2.f64 x.im x.re) 2) y.im))) (*.f64 -1/6 (*.f64 y.re (*.f64 (pow.f64 (atan2.f64 x.im x.re) 4) (pow.f64 y.im 3)))))))
(+.f64 (*.f64 (atan2.f64 x.im x.re) y.re) (+.f64 (*.f64 -1 (*.f64 (pow.f64 (atan2.f64 x.im x.re) 2) (*.f64 y.im y.re))) (+.f64 (*.f64 y.re (*.f64 -1/6 (*.f64 (pow.f64 (atan2.f64 x.im x.re) 4) (pow.f64 y.im 3)))) (*.f64 y.re (*.f64 (pow.f64 y.im 2) (*.f64 (pow.f64 (atan2.f64 x.im x.re) 3) 1/2))))))
(+.f64 (*.f64 (atan2.f64 x.im x.re) y.re) (+.f64 (*.f64 y.re (*.f64 y.im (neg.f64 (pow.f64 (atan2.f64 x.im x.re) 2)))) (+.f64 (*.f64 y.re (*.f64 1/2 (*.f64 (pow.f64 (atan2.f64 x.im x.re) 3) (pow.f64 y.im 2)))) (*.f64 -1/6 (*.f64 y.re (*.f64 (pow.f64 (atan2.f64 x.im x.re) 4) (pow.f64 y.im 3)))))))
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 y.im 3) (*.f64 y.re (pow.f64 (atan2.f64 x.im x.re) 4)))) (*.f64 y.re (+.f64 (+.f64 (atan2.f64 x.im x.re) (*.f64 y.im (neg.f64 (pow.f64 (atan2.f64 x.im x.re) 2)))) (*.f64 1/2 (*.f64 (pow.f64 (atan2.f64 x.im x.re) 3) (pow.f64 y.im 2))))))
(*.f64 y.re (+.f64 (atan2.f64 x.im x.re) (+.f64 (*.f64 -1/6 (*.f64 (pow.f64 (atan2.f64 x.im x.re) 4) (pow.f64 y.im 3))) (+.f64 (*.f64 y.im (neg.f64 (pow.f64 (atan2.f64 x.im x.re) 2))) (*.f64 1/2 (*.f64 (pow.f64 (atan2.f64 x.im x.re) 3) (pow.f64 y.im 2)))))))
(*.f64 (exp.f64 (*.f64 -1 (*.f64 (atan2.f64 x.im x.re) y.im))) (*.f64 y.re (atan2.f64 x.im x.re)))
(*.f64 (*.f64 (atan2.f64 x.im x.re) y.re) (exp.f64 (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re)))))
(*.f64 (atan2.f64 x.im x.re) (*.f64 y.re (exp.f64 (neg.f64 (*.f64 y.im (atan2.f64 x.im x.re))))))
(*.f64 y.re (/.f64 (atan2.f64 x.im x.re) (exp.f64 (*.f64 y.im (atan2.f64 x.im x.re)))))
(*.f64 (atan2.f64 x.im x.re) (/.f64 y.re (exp.f64 (*.f64 y.im (atan2.f64 x.im x.re)))))
(*.f64 (exp.f64 (*.f64 -1 (*.f64 (atan2.f64 x.im x.re) y.im))) (*.f64 y.re (atan2.f64 x.im x.re)))
(*.f64 (*.f64 (atan2.f64 x.im x.re) y.re) (exp.f64 (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re)))))
(*.f64 (atan2.f64 x.im x.re) (*.f64 y.re (exp.f64 (neg.f64 (*.f64 y.im (atan2.f64 x.im x.re))))))
(*.f64 y.re (/.f64 (atan2.f64 x.im x.re) (exp.f64 (*.f64 y.im (atan2.f64 x.im x.re)))))
(*.f64 (atan2.f64 x.im x.re) (/.f64 y.re (exp.f64 (*.f64 y.im (atan2.f64 x.im x.re)))))
(*.f64 (exp.f64 (*.f64 -1 (*.f64 (atan2.f64 x.im x.re) y.im))) (*.f64 y.re (atan2.f64 x.im x.re)))
(*.f64 (*.f64 (atan2.f64 x.im x.re) y.re) (exp.f64 (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re)))))
(*.f64 (atan2.f64 x.im x.re) (*.f64 y.re (exp.f64 (neg.f64 (*.f64 y.im (atan2.f64 x.im x.re))))))
(*.f64 y.re (/.f64 (atan2.f64 x.im x.re) (exp.f64 (*.f64 y.im (atan2.f64 x.im x.re)))))
(*.f64 (atan2.f64 x.im x.re) (/.f64 y.re (exp.f64 (*.f64 y.im (atan2.f64 x.im x.re)))))
(*.f64 (exp.f64 (*.f64 -1 (*.f64 (atan2.f64 x.im x.re) y.im))) (*.f64 y.re (atan2.f64 x.im x.re)))
(*.f64 (*.f64 (atan2.f64 x.im x.re) y.re) (exp.f64 (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re)))))
(*.f64 (atan2.f64 x.im x.re) (*.f64 y.re (exp.f64 (neg.f64 (*.f64 y.im (atan2.f64 x.im x.re))))))
(*.f64 y.re (/.f64 (atan2.f64 x.im x.re) (exp.f64 (*.f64 y.im (atan2.f64 x.im x.re)))))
(*.f64 (atan2.f64 x.im x.re) (/.f64 y.re (exp.f64 (*.f64 y.im (atan2.f64 x.im x.re)))))
(*.f64 y.re (*.f64 (exp.f64 (*.f64 -1 (*.f64 y.im (atan2.f64 x.im x.re)))) (atan2.f64 x.im x.re)))
(*.f64 (*.f64 (atan2.f64 x.im x.re) y.re) (exp.f64 (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re)))))
(*.f64 (atan2.f64 x.im x.re) (*.f64 y.re (exp.f64 (neg.f64 (*.f64 y.im (atan2.f64 x.im x.re))))))
(*.f64 y.re (/.f64 (atan2.f64 x.im x.re) (exp.f64 (*.f64 y.im (atan2.f64 x.im x.re)))))
(*.f64 (atan2.f64 x.im x.re) (/.f64 y.re (exp.f64 (*.f64 y.im (atan2.f64 x.im x.re)))))
(*.f64 y.re (*.f64 (exp.f64 (*.f64 -1 (*.f64 y.im (atan2.f64 x.im x.re)))) (atan2.f64 x.im x.re)))
(*.f64 (*.f64 (atan2.f64 x.im x.re) y.re) (exp.f64 (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re)))))
(*.f64 (atan2.f64 x.im x.re) (*.f64 y.re (exp.f64 (neg.f64 (*.f64 y.im (atan2.f64 x.im x.re))))))
(*.f64 y.re (/.f64 (atan2.f64 x.im x.re) (exp.f64 (*.f64 y.im (atan2.f64 x.im x.re)))))
(*.f64 (atan2.f64 x.im x.re) (/.f64 y.re (exp.f64 (*.f64 y.im (atan2.f64 x.im x.re)))))
(*.f64 y.re (*.f64 (exp.f64 (*.f64 -1 (*.f64 y.im (atan2.f64 x.im x.re)))) (atan2.f64 x.im x.re)))
(*.f64 (*.f64 (atan2.f64 x.im x.re) y.re) (exp.f64 (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re)))))
(*.f64 (atan2.f64 x.im x.re) (*.f64 y.re (exp.f64 (neg.f64 (*.f64 y.im (atan2.f64 x.im x.re))))))
(*.f64 y.re (/.f64 (atan2.f64 x.im x.re) (exp.f64 (*.f64 y.im (atan2.f64 x.im x.re)))))
(*.f64 (atan2.f64 x.im x.re) (/.f64 y.re (exp.f64 (*.f64 y.im (atan2.f64 x.im x.re)))))
(*.f64 y.re (*.f64 (exp.f64 (*.f64 -1 (*.f64 y.im (atan2.f64 x.im x.re)))) (atan2.f64 x.im x.re)))
(*.f64 (*.f64 (atan2.f64 x.im x.re) y.re) (exp.f64 (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re)))))
(*.f64 (atan2.f64 x.im x.re) (*.f64 y.re (exp.f64 (neg.f64 (*.f64 y.im (atan2.f64 x.im x.re))))))
(*.f64 y.re (/.f64 (atan2.f64 x.im x.re) (exp.f64 (*.f64 y.im (atan2.f64 x.im x.re)))))
(*.f64 (atan2.f64 x.im x.re) (/.f64 y.re (exp.f64 (*.f64 y.im (atan2.f64 x.im x.re)))))
(*.f64 (atan2.f64 x.im x.re) (exp.f64 (*.f64 -1 (*.f64 y.im (atan2.f64 x.im x.re)))))
(*.f64 (atan2.f64 x.im x.re) (exp.f64 (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re)))))
(*.f64 (atan2.f64 x.im x.re) (exp.f64 (neg.f64 (*.f64 y.im (atan2.f64 x.im x.re)))))
(/.f64 (atan2.f64 x.im x.re) (exp.f64 (*.f64 y.im (atan2.f64 x.im x.re))))
(*.f64 (atan2.f64 x.im x.re) (exp.f64 (*.f64 -1 (*.f64 y.im (atan2.f64 x.im x.re)))))
(*.f64 (atan2.f64 x.im x.re) (exp.f64 (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re)))))
(*.f64 (atan2.f64 x.im x.re) (exp.f64 (neg.f64 (*.f64 y.im (atan2.f64 x.im x.re)))))
(/.f64 (atan2.f64 x.im x.re) (exp.f64 (*.f64 y.im (atan2.f64 x.im x.re))))
(*.f64 (atan2.f64 x.im x.re) (exp.f64 (*.f64 -1 (*.f64 y.im (atan2.f64 x.im x.re)))))
(*.f64 (atan2.f64 x.im x.re) (exp.f64 (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re)))))
(*.f64 (atan2.f64 x.im x.re) (exp.f64 (neg.f64 (*.f64 y.im (atan2.f64 x.im x.re)))))
(/.f64 (atan2.f64 x.im x.re) (exp.f64 (*.f64 y.im (atan2.f64 x.im x.re))))
(*.f64 (atan2.f64 x.im x.re) (exp.f64 (*.f64 -1 (*.f64 y.im (atan2.f64 x.im x.re)))))
(*.f64 (atan2.f64 x.im x.re) (exp.f64 (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re)))))
(*.f64 (atan2.f64 x.im x.re) (exp.f64 (neg.f64 (*.f64 y.im (atan2.f64 x.im x.re)))))
(/.f64 (atan2.f64 x.im x.re) (exp.f64 (*.f64 y.im (atan2.f64 x.im x.re))))
(*.f64 (exp.f64 (*.f64 -1 (*.f64 (atan2.f64 x.im x.re) y.im))) (atan2.f64 x.im x.re))
(*.f64 (atan2.f64 x.im x.re) (exp.f64 (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re)))))
(*.f64 (atan2.f64 x.im x.re) (exp.f64 (neg.f64 (*.f64 y.im (atan2.f64 x.im x.re)))))
(/.f64 (atan2.f64 x.im x.re) (exp.f64 (*.f64 y.im (atan2.f64 x.im x.re))))
(*.f64 (exp.f64 (*.f64 -1 (*.f64 (atan2.f64 x.im x.re) y.im))) (atan2.f64 x.im x.re))
(*.f64 (atan2.f64 x.im x.re) (exp.f64 (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re)))))
(*.f64 (atan2.f64 x.im x.re) (exp.f64 (neg.f64 (*.f64 y.im (atan2.f64 x.im x.re)))))
(/.f64 (atan2.f64 x.im x.re) (exp.f64 (*.f64 y.im (atan2.f64 x.im x.re))))
(*.f64 (exp.f64 (*.f64 -1 (*.f64 (atan2.f64 x.im x.re) y.im))) (atan2.f64 x.im x.re))
(*.f64 (atan2.f64 x.im x.re) (exp.f64 (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re)))))
(*.f64 (atan2.f64 x.im x.re) (exp.f64 (neg.f64 (*.f64 y.im (atan2.f64 x.im x.re)))))
(/.f64 (atan2.f64 x.im x.re) (exp.f64 (*.f64 y.im (atan2.f64 x.im x.re))))
(*.f64 (exp.f64 (*.f64 -1 (*.f64 (atan2.f64 x.im x.re) y.im))) (atan2.f64 x.im x.re))
(*.f64 (atan2.f64 x.im x.re) (exp.f64 (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re)))))
(*.f64 (atan2.f64 x.im x.re) (exp.f64 (neg.f64 (*.f64 y.im (atan2.f64 x.im x.re)))))
(/.f64 (atan2.f64 x.im x.re) (exp.f64 (*.f64 y.im (atan2.f64 x.im x.re))))
(*.f64 (exp.f64 (*.f64 -1 (*.f64 y.im (atan2.f64 x.im x.re)))) (atan2.f64 x.im x.re))
(*.f64 (atan2.f64 x.im x.re) (exp.f64 (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re)))))
(*.f64 (atan2.f64 x.im x.re) (exp.f64 (neg.f64 (*.f64 y.im (atan2.f64 x.im x.re)))))
(/.f64 (atan2.f64 x.im x.re) (exp.f64 (*.f64 y.im (atan2.f64 x.im x.re))))
(*.f64 (exp.f64 (*.f64 -1 (*.f64 y.im (atan2.f64 x.im x.re)))) (atan2.f64 x.im x.re))
(*.f64 (atan2.f64 x.im x.re) (exp.f64 (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re)))))
(*.f64 (atan2.f64 x.im x.re) (exp.f64 (neg.f64 (*.f64 y.im (atan2.f64 x.im x.re)))))
(/.f64 (atan2.f64 x.im x.re) (exp.f64 (*.f64 y.im (atan2.f64 x.im x.re))))
(*.f64 (exp.f64 (*.f64 -1 (*.f64 y.im (atan2.f64 x.im x.re)))) (atan2.f64 x.im x.re))
(*.f64 (atan2.f64 x.im x.re) (exp.f64 (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re)))))
(*.f64 (atan2.f64 x.im x.re) (exp.f64 (neg.f64 (*.f64 y.im (atan2.f64 x.im x.re)))))
(/.f64 (atan2.f64 x.im x.re) (exp.f64 (*.f64 y.im (atan2.f64 x.im x.re))))
(*.f64 (exp.f64 (*.f64 -1 (*.f64 y.im (atan2.f64 x.im x.re)))) (atan2.f64 x.im x.re))
(*.f64 (atan2.f64 x.im x.re) (exp.f64 (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re)))))
(*.f64 (atan2.f64 x.im x.re) (exp.f64 (neg.f64 (*.f64 y.im (atan2.f64 x.im x.re)))))
(/.f64 (atan2.f64 x.im x.re) (exp.f64 (*.f64 y.im (atan2.f64 x.im x.re))))
(*.f64 (atan2.f64 x.im x.re) (exp.f64 (*.f64 -1 (*.f64 y.im (atan2.f64 x.im x.re)))))
(*.f64 (atan2.f64 x.im x.re) (exp.f64 (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re)))))
(*.f64 (atan2.f64 x.im x.re) (exp.f64 (neg.f64 (*.f64 y.im (atan2.f64 x.im x.re)))))
(/.f64 (atan2.f64 x.im x.re) (exp.f64 (*.f64 y.im (atan2.f64 x.im x.re))))
(*.f64 (atan2.f64 x.im x.re) (exp.f64 (*.f64 -1 (*.f64 y.im (atan2.f64 x.im x.re)))))
(*.f64 (atan2.f64 x.im x.re) (exp.f64 (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re)))))
(*.f64 (atan2.f64 x.im x.re) (exp.f64 (neg.f64 (*.f64 y.im (atan2.f64 x.im x.re)))))
(/.f64 (atan2.f64 x.im x.re) (exp.f64 (*.f64 y.im (atan2.f64 x.im x.re))))
(*.f64 (atan2.f64 x.im x.re) (exp.f64 (*.f64 -1 (*.f64 y.im (atan2.f64 x.im x.re)))))
(*.f64 (atan2.f64 x.im x.re) (exp.f64 (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re)))))
(*.f64 (atan2.f64 x.im x.re) (exp.f64 (neg.f64 (*.f64 y.im (atan2.f64 x.im x.re)))))
(/.f64 (atan2.f64 x.im x.re) (exp.f64 (*.f64 y.im (atan2.f64 x.im x.re))))
(*.f64 (atan2.f64 x.im x.re) (exp.f64 (*.f64 -1 (*.f64 y.im (atan2.f64 x.im x.re)))))
(*.f64 (atan2.f64 x.im x.re) (exp.f64 (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re)))))
(*.f64 (atan2.f64 x.im x.re) (exp.f64 (neg.f64 (*.f64 y.im (atan2.f64 x.im x.re)))))
(/.f64 (atan2.f64 x.im x.re) (exp.f64 (*.f64 y.im (atan2.f64 x.im x.re))))
(*.f64 (exp.f64 (*.f64 -1 (*.f64 (atan2.f64 x.im x.re) y.im))) (atan2.f64 x.im x.re))
(*.f64 (atan2.f64 x.im x.re) (exp.f64 (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re)))))
(*.f64 (atan2.f64 x.im x.re) (exp.f64 (neg.f64 (*.f64 y.im (atan2.f64 x.im x.re)))))
(/.f64 (atan2.f64 x.im x.re) (exp.f64 (*.f64 y.im (atan2.f64 x.im x.re))))
(*.f64 (exp.f64 (*.f64 -1 (*.f64 (atan2.f64 x.im x.re) y.im))) (atan2.f64 x.im x.re))
(*.f64 (atan2.f64 x.im x.re) (exp.f64 (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re)))))
(*.f64 (atan2.f64 x.im x.re) (exp.f64 (neg.f64 (*.f64 y.im (atan2.f64 x.im x.re)))))
(/.f64 (atan2.f64 x.im x.re) (exp.f64 (*.f64 y.im (atan2.f64 x.im x.re))))
(*.f64 (exp.f64 (*.f64 -1 (*.f64 (atan2.f64 x.im x.re) y.im))) (atan2.f64 x.im x.re))
(*.f64 (atan2.f64 x.im x.re) (exp.f64 (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re)))))
(*.f64 (atan2.f64 x.im x.re) (exp.f64 (neg.f64 (*.f64 y.im (atan2.f64 x.im x.re)))))
(/.f64 (atan2.f64 x.im x.re) (exp.f64 (*.f64 y.im (atan2.f64 x.im x.re))))
(*.f64 (exp.f64 (*.f64 -1 (*.f64 (atan2.f64 x.im x.re) y.im))) (atan2.f64 x.im x.re))
(*.f64 (atan2.f64 x.im x.re) (exp.f64 (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re)))))
(*.f64 (atan2.f64 x.im x.re) (exp.f64 (neg.f64 (*.f64 y.im (atan2.f64 x.im x.re)))))
(/.f64 (atan2.f64 x.im x.re) (exp.f64 (*.f64 y.im (atan2.f64 x.im x.re))))
(*.f64 (exp.f64 (*.f64 -1 (*.f64 (atan2.f64 x.im x.re) y.im))) (atan2.f64 x.im x.re))
(*.f64 (atan2.f64 x.im x.re) (exp.f64 (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re)))))
(*.f64 (atan2.f64 x.im x.re) (exp.f64 (neg.f64 (*.f64 y.im (atan2.f64 x.im x.re)))))
(/.f64 (atan2.f64 x.im x.re) (exp.f64 (*.f64 y.im (atan2.f64 x.im x.re))))
(*.f64 (exp.f64 (*.f64 -1 (*.f64 (atan2.f64 x.im x.re) y.im))) (atan2.f64 x.im x.re))
(*.f64 (atan2.f64 x.im x.re) (exp.f64 (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re)))))
(*.f64 (atan2.f64 x.im x.re) (exp.f64 (neg.f64 (*.f64 y.im (atan2.f64 x.im x.re)))))
(/.f64 (atan2.f64 x.im x.re) (exp.f64 (*.f64 y.im (atan2.f64 x.im x.re))))
(*.f64 (exp.f64 (*.f64 -1 (*.f64 (atan2.f64 x.im x.re) y.im))) (atan2.f64 x.im x.re))
(*.f64 (atan2.f64 x.im x.re) (exp.f64 (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re)))))
(*.f64 (atan2.f64 x.im x.re) (exp.f64 (neg.f64 (*.f64 y.im (atan2.f64 x.im x.re)))))
(/.f64 (atan2.f64 x.im x.re) (exp.f64 (*.f64 y.im (atan2.f64 x.im x.re))))
(*.f64 (exp.f64 (*.f64 -1 (*.f64 (atan2.f64 x.im x.re) y.im))) (atan2.f64 x.im x.re))
(*.f64 (atan2.f64 x.im x.re) (exp.f64 (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re)))))
(*.f64 (atan2.f64 x.im x.re) (exp.f64 (neg.f64 (*.f64 y.im (atan2.f64 x.im x.re)))))
(/.f64 (atan2.f64 x.im x.re) (exp.f64 (*.f64 y.im (atan2.f64 x.im x.re))))
(atan2.f64 x.im x.re)
(+.f64 (*.f64 -1 (*.f64 y.im (pow.f64 (atan2.f64 x.im x.re) 2))) (atan2.f64 x.im x.re))
(+.f64 (atan2.f64 x.im x.re) (*.f64 -1 (*.f64 y.im (pow.f64 (atan2.f64 x.im x.re) 2))))
(+.f64 (atan2.f64 x.im x.re) (*.f64 y.im (neg.f64 (pow.f64 (atan2.f64 x.im x.re) 2))))
(+.f64 (*.f64 -1 (*.f64 y.im (pow.f64 (atan2.f64 x.im x.re) 2))) (+.f64 (atan2.f64 x.im x.re) (*.f64 1/2 (*.f64 (pow.f64 y.im 2) (pow.f64 (atan2.f64 x.im x.re) 3)))))
(+.f64 (atan2.f64 x.im x.re) (+.f64 (*.f64 (pow.f64 y.im 2) (*.f64 (pow.f64 (atan2.f64 x.im x.re) 3) 1/2)) (*.f64 -1 (*.f64 y.im (pow.f64 (atan2.f64 x.im x.re) 2)))))
(+.f64 (*.f64 y.im (neg.f64 (pow.f64 (atan2.f64 x.im x.re) 2))) (+.f64 (atan2.f64 x.im x.re) (*.f64 1/2 (*.f64 (pow.f64 (atan2.f64 x.im x.re) 3) (pow.f64 y.im 2)))))
(+.f64 (+.f64 (atan2.f64 x.im x.re) (*.f64 y.im (neg.f64 (pow.f64 (atan2.f64 x.im x.re) 2)))) (*.f64 1/2 (*.f64 (pow.f64 (atan2.f64 x.im x.re) 3) (pow.f64 y.im 2))))
(+.f64 (atan2.f64 x.im x.re) (+.f64 (*.f64 y.im (neg.f64 (pow.f64 (atan2.f64 x.im x.re) 2))) (*.f64 1/2 (*.f64 (pow.f64 (atan2.f64 x.im x.re) 3) (pow.f64 y.im 2)))))
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 y.im 3) (pow.f64 (atan2.f64 x.im x.re) 4))) (+.f64 (*.f64 -1 (*.f64 y.im (pow.f64 (atan2.f64 x.im x.re) 2))) (+.f64 (atan2.f64 x.im x.re) (*.f64 1/2 (*.f64 (pow.f64 y.im 2) (pow.f64 (atan2.f64 x.im x.re) 3))))))
(+.f64 (*.f64 -1 (*.f64 y.im (pow.f64 (atan2.f64 x.im x.re) 2))) (+.f64 (+.f64 (atan2.f64 x.im x.re) (*.f64 (pow.f64 y.im 2) (*.f64 (pow.f64 (atan2.f64 x.im x.re) 3) 1/2))) (*.f64 -1/6 (*.f64 (pow.f64 (atan2.f64 x.im x.re) 4) (pow.f64 y.im 3)))))
(+.f64 (atan2.f64 x.im x.re) (+.f64 (+.f64 (*.f64 y.im (neg.f64 (pow.f64 (atan2.f64 x.im x.re) 2))) (*.f64 1/2 (*.f64 (pow.f64 (atan2.f64 x.im x.re) 3) (pow.f64 y.im 2)))) (*.f64 -1/6 (*.f64 (pow.f64 (atan2.f64 x.im x.re) 4) (pow.f64 y.im 3)))))
(+.f64 (atan2.f64 x.im x.re) (+.f64 (*.f64 -1/6 (*.f64 (pow.f64 (atan2.f64 x.im x.re) 4) (pow.f64 y.im 3))) (+.f64 (*.f64 y.im (neg.f64 (pow.f64 (atan2.f64 x.im x.re) 2))) (*.f64 1/2 (*.f64 (pow.f64 (atan2.f64 x.im x.re) 3) (pow.f64 y.im 2))))))
(*.f64 (exp.f64 (*.f64 -1 (*.f64 (atan2.f64 x.im x.re) y.im))) (atan2.f64 x.im x.re))
(*.f64 (atan2.f64 x.im x.re) (exp.f64 (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re)))))
(*.f64 (atan2.f64 x.im x.re) (exp.f64 (neg.f64 (*.f64 y.im (atan2.f64 x.im x.re)))))
(/.f64 (atan2.f64 x.im x.re) (exp.f64 (*.f64 y.im (atan2.f64 x.im x.re))))
(*.f64 (exp.f64 (*.f64 -1 (*.f64 (atan2.f64 x.im x.re) y.im))) (atan2.f64 x.im x.re))
(*.f64 (atan2.f64 x.im x.re) (exp.f64 (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re)))))
(*.f64 (atan2.f64 x.im x.re) (exp.f64 (neg.f64 (*.f64 y.im (atan2.f64 x.im x.re)))))
(/.f64 (atan2.f64 x.im x.re) (exp.f64 (*.f64 y.im (atan2.f64 x.im x.re))))
(*.f64 (exp.f64 (*.f64 -1 (*.f64 (atan2.f64 x.im x.re) y.im))) (atan2.f64 x.im x.re))
(*.f64 (atan2.f64 x.im x.re) (exp.f64 (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re)))))
(*.f64 (atan2.f64 x.im x.re) (exp.f64 (neg.f64 (*.f64 y.im (atan2.f64 x.im x.re)))))
(/.f64 (atan2.f64 x.im x.re) (exp.f64 (*.f64 y.im (atan2.f64 x.im x.re))))
(*.f64 (exp.f64 (*.f64 -1 (*.f64 (atan2.f64 x.im x.re) y.im))) (atan2.f64 x.im x.re))
(*.f64 (atan2.f64 x.im x.re) (exp.f64 (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re)))))
(*.f64 (atan2.f64 x.im x.re) (exp.f64 (neg.f64 (*.f64 y.im (atan2.f64 x.im x.re)))))
(/.f64 (atan2.f64 x.im x.re) (exp.f64 (*.f64 y.im (atan2.f64 x.im x.re))))
(*.f64 (exp.f64 (*.f64 -1 (*.f64 y.im (atan2.f64 x.im x.re)))) (atan2.f64 x.im x.re))
(*.f64 (atan2.f64 x.im x.re) (exp.f64 (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re)))))
(*.f64 (atan2.f64 x.im x.re) (exp.f64 (neg.f64 (*.f64 y.im (atan2.f64 x.im x.re)))))
(/.f64 (atan2.f64 x.im x.re) (exp.f64 (*.f64 y.im (atan2.f64 x.im x.re))))
(*.f64 (exp.f64 (*.f64 -1 (*.f64 y.im (atan2.f64 x.im x.re)))) (atan2.f64 x.im x.re))
(*.f64 (atan2.f64 x.im x.re) (exp.f64 (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re)))))
(*.f64 (atan2.f64 x.im x.re) (exp.f64 (neg.f64 (*.f64 y.im (atan2.f64 x.im x.re)))))
(/.f64 (atan2.f64 x.im x.re) (exp.f64 (*.f64 y.im (atan2.f64 x.im x.re))))
(*.f64 (exp.f64 (*.f64 -1 (*.f64 y.im (atan2.f64 x.im x.re)))) (atan2.f64 x.im x.re))
(*.f64 (atan2.f64 x.im x.re) (exp.f64 (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re)))))
(*.f64 (atan2.f64 x.im x.re) (exp.f64 (neg.f64 (*.f64 y.im (atan2.f64 x.im x.re)))))
(/.f64 (atan2.f64 x.im x.re) (exp.f64 (*.f64 y.im (atan2.f64 x.im x.re))))
(*.f64 (exp.f64 (*.f64 -1 (*.f64 y.im (atan2.f64 x.im x.re)))) (atan2.f64 x.im x.re))
(*.f64 (atan2.f64 x.im x.re) (exp.f64 (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re)))))
(*.f64 (atan2.f64 x.im x.re) (exp.f64 (neg.f64 (*.f64 y.im (atan2.f64 x.im x.re)))))
(/.f64 (atan2.f64 x.im x.re) (exp.f64 (*.f64 y.im (atan2.f64 x.im x.re))))
1
(+.f64 (*.f64 -1 (*.f64 y.im (atan2.f64 x.im x.re))) 1)
(+.f64 (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re))) 1)
(+.f64 (neg.f64 (*.f64 y.im (atan2.f64 x.im x.re))) 1)
(-.f64 1 (*.f64 y.im (atan2.f64 x.im x.re)))
(+.f64 (*.f64 -1 (*.f64 y.im (atan2.f64 x.im x.re))) (+.f64 1 (*.f64 1/2 (*.f64 (pow.f64 y.im 2) (pow.f64 (atan2.f64 x.im x.re) 2)))))
(+.f64 (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re))) (+.f64 1 (*.f64 1/2 (*.f64 (pow.f64 (atan2.f64 x.im x.re) 2) (pow.f64 y.im 2)))))
(+.f64 (neg.f64 (*.f64 y.im (atan2.f64 x.im x.re))) (+.f64 1 (*.f64 (pow.f64 (atan2.f64 x.im x.re) 2) (*.f64 (pow.f64 y.im 2) 1/2))))
(+.f64 (*.f64 (pow.f64 (atan2.f64 x.im x.re) 2) (*.f64 1/2 (pow.f64 y.im 2))) (-.f64 1 (*.f64 y.im (atan2.f64 x.im x.re))))
(+.f64 (*.f64 -1 (*.f64 y.im (atan2.f64 x.im x.re))) (+.f64 1 (+.f64 (*.f64 1/2 (*.f64 (pow.f64 y.im 2) (pow.f64 (atan2.f64 x.im x.re) 2))) (*.f64 -1/6 (*.f64 (pow.f64 y.im 3) (pow.f64 (atan2.f64 x.im x.re) 3))))))
(+.f64 (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re))) (+.f64 1 (+.f64 (*.f64 1/2 (*.f64 (pow.f64 (atan2.f64 x.im x.re) 2) (pow.f64 y.im 2))) (*.f64 -1/6 (*.f64 (pow.f64 (atan2.f64 x.im x.re) 3) (pow.f64 y.im 3))))))
(+.f64 (neg.f64 (*.f64 y.im (atan2.f64 x.im x.re))) (+.f64 1 (+.f64 (*.f64 (pow.f64 (atan2.f64 x.im x.re) 2) (*.f64 (pow.f64 y.im 2) 1/2)) (*.f64 (pow.f64 (atan2.f64 x.im x.re) 3) (*.f64 (pow.f64 y.im 3) -1/6)))))
(+.f64 (*.f64 (pow.f64 (atan2.f64 x.im x.re) 3) (*.f64 -1/6 (pow.f64 y.im 3))) (+.f64 (*.f64 (pow.f64 (atan2.f64 x.im x.re) 2) (*.f64 1/2 (pow.f64 y.im 2))) (-.f64 1 (*.f64 y.im (atan2.f64 x.im x.re)))))
(+.f64 (*.f64 (pow.f64 (atan2.f64 x.im x.re) 2) (*.f64 1/2 (pow.f64 y.im 2))) (+.f64 (*.f64 -1/6 (*.f64 (pow.f64 (atan2.f64 x.im x.re) 3) (pow.f64 y.im 3))) (-.f64 1 (*.f64 y.im (atan2.f64 x.im x.re)))))
(exp.f64 (*.f64 -1 (*.f64 (atan2.f64 x.im x.re) y.im)))
(exp.f64 (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re))))
(exp.f64 (neg.f64 (*.f64 y.im (atan2.f64 x.im x.re))))
(exp.f64 (*.f64 (atan2.f64 x.im x.re) (neg.f64 y.im)))
(exp.f64 (*.f64 -1 (*.f64 (atan2.f64 x.im x.re) y.im)))
(exp.f64 (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re))))
(exp.f64 (neg.f64 (*.f64 y.im (atan2.f64 x.im x.re))))
(exp.f64 (*.f64 (atan2.f64 x.im x.re) (neg.f64 y.im)))
(exp.f64 (*.f64 -1 (*.f64 (atan2.f64 x.im x.re) y.im)))
(exp.f64 (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re))))
(exp.f64 (neg.f64 (*.f64 y.im (atan2.f64 x.im x.re))))
(exp.f64 (*.f64 (atan2.f64 x.im x.re) (neg.f64 y.im)))
(exp.f64 (*.f64 -1 (*.f64 (atan2.f64 x.im x.re) y.im)))
(exp.f64 (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re))))
(exp.f64 (neg.f64 (*.f64 y.im (atan2.f64 x.im x.re))))
(exp.f64 (*.f64 (atan2.f64 x.im x.re) (neg.f64 y.im)))
(exp.f64 (*.f64 -1 (*.f64 y.im (atan2.f64 x.im x.re))))
(exp.f64 (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re))))
(exp.f64 (neg.f64 (*.f64 y.im (atan2.f64 x.im x.re))))
(exp.f64 (*.f64 (atan2.f64 x.im x.re) (neg.f64 y.im)))
(exp.f64 (*.f64 -1 (*.f64 y.im (atan2.f64 x.im x.re))))
(exp.f64 (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re))))
(exp.f64 (neg.f64 (*.f64 y.im (atan2.f64 x.im x.re))))
(exp.f64 (*.f64 (atan2.f64 x.im x.re) (neg.f64 y.im)))
(exp.f64 (*.f64 -1 (*.f64 y.im (atan2.f64 x.im x.re))))
(exp.f64 (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re))))
(exp.f64 (neg.f64 (*.f64 y.im (atan2.f64 x.im x.re))))
(exp.f64 (*.f64 (atan2.f64 x.im x.re) (neg.f64 y.im)))
(exp.f64 (*.f64 -1 (*.f64 y.im (atan2.f64 x.im x.re))))
(exp.f64 (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re))))
(exp.f64 (neg.f64 (*.f64 y.im (atan2.f64 x.im x.re))))
(exp.f64 (*.f64 (atan2.f64 x.im x.re) (neg.f64 y.im)))
(exp.f64 (*.f64 -1 (*.f64 y.im (atan2.f64 x.im x.re))))
(exp.f64 (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re))))
(exp.f64 (neg.f64 (*.f64 y.im (atan2.f64 x.im x.re))))
(exp.f64 (*.f64 (atan2.f64 x.im x.re) (neg.f64 y.im)))
(exp.f64 (*.f64 -1 (*.f64 y.im (atan2.f64 x.im x.re))))
(exp.f64 (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re))))
(exp.f64 (neg.f64 (*.f64 y.im (atan2.f64 x.im x.re))))
(exp.f64 (*.f64 (atan2.f64 x.im x.re) (neg.f64 y.im)))
(exp.f64 (*.f64 -1 (*.f64 y.im (atan2.f64 x.im x.re))))
(exp.f64 (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re))))
(exp.f64 (neg.f64 (*.f64 y.im (atan2.f64 x.im x.re))))
(exp.f64 (*.f64 (atan2.f64 x.im x.re) (neg.f64 y.im)))
(exp.f64 (*.f64 -1 (*.f64 y.im (atan2.f64 x.im x.re))))
(exp.f64 (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re))))
(exp.f64 (neg.f64 (*.f64 y.im (atan2.f64 x.im x.re))))
(exp.f64 (*.f64 (atan2.f64 x.im x.re) (neg.f64 y.im)))
(exp.f64 (*.f64 -1 (*.f64 (atan2.f64 x.im x.re) y.im)))
(exp.f64 (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re))))
(exp.f64 (neg.f64 (*.f64 y.im (atan2.f64 x.im x.re))))
(exp.f64 (*.f64 (atan2.f64 x.im x.re) (neg.f64 y.im)))
(exp.f64 (*.f64 -1 (*.f64 (atan2.f64 x.im x.re) y.im)))
(exp.f64 (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re))))
(exp.f64 (neg.f64 (*.f64 y.im (atan2.f64 x.im x.re))))
(exp.f64 (*.f64 (atan2.f64 x.im x.re) (neg.f64 y.im)))
(exp.f64 (*.f64 -1 (*.f64 (atan2.f64 x.im x.re) y.im)))
(exp.f64 (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re))))
(exp.f64 (neg.f64 (*.f64 y.im (atan2.f64 x.im x.re))))
(exp.f64 (*.f64 (atan2.f64 x.im x.re) (neg.f64 y.im)))
(exp.f64 (*.f64 -1 (*.f64 (atan2.f64 x.im x.re) y.im)))
(exp.f64 (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re))))
(exp.f64 (neg.f64 (*.f64 y.im (atan2.f64 x.im x.re))))
(exp.f64 (*.f64 (atan2.f64 x.im x.re) (neg.f64 y.im)))
(exp.f64 (*.f64 -1 (*.f64 y.im (atan2.f64 x.im x.re))))
(exp.f64 (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re))))
(exp.f64 (neg.f64 (*.f64 y.im (atan2.f64 x.im x.re))))
(exp.f64 (*.f64 (atan2.f64 x.im x.re) (neg.f64 y.im)))
(exp.f64 (*.f64 -1 (*.f64 y.im (atan2.f64 x.im x.re))))
(exp.f64 (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re))))
(exp.f64 (neg.f64 (*.f64 y.im (atan2.f64 x.im x.re))))
(exp.f64 (*.f64 (atan2.f64 x.im x.re) (neg.f64 y.im)))
(exp.f64 (*.f64 -1 (*.f64 y.im (atan2.f64 x.im x.re))))
(exp.f64 (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re))))
(exp.f64 (neg.f64 (*.f64 y.im (atan2.f64 x.im x.re))))
(exp.f64 (*.f64 (atan2.f64 x.im x.re) (neg.f64 y.im)))
(exp.f64 (*.f64 -1 (*.f64 y.im (atan2.f64 x.im x.re))))
(exp.f64 (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re))))
(exp.f64 (neg.f64 (*.f64 y.im (atan2.f64 x.im x.re))))
(exp.f64 (*.f64 (atan2.f64 x.im x.re) (neg.f64 y.im)))
(exp.f64 (*.f64 -1 (*.f64 y.im (atan2.f64 x.im x.re))))
(exp.f64 (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re))))
(exp.f64 (neg.f64 (*.f64 y.im (atan2.f64 x.im x.re))))
(exp.f64 (*.f64 (atan2.f64 x.im x.re) (neg.f64 y.im)))
(exp.f64 (*.f64 -1 (*.f64 y.im (atan2.f64 x.im x.re))))
(exp.f64 (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re))))
(exp.f64 (neg.f64 (*.f64 y.im (atan2.f64 x.im x.re))))
(exp.f64 (*.f64 (atan2.f64 x.im x.re) (neg.f64 y.im)))
(exp.f64 (*.f64 -1 (*.f64 y.im (atan2.f64 x.im x.re))))
(exp.f64 (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re))))
(exp.f64 (neg.f64 (*.f64 y.im (atan2.f64 x.im x.re))))
(exp.f64 (*.f64 (atan2.f64 x.im x.re) (neg.f64 y.im)))
(exp.f64 (*.f64 -1 (*.f64 y.im (atan2.f64 x.im x.re))))
(exp.f64 (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re))))
(exp.f64 (neg.f64 (*.f64 y.im (atan2.f64 x.im x.re))))
(exp.f64 (*.f64 (atan2.f64 x.im x.re) (neg.f64 y.im)))
(exp.f64 (*.f64 -1 (*.f64 (atan2.f64 x.im x.re) y.im)))
(exp.f64 (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re))))
(exp.f64 (neg.f64 (*.f64 y.im (atan2.f64 x.im x.re))))
(exp.f64 (*.f64 (atan2.f64 x.im x.re) (neg.f64 y.im)))
(exp.f64 (*.f64 -1 (*.f64 (atan2.f64 x.im x.re) y.im)))
(exp.f64 (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re))))
(exp.f64 (neg.f64 (*.f64 y.im (atan2.f64 x.im x.re))))
(exp.f64 (*.f64 (atan2.f64 x.im x.re) (neg.f64 y.im)))
(exp.f64 (*.f64 -1 (*.f64 (atan2.f64 x.im x.re) y.im)))
(exp.f64 (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re))))
(exp.f64 (neg.f64 (*.f64 y.im (atan2.f64 x.im x.re))))
(exp.f64 (*.f64 (atan2.f64 x.im x.re) (neg.f64 y.im)))
(exp.f64 (*.f64 -1 (*.f64 (atan2.f64 x.im x.re) y.im)))
(exp.f64 (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re))))
(exp.f64 (neg.f64 (*.f64 y.im (atan2.f64 x.im x.re))))
(exp.f64 (*.f64 (atan2.f64 x.im x.re) (neg.f64 y.im)))
(exp.f64 (*.f64 -1 (*.f64 (atan2.f64 x.im x.re) y.im)))
(exp.f64 (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re))))
(exp.f64 (neg.f64 (*.f64 y.im (atan2.f64 x.im x.re))))
(exp.f64 (*.f64 (atan2.f64 x.im x.re) (neg.f64 y.im)))
(exp.f64 (*.f64 -1 (*.f64 (atan2.f64 x.im x.re) y.im)))
(exp.f64 (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re))))
(exp.f64 (neg.f64 (*.f64 y.im (atan2.f64 x.im x.re))))
(exp.f64 (*.f64 (atan2.f64 x.im x.re) (neg.f64 y.im)))
(exp.f64 (*.f64 -1 (*.f64 (atan2.f64 x.im x.re) y.im)))
(exp.f64 (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re))))
(exp.f64 (neg.f64 (*.f64 y.im (atan2.f64 x.im x.re))))
(exp.f64 (*.f64 (atan2.f64 x.im x.re) (neg.f64 y.im)))
(exp.f64 (*.f64 -1 (*.f64 (atan2.f64 x.im x.re) y.im)))
(exp.f64 (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re))))
(exp.f64 (neg.f64 (*.f64 y.im (atan2.f64 x.im x.re))))
(exp.f64 (*.f64 (atan2.f64 x.im x.re) (neg.f64 y.im)))
(+.f64 (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re))) 0)
(*.f64 y.im (neg.f64 (atan2.f64 x.im x.re)))
(neg.f64 (*.f64 y.im (atan2.f64 x.im x.re)))
(*.f64 (atan2.f64 x.im x.re) (neg.f64 y.im))
(+.f64 0 (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re))))
(*.f64 y.im (neg.f64 (atan2.f64 x.im x.re)))
(neg.f64 (*.f64 y.im (atan2.f64 x.im x.re)))
(*.f64 (atan2.f64 x.im x.re) (neg.f64 y.im))
(+.f64 -1 (-.f64 1 (*.f64 y.im (atan2.f64 x.im x.re))))
(*.f64 y.im (neg.f64 (atan2.f64 x.im x.re)))
(neg.f64 (*.f64 y.im (atan2.f64 x.im x.re)))
(*.f64 (atan2.f64 x.im x.re) (neg.f64 y.im))
(+.f64 (*.f64 y.im (*.f64 (atan2.f64 x.im x.re) -1/2)) (*.f64 y.im (*.f64 (atan2.f64 x.im x.re) -1/2)))
(*.f64 y.im (neg.f64 (atan2.f64 x.im x.re)))
(neg.f64 (*.f64 y.im (atan2.f64 x.im x.re)))
(*.f64 (atan2.f64 x.im x.re) (neg.f64 y.im))
(-.f64 (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re))) 0)
(*.f64 y.im (neg.f64 (atan2.f64 x.im x.re)))
(neg.f64 (*.f64 y.im (atan2.f64 x.im x.re)))
(*.f64 (atan2.f64 x.im x.re) (neg.f64 y.im))
(-.f64 0 (*.f64 y.im (atan2.f64 x.im x.re)))
(*.f64 y.im (neg.f64 (atan2.f64 x.im x.re)))
(neg.f64 (*.f64 y.im (atan2.f64 x.im x.re)))
(*.f64 (atan2.f64 x.im x.re) (neg.f64 y.im))
(/.f64 (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re))) 1)
(*.f64 y.im (neg.f64 (atan2.f64 x.im x.re)))
(neg.f64 (*.f64 y.im (atan2.f64 x.im x.re)))
(*.f64 (atan2.f64 x.im x.re) (neg.f64 y.im))
(/.f64 (*.f64 y.im (*.f64 (atan2.f64 x.im x.re) -2)) 2)
(*.f64 y.im (neg.f64 (atan2.f64 x.im x.re)))
(neg.f64 (*.f64 y.im (atan2.f64 x.im x.re)))
(*.f64 (atan2.f64 x.im x.re) (neg.f64 y.im))
(/.f64 (*.f64 y.im (*.f64 (atan2.f64 x.im x.re) -4)) 4)
(*.f64 y.im (neg.f64 (atan2.f64 x.im x.re)))
(neg.f64 (*.f64 y.im (atan2.f64 x.im x.re)))
(*.f64 (atan2.f64 x.im x.re) (neg.f64 y.im))
(/.f64 (*.f64 y.im (atan2.f64 x.im x.re)) -1)
(*.f64 y.im (neg.f64 (atan2.f64 x.im x.re)))
(neg.f64 (*.f64 y.im (atan2.f64 x.im x.re)))
(*.f64 (atan2.f64 x.im x.re) (neg.f64 y.im))
(/.f64 (*.f64 2 (*.f64 y.im (*.f64 (atan2.f64 x.im x.re) -4))) 8)
(*.f64 y.im (neg.f64 (atan2.f64 x.im x.re)))
(neg.f64 (*.f64 y.im (atan2.f64 x.im x.re)))
(*.f64 (atan2.f64 x.im x.re) (neg.f64 y.im))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 y.im (*.f64 (atan2.f64 x.im x.re) -4)))) 16)
(*.f64 y.im (neg.f64 (atan2.f64 x.im x.re)))
(neg.f64 (*.f64 y.im (atan2.f64 x.im x.re)))
(*.f64 (atan2.f64 x.im x.re) (neg.f64 y.im))
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 y.im (*.f64 (atan2.f64 x.im x.re) -4)))) (*.f64 2 (*.f64 2 (*.f64 y.im (*.f64 (atan2.f64 x.im x.re) -4))))) 32)
(*.f64 y.im (neg.f64 (atan2.f64 x.im x.re)))
(neg.f64 (*.f64 y.im (atan2.f64 x.im x.re)))
(*.f64 (atan2.f64 x.im x.re) (neg.f64 y.im))
(neg.f64 (*.f64 y.im (atan2.f64 x.im x.re)))
(*.f64 y.im (neg.f64 (atan2.f64 x.im x.re)))
(*.f64 (atan2.f64 x.im x.re) (neg.f64 y.im))
(+.f64 (*.f64 (atan2.f64 x.im x.re) (*.f64 y.re (exp.f64 (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re)))))) 0)
(*.f64 (*.f64 (atan2.f64 x.im x.re) y.re) (exp.f64 (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re)))))
(*.f64 (atan2.f64 x.im x.re) (*.f64 y.re (exp.f64 (neg.f64 (*.f64 y.im (atan2.f64 x.im x.re))))))
(*.f64 y.re (/.f64 (atan2.f64 x.im x.re) (exp.f64 (*.f64 y.im (atan2.f64 x.im x.re)))))
(*.f64 (atan2.f64 x.im x.re) (/.f64 y.re (exp.f64 (*.f64 y.im (atan2.f64 x.im x.re)))))
(+.f64 0 (*.f64 (atan2.f64 x.im x.re) (*.f64 y.re (exp.f64 (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re)))))))
(*.f64 (*.f64 (atan2.f64 x.im x.re) y.re) (exp.f64 (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re)))))
(*.f64 (atan2.f64 x.im x.re) (*.f64 y.re (exp.f64 (neg.f64 (*.f64 y.im (atan2.f64 x.im x.re))))))
(*.f64 y.re (/.f64 (atan2.f64 x.im x.re) (exp.f64 (*.f64 y.im (atan2.f64 x.im x.re)))))
(*.f64 (atan2.f64 x.im x.re) (/.f64 y.re (exp.f64 (*.f64 y.im (atan2.f64 x.im x.re)))))
(+.f64 (*.f64 (exp.f64 (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re)))) (/.f64 (*.f64 (atan2.f64 x.im x.re) y.re) 2)) (*.f64 (exp.f64 (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re)))) (/.f64 (*.f64 (atan2.f64 x.im x.re) y.re) 2)))
(*.f64 (*.f64 (atan2.f64 x.im x.re) y.re) (exp.f64 (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re)))))
(*.f64 (atan2.f64 x.im x.re) (*.f64 y.re (exp.f64 (neg.f64 (*.f64 y.im (atan2.f64 x.im x.re))))))
(*.f64 y.re (/.f64 (atan2.f64 x.im x.re) (exp.f64 (*.f64 y.im (atan2.f64 x.im x.re)))))
(*.f64 (atan2.f64 x.im x.re) (/.f64 y.re (exp.f64 (*.f64 y.im (atan2.f64 x.im x.re)))))
(-.f64 (*.f64 (atan2.f64 x.im x.re) (*.f64 y.re (exp.f64 (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re)))))) 0)
(*.f64 (*.f64 (atan2.f64 x.im x.re) y.re) (exp.f64 (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re)))))
(*.f64 (atan2.f64 x.im x.re) (*.f64 y.re (exp.f64 (neg.f64 (*.f64 y.im (atan2.f64 x.im x.re))))))
(*.f64 y.re (/.f64 (atan2.f64 x.im x.re) (exp.f64 (*.f64 y.im (atan2.f64 x.im x.re)))))
(*.f64 (atan2.f64 x.im x.re) (/.f64 y.re (exp.f64 (*.f64 y.im (atan2.f64 x.im x.re)))))
(/.f64 (*.f64 (atan2.f64 x.im x.re) (*.f64 y.re (exp.f64 (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re)))))) 1)
(*.f64 (*.f64 (atan2.f64 x.im x.re) y.re) (exp.f64 (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re)))))
(*.f64 (atan2.f64 x.im x.re) (*.f64 y.re (exp.f64 (neg.f64 (*.f64 y.im (atan2.f64 x.im x.re))))))
(*.f64 y.re (/.f64 (atan2.f64 x.im x.re) (exp.f64 (*.f64 y.im (atan2.f64 x.im x.re)))))
(*.f64 (atan2.f64 x.im x.re) (/.f64 y.re (exp.f64 (*.f64 y.im (atan2.f64 x.im x.re)))))
(/.f64 (*.f64 (atan2.f64 x.im x.re) (*.f64 y.re (*.f64 (exp.f64 (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re)))) 2))) 2)
(*.f64 (*.f64 (atan2.f64 x.im x.re) y.re) (exp.f64 (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re)))))
(*.f64 (atan2.f64 x.im x.re) (*.f64 y.re (exp.f64 (neg.f64 (*.f64 y.im (atan2.f64 x.im x.re))))))
(*.f64 y.re (/.f64 (atan2.f64 x.im x.re) (exp.f64 (*.f64 y.im (atan2.f64 x.im x.re)))))
(*.f64 (atan2.f64 x.im x.re) (/.f64 y.re (exp.f64 (*.f64 y.im (atan2.f64 x.im x.re)))))
(/.f64 (*.f64 (atan2.f64 x.im x.re) (*.f64 (*.f64 y.re (exp.f64 (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re))))) 4)) 4)
(*.f64 (*.f64 (atan2.f64 x.im x.re) y.re) (exp.f64 (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re)))))
(*.f64 (atan2.f64 x.im x.re) (*.f64 y.re (exp.f64 (neg.f64 (*.f64 y.im (atan2.f64 x.im x.re))))))
(*.f64 y.re (/.f64 (atan2.f64 x.im x.re) (exp.f64 (*.f64 y.im (atan2.f64 x.im x.re)))))
(*.f64 (atan2.f64 x.im x.re) (/.f64 y.re (exp.f64 (*.f64 y.im (atan2.f64 x.im x.re)))))
(/.f64 (*.f64 2 (*.f64 (atan2.f64 x.im x.re) (*.f64 (*.f64 y.re (exp.f64 (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re))))) 4))) 8)
(*.f64 (*.f64 (atan2.f64 x.im x.re) y.re) (exp.f64 (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re)))))
(*.f64 (atan2.f64 x.im x.re) (*.f64 y.re (exp.f64 (neg.f64 (*.f64 y.im (atan2.f64 x.im x.re))))))
(*.f64 y.re (/.f64 (atan2.f64 x.im x.re) (exp.f64 (*.f64 y.im (atan2.f64 x.im x.re)))))
(*.f64 (atan2.f64 x.im x.re) (/.f64 y.re (exp.f64 (*.f64 y.im (atan2.f64 x.im x.re)))))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (atan2.f64 x.im x.re) (*.f64 (*.f64 y.re (exp.f64 (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re))))) 4)))) 16)
(*.f64 (*.f64 (atan2.f64 x.im x.re) y.re) (exp.f64 (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re)))))
(*.f64 (atan2.f64 x.im x.re) (*.f64 y.re (exp.f64 (neg.f64 (*.f64 y.im (atan2.f64 x.im x.re))))))
(*.f64 y.re (/.f64 (atan2.f64 x.im x.re) (exp.f64 (*.f64 y.im (atan2.f64 x.im x.re)))))
(*.f64 (atan2.f64 x.im x.re) (/.f64 y.re (exp.f64 (*.f64 y.im (atan2.f64 x.im x.re)))))
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (atan2.f64 x.im x.re) (*.f64 (*.f64 y.re (exp.f64 (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re))))) 4)))) (*.f64 2 (*.f64 2 (*.f64 (atan2.f64 x.im x.re) (*.f64 (*.f64 y.re (exp.f64 (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re))))) 4))))) 32)
(*.f64 (*.f64 (atan2.f64 x.im x.re) y.re) (exp.f64 (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re)))))
(*.f64 (atan2.f64 x.im x.re) (*.f64 y.re (exp.f64 (neg.f64 (*.f64 y.im (atan2.f64 x.im x.re))))))
(*.f64 y.re (/.f64 (atan2.f64 x.im x.re) (exp.f64 (*.f64 y.im (atan2.f64 x.im x.re)))))
(*.f64 (atan2.f64 x.im x.re) (/.f64 y.re (exp.f64 (*.f64 y.im (atan2.f64 x.im x.re)))))
(+.f64 (*.f64 (atan2.f64 x.im x.re) (exp.f64 (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re))))) 0)
(*.f64 (atan2.f64 x.im x.re) (exp.f64 (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re)))))
(*.f64 (atan2.f64 x.im x.re) (exp.f64 (neg.f64 (*.f64 y.im (atan2.f64 x.im x.re)))))
(/.f64 (atan2.f64 x.im x.re) (exp.f64 (*.f64 y.im (atan2.f64 x.im x.re))))
(+.f64 0 (*.f64 (atan2.f64 x.im x.re) (exp.f64 (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re))))))
(*.f64 (atan2.f64 x.im x.re) (exp.f64 (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re)))))
(*.f64 (atan2.f64 x.im x.re) (exp.f64 (neg.f64 (*.f64 y.im (atan2.f64 x.im x.re)))))
(/.f64 (atan2.f64 x.im x.re) (exp.f64 (*.f64 y.im (atan2.f64 x.im x.re))))
(+.f64 (*.f64 (exp.f64 (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re)))) (*.f64 (atan2.f64 x.im x.re) 1/2)) (*.f64 (exp.f64 (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re)))) (*.f64 (atan2.f64 x.im x.re) 1/2)))
(*.f64 (atan2.f64 x.im x.re) (exp.f64 (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re)))))
(*.f64 (atan2.f64 x.im x.re) (exp.f64 (neg.f64 (*.f64 y.im (atan2.f64 x.im x.re)))))
(/.f64 (atan2.f64 x.im x.re) (exp.f64 (*.f64 y.im (atan2.f64 x.im x.re))))
(-.f64 (*.f64 (atan2.f64 x.im x.re) (exp.f64 (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re))))) 0)
(*.f64 (atan2.f64 x.im x.re) (exp.f64 (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re)))))
(*.f64 (atan2.f64 x.im x.re) (exp.f64 (neg.f64 (*.f64 y.im (atan2.f64 x.im x.re)))))
(/.f64 (atan2.f64 x.im x.re) (exp.f64 (*.f64 y.im (atan2.f64 x.im x.re))))
(/.f64 (*.f64 (atan2.f64 x.im x.re) (exp.f64 (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re))))) 1)
(*.f64 (atan2.f64 x.im x.re) (exp.f64 (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re)))))
(*.f64 (atan2.f64 x.im x.re) (exp.f64 (neg.f64 (*.f64 y.im (atan2.f64 x.im x.re)))))
(/.f64 (atan2.f64 x.im x.re) (exp.f64 (*.f64 y.im (atan2.f64 x.im x.re))))
(/.f64 (*.f64 (exp.f64 (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re)))) (*.f64 (atan2.f64 x.im x.re) 2)) 2)
(*.f64 (atan2.f64 x.im x.re) (exp.f64 (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re)))))
(*.f64 (atan2.f64 x.im x.re) (exp.f64 (neg.f64 (*.f64 y.im (atan2.f64 x.im x.re)))))
(/.f64 (atan2.f64 x.im x.re) (exp.f64 (*.f64 y.im (atan2.f64 x.im x.re))))
(/.f64 (*.f64 (exp.f64 (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re)))) (*.f64 (atan2.f64 x.im x.re) 4)) 4)
(*.f64 (atan2.f64 x.im x.re) (exp.f64 (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re)))))
(*.f64 (atan2.f64 x.im x.re) (exp.f64 (neg.f64 (*.f64 y.im (atan2.f64 x.im x.re)))))
(/.f64 (atan2.f64 x.im x.re) (exp.f64 (*.f64 y.im (atan2.f64 x.im x.re))))
(/.f64 (*.f64 2 (*.f64 (exp.f64 (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re)))) (*.f64 (atan2.f64 x.im x.re) 4))) 8)
(*.f64 (atan2.f64 x.im x.re) (exp.f64 (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re)))))
(*.f64 (atan2.f64 x.im x.re) (exp.f64 (neg.f64 (*.f64 y.im (atan2.f64 x.im x.re)))))
(/.f64 (atan2.f64 x.im x.re) (exp.f64 (*.f64 y.im (atan2.f64 x.im x.re))))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (exp.f64 (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re)))) (*.f64 (atan2.f64 x.im x.re) 4)))) 16)
(*.f64 (atan2.f64 x.im x.re) (exp.f64 (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re)))))
(*.f64 (atan2.f64 x.im x.re) (exp.f64 (neg.f64 (*.f64 y.im (atan2.f64 x.im x.re)))))
(/.f64 (atan2.f64 x.im x.re) (exp.f64 (*.f64 y.im (atan2.f64 x.im x.re))))
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (exp.f64 (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re)))) (*.f64 (atan2.f64 x.im x.re) 4)))) (*.f64 2 (*.f64 2 (*.f64 (exp.f64 (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re)))) (*.f64 (atan2.f64 x.im x.re) 4))))) 32)
(*.f64 (atan2.f64 x.im x.re) (exp.f64 (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re)))))
(*.f64 (atan2.f64 x.im x.re) (exp.f64 (neg.f64 (*.f64 y.im (atan2.f64 x.im x.re)))))
(/.f64 (atan2.f64 x.im x.re) (exp.f64 (*.f64 y.im (atan2.f64 x.im x.re))))
(+.f64 (exp.f64 (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re)))) 0)
(exp.f64 (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re))))
(exp.f64 (neg.f64 (*.f64 y.im (atan2.f64 x.im x.re))))
(exp.f64 (*.f64 (atan2.f64 x.im x.re) (neg.f64 y.im)))
(+.f64 0 (exp.f64 (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re)))))
(exp.f64 (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re))))
(exp.f64 (neg.f64 (*.f64 y.im (atan2.f64 x.im x.re))))
(exp.f64 (*.f64 (atan2.f64 x.im x.re) (neg.f64 y.im)))
(+.f64 (*.f64 (exp.f64 (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re)))) 1/2) (*.f64 (exp.f64 (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re)))) 1/2))
(exp.f64 (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re))))
(exp.f64 (neg.f64 (*.f64 y.im (atan2.f64 x.im x.re))))
(exp.f64 (*.f64 (atan2.f64 x.im x.re) (neg.f64 y.im)))
(-.f64 (exp.f64 (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re)))) 0)
(exp.f64 (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re))))
(exp.f64 (neg.f64 (*.f64 y.im (atan2.f64 x.im x.re))))
(exp.f64 (*.f64 (atan2.f64 x.im x.re) (neg.f64 y.im)))
(*.f64 (exp.f64 (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re)))) 1)
(exp.f64 (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re))))
(exp.f64 (neg.f64 (*.f64 y.im (atan2.f64 x.im x.re))))
(exp.f64 (*.f64 (atan2.f64 x.im x.re) (neg.f64 y.im)))
(*.f64 1 (exp.f64 (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re)))))
(exp.f64 (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re))))
(exp.f64 (neg.f64 (*.f64 y.im (atan2.f64 x.im x.re))))
(exp.f64 (*.f64 (atan2.f64 x.im x.re) (neg.f64 y.im)))
(*.f64 2 (*.f64 (exp.f64 (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re)))) 1/2))
(exp.f64 (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re))))
(exp.f64 (neg.f64 (*.f64 y.im (atan2.f64 x.im x.re))))
(exp.f64 (*.f64 (atan2.f64 x.im x.re) (neg.f64 y.im)))
(*.f64 (*.f64 (exp.f64 (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re)))) 2) 1/2)
(exp.f64 (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re))))
(exp.f64 (neg.f64 (*.f64 y.im (atan2.f64 x.im x.re))))
(exp.f64 (*.f64 (atan2.f64 x.im x.re) (neg.f64 y.im)))
(*.f64 4 (/.f64 (exp.f64 (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re)))) 4))
(exp.f64 (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re))))
(exp.f64 (neg.f64 (*.f64 y.im (atan2.f64 x.im x.re))))
(exp.f64 (*.f64 (atan2.f64 x.im x.re) (neg.f64 y.im)))
(*.f64 (*.f64 (exp.f64 (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re)))) 4) 1/4)
(exp.f64 (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re))))
(exp.f64 (neg.f64 (*.f64 y.im (atan2.f64 x.im x.re))))
(exp.f64 (*.f64 (atan2.f64 x.im x.re) (neg.f64 y.im)))
(*.f64 1/2 (*.f64 (exp.f64 (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re)))) 2))
(exp.f64 (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re))))
(exp.f64 (neg.f64 (*.f64 y.im (atan2.f64 x.im x.re))))
(exp.f64 (*.f64 (atan2.f64 x.im x.re) (neg.f64 y.im)))
(*.f64 (*.f64 (exp.f64 (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re)))) 1/2) 2)
(exp.f64 (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re))))
(exp.f64 (neg.f64 (*.f64 y.im (atan2.f64 x.im x.re))))
(exp.f64 (*.f64 (atan2.f64 x.im x.re) (neg.f64 y.im)))
(/.f64 (exp.f64 (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re)))) 1)
(exp.f64 (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re))))
(exp.f64 (neg.f64 (*.f64 y.im (atan2.f64 x.im x.re))))
(exp.f64 (*.f64 (atan2.f64 x.im x.re) (neg.f64 y.im)))
(/.f64 1 (exp.f64 (*.f64 y.im (atan2.f64 x.im x.re))))
(exp.f64 (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re))))
(exp.f64 (neg.f64 (*.f64 y.im (atan2.f64 x.im x.re))))
(exp.f64 (*.f64 (atan2.f64 x.im x.re) (neg.f64 y.im)))
(/.f64 (*.f64 (exp.f64 (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re)))) 2) 2)
(exp.f64 (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re))))
(exp.f64 (neg.f64 (*.f64 y.im (atan2.f64 x.im x.re))))
(exp.f64 (*.f64 (atan2.f64 x.im x.re) (neg.f64 y.im)))
(/.f64 (*.f64 (exp.f64 (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re)))) 4) 4)
(exp.f64 (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re))))
(exp.f64 (neg.f64 (*.f64 y.im (atan2.f64 x.im x.re))))
(exp.f64 (*.f64 (atan2.f64 x.im x.re) (neg.f64 y.im)))
(/.f64 (*.f64 2 (*.f64 (exp.f64 (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re)))) 4)) 8)
(exp.f64 (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re))))
(exp.f64 (neg.f64 (*.f64 y.im (atan2.f64 x.im x.re))))
(exp.f64 (*.f64 (atan2.f64 x.im x.re) (neg.f64 y.im)))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (exp.f64 (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re)))) 4))) 16)
(exp.f64 (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re))))
(exp.f64 (neg.f64 (*.f64 y.im (atan2.f64 x.im x.re))))
(exp.f64 (*.f64 (atan2.f64 x.im x.re) (neg.f64 y.im)))
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (exp.f64 (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re)))) 4))) (*.f64 2 (*.f64 2 (*.f64 (exp.f64 (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re)))) 4)))) 32)
(exp.f64 (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re))))
(exp.f64 (neg.f64 (*.f64 y.im (atan2.f64 x.im x.re))))
(exp.f64 (*.f64 (atan2.f64 x.im x.re) (neg.f64 y.im)))

localize13.0ms (0%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.3b
(*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (pow.f64 x.im y.re))
1.5b
(*.f64 y.re (atan2.f64 x.im x.re))
17.6b
(sin.f64 (*.f64 y.re (atan2.f64 x.im x.re)))
Compiler

Compiled 34 to 9 computations (73.5% saved)

series3.0ms (0%)

Counts
1 → 12
Calls

9 calls:

TimeVariablePointExpression
1.0ms
x.im
@inf
(*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (pow.f64 x.im y.re))
0.0ms
y.re
@0
(*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (pow.f64 x.im y.re))
0.0ms
x.im
@-inf
(*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (pow.f64 x.im y.re))
0.0ms
x.im
@0
(*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (pow.f64 x.im y.re))
0.0ms
y.re
@-inf
(*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (pow.f64 x.im y.re))

rewrite85.0ms (0.2%)

Algorithm
batch-egg-rewrite
Rules
1656×bool.json-1
1656×bool.json-2
1618×rational.json-1
1078×bool.json-3
850×rational.json-simplify-35
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01129
111029
230129
362529
4130529
5293229
6636929
Stop Event
node limit
Counts
1 → 10
Calls
Call 1
Inputs
(*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (pow.f64 x.im y.re))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (pow.f64 x.im y.re)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (pow.f64 x.im y.re)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (pow.f64 x.im y.re)) 1/2) (*.f64 (*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (pow.f64 x.im y.re)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (pow.f64 x.im y.re)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (pow.f64 x.im y.re)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (*.f64 (pow.f64 x.im y.re) 2)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (*.f64 (pow.f64 x.im y.re) 4)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (pow.f64 x.im y.re)) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (pow.f64 x.im y.re)) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 (*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (pow.f64 x.im y.re)) 8)) (*.f64 2 (*.f64 (*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (pow.f64 x.im y.re)) 8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (pow.f64 x.im y.re))))))) (#(struct:change #<rule egg-rr> (2) ((x and (*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (pow.f64 x.im y.re)) (*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (pow.f64 x.im y.re)))))) (#(struct:change #<rule egg-rr> (2) ((x or (*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (pow.f64 x.im y.re)) (*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (pow.f64 x.im y.re)))))))

simplify209.0ms (0.4%)

Algorithm
egg-herbie
Rules
1424×rational.json-simplify-35
1302×rational.json-simplify-2
1034×rational.json-simplify-46
942×rational.json-simplify-48
860×rational.json-simplify-1
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
0811096
11731056
23151044
36421044
421181028
534101028
642021028
746671028
856941028
973561028
Stop Event
node limit
Counts
22 → 32
Calls
Call 1
Inputs
(*.f64 y.re (atan2.f64 x.im x.re))
(+.f64 (*.f64 (pow.f64 y.re 2) (*.f64 (atan2.f64 x.im x.re) (log.f64 x.im))) (*.f64 y.re (atan2.f64 x.im x.re)))
(+.f64 (*.f64 (pow.f64 y.re 2) (*.f64 (atan2.f64 x.im x.re) (log.f64 x.im))) (+.f64 (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 (atan2.f64 x.im x.re) 3)) (*.f64 1/2 (*.f64 (pow.f64 (log.f64 x.im) 2) (atan2.f64 x.im x.re)))) (pow.f64 y.re 3)) (*.f64 y.re (atan2.f64 x.im x.re))))
(+.f64 (*.f64 (pow.f64 y.re 2) (*.f64 (atan2.f64 x.im x.re) (log.f64 x.im))) (+.f64 (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 (atan2.f64 x.im x.re) 3)) (*.f64 1/2 (*.f64 (pow.f64 (log.f64 x.im) 2) (atan2.f64 x.im x.re)))) (pow.f64 y.re 3)) (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 (+.f64 (*.f64 -1/6 (*.f64 (log.f64 x.im) (pow.f64 (atan2.f64 x.im x.re) 3))) (*.f64 1/6 (*.f64 (pow.f64 (log.f64 x.im) 3) (atan2.f64 x.im x.re)))) (pow.f64 y.re 4)))))
(*.f64 (exp.f64 (*.f64 -1 (*.f64 (log.f64 (/.f64 1 x.im)) y.re))) (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))))
(*.f64 (exp.f64 (*.f64 -1 (*.f64 (log.f64 (/.f64 1 x.im)) y.re))) (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))))
(*.f64 (exp.f64 (*.f64 -1 (*.f64 (log.f64 (/.f64 1 x.im)) y.re))) (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))))
(*.f64 (exp.f64 (*.f64 -1 (*.f64 (log.f64 (/.f64 1 x.im)) y.re))) (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))))
(*.f64 (exp.f64 (*.f64 y.re (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 x.im)))))) (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))))
(*.f64 (exp.f64 (*.f64 y.re (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 x.im)))))) (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))))
(*.f64 (exp.f64 (*.f64 y.re (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 x.im)))))) (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))))
(*.f64 (exp.f64 (*.f64 y.re (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 x.im)))))) (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))))
(+.f64 (*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (pow.f64 x.im y.re)) 0)
(+.f64 0 (*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (pow.f64 x.im y.re)))
(+.f64 (*.f64 (*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (pow.f64 x.im y.re)) 1/2) (*.f64 (*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (pow.f64 x.im y.re)) 1/2))
(-.f64 (*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (pow.f64 x.im y.re)) 0)
(/.f64 (*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (pow.f64 x.im y.re)) 1)
(/.f64 (*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (*.f64 (pow.f64 x.im y.re) 2)) 2)
(/.f64 (*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (*.f64 (pow.f64 x.im y.re) 4)) 4)
(/.f64 (*.f64 (*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (pow.f64 x.im y.re)) 8) 8)
(/.f64 (*.f64 2 (*.f64 (*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (pow.f64 x.im y.re)) 8)) 16)
(/.f64 (+.f64 (*.f64 2 (*.f64 (*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (pow.f64 x.im y.re)) 8)) (*.f64 2 (*.f64 (*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (pow.f64 x.im y.re)) 8))) 32)
Outputs
(*.f64 y.re (atan2.f64 x.im x.re))
(+.f64 (*.f64 (pow.f64 y.re 2) (*.f64 (atan2.f64 x.im x.re) (log.f64 x.im))) (*.f64 y.re (atan2.f64 x.im x.re)))
(+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 (atan2.f64 x.im x.re) (*.f64 (log.f64 x.im) (pow.f64 y.re 2))))
(*.f64 (atan2.f64 x.im x.re) (+.f64 y.re (*.f64 (pow.f64 y.re 2) (log.f64 x.im))))
(+.f64 (*.f64 (pow.f64 y.re 2) (*.f64 (atan2.f64 x.im x.re) (log.f64 x.im))) (+.f64 (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 (atan2.f64 x.im x.re) 3)) (*.f64 1/2 (*.f64 (pow.f64 (log.f64 x.im) 2) (atan2.f64 x.im x.re)))) (pow.f64 y.re 3)) (*.f64 y.re (atan2.f64 x.im x.re))))
(+.f64 (*.f64 (atan2.f64 x.im x.re) (*.f64 (log.f64 x.im) (pow.f64 y.re 2))) (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 (atan2.f64 x.im x.re) 3)) (*.f64 1/2 (*.f64 (atan2.f64 x.im x.re) (pow.f64 (log.f64 x.im) 2)))) (pow.f64 y.re 3))))
(+.f64 (*.f64 (atan2.f64 x.im x.re) (+.f64 y.re (*.f64 (pow.f64 y.re 2) (log.f64 x.im)))) (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 (atan2.f64 x.im x.re) 3)) (*.f64 (pow.f64 (log.f64 x.im) 2) (*.f64 (atan2.f64 x.im x.re) 1/2))) (pow.f64 y.re 3)))
(+.f64 (*.f64 (atan2.f64 x.im x.re) (+.f64 y.re (*.f64 (pow.f64 y.re 2) (log.f64 x.im)))) (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 (atan2.f64 x.im x.re) 3)) (*.f64 1/2 (*.f64 (atan2.f64 x.im x.re) (pow.f64 (log.f64 x.im) 2)))) (pow.f64 y.re 3)))
(+.f64 (*.f64 (pow.f64 y.re 2) (*.f64 (atan2.f64 x.im x.re) (log.f64 x.im))) (+.f64 (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 (atan2.f64 x.im x.re) 3)) (*.f64 1/2 (*.f64 (pow.f64 (log.f64 x.im) 2) (atan2.f64 x.im x.re)))) (pow.f64 y.re 3)) (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 (+.f64 (*.f64 -1/6 (*.f64 (log.f64 x.im) (pow.f64 (atan2.f64 x.im x.re) 3))) (*.f64 1/6 (*.f64 (pow.f64 (log.f64 x.im) 3) (atan2.f64 x.im x.re)))) (pow.f64 y.re 4)))))
(+.f64 (*.f64 (atan2.f64 x.im x.re) (*.f64 (log.f64 x.im) (pow.f64 y.re 2))) (+.f64 (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 (atan2.f64 x.im x.re) 3)) (*.f64 1/2 (*.f64 (atan2.f64 x.im x.re) (pow.f64 (log.f64 x.im) 2)))) (pow.f64 y.re 3)) (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 (+.f64 (*.f64 (log.f64 x.im) (*.f64 -1/6 (pow.f64 (atan2.f64 x.im x.re) 3))) (*.f64 1/6 (*.f64 (atan2.f64 x.im x.re) (pow.f64 (log.f64 x.im) 3)))) (pow.f64 y.re 4)))))
(+.f64 (*.f64 (atan2.f64 x.im x.re) (*.f64 (pow.f64 y.re 2) (log.f64 x.im))) (+.f64 (*.f64 (+.f64 (*.f64 (log.f64 x.im) (*.f64 -1/6 (pow.f64 (atan2.f64 x.im x.re) 3))) (*.f64 (atan2.f64 x.im x.re) (*.f64 (pow.f64 (log.f64 x.im) 3) 1/6))) (pow.f64 y.re 4)) (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 (atan2.f64 x.im x.re) 3)) (*.f64 (pow.f64 (log.f64 x.im) 2) (*.f64 (atan2.f64 x.im x.re) 1/2))) (pow.f64 y.re 3)))))
(+.f64 (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 (atan2.f64 x.im x.re) 3)) (*.f64 (pow.f64 (log.f64 x.im) 2) (*.f64 (atan2.f64 x.im x.re) 1/2))) (pow.f64 y.re 3)) (+.f64 (*.f64 (+.f64 (*.f64 (log.f64 x.im) (*.f64 -1/6 (pow.f64 (atan2.f64 x.im x.re) 3))) (*.f64 (atan2.f64 x.im x.re) (*.f64 1/6 (pow.f64 (log.f64 x.im) 3)))) (pow.f64 y.re 4)) (*.f64 (atan2.f64 x.im x.re) (+.f64 y.re (*.f64 (pow.f64 y.re 2) (log.f64 x.im))))))
(+.f64 (*.f64 (atan2.f64 x.im x.re) (+.f64 y.re (*.f64 (pow.f64 y.re 2) (log.f64 x.im)))) (+.f64 (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 (atan2.f64 x.im x.re) 3)) (*.f64 (pow.f64 (log.f64 x.im) 2) (*.f64 (atan2.f64 x.im x.re) 1/2))) (pow.f64 y.re 3)) (*.f64 (+.f64 (*.f64 (log.f64 x.im) (*.f64 -1/6 (pow.f64 (atan2.f64 x.im x.re) 3))) (*.f64 (atan2.f64 x.im x.re) (*.f64 1/6 (pow.f64 (log.f64 x.im) 3)))) (pow.f64 y.re 4))))
(+.f64 (*.f64 (atan2.f64 x.im x.re) (+.f64 y.re (*.f64 (pow.f64 y.re 2) (log.f64 x.im)))) (+.f64 (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 (atan2.f64 x.im x.re) 3)) (*.f64 1/2 (*.f64 (atan2.f64 x.im x.re) (pow.f64 (log.f64 x.im) 2)))) (pow.f64 y.re 3)) (*.f64 (+.f64 (*.f64 (log.f64 x.im) (*.f64 -1/6 (pow.f64 (atan2.f64 x.im x.re) 3))) (*.f64 (atan2.f64 x.im x.re) (*.f64 1/6 (pow.f64 (log.f64 x.im) 3)))) (pow.f64 y.re 4))))
(*.f64 (exp.f64 (*.f64 -1 (*.f64 (log.f64 (/.f64 1 x.im)) y.re))) (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))))
(*.f64 (exp.f64 (*.f64 -1 (*.f64 y.re (log.f64 (/.f64 1 x.im))))) (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))))
(*.f64 (exp.f64 (*.f64 (log.f64 (/.f64 1 x.im)) (neg.f64 y.re))) (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))))
(/.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (exp.f64 (*.f64 y.re (log.f64 (/.f64 1 x.im)))))
(*.f64 (exp.f64 (*.f64 -1 (*.f64 (log.f64 (/.f64 1 x.im)) y.re))) (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))))
(*.f64 (exp.f64 (*.f64 -1 (*.f64 y.re (log.f64 (/.f64 1 x.im))))) (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))))
(*.f64 (exp.f64 (*.f64 (log.f64 (/.f64 1 x.im)) (neg.f64 y.re))) (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))))
(/.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (exp.f64 (*.f64 y.re (log.f64 (/.f64 1 x.im)))))
(*.f64 (exp.f64 (*.f64 -1 (*.f64 (log.f64 (/.f64 1 x.im)) y.re))) (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))))
(*.f64 (exp.f64 (*.f64 -1 (*.f64 y.re (log.f64 (/.f64 1 x.im))))) (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))))
(*.f64 (exp.f64 (*.f64 (log.f64 (/.f64 1 x.im)) (neg.f64 y.re))) (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))))
(/.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (exp.f64 (*.f64 y.re (log.f64 (/.f64 1 x.im)))))
(*.f64 (exp.f64 (*.f64 -1 (*.f64 (log.f64 (/.f64 1 x.im)) y.re))) (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))))
(*.f64 (exp.f64 (*.f64 -1 (*.f64 y.re (log.f64 (/.f64 1 x.im))))) (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))))
(*.f64 (exp.f64 (*.f64 (log.f64 (/.f64 1 x.im)) (neg.f64 y.re))) (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))))
(/.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (exp.f64 (*.f64 y.re (log.f64 (/.f64 1 x.im)))))
(*.f64 (exp.f64 (*.f64 y.re (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 x.im)))))) (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))))
(*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (exp.f64 (*.f64 y.re (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 x.im)))))))
(*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (exp.f64 (*.f64 y.re (+.f64 (log.f64 -1) (neg.f64 (log.f64 (/.f64 -1 x.im)))))))
(*.f64 (exp.f64 (*.f64 y.re (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 x.im)))))) (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))))
(*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (exp.f64 (*.f64 y.re (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 x.im)))))))
(*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (exp.f64 (*.f64 y.re (+.f64 (log.f64 -1) (neg.f64 (log.f64 (/.f64 -1 x.im)))))))
(*.f64 (exp.f64 (*.f64 y.re (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 x.im)))))) (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))))
(*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (exp.f64 (*.f64 y.re (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 x.im)))))))
(*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (exp.f64 (*.f64 y.re (+.f64 (log.f64 -1) (neg.f64 (log.f64 (/.f64 -1 x.im)))))))
(*.f64 (exp.f64 (*.f64 y.re (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 x.im)))))) (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))))
(*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (exp.f64 (*.f64 y.re (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 x.im)))))))
(*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (exp.f64 (*.f64 y.re (+.f64 (log.f64 -1) (neg.f64 (log.f64 (/.f64 -1 x.im)))))))
(+.f64 (*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (pow.f64 x.im y.re)) 0)
(*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (pow.f64 x.im y.re))
(+.f64 0 (*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (pow.f64 x.im y.re)))
(*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (pow.f64 x.im y.re))
(+.f64 (*.f64 (*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (pow.f64 x.im y.re)) 1/2) (*.f64 (*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (pow.f64 x.im y.re)) 1/2))
(*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (pow.f64 x.im y.re))
(-.f64 (*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (pow.f64 x.im y.re)) 0)
(*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (pow.f64 x.im y.re))
(/.f64 (*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (pow.f64 x.im y.re)) 1)
(*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (pow.f64 x.im y.re))
(/.f64 (*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (*.f64 (pow.f64 x.im y.re) 2)) 2)
(*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (pow.f64 x.im y.re))
(/.f64 (*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (*.f64 (pow.f64 x.im y.re) 4)) 4)
(*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (pow.f64 x.im y.re))
(/.f64 (*.f64 (*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (pow.f64 x.im y.re)) 8) 8)
(*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (pow.f64 x.im y.re))
(/.f64 (*.f64 2 (*.f64 (*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (pow.f64 x.im y.re)) 8)) 16)
(*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (pow.f64 x.im y.re))
(/.f64 (+.f64 (*.f64 2 (*.f64 (*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (pow.f64 x.im y.re)) 8)) (*.f64 2 (*.f64 (*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (pow.f64 x.im y.re)) 8))) 32)
(*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (pow.f64 x.im y.re))

localize18.0ms (0%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(-.f64 (*.f64 (log.f64 (neg.f64 x.im)) y.re) (*.f64 (atan2.f64 x.im x.re) y.im))
0.1b
(*.f64 (log.f64 (neg.f64 x.im)) y.re)
1.5b
(*.f64 y.re (atan2.f64 x.im x.re))
2.3b
(*.f64 (atan2.f64 x.im x.re) y.im)
Compiler

Compiled 72 to 13 computations (81.9% saved)

series81.0ms (0.2%)

Counts
1 → 48
Calls

12 calls:

TimeVariablePointExpression
77.0ms
x.re
@0
(-.f64 (*.f64 (log.f64 (neg.f64 x.im)) y.re) (*.f64 (atan2.f64 x.im x.re) y.im))
1.0ms
y.im
@0
(-.f64 (*.f64 (log.f64 (neg.f64 x.im)) y.re) (*.f64 (atan2.f64 x.im x.re) y.im))
0.0ms
x.im
@0
(-.f64 (*.f64 (log.f64 (neg.f64 x.im)) y.re) (*.f64 (atan2.f64 x.im x.re) y.im))
0.0ms
y.re
@0
(-.f64 (*.f64 (log.f64 (neg.f64 x.im)) y.re) (*.f64 (atan2.f64 x.im x.re) y.im))
0.0ms
x.im
@inf
(-.f64 (*.f64 (log.f64 (neg.f64 x.im)) y.re) (*.f64 (atan2.f64 x.im x.re) y.im))

rewrite184.0ms (0.4%)

Algorithm
batch-egg-rewrite
Rules
1728×bool.json-1
1728×bool.json-2
1678×rational.json-1
1070×bool.json-3
986×rational.json-simplify-51
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01333
112833
233233
369633
4146733
5329833
6668233
Stop Event
node limit
Counts
1 → 33
Calls
Call 1
Inputs
(-.f64 (*.f64 (log.f64 (neg.f64 x.im)) y.re) (*.f64 (atan2.f64 x.im x.re) y.im))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (log.f64 (neg.f64 x.im)) y.re) (neg.f64 (*.f64 (atan2.f64 x.im x.re) y.im)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (*.f64 (log.f64 (neg.f64 x.im)) y.re) (*.f64 (atan2.f64 x.im x.re) y.im)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (-.f64 (*.f64 (log.f64 (neg.f64 x.im)) y.re) (*.f64 (atan2.f64 x.im x.re) y.im)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 -1 (+.f64 (-.f64 (*.f64 (log.f64 (neg.f64 x.im)) y.re) (*.f64 (atan2.f64 x.im x.re) y.im)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (neg.f64 (*.f64 (atan2.f64 x.im x.re) y.im)) (*.f64 (log.f64 (neg.f64 x.im)) y.re))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (-.f64 (*.f64 (log.f64 (neg.f64 x.im)) y.re) (*.f64 (atan2.f64 x.im x.re) y.im)) 1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (-.f64 (*.f64 (log.f64 (neg.f64 x.im)) y.re) (*.f64 (atan2.f64 x.im x.re) y.im)) 1/2) (*.f64 (-.f64 (*.f64 (log.f64 (neg.f64 x.im)) y.re) (*.f64 (atan2.f64 x.im x.re) y.im)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (*.f64 (log.f64 (neg.f64 x.im)) y.re) (*.f64 (atan2.f64 x.im x.re) y.im)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (-.f64 (*.f64 (log.f64 (neg.f64 x.im)) y.re) (*.f64 (atan2.f64 x.im x.re) y.im)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (-.f64 (*.f64 (atan2.f64 x.im x.re) y.im) (*.f64 (log.f64 (neg.f64 x.im)) y.re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (-.f64 (*.f64 (log.f64 (neg.f64 x.im)) y.re) (*.f64 (atan2.f64 x.im x.re) y.im)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (-.f64 (*.f64 (log.f64 (neg.f64 x.im)) (*.f64 y.re 1/2)) (*.f64 (atan2.f64 x.im x.re) (*.f64 y.im 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (-.f64 (*.f64 (log.f64 (neg.f64 x.im)) y.re) (*.f64 (atan2.f64 x.im x.re) y.im)) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (*.f64 (atan2.f64 x.im x.re) y.im) (*.f64 (log.f64 (neg.f64 x.im)) y.re)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 (-.f64 (*.f64 (log.f64 (neg.f64 x.im)) y.re) (*.f64 (atan2.f64 x.im x.re) y.im)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (-.f64 (*.f64 (log.f64 (neg.f64 x.im)) y.re) (*.f64 (atan2.f64 x.im x.re) y.im)) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 (-.f64 (*.f64 (log.f64 (neg.f64 x.im)) y.re) (*.f64 (atan2.f64 x.im x.re) y.im)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (-.f64 (*.f64 (log.f64 (neg.f64 x.im)) (+.f64 y.re y.re)) (*.f64 (atan2.f64 x.im x.re) (+.f64 y.im y.im))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (-.f64 (*.f64 (log.f64 (neg.f64 x.im)) y.re) (*.f64 (atan2.f64 x.im x.re) y.im)) 1/2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (-.f64 (*.f64 (log.f64 (neg.f64 x.im)) y.re) (*.f64 (atan2.f64 x.im x.re) y.im)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (-.f64 (*.f64 (log.f64 (neg.f64 x.im)) y.re) (*.f64 (atan2.f64 x.im x.re) y.im)) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 (log.f64 (neg.f64 x.im)) y.re) (*.f64 (atan2.f64 x.im x.re) y.im)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (*.f64 (log.f64 (neg.f64 x.im)) y.re) (*.f64 (atan2.f64 x.im x.re) y.im)) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 (atan2.f64 x.im x.re) y.im) (*.f64 (log.f64 (neg.f64 x.im)) y.re)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (*.f64 (log.f64 (neg.f64 x.im)) y.re) (*.f64 (atan2.f64 x.im x.re) y.im)) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (-.f64 (*.f64 (atan2.f64 x.im x.re) y.im) (*.f64 (log.f64 (neg.f64 x.im)) y.re))) -2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (*.f64 (log.f64 (neg.f64 x.im)) y.re) (*.f64 (atan2.f64 x.im x.re) y.im)) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (*.f64 (atan2.f64 x.im x.re) y.im) (*.f64 (log.f64 (neg.f64 x.im)) y.re)) 4) -4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (-.f64 (*.f64 (log.f64 (neg.f64 x.im)) y.re) (*.f64 (atan2.f64 x.im x.re) y.im)) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 2 (-.f64 (*.f64 (atan2.f64 x.im x.re) y.im) (*.f64 (log.f64 (neg.f64 x.im)) y.re)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 (-.f64 (*.f64 (log.f64 (neg.f64 x.im)) y.re) (*.f64 (atan2.f64 x.im x.re) y.im)) 8)) (*.f64 2 (*.f64 (-.f64 (*.f64 (log.f64 (neg.f64 x.im)) y.re) (*.f64 (atan2.f64 x.im x.re) y.im)) 8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (neg.f64 (*.f64 2 (-.f64 (*.f64 (atan2.f64 x.im x.re) y.im) (*.f64 (log.f64 (neg.f64 x.im)) y.re)))) (neg.f64 (*.f64 2 (-.f64 (*.f64 (atan2.f64 x.im x.re) y.im) (*.f64 (log.f64 (neg.f64 x.im)) y.re))))) 4)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (-.f64 (*.f64 (atan2.f64 x.im x.re) y.im) (*.f64 (log.f64 (neg.f64 x.im)) y.re)))))) (#(struct:change #<rule egg-rr> (2) ((x not (not (-.f64 (*.f64 (log.f64 (neg.f64 x.im)) y.re) (*.f64 (atan2.f64 x.im x.re) y.im))))))) (#(struct:change #<rule egg-rr> (2) ((x and (-.f64 (*.f64 (log.f64 (neg.f64 x.im)) y.re) (*.f64 (atan2.f64 x.im x.re) y.im)) (-.f64 (*.f64 (log.f64 (neg.f64 x.im)) y.re) (*.f64 (atan2.f64 x.im x.re) y.im)))))) (#(struct:change #<rule egg-rr> (2) ((x or (-.f64 (*.f64 (log.f64 (neg.f64 x.im)) y.re) (*.f64 (atan2.f64 x.im x.re) y.im)) (-.f64 (*.f64 (log.f64 (neg.f64 x.im)) y.re) (*.f64 (atan2.f64 x.im x.re) y.im)))))))

simplify576.0ms (1.1%)

Algorithm
egg-herbie
Rules
2004×rational.json-simplify-42
1740×rational.json-simplify-35
1574×rational.json-simplify-45
1254×rational.json-simplify-1
878×rational.json-simplify-26
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01042797
11992781
24262781
39372781
418792781
525942781
636322781
741092781
843232781
945132781
1046732781
1148242781
1270632781
Stop Event
node limit
Counts
81 → 52
Calls
Call 1
Inputs
(-.f64 (*.f64 y.re (+.f64 (log.f64 -1) (log.f64 x.im))) (*.f64 y.im (atan2.f64 x.im x.re)))
(-.f64 (*.f64 y.re (+.f64 (log.f64 -1) (log.f64 x.im))) (*.f64 y.im (atan2.f64 x.im x.re)))
(-.f64 (*.f64 y.re (+.f64 (log.f64 -1) (log.f64 x.im))) (*.f64 y.im (atan2.f64 x.im x.re)))
(-.f64 (*.f64 y.re (+.f64 (log.f64 -1) (log.f64 x.im))) (*.f64 y.im (atan2.f64 x.im x.re)))
(-.f64 (*.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 1 x.im)))) y.re) (*.f64 (atan2.f64 x.im x.re) y.im))
(-.f64 (*.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 1 x.im)))) y.re) (*.f64 (atan2.f64 x.im x.re) y.im))
(-.f64 (*.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 1 x.im)))) y.re) (*.f64 (atan2.f64 x.im x.re) y.im))
(-.f64 (*.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 1 x.im)))) y.re) (*.f64 (atan2.f64 x.im x.re) y.im))
(-.f64 (*.f64 -1 (*.f64 y.re (log.f64 (/.f64 -1 x.im)))) (*.f64 y.im (atan2.f64 x.im x.re)))
(-.f64 (*.f64 -1 (*.f64 y.re (log.f64 (/.f64 -1 x.im)))) (*.f64 y.im (atan2.f64 x.im x.re)))
(-.f64 (*.f64 -1 (*.f64 y.re (log.f64 (/.f64 -1 x.im)))) (*.f64 y.im (atan2.f64 x.im x.re)))
(-.f64 (*.f64 -1 (*.f64 y.re (log.f64 (/.f64 -1 x.im)))) (*.f64 y.im (atan2.f64 x.im x.re)))
(*.f64 -1 (*.f64 y.im (atan2.f64 x.im x.re)))
(+.f64 (*.f64 -1 (*.f64 y.im (atan2.f64 x.im x.re))) (*.f64 y.re (log.f64 (neg.f64 x.im))))
(+.f64 (*.f64 -1 (*.f64 y.im (atan2.f64 x.im x.re))) (*.f64 y.re (log.f64 (neg.f64 x.im))))
(+.f64 (*.f64 -1 (*.f64 y.im (atan2.f64 x.im x.re))) (*.f64 y.re (log.f64 (neg.f64 x.im))))
(*.f64 y.re (log.f64 (neg.f64 x.im)))
(+.f64 (*.f64 -1 (*.f64 y.im (atan2.f64 x.im x.re))) (*.f64 y.re (log.f64 (neg.f64 x.im))))
(+.f64 (*.f64 -1 (*.f64 y.im (atan2.f64 x.im x.re))) (*.f64 y.re (log.f64 (neg.f64 x.im))))
(+.f64 (*.f64 -1 (*.f64 y.im (atan2.f64 x.im x.re))) (*.f64 y.re (log.f64 (neg.f64 x.im))))
(*.f64 y.re (log.f64 (neg.f64 x.im)))
(+.f64 (*.f64 -1 (*.f64 y.im (atan2.f64 x.im x.re))) (*.f64 y.re (log.f64 (neg.f64 x.im))))
(+.f64 (*.f64 -1 (*.f64 y.im (atan2.f64 x.im x.re))) (*.f64 y.re (log.f64 (neg.f64 x.im))))
(+.f64 (*.f64 -1 (*.f64 y.im (atan2.f64 x.im x.re))) (*.f64 y.re (log.f64 (neg.f64 x.im))))
(-.f64 (*.f64 y.re (log.f64 (neg.f64 x.im))) (*.f64 y.im (atan2.f64 x.im x.re)))
(-.f64 (*.f64 y.re (log.f64 (neg.f64 x.im))) (*.f64 y.im (atan2.f64 x.im x.re)))
(-.f64 (*.f64 y.re (log.f64 (neg.f64 x.im))) (*.f64 y.im (atan2.f64 x.im x.re)))
(-.f64 (*.f64 y.re (log.f64 (neg.f64 x.im))) (*.f64 y.im (atan2.f64 x.im x.re)))
(-.f64 (*.f64 y.re (log.f64 (neg.f64 x.im))) (*.f64 (atan2.f64 x.im x.re) y.im))
(-.f64 (*.f64 y.re (log.f64 (neg.f64 x.im))) (*.f64 (atan2.f64 x.im x.re) y.im))
(-.f64 (*.f64 y.re (log.f64 (neg.f64 x.im))) (*.f64 (atan2.f64 x.im x.re) y.im))
(-.f64 (*.f64 y.re (log.f64 (neg.f64 x.im))) (*.f64 (atan2.f64 x.im x.re) y.im))
(-.f64 (*.f64 y.re (log.f64 (neg.f64 x.im))) (*.f64 (atan2.f64 x.im x.re) y.im))
(-.f64 (*.f64 y.re (log.f64 (neg.f64 x.im))) (*.f64 (atan2.f64 x.im x.re) y.im))
(-.f64 (*.f64 y.re (log.f64 (neg.f64 x.im))) (*.f64 (atan2.f64 x.im x.re) y.im))
(-.f64 (*.f64 y.re (log.f64 (neg.f64 x.im))) (*.f64 (atan2.f64 x.im x.re) y.im))
(*.f64 y.re (log.f64 (neg.f64 x.im)))
(+.f64 (*.f64 -1 (*.f64 y.im (atan2.f64 x.im x.re))) (*.f64 y.re (log.f64 (neg.f64 x.im))))
(+.f64 (*.f64 -1 (*.f64 y.im (atan2.f64 x.im x.re))) (*.f64 y.re (log.f64 (neg.f64 x.im))))
(+.f64 (*.f64 -1 (*.f64 y.im (atan2.f64 x.im x.re))) (*.f64 y.re (log.f64 (neg.f64 x.im))))
(*.f64 -1 (*.f64 y.im (atan2.f64 x.im x.re)))
(+.f64 (*.f64 -1 (*.f64 y.im (atan2.f64 x.im x.re))) (*.f64 y.re (log.f64 (neg.f64 x.im))))
(+.f64 (*.f64 -1 (*.f64 y.im (atan2.f64 x.im x.re))) (*.f64 y.re (log.f64 (neg.f64 x.im))))
(+.f64 (*.f64 -1 (*.f64 y.im (atan2.f64 x.im x.re))) (*.f64 y.re (log.f64 (neg.f64 x.im))))
(*.f64 -1 (*.f64 y.im (atan2.f64 x.im x.re)))
(+.f64 (*.f64 -1 (*.f64 y.im (atan2.f64 x.im x.re))) (*.f64 y.re (log.f64 (neg.f64 x.im))))
(+.f64 (*.f64 -1 (*.f64 y.im (atan2.f64 x.im x.re))) (*.f64 y.re (log.f64 (neg.f64 x.im))))
(+.f64 (*.f64 -1 (*.f64 y.im (atan2.f64 x.im x.re))) (*.f64 y.re (log.f64 (neg.f64 x.im))))
(+.f64 (*.f64 (log.f64 (neg.f64 x.im)) y.re) (neg.f64 (*.f64 (atan2.f64 x.im x.re) y.im)))
(+.f64 (-.f64 (*.f64 (log.f64 (neg.f64 x.im)) y.re) (*.f64 (atan2.f64 x.im x.re) y.im)) 0)
(+.f64 0 (-.f64 (*.f64 (log.f64 (neg.f64 x.im)) y.re) (*.f64 (atan2.f64 x.im x.re) y.im)))
(+.f64 -1 (+.f64 (-.f64 (*.f64 (log.f64 (neg.f64 x.im)) y.re) (*.f64 (atan2.f64 x.im x.re) y.im)) 1))
(+.f64 (neg.f64 (*.f64 (atan2.f64 x.im x.re) y.im)) (*.f64 (log.f64 (neg.f64 x.im)) y.re))
(+.f64 (+.f64 (-.f64 (*.f64 (log.f64 (neg.f64 x.im)) y.re) (*.f64 (atan2.f64 x.im x.re) y.im)) 1) -1)
(+.f64 (*.f64 (-.f64 (*.f64 (log.f64 (neg.f64 x.im)) y.re) (*.f64 (atan2.f64 x.im x.re) y.im)) 1/2) (*.f64 (-.f64 (*.f64 (log.f64 (neg.f64 x.im)) y.re) (*.f64 (atan2.f64 x.im x.re) y.im)) 1/2))
(*.f64 (-.f64 (*.f64 (log.f64 (neg.f64 x.im)) y.re) (*.f64 (atan2.f64 x.im x.re) y.im)) 1)
(*.f64 1 (-.f64 (*.f64 (log.f64 (neg.f64 x.im)) y.re) (*.f64 (atan2.f64 x.im x.re) y.im)))
(*.f64 -1 (-.f64 (*.f64 (atan2.f64 x.im x.re) y.im) (*.f64 (log.f64 (neg.f64 x.im)) y.re)))
(*.f64 2 (*.f64 (-.f64 (*.f64 (log.f64 (neg.f64 x.im)) y.re) (*.f64 (atan2.f64 x.im x.re) y.im)) 1/2))
(*.f64 2 (-.f64 (*.f64 (log.f64 (neg.f64 x.im)) (*.f64 y.re 1/2)) (*.f64 (atan2.f64 x.im x.re) (*.f64 y.im 1/2))))
(*.f64 (*.f64 (-.f64 (*.f64 (log.f64 (neg.f64 x.im)) y.re) (*.f64 (atan2.f64 x.im x.re) y.im)) 2) 1/2)
(*.f64 (-.f64 (*.f64 (atan2.f64 x.im x.re) y.im) (*.f64 (log.f64 (neg.f64 x.im)) y.re)) -1)
(*.f64 4 (/.f64 (-.f64 (*.f64 (log.f64 (neg.f64 x.im)) y.re) (*.f64 (atan2.f64 x.im x.re) y.im)) 4))
(*.f64 (*.f64 (-.f64 (*.f64 (log.f64 (neg.f64 x.im)) y.re) (*.f64 (atan2.f64 x.im x.re) y.im)) 4) 1/4)
(*.f64 1/2 (*.f64 (-.f64 (*.f64 (log.f64 (neg.f64 x.im)) y.re) (*.f64 (atan2.f64 x.im x.re) y.im)) 2))
(*.f64 1/2 (-.f64 (*.f64 (log.f64 (neg.f64 x.im)) (+.f64 y.re y.re)) (*.f64 (atan2.f64 x.im x.re) (+.f64 y.im y.im))))
(*.f64 (*.f64 (-.f64 (*.f64 (log.f64 (neg.f64 x.im)) y.re) (*.f64 (atan2.f64 x.im x.re) y.im)) 1/2) 2)
(*.f64 1/4 (*.f64 (-.f64 (*.f64 (log.f64 (neg.f64 x.im)) y.re) (*.f64 (atan2.f64 x.im x.re) y.im)) 4))
(*.f64 (/.f64 (-.f64 (*.f64 (log.f64 (neg.f64 x.im)) y.re) (*.f64 (atan2.f64 x.im x.re) y.im)) 4) 4)
(/.f64 (-.f64 (*.f64 (log.f64 (neg.f64 x.im)) y.re) (*.f64 (atan2.f64 x.im x.re) y.im)) 1)
(/.f64 (*.f64 (-.f64 (*.f64 (log.f64 (neg.f64 x.im)) y.re) (*.f64 (atan2.f64 x.im x.re) y.im)) 2) 2)
(/.f64 (-.f64 (*.f64 (atan2.f64 x.im x.re) y.im) (*.f64 (log.f64 (neg.f64 x.im)) y.re)) -1)
(/.f64 (*.f64 (-.f64 (*.f64 (log.f64 (neg.f64 x.im)) y.re) (*.f64 (atan2.f64 x.im x.re) y.im)) 4) 4)
(/.f64 (*.f64 2 (-.f64 (*.f64 (atan2.f64 x.im x.re) y.im) (*.f64 (log.f64 (neg.f64 x.im)) y.re))) -2)
(/.f64 (*.f64 (-.f64 (*.f64 (log.f64 (neg.f64 x.im)) y.re) (*.f64 (atan2.f64 x.im x.re) y.im)) 8) 8)
(/.f64 (*.f64 (-.f64 (*.f64 (atan2.f64 x.im x.re) y.im) (*.f64 (log.f64 (neg.f64 x.im)) y.re)) 4) -4)
(/.f64 (*.f64 2 (*.f64 (-.f64 (*.f64 (log.f64 (neg.f64 x.im)) y.re) (*.f64 (atan2.f64 x.im x.re) y.im)) 8)) 16)
(/.f64 (neg.f64 (*.f64 2 (-.f64 (*.f64 (atan2.f64 x.im x.re) y.im) (*.f64 (log.f64 (neg.f64 x.im)) y.re)))) 2)
(/.f64 (+.f64 (*.f64 2 (*.f64 (-.f64 (*.f64 (log.f64 (neg.f64 x.im)) y.re) (*.f64 (atan2.f64 x.im x.re) y.im)) 8)) (*.f64 2 (*.f64 (-.f64 (*.f64 (log.f64 (neg.f64 x.im)) y.re) (*.f64 (atan2.f64 x.im x.re) y.im)) 8))) 32)
(/.f64 (+.f64 (neg.f64 (*.f64 2 (-.f64 (*.f64 (atan2.f64 x.im x.re) y.im) (*.f64 (log.f64 (neg.f64 x.im)) y.re)))) (neg.f64 (*.f64 2 (-.f64 (*.f64 (atan2.f64 x.im x.re) y.im) (*.f64 (log.f64 (neg.f64 x.im)) y.re))))) 4)
(neg.f64 (-.f64 (*.f64 (atan2.f64 x.im x.re) y.im) (*.f64 (log.f64 (neg.f64 x.im)) y.re)))
Outputs
(-.f64 (*.f64 y.re (+.f64 (log.f64 -1) (log.f64 x.im))) (*.f64 y.im (atan2.f64 x.im x.re)))
(-.f64 (*.f64 y.re (+.f64 (log.f64 -1) (log.f64 x.im))) (*.f64 y.im (atan2.f64 x.im x.re)))
(-.f64 (*.f64 y.re (+.f64 (log.f64 -1) (log.f64 x.im))) (*.f64 y.im (atan2.f64 x.im x.re)))
(-.f64 (*.f64 y.re (+.f64 (log.f64 -1) (log.f64 x.im))) (*.f64 y.im (atan2.f64 x.im x.re)))
(-.f64 (*.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 1 x.im)))) y.re) (*.f64 (atan2.f64 x.im x.re) y.im))
(-.f64 (*.f64 y.re (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 1 x.im))))) (*.f64 y.im (atan2.f64 x.im x.re)))
(-.f64 (*.f64 y.re (+.f64 (log.f64 -1) (neg.f64 (log.f64 (/.f64 1 x.im))))) (*.f64 y.im (atan2.f64 x.im x.re)))
(-.f64 (*.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 1 x.im)))) y.re) (*.f64 (atan2.f64 x.im x.re) y.im))
(-.f64 (*.f64 y.re (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 1 x.im))))) (*.f64 y.im (atan2.f64 x.im x.re)))
(-.f64 (*.f64 y.re (+.f64 (log.f64 -1) (neg.f64 (log.f64 (/.f64 1 x.im))))) (*.f64 y.im (atan2.f64 x.im x.re)))
(-.f64 (*.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 1 x.im)))) y.re) (*.f64 (atan2.f64 x.im x.re) y.im))
(-.f64 (*.f64 y.re (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 1 x.im))))) (*.f64 y.im (atan2.f64 x.im x.re)))
(-.f64 (*.f64 y.re (+.f64 (log.f64 -1) (neg.f64 (log.f64 (/.f64 1 x.im))))) (*.f64 y.im (atan2.f64 x.im x.re)))
(-.f64 (*.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 1 x.im)))) y.re) (*.f64 (atan2.f64 x.im x.re) y.im))
(-.f64 (*.f64 y.re (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 1 x.im))))) (*.f64 y.im (atan2.f64 x.im x.re)))
(-.f64 (*.f64 y.re (+.f64 (log.f64 -1) (neg.f64 (log.f64 (/.f64 1 x.im))))) (*.f64 y.im (atan2.f64 x.im x.re)))
(-.f64 (*.f64 -1 (*.f64 y.re (log.f64 (/.f64 -1 x.im)))) (*.f64 y.im (atan2.f64 x.im x.re)))
(-.f64 (*.f64 y.re (*.f64 (log.f64 (/.f64 -1 x.im)) -1)) (*.f64 y.im (atan2.f64 x.im x.re)))
(-.f64 (*.f64 y.re (neg.f64 (log.f64 (/.f64 -1 x.im)))) (*.f64 y.im (atan2.f64 x.im x.re)))
(-.f64 (*.f64 (log.f64 (/.f64 -1 x.im)) (neg.f64 y.re)) (*.f64 y.im (atan2.f64 x.im x.re)))
(-.f64 (*.f64 -1 (*.f64 y.re (log.f64 (/.f64 -1 x.im)))) (*.f64 y.im (atan2.f64 x.im x.re)))
(-.f64 (*.f64 y.re (*.f64 (log.f64 (/.f64 -1 x.im)) -1)) (*.f64 y.im (atan2.f64 x.im x.re)))
(-.f64 (*.f64 y.re (neg.f64 (log.f64 (/.f64 -1 x.im)))) (*.f64 y.im (atan2.f64 x.im x.re)))
(-.f64 (*.f64 (log.f64 (/.f64 -1 x.im)) (neg.f64 y.re)) (*.f64 y.im (atan2.f64 x.im x.re)))
(-.f64 (*.f64 -1 (*.f64 y.re (log.f64 (/.f64 -1 x.im)))) (*.f64 y.im (atan2.f64 x.im x.re)))
(-.f64 (*.f64 y.re (*.f64 (log.f64 (/.f64 -1 x.im)) -1)) (*.f64 y.im (atan2.f64 x.im x.re)))
(-.f64 (*.f64 y.re (neg.f64 (log.f64 (/.f64 -1 x.im)))) (*.f64 y.im (atan2.f64 x.im x.re)))
(-.f64 (*.f64 (log.f64 (/.f64 -1 x.im)) (neg.f64 y.re)) (*.f64 y.im (atan2.f64 x.im x.re)))
(-.f64 (*.f64 -1 (*.f64 y.re (log.f64 (/.f64 -1 x.im)))) (*.f64 y.im (atan2.f64 x.im x.re)))
(-.f64 (*.f64 y.re (*.f64 (log.f64 (/.f64 -1 x.im)) -1)) (*.f64 y.im (atan2.f64 x.im x.re)))
(-.f64 (*.f64 y.re (neg.f64 (log.f64 (/.f64 -1 x.im)))) (*.f64 y.im (atan2.f64 x.im x.re)))
(-.f64 (*.f64 (log.f64 (/.f64 -1 x.im)) (neg.f64 y.re)) (*.f64 y.im (atan2.f64 x.im x.re)))
(*.f64 -1 (*.f64 y.im (atan2.f64 x.im x.re)))
(neg.f64 (*.f64 y.im (atan2.f64 x.im x.re)))
(*.f64 y.im (neg.f64 (atan2.f64 x.im x.re)))
(*.f64 (atan2.f64 x.im x.re) (neg.f64 y.im))
(+.f64 (*.f64 -1 (*.f64 y.im (atan2.f64 x.im x.re))) (*.f64 y.re (log.f64 (neg.f64 x.im))))
(+.f64 (neg.f64 (*.f64 y.im (atan2.f64 x.im x.re))) (*.f64 y.re (log.f64 (neg.f64 x.im))))
(+.f64 (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re))) (*.f64 y.re (log.f64 (neg.f64 x.im))))
(+.f64 (*.f64 (atan2.f64 x.im x.re) (neg.f64 y.im)) (*.f64 y.re (log.f64 (neg.f64 x.im))))
(+.f64 (*.f64 -1 (*.f64 y.im (atan2.f64 x.im x.re))) (*.f64 y.re (log.f64 (neg.f64 x.im))))
(+.f64 (neg.f64 (*.f64 y.im (atan2.f64 x.im x.re))) (*.f64 y.re (log.f64 (neg.f64 x.im))))
(+.f64 (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re))) (*.f64 y.re (log.f64 (neg.f64 x.im))))
(+.f64 (*.f64 (atan2.f64 x.im x.re) (neg.f64 y.im)) (*.f64 y.re (log.f64 (neg.f64 x.im))))
(+.f64 (*.f64 -1 (*.f64 y.im (atan2.f64 x.im x.re))) (*.f64 y.re (log.f64 (neg.f64 x.im))))
(+.f64 (neg.f64 (*.f64 y.im (atan2.f64 x.im x.re))) (*.f64 y.re (log.f64 (neg.f64 x.im))))
(+.f64 (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re))) (*.f64 y.re (log.f64 (neg.f64 x.im))))
(+.f64 (*.f64 (atan2.f64 x.im x.re) (neg.f64 y.im)) (*.f64 y.re (log.f64 (neg.f64 x.im))))
(*.f64 y.re (log.f64 (neg.f64 x.im)))
(+.f64 (*.f64 -1 (*.f64 y.im (atan2.f64 x.im x.re))) (*.f64 y.re (log.f64 (neg.f64 x.im))))
(+.f64 (neg.f64 (*.f64 y.im (atan2.f64 x.im x.re))) (*.f64 y.re (log.f64 (neg.f64 x.im))))
(+.f64 (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re))) (*.f64 y.re (log.f64 (neg.f64 x.im))))
(+.f64 (*.f64 (atan2.f64 x.im x.re) (neg.f64 y.im)) (*.f64 y.re (log.f64 (neg.f64 x.im))))
(+.f64 (*.f64 -1 (*.f64 y.im (atan2.f64 x.im x.re))) (*.f64 y.re (log.f64 (neg.f64 x.im))))
(+.f64 (neg.f64 (*.f64 y.im (atan2.f64 x.im x.re))) (*.f64 y.re (log.f64 (neg.f64 x.im))))
(+.f64 (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re))) (*.f64 y.re (log.f64 (neg.f64 x.im))))
(+.f64 (*.f64 (atan2.f64 x.im x.re) (neg.f64 y.im)) (*.f64 y.re (log.f64 (neg.f64 x.im))))
(+.f64 (*.f64 -1 (*.f64 y.im (atan2.f64 x.im x.re))) (*.f64 y.re (log.f64 (neg.f64 x.im))))
(+.f64 (neg.f64 (*.f64 y.im (atan2.f64 x.im x.re))) (*.f64 y.re (log.f64 (neg.f64 x.im))))
(+.f64 (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re))) (*.f64 y.re (log.f64 (neg.f64 x.im))))
(+.f64 (*.f64 (atan2.f64 x.im x.re) (neg.f64 y.im)) (*.f64 y.re (log.f64 (neg.f64 x.im))))
(*.f64 y.re (log.f64 (neg.f64 x.im)))
(+.f64 (*.f64 -1 (*.f64 y.im (atan2.f64 x.im x.re))) (*.f64 y.re (log.f64 (neg.f64 x.im))))
(+.f64 (neg.f64 (*.f64 y.im (atan2.f64 x.im x.re))) (*.f64 y.re (log.f64 (neg.f64 x.im))))
(+.f64 (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re))) (*.f64 y.re (log.f64 (neg.f64 x.im))))
(+.f64 (*.f64 (atan2.f64 x.im x.re) (neg.f64 y.im)) (*.f64 y.re (log.f64 (neg.f64 x.im))))
(+.f64 (*.f64 -1 (*.f64 y.im (atan2.f64 x.im x.re))) (*.f64 y.re (log.f64 (neg.f64 x.im))))
(+.f64 (neg.f64 (*.f64 y.im (atan2.f64 x.im x.re))) (*.f64 y.re (log.f64 (neg.f64 x.im))))
(+.f64 (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re))) (*.f64 y.re (log.f64 (neg.f64 x.im))))
(+.f64 (*.f64 (atan2.f64 x.im x.re) (neg.f64 y.im)) (*.f64 y.re (log.f64 (neg.f64 x.im))))
(+.f64 (*.f64 -1 (*.f64 y.im (atan2.f64 x.im x.re))) (*.f64 y.re (log.f64 (neg.f64 x.im))))
(+.f64 (neg.f64 (*.f64 y.im (atan2.f64 x.im x.re))) (*.f64 y.re (log.f64 (neg.f64 x.im))))
(+.f64 (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re))) (*.f64 y.re (log.f64 (neg.f64 x.im))))
(+.f64 (*.f64 (atan2.f64 x.im x.re) (neg.f64 y.im)) (*.f64 y.re (log.f64 (neg.f64 x.im))))
(-.f64 (*.f64 y.re (log.f64 (neg.f64 x.im))) (*.f64 y.im (atan2.f64 x.im x.re)))
(-.f64 (*.f64 y.re (log.f64 (neg.f64 x.im))) (*.f64 y.im (atan2.f64 x.im x.re)))
(-.f64 (*.f64 y.re (log.f64 (neg.f64 x.im))) (*.f64 y.im (atan2.f64 x.im x.re)))
(-.f64 (*.f64 y.re (log.f64 (neg.f64 x.im))) (*.f64 y.im (atan2.f64 x.im x.re)))
(-.f64 (*.f64 y.re (log.f64 (neg.f64 x.im))) (*.f64 (atan2.f64 x.im x.re) y.im))
(-.f64 (*.f64 y.re (log.f64 (neg.f64 x.im))) (*.f64 y.im (atan2.f64 x.im x.re)))
(-.f64 (*.f64 y.re (log.f64 (neg.f64 x.im))) (*.f64 (atan2.f64 x.im x.re) y.im))
(-.f64 (*.f64 y.re (log.f64 (neg.f64 x.im))) (*.f64 y.im (atan2.f64 x.im x.re)))
(-.f64 (*.f64 y.re (log.f64 (neg.f64 x.im))) (*.f64 (atan2.f64 x.im x.re) y.im))
(-.f64 (*.f64 y.re (log.f64 (neg.f64 x.im))) (*.f64 y.im (atan2.f64 x.im x.re)))
(-.f64 (*.f64 y.re (log.f64 (neg.f64 x.im))) (*.f64 (atan2.f64 x.im x.re) y.im))
(-.f64 (*.f64 y.re (log.f64 (neg.f64 x.im))) (*.f64 y.im (atan2.f64 x.im x.re)))
(-.f64 (*.f64 y.re (log.f64 (neg.f64 x.im))) (*.f64 (atan2.f64 x.im x.re) y.im))
(-.f64 (*.f64 y.re (log.f64 (neg.f64 x.im))) (*.f64 y.im (atan2.f64 x.im x.re)))
(-.f64 (*.f64 y.re (log.f64 (neg.f64 x.im))) (*.f64 (atan2.f64 x.im x.re) y.im))
(-.f64 (*.f64 y.re (log.f64 (neg.f64 x.im))) (*.f64 y.im (atan2.f64 x.im x.re)))
(-.f64 (*.f64 y.re (log.f64 (neg.f64 x.im))) (*.f64 (atan2.f64 x.im x.re) y.im))
(-.f64 (*.f64 y.re (log.f64 (neg.f64 x.im))) (*.f64 y.im (atan2.f64 x.im x.re)))
(-.f64 (*.f64 y.re (log.f64 (neg.f64 x.im))) (*.f64 (atan2.f64 x.im x.re) y.im))
(-.f64 (*.f64 y.re (log.f64 (neg.f64 x.im))) (*.f64 y.im (atan2.f64 x.im x.re)))
(*.f64 y.re (log.f64 (neg.f64 x.im)))
(+.f64 (*.f64 -1 (*.f64 y.im (atan2.f64 x.im x.re))) (*.f64 y.re (log.f64 (neg.f64 x.im))))
(+.f64 (neg.f64 (*.f64 y.im (atan2.f64 x.im x.re))) (*.f64 y.re (log.f64 (neg.f64 x.im))))
(+.f64 (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re))) (*.f64 y.re (log.f64 (neg.f64 x.im))))
(+.f64 (*.f64 (atan2.f64 x.im x.re) (neg.f64 y.im)) (*.f64 y.re (log.f64 (neg.f64 x.im))))
(+.f64 (*.f64 -1 (*.f64 y.im (atan2.f64 x.im x.re))) (*.f64 y.re (log.f64 (neg.f64 x.im))))
(+.f64 (neg.f64 (*.f64 y.im (atan2.f64 x.im x.re))) (*.f64 y.re (log.f64 (neg.f64 x.im))))
(+.f64 (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re))) (*.f64 y.re (log.f64 (neg.f64 x.im))))
(+.f64 (*.f64 (atan2.f64 x.im x.re) (neg.f64 y.im)) (*.f64 y.re (log.f64 (neg.f64 x.im))))
(+.f64 (*.f64 -1 (*.f64 y.im (atan2.f64 x.im x.re))) (*.f64 y.re (log.f64 (neg.f64 x.im))))
(+.f64 (neg.f64 (*.f64 y.im (atan2.f64 x.im x.re))) (*.f64 y.re (log.f64 (neg.f64 x.im))))
(+.f64 (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re))) (*.f64 y.re (log.f64 (neg.f64 x.im))))
(+.f64 (*.f64 (atan2.f64 x.im x.re) (neg.f64 y.im)) (*.f64 y.re (log.f64 (neg.f64 x.im))))
(*.f64 -1 (*.f64 y.im (atan2.f64 x.im x.re)))
(neg.f64 (*.f64 y.im (atan2.f64 x.im x.re)))
(*.f64 y.im (neg.f64 (atan2.f64 x.im x.re)))
(*.f64 (atan2.f64 x.im x.re) (neg.f64 y.im))
(+.f64 (*.f64 -1 (*.f64 y.im (atan2.f64 x.im x.re))) (*.f64 y.re (log.f64 (neg.f64 x.im))))
(+.f64 (neg.f64 (*.f64 y.im (atan2.f64 x.im x.re))) (*.f64 y.re (log.f64 (neg.f64 x.im))))
(+.f64 (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re))) (*.f64 y.re (log.f64 (neg.f64 x.im))))
(+.f64 (*.f64 (atan2.f64 x.im x.re) (neg.f64 y.im)) (*.f64 y.re (log.f64 (neg.f64 x.im))))
(+.f64 (*.f64 -1 (*.f64 y.im (atan2.f64 x.im x.re))) (*.f64 y.re (log.f64 (neg.f64 x.im))))
(+.f64 (neg.f64 (*.f64 y.im (atan2.f64 x.im x.re))) (*.f64 y.re (log.f64 (neg.f64 x.im))))
(+.f64 (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re))) (*.f64 y.re (log.f64 (neg.f64 x.im))))
(+.f64 (*.f64 (atan2.f64 x.im x.re) (neg.f64 y.im)) (*.f64 y.re (log.f64 (neg.f64 x.im))))
(+.f64 (*.f64 -1 (*.f64 y.im (atan2.f64 x.im x.re))) (*.f64 y.re (log.f64 (neg.f64 x.im))))
(+.f64 (neg.f64 (*.f64 y.im (atan2.f64 x.im x.re))) (*.f64 y.re (log.f64 (neg.f64 x.im))))
(+.f64 (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re))) (*.f64 y.re (log.f64 (neg.f64 x.im))))
(+.f64 (*.f64 (atan2.f64 x.im x.re) (neg.f64 y.im)) (*.f64 y.re (log.f64 (neg.f64 x.im))))
(*.f64 -1 (*.f64 y.im (atan2.f64 x.im x.re)))
(neg.f64 (*.f64 y.im (atan2.f64 x.im x.re)))
(*.f64 y.im (neg.f64 (atan2.f64 x.im x.re)))
(*.f64 (atan2.f64 x.im x.re) (neg.f64 y.im))
(+.f64 (*.f64 -1 (*.f64 y.im (atan2.f64 x.im x.re))) (*.f64 y.re (log.f64 (neg.f64 x.im))))
(+.f64 (neg.f64 (*.f64 y.im (atan2.f64 x.im x.re))) (*.f64 y.re (log.f64 (neg.f64 x.im))))
(+.f64 (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re))) (*.f64 y.re (log.f64 (neg.f64 x.im))))
(+.f64 (*.f64 (atan2.f64 x.im x.re) (neg.f64 y.im)) (*.f64 y.re (log.f64 (neg.f64 x.im))))
(+.f64 (*.f64 -1 (*.f64 y.im (atan2.f64 x.im x.re))) (*.f64 y.re (log.f64 (neg.f64 x.im))))
(+.f64 (neg.f64 (*.f64 y.im (atan2.f64 x.im x.re))) (*.f64 y.re (log.f64 (neg.f64 x.im))))
(+.f64 (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re))) (*.f64 y.re (log.f64 (neg.f64 x.im))))
(+.f64 (*.f64 (atan2.f64 x.im x.re) (neg.f64 y.im)) (*.f64 y.re (log.f64 (neg.f64 x.im))))
(+.f64 (*.f64 -1 (*.f64 y.im (atan2.f64 x.im x.re))) (*.f64 y.re (log.f64 (neg.f64 x.im))))
(+.f64 (neg.f64 (*.f64 y.im (atan2.f64 x.im x.re))) (*.f64 y.re (log.f64 (neg.f64 x.im))))
(+.f64 (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re))) (*.f64 y.re (log.f64 (neg.f64 x.im))))
(+.f64 (*.f64 (atan2.f64 x.im x.re) (neg.f64 y.im)) (*.f64 y.re (log.f64 (neg.f64 x.im))))
(+.f64 (*.f64 (log.f64 (neg.f64 x.im)) y.re) (neg.f64 (*.f64 (atan2.f64 x.im x.re) y.im)))
(+.f64 (neg.f64 (*.f64 y.im (atan2.f64 x.im x.re))) (*.f64 y.re (log.f64 (neg.f64 x.im))))
(+.f64 (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re))) (*.f64 y.re (log.f64 (neg.f64 x.im))))
(+.f64 (*.f64 (atan2.f64 x.im x.re) (neg.f64 y.im)) (*.f64 y.re (log.f64 (neg.f64 x.im))))
(+.f64 (-.f64 (*.f64 (log.f64 (neg.f64 x.im)) y.re) (*.f64 (atan2.f64 x.im x.re) y.im)) 0)
(-.f64 (*.f64 y.re (log.f64 (neg.f64 x.im))) (*.f64 y.im (atan2.f64 x.im x.re)))
(+.f64 0 (-.f64 (*.f64 (log.f64 (neg.f64 x.im)) y.re) (*.f64 (atan2.f64 x.im x.re) y.im)))
(-.f64 (*.f64 y.re (log.f64 (neg.f64 x.im))) (*.f64 y.im (atan2.f64 x.im x.re)))
(+.f64 -1 (+.f64 (-.f64 (*.f64 (log.f64 (neg.f64 x.im)) y.re) (*.f64 (atan2.f64 x.im x.re) y.im)) 1))
(-.f64 (*.f64 y.re (log.f64 (neg.f64 x.im))) (*.f64 y.im (atan2.f64 x.im x.re)))
(+.f64 (neg.f64 (*.f64 (atan2.f64 x.im x.re) y.im)) (*.f64 (log.f64 (neg.f64 x.im)) y.re))
(+.f64 (neg.f64 (*.f64 y.im (atan2.f64 x.im x.re))) (*.f64 y.re (log.f64 (neg.f64 x.im))))
(+.f64 (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re))) (*.f64 y.re (log.f64 (neg.f64 x.im))))
(+.f64 (*.f64 (atan2.f64 x.im x.re) (neg.f64 y.im)) (*.f64 y.re (log.f64 (neg.f64 x.im))))
(+.f64 (+.f64 (-.f64 (*.f64 (log.f64 (neg.f64 x.im)) y.re) (*.f64 (atan2.f64 x.im x.re) y.im)) 1) -1)
(-.f64 (*.f64 y.re (log.f64 (neg.f64 x.im))) (*.f64 y.im (atan2.f64 x.im x.re)))
(+.f64 (*.f64 (-.f64 (*.f64 (log.f64 (neg.f64 x.im)) y.re) (*.f64 (atan2.f64 x.im x.re) y.im)) 1/2) (*.f64 (-.f64 (*.f64 (log.f64 (neg.f64 x.im)) y.re) (*.f64 (atan2.f64 x.im x.re) y.im)) 1/2))
(-.f64 (*.f64 y.re (log.f64 (neg.f64 x.im))) (*.f64 y.im (atan2.f64 x.im x.re)))
(*.f64 (-.f64 (*.f64 (log.f64 (neg.f64 x.im)) y.re) (*.f64 (atan2.f64 x.im x.re) y.im)) 1)
(-.f64 (*.f64 y.re (log.f64 (neg.f64 x.im))) (*.f64 y.im (atan2.f64 x.im x.re)))
(*.f64 1 (-.f64 (*.f64 (log.f64 (neg.f64 x.im)) y.re) (*.f64 (atan2.f64 x.im x.re) y.im)))
(-.f64 (*.f64 y.re (log.f64 (neg.f64 x.im))) (*.f64 y.im (atan2.f64 x.im x.re)))
(*.f64 -1 (-.f64 (*.f64 (atan2.f64 x.im x.re) y.im) (*.f64 (log.f64 (neg.f64 x.im)) y.re)))
(-.f64 (*.f64 y.re (log.f64 (neg.f64 x.im))) (*.f64 y.im (atan2.f64 x.im x.re)))
(*.f64 2 (*.f64 (-.f64 (*.f64 (log.f64 (neg.f64 x.im)) y.re) (*.f64 (atan2.f64 x.im x.re) y.im)) 1/2))
(-.f64 (*.f64 y.re (log.f64 (neg.f64 x.im))) (*.f64 y.im (atan2.f64 x.im x.re)))
(*.f64 2 (-.f64 (*.f64 (log.f64 (neg.f64 x.im)) (*.f64 y.re 1/2)) (*.f64 (atan2.f64 x.im x.re) (*.f64 y.im 1/2))))
(-.f64 (*.f64 y.re (log.f64 (neg.f64 x.im))) (*.f64 y.im (atan2.f64 x.im x.re)))
(*.f64 (*.f64 (-.f64 (*.f64 (log.f64 (neg.f64 x.im)) y.re) (*.f64 (atan2.f64 x.im x.re) y.im)) 2) 1/2)
(-.f64 (*.f64 y.re (log.f64 (neg.f64 x.im))) (*.f64 y.im (atan2.f64 x.im x.re)))
(*.f64 (-.f64 (*.f64 (atan2.f64 x.im x.re) y.im) (*.f64 (log.f64 (neg.f64 x.im)) y.re)) -1)
(-.f64 (*.f64 y.re (log.f64 (neg.f64 x.im))) (*.f64 y.im (atan2.f64 x.im x.re)))
(*.f64 4 (/.f64 (-.f64 (*.f64 (log.f64 (neg.f64 x.im)) y.re) (*.f64 (atan2.f64 x.im x.re) y.im)) 4))
(-.f64 (*.f64 y.re (log.f64 (neg.f64 x.im))) (*.f64 y.im (atan2.f64 x.im x.re)))
(*.f64 (*.f64 (-.f64 (*.f64 (log.f64 (neg.f64 x.im)) y.re) (*.f64 (atan2.f64 x.im x.re) y.im)) 4) 1/4)
(-.f64 (*.f64 y.re (log.f64 (neg.f64 x.im))) (*.f64 y.im (atan2.f64 x.im x.re)))
(*.f64 1/2 (*.f64 (-.f64 (*.f64 (log.f64 (neg.f64 x.im)) y.re) (*.f64 (atan2.f64 x.im x.re) y.im)) 2))
(-.f64 (*.f64 y.re (log.f64 (neg.f64 x.im))) (*.f64 y.im (atan2.f64 x.im x.re)))
(*.f64 1/2 (-.f64 (*.f64 (log.f64 (neg.f64 x.im)) (+.f64 y.re y.re)) (*.f64 (atan2.f64 x.im x.re) (+.f64 y.im y.im))))
(*.f64 (*.f64 (-.f64 (*.f64 (log.f64 (neg.f64 x.im)) y.re) (*.f64 (atan2.f64 x.im x.re) y.im)) 1/2) 2)
(-.f64 (*.f64 y.re (log.f64 (neg.f64 x.im))) (*.f64 y.im (atan2.f64 x.im x.re)))
(*.f64 1/4 (*.f64 (-.f64 (*.f64 (log.f64 (neg.f64 x.im)) y.re) (*.f64 (atan2.f64 x.im x.re) y.im)) 4))
(-.f64 (*.f64 y.re (log.f64 (neg.f64 x.im))) (*.f64 y.im (atan2.f64 x.im x.re)))
(*.f64 (/.f64 (-.f64 (*.f64 (log.f64 (neg.f64 x.im)) y.re) (*.f64 (atan2.f64 x.im x.re) y.im)) 4) 4)
(-.f64 (*.f64 y.re (log.f64 (neg.f64 x.im))) (*.f64 y.im (atan2.f64 x.im x.re)))
(/.f64 (-.f64 (*.f64 (log.f64 (neg.f64 x.im)) y.re) (*.f64 (atan2.f64 x.im x.re) y.im)) 1)
(-.f64 (*.f64 y.re (log.f64 (neg.f64 x.im))) (*.f64 y.im (atan2.f64 x.im x.re)))
(/.f64 (*.f64 (-.f64 (*.f64 (log.f64 (neg.f64 x.im)) y.re) (*.f64 (atan2.f64 x.im x.re) y.im)) 2) 2)
(-.f64 (*.f64 y.re (log.f64 (neg.f64 x.im))) (*.f64 y.im (atan2.f64 x.im x.re)))
(/.f64 (-.f64 (*.f64 (atan2.f64 x.im x.re) y.im) (*.f64 (log.f64 (neg.f64 x.im)) y.re)) -1)
(-.f64 (*.f64 y.re (log.f64 (neg.f64 x.im))) (*.f64 y.im (atan2.f64 x.im x.re)))
(/.f64 (*.f64 (-.f64 (*.f64 (log.f64 (neg.f64 x.im)) y.re) (*.f64 (atan2.f64 x.im x.re) y.im)) 4) 4)
(-.f64 (*.f64 y.re (log.f64 (neg.f64 x.im))) (*.f64 y.im (atan2.f64 x.im x.re)))
(/.f64 (*.f64 2 (-.f64 (*.f64 (atan2.f64 x.im x.re) y.im) (*.f64 (log.f64 (neg.f64 x.im)) y.re))) -2)
(-.f64 (*.f64 y.re (log.f64 (neg.f64 x.im))) (*.f64 y.im (atan2.f64 x.im x.re)))
(/.f64 (*.f64 (-.f64 (*.f64 (log.f64 (neg.f64 x.im)) y.re) (*.f64 (atan2.f64 x.im x.re) y.im)) 8) 8)
(-.f64 (*.f64 y.re (log.f64 (neg.f64 x.im))) (*.f64 y.im (atan2.f64 x.im x.re)))
(/.f64 (*.f64 (-.f64 (*.f64 (atan2.f64 x.im x.re) y.im) (*.f64 (log.f64 (neg.f64 x.im)) y.re)) 4) -4)
(-.f64 (*.f64 y.re (log.f64 (neg.f64 x.im))) (*.f64 y.im (atan2.f64 x.im x.re)))
(/.f64 (*.f64 2 (*.f64 (-.f64 (*.f64 (log.f64 (neg.f64 x.im)) y.re) (*.f64 (atan2.f64 x.im x.re) y.im)) 8)) 16)
(-.f64 (*.f64 y.re (log.f64 (neg.f64 x.im))) (*.f64 y.im (atan2.f64 x.im x.re)))
(/.f64 (neg.f64 (*.f64 2 (-.f64 (*.f64 (atan2.f64 x.im x.re) y.im) (*.f64 (log.f64 (neg.f64 x.im)) y.re)))) 2)
(-.f64 (*.f64 y.re (log.f64 (neg.f64 x.im))) (*.f64 y.im (atan2.f64 x.im x.re)))
(/.f64 (+.f64 (*.f64 2 (*.f64 (-.f64 (*.f64 (log.f64 (neg.f64 x.im)) y.re) (*.f64 (atan2.f64 x.im x.re) y.im)) 8)) (*.f64 2 (*.f64 (-.f64 (*.f64 (log.f64 (neg.f64 x.im)) y.re) (*.f64 (atan2.f64 x.im x.re) y.im)) 8))) 32)
(-.f64 (*.f64 y.re (log.f64 (neg.f64 x.im))) (*.f64 y.im (atan2.f64 x.im x.re)))
(/.f64 (+.f64 (neg.f64 (*.f64 2 (-.f64 (*.f64 (atan2.f64 x.im x.re) y.im) (*.f64 (log.f64 (neg.f64 x.im)) y.re)))) (neg.f64 (*.f64 2 (-.f64 (*.f64 (atan2.f64 x.im x.re) y.im) (*.f64 (log.f64 (neg.f64 x.im)) y.re))))) 4)
(-.f64 (*.f64 y.re (log.f64 (neg.f64 x.im))) (*.f64 y.im (atan2.f64 x.im x.re)))
(neg.f64 (-.f64 (*.f64 (atan2.f64 x.im x.re) y.im) (*.f64 (log.f64 (neg.f64 x.im)) y.re)))
(-.f64 (*.f64 y.re (log.f64 (neg.f64 x.im))) (*.f64 y.im (atan2.f64 x.im x.re)))

localize91.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.1b
(*.f64 (log.f64 x.im) y.re)
0.1b
(*.f64 y.im (log.f64 (neg.f64 x.re)))
2.3b
(*.f64 (atan2.f64 x.im x.re) y.im)
10.1b
(sin.f64 (*.f64 y.im (log.f64 (neg.f64 x.re))))
Compiler

Compiled 77 to 15 computations (80.5% saved)

series11.0ms (0%)

Counts
3 → 52
Calls

18 calls:

TimeVariablePointExpression
8.0ms
y.re
@0
(*.f64 (log.f64 x.im) y.re)
1.0ms
x.re
@0
(sin.f64 (*.f64 y.im (log.f64 (neg.f64 x.re))))
0.0ms
x.re
@inf
(sin.f64 (*.f64 y.im (log.f64 (neg.f64 x.re))))
0.0ms
x.re
@-inf
(sin.f64 (*.f64 y.im (log.f64 (neg.f64 x.re))))
0.0ms
y.im
@0
(sin.f64 (*.f64 y.im (log.f64 (neg.f64 x.re))))

rewrite286.0ms (0.6%)

Algorithm
batch-egg-rewrite
Rules
1854×bool.json-1
1854×bool.json-2
1150×bool.json-3
1036×rational.json-simplify-35
1026×rational.json-1
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01345
113245
236045
375445
4160145
5361345
6715045
Stop Event
node limit
Counts
3 → 79
Calls
Call 1
Inputs
(sin.f64 (*.f64 y.im (log.f64 (neg.f64 x.re))))
(*.f64 y.im (log.f64 (neg.f64 x.re)))
(*.f64 (log.f64 x.im) y.re)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (sin.f64 (*.f64 y.im (log.f64 (neg.f64 x.re)))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (sin.f64 (*.f64 y.im (log.f64 (neg.f64 x.re)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 -1 (-.f64 1 (neg.f64 (sin.f64 (*.f64 y.im (log.f64 (neg.f64 x.re)))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (sin.f64 (*.f64 y.im (log.f64 (neg.f64 x.re)))) 1/2) (*.f64 (sin.f64 (*.f64 y.im (log.f64 (neg.f64 x.re)))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 1 (neg.f64 (sin.f64 (*.f64 y.im (log.f64 (neg.f64 x.re)))))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (sin.f64 (*.f64 y.im (log.f64 (neg.f64 x.re)))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (neg.f64 (sin.f64 (*.f64 y.im (log.f64 (neg.f64 x.re))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sin.f64 (*.f64 y.im (log.f64 (neg.f64 x.re)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (sin.f64 (*.f64 y.im (log.f64 (neg.f64 x.re)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (neg.f64 (sin.f64 (*.f64 y.im (log.f64 (neg.f64 x.re))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (sin.f64 (*.f64 y.im (log.f64 (neg.f64 x.re)))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sin.f64 (*.f64 y.im (log.f64 (neg.f64 x.re)))) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 (sin.f64 (*.f64 y.im (log.f64 (neg.f64 x.re)))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sin.f64 (*.f64 y.im (log.f64 (neg.f64 x.re)))) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 (sin.f64 (*.f64 y.im (log.f64 (neg.f64 x.re)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sin.f64 (*.f64 y.im (log.f64 (neg.f64 x.re)))) 1/2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (sin.f64 (*.f64 y.im (log.f64 (neg.f64 x.re))))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (sin.f64 (*.f64 y.im (log.f64 (neg.f64 x.re)))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sin.f64 (*.f64 y.im (log.f64 (neg.f64 x.re)))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sin.f64 (*.f64 y.im (log.f64 (neg.f64 x.re)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sin.f64 (*.f64 y.im (log.f64 (neg.f64 x.re)))) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sin.f64 (*.f64 y.im (log.f64 (neg.f64 x.re)))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (sin.f64 (*.f64 y.im (log.f64 (neg.f64 x.re)))) 4)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (sin.f64 (*.f64 y.im (log.f64 (neg.f64 x.re))))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (sin.f64 (*.f64 y.im (log.f64 (neg.f64 x.re)))) 4))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (neg.f64 (sin.f64 (*.f64 y.im (log.f64 (neg.f64 x.re))))) (neg.f64 (sin.f64 (*.f64 y.im (log.f64 (neg.f64 x.re)))))) -2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (sin.f64 (*.f64 y.im (log.f64 (neg.f64 x.re)))) 4))) (*.f64 2 (*.f64 2 (*.f64 (sin.f64 (*.f64 y.im (log.f64 (neg.f64 x.re)))) 4)))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (neg.f64 (sin.f64 (*.f64 y.im (log.f64 (neg.f64 x.re))))))))) (#(struct:change #<rule egg-rr> (2) ((x not (not (sin.f64 (*.f64 y.im (log.f64 (neg.f64 x.re))))))))) (#(struct:change #<rule egg-rr> (2) ((x and (sin.f64 (*.f64 y.im (log.f64 (neg.f64 x.re)))) (sin.f64 (*.f64 y.im (log.f64 (neg.f64 x.re)))))))) (#(struct:change #<rule egg-rr> (2) ((x or (sin.f64 (*.f64 y.im (log.f64 (neg.f64 x.re)))) (sin.f64 (*.f64 y.im (log.f64 (neg.f64 x.re)))))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 y.im (log.f64 (neg.f64 x.re))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 y.im (log.f64 (neg.f64 x.re))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 -1 (-.f64 (*.f64 y.im (log.f64 (neg.f64 x.re))) -1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (PI.f64) (-.f64 (*.f64 y.im (log.f64 (neg.f64 x.re))) (PI.f64)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (*.f64 y.im (log.f64 (neg.f64 x.re))) (PI.f64)) (PI.f64))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (*.f64 y.im (log.f64 (neg.f64 x.re))) (PI.f64)) (-.f64 (neg.f64 (PI.f64)) (*.f64 (PI.f64) -2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (PI.f64) 1/2) (-.f64 (*.f64 (PI.f64) 1/2) (-.f64 (PI.f64) (*.f64 y.im (log.f64 (neg.f64 x.re))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (PI.f64) 2) (+.f64 (*.f64 y.im (log.f64 (neg.f64 x.re))) (*.f64 (PI.f64) -2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (neg.f64 (PI.f64)) (+.f64 (*.f64 y.im (log.f64 (neg.f64 x.re))) (PI.f64)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (*.f64 y.im (log.f64 (neg.f64 x.re))) (PI.f64)) (neg.f64 (PI.f64)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (*.f64 y.im (log.f64 (neg.f64 x.re))) (*.f64 (PI.f64) -2)) (*.f64 (PI.f64) 2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 y.im (*.f64 (log.f64 (neg.f64 x.re)) 1/2)) (*.f64 y.im (*.f64 (log.f64 (neg.f64 x.re)) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (*.f64 y.im (log.f64 (neg.f64 x.re))) -1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (*.f64 y.im (log.f64 (neg.f64 x.re))) -1) (-.f64 (PI.f64) (+.f64 1 (PI.f64))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (PI.f64) 1) (-.f64 (*.f64 y.im (log.f64 (neg.f64 x.re))) (-.f64 (PI.f64) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (*.f64 y.im (log.f64 (neg.f64 x.re))) (-.f64 (PI.f64) 1)) (-.f64 (PI.f64) 1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (*.f64 y.im (log.f64 (neg.f64 x.re))) (-.f64 (PI.f64) 1)) (-.f64 (-.f64 -1 (PI.f64)) (*.f64 (PI.f64) -2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 1 (PI.f64)) (-.f64 -1 (-.f64 (neg.f64 (PI.f64)) (*.f64 y.im (log.f64 (neg.f64 x.re))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (PI.f64) -2) (+.f64 (*.f64 y.im (log.f64 (neg.f64 x.re))) (*.f64 (PI.f64) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (PI.f64) -2) (-.f64 (*.f64 y.im (log.f64 (neg.f64 x.re))) (*.f64 (PI.f64) -2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (*.f64 y.im (log.f64 (neg.f64 x.re))) (-.f64 -1 (PI.f64))) (+.f64 1 (PI.f64)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 -1 (-.f64 (neg.f64 (PI.f64)) (*.f64 y.im (log.f64 (neg.f64 x.re))))) (-.f64 1 (PI.f64)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 y.im (log.f64 (neg.f64 x.re))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (neg.f64 (*.f64 y.im (log.f64 (neg.f64 x.re)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (PI.f64) (-.f64 (PI.f64) (*.f64 y.im (log.f64 (neg.f64 x.re)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 (*.f64 y.im (log.f64 (neg.f64 x.re))) (PI.f64)) (neg.f64 (PI.f64)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (PI.f64) 2) (-.f64 (*.f64 (PI.f64) 2) (*.f64 y.im (log.f64 (neg.f64 x.re)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (neg.f64 (PI.f64)) (-.f64 (neg.f64 (PI.f64)) (*.f64 y.im (log.f64 (neg.f64 x.re)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (*.f64 y.im (log.f64 (neg.f64 x.re))) (PI.f64)) (PI.f64))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (*.f64 y.im (log.f64 (neg.f64 x.re))) (*.f64 (PI.f64) -2)) (*.f64 (PI.f64) -2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 (*.f64 (PI.f64) 2) (PI.f64)) (-.f64 (PI.f64) (*.f64 y.im (log.f64 (neg.f64 x.re)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 (neg.f64 (PI.f64)) (*.f64 (PI.f64) -2)) (-.f64 (PI.f64) (*.f64 y.im (log.f64 (neg.f64 x.re)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 y.im (log.f64 (neg.f64 x.re))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 y.im (*.f64 (log.f64 (neg.f64 x.re)) 2)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 y.im (*.f64 (log.f64 (neg.f64 x.re)) 4)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 y.im (log.f64 (neg.f64 x.re)))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 y.im (*.f64 (log.f64 (neg.f64 x.re)) 4))) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 y.im (*.f64 (log.f64 (neg.f64 x.re)) 4)))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (neg.f64 (*.f64 y.im (log.f64 (neg.f64 x.re))))) -2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 y.im (*.f64 (log.f64 (neg.f64 x.re)) 4)))) (*.f64 2 (*.f64 2 (*.f64 y.im (*.f64 (log.f64 (neg.f64 x.re)) 4))))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (neg.f64 (*.f64 y.im (log.f64 (neg.f64 x.re)))))))) (#(struct:change #<rule egg-rr> (2) ((x not (not (*.f64 y.im (log.f64 (neg.f64 x.re)))))))) (#(struct:change #<rule egg-rr> (2) ((x and (*.f64 y.im (log.f64 (neg.f64 x.re))) (*.f64 y.im (log.f64 (neg.f64 x.re))))))) (#(struct:change #<rule egg-rr> (2) ((x or (*.f64 y.im (log.f64 (neg.f64 x.re))) (*.f64 y.im (log.f64 (neg.f64 x.re))))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (log.f64 x.im) y.re) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (log.f64 x.im) y.re))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (log.f64 x.im) (/.f64 y.re 2)) (*.f64 (log.f64 x.im) (/.f64 y.re 2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (log.f64 x.im) y.re) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (log.f64 x.im) y.re) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (log.f64 x.im) (+.f64 y.re y.re)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (log.f64 x.im) (*.f64 y.re 4)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (log.f64 x.im) (*.f64 y.re 4))) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (log.f64 x.im) (*.f64 y.re 4)))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (log.f64 x.im) (*.f64 y.re 4)))) (*.f64 2 (*.f64 2 (*.f64 (log.f64 x.im) (*.f64 y.re 4))))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (*.f64 (log.f64 x.im) y.re)))))) (#(struct:change #<rule egg-rr> (2) ((x and (*.f64 (log.f64 x.im) y.re) (*.f64 (log.f64 x.im) y.re))))) (#(struct:change #<rule egg-rr> (2) ((x or (*.f64 (log.f64 x.im) y.re) (*.f64 (log.f64 x.im) y.re))))))

simplify423.0ms (0.8%)

Algorithm
egg-herbie
Rules
1988×rational.json-simplify-35
1440×rational.json-simplify-1
1050×rational.json-simplify-2
918×rational.json-simplify-52
868×rational.json-simplify-51
Iterations

Useful iterations: 5 (0.0ms)

IterNodesCost
02112687
14402639
29882639
333192639
453952631
563002623
673292623
778312623
Stop Event
node limit
Counts
131 → 121
Calls
Call 1
Inputs
(*.f64 y.im (log.f64 (neg.f64 x.re)))
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 y.im 3) (pow.f64 (log.f64 (neg.f64 x.re)) 3))) (*.f64 y.im (log.f64 (neg.f64 x.re))))
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 y.im 3) (pow.f64 (log.f64 (neg.f64 x.re)) 3))) (+.f64 (*.f64 y.im (log.f64 (neg.f64 x.re))) (*.f64 1/120 (*.f64 (pow.f64 y.im 5) (pow.f64 (log.f64 (neg.f64 x.re)) 5)))))
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 y.im 3) (pow.f64 (log.f64 (neg.f64 x.re)) 3))) (+.f64 (*.f64 -1/5040 (*.f64 (pow.f64 y.im 7) (pow.f64 (log.f64 (neg.f64 x.re)) 7))) (+.f64 (*.f64 y.im (log.f64 (neg.f64 x.re))) (*.f64 1/120 (*.f64 (pow.f64 y.im 5) (pow.f64 (log.f64 (neg.f64 x.re)) 5))))))
(sin.f64 (*.f64 (+.f64 (log.f64 -1) (log.f64 x.re)) y.im))
(sin.f64 (*.f64 (+.f64 (log.f64 -1) (log.f64 x.re)) y.im))
(sin.f64 (*.f64 (+.f64 (log.f64 -1) (log.f64 x.re)) y.im))
(sin.f64 (*.f64 (+.f64 (log.f64 -1) (log.f64 x.re)) y.im))
(sin.f64 (*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 x.re))) (log.f64 -1)) y.im))
(sin.f64 (*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 x.re))) (log.f64 -1)) y.im))
(sin.f64 (*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 x.re))) (log.f64 -1)) y.im))
(sin.f64 (*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 x.re))) (log.f64 -1)) y.im))
(sin.f64 (*.f64 -1 (*.f64 y.im (log.f64 (/.f64 -1 x.re)))))
(sin.f64 (*.f64 -1 (*.f64 y.im (log.f64 (/.f64 -1 x.re)))))
(sin.f64 (*.f64 -1 (*.f64 y.im (log.f64 (/.f64 -1 x.re)))))
(sin.f64 (*.f64 -1 (*.f64 y.im (log.f64 (/.f64 -1 x.re)))))
(*.f64 (+.f64 (log.f64 -1) (log.f64 x.re)) y.im)
(*.f64 (+.f64 (log.f64 -1) (log.f64 x.re)) y.im)
(*.f64 (+.f64 (log.f64 -1) (log.f64 x.re)) y.im)
(*.f64 (+.f64 (log.f64 -1) (log.f64 x.re)) y.im)
(*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 x.re))) (log.f64 -1)) y.im)
(*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 x.re))) (log.f64 -1)) y.im)
(*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 x.re))) (log.f64 -1)) y.im)
(*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 x.re))) (log.f64 -1)) y.im)
(*.f64 -1 (*.f64 (log.f64 (/.f64 -1 x.re)) y.im))
(*.f64 -1 (*.f64 (log.f64 (/.f64 -1 x.re)) y.im))
(*.f64 -1 (*.f64 (log.f64 (/.f64 -1 x.re)) y.im))
(*.f64 -1 (*.f64 (log.f64 (/.f64 -1 x.re)) y.im))
(*.f64 y.re (log.f64 x.im))
(*.f64 y.re (log.f64 x.im))
(*.f64 y.re (log.f64 x.im))
(*.f64 y.re (log.f64 x.im))
(*.f64 -1 (*.f64 (log.f64 (/.f64 1 x.im)) y.re))
(*.f64 -1 (*.f64 (log.f64 (/.f64 1 x.im)) y.re))
(*.f64 -1 (*.f64 (log.f64 (/.f64 1 x.im)) y.re))
(*.f64 -1 (*.f64 (log.f64 (/.f64 1 x.im)) y.re))
(*.f64 y.re (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 x.im)))))
(*.f64 y.re (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 x.im)))))
(*.f64 y.re (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 x.im)))))
(*.f64 y.re (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 x.im)))))
(*.f64 y.re (log.f64 x.im))
(*.f64 y.re (log.f64 x.im))
(*.f64 y.re (log.f64 x.im))
(*.f64 y.re (log.f64 x.im))
(*.f64 y.re (log.f64 x.im))
(*.f64 y.re (log.f64 x.im))
(*.f64 y.re (log.f64 x.im))
(*.f64 y.re (log.f64 x.im))
(*.f64 y.re (log.f64 x.im))
(*.f64 y.re (log.f64 x.im))
(*.f64 y.re (log.f64 x.im))
(*.f64 y.re (log.f64 x.im))
(+.f64 (sin.f64 (*.f64 y.im (log.f64 (neg.f64 x.re)))) 0)
(+.f64 0 (sin.f64 (*.f64 y.im (log.f64 (neg.f64 x.re)))))
(+.f64 -1 (-.f64 1 (neg.f64 (sin.f64 (*.f64 y.im (log.f64 (neg.f64 x.re)))))))
(+.f64 (*.f64 (sin.f64 (*.f64 y.im (log.f64 (neg.f64 x.re)))) 1/2) (*.f64 (sin.f64 (*.f64 y.im (log.f64 (neg.f64 x.re)))) 1/2))
(+.f64 (-.f64 1 (neg.f64 (sin.f64 (*.f64 y.im (log.f64 (neg.f64 x.re)))))) -1)
(-.f64 (sin.f64 (*.f64 y.im (log.f64 (neg.f64 x.re)))) 0)
(-.f64 0 (neg.f64 (sin.f64 (*.f64 y.im (log.f64 (neg.f64 x.re))))))
(*.f64 (sin.f64 (*.f64 y.im (log.f64 (neg.f64 x.re)))) 1)
(*.f64 1 (sin.f64 (*.f64 y.im (log.f64 (neg.f64 x.re)))))
(*.f64 -1 (neg.f64 (sin.f64 (*.f64 y.im (log.f64 (neg.f64 x.re))))))
(*.f64 2 (*.f64 (sin.f64 (*.f64 y.im (log.f64 (neg.f64 x.re)))) 1/2))
(*.f64 (*.f64 (sin.f64 (*.f64 y.im (log.f64 (neg.f64 x.re)))) 2) 1/2)
(*.f64 4 (/.f64 (sin.f64 (*.f64 y.im (log.f64 (neg.f64 x.re)))) 4))
(*.f64 (*.f64 (sin.f64 (*.f64 y.im (log.f64 (neg.f64 x.re)))) 4) 1/4)
(*.f64 1/2 (*.f64 (sin.f64 (*.f64 y.im (log.f64 (neg.f64 x.re)))) 2))
(*.f64 (*.f64 (sin.f64 (*.f64 y.im (log.f64 (neg.f64 x.re)))) 1/2) 2)
(*.f64 (neg.f64 (sin.f64 (*.f64 y.im (log.f64 (neg.f64 x.re))))) -1)
(*.f64 1/4 (*.f64 (sin.f64 (*.f64 y.im (log.f64 (neg.f64 x.re)))) 4))
(*.f64 (/.f64 (sin.f64 (*.f64 y.im (log.f64 (neg.f64 x.re)))) 4) 4)
(/.f64 (sin.f64 (*.f64 y.im (log.f64 (neg.f64 x.re)))) 1)
(/.f64 (*.f64 (sin.f64 (*.f64 y.im (log.f64 (neg.f64 x.re)))) 2) 2)
(/.f64 (*.f64 (sin.f64 (*.f64 y.im (log.f64 (neg.f64 x.re)))) 4) 4)
(/.f64 (*.f64 2 (*.f64 (sin.f64 (*.f64 y.im (log.f64 (neg.f64 x.re)))) 4)) 8)
(/.f64 (neg.f64 (sin.f64 (*.f64 y.im (log.f64 (neg.f64 x.re))))) -1)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (sin.f64 (*.f64 y.im (log.f64 (neg.f64 x.re)))) 4))) 16)
(/.f64 (+.f64 (neg.f64 (sin.f64 (*.f64 y.im (log.f64 (neg.f64 x.re))))) (neg.f64 (sin.f64 (*.f64 y.im (log.f64 (neg.f64 x.re)))))) -2)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (sin.f64 (*.f64 y.im (log.f64 (neg.f64 x.re)))) 4))) (*.f64 2 (*.f64 2 (*.f64 (sin.f64 (*.f64 y.im (log.f64 (neg.f64 x.re)))) 4)))) 32)
(neg.f64 (neg.f64 (sin.f64 (*.f64 y.im (log.f64 (neg.f64 x.re))))))
(+.f64 (*.f64 y.im (log.f64 (neg.f64 x.re))) 0)
(+.f64 0 (*.f64 y.im (log.f64 (neg.f64 x.re))))
(+.f64 -1 (-.f64 (*.f64 y.im (log.f64 (neg.f64 x.re))) -1))
(+.f64 (PI.f64) (-.f64 (*.f64 y.im (log.f64 (neg.f64 x.re))) (PI.f64)))
(+.f64 (-.f64 (*.f64 y.im (log.f64 (neg.f64 x.re))) (PI.f64)) (PI.f64))
(+.f64 (-.f64 (*.f64 y.im (log.f64 (neg.f64 x.re))) (PI.f64)) (-.f64 (neg.f64 (PI.f64)) (*.f64 (PI.f64) -2)))
(+.f64 (*.f64 (PI.f64) 1/2) (-.f64 (*.f64 (PI.f64) 1/2) (-.f64 (PI.f64) (*.f64 y.im (log.f64 (neg.f64 x.re))))))
(+.f64 (*.f64 (PI.f64) 2) (+.f64 (*.f64 y.im (log.f64 (neg.f64 x.re))) (*.f64 (PI.f64) -2)))
(+.f64 (neg.f64 (PI.f64)) (+.f64 (*.f64 y.im (log.f64 (neg.f64 x.re))) (PI.f64)))
(+.f64 (+.f64 (*.f64 y.im (log.f64 (neg.f64 x.re))) (PI.f64)) (neg.f64 (PI.f64)))
(+.f64 (+.f64 (*.f64 y.im (log.f64 (neg.f64 x.re))) (*.f64 (PI.f64) -2)) (*.f64 (PI.f64) 2))
(+.f64 (*.f64 y.im (*.f64 (log.f64 (neg.f64 x.re)) 1/2)) (*.f64 y.im (*.f64 (log.f64 (neg.f64 x.re)) 1/2)))
(+.f64 (-.f64 (*.f64 y.im (log.f64 (neg.f64 x.re))) -1) -1)
(+.f64 (-.f64 (*.f64 y.im (log.f64 (neg.f64 x.re))) -1) (-.f64 (PI.f64) (+.f64 1 (PI.f64))))
(+.f64 (-.f64 (PI.f64) 1) (-.f64 (*.f64 y.im (log.f64 (neg.f64 x.re))) (-.f64 (PI.f64) 1)))
(+.f64 (-.f64 (*.f64 y.im (log.f64 (neg.f64 x.re))) (-.f64 (PI.f64) 1)) (-.f64 (PI.f64) 1))
(+.f64 (-.f64 (*.f64 y.im (log.f64 (neg.f64 x.re))) (-.f64 (PI.f64) 1)) (-.f64 (-.f64 -1 (PI.f64)) (*.f64 (PI.f64) -2)))
(+.f64 (-.f64 1 (PI.f64)) (-.f64 -1 (-.f64 (neg.f64 (PI.f64)) (*.f64 y.im (log.f64 (neg.f64 x.re))))))
(+.f64 (*.f64 (PI.f64) -2) (+.f64 (*.f64 y.im (log.f64 (neg.f64 x.re))) (*.f64 (PI.f64) 2)))
(+.f64 (*.f64 (PI.f64) -2) (-.f64 (*.f64 y.im (log.f64 (neg.f64 x.re))) (*.f64 (PI.f64) -2)))
(+.f64 (+.f64 (*.f64 y.im (log.f64 (neg.f64 x.re))) (-.f64 -1 (PI.f64))) (+.f64 1 (PI.f64)))
(+.f64 (-.f64 -1 (-.f64 (neg.f64 (PI.f64)) (*.f64 y.im (log.f64 (neg.f64 x.re))))) (-.f64 1 (PI.f64)))
(-.f64 (*.f64 y.im (log.f64 (neg.f64 x.re))) 0)
(-.f64 0 (neg.f64 (*.f64 y.im (log.f64 (neg.f64 x.re)))))
(-.f64 (PI.f64) (-.f64 (PI.f64) (*.f64 y.im (log.f64 (neg.f64 x.re)))))
(-.f64 (-.f64 (*.f64 y.im (log.f64 (neg.f64 x.re))) (PI.f64)) (neg.f64 (PI.f64)))
(-.f64 (*.f64 (PI.f64) 2) (-.f64 (*.f64 (PI.f64) 2) (*.f64 y.im (log.f64 (neg.f64 x.re)))))
(-.f64 (neg.f64 (PI.f64)) (-.f64 (neg.f64 (PI.f64)) (*.f64 y.im (log.f64 (neg.f64 x.re)))))
(-.f64 (+.f64 (*.f64 y.im (log.f64 (neg.f64 x.re))) (PI.f64)) (PI.f64))
(-.f64 (+.f64 (*.f64 y.im (log.f64 (neg.f64 x.re))) (*.f64 (PI.f64) -2)) (*.f64 (PI.f64) -2))
(-.f64 (-.f64 (*.f64 (PI.f64) 2) (PI.f64)) (-.f64 (PI.f64) (*.f64 y.im (log.f64 (neg.f64 x.re)))))
(-.f64 (-.f64 (neg.f64 (PI.f64)) (*.f64 (PI.f64) -2)) (-.f64 (PI.f64) (*.f64 y.im (log.f64 (neg.f64 x.re)))))
(/.f64 (*.f64 y.im (log.f64 (neg.f64 x.re))) 1)
(/.f64 (*.f64 y.im (*.f64 (log.f64 (neg.f64 x.re)) 2)) 2)
(/.f64 (*.f64 y.im (*.f64 (log.f64 (neg.f64 x.re)) 4)) 4)
(/.f64 (neg.f64 (*.f64 y.im (log.f64 (neg.f64 x.re)))) -1)
(/.f64 (*.f64 2 (*.f64 y.im (*.f64 (log.f64 (neg.f64 x.re)) 4))) 8)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 y.im (*.f64 (log.f64 (neg.f64 x.re)) 4)))) 16)
(/.f64 (*.f64 2 (neg.f64 (*.f64 y.im (log.f64 (neg.f64 x.re))))) -2)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 y.im (*.f64 (log.f64 (neg.f64 x.re)) 4)))) (*.f64 2 (*.f64 2 (*.f64 y.im (*.f64 (log.f64 (neg.f64 x.re)) 4))))) 32)
(neg.f64 (neg.f64 (*.f64 y.im (log.f64 (neg.f64 x.re)))))
(+.f64 (*.f64 (log.f64 x.im) y.re) 0)
(+.f64 0 (*.f64 (log.f64 x.im) y.re))
(+.f64 (*.f64 (log.f64 x.im) (/.f64 y.re 2)) (*.f64 (log.f64 x.im) (/.f64 y.re 2)))
(-.f64 (*.f64 (log.f64 x.im) y.re) 0)
(/.f64 (*.f64 (log.f64 x.im) y.re) 1)
(/.f64 (*.f64 (log.f64 x.im) (+.f64 y.re y.re)) 2)
(/.f64 (*.f64 (log.f64 x.im) (*.f64 y.re 4)) 4)
(/.f64 (*.f64 2 (*.f64 (log.f64 x.im) (*.f64 y.re 4))) 8)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (log.f64 x.im) (*.f64 y.re 4)))) 16)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (log.f64 x.im) (*.f64 y.re 4)))) (*.f64 2 (*.f64 2 (*.f64 (log.f64 x.im) (*.f64 y.re 4))))) 32)
Outputs
(*.f64 y.im (log.f64 (neg.f64 x.re)))
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 y.im 3) (pow.f64 (log.f64 (neg.f64 x.re)) 3))) (*.f64 y.im (log.f64 (neg.f64 x.re))))
(+.f64 (*.f64 y.im (log.f64 (neg.f64 x.re))) (*.f64 -1/6 (*.f64 (pow.f64 y.im 3) (pow.f64 (log.f64 (neg.f64 x.re)) 3))))
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 y.im 3) (pow.f64 (log.f64 (neg.f64 x.re)) 3))) (+.f64 (*.f64 y.im (log.f64 (neg.f64 x.re))) (*.f64 1/120 (*.f64 (pow.f64 y.im 5) (pow.f64 (log.f64 (neg.f64 x.re)) 5)))))
(+.f64 (*.f64 y.im (log.f64 (neg.f64 x.re))) (+.f64 (*.f64 1/120 (*.f64 (pow.f64 y.im 5) (pow.f64 (log.f64 (neg.f64 x.re)) 5))) (*.f64 -1/6 (*.f64 (pow.f64 y.im 3) (pow.f64 (log.f64 (neg.f64 x.re)) 3)))))
(+.f64 (*.f64 y.im (log.f64 (neg.f64 x.re))) (+.f64 (*.f64 -1/6 (*.f64 (pow.f64 y.im 3) (pow.f64 (log.f64 (neg.f64 x.re)) 3))) (*.f64 1/120 (*.f64 (pow.f64 y.im 5) (pow.f64 (log.f64 (neg.f64 x.re)) 5)))))
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 y.im 3) (pow.f64 (log.f64 (neg.f64 x.re)) 3))) (+.f64 (*.f64 -1/5040 (*.f64 (pow.f64 y.im 7) (pow.f64 (log.f64 (neg.f64 x.re)) 7))) (+.f64 (*.f64 y.im (log.f64 (neg.f64 x.re))) (*.f64 1/120 (*.f64 (pow.f64 y.im 5) (pow.f64 (log.f64 (neg.f64 x.re)) 5))))))
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 y.im 3) (pow.f64 (log.f64 (neg.f64 x.re)) 3))) (+.f64 (+.f64 (*.f64 y.im (log.f64 (neg.f64 x.re))) (*.f64 1/120 (*.f64 (pow.f64 y.im 5) (pow.f64 (log.f64 (neg.f64 x.re)) 5)))) (*.f64 -1/5040 (*.f64 (pow.f64 y.im 7) (pow.f64 (log.f64 (neg.f64 x.re)) 7)))))
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 y.im 3) (pow.f64 (log.f64 (neg.f64 x.re)) 3))) (+.f64 (*.f64 y.im (log.f64 (neg.f64 x.re))) (+.f64 (*.f64 1/120 (*.f64 (pow.f64 y.im 5) (pow.f64 (log.f64 (neg.f64 x.re)) 5))) (*.f64 -1/5040 (*.f64 (pow.f64 y.im 7) (pow.f64 (log.f64 (neg.f64 x.re)) 7))))))
(sin.f64 (*.f64 (+.f64 (log.f64 -1) (log.f64 x.re)) y.im))
(sin.f64 (*.f64 y.im (+.f64 (log.f64 -1) (log.f64 x.re))))
(sin.f64 (*.f64 (+.f64 (log.f64 -1) (log.f64 x.re)) y.im))
(sin.f64 (*.f64 y.im (+.f64 (log.f64 -1) (log.f64 x.re))))
(sin.f64 (*.f64 (+.f64 (log.f64 -1) (log.f64 x.re)) y.im))
(sin.f64 (*.f64 y.im (+.f64 (log.f64 -1) (log.f64 x.re))))
(sin.f64 (*.f64 (+.f64 (log.f64 -1) (log.f64 x.re)) y.im))
(sin.f64 (*.f64 y.im (+.f64 (log.f64 -1) (log.f64 x.re))))
(sin.f64 (*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 x.re))) (log.f64 -1)) y.im))
(sin.f64 (*.f64 y.im (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 1 x.re))))))
(sin.f64 (*.f64 y.im (+.f64 (log.f64 -1) (neg.f64 (log.f64 (/.f64 1 x.re))))))
(sin.f64 (*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 x.re))) (log.f64 -1)) y.im))
(sin.f64 (*.f64 y.im (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 1 x.re))))))
(sin.f64 (*.f64 y.im (+.f64 (log.f64 -1) (neg.f64 (log.f64 (/.f64 1 x.re))))))
(sin.f64 (*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 x.re))) (log.f64 -1)) y.im))
(sin.f64 (*.f64 y.im (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 1 x.re))))))
(sin.f64 (*.f64 y.im (+.f64 (log.f64 -1) (neg.f64 (log.f64 (/.f64 1 x.re))))))
(sin.f64 (*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 x.re))) (log.f64 -1)) y.im))
(sin.f64 (*.f64 y.im (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 1 x.re))))))
(sin.f64 (*.f64 y.im (+.f64 (log.f64 -1) (neg.f64 (log.f64 (/.f64 1 x.re))))))
(sin.f64 (*.f64 -1 (*.f64 y.im (log.f64 (/.f64 -1 x.re)))))
(sin.f64 (*.f64 y.im (*.f64 (log.f64 (/.f64 -1 x.re)) -1)))
(sin.f64 (*.f64 y.im (neg.f64 (log.f64 (/.f64 -1 x.re)))))
(neg.f64 (sin.f64 (*.f64 y.im (log.f64 (/.f64 -1 x.re)))))
(sin.f64 (*.f64 -1 (*.f64 y.im (log.f64 (/.f64 -1 x.re)))))
(sin.f64 (*.f64 y.im (*.f64 (log.f64 (/.f64 -1 x.re)) -1)))
(sin.f64 (*.f64 y.im (neg.f64 (log.f64 (/.f64 -1 x.re)))))
(neg.f64 (sin.f64 (*.f64 y.im (log.f64 (/.f64 -1 x.re)))))
(sin.f64 (*.f64 -1 (*.f64 y.im (log.f64 (/.f64 -1 x.re)))))
(sin.f64 (*.f64 y.im (*.f64 (log.f64 (/.f64 -1 x.re)) -1)))
(sin.f64 (*.f64 y.im (neg.f64 (log.f64 (/.f64 -1 x.re)))))
(neg.f64 (sin.f64 (*.f64 y.im (log.f64 (/.f64 -1 x.re)))))
(sin.f64 (*.f64 -1 (*.f64 y.im (log.f64 (/.f64 -1 x.re)))))
(sin.f64 (*.f64 y.im (*.f64 (log.f64 (/.f64 -1 x.re)) -1)))
(sin.f64 (*.f64 y.im (neg.f64 (log.f64 (/.f64 -1 x.re)))))
(neg.f64 (sin.f64 (*.f64 y.im (log.f64 (/.f64 -1 x.re)))))
(*.f64 (+.f64 (log.f64 -1) (log.f64 x.re)) y.im)
(*.f64 y.im (+.f64 (log.f64 -1) (log.f64 x.re)))
(*.f64 (+.f64 (log.f64 -1) (log.f64 x.re)) y.im)
(*.f64 y.im (+.f64 (log.f64 -1) (log.f64 x.re)))
(*.f64 (+.f64 (log.f64 -1) (log.f64 x.re)) y.im)
(*.f64 y.im (+.f64 (log.f64 -1) (log.f64 x.re)))
(*.f64 (+.f64 (log.f64 -1) (log.f64 x.re)) y.im)
(*.f64 y.im (+.f64 (log.f64 -1) (log.f64 x.re)))
(*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 x.re))) (log.f64 -1)) y.im)
(*.f64 y.im (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 1 x.re)))))
(*.f64 y.im (+.f64 (log.f64 -1) (neg.f64 (log.f64 (/.f64 1 x.re)))))
(*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 x.re))) (log.f64 -1)) y.im)
(*.f64 y.im (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 1 x.re)))))
(*.f64 y.im (+.f64 (log.f64 -1) (neg.f64 (log.f64 (/.f64 1 x.re)))))
(*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 x.re))) (log.f64 -1)) y.im)
(*.f64 y.im (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 1 x.re)))))
(*.f64 y.im (+.f64 (log.f64 -1) (neg.f64 (log.f64 (/.f64 1 x.re)))))
(*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 x.re))) (log.f64 -1)) y.im)
(*.f64 y.im (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 1 x.re)))))
(*.f64 y.im (+.f64 (log.f64 -1) (neg.f64 (log.f64 (/.f64 1 x.re)))))
(*.f64 -1 (*.f64 (log.f64 (/.f64 -1 x.re)) y.im))
(*.f64 y.im (*.f64 (log.f64 (/.f64 -1 x.re)) -1))
(*.f64 y.im (neg.f64 (log.f64 (/.f64 -1 x.re))))
(*.f64 (log.f64 (/.f64 -1 x.re)) (neg.f64 y.im))
(*.f64 -1 (*.f64 (log.f64 (/.f64 -1 x.re)) y.im))
(*.f64 y.im (*.f64 (log.f64 (/.f64 -1 x.re)) -1))
(*.f64 y.im (neg.f64 (log.f64 (/.f64 -1 x.re))))
(*.f64 (log.f64 (/.f64 -1 x.re)) (neg.f64 y.im))
(*.f64 -1 (*.f64 (log.f64 (/.f64 -1 x.re)) y.im))
(*.f64 y.im (*.f64 (log.f64 (/.f64 -1 x.re)) -1))
(*.f64 y.im (neg.f64 (log.f64 (/.f64 -1 x.re))))
(*.f64 (log.f64 (/.f64 -1 x.re)) (neg.f64 y.im))
(*.f64 -1 (*.f64 (log.f64 (/.f64 -1 x.re)) y.im))
(*.f64 y.im (*.f64 (log.f64 (/.f64 -1 x.re)) -1))
(*.f64 y.im (neg.f64 (log.f64 (/.f64 -1 x.re))))
(*.f64 (log.f64 (/.f64 -1 x.re)) (neg.f64 y.im))
(*.f64 y.re (log.f64 x.im))
(*.f64 y.re (log.f64 x.im))
(*.f64 y.re (log.f64 x.im))
(*.f64 y.re (log.f64 x.im))
(*.f64 -1 (*.f64 (log.f64 (/.f64 1 x.im)) y.re))
(*.f64 -1 (*.f64 y.re (log.f64 (/.f64 1 x.im))))
(*.f64 (log.f64 (/.f64 1 x.im)) (neg.f64 y.re))
(*.f64 y.re (neg.f64 (log.f64 (/.f64 1 x.im))))
(*.f64 -1 (*.f64 (log.f64 (/.f64 1 x.im)) y.re))
(*.f64 -1 (*.f64 y.re (log.f64 (/.f64 1 x.im))))
(*.f64 (log.f64 (/.f64 1 x.im)) (neg.f64 y.re))
(*.f64 y.re (neg.f64 (log.f64 (/.f64 1 x.im))))
(*.f64 -1 (*.f64 (log.f64 (/.f64 1 x.im)) y.re))
(*.f64 -1 (*.f64 y.re (log.f64 (/.f64 1 x.im))))
(*.f64 (log.f64 (/.f64 1 x.im)) (neg.f64 y.re))
(*.f64 y.re (neg.f64 (log.f64 (/.f64 1 x.im))))
(*.f64 -1 (*.f64 (log.f64 (/.f64 1 x.im)) y.re))
(*.f64 -1 (*.f64 y.re (log.f64 (/.f64 1 x.im))))
(*.f64 (log.f64 (/.f64 1 x.im)) (neg.f64 y.re))
(*.f64 y.re (neg.f64 (log.f64 (/.f64 1 x.im))))
(*.f64 y.re (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 x.im)))))
(*.f64 y.re (+.f64 (log.f64 -1) (neg.f64 (log.f64 (/.f64 -1 x.im)))))
(*.f64 y.re (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 x.im)))))
(*.f64 y.re (+.f64 (log.f64 -1) (neg.f64 (log.f64 (/.f64 -1 x.im)))))
(*.f64 y.re (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 x.im)))))
(*.f64 y.re (+.f64 (log.f64 -1) (neg.f64 (log.f64 (/.f64 -1 x.im)))))
(*.f64 y.re (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 x.im)))))
(*.f64 y.re (+.f64 (log.f64 -1) (neg.f64 (log.f64 (/.f64 -1 x.im)))))
(*.f64 y.re (log.f64 x.im))
(*.f64 y.re (log.f64 x.im))
(*.f64 y.re (log.f64 x.im))
(*.f64 y.re (log.f64 x.im))
(*.f64 y.re (log.f64 x.im))
(*.f64 y.re (log.f64 x.im))
(*.f64 y.re (log.f64 x.im))
(*.f64 y.re (log.f64 x.im))
(*.f64 y.re (log.f64 x.im))
(*.f64 y.re (log.f64 x.im))
(*.f64 y.re (log.f64 x.im))
(*.f64 y.re (log.f64 x.im))
(+.f64 (sin.f64 (*.f64 y.im (log.f64 (neg.f64 x.re)))) 0)
(sin.f64 (*.f64 y.im (log.f64 (neg.f64 x.re))))
(+.f64 0 (sin.f64 (*.f64 y.im (log.f64 (neg.f64 x.re)))))
(sin.f64 (*.f64 y.im (log.f64 (neg.f64 x.re))))
(+.f64 -1 (-.f64 1 (neg.f64 (sin.f64 (*.f64 y.im (log.f64 (neg.f64 x.re)))))))
(sin.f64 (*.f64 y.im (log.f64 (neg.f64 x.re))))
(+.f64 (*.f64 (sin.f64 (*.f64 y.im (log.f64 (neg.f64 x.re)))) 1/2) (*.f64 (sin.f64 (*.f64 y.im (log.f64 (neg.f64 x.re)))) 1/2))
(sin.f64 (*.f64 y.im (log.f64 (neg.f64 x.re))))
(+.f64 (-.f64 1 (neg.f64 (sin.f64 (*.f64 y.im (log.f64 (neg.f64 x.re)))))) -1)
(sin.f64 (*.f64 y.im (log.f64 (neg.f64 x.re))))
(-.f64 (sin.f64 (*.f64 y.im (log.f64 (neg.f64 x.re)))) 0)
(sin.f64 (*.f64 y.im (log.f64 (neg.f64 x.re))))
(-.f64 0 (neg.f64 (sin.f64 (*.f64 y.im (log.f64 (neg.f64 x.re))))))
(sin.f64 (*.f64 y.im (log.f64 (neg.f64 x.re))))
(*.f64 (sin.f64 (*.f64 y.im (log.f64 (neg.f64 x.re)))) 1)
(sin.f64 (*.f64 y.im (log.f64 (neg.f64 x.re))))
(*.f64 1 (sin.f64 (*.f64 y.im (log.f64 (neg.f64 x.re)))))
(sin.f64 (*.f64 y.im (log.f64 (neg.f64 x.re))))
(*.f64 -1 (neg.f64 (sin.f64 (*.f64 y.im (log.f64 (neg.f64 x.re))))))
(sin.f64 (*.f64 y.im (log.f64 (neg.f64 x.re))))
(*.f64 2 (*.f64 (sin.f64 (*.f64 y.im (log.f64 (neg.f64 x.re)))) 1/2))
(sin.f64 (*.f64 y.im (log.f64 (neg.f64 x.re))))
(*.f64 (*.f64 (sin.f64 (*.f64 y.im (log.f64 (neg.f64 x.re)))) 2) 1/2)
(sin.f64 (*.f64 y.im (log.f64 (neg.f64 x.re))))
(*.f64 4 (/.f64 (sin.f64 (*.f64 y.im (log.f64 (neg.f64 x.re)))) 4))
(sin.f64 (*.f64 y.im (log.f64 (neg.f64 x.re))))
(*.f64 (*.f64 (sin.f64 (*.f64 y.im (log.f64 (neg.f64 x.re)))) 4) 1/4)
(sin.f64 (*.f64 y.im (log.f64 (neg.f64 x.re))))
(*.f64 1/2 (*.f64 (sin.f64 (*.f64 y.im (log.f64 (neg.f64 x.re)))) 2))
(sin.f64 (*.f64 y.im (log.f64 (neg.f64 x.re))))
(*.f64 (*.f64 (sin.f64 (*.f64 y.im (log.f64 (neg.f64 x.re)))) 1/2) 2)
(sin.f64 (*.f64 y.im (log.f64 (neg.f64 x.re))))
(*.f64 (neg.f64 (sin.f64 (*.f64 y.im (log.f64 (neg.f64 x.re))))) -1)
(sin.f64 (*.f64 y.im (log.f64 (neg.f64 x.re))))
(*.f64 1/4 (*.f64 (sin.f64 (*.f64 y.im (log.f64 (neg.f64 x.re)))) 4))
(sin.f64 (*.f64 y.im (log.f64 (neg.f64 x.re))))
(*.f64 (/.f64 (sin.f64 (*.f64 y.im (log.f64 (neg.f64 x.re)))) 4) 4)
(sin.f64 (*.f64 y.im (log.f64 (neg.f64 x.re))))
(/.f64 (sin.f64 (*.f64 y.im (log.f64 (neg.f64 x.re)))) 1)
(sin.f64 (*.f64 y.im (log.f64 (neg.f64 x.re))))
(/.f64 (*.f64 (sin.f64 (*.f64 y.im (log.f64 (neg.f64 x.re)))) 2) 2)
(sin.f64 (*.f64 y.im (log.f64 (neg.f64 x.re))))
(/.f64 (*.f64 (sin.f64 (*.f64 y.im (log.f64 (neg.f64 x.re)))) 4) 4)
(sin.f64 (*.f64 y.im (log.f64 (neg.f64 x.re))))
(/.f64 (*.f64 2 (*.f64 (sin.f64 (*.f64 y.im (log.f64 (neg.f64 x.re)))) 4)) 8)
(sin.f64 (*.f64 y.im (log.f64 (neg.f64 x.re))))
(/.f64 (neg.f64 (sin.f64 (*.f64 y.im (log.f64 (neg.f64 x.re))))) -1)
(sin.f64 (*.f64 y.im (log.f64 (neg.f64 x.re))))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (sin.f64 (*.f64 y.im (log.f64 (neg.f64 x.re)))) 4))) 16)
(sin.f64 (*.f64 y.im (log.f64 (neg.f64 x.re))))
(/.f64 (+.f64 (neg.f64 (sin.f64 (*.f64 y.im (log.f64 (neg.f64 x.re))))) (neg.f64 (sin.f64 (*.f64 y.im (log.f64 (neg.f64 x.re)))))) -2)
(sin.f64 (*.f64 y.im (log.f64 (neg.f64 x.re))))
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (sin.f64 (*.f64 y.im (log.f64 (neg.f64 x.re)))) 4))) (*.f64 2 (*.f64 2 (*.f64 (sin.f64 (*.f64 y.im (log.f64 (neg.f64 x.re)))) 4)))) 32)
(sin.f64 (*.f64 y.im (log.f64 (neg.f64 x.re))))
(neg.f64 (neg.f64 (sin.f64 (*.f64 y.im (log.f64 (neg.f64 x.re))))))
(sin.f64 (*.f64 y.im (log.f64 (neg.f64 x.re))))
(+.f64 (*.f64 y.im (log.f64 (neg.f64 x.re))) 0)
(*.f64 y.im (log.f64 (neg.f64 x.re)))
(+.f64 0 (*.f64 y.im (log.f64 (neg.f64 x.re))))
(*.f64 y.im (log.f64 (neg.f64 x.re)))
(+.f64 -1 (-.f64 (*.f64 y.im (log.f64 (neg.f64 x.re))) -1))
(*.f64 y.im (log.f64 (neg.f64 x.re)))
(+.f64 (PI.f64) (-.f64 (*.f64 y.im (log.f64 (neg.f64 x.re))) (PI.f64)))
(*.f64 y.im (log.f64 (neg.f64 x.re)))
(+.f64 (-.f64 (*.f64 y.im (log.f64 (neg.f64 x.re))) (PI.f64)) (PI.f64))
(*.f64 y.im (log.f64 (neg.f64 x.re)))
(+.f64 (-.f64 (*.f64 y.im (log.f64 (neg.f64 x.re))) (PI.f64)) (-.f64 (neg.f64 (PI.f64)) (*.f64 (PI.f64) -2)))
(*.f64 y.im (log.f64 (neg.f64 x.re)))
(+.f64 (*.f64 (PI.f64) 1/2) (-.f64 (*.f64 (PI.f64) 1/2) (-.f64 (PI.f64) (*.f64 y.im (log.f64 (neg.f64 x.re))))))
(+.f64 (*.f64 1/2 (PI.f64)) (-.f64 (*.f64 y.im (log.f64 (neg.f64 x.re))) (-.f64 (PI.f64) (*.f64 1/2 (PI.f64)))))
(+.f64 (*.f64 y.im (log.f64 (neg.f64 x.re))) (+.f64 (*.f64 1/2 (PI.f64)) (-.f64 (*.f64 1/2 (PI.f64)) (PI.f64))))
(+.f64 (*.f64 y.im (log.f64 (neg.f64 x.re))) (+.f64 (*.f64 1/2 (PI.f64)) (*.f64 (PI.f64) -1/2)))
(+.f64 (*.f64 y.im (log.f64 (neg.f64 x.re))) (*.f64 0 (*.f64 (PI.f64) -1/2)))
(+.f64 (*.f64 (PI.f64) 2) (+.f64 (*.f64 y.im (log.f64 (neg.f64 x.re))) (*.f64 (PI.f64) -2)))
(*.f64 y.im (log.f64 (neg.f64 x.re)))
(+.f64 (neg.f64 (PI.f64)) (+.f64 (*.f64 y.im (log.f64 (neg.f64 x.re))) (PI.f64)))
(*.f64 y.im (log.f64 (neg.f64 x.re)))
(+.f64 (+.f64 (*.f64 y.im (log.f64 (neg.f64 x.re))) (PI.f64)) (neg.f64 (PI.f64)))
(*.f64 y.im (log.f64 (neg.f64 x.re)))
(+.f64 (+.f64 (*.f64 y.im (log.f64 (neg.f64 x.re))) (*.f64 (PI.f64) -2)) (*.f64 (PI.f64) 2))
(*.f64 y.im (log.f64 (neg.f64 x.re)))
(+.f64 (*.f64 y.im (*.f64 (log.f64 (neg.f64 x.re)) 1/2)) (*.f64 y.im (*.f64 (log.f64 (neg.f64 x.re)) 1/2)))
(*.f64 y.im (log.f64 (neg.f64 x.re)))
(+.f64 (-.f64 (*.f64 y.im (log.f64 (neg.f64 x.re))) -1) -1)
(*.f64 y.im (log.f64 (neg.f64 x.re)))
(+.f64 (-.f64 (*.f64 y.im (log.f64 (neg.f64 x.re))) -1) (-.f64 (PI.f64) (+.f64 1 (PI.f64))))
(*.f64 y.im (log.f64 (neg.f64 x.re)))
(+.f64 (-.f64 (PI.f64) 1) (-.f64 (*.f64 y.im (log.f64 (neg.f64 x.re))) (-.f64 (PI.f64) 1)))
(*.f64 y.im (log.f64 (neg.f64 x.re)))
(+.f64 (-.f64 (*.f64 y.im (log.f64 (neg.f64 x.re))) (-.f64 (PI.f64) 1)) (-.f64 (PI.f64) 1))
(*.f64 y.im (log.f64 (neg.f64 x.re)))
(+.f64 (-.f64 (*.f64 y.im (log.f64 (neg.f64 x.re))) (-.f64 (PI.f64) 1)) (-.f64 (-.f64 -1 (PI.f64)) (*.f64 (PI.f64) -2)))
(+.f64 (-.f64 (*.f64 y.im (log.f64 (neg.f64 x.re))) (+.f64 (PI.f64) -1)) (-.f64 (-.f64 -1 (PI.f64)) (*.f64 -2 (PI.f64))))
(+.f64 (-.f64 (*.f64 y.im (log.f64 (neg.f64 x.re))) (+.f64 -1 (PI.f64))) (-.f64 (-.f64 -1 (PI.f64)) (*.f64 -2 (PI.f64))))
(+.f64 (*.f64 y.im (log.f64 (neg.f64 x.re))) (+.f64 (-.f64 (-.f64 -1 (PI.f64)) (*.f64 -2 (PI.f64))) (-.f64 1 (PI.f64))))
(+.f64 (-.f64 1 (PI.f64)) (-.f64 -1 (-.f64 (neg.f64 (PI.f64)) (*.f64 y.im (log.f64 (neg.f64 x.re))))))
(*.f64 y.im (log.f64 (neg.f64 x.re)))
(+.f64 (*.f64 (PI.f64) -2) (+.f64 (*.f64 y.im (log.f64 (neg.f64 x.re))) (*.f64 (PI.f64) 2)))
(*.f64 y.im (log.f64 (neg.f64 x.re)))
(+.f64 (*.f64 (PI.f64) -2) (-.f64 (*.f64 y.im (log.f64 (neg.f64 x.re))) (*.f64 (PI.f64) -2)))
(*.f64 y.im (log.f64 (neg.f64 x.re)))
(+.f64 (+.f64 (*.f64 y.im (log.f64 (neg.f64 x.re))) (-.f64 -1 (PI.f64))) (+.f64 1 (PI.f64)))
(*.f64 y.im (log.f64 (neg.f64 x.re)))
(+.f64 (-.f64 -1 (-.f64 (neg.f64 (PI.f64)) (*.f64 y.im (log.f64 (neg.f64 x.re))))) (-.f64 1 (PI.f64)))
(*.f64 y.im (log.f64 (neg.f64 x.re)))
(-.f64 (*.f64 y.im (log.f64 (neg.f64 x.re))) 0)
(*.f64 y.im (log.f64 (neg.f64 x.re)))
(-.f64 0 (neg.f64 (*.f64 y.im (log.f64 (neg.f64 x.re)))))
(*.f64 y.im (log.f64 (neg.f64 x.re)))
(-.f64 (PI.f64) (-.f64 (PI.f64) (*.f64 y.im (log.f64 (neg.f64 x.re)))))
(*.f64 y.im (log.f64 (neg.f64 x.re)))
(-.f64 (-.f64 (*.f64 y.im (log.f64 (neg.f64 x.re))) (PI.f64)) (neg.f64 (PI.f64)))
(*.f64 y.im (log.f64 (neg.f64 x.re)))
(-.f64 (*.f64 (PI.f64) 2) (-.f64 (*.f64 (PI.f64) 2) (*.f64 y.im (log.f64 (neg.f64 x.re)))))
(*.f64 y.im (log.f64 (neg.f64 x.re)))
(-.f64 (neg.f64 (PI.f64)) (-.f64 (neg.f64 (PI.f64)) (*.f64 y.im (log.f64 (neg.f64 x.re)))))
(*.f64 y.im (log.f64 (neg.f64 x.re)))
(-.f64 (+.f64 (*.f64 y.im (log.f64 (neg.f64 x.re))) (PI.f64)) (PI.f64))
(*.f64 y.im (log.f64 (neg.f64 x.re)))
(-.f64 (+.f64 (*.f64 y.im (log.f64 (neg.f64 x.re))) (*.f64 (PI.f64) -2)) (*.f64 (PI.f64) -2))
(*.f64 y.im (log.f64 (neg.f64 x.re)))
(-.f64 (-.f64 (*.f64 (PI.f64) 2) (PI.f64)) (-.f64 (PI.f64) (*.f64 y.im (log.f64 (neg.f64 x.re)))))
(*.f64 y.im (log.f64 (neg.f64 x.re)))
(-.f64 (-.f64 (neg.f64 (PI.f64)) (*.f64 (PI.f64) -2)) (-.f64 (PI.f64) (*.f64 y.im (log.f64 (neg.f64 x.re)))))
(*.f64 y.im (log.f64 (neg.f64 x.re)))
(/.f64 (*.f64 y.im (log.f64 (neg.f64 x.re))) 1)
(*.f64 y.im (log.f64 (neg.f64 x.re)))
(/.f64 (*.f64 y.im (*.f64 (log.f64 (neg.f64 x.re)) 2)) 2)
(*.f64 y.im (log.f64 (neg.f64 x.re)))
(/.f64 (*.f64 y.im (*.f64 (log.f64 (neg.f64 x.re)) 4)) 4)
(*.f64 y.im (log.f64 (neg.f64 x.re)))
(/.f64 (neg.f64 (*.f64 y.im (log.f64 (neg.f64 x.re)))) -1)
(*.f64 y.im (log.f64 (neg.f64 x.re)))
(/.f64 (*.f64 2 (*.f64 y.im (*.f64 (log.f64 (neg.f64 x.re)) 4))) 8)
(*.f64 y.im (log.f64 (neg.f64 x.re)))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 y.im (*.f64 (log.f64 (neg.f64 x.re)) 4)))) 16)
(*.f64 y.im (log.f64 (neg.f64 x.re)))
(/.f64 (*.f64 2 (neg.f64 (*.f64 y.im (log.f64 (neg.f64 x.re))))) -2)
(*.f64 y.im (log.f64 (neg.f64 x.re)))
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 y.im (*.f64 (log.f64 (neg.f64 x.re)) 4)))) (*.f64 2 (*.f64 2 (*.f64 y.im (*.f64 (log.f64 (neg.f64 x.re)) 4))))) 32)
(*.f64 y.im (log.f64 (neg.f64 x.re)))
(neg.f64 (neg.f64 (*.f64 y.im (log.f64 (neg.f64 x.re)))))
(*.f64 y.im (log.f64 (neg.f64 x.re)))
(+.f64 (*.f64 (log.f64 x.im) y.re) 0)
(*.f64 y.re (log.f64 x.im))
(+.f64 0 (*.f64 (log.f64 x.im) y.re))
(*.f64 y.re (log.f64 x.im))
(+.f64 (*.f64 (log.f64 x.im) (/.f64 y.re 2)) (*.f64 (log.f64 x.im) (/.f64 y.re 2)))
(*.f64 y.re (log.f64 x.im))
(-.f64 (*.f64 (log.f64 x.im) y.re) 0)
(*.f64 y.re (log.f64 x.im))
(/.f64 (*.f64 (log.f64 x.im) y.re) 1)
(*.f64 y.re (log.f64 x.im))
(/.f64 (*.f64 (log.f64 x.im) (+.f64 y.re y.re)) 2)
(*.f64 y.re (log.f64 x.im))
(/.f64 (*.f64 (log.f64 x.im) (*.f64 y.re 4)) 4)
(*.f64 y.re (log.f64 x.im))
(/.f64 (*.f64 2 (*.f64 (log.f64 x.im) (*.f64 y.re 4))) 8)
(*.f64 y.re (log.f64 x.im))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (log.f64 x.im) (*.f64 y.re 4)))) 16)
(*.f64 y.re (log.f64 x.im))
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (log.f64 x.im) (*.f64 y.re 4)))) (*.f64 2 (*.f64 2 (*.f64 (log.f64 x.im) (*.f64 y.re 4))))) 32)
(*.f64 y.re (log.f64 x.im))

localize102.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.2b
(*.f64 (log.f64 x.re) y.re)
1.5b
(*.f64 (atan2.f64 x.im x.re) y.re)
2.3b
(*.f64 (atan2.f64 x.im x.re) y.im)
16.8b
(sin.f64 (+.f64 (*.f64 (log.f64 x.re) y.im) (*.f64 (atan2.f64 x.im x.re) y.re)))
Compiler

Compiled 96 to 15 computations (84.4% saved)

series2.2s (4.3%)

Counts
2 → 72
Calls

18 calls:

TimeVariablePointExpression
2.1s
x.im
@0
(sin.f64 (+.f64 (*.f64 (log.f64 x.re) y.im) (*.f64 (atan2.f64 x.im x.re) y.re)))
9.0ms
y.re
@0
(*.f64 (log.f64 x.re) y.re)
7.0ms
x.re
@-inf
(sin.f64 (+.f64 (*.f64 (log.f64 x.re) y.im) (*.f64 (atan2.f64 x.im x.re) y.re)))
7.0ms
x.re
@0
(sin.f64 (+.f64 (*.f64 (log.f64 x.re) y.im) (*.f64 (atan2.f64 x.im x.re) y.re)))
1.0ms
x.im
@inf
(sin.f64 (+.f64 (*.f64 (log.f64 x.re) y.im) (*.f64 (atan2.f64 x.im x.re) y.re)))

rewrite138.0ms (0.3%)

Algorithm
batch-egg-rewrite
Rules
2004×bool.json-1
1152×bool.json-2
1128×rational.json-1
1128×rational.json-2
1128×rational.json-4
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01444
113944
236044
374544
4160444
5374544
6761744
Stop Event
node limit
Counts
2 → 38
Calls
Call 1
Inputs
(sin.f64 (+.f64 (*.f64 (log.f64 x.re) y.im) (*.f64 (atan2.f64 x.im x.re) y.re)))
(*.f64 (log.f64 x.re) y.re)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (sin.f64 (+.f64 (*.f64 (log.f64 x.re) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (sin.f64 (+.f64 (*.f64 (log.f64 x.re) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 -1 (-.f64 1 (neg.f64 (sin.f64 (+.f64 (*.f64 (log.f64 x.re) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (sin.f64 (+.f64 (*.f64 (log.f64 x.re) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))) 1/2) (*.f64 (sin.f64 (+.f64 (*.f64 (log.f64 x.re) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 1 (neg.f64 (sin.f64 (+.f64 (*.f64 (log.f64 x.re) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (sin.f64 (+.f64 (*.f64 (log.f64 x.re) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (neg.f64 (sin.f64 (+.f64 (*.f64 (log.f64 x.re) y.im) (*.f64 (atan2.f64 x.im x.re) y.re)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sin.f64 (+.f64 (*.f64 (log.f64 x.re) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (sin.f64 (+.f64 (*.f64 (log.f64 x.re) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (sin.f64 (+.f64 (*.f64 (log.f64 x.re) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sin.f64 (+.f64 (*.f64 (log.f64 x.re) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 (sin.f64 (+.f64 (*.f64 (log.f64 x.re) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sin.f64 (+.f64 (*.f64 (log.f64 x.re) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 (sin.f64 (+.f64 (*.f64 (log.f64 x.re) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (neg.f64 (sin.f64 (+.f64 (*.f64 (log.f64 x.re) y.im) (*.f64 (atan2.f64 x.im x.re) y.re)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sin.f64 (+.f64 (*.f64 (log.f64 x.re) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))) 1/2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (sin.f64 (+.f64 (*.f64 (log.f64 x.re) y.im) (*.f64 (atan2.f64 x.im x.re) y.re)))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (sin.f64 (+.f64 (*.f64 (log.f64 x.re) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sin.f64 (+.f64 (*.f64 (log.f64 x.re) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sin.f64 (+.f64 (*.f64 (log.f64 x.re) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sin.f64 (+.f64 (*.f64 (log.f64 x.re) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sin.f64 (+.f64 (*.f64 (log.f64 x.re) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (sin.f64 (+.f64 (*.f64 (log.f64 x.re) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))) 4)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (sin.f64 (+.f64 (*.f64 (log.f64 x.re) y.im) (*.f64 (atan2.f64 x.im x.re) y.re)))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (sin.f64 (+.f64 (*.f64 (log.f64 x.re) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))) 4))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (neg.f64 (sin.f64 (+.f64 (*.f64 (log.f64 x.re) y.im) (*.f64 (atan2.f64 x.im x.re) y.re)))) (neg.f64 (sin.f64 (+.f64 (*.f64 (log.f64 x.re) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))))) -2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (sin.f64 (+.f64 (*.f64 (log.f64 x.re) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))) 4))) (*.f64 2 (*.f64 2 (*.f64 (sin.f64 (+.f64 (*.f64 (log.f64 x.re) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))) 4)))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (neg.f64 (sin.f64 (+.f64 (*.f64 (log.f64 x.re) y.im) (*.f64 (atan2.f64 x.im x.re) y.re)))))))) (#(struct:change #<rule egg-rr> (2) ((x not (not (sin.f64 (+.f64 (*.f64 (log.f64 x.re) y.im) (*.f64 (atan2.f64 x.im x.re) y.re)))))))) (#(struct:change #<rule egg-rr> (2) ((x and (sin.f64 (+.f64 (*.f64 (log.f64 x.re) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))) (sin.f64 (+.f64 (*.f64 (log.f64 x.re) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))))))) (#(struct:change #<rule egg-rr> (2) ((x or (sin.f64 (+.f64 (*.f64 (log.f64 x.re) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))) (sin.f64 (+.f64 (*.f64 (log.f64 x.re) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (log.f64 x.re) y.re) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (log.f64 x.re) y.re))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (log.f64 x.re) (*.f64 y.re 1/2)) (*.f64 (log.f64 x.re) (*.f64 y.re 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (log.f64 x.re) y.re) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (log.f64 x.re) y.re) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (log.f64 x.re) (+.f64 y.re y.re)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (log.f64 x.re) (*.f64 y.re 4)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (log.f64 x.re) (*.f64 y.re 4))) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (log.f64 x.re) (*.f64 y.re 4)))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (log.f64 x.re) (*.f64 y.re 4)))) (*.f64 2 (*.f64 2 (*.f64 (log.f64 x.re) (*.f64 y.re 4))))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (*.f64 (log.f64 x.re) y.re)))))) (#(struct:change #<rule egg-rr> (2) ((x and (*.f64 (log.f64 x.re) y.re) (*.f64 (log.f64 x.re) y.re))))) (#(struct:change #<rule egg-rr> (2) ((x or (*.f64 (log.f64 x.re) y.re) (*.f64 (log.f64 x.re) y.re))))))

simplify653.0ms (1.3%)

Algorithm
egg-herbie
Rules
2550×rational.json-simplify-2
1942×rational.json-simplify-35
1018×rational.json-simplify-1
934×rational.json-simplify-52
784×rational.json-simplify-26
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01473582
13213550
27183550
316233508
427623508
536203508
646863508
761843508
866813508
971793508
1079403508
Stop Event
node limit
Counts
110 → 82
Calls
Call 1
Inputs
(sin.f64 (+.f64 (*.f64 y.im (log.f64 x.re)) (*.f64 y.re (atan2.f64 x.im x.re))))
(sin.f64 (+.f64 (*.f64 y.im (log.f64 x.re)) (*.f64 y.re (atan2.f64 x.im x.re))))
(sin.f64 (+.f64 (*.f64 y.im (log.f64 x.re)) (*.f64 y.re (atan2.f64 x.im x.re))))
(sin.f64 (+.f64 (*.f64 y.im (log.f64 x.re)) (*.f64 y.re (atan2.f64 x.im x.re))))
(sin.f64 (+.f64 (*.f64 -1 (*.f64 (log.f64 (/.f64 1 x.re)) y.im)) (*.f64 y.re (atan2.f64 x.im x.re))))
(sin.f64 (+.f64 (*.f64 -1 (*.f64 (log.f64 (/.f64 1 x.re)) y.im)) (*.f64 y.re (atan2.f64 x.im x.re))))
(sin.f64 (+.f64 (*.f64 -1 (*.f64 (log.f64 (/.f64 1 x.re)) y.im)) (*.f64 y.re (atan2.f64 x.im x.re))))
(sin.f64 (+.f64 (*.f64 -1 (*.f64 (log.f64 (/.f64 1 x.re)) y.im)) (*.f64 y.re (atan2.f64 x.im x.re))))
(sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 x.re)))) y.im)))
(sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 x.re)))) y.im)))
(sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 x.re)))) y.im)))
(sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 x.re)))) y.im)))
(sin.f64 (*.f64 y.re (atan2.f64 x.im x.re)))
(+.f64 (*.f64 (log.f64 x.re) (*.f64 y.im (cos.f64 (*.f64 y.re (atan2.f64 x.im x.re))))) (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))))
(+.f64 (*.f64 (log.f64 x.re) (*.f64 y.im (cos.f64 (*.f64 y.re (atan2.f64 x.im x.re))))) (+.f64 (*.f64 -1/2 (*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (*.f64 (pow.f64 (log.f64 x.re) 2) (pow.f64 y.im 2)))) (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re)))))
(+.f64 (*.f64 (log.f64 x.re) (*.f64 y.im (cos.f64 (*.f64 y.re (atan2.f64 x.im x.re))))) (+.f64 (*.f64 -1/6 (*.f64 (pow.f64 y.im 3) (*.f64 (pow.f64 (log.f64 x.re) 3) (cos.f64 (*.f64 y.re (atan2.f64 x.im x.re)))))) (+.f64 (*.f64 -1/2 (*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (*.f64 (pow.f64 (log.f64 x.re) 2) (pow.f64 y.im 2)))) (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))))))
(sin.f64 (+.f64 (*.f64 (log.f64 x.re) y.im) (*.f64 y.re (atan2.f64 x.im x.re))))
(sin.f64 (+.f64 (*.f64 (log.f64 x.re) y.im) (*.f64 y.re (atan2.f64 x.im x.re))))
(sin.f64 (+.f64 (*.f64 (log.f64 x.re) y.im) (*.f64 y.re (atan2.f64 x.im x.re))))
(sin.f64 (+.f64 (*.f64 (log.f64 x.re) y.im) (*.f64 y.re (atan2.f64 x.im x.re))))
(sin.f64 (+.f64 (*.f64 y.im (log.f64 x.re)) (*.f64 y.re (atan2.f64 x.im x.re))))
(sin.f64 (+.f64 (*.f64 y.im (log.f64 x.re)) (*.f64 y.re (atan2.f64 x.im x.re))))
(sin.f64 (+.f64 (*.f64 y.im (log.f64 x.re)) (*.f64 y.re (atan2.f64 x.im x.re))))
(sin.f64 (+.f64 (*.f64 y.im (log.f64 x.re)) (*.f64 y.re (atan2.f64 x.im x.re))))
(sin.f64 (+.f64 (*.f64 y.im (log.f64 x.re)) (*.f64 y.re (atan2.f64 x.im x.re))))
(sin.f64 (+.f64 (*.f64 y.im (log.f64 x.re)) (*.f64 y.re (atan2.f64 x.im x.re))))
(sin.f64 (+.f64 (*.f64 y.im (log.f64 x.re)) (*.f64 y.re (atan2.f64 x.im x.re))))
(sin.f64 (+.f64 (*.f64 y.im (log.f64 x.re)) (*.f64 y.re (atan2.f64 x.im x.re))))
(sin.f64 (+.f64 (*.f64 y.im (log.f64 x.re)) (*.f64 y.re (atan2.f64 x.im x.re))))
(sin.f64 (+.f64 (*.f64 y.im (log.f64 x.re)) (*.f64 y.re (atan2.f64 x.im x.re))))
(sin.f64 (+.f64 (*.f64 y.im (log.f64 x.re)) (*.f64 y.re (atan2.f64 x.im x.re))))
(sin.f64 (+.f64 (*.f64 y.im (log.f64 x.re)) (*.f64 y.re (atan2.f64 x.im x.re))))
(sin.f64 (+.f64 (*.f64 y.im (log.f64 x.re)) (*.f64 y.re (atan2.f64 x.im x.re))))
(sin.f64 (+.f64 (*.f64 y.im (log.f64 x.re)) (*.f64 y.re (atan2.f64 x.im x.re))))
(sin.f64 (+.f64 (*.f64 y.im (log.f64 x.re)) (*.f64 y.re (atan2.f64 x.im x.re))))
(sin.f64 (+.f64 (*.f64 y.im (log.f64 x.re)) (*.f64 y.re (atan2.f64 x.im x.re))))
(sin.f64 (*.f64 y.im (log.f64 x.re)))
(+.f64 (sin.f64 (*.f64 y.im (log.f64 x.re))) (*.f64 y.re (*.f64 (atan2.f64 x.im x.re) (cos.f64 (*.f64 y.im (log.f64 x.re))))))
(+.f64 (*.f64 -1/2 (*.f64 (sin.f64 (*.f64 y.im (log.f64 x.re))) (*.f64 (pow.f64 y.re 2) (pow.f64 (atan2.f64 x.im x.re) 2)))) (+.f64 (sin.f64 (*.f64 y.im (log.f64 x.re))) (*.f64 y.re (*.f64 (atan2.f64 x.im x.re) (cos.f64 (*.f64 y.im (log.f64 x.re)))))))
(+.f64 (*.f64 -1/2 (*.f64 (sin.f64 (*.f64 y.im (log.f64 x.re))) (*.f64 (pow.f64 y.re 2) (pow.f64 (atan2.f64 x.im x.re) 2)))) (+.f64 (sin.f64 (*.f64 y.im (log.f64 x.re))) (+.f64 (*.f64 y.re (*.f64 (atan2.f64 x.im x.re) (cos.f64 (*.f64 y.im (log.f64 x.re))))) (*.f64 -1/6 (*.f64 (pow.f64 y.re 3) (*.f64 (pow.f64 (atan2.f64 x.im x.re) 3) (cos.f64 (*.f64 y.im (log.f64 x.re)))))))))
(sin.f64 (+.f64 (*.f64 y.im (log.f64 x.re)) (*.f64 y.re (atan2.f64 x.im x.re))))
(sin.f64 (+.f64 (*.f64 y.im (log.f64 x.re)) (*.f64 y.re (atan2.f64 x.im x.re))))
(sin.f64 (+.f64 (*.f64 y.im (log.f64 x.re)) (*.f64 y.re (atan2.f64 x.im x.re))))
(sin.f64 (+.f64 (*.f64 y.im (log.f64 x.re)) (*.f64 y.re (atan2.f64 x.im x.re))))
(sin.f64 (+.f64 (*.f64 y.im (log.f64 x.re)) (*.f64 y.re (atan2.f64 x.im x.re))))
(sin.f64 (+.f64 (*.f64 y.im (log.f64 x.re)) (*.f64 y.re (atan2.f64 x.im x.re))))
(sin.f64 (+.f64 (*.f64 y.im (log.f64 x.re)) (*.f64 y.re (atan2.f64 x.im x.re))))
(sin.f64 (+.f64 (*.f64 y.im (log.f64 x.re)) (*.f64 y.re (atan2.f64 x.im x.re))))
(*.f64 y.re (log.f64 x.re))
(*.f64 y.re (log.f64 x.re))
(*.f64 y.re (log.f64 x.re))
(*.f64 y.re (log.f64 x.re))
(*.f64 -1 (*.f64 (log.f64 (/.f64 1 x.re)) y.re))
(*.f64 -1 (*.f64 (log.f64 (/.f64 1 x.re)) y.re))
(*.f64 -1 (*.f64 (log.f64 (/.f64 1 x.re)) y.re))
(*.f64 -1 (*.f64 (log.f64 (/.f64 1 x.re)) y.re))
(*.f64 y.re (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 x.re)))))
(*.f64 y.re (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 x.re)))))
(*.f64 y.re (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 x.re)))))
(*.f64 y.re (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 x.re)))))
(*.f64 y.re (log.f64 x.re))
(*.f64 y.re (log.f64 x.re))
(*.f64 y.re (log.f64 x.re))
(*.f64 y.re (log.f64 x.re))
(*.f64 y.re (log.f64 x.re))
(*.f64 y.re (log.f64 x.re))
(*.f64 y.re (log.f64 x.re))
(*.f64 y.re (log.f64 x.re))
(*.f64 y.re (log.f64 x.re))
(*.f64 y.re (log.f64 x.re))
(*.f64 y.re (log.f64 x.re))
(*.f64 y.re (log.f64 x.re))
(+.f64 (sin.f64 (+.f64 (*.f64 (log.f64 x.re) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))) 0)
(+.f64 0 (sin.f64 (+.f64 (*.f64 (log.f64 x.re) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))))
(+.f64 -1 (-.f64 1 (neg.f64 (sin.f64 (+.f64 (*.f64 (log.f64 x.re) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))))))
(+.f64 (*.f64 (sin.f64 (+.f64 (*.f64 (log.f64 x.re) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))) 1/2) (*.f64 (sin.f64 (+.f64 (*.f64 (log.f64 x.re) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))) 1/2))
(+.f64 (-.f64 1 (neg.f64 (sin.f64 (+.f64 (*.f64 (log.f64 x.re) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))))) -1)
(-.f64 (sin.f64 (+.f64 (*.f64 (log.f64 x.re) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))) 0)
(-.f64 0 (neg.f64 (sin.f64 (+.f64 (*.f64 (log.f64 x.re) y.im) (*.f64 (atan2.f64 x.im x.re) y.re)))))
(*.f64 (sin.f64 (+.f64 (*.f64 (log.f64 x.re) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))) 1)
(*.f64 1 (sin.f64 (+.f64 (*.f64 (log.f64 x.re) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))))
(*.f64 2 (*.f64 (sin.f64 (+.f64 (*.f64 (log.f64 x.re) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))) 1/2))
(*.f64 (*.f64 (sin.f64 (+.f64 (*.f64 (log.f64 x.re) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))) 2) 1/2)
(*.f64 4 (/.f64 (sin.f64 (+.f64 (*.f64 (log.f64 x.re) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))) 4))
(*.f64 (*.f64 (sin.f64 (+.f64 (*.f64 (log.f64 x.re) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))) 4) 1/4)
(*.f64 1/2 (*.f64 (sin.f64 (+.f64 (*.f64 (log.f64 x.re) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))) 2))
(*.f64 -1 (neg.f64 (sin.f64 (+.f64 (*.f64 (log.f64 x.re) y.im) (*.f64 (atan2.f64 x.im x.re) y.re)))))
(*.f64 (*.f64 (sin.f64 (+.f64 (*.f64 (log.f64 x.re) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))) 1/2) 2)
(*.f64 (neg.f64 (sin.f64 (+.f64 (*.f64 (log.f64 x.re) y.im) (*.f64 (atan2.f64 x.im x.re) y.re)))) -1)
(*.f64 1/4 (*.f64 (sin.f64 (+.f64 (*.f64 (log.f64 x.re) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))) 4))
(*.f64 (/.f64 (sin.f64 (+.f64 (*.f64 (log.f64 x.re) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))) 4) 4)
(/.f64 (sin.f64 (+.f64 (*.f64 (log.f64 x.re) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))) 1)
(/.f64 (*.f64 (sin.f64 (+.f64 (*.f64 (log.f64 x.re) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))) 2) 2)
(/.f64 (*.f64 (sin.f64 (+.f64 (*.f64 (log.f64 x.re) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))) 4) 4)
(/.f64 (*.f64 2 (*.f64 (sin.f64 (+.f64 (*.f64 (log.f64 x.re) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))) 4)) 8)
(/.f64 (neg.f64 (sin.f64 (+.f64 (*.f64 (log.f64 x.re) y.im) (*.f64 (atan2.f64 x.im x.re) y.re)))) -1)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (sin.f64 (+.f64 (*.f64 (log.f64 x.re) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))) 4))) 16)
(/.f64 (+.f64 (neg.f64 (sin.f64 (+.f64 (*.f64 (log.f64 x.re) y.im) (*.f64 (atan2.f64 x.im x.re) y.re)))) (neg.f64 (sin.f64 (+.f64 (*.f64 (log.f64 x.re) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))))) -2)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (sin.f64 (+.f64 (*.f64 (log.f64 x.re) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))) 4))) (*.f64 2 (*.f64 2 (*.f64 (sin.f64 (+.f64 (*.f64 (log.f64 x.re) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))) 4)))) 32)
(neg.f64 (neg.f64 (sin.f64 (+.f64 (*.f64 (log.f64 x.re) y.im) (*.f64 (atan2.f64 x.im x.re) y.re)))))
(+.f64 (*.f64 (log.f64 x.re) y.re) 0)
(+.f64 0 (*.f64 (log.f64 x.re) y.re))
(+.f64 (*.f64 (log.f64 x.re) (*.f64 y.re 1/2)) (*.f64 (log.f64 x.re) (*.f64 y.re 1/2)))
(-.f64 (*.f64 (log.f64 x.re) y.re) 0)
(/.f64 (*.f64 (log.f64 x.re) y.re) 1)
(/.f64 (*.f64 (log.f64 x.re) (+.f64 y.re y.re)) 2)
(/.f64 (*.f64 (log.f64 x.re) (*.f64 y.re 4)) 4)
(/.f64 (*.f64 2 (*.f64 (log.f64 x.re) (*.f64 y.re 4))) 8)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (log.f64 x.re) (*.f64 y.re 4)))) 16)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (log.f64 x.re) (*.f64 y.re 4)))) (*.f64 2 (*.f64 2 (*.f64 (log.f64 x.re) (*.f64 y.re 4))))) 32)
Outputs
(sin.f64 (+.f64 (*.f64 y.im (log.f64 x.re)) (*.f64 y.re (atan2.f64 x.im x.re))))
(sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.re))))
(sin.f64 (+.f64 (*.f64 y.im (log.f64 x.re)) (*.f64 y.re (atan2.f64 x.im x.re))))
(sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.re))))
(sin.f64 (+.f64 (*.f64 y.im (log.f64 x.re)) (*.f64 y.re (atan2.f64 x.im x.re))))
(sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.re))))
(sin.f64 (+.f64 (*.f64 y.im (log.f64 x.re)) (*.f64 y.re (atan2.f64 x.im x.re))))
(sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.re))))
(sin.f64 (+.f64 (*.f64 -1 (*.f64 (log.f64 (/.f64 1 x.re)) y.im)) (*.f64 y.re (atan2.f64 x.im x.re))))
(sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 (log.f64 (/.f64 1 x.re)) (*.f64 y.im -1))))
(sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 (log.f64 (/.f64 1 x.re)) (neg.f64 y.im))))
(sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (neg.f64 (log.f64 (/.f64 1 x.re))))))
(sin.f64 (+.f64 (*.f64 -1 (*.f64 (log.f64 (/.f64 1 x.re)) y.im)) (*.f64 y.re (atan2.f64 x.im x.re))))
(sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 (log.f64 (/.f64 1 x.re)) (*.f64 y.im -1))))
(sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 (log.f64 (/.f64 1 x.re)) (neg.f64 y.im))))
(sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (neg.f64 (log.f64 (/.f64 1 x.re))))))
(sin.f64 (+.f64 (*.f64 -1 (*.f64 (log.f64 (/.f64 1 x.re)) y.im)) (*.f64 y.re (atan2.f64 x.im x.re))))
(sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 (log.f64 (/.f64 1 x.re)) (*.f64 y.im -1))))
(sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 (log.f64 (/.f64 1 x.re)) (neg.f64 y.im))))
(sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (neg.f64 (log.f64 (/.f64 1 x.re))))))
(sin.f64 (+.f64 (*.f64 -1 (*.f64 (log.f64 (/.f64 1 x.re)) y.im)) (*.f64 y.re (atan2.f64 x.im x.re))))
(sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 (log.f64 (/.f64 1 x.re)) (*.f64 y.im -1))))
(sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 (log.f64 (/.f64 1 x.re)) (neg.f64 y.im))))
(sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (neg.f64 (log.f64 (/.f64 1 x.re))))))
(sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 x.re)))) y.im)))
(sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 x.re)))))))
(sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (+.f64 (log.f64 -1) (neg.f64 (log.f64 (/.f64 -1 x.re)))))))
(sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 x.re)))) y.im)))
(sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 x.re)))))))
(sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (+.f64 (log.f64 -1) (neg.f64 (log.f64 (/.f64 -1 x.re)))))))
(sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 x.re)))) y.im)))
(sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 x.re)))))))
(sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (+.f64 (log.f64 -1) (neg.f64 (log.f64 (/.f64 -1 x.re)))))))
(sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 x.re)))) y.im)))
(sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 x.re)))))))
(sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (+.f64 (log.f64 -1) (neg.f64 (log.f64 (/.f64 -1 x.re)))))))
(sin.f64 (*.f64 y.re (atan2.f64 x.im x.re)))
(+.f64 (*.f64 (log.f64 x.re) (*.f64 y.im (cos.f64 (*.f64 y.re (atan2.f64 x.im x.re))))) (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))))
(+.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (*.f64 y.im (*.f64 (cos.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (log.f64 x.re))))
(+.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (*.f64 y.im (*.f64 (log.f64 x.re) (cos.f64 (*.f64 y.re (atan2.f64 x.im x.re))))))
(+.f64 (*.f64 (log.f64 x.re) (*.f64 y.im (cos.f64 (*.f64 y.re (atan2.f64 x.im x.re))))) (+.f64 (*.f64 -1/2 (*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (*.f64 (pow.f64 (log.f64 x.re) 2) (pow.f64 y.im 2)))) (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re)))))
(+.f64 (*.f64 y.im (*.f64 (cos.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (log.f64 x.re))) (+.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (*.f64 (*.f64 (pow.f64 (log.f64 x.re) 2) (pow.f64 y.im 2)) -1/2))))
(+.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (+.f64 (*.f64 -1/2 (*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (*.f64 (pow.f64 (log.f64 x.re) 2) (pow.f64 y.im 2)))) (*.f64 y.im (*.f64 (log.f64 x.re) (cos.f64 (*.f64 y.re (atan2.f64 x.im x.re)))))))
(+.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (+.f64 (*.f64 y.im (*.f64 (log.f64 x.re) (cos.f64 (*.f64 y.re (atan2.f64 x.im x.re))))) (*.f64 -1/2 (*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (*.f64 (pow.f64 (log.f64 x.re) 2) (pow.f64 y.im 2))))))
(+.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (+.f64 (*.f64 y.im (*.f64 (log.f64 x.re) (cos.f64 (*.f64 y.re (atan2.f64 x.im x.re))))) (*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (*.f64 (pow.f64 (log.f64 x.re) 2) (*.f64 -1/2 (pow.f64 y.im 2))))))
(+.f64 (*.f64 (log.f64 x.re) (*.f64 y.im (cos.f64 (*.f64 y.re (atan2.f64 x.im x.re))))) (+.f64 (*.f64 -1/6 (*.f64 (pow.f64 y.im 3) (*.f64 (pow.f64 (log.f64 x.re) 3) (cos.f64 (*.f64 y.re (atan2.f64 x.im x.re)))))) (+.f64 (*.f64 -1/2 (*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (*.f64 (pow.f64 (log.f64 x.re) 2) (pow.f64 y.im 2)))) (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))))))
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 y.im 3) (*.f64 (cos.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (pow.f64 (log.f64 x.re) 3)))) (+.f64 (*.f64 y.im (*.f64 (cos.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (log.f64 x.re))) (+.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (*.f64 (*.f64 (pow.f64 (log.f64 x.re) 2) (pow.f64 y.im 2)) -1/2)))))
(+.f64 (*.f64 -1/2 (*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (*.f64 (pow.f64 (log.f64 x.re) 2) (pow.f64 y.im 2)))) (+.f64 (+.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (*.f64 y.im (*.f64 (log.f64 x.re) (cos.f64 (*.f64 y.re (atan2.f64 x.im x.re)))))) (*.f64 -1/6 (*.f64 (cos.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (*.f64 (pow.f64 y.im 3) (pow.f64 (log.f64 x.re) 3))))))
(+.f64 (*.f64 -1/2 (*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (*.f64 (pow.f64 (log.f64 x.re) 2) (pow.f64 y.im 2)))) (+.f64 (+.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (*.f64 y.im (*.f64 (log.f64 x.re) (cos.f64 (*.f64 y.re (atan2.f64 x.im x.re)))))) (*.f64 (cos.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (*.f64 (*.f64 (pow.f64 y.im 3) (pow.f64 (log.f64 x.re) 3)) -1/6))))
(+.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (+.f64 (*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (*.f64 (pow.f64 (log.f64 x.re) 2) (*.f64 -1/2 (pow.f64 y.im 2)))) (*.f64 (cos.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (+.f64 (*.f64 y.im (log.f64 x.re)) (*.f64 -1/6 (*.f64 (pow.f64 y.im 3) (pow.f64 (log.f64 x.re) 3)))))))
(sin.f64 (+.f64 (*.f64 (log.f64 x.re) y.im) (*.f64 y.re (atan2.f64 x.im x.re))))
(sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.re))))
(sin.f64 (+.f64 (*.f64 (log.f64 x.re) y.im) (*.f64 y.re (atan2.f64 x.im x.re))))
(sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.re))))
(sin.f64 (+.f64 (*.f64 (log.f64 x.re) y.im) (*.f64 y.re (atan2.f64 x.im x.re))))
(sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.re))))
(sin.f64 (+.f64 (*.f64 (log.f64 x.re) y.im) (*.f64 y.re (atan2.f64 x.im x.re))))
(sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.re))))
(sin.f64 (+.f64 (*.f64 y.im (log.f64 x.re)) (*.f64 y.re (atan2.f64 x.im x.re))))
(sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.re))))
(sin.f64 (+.f64 (*.f64 y.im (log.f64 x.re)) (*.f64 y.re (atan2.f64 x.im x.re))))
(sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.re))))
(sin.f64 (+.f64 (*.f64 y.im (log.f64 x.re)) (*.f64 y.re (atan2.f64 x.im x.re))))
(sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.re))))
(sin.f64 (+.f64 (*.f64 y.im (log.f64 x.re)) (*.f64 y.re (atan2.f64 x.im x.re))))
(sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.re))))
(sin.f64 (+.f64 (*.f64 y.im (log.f64 x.re)) (*.f64 y.re (atan2.f64 x.im x.re))))
(sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.re))))
(sin.f64 (+.f64 (*.f64 y.im (log.f64 x.re)) (*.f64 y.re (atan2.f64 x.im x.re))))
(sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.re))))
(sin.f64 (+.f64 (*.f64 y.im (log.f64 x.re)) (*.f64 y.re (atan2.f64 x.im x.re))))
(sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.re))))
(sin.f64 (+.f64 (*.f64 y.im (log.f64 x.re)) (*.f64 y.re (atan2.f64 x.im x.re))))
(sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.re))))
(sin.f64 (+.f64 (*.f64 y.im (log.f64 x.re)) (*.f64 y.re (atan2.f64 x.im x.re))))
(sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.re))))
(sin.f64 (+.f64 (*.f64 y.im (log.f64 x.re)) (*.f64 y.re (atan2.f64 x.im x.re))))
(sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.re))))
(sin.f64 (+.f64 (*.f64 y.im (log.f64 x.re)) (*.f64 y.re (atan2.f64 x.im x.re))))
(sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.re))))
(sin.f64 (+.f64 (*.f64 y.im (log.f64 x.re)) (*.f64 y.re (atan2.f64 x.im x.re))))
(sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.re))))
(sin.f64 (+.f64 (*.f64 y.im (log.f64 x.re)) (*.f64 y.re (atan2.f64 x.im x.re))))
(sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.re))))
(sin.f64 (+.f64 (*.f64 y.im (log.f64 x.re)) (*.f64 y.re (atan2.f64 x.im x.re))))
(sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.re))))
(sin.f64 (+.f64 (*.f64 y.im (log.f64 x.re)) (*.f64 y.re (atan2.f64 x.im x.re))))
(sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.re))))
(sin.f64 (+.f64 (*.f64 y.im (log.f64 x.re)) (*.f64 y.re (atan2.f64 x.im x.re))))
(sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.re))))
(sin.f64 (*.f64 y.im (log.f64 x.re)))
(+.f64 (sin.f64 (*.f64 y.im (log.f64 x.re))) (*.f64 y.re (*.f64 (atan2.f64 x.im x.re) (cos.f64 (*.f64 y.im (log.f64 x.re))))))
(+.f64 (sin.f64 (*.f64 y.im (log.f64 x.re))) (*.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (cos.f64 (*.f64 y.im (log.f64 x.re)))))
(+.f64 (*.f64 -1/2 (*.f64 (sin.f64 (*.f64 y.im (log.f64 x.re))) (*.f64 (pow.f64 y.re 2) (pow.f64 (atan2.f64 x.im x.re) 2)))) (+.f64 (sin.f64 (*.f64 y.im (log.f64 x.re))) (*.f64 y.re (*.f64 (atan2.f64 x.im x.re) (cos.f64 (*.f64 y.im (log.f64 x.re)))))))
(+.f64 (sin.f64 (*.f64 y.im (log.f64 x.re))) (+.f64 (*.f64 y.re (*.f64 (atan2.f64 x.im x.re) (cos.f64 (*.f64 y.im (log.f64 x.re))))) (*.f64 (sin.f64 (*.f64 y.im (log.f64 x.re))) (*.f64 (*.f64 (pow.f64 y.re 2) (pow.f64 (atan2.f64 x.im x.re) 2)) -1/2))))
(+.f64 (+.f64 (sin.f64 (*.f64 y.im (log.f64 x.re))) (*.f64 y.re (*.f64 (atan2.f64 x.im x.re) (cos.f64 (*.f64 y.im (log.f64 x.re)))))) (*.f64 -1/2 (*.f64 (sin.f64 (*.f64 y.im (log.f64 x.re))) (*.f64 (pow.f64 y.re 2) (pow.f64 (atan2.f64 x.im x.re) 2)))))
(+.f64 (sin.f64 (*.f64 y.im (log.f64 x.re))) (+.f64 (*.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (cos.f64 (*.f64 y.im (log.f64 x.re)))) (*.f64 -1/2 (*.f64 (sin.f64 (*.f64 y.im (log.f64 x.re))) (*.f64 (pow.f64 y.re 2) (pow.f64 (atan2.f64 x.im x.re) 2))))))
(+.f64 (*.f64 -1/2 (*.f64 (sin.f64 (*.f64 y.im (log.f64 x.re))) (*.f64 (pow.f64 y.re 2) (pow.f64 (atan2.f64 x.im x.re) 2)))) (+.f64 (sin.f64 (*.f64 y.im (log.f64 x.re))) (+.f64 (*.f64 y.re (*.f64 (atan2.f64 x.im x.re) (cos.f64 (*.f64 y.im (log.f64 x.re))))) (*.f64 -1/6 (*.f64 (pow.f64 y.re 3) (*.f64 (pow.f64 (atan2.f64 x.im x.re) 3) (cos.f64 (*.f64 y.im (log.f64 x.re)))))))))
(+.f64 (sin.f64 (*.f64 y.im (log.f64 x.re))) (+.f64 (+.f64 (*.f64 y.re (*.f64 (atan2.f64 x.im x.re) (cos.f64 (*.f64 y.im (log.f64 x.re))))) (*.f64 -1/6 (*.f64 (pow.f64 y.re 3) (*.f64 (cos.f64 (*.f64 y.im (log.f64 x.re))) (pow.f64 (atan2.f64 x.im x.re) 3))))) (*.f64 (sin.f64 (*.f64 y.im (log.f64 x.re))) (*.f64 (*.f64 (pow.f64 y.re 2) (pow.f64 (atan2.f64 x.im x.re) 2)) -1/2))))
(+.f64 (sin.f64 (*.f64 y.im (log.f64 x.re))) (+.f64 (*.f64 -1/2 (*.f64 (sin.f64 (*.f64 y.im (log.f64 x.re))) (*.f64 (pow.f64 y.re 2) (pow.f64 (atan2.f64 x.im x.re) 2)))) (+.f64 (*.f64 y.re (*.f64 (atan2.f64 x.im x.re) (cos.f64 (*.f64 y.im (log.f64 x.re))))) (*.f64 -1/6 (*.f64 (cos.f64 (*.f64 y.im (log.f64 x.re))) (*.f64 (pow.f64 y.re 3) (pow.f64 (atan2.f64 x.im x.re) 3)))))))
(+.f64 (sin.f64 (*.f64 y.im (log.f64 x.re))) (+.f64 (*.f64 y.re (*.f64 (atan2.f64 x.im x.re) (cos.f64 (*.f64 y.im (log.f64 x.re))))) (+.f64 (*.f64 -1/6 (*.f64 (pow.f64 y.re 3) (*.f64 (cos.f64 (*.f64 y.im (log.f64 x.re))) (pow.f64 (atan2.f64 x.im x.re) 3)))) (*.f64 -1/2 (*.f64 (sin.f64 (*.f64 y.im (log.f64 x.re))) (*.f64 (pow.f64 y.re 2) (pow.f64 (atan2.f64 x.im x.re) 2)))))))
(+.f64 (sin.f64 (*.f64 y.im (log.f64 x.re))) (+.f64 (*.f64 -1/2 (*.f64 (sin.f64 (*.f64 y.im (log.f64 x.re))) (*.f64 (pow.f64 y.re 2) (pow.f64 (atan2.f64 x.im x.re) 2)))) (*.f64 (cos.f64 (*.f64 y.im (log.f64 x.re))) (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 -1/6 (*.f64 (pow.f64 y.re 3) (pow.f64 (atan2.f64 x.im x.re) 3)))))))
(sin.f64 (+.f64 (*.f64 y.im (log.f64 x.re)) (*.f64 y.re (atan2.f64 x.im x.re))))
(sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.re))))
(sin.f64 (+.f64 (*.f64 y.im (log.f64 x.re)) (*.f64 y.re (atan2.f64 x.im x.re))))
(sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.re))))
(sin.f64 (+.f64 (*.f64 y.im (log.f64 x.re)) (*.f64 y.re (atan2.f64 x.im x.re))))
(sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.re))))
(sin.f64 (+.f64 (*.f64 y.im (log.f64 x.re)) (*.f64 y.re (atan2.f64 x.im x.re))))
(sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.re))))
(sin.f64 (+.f64 (*.f64 y.im (log.f64 x.re)) (*.f64 y.re (atan2.f64 x.im x.re))))
(sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.re))))
(sin.f64 (+.f64 (*.f64 y.im (log.f64 x.re)) (*.f64 y.re (atan2.f64 x.im x.re))))
(sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.re))))
(sin.f64 (+.f64 (*.f64 y.im (log.f64 x.re)) (*.f64 y.re (atan2.f64 x.im x.re))))
(sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.re))))
(sin.f64 (+.f64 (*.f64 y.im (log.f64 x.re)) (*.f64 y.re (atan2.f64 x.im x.re))))
(sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.re))))
(*.f64 y.re (log.f64 x.re))
(*.f64 (log.f64 x.re) y.re)
(*.f64 y.re (log.f64 x.re))
(*.f64 (log.f64 x.re) y.re)
(*.f64 y.re (log.f64 x.re))
(*.f64 (log.f64 x.re) y.re)
(*.f64 y.re (log.f64 x.re))
(*.f64 (log.f64 x.re) y.re)
(*.f64 -1 (*.f64 (log.f64 (/.f64 1 x.re)) y.re))
(*.f64 -1 (*.f64 y.re (log.f64 (/.f64 1 x.re))))
(*.f64 (log.f64 (/.f64 1 x.re)) (neg.f64 y.re))
(*.f64 y.re (neg.f64 (log.f64 (/.f64 1 x.re))))
(*.f64 -1 (*.f64 (log.f64 (/.f64 1 x.re)) y.re))
(*.f64 -1 (*.f64 y.re (log.f64 (/.f64 1 x.re))))
(*.f64 (log.f64 (/.f64 1 x.re)) (neg.f64 y.re))
(*.f64 y.re (neg.f64 (log.f64 (/.f64 1 x.re))))
(*.f64 -1 (*.f64 (log.f64 (/.f64 1 x.re)) y.re))
(*.f64 -1 (*.f64 y.re (log.f64 (/.f64 1 x.re))))
(*.f64 (log.f64 (/.f64 1 x.re)) (neg.f64 y.re))
(*.f64 y.re (neg.f64 (log.f64 (/.f64 1 x.re))))
(*.f64 -1 (*.f64 (log.f64 (/.f64 1 x.re)) y.re))
(*.f64 -1 (*.f64 y.re (log.f64 (/.f64 1 x.re))))
(*.f64 (log.f64 (/.f64 1 x.re)) (neg.f64 y.re))
(*.f64 y.re (neg.f64 (log.f64 (/.f64 1 x.re))))
(*.f64 y.re (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 x.re)))))
(*.f64 y.re (+.f64 (log.f64 -1) (neg.f64 (log.f64 (/.f64 -1 x.re)))))
(*.f64 y.re (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 x.re)))))
(*.f64 y.re (+.f64 (log.f64 -1) (neg.f64 (log.f64 (/.f64 -1 x.re)))))
(*.f64 y.re (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 x.re)))))
(*.f64 y.re (+.f64 (log.f64 -1) (neg.f64 (log.f64 (/.f64 -1 x.re)))))
(*.f64 y.re (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 x.re)))))
(*.f64 y.re (+.f64 (log.f64 -1) (neg.f64 (log.f64 (/.f64 -1 x.re)))))
(*.f64 y.re (log.f64 x.re))
(*.f64 (log.f64 x.re) y.re)
(*.f64 y.re (log.f64 x.re))
(*.f64 (log.f64 x.re) y.re)
(*.f64 y.re (log.f64 x.re))
(*.f64 (log.f64 x.re) y.re)
(*.f64 y.re (log.f64 x.re))
(*.f64 (log.f64 x.re) y.re)
(*.f64 y.re (log.f64 x.re))
(*.f64 (log.f64 x.re) y.re)
(*.f64 y.re (log.f64 x.re))
(*.f64 (log.f64 x.re) y.re)
(*.f64 y.re (log.f64 x.re))
(*.f64 (log.f64 x.re) y.re)
(*.f64 y.re (log.f64 x.re))
(*.f64 (log.f64 x.re) y.re)
(*.f64 y.re (log.f64 x.re))
(*.f64 (log.f64 x.re) y.re)
(*.f64 y.re (log.f64 x.re))
(*.f64 (log.f64 x.re) y.re)
(*.f64 y.re (log.f64 x.re))
(*.f64 (log.f64 x.re) y.re)
(*.f64 y.re (log.f64 x.re))
(*.f64 (log.f64 x.re) y.re)
(+.f64 (sin.f64 (+.f64 (*.f64 (log.f64 x.re) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))) 0)
(sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.re))))
(+.f64 0 (sin.f64 (+.f64 (*.f64 (log.f64 x.re) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))))
(sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.re))))
(+.f64 -1 (-.f64 1 (neg.f64 (sin.f64 (+.f64 (*.f64 (log.f64 x.re) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))))))
(sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.re))))
(+.f64 (*.f64 (sin.f64 (+.f64 (*.f64 (log.f64 x.re) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))) 1/2) (*.f64 (sin.f64 (+.f64 (*.f64 (log.f64 x.re) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))) 1/2))
(sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.re))))
(+.f64 (-.f64 1 (neg.f64 (sin.f64 (+.f64 (*.f64 (log.f64 x.re) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))))) -1)
(sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.re))))
(-.f64 (sin.f64 (+.f64 (*.f64 (log.f64 x.re) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))) 0)
(sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.re))))
(-.f64 0 (neg.f64 (sin.f64 (+.f64 (*.f64 (log.f64 x.re) y.im) (*.f64 (atan2.f64 x.im x.re) y.re)))))
(sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.re))))
(*.f64 (sin.f64 (+.f64 (*.f64 (log.f64 x.re) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))) 1)
(sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.re))))
(*.f64 1 (sin.f64 (+.f64 (*.f64 (log.f64 x.re) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))))
(sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.re))))
(*.f64 2 (*.f64 (sin.f64 (+.f64 (*.f64 (log.f64 x.re) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))) 1/2))
(sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.re))))
(*.f64 (*.f64 (sin.f64 (+.f64 (*.f64 (log.f64 x.re) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))) 2) 1/2)
(sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.re))))
(*.f64 4 (/.f64 (sin.f64 (+.f64 (*.f64 (log.f64 x.re) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))) 4))
(sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.re))))
(*.f64 (*.f64 (sin.f64 (+.f64 (*.f64 (log.f64 x.re) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))) 4) 1/4)
(sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.re))))
(*.f64 1/2 (*.f64 (sin.f64 (+.f64 (*.f64 (log.f64 x.re) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))) 2))
(sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.re))))
(*.f64 -1 (neg.f64 (sin.f64 (+.f64 (*.f64 (log.f64 x.re) y.im) (*.f64 (atan2.f64 x.im x.re) y.re)))))
(sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.re))))
(*.f64 (*.f64 (sin.f64 (+.f64 (*.f64 (log.f64 x.re) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))) 1/2) 2)
(sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.re))))
(*.f64 (neg.f64 (sin.f64 (+.f64 (*.f64 (log.f64 x.re) y.im) (*.f64 (atan2.f64 x.im x.re) y.re)))) -1)
(sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.re))))
(*.f64 1/4 (*.f64 (sin.f64 (+.f64 (*.f64 (log.f64 x.re) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))) 4))
(sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.re))))
(*.f64 (/.f64 (sin.f64 (+.f64 (*.f64 (log.f64 x.re) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))) 4) 4)
(sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.re))))
(/.f64 (sin.f64 (+.f64 (*.f64 (log.f64 x.re) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))) 1)
(sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.re))))
(/.f64 (*.f64 (sin.f64 (+.f64 (*.f64 (log.f64 x.re) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))) 2) 2)
(sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.re))))
(/.f64 (*.f64 (sin.f64 (+.f64 (*.f64 (log.f64 x.re) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))) 4) 4)
(sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.re))))
(/.f64 (*.f64 2 (*.f64 (sin.f64 (+.f64 (*.f64 (log.f64 x.re) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))) 4)) 8)
(sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.re))))
(/.f64 (neg.f64 (sin.f64 (+.f64 (*.f64 (log.f64 x.re) y.im) (*.f64 (atan2.f64 x.im x.re) y.re)))) -1)
(sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.re))))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (sin.f64 (+.f64 (*.f64 (log.f64 x.re) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))) 4))) 16)
(sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.re))))
(/.f64 (+.f64 (neg.f64 (sin.f64 (+.f64 (*.f64 (log.f64 x.re) y.im) (*.f64 (atan2.f64 x.im x.re) y.re)))) (neg.f64 (sin.f64 (+.f64 (*.f64 (log.f64 x.re) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))))) -2)
(sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.re))))
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (sin.f64 (+.f64 (*.f64 (log.f64 x.re) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))) 4))) (*.f64 2 (*.f64 2 (*.f64 (sin.f64 (+.f64 (*.f64 (log.f64 x.re) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))) 4)))) 32)
(sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.re))))
(neg.f64 (neg.f64 (sin.f64 (+.f64 (*.f64 (log.f64 x.re) y.im) (*.f64 (atan2.f64 x.im x.re) y.re)))))
(sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.re))))
(+.f64 (*.f64 (log.f64 x.re) y.re) 0)
(*.f64 (log.f64 x.re) y.re)
(+.f64 0 (*.f64 (log.f64 x.re) y.re))
(*.f64 (log.f64 x.re) y.re)
(+.f64 (*.f64 (log.f64 x.re) (*.f64 y.re 1/2)) (*.f64 (log.f64 x.re) (*.f64 y.re 1/2)))
(*.f64 (log.f64 x.re) y.re)
(-.f64 (*.f64 (log.f64 x.re) y.re) 0)
(*.f64 (log.f64 x.re) y.re)
(/.f64 (*.f64 (log.f64 x.re) y.re) 1)
(*.f64 (log.f64 x.re) y.re)
(/.f64 (*.f64 (log.f64 x.re) (+.f64 y.re y.re)) 2)
(*.f64 (log.f64 x.re) y.re)
(/.f64 (*.f64 (log.f64 x.re) (*.f64 y.re 4)) 4)
(*.f64 (log.f64 x.re) y.re)
(/.f64 (*.f64 2 (*.f64 (log.f64 x.re) (*.f64 y.re 4))) 8)
(*.f64 (log.f64 x.re) y.re)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (log.f64 x.re) (*.f64 y.re 4)))) 16)
(*.f64 (log.f64 x.re) y.re)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (log.f64 x.re) (*.f64 y.re 4)))) (*.f64 2 (*.f64 2 (*.f64 (log.f64 x.re) (*.f64 y.re 4))))) 32)
(*.f64 (log.f64 x.re) y.re)

eval1.0s (2.1%)

Compiler

Compiled 14368 to 4601 computations (68% saved)

prune315.0ms (0.6%)

Pruning

21 alts after pruning (19 fresh and 2 done)

PrunedKeptTotal
New59011601
Fresh2810
Picked101
Done325
Total59621617
Error
3.1b
Counts
617 → 21
Alt Table
Click to see full alt table
StatusErrorProgram
36.3b
(/.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (exp.f64 (*.f64 y.im (atan2.f64 x.im x.re))))
53.9b
(+.f64 (*.f64 (atan2.f64 x.im x.re) y.re) (*.f64 -1 (*.f64 (pow.f64 (atan2.f64 x.im x.re) 2) (*.f64 y.im y.re))))
52.4b
(*.f64 (atan2.f64 x.im x.re) y.re)
41.9b
(*.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (pow.f64 x.im y.re))
42.2b
(*.f64 (sin.f64 (+.f64 (-.f64 (*.f64 y.re (atan2.f64 x.im x.re)) -1) -1)) (pow.f64 x.im y.re))
45.1b
(*.f64 (exp.f64 (-.f64 (*.f64 (log.f64 (neg.f64 x.re)) y.re) (*.f64 (atan2.f64 x.im x.re) y.im))) (*.f64 y.re (atan2.f64 x.im x.re)))
41.7b
(*.f64 (exp.f64 (-.f64 (*.f64 (log.f64 (neg.f64 x.re)) y.re) (*.f64 (atan2.f64 x.im x.re) y.im))) (sin.f64 (+.f64 (*.f64 (log.f64 (neg.f64 x.re)) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))))
53.2b
(*.f64 (exp.f64 (-.f64 (*.f64 (log.f64 (neg.f64 x.re)) y.re) (*.f64 (atan2.f64 x.im x.re) y.im))) (sin.f64 (+.f64 (*.f64 (log.f64 (neg.f64 x.im)) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))))
48.5b
(*.f64 (exp.f64 (-.f64 (*.f64 (log.f64 (neg.f64 x.im)) y.re) (*.f64 (atan2.f64 x.im x.re) y.im))) (+.f64 (-.f64 (*.f64 y.re (atan2.f64 x.im x.re)) -1) -1))
48.8b
(*.f64 (exp.f64 (-.f64 (*.f64 (log.f64 x.re) y.re) (*.f64 (atan2.f64 x.im x.re) y.im))) (+.f64 (-.f64 1 (neg.f64 (sin.f64 (+.f64 (*.f64 (log.f64 x.re) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))))) -1))
47.5b
(*.f64 (exp.f64 (-.f64 (*.f64 (log.f64 x.re) y.re) (*.f64 (atan2.f64 x.im x.re) y.im))) (*.f64 y.re (atan2.f64 x.im x.re)))
54.4b
(*.f64 (exp.f64 (-.f64 (*.f64 (log.f64 x.re) y.re) (*.f64 (atan2.f64 x.im x.re) y.im))) (sin.f64 (+.f64 (*.f64 (log.f64 (+.f64 (neg.f64 x.im) (*.f64 -1/2 (/.f64 (pow.f64 x.re 2) x.im)))) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))))
51.1b
(*.f64 (exp.f64 (-.f64 (*.f64 (log.f64 x.re) y.re) (*.f64 (atan2.f64 x.im x.re) y.im))) (sin.f64 (+.f64 (*.f64 (log.f64 (neg.f64 x.im)) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))))
41.9b
(*.f64 (exp.f64 (-.f64 (*.f64 (log.f64 x.re) y.re) (*.f64 (atan2.f64 x.im x.re) y.im))) (sin.f64 (*.f64 y.im (log.f64 x.re))))
54.2b
(*.f64 (exp.f64 (-.f64 (*.f64 (log.f64 x.im) y.re) (*.f64 (atan2.f64 x.im x.re) y.im))) (*.f64 y.im (log.f64 (neg.f64 x.re))))
41.8b
(*.f64 (exp.f64 (-.f64 (*.f64 (log.f64 x.im) y.re) (*.f64 (atan2.f64 x.im x.re) y.im))) (sin.f64 (+.f64 (*.f64 (log.f64 x.im) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))))
54.2b
(*.f64 (exp.f64 (-.f64 (*.f64 (log.f64 x.im) y.re) (*.f64 (atan2.f64 x.im x.re) y.im))) (sin.f64 (*.f64 y.im (log.f64 (neg.f64 x.re)))))
46.2b
(*.f64 (exp.f64 (-.f64 (*.f64 (log.f64 x.im) y.re) (*.f64 (atan2.f64 x.im x.re) y.im))) (sin.f64 (*.f64 y.im (log.f64 x.im))))
49.8b
(*.f64 (exp.f64 (*.f64 y.re (log.f64 (neg.f64 x.im)))) (*.f64 y.re (atan2.f64 x.im x.re)))
53.4b
(*.f64 y.re (+.f64 (atan2.f64 x.im x.re) (*.f64 y.im (neg.f64 (pow.f64 (atan2.f64 x.im x.re) 2)))))
53.4b
(*.f64 y.re (*.f64 (atan2.f64 x.im x.re) (-.f64 1 (*.f64 y.im (atan2.f64 x.im x.re)))))
Compiler

Compiled 463 to 287 computations (38% saved)

regimes575.0ms (1.1%)

Counts
41 → 3
Calls
Call 1
Inputs
(*.f64 (atan2.f64 x.im x.re) y.re)
(*.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (pow.f64 x.im y.re))
(*.f64 y.re (*.f64 (atan2.f64 x.im x.re) (-.f64 1 (*.f64 y.im (atan2.f64 x.im x.re)))))
(*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (pow.f64 x.im y.re))
(*.f64 (exp.f64 (*.f64 y.re (log.f64 (neg.f64 x.im)))) (*.f64 y.re (atan2.f64 x.im x.re)))
(/.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (exp.f64 (*.f64 y.im (atan2.f64 x.im x.re))))
(*.f64 y.re (*.f64 (atan2.f64 x.im x.re) (exp.f64 (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re))))))
(*.f64 y.re (+.f64 (atan2.f64 x.im x.re) (*.f64 y.im (neg.f64 (pow.f64 (atan2.f64 x.im x.re) 2)))))
(*.f64 (sin.f64 (+.f64 (-.f64 (*.f64 y.re (atan2.f64 x.im x.re)) -1) -1)) (pow.f64 x.im y.re))
(+.f64 (*.f64 (atan2.f64 x.im x.re) y.re) (*.f64 -1 (*.f64 (pow.f64 (atan2.f64 x.im x.re) 2) (*.f64 y.im y.re))))
(*.f64 (exp.f64 (-.f64 (*.f64 (log.f64 x.im) y.re) (*.f64 (atan2.f64 x.im x.re) y.im))) (*.f64 y.im (log.f64 (neg.f64 x.re))))
(*.f64 (exp.f64 (-.f64 (*.f64 (log.f64 x.re) y.re) (*.f64 (atan2.f64 x.im x.re) y.im))) (*.f64 y.re (atan2.f64 x.im x.re)))
(*.f64 (exp.f64 (-.f64 (*.f64 (log.f64 (neg.f64 x.im)) y.re) (*.f64 (atan2.f64 x.im x.re) y.im))) (*.f64 y.re (atan2.f64 x.im x.re)))
(*.f64 (exp.f64 (-.f64 (*.f64 (log.f64 (neg.f64 x.re)) y.re) (*.f64 (atan2.f64 x.im x.re) y.im))) (*.f64 y.re (atan2.f64 x.im x.re)))
(*.f64 (exp.f64 (-.f64 (*.f64 (log.f64 (neg.f64 x.im)) y.re) (*.f64 (atan2.f64 x.im x.re) y.im))) (+.f64 (-.f64 (*.f64 y.re (atan2.f64 x.im x.re)) -1) -1))
(*.f64 (exp.f64 (-.f64 (*.f64 (log.f64 x.im) y.re) (*.f64 (atan2.f64 x.im x.re) y.im))) (sin.f64 (*.f64 y.im (log.f64 x.im))))
(*.f64 (exp.f64 (-.f64 (*.f64 (log.f64 x.re) y.re) (*.f64 (atan2.f64 x.im x.re) y.im))) (sin.f64 (*.f64 y.im (log.f64 x.re))))
(*.f64 (exp.f64 (-.f64 (*.f64 (log.f64 x.im) y.re) (*.f64 (atan2.f64 x.im x.re) y.im))) (sin.f64 (*.f64 y.im (log.f64 (neg.f64 x.re)))))
(*.f64 (exp.f64 (-.f64 (*.f64 (log.f64 x.im) y.re) (*.f64 (atan2.f64 x.im x.re) y.im))) (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))))
(*.f64 (exp.f64 (-.f64 (*.f64 (log.f64 x.re) y.re) (*.f64 (atan2.f64 x.im x.re) y.im))) (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))))
(*.f64 (exp.f64 (-.f64 (*.f64 (log.f64 (neg.f64 x.im)) y.re) (*.f64 (atan2.f64 x.im x.re) y.im))) (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))))
(*.f64 (exp.f64 (-.f64 (*.f64 (log.f64 (neg.f64 x.re)) y.re) (*.f64 (atan2.f64 x.im x.re) y.im))) (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))))
(*.f64 (exp.f64 (-.f64 (*.f64 (log.f64 x.im) y.re) (*.f64 (atan2.f64 x.im x.re) y.im))) (sin.f64 (+.f64 (-.f64 (*.f64 y.re (atan2.f64 x.im x.re)) -1) -1)))
(*.f64 (exp.f64 (-.f64 (*.f64 (log.f64 (neg.f64 x.im)) y.re) (*.f64 (atan2.f64 x.im x.re) y.im))) (sin.f64 (+.f64 (-.f64 (*.f64 y.re (atan2.f64 x.im x.re)) -1) -1)))
(*.f64 (exp.f64 (-.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) y.re) (*.f64 (atan2.f64 x.im x.re) y.im))) (*.f64 y.re (atan2.f64 x.im x.re)))
(*.f64 (exp.f64 (-.f64 (*.f64 (log.f64 x.im) y.re) (*.f64 (atan2.f64 x.im x.re) y.im))) (sin.f64 (+.f64 (*.f64 (log.f64 x.im) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))))
(*.f64 (exp.f64 (-.f64 (*.f64 (log.f64 x.re) y.re) (*.f64 (atan2.f64 x.im x.re) y.im))) (sin.f64 (+.f64 (*.f64 (log.f64 x.re) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))))
(*.f64 (exp.f64 (-.f64 (*.f64 (log.f64 x.im) y.re) (*.f64 (atan2.f64 x.im x.re) y.im))) (sin.f64 (+.f64 (*.f64 (log.f64 (neg.f64 x.re)) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))))
(*.f64 (exp.f64 (-.f64 (*.f64 (log.f64 x.re) y.re) (*.f64 (atan2.f64 x.im x.re) y.im))) (sin.f64 (+.f64 (*.f64 (log.f64 (neg.f64 x.im)) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))))
(*.f64 (exp.f64 (-.f64 (*.f64 (log.f64 (neg.f64 x.re)) y.re) (*.f64 (atan2.f64 x.im x.re) y.im))) (sin.f64 (+.f64 (*.f64 (log.f64 (neg.f64 x.im)) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))))
(*.f64 (exp.f64 (-.f64 (*.f64 (log.f64 (neg.f64 x.re)) y.re) (*.f64 (atan2.f64 x.im x.re) y.im))) (sin.f64 (+.f64 (*.f64 (log.f64 (neg.f64 x.re)) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))))
(*.f64 (exp.f64 (-.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) y.re) (*.f64 (atan2.f64 x.im x.re) y.im))) (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))))
(*.f64 (exp.f64 (-.f64 (*.f64 (log.f64 x.re) y.re) (*.f64 (atan2.f64 x.im x.re) y.im))) (+.f64 (-.f64 1 (neg.f64 (sin.f64 (+.f64 (*.f64 (log.f64 x.re) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))))) -1))
(*.f64 (exp.f64 (-.f64 (*.f64 (log.f64 x.im) y.re) (*.f64 (atan2.f64 x.im x.re) y.im))) (sin.f64 (+.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))))
(*.f64 (exp.f64 (-.f64 (*.f64 (log.f64 x.re) y.re) (*.f64 (atan2.f64 x.im x.re) y.im))) (sin.f64 (+.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))))
(*.f64 (exp.f64 (-.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) y.re) (*.f64 (atan2.f64 x.im x.re) y.im))) (sin.f64 (+.f64 (*.f64 (log.f64 x.im) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))))
(*.f64 (exp.f64 (-.f64 (*.f64 (log.f64 (neg.f64 x.re)) y.re) (*.f64 (atan2.f64 x.im x.re) y.im))) (sin.f64 (+.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))))
(*.f64 (exp.f64 (-.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) y.re) (*.f64 (atan2.f64 x.im x.re) y.im))) (sin.f64 (+.f64 (*.f64 (log.f64 (neg.f64 x.im)) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))))
(*.f64 (exp.f64 (-.f64 (*.f64 (log.f64 x.re) y.re) (*.f64 (atan2.f64 x.im x.re) y.im))) (sin.f64 (+.f64 (*.f64 (log.f64 (+.f64 (neg.f64 x.im) (*.f64 -1/2 (/.f64 (pow.f64 x.re 2) x.im)))) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))))
(*.f64 (exp.f64 (-.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) y.re) (*.f64 (atan2.f64 x.im x.re) y.im))) (sin.f64 (+.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))))
(*.f64 (exp.f64 (-.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) y.re) (*.f64 (atan2.f64 x.im x.re) y.im))) (sin.f64 (+.f64 (*.f64 (log.f64 (+.f64 (neg.f64 x.im) (*.f64 -1/2 (/.f64 (pow.f64 x.re 2) x.im)))) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))))
Outputs
(*.f64 (exp.f64 (-.f64 (*.f64 (log.f64 (neg.f64 x.re)) y.re) (*.f64 (atan2.f64 x.im x.re) y.im))) (sin.f64 (+.f64 (*.f64 (log.f64 (neg.f64 x.re)) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))))
(*.f64 (exp.f64 (-.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) y.re) (*.f64 (atan2.f64 x.im x.re) y.im))) (*.f64 y.re (atan2.f64 x.im x.re)))
(*.f64 (exp.f64 (-.f64 (*.f64 (log.f64 x.re) y.re) (*.f64 (atan2.f64 x.im x.re) y.im))) (sin.f64 (+.f64 (*.f64 (log.f64 x.re) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))))
Calls

5 calls:

197.0ms
y.re
148.0ms
x.im
100.0ms
y.im
70.0ms
x.re
48.0ms
(*.f64 (exp.f64 (-.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) y.re) (*.f64 (atan2.f64 x.im x.re) y.im))) (sin.f64 (+.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))))
Results
ErrorSegmentsBranch
15.2b3x.re
16.2b5x.im
17.8b6y.re
23.9b3y.im
18.1b2(*.f64 (exp.f64 (-.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) y.re) (*.f64 (atan2.f64 x.im x.re) y.im))) (sin.f64 (+.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))))
Compiler

Compiled 928 to 198 computations (78.7% saved)

bsearch136.0ms (0.3%)

Algorithm
binary-search
Steps
TimeLeftRight
42.0ms
1.3358812302823308e-172
1.634960700230475e-166
94.0ms
-2.5745704243412446e-124
-4.348959628963497e-125
Results
120.0ms233×body256valid
6.0msbody1024infinite
5.0msbody512valid
1.0msbody512infinite
1.0msbody256infinite
Compiler

Compiled 915 to 526 computations (42.5% saved)

regimes298.0ms (0.6%)

Counts
30 → 3
Calls
Call 1
Inputs
(*.f64 (atan2.f64 x.im x.re) y.re)
(*.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (pow.f64 x.im y.re))
(*.f64 y.re (*.f64 (atan2.f64 x.im x.re) (-.f64 1 (*.f64 y.im (atan2.f64 x.im x.re)))))
(*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (pow.f64 x.im y.re))
(*.f64 (exp.f64 (*.f64 y.re (log.f64 (neg.f64 x.im)))) (*.f64 y.re (atan2.f64 x.im x.re)))
(/.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (exp.f64 (*.f64 y.im (atan2.f64 x.im x.re))))
(*.f64 y.re (*.f64 (atan2.f64 x.im x.re) (exp.f64 (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re))))))
(*.f64 y.re (+.f64 (atan2.f64 x.im x.re) (*.f64 y.im (neg.f64 (pow.f64 (atan2.f64 x.im x.re) 2)))))
(*.f64 (sin.f64 (+.f64 (-.f64 (*.f64 y.re (atan2.f64 x.im x.re)) -1) -1)) (pow.f64 x.im y.re))
(+.f64 (*.f64 (atan2.f64 x.im x.re) y.re) (*.f64 -1 (*.f64 (pow.f64 (atan2.f64 x.im x.re) 2) (*.f64 y.im y.re))))
(*.f64 (exp.f64 (-.f64 (*.f64 (log.f64 x.im) y.re) (*.f64 (atan2.f64 x.im x.re) y.im))) (*.f64 y.im (log.f64 (neg.f64 x.re))))
(*.f64 (exp.f64 (-.f64 (*.f64 (log.f64 x.re) y.re) (*.f64 (atan2.f64 x.im x.re) y.im))) (*.f64 y.re (atan2.f64 x.im x.re)))
(*.f64 (exp.f64 (-.f64 (*.f64 (log.f64 (neg.f64 x.im)) y.re) (*.f64 (atan2.f64 x.im x.re) y.im))) (*.f64 y.re (atan2.f64 x.im x.re)))
(*.f64 (exp.f64 (-.f64 (*.f64 (log.f64 (neg.f64 x.re)) y.re) (*.f64 (atan2.f64 x.im x.re) y.im))) (*.f64 y.re (atan2.f64 x.im x.re)))
(*.f64 (exp.f64 (-.f64 (*.f64 (log.f64 (neg.f64 x.im)) y.re) (*.f64 (atan2.f64 x.im x.re) y.im))) (+.f64 (-.f64 (*.f64 y.re (atan2.f64 x.im x.re)) -1) -1))
(*.f64 (exp.f64 (-.f64 (*.f64 (log.f64 x.im) y.re) (*.f64 (atan2.f64 x.im x.re) y.im))) (sin.f64 (*.f64 y.im (log.f64 x.im))))
(*.f64 (exp.f64 (-.f64 (*.f64 (log.f64 x.re) y.re) (*.f64 (atan2.f64 x.im x.re) y.im))) (sin.f64 (*.f64 y.im (log.f64 x.re))))
(*.f64 (exp.f64 (-.f64 (*.f64 (log.f64 x.im) y.re) (*.f64 (atan2.f64 x.im x.re) y.im))) (sin.f64 (*.f64 y.im (log.f64 (neg.f64 x.re)))))
(*.f64 (exp.f64 (-.f64 (*.f64 (log.f64 x.im) y.re) (*.f64 (atan2.f64 x.im x.re) y.im))) (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))))
(*.f64 (exp.f64 (-.f64 (*.f64 (log.f64 x.re) y.re) (*.f64 (atan2.f64 x.im x.re) y.im))) (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))))
(*.f64 (exp.f64 (-.f64 (*.f64 (log.f64 (neg.f64 x.im)) y.re) (*.f64 (atan2.f64 x.im x.re) y.im))) (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))))
(*.f64 (exp.f64 (-.f64 (*.f64 (log.f64 (neg.f64 x.re)) y.re) (*.f64 (atan2.f64 x.im x.re) y.im))) (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))))
(*.f64 (exp.f64 (-.f64 (*.f64 (log.f64 x.im) y.re) (*.f64 (atan2.f64 x.im x.re) y.im))) (sin.f64 (+.f64 (-.f64 (*.f64 y.re (atan2.f64 x.im x.re)) -1) -1)))
(*.f64 (exp.f64 (-.f64 (*.f64 (log.f64 (neg.f64 x.im)) y.re) (*.f64 (atan2.f64 x.im x.re) y.im))) (sin.f64 (+.f64 (-.f64 (*.f64 y.re (atan2.f64 x.im x.re)) -1) -1)))
(*.f64 (exp.f64 (-.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) y.re) (*.f64 (atan2.f64 x.im x.re) y.im))) (*.f64 y.re (atan2.f64 x.im x.re)))
(*.f64 (exp.f64 (-.f64 (*.f64 (log.f64 x.im) y.re) (*.f64 (atan2.f64 x.im x.re) y.im))) (sin.f64 (+.f64 (*.f64 (log.f64 x.im) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))))
(*.f64 (exp.f64 (-.f64 (*.f64 (log.f64 x.re) y.re) (*.f64 (atan2.f64 x.im x.re) y.im))) (sin.f64 (+.f64 (*.f64 (log.f64 x.re) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))))
(*.f64 (exp.f64 (-.f64 (*.f64 (log.f64 x.im) y.re) (*.f64 (atan2.f64 x.im x.re) y.im))) (sin.f64 (+.f64 (*.f64 (log.f64 (neg.f64 x.re)) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))))
(*.f64 (exp.f64 (-.f64 (*.f64 (log.f64 x.re) y.re) (*.f64 (atan2.f64 x.im x.re) y.im))) (sin.f64 (+.f64 (*.f64 (log.f64 (neg.f64 x.im)) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))))
(*.f64 (exp.f64 (-.f64 (*.f64 (log.f64 (neg.f64 x.re)) y.re) (*.f64 (atan2.f64 x.im x.re) y.im))) (sin.f64 (+.f64 (*.f64 (log.f64 (neg.f64 x.im)) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))))
Outputs
(*.f64 (exp.f64 (-.f64 (*.f64 (log.f64 (neg.f64 x.re)) y.re) (*.f64 (atan2.f64 x.im x.re) y.im))) (*.f64 y.re (atan2.f64 x.im x.re)))
(*.f64 (exp.f64 (-.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) y.re) (*.f64 (atan2.f64 x.im x.re) y.im))) (*.f64 y.re (atan2.f64 x.im x.re)))
(*.f64 (exp.f64 (-.f64 (*.f64 (log.f64 x.re) y.re) (*.f64 (atan2.f64 x.im x.re) y.im))) (sin.f64 (+.f64 (*.f64 (log.f64 x.re) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))))
Calls

4 calls:

91.0ms
x.im
70.0ms
y.re
63.0ms
y.im
63.0ms
x.re
Results
ErrorSegmentsBranch
18.5b3x.re
19.3b6x.im
22.6b5y.re
26.8b5y.im
Compiler

Compiled 549 to 140 computations (74.5% saved)

bsearch73.0ms (0.1%)

Algorithm
binary-search
Steps
TimeLeftRight
43.0ms
1.3358812302823308e-172
1.634960700230475e-166
30.0ms
-2.5745704243412446e-124
-4.348959628963497e-125
Results
52.0ms236×body256valid
11.0ms18×body1024infinite
2.0msbody512infinite
2.0msbody512valid
1.0msbody256infinite
Compiler

Compiled 873 to 508 computations (41.8% saved)

regimes235.0ms (0.5%)

Counts
26 → 3
Calls
Call 1
Inputs
(*.f64 (atan2.f64 x.im x.re) y.re)
(*.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (pow.f64 x.im y.re))
(*.f64 y.re (*.f64 (atan2.f64 x.im x.re) (-.f64 1 (*.f64 y.im (atan2.f64 x.im x.re)))))
(*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (pow.f64 x.im y.re))
(*.f64 (exp.f64 (*.f64 y.re (log.f64 (neg.f64 x.im)))) (*.f64 y.re (atan2.f64 x.im x.re)))
(/.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (exp.f64 (*.f64 y.im (atan2.f64 x.im x.re))))
(*.f64 y.re (*.f64 (atan2.f64 x.im x.re) (exp.f64 (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re))))))
(*.f64 y.re (+.f64 (atan2.f64 x.im x.re) (*.f64 y.im (neg.f64 (pow.f64 (atan2.f64 x.im x.re) 2)))))
(*.f64 (sin.f64 (+.f64 (-.f64 (*.f64 y.re (atan2.f64 x.im x.re)) -1) -1)) (pow.f64 x.im y.re))
(+.f64 (*.f64 (atan2.f64 x.im x.re) y.re) (*.f64 -1 (*.f64 (pow.f64 (atan2.f64 x.im x.re) 2) (*.f64 y.im y.re))))
(*.f64 (exp.f64 (-.f64 (*.f64 (log.f64 x.im) y.re) (*.f64 (atan2.f64 x.im x.re) y.im))) (*.f64 y.im (log.f64 (neg.f64 x.re))))
(*.f64 (exp.f64 (-.f64 (*.f64 (log.f64 x.re) y.re) (*.f64 (atan2.f64 x.im x.re) y.im))) (*.f64 y.re (atan2.f64 x.im x.re)))
(*.f64 (exp.f64 (-.f64 (*.f64 (log.f64 (neg.f64 x.im)) y.re) (*.f64 (atan2.f64 x.im x.re) y.im))) (*.f64 y.re (atan2.f64 x.im x.re)))
(*.f64 (exp.f64 (-.f64 (*.f64 (log.f64 (neg.f64 x.re)) y.re) (*.f64 (atan2.f64 x.im x.re) y.im))) (*.f64 y.re (atan2.f64 x.im x.re)))
(*.f64 (exp.f64 (-.f64 (*.f64 (log.f64 (neg.f64 x.im)) y.re) (*.f64 (atan2.f64 x.im x.re) y.im))) (+.f64 (-.f64 (*.f64 y.re (atan2.f64 x.im x.re)) -1) -1))
(*.f64 (exp.f64 (-.f64 (*.f64 (log.f64 x.im) y.re) (*.f64 (atan2.f64 x.im x.re) y.im))) (sin.f64 (*.f64 y.im (log.f64 x.im))))
(*.f64 (exp.f64 (-.f64 (*.f64 (log.f64 x.re) y.re) (*.f64 (atan2.f64 x.im x.re) y.im))) (sin.f64 (*.f64 y.im (log.f64 x.re))))
(*.f64 (exp.f64 (-.f64 (*.f64 (log.f64 x.im) y.re) (*.f64 (atan2.f64 x.im x.re) y.im))) (sin.f64 (*.f64 y.im (log.f64 (neg.f64 x.re)))))
(*.f64 (exp.f64 (-.f64 (*.f64 (log.f64 x.im) y.re) (*.f64 (atan2.f64 x.im x.re) y.im))) (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))))
(*.f64 (exp.f64 (-.f64 (*.f64 (log.f64 x.re) y.re) (*.f64 (atan2.f64 x.im x.re) y.im))) (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))))
(*.f64 (exp.f64 (-.f64 (*.f64 (log.f64 (neg.f64 x.im)) y.re) (*.f64 (atan2.f64 x.im x.re) y.im))) (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))))
(*.f64 (exp.f64 (-.f64 (*.f64 (log.f64 (neg.f64 x.re)) y.re) (*.f64 (atan2.f64 x.im x.re) y.im))) (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))))
(*.f64 (exp.f64 (-.f64 (*.f64 (log.f64 x.im) y.re) (*.f64 (atan2.f64 x.im x.re) y.im))) (sin.f64 (+.f64 (-.f64 (*.f64 y.re (atan2.f64 x.im x.re)) -1) -1)))
(*.f64 (exp.f64 (-.f64 (*.f64 (log.f64 (neg.f64 x.im)) y.re) (*.f64 (atan2.f64 x.im x.re) y.im))) (sin.f64 (+.f64 (-.f64 (*.f64 y.re (atan2.f64 x.im x.re)) -1) -1)))
(*.f64 (exp.f64 (-.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) y.re) (*.f64 (atan2.f64 x.im x.re) y.im))) (*.f64 y.re (atan2.f64 x.im x.re)))
(*.f64 (exp.f64 (-.f64 (*.f64 (log.f64 x.im) y.re) (*.f64 (atan2.f64 x.im x.re) y.im))) (sin.f64 (+.f64 (*.f64 (log.f64 x.im) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))))
Outputs
(*.f64 (exp.f64 (-.f64 (*.f64 (log.f64 (neg.f64 x.re)) y.re) (*.f64 (atan2.f64 x.im x.re) y.im))) (*.f64 y.re (atan2.f64 x.im x.re)))
(*.f64 (exp.f64 (-.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) y.re) (*.f64 (atan2.f64 x.im x.re) y.im))) (*.f64 y.re (atan2.f64 x.im x.re)))
(*.f64 (exp.f64 (-.f64 (*.f64 (log.f64 x.re) y.re) (*.f64 (atan2.f64 x.im x.re) y.im))) (sin.f64 (*.f64 y.im (log.f64 x.re))))
Calls

4 calls:

66.0ms
x.im
59.0ms
y.re
56.0ms
y.im
45.0ms
x.re
Results
ErrorSegmentsBranch
18.9b3x.re
19.6b6x.im
22.6b5y.re
27.5b5y.im
Compiler

Compiled 453 to 127 computations (72% saved)

bsearch84.0ms (0.2%)

Algorithm
binary-search
Steps
TimeLeftRight
49.0ms
1.2379631429804254e-142
3.4782156102713964e-129
35.0ms
-2.5745704243412446e-124
-4.348959628963497e-125
Results
62.0ms253×body256valid
12.0ms18×body1024infinite
3.0msbody512infinite
1.0msbody256infinite
1.0msbody512valid
1.0msbody1024valid
Compiler

Compiled 870 to 521 computations (40.1% saved)

regimes320.0ms (0.6%)

Counts
24 → 5
Calls
Call 1
Inputs
(*.f64 (atan2.f64 x.im x.re) y.re)
(*.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (pow.f64 x.im y.re))
(*.f64 y.re (*.f64 (atan2.f64 x.im x.re) (-.f64 1 (*.f64 y.im (atan2.f64 x.im x.re)))))
(*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (pow.f64 x.im y.re))
(*.f64 (exp.f64 (*.f64 y.re (log.f64 (neg.f64 x.im)))) (*.f64 y.re (atan2.f64 x.im x.re)))
(/.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (exp.f64 (*.f64 y.im (atan2.f64 x.im x.re))))
(*.f64 y.re (*.f64 (atan2.f64 x.im x.re) (exp.f64 (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re))))))
(*.f64 y.re (+.f64 (atan2.f64 x.im x.re) (*.f64 y.im (neg.f64 (pow.f64 (atan2.f64 x.im x.re) 2)))))
(*.f64 (sin.f64 (+.f64 (-.f64 (*.f64 y.re (atan2.f64 x.im x.re)) -1) -1)) (pow.f64 x.im y.re))
(+.f64 (*.f64 (atan2.f64 x.im x.re) y.re) (*.f64 -1 (*.f64 (pow.f64 (atan2.f64 x.im x.re) 2) (*.f64 y.im y.re))))
(*.f64 (exp.f64 (-.f64 (*.f64 (log.f64 x.im) y.re) (*.f64 (atan2.f64 x.im x.re) y.im))) (*.f64 y.im (log.f64 (neg.f64 x.re))))
(*.f64 (exp.f64 (-.f64 (*.f64 (log.f64 x.re) y.re) (*.f64 (atan2.f64 x.im x.re) y.im))) (*.f64 y.re (atan2.f64 x.im x.re)))
(*.f64 (exp.f64 (-.f64 (*.f64 (log.f64 (neg.f64 x.im)) y.re) (*.f64 (atan2.f64 x.im x.re) y.im))) (*.f64 y.re (atan2.f64 x.im x.re)))
(*.f64 (exp.f64 (-.f64 (*.f64 (log.f64 (neg.f64 x.re)) y.re) (*.f64 (atan2.f64 x.im x.re) y.im))) (*.f64 y.re (atan2.f64 x.im x.re)))
(*.f64 (exp.f64 (-.f64 (*.f64 (log.f64 (neg.f64 x.im)) y.re) (*.f64 (atan2.f64 x.im x.re) y.im))) (+.f64 (-.f64 (*.f64 y.re (atan2.f64 x.im x.re)) -1) -1))
(*.f64 (exp.f64 (-.f64 (*.f64 (log.f64 x.im) y.re) (*.f64 (atan2.f64 x.im x.re) y.im))) (sin.f64 (*.f64 y.im (log.f64 x.im))))
(*.f64 (exp.f64 (-.f64 (*.f64 (log.f64 x.re) y.re) (*.f64 (atan2.f64 x.im x.re) y.im))) (sin.f64 (*.f64 y.im (log.f64 x.re))))
(*.f64 (exp.f64 (-.f64 (*.f64 (log.f64 x.im) y.re) (*.f64 (atan2.f64 x.im x.re) y.im))) (sin.f64 (*.f64 y.im (log.f64 (neg.f64 x.re)))))
(*.f64 (exp.f64 (-.f64 (*.f64 (log.f64 x.im) y.re) (*.f64 (atan2.f64 x.im x.re) y.im))) (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))))
(*.f64 (exp.f64 (-.f64 (*.f64 (log.f64 x.re) y.re) (*.f64 (atan2.f64 x.im x.re) y.im))) (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))))
(*.f64 (exp.f64 (-.f64 (*.f64 (log.f64 (neg.f64 x.im)) y.re) (*.f64 (atan2.f64 x.im x.re) y.im))) (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))))
(*.f64 (exp.f64 (-.f64 (*.f64 (log.f64 (neg.f64 x.re)) y.re) (*.f64 (atan2.f64 x.im x.re) y.im))) (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))))
(*.f64 (exp.f64 (-.f64 (*.f64 (log.f64 x.im) y.re) (*.f64 (atan2.f64 x.im x.re) y.im))) (sin.f64 (+.f64 (-.f64 (*.f64 y.re (atan2.f64 x.im x.re)) -1) -1)))
(*.f64 (exp.f64 (-.f64 (*.f64 (log.f64 (neg.f64 x.im)) y.re) (*.f64 (atan2.f64 x.im x.re) y.im))) (sin.f64 (+.f64 (-.f64 (*.f64 y.re (atan2.f64 x.im x.re)) -1) -1)))
Outputs
(*.f64 (exp.f64 (-.f64 (*.f64 (log.f64 (neg.f64 x.re)) y.re) (*.f64 (atan2.f64 x.im x.re) y.im))) (*.f64 y.re (atan2.f64 x.im x.re)))
(*.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (pow.f64 x.im y.re))
(/.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (exp.f64 (*.f64 y.im (atan2.f64 x.im x.re))))
(*.f64 (sin.f64 (+.f64 (-.f64 (*.f64 y.re (atan2.f64 x.im x.re)) -1) -1)) (pow.f64 x.im y.re))
(*.f64 (exp.f64 (-.f64 (*.f64 (log.f64 x.re) y.re) (*.f64 (atan2.f64 x.im x.re) y.im))) (sin.f64 (*.f64 y.im (log.f64 x.re))))
Calls

4 calls:

100.0ms
y.im
82.0ms
x.im
53.0ms
x.re
51.0ms
y.re
Results
ErrorSegmentsBranch
19.6b5x.re
22.0b8x.im
28.1b5y.re
28.6b7y.im
Compiler

Compiled 406 to 114 computations (71.9% saved)

bsearch7.7s (15.2%)

Algorithm
binary-search
Steps
TimeLeftRight
27.0ms
1.1946799814861724e-173
1.3358812302823308e-172
7.6s
3.000767350922795e-211
2.896876385322051e-202
36.0ms
-3.040729755619127e-267
-3.1801893567012832e-270
32.0ms
-1.1000260927068055e-139
-6.813782581096321e-141
Results
7.6s480×body256valid
15.0ms24×body1024infinite
4.0msbody512infinite
2.0msbody256infinite
Compiler

Compiled 1125 to 722 computations (35.8% saved)

regimes6.7s (13.3%)

Counts
16 → 5
Calls
Call 1
Inputs
(*.f64 (atan2.f64 x.im x.re) y.re)
(*.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (pow.f64 x.im y.re))
(*.f64 y.re (*.f64 (atan2.f64 x.im x.re) (-.f64 1 (*.f64 y.im (atan2.f64 x.im x.re)))))
(*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (pow.f64 x.im y.re))
(*.f64 (exp.f64 (*.f64 y.re (log.f64 (neg.f64 x.im)))) (*.f64 y.re (atan2.f64 x.im x.re)))
(/.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (exp.f64 (*.f64 y.im (atan2.f64 x.im x.re))))
(*.f64 y.re (*.f64 (atan2.f64 x.im x.re) (exp.f64 (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re))))))
(*.f64 y.re (+.f64 (atan2.f64 x.im x.re) (*.f64 y.im (neg.f64 (pow.f64 (atan2.f64 x.im x.re) 2)))))
(*.f64 (sin.f64 (+.f64 (-.f64 (*.f64 y.re (atan2.f64 x.im x.re)) -1) -1)) (pow.f64 x.im y.re))
(+.f64 (*.f64 (atan2.f64 x.im x.re) y.re) (*.f64 -1 (*.f64 (pow.f64 (atan2.f64 x.im x.re) 2) (*.f64 y.im y.re))))
(*.f64 (exp.f64 (-.f64 (*.f64 (log.f64 x.im) y.re) (*.f64 (atan2.f64 x.im x.re) y.im))) (*.f64 y.im (log.f64 (neg.f64 x.re))))
(*.f64 (exp.f64 (-.f64 (*.f64 (log.f64 x.re) y.re) (*.f64 (atan2.f64 x.im x.re) y.im))) (*.f64 y.re (atan2.f64 x.im x.re)))
(*.f64 (exp.f64 (-.f64 (*.f64 (log.f64 (neg.f64 x.im)) y.re) (*.f64 (atan2.f64 x.im x.re) y.im))) (*.f64 y.re (atan2.f64 x.im x.re)))
(*.f64 (exp.f64 (-.f64 (*.f64 (log.f64 (neg.f64 x.re)) y.re) (*.f64 (atan2.f64 x.im x.re) y.im))) (*.f64 y.re (atan2.f64 x.im x.re)))
(*.f64 (exp.f64 (-.f64 (*.f64 (log.f64 (neg.f64 x.im)) y.re) (*.f64 (atan2.f64 x.im x.re) y.im))) (+.f64 (-.f64 (*.f64 y.re (atan2.f64 x.im x.re)) -1) -1))
(*.f64 (exp.f64 (-.f64 (*.f64 (log.f64 x.im) y.re) (*.f64 (atan2.f64 x.im x.re) y.im))) (sin.f64 (*.f64 y.im (log.f64 x.im))))
Outputs
(*.f64 (exp.f64 (-.f64 (*.f64 (log.f64 (neg.f64 x.re)) y.re) (*.f64 (atan2.f64 x.im x.re) y.im))) (*.f64 y.re (atan2.f64 x.im x.re)))
(*.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (pow.f64 x.im y.re))
(/.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (exp.f64 (*.f64 y.im (atan2.f64 x.im x.re))))
(*.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (pow.f64 x.im y.re))
(*.f64 (exp.f64 (-.f64 (*.f64 (log.f64 x.re) y.re) (*.f64 (atan2.f64 x.im x.re) y.im))) (*.f64 y.re (atan2.f64 x.im x.re)))
Calls

4 calls:

6.4s
y.im
140.0ms
x.re
87.0ms
y.re
78.0ms
x.im
Results
ErrorSegmentsBranch
25.8b5x.re
27.7b2x.im
29.3b3y.re
29.4b7y.im
Compiler

Compiled 252 to 93 computations (63.1% saved)

bsearch425.0ms (0.8%)

Algorithm
binary-search
Steps
TimeLeftRight
96.0ms
3.3247169131132625e-180
6.205672819655691e-176
85.0ms
3.000767350922795e-211
2.896876385322051e-202
106.0ms
-3.040729755619127e-267
-3.1801893567012832e-270
138.0ms
-1.1000260927068055e-139
-6.813782581096321e-141
Results
386.0ms510×body256valid
21.0ms32×body1024infinite
8.0ms13×body512infinite
3.0ms13×body256infinite
1.0msbody512valid
Compiler

Compiled 1122 to 685 computations (38.9% saved)

regimes201.0ms (0.4%)

Counts
13 → 5
Calls
Call 1
Inputs
(*.f64 (atan2.f64 x.im x.re) y.re)
(*.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (pow.f64 x.im y.re))
(*.f64 y.re (*.f64 (atan2.f64 x.im x.re) (-.f64 1 (*.f64 y.im (atan2.f64 x.im x.re)))))
(*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (pow.f64 x.im y.re))
(*.f64 (exp.f64 (*.f64 y.re (log.f64 (neg.f64 x.im)))) (*.f64 y.re (atan2.f64 x.im x.re)))
(/.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (exp.f64 (*.f64 y.im (atan2.f64 x.im x.re))))
(*.f64 y.re (*.f64 (atan2.f64 x.im x.re) (exp.f64 (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re))))))
(*.f64 y.re (+.f64 (atan2.f64 x.im x.re) (*.f64 y.im (neg.f64 (pow.f64 (atan2.f64 x.im x.re) 2)))))
(*.f64 (sin.f64 (+.f64 (-.f64 (*.f64 y.re (atan2.f64 x.im x.re)) -1) -1)) (pow.f64 x.im y.re))
(+.f64 (*.f64 (atan2.f64 x.im x.re) y.re) (*.f64 -1 (*.f64 (pow.f64 (atan2.f64 x.im x.re) 2) (*.f64 y.im y.re))))
(*.f64 (exp.f64 (-.f64 (*.f64 (log.f64 x.im) y.re) (*.f64 (atan2.f64 x.im x.re) y.im))) (*.f64 y.im (log.f64 (neg.f64 x.re))))
(*.f64 (exp.f64 (-.f64 (*.f64 (log.f64 x.re) y.re) (*.f64 (atan2.f64 x.im x.re) y.im))) (*.f64 y.re (atan2.f64 x.im x.re)))
(*.f64 (exp.f64 (-.f64 (*.f64 (log.f64 (neg.f64 x.im)) y.re) (*.f64 (atan2.f64 x.im x.re) y.im))) (*.f64 y.re (atan2.f64 x.im x.re)))
Outputs
(/.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (exp.f64 (*.f64 y.im (atan2.f64 x.im x.re))))
(*.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (pow.f64 x.im y.re))
(/.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (exp.f64 (*.f64 y.im (atan2.f64 x.im x.re))))
(*.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (pow.f64 x.im y.re))
(*.f64 (exp.f64 (-.f64 (*.f64 (log.f64 x.re) y.re) (*.f64 (atan2.f64 x.im x.re) y.im))) (*.f64 y.re (atan2.f64 x.im x.re)))
Calls

4 calls:

67.0ms
y.re
62.0ms
x.im
35.0ms
x.re
34.0ms
y.im
Results
ErrorSegmentsBranch
28.7b5x.re
31.6b2x.im
29.3b3y.re
31.4b5y.im
Compiler

Compiled 195 to 81 computations (58.5% saved)

bsearch221.0ms (0.4%)

Algorithm
binary-search
Steps
TimeLeftRight
63.0ms
3.3247169131132625e-180
6.205672819655691e-176
44.0ms
3.000767350922795e-211
2.896876385322051e-202
86.0ms
-3.040729755619127e-267
-3.1801893567012832e-270
28.0ms
-1.1000260927068055e-139
-6.813782581096321e-141
Results
192.0ms510×body256valid
15.0ms23×body1024infinite
4.0msbody512infinite
3.0ms12×body256infinite
1.0msbody512valid
Compiler

Compiled 1080 to 657 computations (39.2% saved)

regimes198.0ms (0.4%)

Counts
11 → 3
Calls
Call 1
Inputs
(*.f64 (atan2.f64 x.im x.re) y.re)
(*.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (pow.f64 x.im y.re))
(*.f64 y.re (*.f64 (atan2.f64 x.im x.re) (-.f64 1 (*.f64 y.im (atan2.f64 x.im x.re)))))
(*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (pow.f64 x.im y.re))
(*.f64 (exp.f64 (*.f64 y.re (log.f64 (neg.f64 x.im)))) (*.f64 y.re (atan2.f64 x.im x.re)))
(/.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (exp.f64 (*.f64 y.im (atan2.f64 x.im x.re))))
(*.f64 y.re (*.f64 (atan2.f64 x.im x.re) (exp.f64 (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re))))))
(*.f64 y.re (+.f64 (atan2.f64 x.im x.re) (*.f64 y.im (neg.f64 (pow.f64 (atan2.f64 x.im x.re) 2)))))
(*.f64 (sin.f64 (+.f64 (-.f64 (*.f64 y.re (atan2.f64 x.im x.re)) -1) -1)) (pow.f64 x.im y.re))
(+.f64 (*.f64 (atan2.f64 x.im x.re) y.re) (*.f64 -1 (*.f64 (pow.f64 (atan2.f64 x.im x.re) 2) (*.f64 y.im y.re))))
(*.f64 (exp.f64 (-.f64 (*.f64 (log.f64 x.im) y.re) (*.f64 (atan2.f64 x.im x.re) y.im))) (*.f64 y.im (log.f64 (neg.f64 x.re))))
Outputs
(*.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (pow.f64 x.im y.re))
(/.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (exp.f64 (*.f64 y.im (atan2.f64 x.im x.re))))
(*.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (pow.f64 x.im y.re))
Calls

4 calls:

75.0ms
x.re
71.0ms
y.im
28.0ms
x.im
21.0ms
y.re
Results
ErrorSegmentsBranch
33.1b5x.re
32.3b5x.im
29.3b3y.re
31.4b5y.im
Compiler

Compiled 160 to 72 computations (55% saved)

bsearch236.0ms (0.5%)

Algorithm
binary-search
Steps
TimeLeftRight
146.0ms
1.6142961835513454e+86
1.5966810455448192e+90
89.0ms
-1076153799263.0852
-7896923.733246692
Results
105.0ms272×body256valid
50.0ms58×body1024infinite
42.0ms99×body512infinite
19.0ms91×body256infinite
14.0ms11×body2048infinite
Compiler

Compiled 575 to 348 computations (39.5% saved)

regimes49.0ms (0.1%)

Counts
5 → 2
Calls
Call 1
Inputs
(*.f64 (atan2.f64 x.im x.re) y.re)
(*.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (pow.f64 x.im y.re))
(*.f64 y.re (*.f64 (atan2.f64 x.im x.re) (-.f64 1 (*.f64 y.im (atan2.f64 x.im x.re)))))
(*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (pow.f64 x.im y.re))
(*.f64 (exp.f64 (*.f64 y.re (log.f64 (neg.f64 x.im)))) (*.f64 y.re (atan2.f64 x.im x.re)))
Outputs
(*.f64 (exp.f64 (*.f64 y.re (log.f64 (neg.f64 x.im)))) (*.f64 y.re (atan2.f64 x.im x.re)))
(*.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (pow.f64 x.im y.re))
Calls

4 calls:

13.0ms
x.re
13.0ms
y.im
12.0ms
y.re
9.0ms
x.im
Results
ErrorSegmentsBranch
40.8b3x.re
36.9b2x.im
37.2b3y.re
40.8b3y.im
Compiler

Compiled 73 to 37 computations (49.3% saved)

bsearch57.0ms (0.1%)

Algorithm
binary-search
Steps
TimeLeftRight
57.0ms
-7.600179830527564e-309
3.3849633642887965e-305
Results
26.0ms119×body256valid
17.0ms22×body1024infinite
3.0msbody512infinite
3.0ms13×body256infinite
2.0msbody512valid
2.0msbody1024valid
2.0msbody2048infinite
Compiler

Compiled 296 to 193 computations (34.8% saved)

regimes36.0ms (0.1%)

Accuracy

Total -22.0b remaining (-59.1%)

Threshold costs -22.0b (-59.1%)

Counts
4 → 3
Calls
Call 1
Inputs
(*.f64 (atan2.f64 x.im x.re) y.re)
(*.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (pow.f64 x.im y.re))
(*.f64 y.re (*.f64 (atan2.f64 x.im x.re) (-.f64 1 (*.f64 y.im (atan2.f64 x.im x.re)))))
(*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (pow.f64 x.im y.re))
Outputs
(*.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (pow.f64 x.im y.re))
(*.f64 (atan2.f64 x.im x.re) y.re)
(*.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (pow.f64 x.im y.re))
Calls

4 calls:

11.0ms
y.re
10.0ms
y.im
10.0ms
x.re
4.0ms
x.im
Results
ErrorSegmentsBranch
40.8b3x.re
41.9b1x.im
37.2b3y.re
40.8b3y.im
Compiler

Compiled 61 to 32 computations (47.5% saved)

bsearch128.0ms (0.3%)

Algorithm
binary-search
Steps
TimeLeftRight
86.0ms
1.1709709111894142e-18
9.876036868968936e-10
41.0ms
-1076153799263.0852
-7896923.733246692
Results
59.0ms277×body256valid
48.0msbody1024infinite
8.0ms35×body256infinite
4.0msbody1024valid
3.0msbody512infinite
2.0msbody512valid
Compiler

Compiled 480 to 313 computations (34.8% saved)

simplify16.0ms (0%)

Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01271604
Stop Event
fuel
saturated
Calls
Call 1
Inputs
(if (<=.f64 x.re -3143850773938835/23817051317718446589520242536874132581700120107002038199303870846751188192899823151552628349788604516295066307994130118526061826166445047808) (*.f64 (exp.f64 (-.f64 (*.f64 (log.f64 (neg.f64 x.re)) y.re) (*.f64 (atan2.f64 x.im x.re) y.im))) (sin.f64 (+.f64 (*.f64 (log.f64 (neg.f64 x.re)) y.im) (*.f64 (atan2.f64 x.im x.re) y.re)))) (if (<=.f64 x.re 4699169032127353/34808659497239648579720852704622583960672214563358764118798771041101647699040812580153753748454066465596331097210650690541753423472407821641942301328447068696990926165468330002463334596608) (*.f64 (exp.f64 (-.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) y.re) (*.f64 (atan2.f64 x.im x.re) y.im))) (*.f64 y.re (atan2.f64 x.im x.re))) (*.f64 (exp.f64 (-.f64 (*.f64 (log.f64 x.re) y.re) (*.f64 (atan2.f64 x.im x.re) y.im))) (sin.f64 (+.f64 (*.f64 (log.f64 x.re) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))))))
(if (<=.f64 x.re -1488565707357403/5954262829429611647380060634218533145425030026750509549825967711687797048224955787888157087447151129073766576998532529631515456541611261952) (*.f64 (exp.f64 (-.f64 (*.f64 (log.f64 (neg.f64 x.re)) y.re) (*.f64 (atan2.f64 x.im x.re) y.im))) (*.f64 y.re (atan2.f64 x.im x.re))) (if (<=.f64 x.re 5112521863657073/1087770609288739018116276647019455748771006705104961378712461595034426490595025393129804804639189577049885346787832834079429794483512744426310696916513970896780966442670885312576979206144) (*.f64 (exp.f64 (-.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) y.re) (*.f64 (atan2.f64 x.im x.re) y.im))) (*.f64 y.re (atan2.f64 x.im x.re))) (*.f64 (exp.f64 (-.f64 (*.f64 (log.f64 x.re) y.re) (*.f64 (atan2.f64 x.im x.re) y.im))) (sin.f64 (+.f64 (*.f64 (log.f64 x.re) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))))))
(if (<=.f64 x.re -7621456421669903/47634102635436893179040485073748265163400240214004076398607741693502376385799646303105256699577209032590132615988260237052123652332890095616) (*.f64 (exp.f64 (-.f64 (*.f64 (log.f64 (neg.f64 x.re)) y.re) (*.f64 (atan2.f64 x.im x.re) y.im))) (*.f64 y.re (atan2.f64 x.im x.re))) (if (<=.f64 x.re 1248699420126397/390218568789499028922699653724145788218574767833121393857394619953171467352470702515038262882936496394978366390175827861930996959911035663286272) (*.f64 (exp.f64 (-.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) y.re) (*.f64 (atan2.f64 x.im x.re) y.im))) (*.f64 y.re (atan2.f64 x.im x.re))) (*.f64 (exp.f64 (-.f64 (*.f64 (log.f64 x.re) y.re) (*.f64 (atan2.f64 x.im x.re) y.im))) (sin.f64 (*.f64 y.im (log.f64 x.re))))))
(if (<=.f64 x.re -6221222879493365/429049853758163107186368799942587076079339706258956588087153966199096448962353503257659977541340909686081019461967553627320124249982290238285876768194691072) (*.f64 (exp.f64 (-.f64 (*.f64 (log.f64 (neg.f64 x.re)) y.re) (*.f64 (atan2.f64 x.im x.re) y.im))) (*.f64 y.re (atan2.f64 x.im x.re))) (if (<=.f64 x.re -7286382851541137/74350845423889153139903124907495028006563010082969722952788592965797032858020218677258415724807817529489936189509648652522729262277245285389541529055119731289148542022372993697134320491714886843511959789117571860303387435343894004407854947017432904150602255272707195641188267440734208) (*.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (pow.f64 x.im y.re)) (if (<=.f64 x.re 3883019193223799/706003489677054374237277210551156965837838477962894381170850482715673457590299624976468480248807499242724466374570999144530824216469597736906638272121736526607699022870679030143158018123175881930939339869708632591433728) (/.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (exp.f64 (*.f64 y.im (atan2.f64 x.im x.re)))) (if (<=.f64 x.re 3480865949723965/278469275977917188637766821636980671685377716506870112950390168328813181592326500641230029987632531724770648777685205524334027387779262573135538410627576549575927409323746640019706676772864) (*.f64 (sin.f64 (+.f64 (-.f64 (*.f64 y.re (atan2.f64 x.im x.re)) -1) -1)) (pow.f64 x.im y.re)) (*.f64 (exp.f64 (-.f64 (*.f64 (log.f64 x.re) y.re) (*.f64 (atan2.f64 x.im x.re) y.im))) (sin.f64 (*.f64 y.im (log.f64 x.re))))))))
(if (<=.f64 x.re -5920887981862651/858099707516326214372737599885174152158679412517913176174307932398192897924707006515319955082681819372162038923935107254640248499964580476571753536389382144) (*.f64 (exp.f64 (-.f64 (*.f64 (log.f64 (neg.f64 x.re)) y.re) (*.f64 (atan2.f64 x.im x.re) y.im))) (*.f64 y.re (atan2.f64 x.im x.re))) (if (<=.f64 x.re -1452164949685335/1161731959748268017810986326679609812602547032546401921137321765090578638406565916832162745700122148898280252961088260195667644723081957584211586391486245801392945969099578026517723757683045106929874371704962060317240428677248343818872733547147389127353160238636049931893566678761472) (*.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (pow.f64 x.im y.re)) (if (<=.f64 x.re 2118010469031163/706003489677054374237277210551156965837838477962894381170850482715673457590299624976468480248807499242724466374570999144530824216469597736906638272121736526607699022870679030143158018123175881930939339869708632591433728) (/.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (exp.f64 (*.f64 y.im (atan2.f64 x.im x.re)))) (if (<=.f64 x.re 4204745273200615/583992399055640987986069965529637289586333248927815671114136642291107221402710705472756839848623539171666215625420084135768154204336056063776340648924443416096255318318113913610607896607565283328) (*.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (pow.f64 x.im y.re)) (*.f64 (exp.f64 (-.f64 (*.f64 (log.f64 x.re) y.re) (*.f64 (atan2.f64 x.im x.re) y.im))) (*.f64 y.re (atan2.f64 x.im x.re)))))))
(if (<=.f64 x.re -5920887981862651/858099707516326214372737599885174152158679412517913176174307932398192897924707006515319955082681819372162038923935107254640248499964580476571753536389382144) (/.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (exp.f64 (*.f64 y.im (atan2.f64 x.im x.re)))) (if (<=.f64 x.re -871298969811201/290432989937067004452746581669902453150636758136600480284330441272644659601641479208040686425030537224570063240272065048916911180770489396052896597871561450348236492274894506629430939420761276732468592926240515079310107169312085954718183386786847281838290059659012482973391669690368) (*.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (pow.f64 x.im y.re)) (if (<=.f64 x.re 3088765267337113/22062609052407949194914912829723655182432452436340449411589077584864795549696863280514640007775234351335139574205343723266588256764674929278332446003804266456490594464708719691973688066349246310341854370928394768482304) (/.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (exp.f64 (*.f64 y.im (atan2.f64 x.im x.re)))) (if (<=.f64 x.re 2737464370573317/36499524940977561749129372845602330599145828057988479444633540143194201337669419092047302490538971198229138476588755258485509637771003503986021290557777713506015957394882119600662993537972830208) (*.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (pow.f64 x.im y.re)) (*.f64 (exp.f64 (-.f64 (*.f64 (log.f64 x.re) y.re) (*.f64 (atan2.f64 x.im x.re) y.im))) (*.f64 y.re (atan2.f64 x.im x.re)))))))
(if (<=.f64 y.re -1060000000000) (*.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (pow.f64 x.im y.re)) (if (<=.f64 y.re 1850000000000000013263293483167387532425067802995560954763212011923350163539575751835648) (/.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (exp.f64 (*.f64 y.im (atan2.f64 x.im x.re)))) (*.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (pow.f64 x.im y.re))))
(if (<=.f64 x.im -20240225330731/50600563326827654588123836679729326762389162441035529589225339506857584891998836722990095925359281123796769466079202977847452184346448369216753349985184627480379356069141590341116726935523304085309941919618186267140501870856173174654525838912289889085202514128089692388083353653807625633046581877161501565826926935273373696) (*.f64 (exp.f64 (*.f64 y.re (log.f64 (neg.f64 x.im)))) (*.f64 y.re (atan2.f64 x.im x.re))) (*.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (pow.f64 x.im y.re)))
(if (<=.f64 y.re -9800000) (*.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (pow.f64 x.im y.re)) (if (<=.f64 y.re 7737125245533627/9671406556917033397649408) (*.f64 (atan2.f64 x.im x.re) y.re) (*.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (pow.f64 x.im y.re))))
(*.f64 (atan2.f64 x.im x.re) y.re)
Outputs
(if (<=.f64 x.re -3143850773938835/23817051317718446589520242536874132581700120107002038199303870846751188192899823151552628349788604516295066307994130118526061826166445047808) (*.f64 (exp.f64 (-.f64 (*.f64 (log.f64 (neg.f64 x.re)) y.re) (*.f64 (atan2.f64 x.im x.re) y.im))) (sin.f64 (+.f64 (*.f64 (log.f64 (neg.f64 x.re)) y.im) (*.f64 (atan2.f64 x.im x.re) y.re)))) (if (<=.f64 x.re 4699169032127353/34808659497239648579720852704622583960672214563358764118798771041101647699040812580153753748454066465596331097210650690541753423472407821641942301328447068696990926165468330002463334596608) (*.f64 (exp.f64 (-.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) y.re) (*.f64 (atan2.f64 x.im x.re) y.im))) (*.f64 y.re (atan2.f64 x.im x.re))) (*.f64 (exp.f64 (-.f64 (*.f64 (log.f64 x.re) y.re) (*.f64 (atan2.f64 x.im x.re) y.im))) (sin.f64 (+.f64 (*.f64 (log.f64 x.re) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))))))
(if (<=.f64 x.re -1488565707357403/5954262829429611647380060634218533145425030026750509549825967711687797048224955787888157087447151129073766576998532529631515456541611261952) (*.f64 (exp.f64 (-.f64 (*.f64 (log.f64 (neg.f64 x.re)) y.re) (*.f64 (atan2.f64 x.im x.re) y.im))) (*.f64 y.re (atan2.f64 x.im x.re))) (if (<=.f64 x.re 5112521863657073/1087770609288739018116276647019455748771006705104961378712461595034426490595025393129804804639189577049885346787832834079429794483512744426310696916513970896780966442670885312576979206144) (*.f64 (exp.f64 (-.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) y.re) (*.f64 (atan2.f64 x.im x.re) y.im))) (*.f64 y.re (atan2.f64 x.im x.re))) (*.f64 (exp.f64 (-.f64 (*.f64 (log.f64 x.re) y.re) (*.f64 (atan2.f64 x.im x.re) y.im))) (sin.f64 (+.f64 (*.f64 (log.f64 x.re) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))))))
(if (<=.f64 x.re -7621456421669903/47634102635436893179040485073748265163400240214004076398607741693502376385799646303105256699577209032590132615988260237052123652332890095616) (*.f64 (exp.f64 (-.f64 (*.f64 (log.f64 (neg.f64 x.re)) y.re) (*.f64 (atan2.f64 x.im x.re) y.im))) (*.f64 y.re (atan2.f64 x.im x.re))) (if (<=.f64 x.re 1248699420126397/390218568789499028922699653724145788218574767833121393857394619953171467352470702515038262882936496394978366390175827861930996959911035663286272) (*.f64 (exp.f64 (-.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) y.re) (*.f64 (atan2.f64 x.im x.re) y.im))) (*.f64 y.re (atan2.f64 x.im x.re))) (*.f64 (exp.f64 (-.f64 (*.f64 (log.f64 x.re) y.re) (*.f64 (atan2.f64 x.im x.re) y.im))) (sin.f64 (*.f64 y.im (log.f64 x.re))))))
(if (<=.f64 x.re -6221222879493365/429049853758163107186368799942587076079339706258956588087153966199096448962353503257659977541340909686081019461967553627320124249982290238285876768194691072) (*.f64 (exp.f64 (-.f64 (*.f64 (log.f64 (neg.f64 x.re)) y.re) (*.f64 (atan2.f64 x.im x.re) y.im))) (*.f64 y.re (atan2.f64 x.im x.re))) (if (<=.f64 x.re -7286382851541137/74350845423889153139903124907495028006563010082969722952788592965797032858020218677258415724807817529489936189509648652522729262277245285389541529055119731289148542022372993697134320491714886843511959789117571860303387435343894004407854947017432904150602255272707195641188267440734208) (*.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (pow.f64 x.im y.re)) (if (<=.f64 x.re 3883019193223799/706003489677054374237277210551156965837838477962894381170850482715673457590299624976468480248807499242724466374570999144530824216469597736906638272121736526607699022870679030143158018123175881930939339869708632591433728) (/.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (exp.f64 (*.f64 y.im (atan2.f64 x.im x.re)))) (if (<=.f64 x.re 3480865949723965/278469275977917188637766821636980671685377716506870112950390168328813181592326500641230029987632531724770648777685205524334027387779262573135538410627576549575927409323746640019706676772864) (*.f64 (sin.f64 (+.f64 (-.f64 (*.f64 y.re (atan2.f64 x.im x.re)) -1) -1)) (pow.f64 x.im y.re)) (*.f64 (exp.f64 (-.f64 (*.f64 (log.f64 x.re) y.re) (*.f64 (atan2.f64 x.im x.re) y.im))) (sin.f64 (*.f64 y.im (log.f64 x.re))))))))
(if (<=.f64 x.re -5920887981862651/858099707516326214372737599885174152158679412517913176174307932398192897924707006515319955082681819372162038923935107254640248499964580476571753536389382144) (*.f64 (exp.f64 (-.f64 (*.f64 (log.f64 (neg.f64 x.re)) y.re) (*.f64 (atan2.f64 x.im x.re) y.im))) (*.f64 y.re (atan2.f64 x.im x.re))) (if (<=.f64 x.re -1452164949685335/1161731959748268017810986326679609812602547032546401921137321765090578638406565916832162745700122148898280252961088260195667644723081957584211586391486245801392945969099578026517723757683045106929874371704962060317240428677248343818872733547147389127353160238636049931893566678761472) (*.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (pow.f64 x.im y.re)) (if (<=.f64 x.re 2118010469031163/706003489677054374237277210551156965837838477962894381170850482715673457590299624976468480248807499242724466374570999144530824216469597736906638272121736526607699022870679030143158018123175881930939339869708632591433728) (/.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (exp.f64 (*.f64 y.im (atan2.f64 x.im x.re)))) (if (<=.f64 x.re 4204745273200615/583992399055640987986069965529637289586333248927815671114136642291107221402710705472756839848623539171666215625420084135768154204336056063776340648924443416096255318318113913610607896607565283328) (*.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (pow.f64 x.im y.re)) (*.f64 (exp.f64 (-.f64 (*.f64 (log.f64 x.re) y.re) (*.f64 (atan2.f64 x.im x.re) y.im))) (*.f64 y.re (atan2.f64 x.im x.re)))))))
(if (<=.f64 x.re -5920887981862651/858099707516326214372737599885174152158679412517913176174307932398192897924707006515319955082681819372162038923935107254640248499964580476571753536389382144) (/.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (exp.f64 (*.f64 y.im (atan2.f64 x.im x.re)))) (if (<=.f64 x.re -871298969811201/290432989937067004452746581669902453150636758136600480284330441272644659601641479208040686425030537224570063240272065048916911180770489396052896597871561450348236492274894506629430939420761276732468592926240515079310107169312085954718183386786847281838290059659012482973391669690368) (*.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (pow.f64 x.im y.re)) (if (<=.f64 x.re 3088765267337113/22062609052407949194914912829723655182432452436340449411589077584864795549696863280514640007775234351335139574205343723266588256764674929278332446003804266456490594464708719691973688066349246310341854370928394768482304) (/.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (exp.f64 (*.f64 y.im (atan2.f64 x.im x.re)))) (if (<=.f64 x.re 2737464370573317/36499524940977561749129372845602330599145828057988479444633540143194201337669419092047302490538971198229138476588755258485509637771003503986021290557777713506015957394882119600662993537972830208) (*.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (pow.f64 x.im y.re)) (*.f64 (exp.f64 (-.f64 (*.f64 (log.f64 x.re) y.re) (*.f64 (atan2.f64 x.im x.re) y.im))) (*.f64 y.re (atan2.f64 x.im x.re)))))))
(if (<=.f64 y.re -1060000000000) (*.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (pow.f64 x.im y.re)) (if (<=.f64 y.re 1850000000000000013263293483167387532425067802995560954763212011923350163539575751835648) (/.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (exp.f64 (*.f64 y.im (atan2.f64 x.im x.re)))) (*.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (pow.f64 x.im y.re))))
(if (<=.f64 x.im -20240225330731/50600563326827654588123836679729326762389162441035529589225339506857584891998836722990095925359281123796769466079202977847452184346448369216753349985184627480379356069141590341116726935523304085309941919618186267140501870856173174654525838912289889085202514128089692388083353653807625633046581877161501565826926935273373696) (*.f64 (exp.f64 (*.f64 y.re (log.f64 (neg.f64 x.im)))) (*.f64 y.re (atan2.f64 x.im x.re))) (*.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (pow.f64 x.im y.re)))
(if (<=.f64 y.re -9800000) (*.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (pow.f64 x.im y.re)) (if (<=.f64 y.re 7737125245533627/9671406556917033397649408) (*.f64 (atan2.f64 x.im x.re) y.re) (*.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (pow.f64 x.im y.re))))
(*.f64 (atan2.f64 x.im x.re) y.re)
Compiler

Compiled 601 to 273 computations (54.6% saved)

soundness219.0ms (0.4%)

Algorithm
egg-herbie
Rules
1248×rational.json-simplify-35
1248×rational.json-simplify-35
1094×rational.json-simplify-51
1094×rational.json-simplify-51
1040×rational.json-simplify-2
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
040610732
1100610540
2207910516
3414510104
4598110104
040610732
1100610540
2207910516
3414510104
4598110104
Stop Event
node limit
node limit
Compiler

Compiled 180 to 65 computations (63.9% saved)

end230.0ms (0.5%)

Compiler

Compiled 565 to 124 computations (78.1% saved)

Profiling

Loading profile data...