Details

Time bar (total: 34.9s)

analyze439.0ms (1.3%)

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)

sample10.9s (31.2%)

Results
5.2s7901×body256valid
3.9s2495×body1024infinite
1.1s990×body512infinite
226.0ms1051×body256infinite
191.0ms196×body1024valid
98.0ms145×body512valid
32.0ms36×body2048infinite
13.0ms14×body2048valid
Bogosity

preprocess1.4s (3.9%)

Algorithm
egg-herbie
Rules
1760×rational.json-simplify-51
1314×rational.json-simplify-46
1244×rational.json-simplify-49
848×rational.json-simplify-19
834×rational.json-simplify-37
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
094805
1157805
2215805
3355805
41135805
55000805
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))) (cos.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))) (cos.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))) (cos.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))) (cos.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))) (cos.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))) (cos.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))) (cos.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))) (cos.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))) (cos.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))) (cos.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)))) (cos.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))) (cos.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)))) (cos.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))) (cos.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)))) (cos.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))) (cos.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)))) (cos.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))) (cos.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)))) (cos.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))) (cos.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)))) (cos.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)

simplify119.0ms (0.3%)

Algorithm
egg-herbie
Rules
1106×rational.json-simplify-2
930×rational.json-simplify-44
830×rational.json-simplify-39
822×rational.json-simplify-47
728×rational.json-simplify-51
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
022115
133115
249115
397115
4428115
54079115
66420115
77562115
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))) (cos.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))) (cos.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))) (cos.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
35.5b
Counts
3 → 1
Alt Table
Click to see full alt table
StatusErrorProgram
35.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))) (cos.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)

localize33.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
1.0b
(*.f64 (atan2.f64 x.im x.re) y.re)
2.2b
(*.f64 (atan2.f64 x.im x.re) y.im)
29.2b
(cos.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)))
31.5b
(sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))
Compiler

Compiled 180 to 19 computations (89.4% saved)

series75.0ms (0.2%)

Counts
4 → 120
Calls

36 calls:

TimeVariablePointExpression
54.0ms
x.re
@0
(cos.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
(cos.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
(cos.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
(cos.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
(cos.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)))

rewrite352.0ms (1%)

Algorithm
batch-egg-rewrite
Rules
1362×bool.json-1
1362×bool.json-2
1342×rational.json-1
1342×rational.json-2
1342×rational.json-4
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
018104
1176104
2439104
31032104
43498104
Stop Event
node limit
Counts
4 → 40
Calls
Call 1
Inputs
(sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))
(cos.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 (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 (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 2 (*.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 (cos.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 (cos.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 (cos.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 (cos.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 (cos.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 (cos.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 (cos.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 (cos.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 (cos.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 (cos.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 (cos.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 (cos.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 2 (*.f64 (cos.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 not (not (cos.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 (cos.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))) (cos.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 (cos.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))) (cos.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 (*.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 y.im (*.f64 (atan2.f64 x.im x.re) 2)) 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 2 (*.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 2 (*.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))))))

simplify969.0ms (2.8%)

Algorithm
egg-herbie
Rules
1306×rational.json-simplify-35
1188×rational.json-simplify-51
1126×rational.json-simplify-2
902×rational.json-simplify-54
892×rational.json-simplify-43
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
039210548
199710344
2207910298
343099926
462799926
Stop Event
node limit
Counts
160 → 232
Calls
Call 1
Inputs
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)))))
(cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.im))))
(+.f64 (*.f64 -1/2 (/.f64 (*.f64 (sin.f64 (+.f64 (*.f64 (log.f64 x.im) y.im) (*.f64 y.re (atan2.f64 x.im x.re)))) (*.f64 (pow.f64 x.re 2) y.im)) (pow.f64 x.im 2))) (cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.im)))))
(+.f64 (*.f64 -1/2 (/.f64 (*.f64 (sin.f64 (+.f64 (*.f64 (log.f64 x.im) y.im) (*.f64 y.re (atan2.f64 x.im x.re)))) (*.f64 (pow.f64 x.re 2) y.im)) (pow.f64 x.im 2))) (+.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 4) (-.f64 (*.f64 -1/8 (/.f64 (*.f64 (pow.f64 y.im 2) (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 -1/4 (/.f64 (*.f64 (sin.f64 (+.f64 (*.f64 (log.f64 x.im) y.im) (*.f64 y.re (atan2.f64 x.im x.re)))) y.im) (pow.f64 x.im 4)))))))
(+.f64 (*.f64 -1/2 (/.f64 (*.f64 (sin.f64 (+.f64 (*.f64 (log.f64 x.im) y.im) (*.f64 y.re (atan2.f64 x.im x.re)))) (*.f64 (pow.f64 x.re 2) y.im)) (pow.f64 x.im 2))) (+.f64 (*.f64 (pow.f64 x.re 6) (-.f64 (*.f64 1/8 (/.f64 (*.f64 (pow.f64 y.im 2) (cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.im))))) (pow.f64 x.im 6))) (*.f64 (sin.f64 (+.f64 (*.f64 (log.f64 x.im) y.im) (*.f64 y.re (atan2.f64 x.im x.re)))) (+.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 (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) (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 -1/4 (/.f64 (*.f64 (sin.f64 (+.f64 (*.f64 (log.f64 x.im) y.im) (*.f64 y.re (atan2.f64 x.im x.re)))) y.im) (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))))
(+.f64 (*.f64 -1/2 (/.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 y.im (pow.f64 x.im 2))) (pow.f64 x.re 2))) (cos.f64 (+.f64 (*.f64 -1 (*.f64 (log.f64 (/.f64 1 x.re)) y.im)) (*.f64 y.re (atan2.f64 x.im x.re)))))
(-.f64 (+.f64 (*.f64 -1/2 (/.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 y.im (pow.f64 x.im 2))) (pow.f64 x.re 2))) (+.f64 (*.f64 -1/8 (/.f64 (*.f64 (pow.f64 y.im 2) (*.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))) (cos.f64 (+.f64 (*.f64 -1 (*.f64 (log.f64 (/.f64 1 x.re)) y.im)) (*.f64 y.re (atan2.f64 x.im x.re)))))) (*.f64 -1/4 (/.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 y.im (pow.f64 x.im 4))) (pow.f64 x.re 4))))
(-.f64 (+.f64 (*.f64 1/8 (/.f64 (*.f64 (pow.f64 y.im 2) (*.f64 (pow.f64 x.im 6) (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 (*.f64 -1/2 (/.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 y.im (pow.f64 x.im 2))) (pow.f64 x.re 2))) (+.f64 (*.f64 -1/8 (/.f64 (*.f64 (pow.f64 y.im 2) (*.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))) (cos.f64 (+.f64 (*.f64 -1 (*.f64 (log.f64 (/.f64 1 x.re)) y.im)) (*.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))) (sin.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 -1/4 (/.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 y.im (pow.f64 x.im 4))) (pow.f64 x.re 4)))))
(cos.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/2 (/.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 y.im (pow.f64 x.im 2))) (pow.f64 x.re 2))) (cos.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 -1/2 (/.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 y.im (pow.f64 x.im 2))) (pow.f64 x.re 2))) (+.f64 (*.f64 -1/8 (/.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 (pow.f64 y.im 2) (pow.f64 x.im 4))) (pow.f64 x.re 4))) (cos.f64 (+.f64 (*.f64 -1 (*.f64 y.im (log.f64 (/.f64 -1 x.re)))) (*.f64 y.re (atan2.f64 x.im x.re)))))) (*.f64 -1/4 (/.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 y.im (pow.f64 x.im 4))) (pow.f64 x.re 4))))
(-.f64 (+.f64 (*.f64 1/8 (/.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 (pow.f64 y.im 2) (pow.f64 x.im 6))) (pow.f64 x.re 6))) (+.f64 (*.f64 -1/2 (/.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 y.im (pow.f64 x.im 2))) (pow.f64 x.re 2))) (+.f64 (*.f64 -1/8 (/.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 (pow.f64 y.im 2) (pow.f64 x.im 4))) (pow.f64 x.re 4))) (cos.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))) (sin.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 -1/4 (/.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 y.im (pow.f64 x.im 4))) (pow.f64 x.re 4)))))
(cos.f64 (+.f64 (*.f64 y.im (log.f64 x.re)) (*.f64 y.re (atan2.f64 x.im x.re))))
(+.f64 (*.f64 -1/2 (/.f64 (*.f64 y.im (*.f64 (pow.f64 x.im 2) (sin.f64 (+.f64 (*.f64 (log.f64 x.re) y.im) (*.f64 y.re (atan2.f64 x.im x.re)))))) (pow.f64 x.re 2))) (cos.f64 (+.f64 (*.f64 y.im (log.f64 x.re)) (*.f64 y.re (atan2.f64 x.im x.re)))))
(+.f64 (*.f64 (pow.f64 x.im 4) (-.f64 (*.f64 -1/8 (/.f64 (*.f64 (pow.f64 y.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 4))) (*.f64 -1/4 (/.f64 (*.f64 y.im (sin.f64 (+.f64 (*.f64 (log.f64 x.re) y.im) (*.f64 y.re (atan2.f64 x.im x.re))))) (pow.f64 x.re 4))))) (+.f64 (*.f64 -1/2 (/.f64 (*.f64 y.im (*.f64 (pow.f64 x.im 2) (sin.f64 (+.f64 (*.f64 (log.f64 x.re) y.im) (*.f64 y.re (atan2.f64 x.im x.re)))))) (pow.f64 x.re 2))) (cos.f64 (+.f64 (*.f64 y.im (log.f64 x.re)) (*.f64 y.re (atan2.f64 x.im x.re))))))
(+.f64 (*.f64 (pow.f64 x.im 6) (-.f64 (*.f64 1/8 (/.f64 (*.f64 (pow.f64 y.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 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)))) (sin.f64 (+.f64 (*.f64 (log.f64 x.re) y.im) (*.f64 y.re (atan2.f64 x.im x.re))))))) (+.f64 (*.f64 (pow.f64 x.im 4) (-.f64 (*.f64 -1/8 (/.f64 (*.f64 (pow.f64 y.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 4))) (*.f64 -1/4 (/.f64 (*.f64 y.im (sin.f64 (+.f64 (*.f64 (log.f64 x.re) y.im) (*.f64 y.re (atan2.f64 x.im x.re))))) (pow.f64 x.re 4))))) (+.f64 (*.f64 -1/2 (/.f64 (*.f64 y.im (*.f64 (pow.f64 x.im 2) (sin.f64 (+.f64 (*.f64 (log.f64 x.re) y.im) (*.f64 y.re (atan2.f64 x.im x.re)))))) (pow.f64 x.re 2))) (cos.f64 (+.f64 (*.f64 y.im (log.f64 x.re)) (*.f64 y.re (atan2.f64 x.im x.re)))))))
(cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 -1 (*.f64 (log.f64 (/.f64 1 x.im)) y.im))))
(+.f64 (cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 -1 (*.f64 (log.f64 (/.f64 1 x.im)) y.im)))) (*.f64 -1/2 (/.f64 (*.f64 (pow.f64 x.re 2) (*.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)))))) (pow.f64 x.im 2))))
(-.f64 (+.f64 (*.f64 -1/8 (/.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)))) (pow.f64 y.im 2))) (pow.f64 x.im 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)))) (*.f64 -1/2 (/.f64 (*.f64 (pow.f64 x.re 2) (*.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)))))) (pow.f64 x.im 2))))) (*.f64 -1/4 (/.f64 (*.f64 (pow.f64 x.re 4) (*.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)))))) (pow.f64 x.im 4))))
(-.f64 (+.f64 (*.f64 -1/8 (/.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)))) (pow.f64 y.im 2))) (pow.f64 x.im 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)))) (+.f64 (*.f64 1/8 (/.f64 (*.f64 (pow.f64 x.re 6) (*.f64 (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 y.im 2))) (pow.f64 x.im 6))) (*.f64 -1/2 (/.f64 (*.f64 (pow.f64 x.re 2) (*.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)))))) (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 y.im (+.f64 (*.f64 30 (pow.f64 x.re 6)) (*.f64 90 (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))))) (pow.f64 x.im 6)) (*.f64 -1/4 (/.f64 (*.f64 (pow.f64 x.re 4) (*.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)))))) (pow.f64 x.im 4)))))
(cos.f64 (+.f64 (*.f64 -1 (*.f64 (log.f64 (/.f64 -1 x.im)) y.im)) (*.f64 y.re (atan2.f64 x.im x.re))))
(+.f64 (cos.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 (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 2) y.im)) (pow.f64 x.im 2))))
(-.f64 (+.f64 (*.f64 -1/8 (/.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)))) (pow.f64 y.im 2))) (pow.f64 x.im 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)))) (*.f64 -1/2 (/.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 2) y.im)) (pow.f64 x.im 2))))) (*.f64 -1/4 (/.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) y.im)) (pow.f64 x.im 4))))
(-.f64 (+.f64 (*.f64 1/8 (/.f64 (*.f64 (pow.f64 x.re 6) (*.f64 (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 y.im 2))) (pow.f64 x.im 6))) (+.f64 (*.f64 -1/8 (/.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)))) (pow.f64 y.im 2))) (pow.f64 x.im 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)))) (*.f64 -1/2 (/.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 2) y.im)) (pow.f64 x.im 2)))))) (+.f64 (/.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 (*.f64 -1/48 (*.f64 (pow.f64 x.re 6) (pow.f64 y.im 3))) (*.f64 1/720 (*.f64 y.im (+.f64 (*.f64 30 (pow.f64 x.re 6)) (*.f64 90 (pow.f64 x.re 6))))))) (pow.f64 x.im 6)) (*.f64 -1/4 (/.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) y.im)) (pow.f64 x.im 4)))))
(cos.f64 (*.f64 y.re (atan2.f64 x.im x.re)))
(+.f64 (*.f64 -1 (*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (*.f64 y.im (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 (pow.f64 y.im 2) (*.f64 (pow.f64 (log.f64 (sqrt.f64 (+.f64 (pow.f64 x.im 2) (pow.f64 x.re 2)))) 2) (cos.f64 (*.f64 y.re (atan2.f64 x.im x.re)))))) (+.f64 (*.f64 -1 (*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (*.f64 y.im (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 (pow.f64 y.im 2) (*.f64 (pow.f64 (log.f64 (sqrt.f64 (+.f64 (pow.f64 x.im 2) (pow.f64 x.re 2)))) 2) (cos.f64 (*.f64 y.re (atan2.f64 x.im x.re)))))) (+.f64 (*.f64 -1 (*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (*.f64 y.im (log.f64 (sqrt.f64 (+.f64 (pow.f64 x.im 2) (pow.f64 x.re 2))))))) (+.f64 (cos.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (*.f64 1/6 (*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (*.f64 (pow.f64 y.im 3) (pow.f64 (log.f64 (sqrt.f64 (+.f64 (pow.f64 x.im 2) (pow.f64 x.re 2)))) 3)))))))
(cos.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))))
(cos.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))))
(cos.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))))
(cos.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))))
(cos.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))))
(cos.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))))
(cos.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))))
(cos.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))))
(cos.f64 (*.f64 y.im (log.f64 (sqrt.f64 (+.f64 (pow.f64 x.im 2) (pow.f64 x.re 2))))))
(+.f64 (*.f64 -1 (*.f64 (sin.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)))) (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 (pow.f64 y.re 2) (*.f64 (pow.f64 (atan2.f64 x.im x.re) 2) (cos.f64 (*.f64 y.im (log.f64 (sqrt.f64 (+.f64 (pow.f64 x.im 2) (pow.f64 x.re 2))))))))) (+.f64 (*.f64 -1 (*.f64 (sin.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)))) (cos.f64 (*.f64 y.im (log.f64 (sqrt.f64 (+.f64 (pow.f64 x.im 2) (pow.f64 x.re 2))))))))
(+.f64 (*.f64 1/6 (*.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 3) (pow.f64 (atan2.f64 x.im x.re) 3)))) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y.re 2) (*.f64 (pow.f64 (atan2.f64 x.im x.re) 2) (cos.f64 (*.f64 y.im (log.f64 (sqrt.f64 (+.f64 (pow.f64 x.im 2) (pow.f64 x.re 2))))))))) (+.f64 (*.f64 -1 (*.f64 (sin.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)))) (cos.f64 (*.f64 y.im (log.f64 (sqrt.f64 (+.f64 (pow.f64 x.im 2) (pow.f64 x.re 2)))))))))
(cos.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))))
(cos.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))))
(cos.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))))
(cos.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))))
(cos.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))))
(cos.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))))
(cos.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))))
(cos.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))))
(*.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 (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 2 (*.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))) 4)) 8)
(+.f64 (cos.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 (cos.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 (cos.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 (cos.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 (cos.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 (cos.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 (cos.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 (cos.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 (cos.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 (cos.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 (cos.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 (cos.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 2 (*.f64 (cos.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 (*.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 y.im (*.f64 (atan2.f64 x.im x.re) 2)) 2)
(/.f64 (*.f64 (*.f64 y.im (atan2.f64 x.im x.re)) 4) 4)
(/.f64 (*.f64 2 (*.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 2 (*.f64 (*.f64 (atan2.f64 x.im x.re) y.re) 4)) 8)
Outputs
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/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 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/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/2 (/.f64 (pow.f64 x.re 2) x.im)) (*.f64 -1/8 (/.f64 (pow.f64 x.re 4) (pow.f64 x.im 3)))))
(+.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 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 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 (/.f64 (pow.f64 x.im 2) x.re) -1/2))
(+.f64 (neg.f64 x.re) (*.f64 (/.f64 (pow.f64 x.im 2) x.re) -1/2))
(+.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 (/.f64 (pow.f64 x.im 4) (pow.f64 x.re 3)) 1/8) (*.f64 (/.f64 (pow.f64 x.im 2) x.re) -1/2)))
(+.f64 (neg.f64 x.re) (+.f64 (*.f64 (/.f64 (pow.f64 x.im 2) x.re) -1/2) (*.f64 (/.f64 (pow.f64 x.im 4) (pow.f64 x.re 3)) 1/8)))
(+.f64 (*.f64 (/.f64 (pow.f64 x.im 2) x.re) -1/2) (+.f64 (neg.f64 x.re) (*.f64 (/.f64 (pow.f64 x.im 4) (pow.f64 x.re 3)) 1/8)))
(+.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 (/.f64 (pow.f64 x.im 2) x.re) -1/2) (+.f64 (+.f64 (*.f64 x.re -1) (*.f64 (/.f64 (pow.f64 x.im 4) (pow.f64 x.re 3)) 1/8)) (*.f64 (/.f64 (pow.f64 x.im 6) (pow.f64 x.re 5)) -1/16)))
(+.f64 (neg.f64 x.re) (+.f64 (+.f64 (*.f64 (/.f64 (pow.f64 x.im 2) x.re) -1/2) (*.f64 (/.f64 (pow.f64 x.im 4) (pow.f64 x.re 3)) 1/8)) (*.f64 (/.f64 (pow.f64 x.im 6) (pow.f64 x.re 5)) -1/16)))
(+.f64 (+.f64 (neg.f64 x.re) (*.f64 (/.f64 (pow.f64 x.im 4) (pow.f64 x.re 3)) 1/8)) (+.f64 (*.f64 (/.f64 (pow.f64 x.im 2) x.re) -1/2) (*.f64 (/.f64 (pow.f64 x.im 6) (pow.f64 x.re 5)) -1/16)))
(+.f64 (*.f64 (/.f64 (pow.f64 x.im 2) x.re) -1/2) (+.f64 (+.f64 (neg.f64 x.re) (*.f64 (/.f64 (pow.f64 x.im 4) (pow.f64 x.re 3)) 1/8)) (*.f64 (/.f64 (pow.f64 x.im 6) (pow.f64 x.re 5)) -1/16)))
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 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/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 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/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/2 (/.f64 (pow.f64 x.re 2) x.im)) (*.f64 -1/8 (/.f64 (pow.f64 x.re 4) (pow.f64 x.im 3)))))
(+.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 1/16 (/.f64 (pow.f64 x.re 6) (pow.f64 x.im 5))))))
(*.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 (/.f64 (pow.f64 x.re 2) x.im) -1/2))
(+.f64 (neg.f64 x.im) (*.f64 (/.f64 (pow.f64 x.re 2) x.im) -1/2))
(+.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 x.im -1) (+.f64 (*.f64 (/.f64 (pow.f64 x.re 2) x.im) -1/2) (*.f64 (/.f64 (pow.f64 x.re 4) (pow.f64 x.im 3)) 1/8)))
(+.f64 (*.f64 (/.f64 (pow.f64 x.re 2) x.im) -1/2) (+.f64 (*.f64 (/.f64 (pow.f64 x.re 4) (pow.f64 x.im 3)) 1/8) (neg.f64 x.im)))
(+.f64 (neg.f64 x.im) (+.f64 (*.f64 (/.f64 (pow.f64 x.re 2) x.im) -1/2) (*.f64 (/.f64 (pow.f64 x.re 4) (pow.f64 x.im 3)) 1/8)))
(+.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 (/.f64 (pow.f64 x.re 4) (pow.f64 x.im 3)) 1/8) (+.f64 (*.f64 (/.f64 (pow.f64 x.re 2) x.im) -1/2) (*.f64 (/.f64 (pow.f64 x.re 6) (pow.f64 x.im 5)) -1/16))))
(+.f64 (neg.f64 x.im) (+.f64 (*.f64 (/.f64 (pow.f64 x.re 2) x.im) -1/2) (+.f64 (*.f64 (/.f64 (pow.f64 x.re 6) (pow.f64 x.im 5)) -1/16) (*.f64 (/.f64 (pow.f64 x.re 4) (pow.f64 x.im 3)) 1/8))))
(+.f64 (neg.f64 x.im) (+.f64 (*.f64 (/.f64 (pow.f64 x.re 2) x.im) -1/2) (+.f64 (*.f64 (/.f64 (pow.f64 x.re 4) (pow.f64 x.im 3)) 1/8) (*.f64 (/.f64 (pow.f64 x.re 6) (pow.f64 x.im 5)) -1/16))))
(cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.im))))
(+.f64 (*.f64 -1/2 (/.f64 (*.f64 (sin.f64 (+.f64 (*.f64 (log.f64 x.im) y.im) (*.f64 y.re (atan2.f64 x.im x.re)))) (*.f64 (pow.f64 x.re 2) y.im)) (pow.f64 x.im 2))) (cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.im)))))
(+.f64 (cos.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) y.im) (/.f64 (sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.im)))) (pow.f64 x.im 2)))))
(+.f64 (cos.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 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.im)))) (/.f64 (*.f64 (pow.f64 x.re 2) y.im) (pow.f64 x.im 2)))))
(+.f64 (cos.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 (/.f64 (*.f64 (pow.f64 x.re 2) y.im) (pow.f64 x.im 2)) -1/2)))
(+.f64 (cos.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 (*.f64 (pow.f64 x.re 2) (/.f64 y.im (pow.f64 x.im 2))) -1/2)))
(+.f64 (*.f64 -1/2 (/.f64 (*.f64 (sin.f64 (+.f64 (*.f64 (log.f64 x.im) y.im) (*.f64 y.re (atan2.f64 x.im x.re)))) (*.f64 (pow.f64 x.re 2) y.im)) (pow.f64 x.im 2))) (+.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 4) (-.f64 (*.f64 -1/8 (/.f64 (*.f64 (pow.f64 y.im 2) (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 -1/4 (/.f64 (*.f64 (sin.f64 (+.f64 (*.f64 (log.f64 x.im) y.im) (*.f64 y.re (atan2.f64 x.im x.re)))) y.im) (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 (*.f64 (pow.f64 x.re 4) (-.f64 (*.f64 -1/8 (*.f64 (cos.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 y.im (/.f64 (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/2 (*.f64 (*.f64 (pow.f64 x.re 2) y.im) (/.f64 (sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.im)))) (pow.f64 x.im 2))))))
(+.f64 (*.f64 (pow.f64 x.re 4) (-.f64 (*.f64 -1/8 (*.f64 (cos.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 y.im (*.f64 (/.f64 (sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.im)))) (pow.f64 x.im 4)) -1/4)))) (+.f64 (cos.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 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.im)))) (/.f64 (*.f64 (pow.f64 x.re 2) 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 (/.f64 (*.f64 (pow.f64 x.re 2) y.im) (pow.f64 x.im 2)) -1/2)) (+.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 4) (-.f64 (*.f64 -1/8 (*.f64 (cos.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 (sin.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 (+.f64 (cos.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 (*.f64 (pow.f64 x.re 2) (/.f64 y.im (pow.f64 x.im 2))) -1/2))) (*.f64 (pow.f64 x.re 4) (-.f64 (*.f64 -1/8 (*.f64 (cos.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 (sin.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 (*.f64 -1/2 (/.f64 (*.f64 (sin.f64 (+.f64 (*.f64 (log.f64 x.im) y.im) (*.f64 y.re (atan2.f64 x.im x.re)))) (*.f64 (pow.f64 x.re 2) y.im)) (pow.f64 x.im 2))) (+.f64 (*.f64 (pow.f64 x.re 6) (-.f64 (*.f64 1/8 (/.f64 (*.f64 (pow.f64 y.im 2) (cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.im))))) (pow.f64 x.im 6))) (*.f64 (sin.f64 (+.f64 (*.f64 (log.f64 x.im) y.im) (*.f64 y.re (atan2.f64 x.im x.re)))) (+.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 (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) (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 -1/4 (/.f64 (*.f64 (sin.f64 (+.f64 (*.f64 (log.f64 x.im) y.im) (*.f64 y.re (atan2.f64 x.im x.re)))) y.im) (pow.f64 x.im 4))))))))
(+.f64 (*.f64 -1/2 (*.f64 (*.f64 (pow.f64 x.re 2) y.im) (/.f64 (sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.im)))) (pow.f64 x.im 2)))) (+.f64 (cos.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 (cos.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 y.im (/.f64 (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 (pow.f64 x.re 6) (-.f64 (*.f64 1/8 (*.f64 (cos.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 (sin.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 (*.f64 -1/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) y.im) (pow.f64 x.im 2)))) (+.f64 (*.f64 (pow.f64 x.re 4) (-.f64 (*.f64 -1/8 (*.f64 (cos.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 y.im (*.f64 (/.f64 (sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.im)))) (pow.f64 x.im 4)) -1/4)))) (+.f64 (*.f64 (pow.f64 x.re 6) (-.f64 (*.f64 (cos.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 (sin.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))))))) (cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.im)))))))
(+.f64 (*.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) y.im) (pow.f64 x.im 2)) -1/2)) (+.f64 (*.f64 (pow.f64 x.re 4) (-.f64 (*.f64 -1/8 (*.f64 (cos.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 (sin.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 (cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.im)))) (*.f64 (pow.f64 x.re 6) (-.f64 (*.f64 (cos.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 (sin.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 (cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.im)))) (+.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) (/.f64 y.im (pow.f64 x.im 2))) -1/2)) (+.f64 (*.f64 (pow.f64 x.re 4) (-.f64 (*.f64 -1/8 (*.f64 (cos.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 (sin.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 (cos.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 (sin.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))))))))))
(cos.f64 (+.f64 (*.f64 -1 (*.f64 (log.f64 (/.f64 1 x.re)) y.im)) (*.f64 y.re (atan2.f64 x.im x.re))))
(cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 (log.f64 (/.f64 1 x.re)) (*.f64 y.im -1))))
(cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 (log.f64 (/.f64 1 x.re)) (neg.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 -1/2 (/.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 y.im (pow.f64 x.im 2))) (pow.f64 x.re 2))) (cos.f64 (+.f64 (*.f64 -1 (*.f64 (log.f64 (/.f64 1 x.re)) y.im)) (*.f64 y.re (atan2.f64 x.im x.re)))))
(+.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 -1/2 (*.f64 (*.f64 (pow.f64 x.im 2) y.im) (/.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 2)))))
(+.f64 (cos.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 (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 x.im 2) y.im) (pow.f64 x.re 2)))))
(+.f64 (cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 (log.f64 (/.f64 1 x.re)) (neg.f64 y.im)))) (*.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 x.im 2) (/.f64 y.im (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 (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 x.im 2) (/.f64 y.im (pow.f64 x.re 2))) -1/2)))
(-.f64 (+.f64 (*.f64 -1/2 (/.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 y.im (pow.f64 x.im 2))) (pow.f64 x.re 2))) (+.f64 (*.f64 -1/8 (/.f64 (*.f64 (pow.f64 y.im 2) (*.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))) (cos.f64 (+.f64 (*.f64 -1 (*.f64 (log.f64 (/.f64 1 x.re)) y.im)) (*.f64 y.re (atan2.f64 x.im x.re)))))) (*.f64 -1/4 (/.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 y.im (pow.f64 x.im 4))) (pow.f64 x.re 4))))
(+.f64 (+.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 -1/8 (*.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 (pow.f64 y.im 2) (pow.f64 x.re 4))))) (-.f64 (*.f64 -1/2 (*.f64 (*.f64 (pow.f64 x.im 2) y.im) (/.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 2)))) (*.f64 -1/4 (*.f64 (*.f64 (pow.f64 x.im 4) y.im) (/.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 -1/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 (*.f64 (pow.f64 x.im 2) y.im) (pow.f64 x.re 2)))) (-.f64 (+.f64 (cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 (log.f64 (/.f64 1 x.re)) (neg.f64 y.im)))) (*.f64 -1/8 (*.f64 (pow.f64 y.im 2) (/.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/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 (*.f64 (pow.f64 x.im 4) y.im) (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.re)) (neg.f64 y.im)))) (*.f64 (*.f64 (pow.f64 x.im 2) (/.f64 y.im (pow.f64 x.re 2))) -1/2)) (+.f64 (*.f64 (*.f64 (pow.f64 y.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 (/.f64 (pow.f64 x.im 4) (pow.f64 x.re 4)) -1/8)) (-.f64 (cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 (log.f64 (/.f64 1 x.re)) (neg.f64 y.im)))) (*.f64 -1/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 (pow.f64 x.im 4) (/.f64 y.im (pow.f64 x.re 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 (*.f64 (pow.f64 y.im 2) (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 4) (pow.f64 x.re 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.re)))))) (*.f64 (*.f64 (pow.f64 x.im 2) (/.f64 y.im (pow.f64 x.re 2))) -1/2)) (*.f64 -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 y.im (/.f64 (pow.f64 x.im 4) (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.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 x.im 2) (/.f64 y.im (pow.f64 x.re 2))) -1/2))) (-.f64 (*.f64 (*.f64 (pow.f64 y.im 2) (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 4) (pow.f64 x.re 4)) -1/8)) (*.f64 -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 y.im (/.f64 (pow.f64 x.im 4) (pow.f64 x.re 4)))))))
(-.f64 (+.f64 (*.f64 1/8 (/.f64 (*.f64 (pow.f64 y.im 2) (*.f64 (pow.f64 x.im 6) (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 (*.f64 -1/2 (/.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 y.im (pow.f64 x.im 2))) (pow.f64 x.re 2))) (+.f64 (*.f64 -1/8 (/.f64 (*.f64 (pow.f64 y.im 2) (*.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))) (cos.f64 (+.f64 (*.f64 -1 (*.f64 (log.f64 (/.f64 1 x.re)) y.im)) (*.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))) (sin.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 -1/4 (/.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 y.im (pow.f64 x.im 4))) (pow.f64 x.re 4)))))
(+.f64 (+.f64 (*.f64 -1/2 (*.f64 (*.f64 (pow.f64 x.im 2) y.im) (/.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 2)))) (+.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 -1/8 (*.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 (pow.f64 y.im 2) (pow.f64 x.re 4)))))) (-.f64 (*.f64 1/8 (*.f64 (*.f64 (pow.f64 x.im 6) (cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 (log.f64 (/.f64 1 x.re)) (*.f64 y.im -1))))) (/.f64 (pow.f64 y.im 2) (pow.f64 x.re 6)))) (+.f64 (*.f64 -1/4 (*.f64 (*.f64 (pow.f64 x.im 4) y.im) (/.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 (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 (pow.f64 y.im 3) (*.f64 (pow.f64 x.im 6) -1/48)) (*.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 (cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 (log.f64 (/.f64 1 x.re)) (neg.f64 y.im)))) (+.f64 (*.f64 -1/8 (*.f64 (pow.f64 y.im 2) (/.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/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 (*.f64 (pow.f64 x.im 2) y.im) (pow.f64 x.re 2)))))) (-.f64 (*.f64 1/8 (*.f64 (*.f64 (pow.f64 x.im 6) (cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 (log.f64 (/.f64 1 x.re)) (neg.f64 y.im))))) (/.f64 (pow.f64 y.im 2) (pow.f64 x.re 6)))) (+.f64 (*.f64 -1/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 (*.f64 (pow.f64 x.im 4) y.im) (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 (+.f64 (*.f64 (pow.f64 x.im 6) (*.f64 -1/48 (pow.f64 y.im 3))) (*.f64 (*.f64 (pow.f64 x.im 6) 120) (*.f64 y.im 1/720))) (pow.f64 x.re 6))))))
(+.f64 (*.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 x.im 2) (/.f64 y.im (pow.f64 x.re 2))) -1/2)) (-.f64 (+.f64 (+.f64 (cos.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) (cos.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 x.im 4) (pow.f64 x.re 4)) -1/8))) (*.f64 1/8 (*.f64 (pow.f64 x.im 6) (*.f64 (cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 (log.f64 (/.f64 1 x.re)) (neg.f64 y.im)))) (/.f64 (pow.f64 y.im 2) (pow.f64 x.re 6)))))) (+.f64 (*.f64 -1/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 (pow.f64 x.im 4) (/.f64 y.im (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 (+.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 (*.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 x.im 2) (/.f64 y.im (pow.f64 x.re 2))) -1/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)))))) (*.f64 (*.f64 (pow.f64 y.im 2) (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 4) (pow.f64 x.re 4)) -1/8))) (-.f64 (*.f64 1/8 (*.f64 (pow.f64 x.im 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 (pow.f64 y.im 2) (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 (/.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 4) (pow.f64 x.re 4))) -1/4))))))
(cos.f64 (+.f64 (*.f64 -1 (*.f64 y.im (log.f64 (/.f64 -1 x.re)))) (*.f64 y.re (atan2.f64 x.im x.re))))
(cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 -1 (*.f64 y.im (log.f64 (/.f64 -1 x.re))))))
(cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 (log.f64 (/.f64 -1 x.re)) (neg.f64 y.im))))
(+.f64 (*.f64 -1/2 (/.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 y.im (pow.f64 x.im 2))) (pow.f64 x.re 2))) (cos.f64 (+.f64 (*.f64 -1 (*.f64 y.im (log.f64 (/.f64 -1 x.re)))) (*.f64 y.re (atan2.f64 x.im x.re)))))
(+.f64 (cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 -1 (*.f64 y.im (log.f64 (/.f64 -1 x.re)))))) (*.f64 -1/2 (*.f64 (*.f64 (pow.f64 x.im 2) y.im) (/.f64 (sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 -1 (*.f64 y.im (log.f64 (/.f64 -1 x.re)))))) (pow.f64 x.re 2)))))
(+.f64 (cos.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) y.im) (/.f64 (sin.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 2)))))
(-.f64 (+.f64 (*.f64 -1/2 (/.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 y.im (pow.f64 x.im 2))) (pow.f64 x.re 2))) (+.f64 (*.f64 -1/8 (/.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 (pow.f64 y.im 2) (pow.f64 x.im 4))) (pow.f64 x.re 4))) (cos.f64 (+.f64 (*.f64 -1 (*.f64 y.im (log.f64 (/.f64 -1 x.re)))) (*.f64 y.re (atan2.f64 x.im x.re)))))) (*.f64 -1/4 (/.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 y.im (pow.f64 x.im 4))) (pow.f64 x.re 4))))
(+.f64 (+.f64 (cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 -1 (*.f64 y.im (log.f64 (/.f64 -1 x.re)))))) (*.f64 -1/8 (*.f64 (*.f64 (pow.f64 x.im 4) (pow.f64 y.im 2)) (/.f64 (cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 -1 (*.f64 y.im (log.f64 (/.f64 -1 x.re)))))) (pow.f64 x.re 4))))) (-.f64 (*.f64 -1/2 (*.f64 (*.f64 (pow.f64 x.im 2) y.im) (/.f64 (sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 -1 (*.f64 y.im (log.f64 (/.f64 -1 x.re)))))) (pow.f64 x.re 2)))) (*.f64 -1/4 (*.f64 (*.f64 (pow.f64 x.im 4) y.im) (/.f64 (sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 -1 (*.f64 y.im (log.f64 (/.f64 -1 x.re)))))) (pow.f64 x.re 4))))))
(-.f64 (+.f64 (cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 (log.f64 (/.f64 -1 x.re)) (neg.f64 y.im)))) (+.f64 (*.f64 -1/2 (*.f64 (*.f64 (pow.f64 x.im 2) y.im) (/.f64 (sin.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 2)))) (*.f64 -1/8 (*.f64 (cos.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 x.im 4) (pow.f64 y.im 2)) (pow.f64 x.re 4)))))) (*.f64 -1/4 (*.f64 (*.f64 (pow.f64 x.im 4) y.im) (/.f64 (sin.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 (*.f64 -1/2 (*.f64 (*.f64 (pow.f64 x.im 2) y.im) (/.f64 (sin.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 2)))) (+.f64 (*.f64 -1/8 (*.f64 (pow.f64 y.im 2) (*.f64 (pow.f64 x.im 4) (/.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 4))))) (-.f64 (cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 (log.f64 (/.f64 -1 x.re)) (neg.f64 y.im)))) (*.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 x.im 4) (/.f64 y.im (pow.f64 x.re 4))) -1/4)))))
(+.f64 (cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 (log.f64 (/.f64 -1 x.re)) (neg.f64 y.im)))) (+.f64 (*.f64 -1/8 (*.f64 (cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 (log.f64 (/.f64 -1 x.re)) (neg.f64 y.im)))) (*.f64 (pow.f64 x.im 4) (/.f64 (pow.f64 y.im 2) (pow.f64 x.re 4))))) (-.f64 (*.f64 -1/2 (*.f64 (*.f64 (pow.f64 x.im 2) y.im) (/.f64 (sin.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 2)))) (*.f64 (*.f64 (pow.f64 x.im 4) y.im) (*.f64 -1/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)))) (pow.f64 x.re 4)))))))
(+.f64 (*.f64 -1/2 (*.f64 (*.f64 (pow.f64 x.im 2) y.im) (/.f64 (sin.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 2)))) (+.f64 (*.f64 -1/8 (*.f64 (cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 (log.f64 (/.f64 -1 x.re)) (neg.f64 y.im)))) (*.f64 (pow.f64 x.im 4) (/.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 (log.f64 (/.f64 -1 x.re)) (neg.f64 y.im)))) (*.f64 (*.f64 (pow.f64 x.im 4) y.im) (*.f64 -1/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)))) (pow.f64 x.re 4)))))))
(-.f64 (+.f64 (*.f64 1/8 (/.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 (pow.f64 y.im 2) (pow.f64 x.im 6))) (pow.f64 x.re 6))) (+.f64 (*.f64 -1/2 (/.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 y.im (pow.f64 x.im 2))) (pow.f64 x.re 2))) (+.f64 (*.f64 -1/8 (/.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 (pow.f64 y.im 2) (pow.f64 x.im 4))) (pow.f64 x.re 4))) (cos.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))) (sin.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 -1/4 (/.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 y.im (pow.f64 x.im 4))) (pow.f64 x.re 4)))))
(+.f64 (+.f64 (*.f64 -1/8 (*.f64 (*.f64 (pow.f64 x.im 4) (pow.f64 y.im 2)) (/.f64 (cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 -1 (*.f64 y.im (log.f64 (/.f64 -1 x.re)))))) (pow.f64 x.re 4)))) (+.f64 (cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 -1 (*.f64 y.im (log.f64 (/.f64 -1 x.re)))))) (*.f64 -1/2 (*.f64 (*.f64 (pow.f64 x.im 2) y.im) (/.f64 (sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 -1 (*.f64 y.im (log.f64 (/.f64 -1 x.re)))))) (pow.f64 x.re 2)))))) (-.f64 (*.f64 1/8 (*.f64 (*.f64 (pow.f64 x.im 6) (pow.f64 y.im 2)) (/.f64 (cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 -1 (*.f64 y.im (log.f64 (/.f64 -1 x.re)))))) (pow.f64 x.re 6)))) (+.f64 (*.f64 -1/4 (*.f64 (*.f64 (pow.f64 x.im 4) y.im) (/.f64 (sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 -1 (*.f64 y.im (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 -1 (*.f64 y.im (log.f64 (/.f64 -1 x.re)))))) (/.f64 (+.f64 (*.f64 (pow.f64 y.im 3) (*.f64 (pow.f64 x.im 6) -1/48)) (*.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 (cos.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 x.im 6) (pow.f64 y.im 2)) (pow.f64 x.re 6)))) (-.f64 (+.f64 (cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 (log.f64 (/.f64 -1 x.re)) (neg.f64 y.im)))) (+.f64 (*.f64 -1/2 (*.f64 (*.f64 (pow.f64 x.im 2) y.im) (/.f64 (sin.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 2)))) (*.f64 -1/8 (*.f64 (cos.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 x.im 4) (pow.f64 y.im 2)) (pow.f64 x.re 4)))))) (+.f64 (*.f64 -1/4 (*.f64 (*.f64 (pow.f64 x.im 4) y.im) (/.f64 (sin.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 (+.f64 (*.f64 (pow.f64 x.im 6) (*.f64 -1/48 (pow.f64 y.im 3))) (*.f64 (*.f64 (pow.f64 x.im 6) 120) (*.f64 y.im 1/720))) (/.f64 (sin.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 (cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 (log.f64 (/.f64 -1 x.re)) (neg.f64 y.im)))) (+.f64 (*.f64 -1/8 (*.f64 (pow.f64 y.im 2) (*.f64 (pow.f64 x.im 4) (/.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 4))))) (*.f64 (cos.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 x.im 6) (/.f64 (pow.f64 y.im 2) (pow.f64 x.re 6))) 1/8)))) (-.f64 (*.f64 -1/2 (*.f64 (*.f64 (pow.f64 x.im 2) y.im) (/.f64 (sin.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 2)))) (+.f64 (*.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 x.im 4) (/.f64 y.im (pow.f64 x.re 4))) -1/4)) (*.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 (sin.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 (cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 (log.f64 (/.f64 -1 x.re)) (neg.f64 y.im)))) (+.f64 (*.f64 -1/8 (*.f64 (cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 (log.f64 (/.f64 -1 x.re)) (neg.f64 y.im)))) (*.f64 (pow.f64 x.im 4) (/.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 (log.f64 (/.f64 -1 x.re)) (neg.f64 y.im)))) (*.f64 (*.f64 (pow.f64 x.im 6) (/.f64 (pow.f64 y.im 2) (pow.f64 x.re 6))) 1/8)))) (-.f64 (*.f64 -1/2 (*.f64 (*.f64 (pow.f64 x.im 2) y.im) (/.f64 (sin.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 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 (/.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 4) (pow.f64 x.re 4))) -1/4)))))
(cos.f64 (+.f64 (*.f64 y.im (log.f64 x.re)) (*.f64 y.re (atan2.f64 x.im x.re))))
(cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.re))))
(+.f64 (*.f64 -1/2 (/.f64 (*.f64 y.im (*.f64 (pow.f64 x.im 2) (sin.f64 (+.f64 (*.f64 (log.f64 x.re) y.im) (*.f64 y.re (atan2.f64 x.im x.re)))))) (pow.f64 x.re 2))) (cos.f64 (+.f64 (*.f64 y.im (log.f64 x.re)) (*.f64 y.re (atan2.f64 x.im x.re)))))
(+.f64 (cos.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) (sin.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 (cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.re)))) (*.f64 -1/2 (*.f64 (pow.f64 x.im 2) (*.f64 (sin.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 4) (-.f64 (*.f64 -1/8 (/.f64 (*.f64 (pow.f64 y.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 4))) (*.f64 -1/4 (/.f64 (*.f64 y.im (sin.f64 (+.f64 (*.f64 (log.f64 x.re) y.im) (*.f64 y.re (atan2.f64 x.im x.re))))) (pow.f64 x.re 4))))) (+.f64 (*.f64 -1/2 (/.f64 (*.f64 y.im (*.f64 (pow.f64 x.im 2) (sin.f64 (+.f64 (*.f64 (log.f64 x.re) y.im) (*.f64 y.re (atan2.f64 x.im x.re)))))) (pow.f64 x.re 2))) (cos.f64 (+.f64 (*.f64 y.im (log.f64 x.re)) (*.f64 y.re (atan2.f64 x.im x.re))))))
(+.f64 (+.f64 (cos.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) (sin.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 (cos.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 (sin.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 (cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.re)))) (+.f64 (*.f64 (pow.f64 x.im 4) (-.f64 (*.f64 (cos.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 4)) -1/8)) (*.f64 (sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.re)))) (*.f64 (/.f64 y.im (pow.f64 x.re 4)) -1/4)))) (*.f64 -1/2 (*.f64 (*.f64 (pow.f64 x.im 2) (sin.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 (cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.re)))) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 x.im 2) (*.f64 (sin.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 (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 -1/4 (*.f64 (sin.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 (cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.re)))) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 x.im 2) (*.f64 (sin.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 (cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.re)))) (*.f64 -1/8 (/.f64 (pow.f64 y.im 2) (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 -1/4 (/.f64 y.im (pow.f64 x.re 4))))))))
(+.f64 (*.f64 (pow.f64 x.im 6) (-.f64 (*.f64 1/8 (/.f64 (*.f64 (pow.f64 y.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 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)))) (sin.f64 (+.f64 (*.f64 (log.f64 x.re) y.im) (*.f64 y.re (atan2.f64 x.im x.re))))))) (+.f64 (*.f64 (pow.f64 x.im 4) (-.f64 (*.f64 -1/8 (/.f64 (*.f64 (pow.f64 y.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 4))) (*.f64 -1/4 (/.f64 (*.f64 y.im (sin.f64 (+.f64 (*.f64 (log.f64 x.re) y.im) (*.f64 y.re (atan2.f64 x.im x.re))))) (pow.f64 x.re 4))))) (+.f64 (*.f64 -1/2 (/.f64 (*.f64 y.im (*.f64 (pow.f64 x.im 2) (sin.f64 (+.f64 (*.f64 (log.f64 x.re) y.im) (*.f64 y.re (atan2.f64 x.im x.re)))))) (pow.f64 x.re 2))) (cos.f64 (+.f64 (*.f64 y.im (log.f64 x.re)) (*.f64 y.re (atan2.f64 x.im x.re)))))))
(+.f64 (*.f64 (pow.f64 x.im 4) (-.f64 (*.f64 -1/8 (*.f64 (cos.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 (sin.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 (cos.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) (sin.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 (cos.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 (sin.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 -1/2 (*.f64 (*.f64 (pow.f64 x.im 2) (sin.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 (cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.re)))) (*.f64 (pow.f64 x.im 4) (-.f64 (*.f64 (cos.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 4)) -1/8)) (*.f64 (sin.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.re)))) (*.f64 (/.f64 y.im (pow.f64 x.re 4)) -1/4))))) (*.f64 (pow.f64 x.im 6) (-.f64 (*.f64 (cos.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 (sin.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 (cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.re)))) (*.f64 (pow.f64 x.im 4) (-.f64 (*.f64 -1/8 (*.f64 (pow.f64 y.im 2) (/.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 -1/4 (*.f64 (sin.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 -1/2 (*.f64 (pow.f64 x.im 2) (*.f64 (sin.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 (cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.re)))) (*.f64 1/8 (/.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 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 (cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.re)))) (+.f64 (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 x.im 2) (*.f64 (sin.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 (cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.re)))) (*.f64 -1/8 (/.f64 (pow.f64 y.im 2) (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 -1/4 (/.f64 y.im (pow.f64 x.re 4))))))) (*.f64 (pow.f64 x.im 6) (-.f64 (*.f64 (pow.f64 y.im 2) (*.f64 (/.f64 (cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.re)))) (pow.f64 x.re 6)) 1/8)) (*.f64 (sin.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)))))))))
(cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 -1 (*.f64 (log.f64 (/.f64 1 x.im)) 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))))
(cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 (log.f64 (/.f64 1 x.im)) (neg.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 (cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 -1 (*.f64 (log.f64 (/.f64 1 x.im)) y.im)))) (*.f64 -1/2 (/.f64 (*.f64 (pow.f64 x.re 2) (*.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)))))) (pow.f64 x.im 2))))
(+.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 -1/2 (*.f64 (*.f64 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))))) (/.f64 (pow.f64 x.re 2) (pow.f64 x.im 2)))))
(+.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 -1/2 (*.f64 (*.f64 y.im (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 2) (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.im)))))) (*.f64 -1/2 (*.f64 (pow.f64 x.re 2) (*.f64 y.im (/.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 2))))))
(+.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 2) (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 y.im (pow.f64 x.im 2)) -1/2)))
(-.f64 (+.f64 (*.f64 -1/8 (/.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)))) (pow.f64 y.im 2))) (pow.f64 x.im 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)))) (*.f64 -1/2 (/.f64 (*.f64 (pow.f64 x.re 2) (*.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)))))) (pow.f64 x.im 2))))) (*.f64 -1/4 (/.f64 (*.f64 (pow.f64 x.re 4) (*.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)))))) (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)) (*.f64 y.im -1)))) (*.f64 -1/2 (*.f64 (*.f64 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))))) (/.f64 (pow.f64 x.re 2) (pow.f64 x.im 2))))) (-.f64 (*.f64 -1/8 (*.f64 (*.f64 (pow.f64 y.im 2) (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/4 (*.f64 (*.f64 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))))) (/.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 -1/2 (*.f64 (*.f64 y.im (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 2) (pow.f64 x.im 2))))) (-.f64 (*.f64 -1/8 (*.f64 (*.f64 (pow.f64 y.im 2) (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 -1/4 (*.f64 (*.f64 y.im (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 (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 (pow.f64 y.im 2) (pow.f64 x.im 4))) -1/8)) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 x.re 2) (*.f64 y.im (/.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 2))))) (-.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 4) (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 y.im (pow.f64 x.im 4)) -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.im)))))) (+.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 (pow.f64 y.im 2) (pow.f64 x.im 4))) -1/8)) (*.f64 (*.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 (*.f64 -1/2 (/.f64 (pow.f64 x.re 2) (pow.f64 x.im 2))) (*.f64 -1/4 (/.f64 (pow.f64 x.re 4) (pow.f64 x.im 4)))))))
(-.f64 (+.f64 (*.f64 -1/8 (/.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)))) (pow.f64 y.im 2))) (pow.f64 x.im 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)))) (+.f64 (*.f64 1/8 (/.f64 (*.f64 (pow.f64 x.re 6) (*.f64 (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 y.im 2))) (pow.f64 x.im 6))) (*.f64 -1/2 (/.f64 (*.f64 (pow.f64 x.re 2) (*.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)))))) (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 y.im (+.f64 (*.f64 30 (pow.f64 x.re 6)) (*.f64 90 (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))))) (pow.f64 x.im 6)) (*.f64 -1/4 (/.f64 (*.f64 (pow.f64 x.re 4) (*.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)))))) (pow.f64 x.im 4)))))
(+.f64 (+.f64 (*.f64 1/8 (*.f64 (*.f64 (pow.f64 y.im 2) (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 6) (pow.f64 x.im 6)))) (+.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 -1/2 (*.f64 (*.f64 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))))) (/.f64 (pow.f64 x.re 2) (pow.f64 x.im 2)))))) (-.f64 (*.f64 -1/8 (*.f64 (*.f64 (pow.f64 y.im 2) (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 (*.f64 -1/4 (*.f64 (*.f64 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))))) (/.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)) (*.f64 y.im -1)))) (/.f64 (+.f64 (*.f64 (pow.f64 x.re 6) (*.f64 (pow.f64 y.im 3) -1/48)) (*.f64 y.im (*.f64 (+.f64 (*.f64 (pow.f64 x.re 6) 30) (*.f64 (pow.f64 x.re 6) 90)) 1/720))) (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 -1/2 (*.f64 (*.f64 y.im (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 2) (pow.f64 x.im 2)))) (*.f64 (*.f64 (pow.f64 y.im 2) (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) (pow.f64 x.im 6)) 1/8)))) (-.f64 (*.f64 -1/8 (*.f64 (*.f64 (pow.f64 y.im 2) (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 -1/4 (*.f64 (*.f64 y.im (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 (*.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 (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/2 (*.f64 (pow.f64 x.re 2) (*.f64 y.im (/.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 2))))) (*.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 (pow.f64 y.im 2) (pow.f64 x.im 4))) -1/8)))) (-.f64 (*.f64 1/8 (*.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 y.im 2) (/.f64 (pow.f64 x.re 6) (pow.f64 x.im 6))))) (+.f64 (*.f64 (*.f64 (pow.f64 x.re 4) (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 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 (*.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 (+.f64 (*.f64 (*.f64 (pow.f64 x.re 2) (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 y.im (pow.f64 x.im 2)) -1/2)) (*.f64 (*.f64 (pow.f64 y.im 2) (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/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)))))) (-.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 4) (*.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 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 (*.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))))))
(cos.f64 (+.f64 (*.f64 -1 (*.f64 (log.f64 (/.f64 -1 x.im)) y.im)) (*.f64 y.re (atan2.f64 x.im x.re))))
(cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 (log.f64 (/.f64 -1 x.im)) (*.f64 y.im -1))))
(cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 (log.f64 (/.f64 -1 x.im)) (neg.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 (cos.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 (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 2) y.im)) (pow.f64 x.im 2))))
(+.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 -1/2 (*.f64 (*.f64 (pow.f64 x.re 2) 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)))) (pow.f64 x.im 2)))))
(+.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 -1/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 (pow.f64 x.re 2) y.im) (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.im)))))) (*.f64 -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.im)))))) (/.f64 (*.f64 (pow.f64 x.re 2) y.im) (pow.f64 x.im 2)))))
(+.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 -1/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 (pow.f64 x.re 2) (/.f64 y.im (pow.f64 x.im 2))))))
(-.f64 (+.f64 (*.f64 -1/8 (/.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)))) (pow.f64 y.im 2))) (pow.f64 x.im 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)))) (*.f64 -1/2 (/.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 2) y.im)) (pow.f64 x.im 2))))) (*.f64 -1/4 (/.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) y.im)) (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)) (*.f64 y.im -1)))) (+.f64 (*.f64 -1/2 (*.f64 (*.f64 (pow.f64 x.re 2) 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)))) (pow.f64 x.im 2)))) (*.f64 -1/8 (*.f64 (*.f64 (pow.f64 y.im 2) (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/4 (/.f64 (*.f64 (pow.f64 x.re 4) (*.f64 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)))))) (pow.f64 x.im 4))))
(+.f64 (*.f64 -1/8 (*.f64 (*.f64 (pow.f64 y.im 2) (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 -1/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 (pow.f64 x.re 2) y.im) (pow.f64 x.im 2))))) (*.f64 -1/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 (pow.f64 x.re 4) y.im) (pow.f64 x.im 4))))))
(+.f64 (*.f64 -1/8 (*.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 y.im 2) (/.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 y.im (neg.f64 (log.f64 (/.f64 -1 x.im)))))) (-.f64 (*.f64 -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.im)))))) (/.f64 (*.f64 (pow.f64 x.re 2) 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 (*.f64 (pow.f64 x.re 4) (/.f64 y.im (pow.f64 x.im 4))) -1/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 -1/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 (pow.f64 x.re 2) (/.f64 y.im (pow.f64 x.im 2)))))) (-.f64 (*.f64 -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 (pow.f64 y.im 2) (/.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 (pow.f64 x.re 4) (/.f64 y.im (pow.f64 x.im 4))) -1/4))))
(+.f64 (*.f64 -1/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 (pow.f64 x.re 2) (/.f64 y.im (pow.f64 x.im 2))))) (+.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 -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 (pow.f64 y.im 2) (/.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 (pow.f64 x.re 4) (/.f64 y.im (pow.f64 x.im 4))) -1/4)))))
(-.f64 (+.f64 (*.f64 1/8 (/.f64 (*.f64 (pow.f64 x.re 6) (*.f64 (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 y.im 2))) (pow.f64 x.im 6))) (+.f64 (*.f64 -1/8 (/.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)))) (pow.f64 y.im 2))) (pow.f64 x.im 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)))) (*.f64 -1/2 (/.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 2) y.im)) (pow.f64 x.im 2)))))) (+.f64 (/.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 (*.f64 -1/48 (*.f64 (pow.f64 x.re 6) (pow.f64 y.im 3))) (*.f64 1/720 (*.f64 y.im (+.f64 (*.f64 30 (pow.f64 x.re 6)) (*.f64 90 (pow.f64 x.re 6))))))) (pow.f64 x.im 6)) (*.f64 -1/4 (/.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) y.im)) (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)) (*.f64 y.im -1)))) (+.f64 (*.f64 -1/2 (*.f64 (*.f64 (pow.f64 x.re 2) 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)))) (pow.f64 x.im 2)))) (*.f64 -1/8 (*.f64 (*.f64 (pow.f64 y.im 2) (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 (*.f64 1/8 (*.f64 (*.f64 (pow.f64 y.im 2) (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 6) (pow.f64 x.im 6)))) (+.f64 (*.f64 -1/4 (/.f64 (*.f64 (pow.f64 x.re 4) (*.f64 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)))))) (pow.f64 x.im 4))) (*.f64 (+.f64 (*.f64 (pow.f64 x.re 6) (*.f64 (pow.f64 y.im 3) -1/48)) (*.f64 y.im (*.f64 (+.f64 (*.f64 (pow.f64 x.re 6) 30) (*.f64 (pow.f64 x.re 6) 90)) 1/720))) (/.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 (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/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 (pow.f64 x.re 2) y.im) (pow.f64 x.im 2)))) (*.f64 -1/8 (*.f64 (*.f64 (pow.f64 y.im 2) (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 1/8 (*.f64 (*.f64 (pow.f64 y.im 2) (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 6) (pow.f64 x.im 6)))) (+.f64 (*.f64 -1/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 (pow.f64 x.re 4) y.im) (pow.f64 x.im 4)))) (*.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 (sin.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))))))
(+.f64 (*.f64 -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.im)))))) (/.f64 (*.f64 (pow.f64 x.re 2) 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.im)))))) (*.f64 -1/8 (*.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 y.im 2) (/.f64 (pow.f64 x.re 4) (pow.f64 x.im 4)))))) (-.f64 (*.f64 (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.im)))))) (/.f64 (pow.f64 y.im 2) (pow.f64 x.im 6))) 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 x.re 4) (/.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 (*.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 (*.f64 (*.f64 (pow.f64 y.im 2) (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/8 (/.f64 (pow.f64 x.re 6) (pow.f64 x.im 6))) (*.f64 -1/8 (/.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 -1/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 (pow.f64 x.re 2) (/.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 (/.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 (*.f64 (pow.f64 x.re 4) (/.f64 y.im (pow.f64 x.im 4))) -1/4)))))
(cos.f64 (*.f64 y.re (atan2.f64 x.im x.re)))
(+.f64 (*.f64 -1 (*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (*.f64 y.im (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 (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 (log.f64 (sqrt.f64 (+.f64 (pow.f64 x.re 2) (pow.f64 x.im 2))))) -1)))
(+.f64 (cos.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (neg.f64 (*.f64 y.im (log.f64 (sqrt.f64 (+.f64 (pow.f64 x.re 2) (pow.f64 x.im 2))))))))
(+.f64 (cos.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 (sqrt.f64 (+.f64 (pow.f64 x.re 2) (pow.f64 x.im 2)))) (neg.f64 y.im))))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y.im 2) (*.f64 (pow.f64 (log.f64 (sqrt.f64 (+.f64 (pow.f64 x.im 2) (pow.f64 x.re 2)))) 2) (cos.f64 (*.f64 y.re (atan2.f64 x.im x.re)))))) (+.f64 (*.f64 -1 (*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (*.f64 y.im (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 y.im (log.f64 (sqrt.f64 (+.f64 (pow.f64 x.re 2) (pow.f64 x.im 2))))) -1)) (+.f64 (cos.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (*.f64 -1/2 (*.f64 (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))) (pow.f64 y.im 2))))))
(+.f64 (cos.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (+.f64 (*.f64 -1/2 (*.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)))) 2) (pow.f64 y.im 2)))) (*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (neg.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.re (atan2.f64 x.im x.re))) (*.f64 (log.f64 (sqrt.f64 (+.f64 (pow.f64 x.re 2) (pow.f64 x.im 2)))) (neg.f64 y.im))) (+.f64 (cos.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (*.f64 -1/2 (*.f64 (pow.f64 y.im 2) (*.f64 (cos.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (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 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (*.f64 (log.f64 (sqrt.f64 (+.f64 (pow.f64 x.re 2) (pow.f64 x.im 2)))) (neg.f64 y.im))) (*.f64 -1/2 (*.f64 (pow.f64 (log.f64 (sqrt.f64 (+.f64 (pow.f64 x.re 2) (pow.f64 x.im 2)))) 2) (*.f64 (pow.f64 y.im 2) (cos.f64 (*.f64 y.re (atan2.f64 x.im x.re))))))))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y.im 2) (*.f64 (pow.f64 (log.f64 (sqrt.f64 (+.f64 (pow.f64 x.im 2) (pow.f64 x.re 2)))) 2) (cos.f64 (*.f64 y.re (atan2.f64 x.im x.re)))))) (+.f64 (*.f64 -1 (*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (*.f64 y.im (log.f64 (sqrt.f64 (+.f64 (pow.f64 x.im 2) (pow.f64 x.re 2))))))) (+.f64 (cos.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (*.f64 1/6 (*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (*.f64 (pow.f64 y.im 3) (pow.f64 (log.f64 (sqrt.f64 (+.f64 (pow.f64 x.im 2) (pow.f64 x.re 2)))) 3)))))))
(+.f64 (*.f64 (sin.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))))) -1)) (+.f64 (+.f64 (cos.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (*.f64 1/6 (*.f64 (pow.f64 y.im 3) (*.f64 (pow.f64 (log.f64 (sqrt.f64 (+.f64 (pow.f64 x.re 2) (pow.f64 x.im 2)))) 3) (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))))))) (*.f64 -1/2 (*.f64 (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))) (pow.f64 y.im 2))))))
(+.f64 (cos.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (+.f64 (+.f64 (*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (neg.f64 (*.f64 y.im (log.f64 (sqrt.f64 (+.f64 (pow.f64 x.re 2) (pow.f64 x.im 2))))))) (*.f64 1/6 (*.f64 (pow.f64 (log.f64 (sqrt.f64 (+.f64 (pow.f64 x.re 2) (pow.f64 x.im 2)))) 3) (*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (pow.f64 y.im 3))))) (*.f64 -1/2 (*.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)))) 2) (pow.f64 y.im 2))))))
(+.f64 (cos.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y.im 2) (*.f64 (cos.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (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 1/6 (*.f64 (pow.f64 y.im 3) (pow.f64 (log.f64 (sqrt.f64 (+.f64 (pow.f64 x.re 2) (pow.f64 x.im 2)))) 3))) (*.f64 (log.f64 (sqrt.f64 (+.f64 (pow.f64 x.re 2) (pow.f64 x.im 2)))) (neg.f64 y.im))))))
(+.f64 (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 (pow.f64 y.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 3) (*.f64 (pow.f64 (log.f64 (sqrt.f64 (+.f64 (pow.f64 x.re 2) (pow.f64 x.im 2)))) 3) 1/6)) (*.f64 (log.f64 (sqrt.f64 (+.f64 (pow.f64 x.re 2) (pow.f64 x.im 2)))) (neg.f64 y.im))))))
(cos.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))))
(cos.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)))))))
(cos.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))))
(cos.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)))))))
(cos.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))))
(cos.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)))))))
(cos.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))))
(cos.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)))))))
(cos.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))))
(cos.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)))))))
(cos.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))))
(cos.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)))))))
(cos.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))))
(cos.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)))))))
(cos.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))))
(cos.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)))))))
(cos.f64 (*.f64 y.im (log.f64 (sqrt.f64 (+.f64 (pow.f64 x.im 2) (pow.f64 x.re 2))))))
(cos.f64 (*.f64 y.im (log.f64 (sqrt.f64 (+.f64 (pow.f64 x.re 2) (pow.f64 x.im 2))))))
(+.f64 (*.f64 -1 (*.f64 (sin.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)))) (cos.f64 (*.f64 y.im (log.f64 (sqrt.f64 (+.f64 (pow.f64 x.im 2) (pow.f64 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 (sin.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)) -1)))
(+.f64 (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)))))) (neg.f64 (*.f64 y.re (atan2.f64 x.im x.re)))))
(+.f64 (cos.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) (neg.f64 (*.f64 y.re (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 (pow.f64 y.re 2) (*.f64 (pow.f64 (atan2.f64 x.im x.re) 2) (cos.f64 (*.f64 y.im (log.f64 (sqrt.f64 (+.f64 (pow.f64 x.im 2) (pow.f64 x.re 2))))))))) (+.f64 (*.f64 -1 (*.f64 (sin.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)))) (cos.f64 (*.f64 y.im (log.f64 (sqrt.f64 (+.f64 (pow.f64 x.im 2) (pow.f64 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 (sin.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)) -1))) (*.f64 -1/2 (*.f64 (pow.f64 y.re 2) (*.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) 2)))))
(+.f64 (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 (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) 2) (pow.f64 y.re 2)))) (*.f64 (sin.f64 (*.f64 y.im (log.f64 (sqrt.f64 (+.f64 (pow.f64 x.re 2) (pow.f64 x.im 2)))))) (neg.f64 (*.f64 y.re (atan2.f64 x.im x.re))))))
(+.f64 (cos.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)))))) (neg.f64 (*.f64 y.re (atan2.f64 x.im x.re)))) (*.f64 -1/2 (*.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 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 (atan2.f64 x.im x.re) (neg.f64 (*.f64 y.re (sin.f64 (*.f64 y.im (log.f64 (sqrt.f64 (+.f64 (pow.f64 x.re 2) (pow.f64 x.im 2))))))))) (*.f64 -1/2 (*.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 2) (pow.f64 (atan2.f64 x.im x.re) 2))))))
(+.f64 (*.f64 1/6 (*.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 3) (pow.f64 (atan2.f64 x.im x.re) 3)))) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y.re 2) (*.f64 (pow.f64 (atan2.f64 x.im x.re) 2) (cos.f64 (*.f64 y.im (log.f64 (sqrt.f64 (+.f64 (pow.f64 x.im 2) (pow.f64 x.re 2))))))))) (+.f64 (*.f64 -1 (*.f64 (sin.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)))) (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 (pow.f64 y.re 2) (*.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) 2)))) (+.f64 (+.f64 (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 (*.f64 y.re (atan2.f64 x.im x.re)) -1))) (*.f64 (sin.f64 (*.f64 y.im (log.f64 (sqrt.f64 (+.f64 (pow.f64 x.re 2) (pow.f64 x.im 2)))))) (*.f64 (*.f64 (pow.f64 y.re 3) (pow.f64 (atan2.f64 x.im x.re) 3)) 1/6))))
(+.f64 (+.f64 (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)))))) (neg.f64 (*.f64 y.re (atan2.f64 x.im x.re))))) (+.f64 (*.f64 (sin.f64 (*.f64 y.im (log.f64 (sqrt.f64 (+.f64 (pow.f64 x.re 2) (pow.f64 x.im 2)))))) (*.f64 1/6 (*.f64 (pow.f64 y.re 3) (pow.f64 (atan2.f64 x.im x.re) 3)))) (*.f64 -1/2 (*.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) 2) (pow.f64 y.re 2))))))
(+.f64 (*.f64 -1/2 (*.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 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 (sin.f64 (*.f64 y.im (log.f64 (sqrt.f64 (+.f64 (pow.f64 x.re 2) (pow.f64 x.im 2)))))) (neg.f64 (*.f64 y.re (atan2.f64 x.im x.re)))) (*.f64 1/6 (*.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 3) (pow.f64 (atan2.f64 x.im x.re) 3)))))))
(+.f64 (*.f64 -1/2 (*.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 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 (sin.f64 (*.f64 y.im (log.f64 (sqrt.f64 (+.f64 (pow.f64 x.re 2) (pow.f64 x.im 2)))))) (+.f64 (*.f64 (pow.f64 y.re 3) (*.f64 (pow.f64 (atan2.f64 x.im x.re) 3) 1/6)) (*.f64 y.re (neg.f64 (atan2.f64 x.im x.re)))))))
(cos.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))))
(cos.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)))))))
(cos.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))))
(cos.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)))))))
(cos.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))))
(cos.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)))))))
(cos.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))))
(cos.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)))))))
(cos.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))))
(cos.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)))))))
(cos.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))))
(cos.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)))))))
(cos.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))))
(cos.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)))))))
(cos.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))))
(cos.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)))))))
(*.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 (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 2 (*.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 (cos.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)
(cos.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 (cos.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))))
(cos.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 (cos.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)
(cos.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 (cos.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)
(cos.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 (cos.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))))
(cos.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 (cos.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))
(cos.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 (cos.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)
(cos.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 (cos.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))
(cos.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 (cos.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)
(cos.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 (cos.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)
(cos.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 (cos.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)
(cos.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 (cos.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)
(cos.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 2 (*.f64 (cos.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)
(cos.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 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 y.im (*.f64 (atan2.f64 x.im x.re) 2)) 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 2 (*.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 2 (*.f64 (*.f64 (atan2.f64 x.im x.re) y.re) 4)) 8)
(*.f64 y.re (atan2.f64 x.im x.re))

eval381.0ms (1.1%)

Compiler

Compiled 20108 to 8221 computations (59.1% saved)

prune317.0ms (0.9%)

Pruning

4 alts after pruning (4 fresh and 0 done)

PrunedKeptTotal
New2894293
Fresh000
Picked101
Done000
Total2904294
Error
22.0b
Counts
294 → 4
Alt Table
Click to see full alt table
StatusErrorProgram
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))) (cos.f64 (+.f64 (*.f64 (log.f64 (neg.f64 x.re)) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))))
40.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))) (cos.f64 (+.f64 (*.f64 (log.f64 x.re) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))))
42.1b
(*.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))) (cos.f64 (+.f64 (*.f64 (log.f64 x.im) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))))
22.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))) (cos.f64 (*.f64 y.re (atan2.f64 x.im x.re))))
Compiler

Compiled 132 to 78 computations (40.9% saved)

localize28.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
1.0b
(*.f64 y.re (atan2.f64 x.im x.re))
2.2b
(*.f64 (atan2.f64 x.im x.re) y.im)
15.5b
(cos.f64 (*.f64 y.re (atan2.f64 x.im x.re)))
31.5b
(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
(cos.f64 (*.f64 y.re (atan2.f64 x.im x.re)))
0.0ms
x.re
@-inf
(cos.f64 (*.f64 y.re (atan2.f64 x.im x.re)))
0.0ms
x.im
@-inf
(cos.f64 (*.f64 y.re (atan2.f64 x.im x.re)))
0.0ms
x.re
@inf
(cos.f64 (*.f64 y.re (atan2.f64 x.im x.re)))
0.0ms
x.im
@inf
(cos.f64 (*.f64 y.re (atan2.f64 x.im x.re)))

rewrite88.0ms (0.3%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
0930
18930
224830
353830
4117930
5277230
6563630
Stop Event
node limit
Counts
2 → 43
Calls
Call 1
Inputs
(cos.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 (cos.f64 (*.f64 y.re (atan2.f64 x.im x.re))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (cos.f64 (*.f64 y.re (atan2.f64 x.im x.re))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (cos.f64 (*.f64 y.re (atan2.f64 x.im x.re))) 1/2) (*.f64 (cos.f64 (*.f64 y.re (atan2.f64 x.im x.re))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (cos.f64 (*.f64 y.re (atan2.f64 x.im x.re))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cos.f64 (*.f64 y.re (atan2.f64 x.im x.re))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (cos.f64 (*.f64 y.re (atan2.f64 x.im x.re))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (cos.f64 (*.f64 y.re (atan2.f64 x.im x.re))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cos.f64 (*.f64 y.re (atan2.f64 x.im x.re))) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 (cos.f64 (*.f64 y.re (atan2.f64 x.im x.re))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cos.f64 (*.f64 y.re (atan2.f64 x.im x.re))) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 (cos.f64 (*.f64 y.re (atan2.f64 x.im x.re))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cos.f64 (*.f64 y.re (atan2.f64 x.im x.re))) 1/2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (cos.f64 (*.f64 y.re (atan2.f64 x.im x.re))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cos.f64 (*.f64 y.re (atan2.f64 x.im x.re))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (cos.f64 (*.f64 y.re (atan2.f64 x.im x.re))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cos.f64 (*.f64 y.re (atan2.f64 x.im x.re))) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cos.f64 (*.f64 y.re (atan2.f64 x.im x.re))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cos.f64 (*.f64 y.re (atan2.f64 x.im x.re))) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (cos.f64 (*.f64 y.re (atan2.f64 x.im x.re))) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (cos.f64 (*.f64 y.re (atan2.f64 x.im x.re))) 8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (cos.f64 (*.f64 y.re (atan2.f64 x.im x.re)))))))) (#(struct:change #<rule egg-rr> (2) ((x and (cos.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (cos.f64 (*.f64 y.re (atan2.f64 x.im x.re))))))) (#(struct:change #<rule egg-rr> (2) ((x or (cos.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (cos.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 -1 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 -2 (-.f64 1 (-.f64 -1 (*.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)) 1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 y.re (atan2.f64 x.im x.re)) 1/2) (*.f64 (*.f64 y.re (atan2.f64 x.im x.re)) 1/2))))) (#(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 (neg.f64 (atan2.f64 x.im x.re))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 1 (-.f64 1 (*.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)) 1) 1)))) (#(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 (neg.f64 (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) -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 (*.f64 (*.f64 y.re (atan2.f64 x.im x.re)) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 y.re (atan2.f64 x.im x.re)) -4) -4)))) (#(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 (*.f64 y.re (neg.f64 (atan2.f64 x.im x.re))) 8) -8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 (*.f64 y.re (atan2.f64 x.im x.re)) -4)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 y.re (atan2.f64 x.im x.re)) 8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (neg.f64 (*.f64 (*.f64 y.re (atan2.f64 x.im x.re)) -4))) 8)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (*.f64 y.re (neg.f64 (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)))))))

simplify244.0ms (0.7%)

Algorithm
egg-herbie
Rules
2292×rational.json-simplify-2
1824×rational.json-simplify-35
1322×rational.json-simplify-1
834×rational.json-simplify-44
786×rational.json-simplify-53
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0112859
1263859
2673859
31780859
43982859
55823859
66633859
76777859
86828859
96852859
107562859
Stop Event
node limit
Counts
47 → 58
Calls
Call 1
Inputs
1
(+.f64 1 (*.f64 -1/2 (*.f64 (pow.f64 y.re 2) (pow.f64 (atan2.f64 x.im x.re) 2))))
(+.f64 1 (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y.re 2) (pow.f64 (atan2.f64 x.im x.re) 2))) (*.f64 1/24 (*.f64 (pow.f64 y.re 4) (pow.f64 (atan2.f64 x.im x.re) 4)))))
(+.f64 (*.f64 -1/720 (*.f64 (pow.f64 y.re 6) (pow.f64 (atan2.f64 x.im x.re) 6))) (+.f64 1 (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y.re 2) (pow.f64 (atan2.f64 x.im x.re) 2))) (*.f64 1/24 (*.f64 (pow.f64 y.re 4) (pow.f64 (atan2.f64 x.im x.re) 4))))))
(+.f64 (cos.f64 (*.f64 y.re (atan2.f64 x.im x.re))) 0)
(+.f64 0 (cos.f64 (*.f64 y.re (atan2.f64 x.im x.re))))
(+.f64 (*.f64 (cos.f64 (*.f64 y.re (atan2.f64 x.im x.re))) 1/2) (*.f64 (cos.f64 (*.f64 y.re (atan2.f64 x.im x.re))) 1/2))
(-.f64 (cos.f64 (*.f64 y.re (atan2.f64 x.im x.re))) 0)
(*.f64 (cos.f64 (*.f64 y.re (atan2.f64 x.im x.re))) 1)
(*.f64 1 (cos.f64 (*.f64 y.re (atan2.f64 x.im x.re))))
(*.f64 2 (*.f64 (cos.f64 (*.f64 y.re (atan2.f64 x.im x.re))) 1/2))
(*.f64 (*.f64 (cos.f64 (*.f64 y.re (atan2.f64 x.im x.re))) 2) 1/2)
(*.f64 4 (/.f64 (cos.f64 (*.f64 y.re (atan2.f64 x.im x.re))) 4))
(*.f64 (*.f64 (cos.f64 (*.f64 y.re (atan2.f64 x.im x.re))) 4) 1/4)
(*.f64 1/2 (*.f64 (cos.f64 (*.f64 y.re (atan2.f64 x.im x.re))) 2))
(*.f64 (*.f64 (cos.f64 (*.f64 y.re (atan2.f64 x.im x.re))) 1/2) 2)
(*.f64 1/4 (*.f64 (cos.f64 (*.f64 y.re (atan2.f64 x.im x.re))) 4))
(*.f64 (/.f64 (cos.f64 (*.f64 y.re (atan2.f64 x.im x.re))) 4) 4)
(/.f64 (cos.f64 (*.f64 y.re (atan2.f64 x.im x.re))) 1)
(/.f64 (*.f64 (cos.f64 (*.f64 y.re (atan2.f64 x.im x.re))) 2) 2)
(/.f64 (*.f64 (cos.f64 (*.f64 y.re (atan2.f64 x.im x.re))) 4) 4)
(/.f64 (*.f64 (cos.f64 (*.f64 y.re (atan2.f64 x.im x.re))) 8) 8)
(/.f64 (*.f64 2 (*.f64 (cos.f64 (*.f64 y.re (atan2.f64 x.im x.re))) 8)) 16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (cos.f64 (*.f64 y.re (atan2.f64 x.im x.re))) 8))) 32)
(+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) 0)
(+.f64 0 (*.f64 y.re (atan2.f64 x.im x.re)))
(+.f64 -1 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) 1))
(+.f64 -2 (-.f64 1 (-.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 (*.f64 (*.f64 y.re (atan2.f64 x.im x.re)) 1/2) (*.f64 (*.f64 y.re (atan2.f64 x.im x.re)) 1/2))
(-.f64 (*.f64 y.re (atan2.f64 x.im x.re)) 0)
(-.f64 0 (*.f64 y.re (neg.f64 (atan2.f64 x.im x.re))))
(-.f64 1 (-.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 (*.f64 y.re (atan2.f64 x.im x.re)) 1)
(/.f64 (*.f64 y.re (neg.f64 (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) -2)) -2)
(/.f64 (*.f64 y.re (*.f64 (atan2.f64 x.im x.re) 4)) 4)
(/.f64 (*.f64 (*.f64 y.re (atan2.f64 x.im x.re)) 8) 8)
(/.f64 (*.f64 (*.f64 y.re (atan2.f64 x.im x.re)) -4) -4)
(/.f64 (*.f64 2 (*.f64 (*.f64 y.re (atan2.f64 x.im x.re)) 8)) 16)
(/.f64 (*.f64 (*.f64 y.re (neg.f64 (atan2.f64 x.im x.re))) 8) -8)
(/.f64 (neg.f64 (*.f64 (*.f64 y.re (atan2.f64 x.im x.re)) -4)) 4)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 y.re (atan2.f64 x.im x.re)) 8))) 32)
(/.f64 (*.f64 2 (neg.f64 (*.f64 (*.f64 y.re (atan2.f64 x.im x.re)) -4))) 8)
(neg.f64 (*.f64 y.re (neg.f64 (atan2.f64 x.im x.re))))
Outputs
1
(+.f64 1 (*.f64 -1/2 (*.f64 (pow.f64 y.re 2) (pow.f64 (atan2.f64 x.im x.re) 2))))
(+.f64 1 (*.f64 (pow.f64 y.re 2) (*.f64 (pow.f64 (atan2.f64 x.im x.re) 2) -1/2)))
(+.f64 1 (*.f64 (pow.f64 y.re 2) (*.f64 -1/2 (pow.f64 (atan2.f64 x.im x.re) 2))))
(+.f64 1 (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y.re 2) (pow.f64 (atan2.f64 x.im x.re) 2))) (*.f64 1/24 (*.f64 (pow.f64 y.re 4) (pow.f64 (atan2.f64 x.im x.re) 4)))))
(+.f64 1 (+.f64 (*.f64 (pow.f64 y.re 2) (*.f64 (pow.f64 (atan2.f64 x.im x.re) 2) -1/2)) (*.f64 1/24 (*.f64 (pow.f64 y.re 4) (pow.f64 (atan2.f64 x.im x.re) 4)))))
(+.f64 1 (+.f64 (*.f64 (pow.f64 y.re 2) (*.f64 -1/2 (pow.f64 (atan2.f64 x.im x.re) 2))) (*.f64 (pow.f64 (atan2.f64 x.im x.re) 4) (*.f64 1/24 (pow.f64 y.re 4)))))
(+.f64 (*.f64 -1/720 (*.f64 (pow.f64 y.re 6) (pow.f64 (atan2.f64 x.im x.re) 6))) (+.f64 1 (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y.re 2) (pow.f64 (atan2.f64 x.im x.re) 2))) (*.f64 1/24 (*.f64 (pow.f64 y.re 4) (pow.f64 (atan2.f64 x.im x.re) 4))))))
(+.f64 (+.f64 1 (+.f64 (*.f64 (pow.f64 y.re 2) (*.f64 (pow.f64 (atan2.f64 x.im x.re) 2) -1/2)) (*.f64 1/24 (*.f64 (pow.f64 y.re 4) (pow.f64 (atan2.f64 x.im x.re) 4))))) (*.f64 -1/720 (*.f64 (pow.f64 y.re 6) (pow.f64 (atan2.f64 x.im x.re) 6))))
(+.f64 (*.f64 (pow.f64 y.re 2) (*.f64 -1/2 (pow.f64 (atan2.f64 x.im x.re) 2))) (+.f64 (+.f64 1 (*.f64 (pow.f64 (atan2.f64 x.im x.re) 4) (*.f64 1/24 (pow.f64 y.re 4)))) (*.f64 -1/720 (*.f64 (pow.f64 y.re 6) (pow.f64 (atan2.f64 x.im x.re) 6)))))
(+.f64 (+.f64 1 (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y.re 2) (pow.f64 (atan2.f64 x.im x.re) 2))) (*.f64 1/24 (*.f64 (pow.f64 y.re 4) (pow.f64 (atan2.f64 x.im x.re) 4))))) (*.f64 -1/720 (*.f64 (pow.f64 y.re 6) (pow.f64 (atan2.f64 x.im x.re) 6))))
(+.f64 (*.f64 (pow.f64 y.re 2) (*.f64 -1/2 (pow.f64 (atan2.f64 x.im x.re) 2))) (+.f64 (*.f64 (pow.f64 y.re 6) (*.f64 -1/720 (pow.f64 (atan2.f64 x.im x.re) 6))) (+.f64 1 (*.f64 (pow.f64 (atan2.f64 x.im x.re) 4) (*.f64 1/24 (pow.f64 y.re 4))))))
(+.f64 1 (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y.re 2) (pow.f64 (atan2.f64 x.im x.re) 2))) (+.f64 (*.f64 1/24 (*.f64 (pow.f64 y.re 4) (pow.f64 (atan2.f64 x.im x.re) 4))) (*.f64 -1/720 (*.f64 (pow.f64 y.re 6) (pow.f64 (atan2.f64 x.im x.re) 6))))))
(+.f64 (cos.f64 (*.f64 y.re (atan2.f64 x.im x.re))) 0)
(cos.f64 (*.f64 y.re (atan2.f64 x.im x.re)))
(+.f64 0 (cos.f64 (*.f64 y.re (atan2.f64 x.im x.re))))
(cos.f64 (*.f64 y.re (atan2.f64 x.im x.re)))
(+.f64 (*.f64 (cos.f64 (*.f64 y.re (atan2.f64 x.im x.re))) 1/2) (*.f64 (cos.f64 (*.f64 y.re (atan2.f64 x.im x.re))) 1/2))
(cos.f64 (*.f64 y.re (atan2.f64 x.im x.re)))
(-.f64 (cos.f64 (*.f64 y.re (atan2.f64 x.im x.re))) 0)
(cos.f64 (*.f64 y.re (atan2.f64 x.im x.re)))
(*.f64 (cos.f64 (*.f64 y.re (atan2.f64 x.im x.re))) 1)
(cos.f64 (*.f64 y.re (atan2.f64 x.im x.re)))
(*.f64 1 (cos.f64 (*.f64 y.re (atan2.f64 x.im x.re))))
(cos.f64 (*.f64 y.re (atan2.f64 x.im x.re)))
(*.f64 2 (*.f64 (cos.f64 (*.f64 y.re (atan2.f64 x.im x.re))) 1/2))
(cos.f64 (*.f64 y.re (atan2.f64 x.im x.re)))
(*.f64 (*.f64 (cos.f64 (*.f64 y.re (atan2.f64 x.im x.re))) 2) 1/2)
(cos.f64 (*.f64 y.re (atan2.f64 x.im x.re)))
(*.f64 4 (/.f64 (cos.f64 (*.f64 y.re (atan2.f64 x.im x.re))) 4))
(cos.f64 (*.f64 y.re (atan2.f64 x.im x.re)))
(*.f64 (*.f64 (cos.f64 (*.f64 y.re (atan2.f64 x.im x.re))) 4) 1/4)
(cos.f64 (*.f64 y.re (atan2.f64 x.im x.re)))
(*.f64 1/2 (*.f64 (cos.f64 (*.f64 y.re (atan2.f64 x.im x.re))) 2))
(cos.f64 (*.f64 y.re (atan2.f64 x.im x.re)))
(*.f64 (*.f64 (cos.f64 (*.f64 y.re (atan2.f64 x.im x.re))) 1/2) 2)
(cos.f64 (*.f64 y.re (atan2.f64 x.im x.re)))
(*.f64 1/4 (*.f64 (cos.f64 (*.f64 y.re (atan2.f64 x.im x.re))) 4))
(cos.f64 (*.f64 y.re (atan2.f64 x.im x.re)))
(*.f64 (/.f64 (cos.f64 (*.f64 y.re (atan2.f64 x.im x.re))) 4) 4)
(cos.f64 (*.f64 y.re (atan2.f64 x.im x.re)))
(/.f64 (cos.f64 (*.f64 y.re (atan2.f64 x.im x.re))) 1)
(cos.f64 (*.f64 y.re (atan2.f64 x.im x.re)))
(/.f64 (*.f64 (cos.f64 (*.f64 y.re (atan2.f64 x.im x.re))) 2) 2)
(cos.f64 (*.f64 y.re (atan2.f64 x.im x.re)))
(/.f64 (*.f64 (cos.f64 (*.f64 y.re (atan2.f64 x.im x.re))) 4) 4)
(cos.f64 (*.f64 y.re (atan2.f64 x.im x.re)))
(/.f64 (*.f64 (cos.f64 (*.f64 y.re (atan2.f64 x.im x.re))) 8) 8)
(cos.f64 (*.f64 y.re (atan2.f64 x.im x.re)))
(/.f64 (*.f64 2 (*.f64 (cos.f64 (*.f64 y.re (atan2.f64 x.im x.re))) 8)) 16)
(cos.f64 (*.f64 y.re (atan2.f64 x.im x.re)))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (cos.f64 (*.f64 y.re (atan2.f64 x.im x.re))) 8))) 32)
(cos.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 -1 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) 1))
(*.f64 y.re (atan2.f64 x.im x.re))
(+.f64 -2 (-.f64 1 (-.f64 -1 (*.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)) 1) -1)
(*.f64 y.re (atan2.f64 x.im x.re))
(+.f64 (*.f64 (*.f64 y.re (atan2.f64 x.im x.re)) 1/2) (*.f64 (*.f64 y.re (atan2.f64 x.im x.re)) 1/2))
(*.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 (neg.f64 (atan2.f64 x.im x.re))))
(*.f64 y.re (atan2.f64 x.im x.re))
(-.f64 1 (-.f64 1 (*.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)) 1) 1)
(*.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 (neg.f64 (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) -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 (*.f64 (*.f64 y.re (atan2.f64 x.im x.re)) 8) 8)
(*.f64 y.re (atan2.f64 x.im x.re))
(/.f64 (*.f64 (*.f64 y.re (atan2.f64 x.im x.re)) -4) -4)
(*.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 (*.f64 y.re (neg.f64 (atan2.f64 x.im x.re))) 8) -8)
(*.f64 y.re (atan2.f64 x.im x.re))
(/.f64 (neg.f64 (*.f64 (*.f64 y.re (atan2.f64 x.im x.re)) -4)) 4)
(*.f64 y.re (atan2.f64 x.im x.re))
(/.f64 (*.f64 2 (*.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 2 (neg.f64 (*.f64 (*.f64 y.re (atan2.f64 x.im x.re)) -4))) 8)
(*.f64 y.re (atan2.f64 x.im x.re))
(neg.f64 (*.f64 y.re (neg.f64 (atan2.f64 x.im x.re))))
(*.f64 y.re (atan2.f64 x.im x.re))

localize94.0ms (0.3%)

Local error

Found 4 expressions with local error:

NewErrorProgram
1.0b
(*.f64 (atan2.f64 x.im x.re) y.re)
2.2b
(*.f64 (atan2.f64 x.im x.re) y.im)
15.5b
(cos.f64 (+.f64 (*.f64 (log.f64 x.im) y.im) (*.f64 (atan2.f64 x.im x.re) y.re)))
31.5b
(sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))
Compiler

Compiled 154 to 20 computations (87% saved)

series62.0ms (0.2%)

Counts
1 → 48
Calls

12 calls:

TimeVariablePointExpression
25.0ms
x.im
@0
(cos.f64 (+.f64 (*.f64 (log.f64 x.im) y.im) (*.f64 (atan2.f64 x.im x.re) y.re)))
13.0ms
x.re
@0
(cos.f64 (+.f64 (*.f64 (log.f64 x.im) y.im) (*.f64 (atan2.f64 x.im x.re) y.re)))
12.0ms
x.im
@inf
(cos.f64 (+.f64 (*.f64 (log.f64 x.im) y.im) (*.f64 (atan2.f64 x.im x.re) y.re)))
10.0ms
x.im
@-inf
(cos.f64 (+.f64 (*.f64 (log.f64 x.im) y.im) (*.f64 (atan2.f64 x.im x.re) y.re)))
1.0ms
x.re
@inf
(cos.f64 (+.f64 (*.f64 (log.f64 x.im) y.im) (*.f64 (atan2.f64 x.im x.re) y.re)))

rewrite89.0ms (0.3%)

Algorithm
batch-egg-rewrite
Rules
1586×bool.json-1
1586×bool.json-2
1548×rational.json-1
1548×rational.json-2
1548×rational.json-3
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01333
112733
232633
368633
4146733
5331233
6623333
Stop Event
node limit
Counts
1 → 20
Calls
Call 1
Inputs
(cos.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 (cos.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 (cos.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 (cos.f64 (+.f64 (*.f64 (log.f64 x.im) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))) 1/2) (*.f64 (cos.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 (cos.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 (cos.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 (cos.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 (cos.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 (cos.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 (cos.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 (cos.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 (cos.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 (cos.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 1/4 (*.f64 (cos.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 (cos.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 (cos.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 (cos.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 (cos.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 (cos.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 (*.f64 2 (*.f64 2 (*.f64 (cos.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 (*.f64 2 (*.f64 2 (*.f64 (cos.f64 (+.f64 (*.f64 (log.f64 x.im) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))) 4))) (*.f64 2 (*.f64 2 (*.f64 (cos.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 not (not (cos.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 (cos.f64 (+.f64 (*.f64 (log.f64 x.im) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))) (cos.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 (cos.f64 (+.f64 (*.f64 (log.f64 x.im) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))) (cos.f64 (+.f64 (*.f64 (log.f64 x.im) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))))))))

simplify338.0ms (1%)

Algorithm
egg-herbie
Rules
2114×rational.json-simplify-35
1654×rational.json-simplify-2
1058×rational.json-simplify-26
900×rational.json-simplify-1
790×rational.json-simplify-48
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
01102844
12402816
25372816
39782794
419582774
533732774
639772774
745182774
857152774
964122774
1068552774
1176262774
Stop Event
node limit
Counts
68 → 71
Calls
Call 1
Inputs
(cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.im))))
(cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.im))))
(cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.im))))
(cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.im))))
(cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 -1 (*.f64 (log.f64 (/.f64 1 x.im)) 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))))
(cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 -1 (*.f64 (log.f64 (/.f64 1 x.im)) 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))))
(cos.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))))
(cos.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))))
(cos.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))))
(cos.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))))
(cos.f64 (*.f64 y.re (atan2.f64 x.im x.re)))
(+.f64 (*.f64 -1 (*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (*.f64 (log.f64 x.im) y.im))) (cos.f64 (*.f64 y.re (atan2.f64 x.im x.re))))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y.im 2) (*.f64 (pow.f64 (log.f64 x.im) 2) (cos.f64 (*.f64 y.re (atan2.f64 x.im x.re)))))) (+.f64 (*.f64 -1 (*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (*.f64 (log.f64 x.im) y.im))) (cos.f64 (*.f64 y.re (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 (log.f64 x.im) 3) (pow.f64 y.im 3)))) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y.im 2) (*.f64 (pow.f64 (log.f64 x.im) 2) (cos.f64 (*.f64 y.re (atan2.f64 x.im x.re)))))) (+.f64 (*.f64 -1 (*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (*.f64 (log.f64 x.im) y.im))) (cos.f64 (*.f64 y.re (atan2.f64 x.im x.re))))))
(cos.f64 (+.f64 (*.f64 (log.f64 x.im) y.im) (*.f64 y.re (atan2.f64 x.im x.re))))
(cos.f64 (+.f64 (*.f64 (log.f64 x.im) y.im) (*.f64 y.re (atan2.f64 x.im x.re))))
(cos.f64 (+.f64 (*.f64 (log.f64 x.im) y.im) (*.f64 y.re (atan2.f64 x.im x.re))))
(cos.f64 (+.f64 (*.f64 (log.f64 x.im) y.im) (*.f64 y.re (atan2.f64 x.im x.re))))
(cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.im))))
(cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.im))))
(cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.im))))
(cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.im))))
(cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.im))))
(cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.im))))
(cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.im))))
(cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.im))))
(cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.im))))
(cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.im))))
(cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.im))))
(cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.im))))
(cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.im))))
(cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.im))))
(cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.im))))
(cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.im))))
(cos.f64 (*.f64 y.im (log.f64 x.im)))
(+.f64 (*.f64 -1 (*.f64 y.re (*.f64 (atan2.f64 x.im x.re) (sin.f64 (*.f64 (log.f64 x.im) y.im))))) (cos.f64 (*.f64 y.im (log.f64 x.im))))
(+.f64 (*.f64 -1 (*.f64 y.re (*.f64 (atan2.f64 x.im x.re) (sin.f64 (*.f64 (log.f64 x.im) y.im))))) (+.f64 (cos.f64 (*.f64 y.im (log.f64 x.im))) (*.f64 -1/2 (*.f64 (pow.f64 y.re 2) (*.f64 (pow.f64 (atan2.f64 x.im x.re) 2) (cos.f64 (*.f64 y.im (log.f64 x.im))))))))
(+.f64 (*.f64 -1 (*.f64 y.re (*.f64 (atan2.f64 x.im x.re) (sin.f64 (*.f64 (log.f64 x.im) y.im))))) (+.f64 (*.f64 1/6 (*.f64 (pow.f64 y.re 3) (*.f64 (pow.f64 (atan2.f64 x.im x.re) 3) (sin.f64 (*.f64 (log.f64 x.im) y.im))))) (+.f64 (cos.f64 (*.f64 y.im (log.f64 x.im))) (*.f64 -1/2 (*.f64 (pow.f64 y.re 2) (*.f64 (pow.f64 (atan2.f64 x.im x.re) 2) (cos.f64 (*.f64 y.im (log.f64 x.im)))))))))
(cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.im))))
(cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.im))))
(cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.im))))
(cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.im))))
(cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.im))))
(cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.im))))
(cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.im))))
(cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.im))))
(+.f64 (cos.f64 (+.f64 (*.f64 (log.f64 x.im) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))) 0)
(+.f64 0 (cos.f64 (+.f64 (*.f64 (log.f64 x.im) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))))
(+.f64 (*.f64 (cos.f64 (+.f64 (*.f64 (log.f64 x.im) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))) 1/2) (*.f64 (cos.f64 (+.f64 (*.f64 (log.f64 x.im) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))) 1/2))
(-.f64 (cos.f64 (+.f64 (*.f64 (log.f64 x.im) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))) 0)
(*.f64 (cos.f64 (+.f64 (*.f64 (log.f64 x.im) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))) 1)
(*.f64 1 (cos.f64 (+.f64 (*.f64 (log.f64 x.im) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))))
(*.f64 2 (*.f64 (cos.f64 (+.f64 (*.f64 (log.f64 x.im) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))) 1/2))
(*.f64 (*.f64 (cos.f64 (+.f64 (*.f64 (log.f64 x.im) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))) 2) 1/2)
(*.f64 4 (/.f64 (cos.f64 (+.f64 (*.f64 (log.f64 x.im) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))) 4))
(*.f64 (*.f64 (cos.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 (cos.f64 (+.f64 (*.f64 (log.f64 x.im) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))) 2))
(*.f64 (*.f64 (cos.f64 (+.f64 (*.f64 (log.f64 x.im) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))) 1/2) 2)
(*.f64 1/4 (*.f64 (cos.f64 (+.f64 (*.f64 (log.f64 x.im) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))) 4))
(*.f64 (/.f64 (cos.f64 (+.f64 (*.f64 (log.f64 x.im) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))) 4) 4)
(/.f64 (cos.f64 (+.f64 (*.f64 (log.f64 x.im) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))) 1)
(/.f64 (*.f64 (cos.f64 (+.f64 (*.f64 (log.f64 x.im) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))) 2) 2)
(/.f64 (*.f64 (cos.f64 (+.f64 (*.f64 (log.f64 x.im) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))) 4) 4)
(/.f64 (*.f64 2 (*.f64 (cos.f64 (+.f64 (*.f64 (log.f64 x.im) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))) 4)) 8)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (cos.f64 (+.f64 (*.f64 (log.f64 x.im) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))) 4))) 16)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (cos.f64 (+.f64 (*.f64 (log.f64 x.im) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))) 4))) (*.f64 2 (*.f64 2 (*.f64 (cos.f64 (+.f64 (*.f64 (log.f64 x.im) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))) 4)))) 32)
Outputs
(cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.im))))
(cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.im))))
(cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.im))))
(cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.im))))
(cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 -1 (*.f64 (log.f64 (/.f64 1 x.im)) y.im))))
(cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 -1 (*.f64 y.im (log.f64 (/.f64 1 x.im))))))
(cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 (log.f64 (/.f64 1 x.im)) (neg.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))))))
(cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 -1 (*.f64 (log.f64 (/.f64 1 x.im)) y.im))))
(cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 -1 (*.f64 y.im (log.f64 (/.f64 1 x.im))))))
(cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 (log.f64 (/.f64 1 x.im)) (neg.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))))))
(cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 -1 (*.f64 (log.f64 (/.f64 1 x.im)) y.im))))
(cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 -1 (*.f64 y.im (log.f64 (/.f64 1 x.im))))))
(cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 (log.f64 (/.f64 1 x.im)) (neg.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))))))
(cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 -1 (*.f64 (log.f64 (/.f64 1 x.im)) y.im))))
(cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 -1 (*.f64 y.im (log.f64 (/.f64 1 x.im))))))
(cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 (log.f64 (/.f64 1 x.im)) (neg.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))))))
(cos.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))))
(cos.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)))))))
(cos.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)))))))
(cos.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))))
(cos.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)))))))
(cos.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)))))))
(cos.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))))
(cos.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)))))))
(cos.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)))))))
(cos.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))))
(cos.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)))))))
(cos.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)))))))
(cos.f64 (*.f64 y.re (atan2.f64 x.im x.re)))
(+.f64 (*.f64 -1 (*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (*.f64 (log.f64 x.im) y.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 -1 (*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (*.f64 y.im (log.f64 x.im)))))
(+.f64 (cos.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (neg.f64 (*.f64 y.im (log.f64 x.im)))))
(+.f64 (cos.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) (neg.f64 y.im))))
(+.f64 (cos.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (*.f64 (*.f64 y.im (log.f64 x.im)) (sin.f64 (*.f64 y.re (neg.f64 (atan2.f64 x.im x.re))))))
(+.f64 (cos.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (*.f64 (*.f64 y.im (log.f64 x.im)) (sin.f64 (*.f64 (atan2.f64 x.im x.re) (neg.f64 y.re)))))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y.im 2) (*.f64 (pow.f64 (log.f64 x.im) 2) (cos.f64 (*.f64 y.re (atan2.f64 x.im x.re)))))) (+.f64 (*.f64 -1 (*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (*.f64 (log.f64 x.im) y.im))) (cos.f64 (*.f64 y.re (atan2.f64 x.im x.re)))))
(+.f64 (*.f64 -1 (*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (*.f64 y.im (log.f64 x.im)))) (+.f64 (cos.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (*.f64 -1/2 (*.f64 (pow.f64 (log.f64 x.im) 2) (*.f64 (cos.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (pow.f64 y.im 2))))))
(+.f64 (cos.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (+.f64 (*.f64 -1/2 (*.f64 (cos.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (*.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))) (neg.f64 (*.f64 y.im (log.f64 x.im))))))
(+.f64 (*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (*.f64 (log.f64 x.im) (neg.f64 y.im))) (+.f64 (cos.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (*.f64 (pow.f64 y.im 2) (*.f64 (cos.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (*.f64 (pow.f64 (log.f64 x.im) 2) -1/2)))))
(+.f64 (+.f64 (cos.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (*.f64 (*.f64 y.im (log.f64 x.im)) (sin.f64 (*.f64 y.re (neg.f64 (atan2.f64 x.im x.re)))))) (*.f64 (pow.f64 y.im 2) (*.f64 (cos.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (*.f64 -1/2 (pow.f64 (log.f64 x.im) 2)))))
(+.f64 (cos.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (+.f64 (*.f64 (*.f64 y.im (log.f64 x.im)) (sin.f64 (*.f64 y.re (neg.f64 (atan2.f64 x.im x.re))))) (*.f64 (cos.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (*.f64 (pow.f64 y.im 2) (*.f64 -1/2 (pow.f64 (log.f64 x.im) 2))))))
(+.f64 (cos.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (+.f64 (*.f64 (*.f64 y.im (log.f64 x.im)) (sin.f64 (*.f64 (atan2.f64 x.im x.re) (neg.f64 y.re)))) (*.f64 (cos.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (*.f64 (pow.f64 y.im 2) (*.f64 -1/2 (pow.f64 (log.f64 x.im) 2))))))
(+.f64 (*.f64 1/6 (*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (*.f64 (pow.f64 (log.f64 x.im) 3) (pow.f64 y.im 3)))) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y.im 2) (*.f64 (pow.f64 (log.f64 x.im) 2) (cos.f64 (*.f64 y.re (atan2.f64 x.im x.re)))))) (+.f64 (*.f64 -1 (*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (*.f64 (log.f64 x.im) y.im))) (cos.f64 (*.f64 y.re (atan2.f64 x.im x.re))))))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 (log.f64 x.im) 2) (*.f64 (cos.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (pow.f64 y.im 2)))) (+.f64 (+.f64 (cos.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (*.f64 -1 (*.f64 (sin.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 (*.f64 (pow.f64 (log.f64 x.im) 3) (pow.f64 y.im 3)) 1/6))))
(+.f64 (+.f64 (cos.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (neg.f64 (*.f64 y.im (log.f64 x.im))))) (+.f64 (*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (*.f64 1/6 (*.f64 (pow.f64 (log.f64 x.im) 3) (pow.f64 y.im 3)))) (*.f64 -1/2 (*.f64 (cos.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (*.f64 (pow.f64 (log.f64 x.im) 2) (pow.f64 y.im 2))))))
(+.f64 (*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (*.f64 (log.f64 x.im) (neg.f64 y.im))) (+.f64 (*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (*.f64 1/6 (*.f64 (pow.f64 (log.f64 x.im) 3) (pow.f64 y.im 3)))) (+.f64 (cos.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (*.f64 (pow.f64 y.im 2) (*.f64 (cos.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (*.f64 (pow.f64 (log.f64 x.im) 2) -1/2))))))
(+.f64 (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 y.im (neg.f64 (log.f64 x.im))) (*.f64 1/6 (*.f64 (pow.f64 (log.f64 x.im) 3) (pow.f64 y.im 3))))) (*.f64 (pow.f64 y.im 2) (*.f64 (cos.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (*.f64 -1/2 (pow.f64 (log.f64 x.im) 2))))))
(+.f64 (cos.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (+.f64 (*.f64 (cos.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (*.f64 (pow.f64 y.im 2) (*.f64 -1/2 (pow.f64 (log.f64 x.im) 2)))) (*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (+.f64 (*.f64 1/6 (*.f64 (pow.f64 (log.f64 x.im) 3) (pow.f64 y.im 3))) (*.f64 y.im (neg.f64 (log.f64 x.im)))))))
(+.f64 (+.f64 (cos.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (*.f64 (cos.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (*.f64 (pow.f64 y.im 2) (*.f64 -1/2 (pow.f64 (log.f64 x.im) 2))))) (*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (+.f64 (*.f64 (pow.f64 (log.f64 x.im) 3) (*.f64 1/6 (pow.f64 y.im 3))) (*.f64 y.im (neg.f64 (log.f64 x.im))))))
(cos.f64 (+.f64 (*.f64 (log.f64 x.im) y.im) (*.f64 y.re (atan2.f64 x.im x.re))))
(cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.im))))
(cos.f64 (+.f64 (*.f64 (log.f64 x.im) y.im) (*.f64 y.re (atan2.f64 x.im x.re))))
(cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.im))))
(cos.f64 (+.f64 (*.f64 (log.f64 x.im) y.im) (*.f64 y.re (atan2.f64 x.im x.re))))
(cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.im))))
(cos.f64 (+.f64 (*.f64 (log.f64 x.im) y.im) (*.f64 y.re (atan2.f64 x.im x.re))))
(cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.im))))
(cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.im))))
(cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.im))))
(cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.im))))
(cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.im))))
(cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.im))))
(cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.im))))
(cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.im))))
(cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.im))))
(cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.im))))
(cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.im))))
(cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.im))))
(cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.im))))
(cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.im))))
(cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.im))))
(cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.im))))
(cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.im))))
(cos.f64 (*.f64 y.im (log.f64 x.im)))
(+.f64 (*.f64 -1 (*.f64 y.re (*.f64 (atan2.f64 x.im x.re) (sin.f64 (*.f64 (log.f64 x.im) y.im))))) (cos.f64 (*.f64 y.im (log.f64 x.im))))
(+.f64 (cos.f64 (*.f64 y.im (log.f64 x.im))) (*.f64 y.re (*.f64 (*.f64 (atan2.f64 x.im x.re) (sin.f64 (*.f64 y.im (log.f64 x.im)))) -1)))
(+.f64 (cos.f64 (*.f64 y.im (log.f64 x.im))) (neg.f64 (*.f64 (sin.f64 (*.f64 y.im (log.f64 x.im))) (*.f64 y.re (atan2.f64 x.im x.re)))))
(+.f64 (cos.f64 (*.f64 y.im (log.f64 x.im))) (*.f64 y.re (neg.f64 (*.f64 (atan2.f64 x.im x.re) (sin.f64 (*.f64 y.im (log.f64 x.im)))))))
(+.f64 (cos.f64 (*.f64 y.im (log.f64 x.im))) (*.f64 y.re (*.f64 (sin.f64 (*.f64 y.im (log.f64 x.im))) (neg.f64 (atan2.f64 x.im x.re)))))
(+.f64 (cos.f64 (*.f64 y.im (log.f64 x.im))) (*.f64 y.re (*.f64 (atan2.f64 x.im x.re) (neg.f64 (sin.f64 (*.f64 y.im (log.f64 x.im)))))))
(+.f64 (*.f64 -1 (*.f64 y.re (*.f64 (atan2.f64 x.im x.re) (sin.f64 (*.f64 (log.f64 x.im) y.im))))) (+.f64 (cos.f64 (*.f64 y.im (log.f64 x.im))) (*.f64 -1/2 (*.f64 (pow.f64 y.re 2) (*.f64 (pow.f64 (atan2.f64 x.im x.re) 2) (cos.f64 (*.f64 y.im (log.f64 x.im))))))))
(+.f64 (cos.f64 (*.f64 y.im (log.f64 x.im))) (+.f64 (*.f64 (pow.f64 y.re 2) (*.f64 (*.f64 (cos.f64 (*.f64 y.im (log.f64 x.im))) (pow.f64 (atan2.f64 x.im x.re) 2)) -1/2)) (*.f64 y.re (*.f64 (*.f64 (atan2.f64 x.im x.re) (sin.f64 (*.f64 y.im (log.f64 x.im)))) -1))))
(+.f64 (*.f64 -1/2 (*.f64 (cos.f64 (*.f64 y.im (log.f64 x.im))) (*.f64 (pow.f64 (atan2.f64 x.im x.re) 2) (pow.f64 y.re 2)))) (+.f64 (cos.f64 (*.f64 y.im (log.f64 x.im))) (neg.f64 (*.f64 (sin.f64 (*.f64 y.im (log.f64 x.im))) (*.f64 y.re (atan2.f64 x.im x.re))))))
(+.f64 (*.f64 y.re (neg.f64 (*.f64 (atan2.f64 x.im x.re) (sin.f64 (*.f64 y.im (log.f64 x.im)))))) (+.f64 (cos.f64 (*.f64 y.im (log.f64 x.im))) (*.f64 -1/2 (*.f64 (pow.f64 y.re 2) (*.f64 (cos.f64 (*.f64 y.im (log.f64 x.im))) (pow.f64 (atan2.f64 x.im x.re) 2))))))
(+.f64 (*.f64 y.re (*.f64 (sin.f64 (*.f64 y.im (log.f64 x.im))) (neg.f64 (atan2.f64 x.im x.re)))) (+.f64 (cos.f64 (*.f64 y.im (log.f64 x.im))) (*.f64 -1/2 (*.f64 (pow.f64 y.re 2) (*.f64 (cos.f64 (*.f64 y.im (log.f64 x.im))) (pow.f64 (atan2.f64 x.im x.re) 2))))))
(+.f64 (cos.f64 (*.f64 y.im (log.f64 x.im))) (+.f64 (*.f64 y.re (*.f64 (atan2.f64 x.im x.re) (neg.f64 (sin.f64 (*.f64 y.im (log.f64 x.im)))))) (*.f64 -1/2 (*.f64 (pow.f64 (atan2.f64 x.im x.re) 2) (*.f64 (cos.f64 (*.f64 y.im (log.f64 x.im))) (pow.f64 y.re 2))))))
(+.f64 (cos.f64 (*.f64 y.im (log.f64 x.im))) (+.f64 (*.f64 y.re (*.f64 (atan2.f64 x.im x.re) (neg.f64 (sin.f64 (*.f64 y.im (log.f64 x.im)))))) (*.f64 -1/2 (*.f64 (pow.f64 y.re 2) (*.f64 (cos.f64 (*.f64 y.im (log.f64 x.im))) (pow.f64 (atan2.f64 x.im x.re) 2))))))
(+.f64 (*.f64 -1 (*.f64 y.re (*.f64 (atan2.f64 x.im x.re) (sin.f64 (*.f64 (log.f64 x.im) y.im))))) (+.f64 (*.f64 1/6 (*.f64 (pow.f64 y.re 3) (*.f64 (pow.f64 (atan2.f64 x.im x.re) 3) (sin.f64 (*.f64 (log.f64 x.im) y.im))))) (+.f64 (cos.f64 (*.f64 y.im (log.f64 x.im))) (*.f64 -1/2 (*.f64 (pow.f64 y.re 2) (*.f64 (pow.f64 (atan2.f64 x.im x.re) 2) (cos.f64 (*.f64 y.im (log.f64 x.im)))))))))
(+.f64 (*.f64 y.re (*.f64 (*.f64 (atan2.f64 x.im x.re) (sin.f64 (*.f64 y.im (log.f64 x.im)))) -1)) (+.f64 (cos.f64 (*.f64 y.im (log.f64 x.im))) (+.f64 (*.f64 (pow.f64 y.re 2) (*.f64 (*.f64 (cos.f64 (*.f64 y.im (log.f64 x.im))) (pow.f64 (atan2.f64 x.im x.re) 2)) -1/2)) (*.f64 (pow.f64 y.re 3) (*.f64 (*.f64 (sin.f64 (*.f64 y.im (log.f64 x.im))) (pow.f64 (atan2.f64 x.im x.re) 3)) 1/6)))))
(+.f64 (+.f64 (*.f64 -1/2 (*.f64 (cos.f64 (*.f64 y.im (log.f64 x.im))) (*.f64 (pow.f64 (atan2.f64 x.im x.re) 2) (pow.f64 y.re 2)))) (+.f64 (cos.f64 (*.f64 y.im (log.f64 x.im))) (neg.f64 (*.f64 (sin.f64 (*.f64 y.im (log.f64 x.im))) (*.f64 y.re (atan2.f64 x.im x.re)))))) (*.f64 (pow.f64 y.re 3) (*.f64 1/6 (*.f64 (sin.f64 (*.f64 y.im (log.f64 x.im))) (pow.f64 (atan2.f64 x.im x.re) 3)))))
(+.f64 (*.f64 y.re (neg.f64 (*.f64 (atan2.f64 x.im x.re) (sin.f64 (*.f64 y.im (log.f64 x.im)))))) (+.f64 (+.f64 (cos.f64 (*.f64 y.im (log.f64 x.im))) (*.f64 -1/2 (*.f64 (pow.f64 y.re 2) (*.f64 (cos.f64 (*.f64 y.im (log.f64 x.im))) (pow.f64 (atan2.f64 x.im x.re) 2))))) (*.f64 1/6 (*.f64 (pow.f64 y.re 3) (*.f64 (sin.f64 (*.f64 y.im (log.f64 x.im))) (pow.f64 (atan2.f64 x.im x.re) 3))))))
(+.f64 (*.f64 y.re (*.f64 (sin.f64 (*.f64 y.im (log.f64 x.im))) (neg.f64 (atan2.f64 x.im x.re)))) (+.f64 (+.f64 (cos.f64 (*.f64 y.im (log.f64 x.im))) (*.f64 -1/2 (*.f64 (pow.f64 y.re 2) (*.f64 (cos.f64 (*.f64 y.im (log.f64 x.im))) (pow.f64 (atan2.f64 x.im x.re) 2))))) (*.f64 1/6 (*.f64 (pow.f64 y.re 3) (*.f64 (sin.f64 (*.f64 y.im (log.f64 x.im))) (pow.f64 (atan2.f64 x.im x.re) 3))))))
(+.f64 (+.f64 (cos.f64 (*.f64 y.im (log.f64 x.im))) (*.f64 -1/2 (*.f64 (pow.f64 (atan2.f64 x.im x.re) 2) (*.f64 (cos.f64 (*.f64 y.im (log.f64 x.im))) (pow.f64 y.re 2))))) (*.f64 (sin.f64 (*.f64 y.im (log.f64 x.im))) (+.f64 (*.f64 y.re (neg.f64 (atan2.f64 x.im x.re))) (*.f64 (pow.f64 y.re 3) (*.f64 1/6 (pow.f64 (atan2.f64 x.im x.re) 3))))))
(+.f64 (cos.f64 (*.f64 y.im (log.f64 x.im))) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y.re 2) (*.f64 (cos.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 (atan2.f64 x.im x.re) (neg.f64 y.re)) (*.f64 (pow.f64 (atan2.f64 x.im x.re) 3) (*.f64 1/6 (pow.f64 y.re 3)))))))
(cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.im))))
(cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.im))))
(cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.im))))
(cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.im))))
(cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.im))))
(cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.im))))
(cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.im))))
(cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.im))))
(+.f64 (cos.f64 (+.f64 (*.f64 (log.f64 x.im) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))) 0)
(cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.im))))
(+.f64 0 (cos.f64 (+.f64 (*.f64 (log.f64 x.im) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))))
(cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.im))))
(+.f64 (*.f64 (cos.f64 (+.f64 (*.f64 (log.f64 x.im) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))) 1/2) (*.f64 (cos.f64 (+.f64 (*.f64 (log.f64 x.im) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))) 1/2))
(cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.im))))
(-.f64 (cos.f64 (+.f64 (*.f64 (log.f64 x.im) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))) 0)
(cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.im))))
(*.f64 (cos.f64 (+.f64 (*.f64 (log.f64 x.im) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))) 1)
(cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.im))))
(*.f64 1 (cos.f64 (+.f64 (*.f64 (log.f64 x.im) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))))
(cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.im))))
(*.f64 2 (*.f64 (cos.f64 (+.f64 (*.f64 (log.f64 x.im) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))) 1/2))
(cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.im))))
(*.f64 (*.f64 (cos.f64 (+.f64 (*.f64 (log.f64 x.im) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))) 2) 1/2)
(cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.im))))
(*.f64 4 (/.f64 (cos.f64 (+.f64 (*.f64 (log.f64 x.im) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))) 4))
(cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.im))))
(*.f64 (*.f64 (cos.f64 (+.f64 (*.f64 (log.f64 x.im) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))) 4) 1/4)
(cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.im))))
(*.f64 1/2 (*.f64 (cos.f64 (+.f64 (*.f64 (log.f64 x.im) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))) 2))
(cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.im))))
(*.f64 (*.f64 (cos.f64 (+.f64 (*.f64 (log.f64 x.im) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))) 1/2) 2)
(cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.im))))
(*.f64 1/4 (*.f64 (cos.f64 (+.f64 (*.f64 (log.f64 x.im) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))) 4))
(cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.im))))
(*.f64 (/.f64 (cos.f64 (+.f64 (*.f64 (log.f64 x.im) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))) 4) 4)
(cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.im))))
(/.f64 (cos.f64 (+.f64 (*.f64 (log.f64 x.im) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))) 1)
(cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.im))))
(/.f64 (*.f64 (cos.f64 (+.f64 (*.f64 (log.f64 x.im) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))) 2) 2)
(cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.im))))
(/.f64 (*.f64 (cos.f64 (+.f64 (*.f64 (log.f64 x.im) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))) 4) 4)
(cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.im))))
(/.f64 (*.f64 2 (*.f64 (cos.f64 (+.f64 (*.f64 (log.f64 x.im) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))) 4)) 8)
(cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.im))))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (cos.f64 (+.f64 (*.f64 (log.f64 x.im) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))) 4))) 16)
(cos.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 (cos.f64 (+.f64 (*.f64 (log.f64 x.im) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))) 4))) (*.f64 2 (*.f64 2 (*.f64 (cos.f64 (+.f64 (*.f64 (log.f64 x.im) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))) 4)))) 32)
(cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.im))))

localize33.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
1.0b
(*.f64 (atan2.f64 x.im x.re) y.re)
2.2b
(*.f64 (atan2.f64 x.im x.re) y.im)
17.1b
(cos.f64 (+.f64 (*.f64 (log.f64 x.re) y.im) (*.f64 (atan2.f64 x.im x.re) y.re)))
31.5b
(sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))
Compiler

Compiled 154 to 20 computations (87% saved)

series456.0ms (1.3%)

Counts
1 → 48
Calls

12 calls:

TimeVariablePointExpression
388.0ms
x.im
@0
(cos.f64 (+.f64 (*.f64 (log.f64 x.re) y.im) (*.f64 (atan2.f64 x.im x.re) y.re)))
51.0ms
x.re
@0
(cos.f64 (+.f64 (*.f64 (log.f64 x.re) y.im) (*.f64 (atan2.f64 x.im x.re) y.re)))
7.0ms
x.re
@-inf
(cos.f64 (+.f64 (*.f64 (log.f64 x.re) y.im) (*.f64 (atan2.f64 x.im x.re) y.re)))
7.0ms
x.re
@inf
(cos.f64 (+.f64 (*.f64 (log.f64 x.re) y.im) (*.f64 (atan2.f64 x.im x.re) y.re)))
1.0ms
x.im
@inf
(cos.f64 (+.f64 (*.f64 (log.f64 x.re) y.im) (*.f64 (atan2.f64 x.im x.re) y.re)))

rewrite89.0ms (0.3%)

Algorithm
batch-egg-rewrite
Rules
1586×bool.json-1
1586×bool.json-2
1548×rational.json-1
1548×rational.json-2
1548×rational.json-3
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01333
112733
232633
368633
4146733
5331233
6623333
Stop Event
node limit
Counts
1 → 20
Calls
Call 1
Inputs
(cos.f64 (+.f64 (*.f64 (log.f64 x.re) y.im) (*.f64 (atan2.f64 x.im x.re) y.re)))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (cos.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 (cos.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 (cos.f64 (+.f64 (*.f64 (log.f64 x.re) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))) 1/2) (*.f64 (cos.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 (cos.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 (cos.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 (cos.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 (cos.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 (cos.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 (cos.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 (cos.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 (cos.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 (cos.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 1/4 (*.f64 (cos.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 (cos.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 (cos.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 (cos.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 (cos.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 (cos.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 (*.f64 2 (*.f64 2 (*.f64 (cos.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 (*.f64 2 (*.f64 2 (*.f64 (cos.f64 (+.f64 (*.f64 (log.f64 x.re) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))) 4))) (*.f64 2 (*.f64 2 (*.f64 (cos.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 not (not (cos.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 (cos.f64 (+.f64 (*.f64 (log.f64 x.re) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))) (cos.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 (cos.f64 (+.f64 (*.f64 (log.f64 x.re) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))) (cos.f64 (+.f64 (*.f64 (log.f64 x.re) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))))))))

simplify237.0ms (0.7%)

Algorithm
egg-herbie
Rules
2118×rational.json-simplify-35
1648×rational.json-simplify-2
1058×rational.json-simplify-26
888×rational.json-simplify-1
792×rational.json-simplify-48
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01112844
12422816
25452794
39962774
419862774
534052774
640112774
745642774
857892774
964622774
1068852774
1176312774
Stop Event
node limit
Counts
68 → 71
Calls
Call 1
Inputs
(cos.f64 (+.f64 (*.f64 y.im (log.f64 x.re)) (*.f64 y.re (atan2.f64 x.im x.re))))
(cos.f64 (+.f64 (*.f64 y.im (log.f64 x.re)) (*.f64 y.re (atan2.f64 x.im x.re))))
(cos.f64 (+.f64 (*.f64 y.im (log.f64 x.re)) (*.f64 y.re (atan2.f64 x.im x.re))))
(cos.f64 (+.f64 (*.f64 y.im (log.f64 x.re)) (*.f64 y.re (atan2.f64 x.im x.re))))
(cos.f64 (+.f64 (*.f64 -1 (*.f64 (log.f64 (/.f64 1 x.re)) y.im)) (*.f64 y.re (atan2.f64 x.im x.re))))
(cos.f64 (+.f64 (*.f64 -1 (*.f64 (log.f64 (/.f64 1 x.re)) y.im)) (*.f64 y.re (atan2.f64 x.im x.re))))
(cos.f64 (+.f64 (*.f64 -1 (*.f64 (log.f64 (/.f64 1 x.re)) y.im)) (*.f64 y.re (atan2.f64 x.im x.re))))
(cos.f64 (+.f64 (*.f64 -1 (*.f64 (log.f64 (/.f64 1 x.re)) y.im)) (*.f64 y.re (atan2.f64 x.im x.re))))
(cos.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)))
(cos.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)))
(cos.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)))
(cos.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)))
(cos.f64 (*.f64 y.re (atan2.f64 x.im x.re)))
(+.f64 (*.f64 -1 (*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (*.f64 (log.f64 x.re) y.im))) (cos.f64 (*.f64 y.re (atan2.f64 x.im x.re))))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y.im 2) (*.f64 (pow.f64 (log.f64 x.re) 2) (cos.f64 (*.f64 y.re (atan2.f64 x.im x.re)))))) (+.f64 (*.f64 -1 (*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (*.f64 (log.f64 x.re) y.im))) (cos.f64 (*.f64 y.re (atan2.f64 x.im x.re)))))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y.im 2) (*.f64 (pow.f64 (log.f64 x.re) 2) (cos.f64 (*.f64 y.re (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 (log.f64 x.re) 3) (pow.f64 y.im 3)))) (+.f64 (*.f64 -1 (*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (*.f64 (log.f64 x.re) y.im))) (cos.f64 (*.f64 y.re (atan2.f64 x.im x.re))))))
(cos.f64 (+.f64 (*.f64 (log.f64 x.re) y.im) (*.f64 y.re (atan2.f64 x.im x.re))))
(cos.f64 (+.f64 (*.f64 (log.f64 x.re) y.im) (*.f64 y.re (atan2.f64 x.im x.re))))
(cos.f64 (+.f64 (*.f64 (log.f64 x.re) y.im) (*.f64 y.re (atan2.f64 x.im x.re))))
(cos.f64 (+.f64 (*.f64 (log.f64 x.re) y.im) (*.f64 y.re (atan2.f64 x.im x.re))))
(cos.f64 (+.f64 (*.f64 y.im (log.f64 x.re)) (*.f64 y.re (atan2.f64 x.im x.re))))
(cos.f64 (+.f64 (*.f64 y.im (log.f64 x.re)) (*.f64 y.re (atan2.f64 x.im x.re))))
(cos.f64 (+.f64 (*.f64 y.im (log.f64 x.re)) (*.f64 y.re (atan2.f64 x.im x.re))))
(cos.f64 (+.f64 (*.f64 y.im (log.f64 x.re)) (*.f64 y.re (atan2.f64 x.im x.re))))
(cos.f64 (+.f64 (*.f64 y.im (log.f64 x.re)) (*.f64 y.re (atan2.f64 x.im x.re))))
(cos.f64 (+.f64 (*.f64 y.im (log.f64 x.re)) (*.f64 y.re (atan2.f64 x.im x.re))))
(cos.f64 (+.f64 (*.f64 y.im (log.f64 x.re)) (*.f64 y.re (atan2.f64 x.im x.re))))
(cos.f64 (+.f64 (*.f64 y.im (log.f64 x.re)) (*.f64 y.re (atan2.f64 x.im x.re))))
(cos.f64 (+.f64 (*.f64 y.im (log.f64 x.re)) (*.f64 y.re (atan2.f64 x.im x.re))))
(cos.f64 (+.f64 (*.f64 y.im (log.f64 x.re)) (*.f64 y.re (atan2.f64 x.im x.re))))
(cos.f64 (+.f64 (*.f64 y.im (log.f64 x.re)) (*.f64 y.re (atan2.f64 x.im x.re))))
(cos.f64 (+.f64 (*.f64 y.im (log.f64 x.re)) (*.f64 y.re (atan2.f64 x.im x.re))))
(cos.f64 (+.f64 (*.f64 y.im (log.f64 x.re)) (*.f64 y.re (atan2.f64 x.im x.re))))
(cos.f64 (+.f64 (*.f64 y.im (log.f64 x.re)) (*.f64 y.re (atan2.f64 x.im x.re))))
(cos.f64 (+.f64 (*.f64 y.im (log.f64 x.re)) (*.f64 y.re (atan2.f64 x.im x.re))))
(cos.f64 (+.f64 (*.f64 y.im (log.f64 x.re)) (*.f64 y.re (atan2.f64 x.im x.re))))
(cos.f64 (*.f64 y.im (log.f64 x.re)))
(+.f64 (*.f64 -1 (*.f64 (sin.f64 (*.f64 (log.f64 x.re) y.im)) (*.f64 y.re (atan2.f64 x.im x.re)))) (cos.f64 (*.f64 y.im (log.f64 x.re))))
(+.f64 (*.f64 -1 (*.f64 (sin.f64 (*.f64 (log.f64 x.re) y.im)) (*.f64 y.re (atan2.f64 x.im x.re)))) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y.re 2) (*.f64 (pow.f64 (atan2.f64 x.im x.re) 2) (cos.f64 (*.f64 y.im (log.f64 x.re)))))) (cos.f64 (*.f64 y.im (log.f64 x.re)))))
(+.f64 (*.f64 -1 (*.f64 (sin.f64 (*.f64 (log.f64 x.re) y.im)) (*.f64 y.re (atan2.f64 x.im x.re)))) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y.re 2) (*.f64 (pow.f64 (atan2.f64 x.im x.re) 2) (cos.f64 (*.f64 y.im (log.f64 x.re)))))) (+.f64 (*.f64 1/6 (*.f64 (sin.f64 (*.f64 (log.f64 x.re) y.im)) (*.f64 (pow.f64 y.re 3) (pow.f64 (atan2.f64 x.im x.re) 3)))) (cos.f64 (*.f64 y.im (log.f64 x.re))))))
(cos.f64 (+.f64 (*.f64 y.im (log.f64 x.re)) (*.f64 y.re (atan2.f64 x.im x.re))))
(cos.f64 (+.f64 (*.f64 y.im (log.f64 x.re)) (*.f64 y.re (atan2.f64 x.im x.re))))
(cos.f64 (+.f64 (*.f64 y.im (log.f64 x.re)) (*.f64 y.re (atan2.f64 x.im x.re))))
(cos.f64 (+.f64 (*.f64 y.im (log.f64 x.re)) (*.f64 y.re (atan2.f64 x.im x.re))))
(cos.f64 (+.f64 (*.f64 y.im (log.f64 x.re)) (*.f64 y.re (atan2.f64 x.im x.re))))
(cos.f64 (+.f64 (*.f64 y.im (log.f64 x.re)) (*.f64 y.re (atan2.f64 x.im x.re))))
(cos.f64 (+.f64 (*.f64 y.im (log.f64 x.re)) (*.f64 y.re (atan2.f64 x.im x.re))))
(cos.f64 (+.f64 (*.f64 y.im (log.f64 x.re)) (*.f64 y.re (atan2.f64 x.im x.re))))
(+.f64 (cos.f64 (+.f64 (*.f64 (log.f64 x.re) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))) 0)
(+.f64 0 (cos.f64 (+.f64 (*.f64 (log.f64 x.re) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))))
(+.f64 (*.f64 (cos.f64 (+.f64 (*.f64 (log.f64 x.re) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))) 1/2) (*.f64 (cos.f64 (+.f64 (*.f64 (log.f64 x.re) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))) 1/2))
(-.f64 (cos.f64 (+.f64 (*.f64 (log.f64 x.re) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))) 0)
(*.f64 (cos.f64 (+.f64 (*.f64 (log.f64 x.re) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))) 1)
(*.f64 1 (cos.f64 (+.f64 (*.f64 (log.f64 x.re) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))))
(*.f64 2 (*.f64 (cos.f64 (+.f64 (*.f64 (log.f64 x.re) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))) 1/2))
(*.f64 (*.f64 (cos.f64 (+.f64 (*.f64 (log.f64 x.re) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))) 2) 1/2)
(*.f64 4 (/.f64 (cos.f64 (+.f64 (*.f64 (log.f64 x.re) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))) 4))
(*.f64 (*.f64 (cos.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 (cos.f64 (+.f64 (*.f64 (log.f64 x.re) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))) 2))
(*.f64 (*.f64 (cos.f64 (+.f64 (*.f64 (log.f64 x.re) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))) 1/2) 2)
(*.f64 1/4 (*.f64 (cos.f64 (+.f64 (*.f64 (log.f64 x.re) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))) 4))
(*.f64 (/.f64 (cos.f64 (+.f64 (*.f64 (log.f64 x.re) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))) 4) 4)
(/.f64 (cos.f64 (+.f64 (*.f64 (log.f64 x.re) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))) 1)
(/.f64 (*.f64 (cos.f64 (+.f64 (*.f64 (log.f64 x.re) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))) 2) 2)
(/.f64 (*.f64 (cos.f64 (+.f64 (*.f64 (log.f64 x.re) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))) 4) 4)
(/.f64 (*.f64 2 (*.f64 (cos.f64 (+.f64 (*.f64 (log.f64 x.re) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))) 4)) 8)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (cos.f64 (+.f64 (*.f64 (log.f64 x.re) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))) 4))) 16)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (cos.f64 (+.f64 (*.f64 (log.f64 x.re) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))) 4))) (*.f64 2 (*.f64 2 (*.f64 (cos.f64 (+.f64 (*.f64 (log.f64 x.re) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))) 4)))) 32)
Outputs
(cos.f64 (+.f64 (*.f64 y.im (log.f64 x.re)) (*.f64 y.re (atan2.f64 x.im x.re))))
(cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.re))))
(cos.f64 (+.f64 (*.f64 y.im (log.f64 x.re)) (*.f64 y.re (atan2.f64 x.im x.re))))
(cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.re))))
(cos.f64 (+.f64 (*.f64 y.im (log.f64 x.re)) (*.f64 y.re (atan2.f64 x.im x.re))))
(cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.re))))
(cos.f64 (+.f64 (*.f64 y.im (log.f64 x.re)) (*.f64 y.re (atan2.f64 x.im x.re))))
(cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.re))))
(cos.f64 (+.f64 (*.f64 -1 (*.f64 (log.f64 (/.f64 1 x.re)) y.im)) (*.f64 y.re (atan2.f64 x.im x.re))))
(cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 -1 (*.f64 y.im (log.f64 (/.f64 1 x.re))))))
(cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 (log.f64 (/.f64 1 x.re)) (neg.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))))))
(cos.f64 (+.f64 (*.f64 -1 (*.f64 (log.f64 (/.f64 1 x.re)) y.im)) (*.f64 y.re (atan2.f64 x.im x.re))))
(cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 -1 (*.f64 y.im (log.f64 (/.f64 1 x.re))))))
(cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 (log.f64 (/.f64 1 x.re)) (neg.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))))))
(cos.f64 (+.f64 (*.f64 -1 (*.f64 (log.f64 (/.f64 1 x.re)) y.im)) (*.f64 y.re (atan2.f64 x.im x.re))))
(cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 -1 (*.f64 y.im (log.f64 (/.f64 1 x.re))))))
(cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 (log.f64 (/.f64 1 x.re)) (neg.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))))))
(cos.f64 (+.f64 (*.f64 -1 (*.f64 (log.f64 (/.f64 1 x.re)) y.im)) (*.f64 y.re (atan2.f64 x.im x.re))))
(cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 -1 (*.f64 y.im (log.f64 (/.f64 1 x.re))))))
(cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 (log.f64 (/.f64 1 x.re)) (neg.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))))))
(cos.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)))
(cos.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)))))))
(cos.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)))))))
(cos.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)))
(cos.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)))))))
(cos.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)))))))
(cos.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)))
(cos.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)))))))
(cos.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)))))))
(cos.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)))
(cos.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)))))))
(cos.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)))))))
(cos.f64 (*.f64 y.re (atan2.f64 x.im x.re)))
(+.f64 (*.f64 -1 (*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (*.f64 (log.f64 x.re) y.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 -1 (*.f64 (log.f64 x.re) (*.f64 y.im (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re)))))))
(+.f64 (cos.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (neg.f64 (*.f64 y.im (log.f64 x.re)))))
(+.f64 (cos.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (*.f64 (log.f64 x.re) (neg.f64 (*.f64 y.im (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 (*.f64 (neg.f64 (log.f64 x.re)) (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))))))
(+.f64 (cos.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (*.f64 (*.f64 y.im (log.f64 x.re)) (sin.f64 (*.f64 y.re (neg.f64 (atan2.f64 x.im x.re))))))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y.im 2) (*.f64 (pow.f64 (log.f64 x.re) 2) (cos.f64 (*.f64 y.re (atan2.f64 x.im x.re)))))) (+.f64 (*.f64 -1 (*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (*.f64 (log.f64 x.re) y.im))) (cos.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 (*.f64 (log.f64 x.re) (*.f64 y.im (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))))))) (*.f64 -1/2 (*.f64 (pow.f64 y.im 2) (*.f64 (cos.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (pow.f64 (log.f64 x.re) 2)))))
(+.f64 (cos.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (+.f64 (*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (neg.f64 (*.f64 y.im (log.f64 x.re)))) (*.f64 -1/2 (*.f64 (cos.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 (log.f64 x.re) (neg.f64 (*.f64 y.im (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re)))))) (+.f64 (cos.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (*.f64 (pow.f64 y.im 2) (*.f64 (pow.f64 (log.f64 x.re) 2) (*.f64 (cos.f64 (*.f64 y.re (atan2.f64 x.im x.re))) -1/2)))))
(+.f64 (*.f64 y.im (*.f64 (neg.f64 (log.f64 x.re)) (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))))) (+.f64 (cos.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (*.f64 (pow.f64 y.im 2) (*.f64 (pow.f64 (log.f64 x.re) 2) (*.f64 (cos.f64 (*.f64 y.re (atan2.f64 x.im x.re))) -1/2)))))
(+.f64 (cos.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (+.f64 (*.f64 (*.f64 y.im (log.f64 x.re)) (sin.f64 (*.f64 y.re (neg.f64 (atan2.f64 x.im x.re))))) (*.f64 (cos.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (*.f64 -1/2 (*.f64 (pow.f64 y.im 2) (pow.f64 (log.f64 x.re) 2))))))
(+.f64 (*.f64 (*.f64 y.im (log.f64 x.re)) (sin.f64 (*.f64 y.re (neg.f64 (atan2.f64 x.im x.re))))) (+.f64 (cos.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (*.f64 (cos.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (*.f64 (pow.f64 y.im 2) (*.f64 -1/2 (pow.f64 (log.f64 x.re) 2))))))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y.im 2) (*.f64 (pow.f64 (log.f64 x.re) 2) (cos.f64 (*.f64 y.re (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 (log.f64 x.re) 3) (pow.f64 y.im 3)))) (+.f64 (*.f64 -1 (*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (*.f64 (log.f64 x.re) y.im))) (cos.f64 (*.f64 y.re (atan2.f64 x.im x.re))))))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y.im 2) (*.f64 (cos.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (pow.f64 (log.f64 x.re) 2)))) (+.f64 (*.f64 -1 (*.f64 (log.f64 x.re) (*.f64 y.im (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re)))))) (+.f64 (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 (log.f64 x.re) 3) (pow.f64 y.im 3)) 1/6)))))
(+.f64 (*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (neg.f64 (*.f64 y.im (log.f64 x.re)))) (+.f64 (+.f64 (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/6 (*.f64 (pow.f64 (log.f64 x.re) 3) (pow.f64 y.im 3))))) (*.f64 -1/2 (*.f64 (cos.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 (pow.f64 y.im 2) (*.f64 (pow.f64 (log.f64 x.re) 2) (*.f64 (cos.f64 (*.f64 y.re (atan2.f64 x.im x.re))) -1/2))) (+.f64 (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 (log.f64 x.re) 3) (pow.f64 y.im 3))) (neg.f64 (*.f64 y.im (log.f64 x.re)))))))
(+.f64 (*.f64 (pow.f64 y.im 2) (*.f64 (pow.f64 (log.f64 x.re) 2) (*.f64 (cos.f64 (*.f64 y.re (atan2.f64 x.im x.re))) -1/2))) (+.f64 (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 (log.f64 x.re) 3) (pow.f64 y.im 3))) (*.f64 y.im (neg.f64 (log.f64 x.re)))))))
(+.f64 (cos.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/2 (*.f64 (pow.f64 y.im 2) (pow.f64 (log.f64 x.re) 2)))) (*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (+.f64 (*.f64 1/6 (*.f64 (pow.f64 (log.f64 x.re) 3) (pow.f64 y.im 3))) (*.f64 y.im (neg.f64 (log.f64 x.re)))))))
(+.f64 (*.f64 (cos.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (*.f64 (pow.f64 y.im 2) (*.f64 -1/2 (pow.f64 (log.f64 x.re) 2)))) (+.f64 (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 (log.f64 x.re) 3) (pow.f64 y.im 3))) (*.f64 y.im (neg.f64 (log.f64 x.re)))))))
(cos.f64 (+.f64 (*.f64 (log.f64 x.re) y.im) (*.f64 y.re (atan2.f64 x.im x.re))))
(cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.re))))
(cos.f64 (+.f64 (*.f64 (log.f64 x.re) y.im) (*.f64 y.re (atan2.f64 x.im x.re))))
(cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.re))))
(cos.f64 (+.f64 (*.f64 (log.f64 x.re) y.im) (*.f64 y.re (atan2.f64 x.im x.re))))
(cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.re))))
(cos.f64 (+.f64 (*.f64 (log.f64 x.re) y.im) (*.f64 y.re (atan2.f64 x.im x.re))))
(cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.re))))
(cos.f64 (+.f64 (*.f64 y.im (log.f64 x.re)) (*.f64 y.re (atan2.f64 x.im x.re))))
(cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.re))))
(cos.f64 (+.f64 (*.f64 y.im (log.f64 x.re)) (*.f64 y.re (atan2.f64 x.im x.re))))
(cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.re))))
(cos.f64 (+.f64 (*.f64 y.im (log.f64 x.re)) (*.f64 y.re (atan2.f64 x.im x.re))))
(cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.re))))
(cos.f64 (+.f64 (*.f64 y.im (log.f64 x.re)) (*.f64 y.re (atan2.f64 x.im x.re))))
(cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.re))))
(cos.f64 (+.f64 (*.f64 y.im (log.f64 x.re)) (*.f64 y.re (atan2.f64 x.im x.re))))
(cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.re))))
(cos.f64 (+.f64 (*.f64 y.im (log.f64 x.re)) (*.f64 y.re (atan2.f64 x.im x.re))))
(cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.re))))
(cos.f64 (+.f64 (*.f64 y.im (log.f64 x.re)) (*.f64 y.re (atan2.f64 x.im x.re))))
(cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.re))))
(cos.f64 (+.f64 (*.f64 y.im (log.f64 x.re)) (*.f64 y.re (atan2.f64 x.im x.re))))
(cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.re))))
(cos.f64 (+.f64 (*.f64 y.im (log.f64 x.re)) (*.f64 y.re (atan2.f64 x.im x.re))))
(cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.re))))
(cos.f64 (+.f64 (*.f64 y.im (log.f64 x.re)) (*.f64 y.re (atan2.f64 x.im x.re))))
(cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.re))))
(cos.f64 (+.f64 (*.f64 y.im (log.f64 x.re)) (*.f64 y.re (atan2.f64 x.im x.re))))
(cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.re))))
(cos.f64 (+.f64 (*.f64 y.im (log.f64 x.re)) (*.f64 y.re (atan2.f64 x.im x.re))))
(cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.re))))
(cos.f64 (+.f64 (*.f64 y.im (log.f64 x.re)) (*.f64 y.re (atan2.f64 x.im x.re))))
(cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.re))))
(cos.f64 (+.f64 (*.f64 y.im (log.f64 x.re)) (*.f64 y.re (atan2.f64 x.im x.re))))
(cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.re))))
(cos.f64 (+.f64 (*.f64 y.im (log.f64 x.re)) (*.f64 y.re (atan2.f64 x.im x.re))))
(cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.re))))
(cos.f64 (+.f64 (*.f64 y.im (log.f64 x.re)) (*.f64 y.re (atan2.f64 x.im x.re))))
(cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.re))))
(cos.f64 (*.f64 y.im (log.f64 x.re)))
(+.f64 (*.f64 -1 (*.f64 (sin.f64 (*.f64 (log.f64 x.re) y.im)) (*.f64 y.re (atan2.f64 x.im x.re)))) (cos.f64 (*.f64 y.im (log.f64 x.re))))
(+.f64 (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)) -1)))
(+.f64 (cos.f64 (*.f64 y.im (log.f64 x.re))) (*.f64 (sin.f64 (*.f64 y.im (log.f64 x.re))) (neg.f64 (*.f64 y.re (atan2.f64 x.im x.re)))))
(+.f64 (cos.f64 (*.f64 y.im (log.f64 x.re))) (*.f64 y.re (*.f64 (atan2.f64 x.im x.re) (sin.f64 (*.f64 y.im (neg.f64 (log.f64 x.re)))))))
(+.f64 (cos.f64 (*.f64 y.im (log.f64 x.re))) (*.f64 (atan2.f64 x.im x.re) (neg.f64 (*.f64 y.re (sin.f64 (*.f64 y.im (log.f64 x.re)))))))
(+.f64 (*.f64 -1 (*.f64 (sin.f64 (*.f64 (log.f64 x.re) y.im)) (*.f64 y.re (atan2.f64 x.im x.re)))) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y.re 2) (*.f64 (pow.f64 (atan2.f64 x.im x.re) 2) (cos.f64 (*.f64 y.im (log.f64 x.re)))))) (cos.f64 (*.f64 y.im (log.f64 x.re)))))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y.re 2) (*.f64 (cos.f64 (*.f64 y.im (log.f64 x.re))) (pow.f64 (atan2.f64 x.im x.re) 2)))) (+.f64 (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)) -1))))
(+.f64 (+.f64 (cos.f64 (*.f64 y.im (log.f64 x.re))) (*.f64 (sin.f64 (*.f64 y.im (log.f64 x.re))) (neg.f64 (*.f64 y.re (atan2.f64 x.im x.re))))) (*.f64 -1/2 (*.f64 (cos.f64 (*.f64 y.im (log.f64 x.re))) (*.f64 (pow.f64 (atan2.f64 x.im x.re) 2) (pow.f64 y.re 2)))))
(+.f64 (*.f64 (sin.f64 (*.f64 y.im (log.f64 x.re))) (neg.f64 (*.f64 y.re (atan2.f64 x.im x.re)))) (+.f64 (cos.f64 (*.f64 y.im (log.f64 x.re))) (*.f64 -1/2 (*.f64 (cos.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) (sin.f64 (*.f64 y.im (neg.f64 (log.f64 x.re)))))) (+.f64 (cos.f64 (*.f64 y.im (log.f64 x.re))) (*.f64 -1/2 (*.f64 (cos.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 (cos.f64 (*.f64 y.im (log.f64 x.re))) (*.f64 (atan2.f64 x.im x.re) (neg.f64 (*.f64 y.re (sin.f64 (*.f64 y.im (log.f64 x.re))))))) (*.f64 -1/2 (*.f64 (cos.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 (atan2.f64 x.im x.re) (neg.f64 (*.f64 y.re (sin.f64 (*.f64 y.im (log.f64 x.re)))))) (*.f64 -1/2 (*.f64 (pow.f64 y.re 2) (*.f64 (cos.f64 (*.f64 y.im (log.f64 x.re))) (pow.f64 (atan2.f64 x.im x.re) 2))))))
(+.f64 (*.f64 -1 (*.f64 (sin.f64 (*.f64 (log.f64 x.re) y.im)) (*.f64 y.re (atan2.f64 x.im x.re)))) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y.re 2) (*.f64 (pow.f64 (atan2.f64 x.im x.re) 2) (cos.f64 (*.f64 y.im (log.f64 x.re)))))) (+.f64 (*.f64 1/6 (*.f64 (sin.f64 (*.f64 (log.f64 x.re) y.im)) (*.f64 (pow.f64 y.re 3) (pow.f64 (atan2.f64 x.im x.re) 3)))) (cos.f64 (*.f64 y.im (log.f64 x.re))))))
(+.f64 (*.f64 (sin.f64 (*.f64 y.im (log.f64 x.re))) (*.f64 (*.f64 y.re (atan2.f64 x.im x.re)) -1)) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y.re 2) (*.f64 (cos.f64 (*.f64 y.im (log.f64 x.re))) (pow.f64 (atan2.f64 x.im x.re) 2)))) (+.f64 (cos.f64 (*.f64 y.im (log.f64 x.re))) (*.f64 1/6 (*.f64 (sin.f64 (*.f64 y.im (log.f64 x.re))) (*.f64 (pow.f64 y.re 3) (pow.f64 (atan2.f64 x.im x.re) 3)))))))
(+.f64 (*.f64 (sin.f64 (*.f64 y.im (log.f64 x.re))) (neg.f64 (*.f64 y.re (atan2.f64 x.im x.re)))) (+.f64 (cos.f64 (*.f64 y.im (log.f64 x.re))) (+.f64 (*.f64 -1/2 (*.f64 (cos.f64 (*.f64 y.im (log.f64 x.re))) (*.f64 (pow.f64 (atan2.f64 x.im x.re) 2) (pow.f64 y.re 2)))) (*.f64 (*.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))) 1/6)))))
(+.f64 (cos.f64 (*.f64 y.im (log.f64 x.re))) (+.f64 (+.f64 (*.f64 -1/2 (*.f64 (cos.f64 (*.f64 y.im (log.f64 x.re))) (*.f64 (pow.f64 y.re 2) (pow.f64 (atan2.f64 x.im x.re) 2)))) (*.f64 1/6 (*.f64 (sin.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))) (neg.f64 (*.f64 y.re (atan2.f64 x.im x.re))))))
(+.f64 (+.f64 (cos.f64 (*.f64 y.im (log.f64 x.re))) (*.f64 -1/2 (*.f64 (cos.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 (neg.f64 (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 (cos.f64 (*.f64 y.im (log.f64 x.re))) (+.f64 (*.f64 -1/2 (*.f64 (cos.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 (neg.f64 (atan2.f64 x.im x.re))) (*.f64 (pow.f64 y.re 3) (*.f64 1/6 (pow.f64 (atan2.f64 x.im x.re) 3)))))))
(+.f64 (cos.f64 (*.f64 y.im (log.f64 x.re))) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y.re 2) (*.f64 (cos.f64 (*.f64 y.im (log.f64 x.re))) (pow.f64 (atan2.f64 x.im x.re) 2)))) (*.f64 (sin.f64 (*.f64 y.im (log.f64 x.re))) (+.f64 (*.f64 y.re (neg.f64 (atan2.f64 x.im x.re))) (*.f64 1/6 (*.f64 (pow.f64 y.re 3) (pow.f64 (atan2.f64 x.im x.re) 3)))))))
(cos.f64 (+.f64 (*.f64 y.im (log.f64 x.re)) (*.f64 y.re (atan2.f64 x.im x.re))))
(cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.re))))
(cos.f64 (+.f64 (*.f64 y.im (log.f64 x.re)) (*.f64 y.re (atan2.f64 x.im x.re))))
(cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.re))))
(cos.f64 (+.f64 (*.f64 y.im (log.f64 x.re)) (*.f64 y.re (atan2.f64 x.im x.re))))
(cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.re))))
(cos.f64 (+.f64 (*.f64 y.im (log.f64 x.re)) (*.f64 y.re (atan2.f64 x.im x.re))))
(cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.re))))
(cos.f64 (+.f64 (*.f64 y.im (log.f64 x.re)) (*.f64 y.re (atan2.f64 x.im x.re))))
(cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.re))))
(cos.f64 (+.f64 (*.f64 y.im (log.f64 x.re)) (*.f64 y.re (atan2.f64 x.im x.re))))
(cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.re))))
(cos.f64 (+.f64 (*.f64 y.im (log.f64 x.re)) (*.f64 y.re (atan2.f64 x.im x.re))))
(cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.re))))
(cos.f64 (+.f64 (*.f64 y.im (log.f64 x.re)) (*.f64 y.re (atan2.f64 x.im x.re))))
(cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.re))))
(+.f64 (cos.f64 (+.f64 (*.f64 (log.f64 x.re) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))) 0)
(cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.re))))
(+.f64 0 (cos.f64 (+.f64 (*.f64 (log.f64 x.re) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))))
(cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.re))))
(+.f64 (*.f64 (cos.f64 (+.f64 (*.f64 (log.f64 x.re) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))) 1/2) (*.f64 (cos.f64 (+.f64 (*.f64 (log.f64 x.re) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))) 1/2))
(cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.re))))
(-.f64 (cos.f64 (+.f64 (*.f64 (log.f64 x.re) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))) 0)
(cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.re))))
(*.f64 (cos.f64 (+.f64 (*.f64 (log.f64 x.re) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))) 1)
(cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.re))))
(*.f64 1 (cos.f64 (+.f64 (*.f64 (log.f64 x.re) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))))
(cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.re))))
(*.f64 2 (*.f64 (cos.f64 (+.f64 (*.f64 (log.f64 x.re) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))) 1/2))
(cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.re))))
(*.f64 (*.f64 (cos.f64 (+.f64 (*.f64 (log.f64 x.re) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))) 2) 1/2)
(cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.re))))
(*.f64 4 (/.f64 (cos.f64 (+.f64 (*.f64 (log.f64 x.re) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))) 4))
(cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.re))))
(*.f64 (*.f64 (cos.f64 (+.f64 (*.f64 (log.f64 x.re) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))) 4) 1/4)
(cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.re))))
(*.f64 1/2 (*.f64 (cos.f64 (+.f64 (*.f64 (log.f64 x.re) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))) 2))
(cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.re))))
(*.f64 (*.f64 (cos.f64 (+.f64 (*.f64 (log.f64 x.re) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))) 1/2) 2)
(cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.re))))
(*.f64 1/4 (*.f64 (cos.f64 (+.f64 (*.f64 (log.f64 x.re) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))) 4))
(cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.re))))
(*.f64 (/.f64 (cos.f64 (+.f64 (*.f64 (log.f64 x.re) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))) 4) 4)
(cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.re))))
(/.f64 (cos.f64 (+.f64 (*.f64 (log.f64 x.re) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))) 1)
(cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.re))))
(/.f64 (*.f64 (cos.f64 (+.f64 (*.f64 (log.f64 x.re) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))) 2) 2)
(cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.re))))
(/.f64 (*.f64 (cos.f64 (+.f64 (*.f64 (log.f64 x.re) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))) 4) 4)
(cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.re))))
(/.f64 (*.f64 2 (*.f64 (cos.f64 (+.f64 (*.f64 (log.f64 x.re) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))) 4)) 8)
(cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.re))))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (cos.f64 (+.f64 (*.f64 (log.f64 x.re) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))) 4))) 16)
(cos.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 (cos.f64 (+.f64 (*.f64 (log.f64 x.re) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))) 4))) (*.f64 2 (*.f64 2 (*.f64 (cos.f64 (+.f64 (*.f64 (log.f64 x.re) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))) 4)))) 32)
(cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 x.re))))

localize36.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
1.0b
(*.f64 (atan2.f64 x.im x.re) y.re)
2.2b
(*.f64 (atan2.f64 x.im x.re) y.im)
12.2b
(cos.f64 (+.f64 (*.f64 (log.f64 (neg.f64 x.re)) y.im) (*.f64 (atan2.f64 x.im x.re) y.re)))
31.5b
(sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))
Compiler

Compiled 161 to 21 computations (87% saved)

series42.0ms (0.1%)

Counts
1 → 48
Calls

12 calls:

TimeVariablePointExpression
22.0ms
x.im
@0
(cos.f64 (+.f64 (*.f64 (log.f64 (neg.f64 x.re)) y.im) (*.f64 (atan2.f64 x.im x.re) y.re)))
9.0ms
x.re
@0
(cos.f64 (+.f64 (*.f64 (log.f64 (neg.f64 x.re)) y.im) (*.f64 (atan2.f64 x.im x.re) y.re)))
8.0ms
x.re
@inf
(cos.f64 (+.f64 (*.f64 (log.f64 (neg.f64 x.re)) y.im) (*.f64 (atan2.f64 x.im x.re) y.re)))
1.0ms
x.im
@-inf
(cos.f64 (+.f64 (*.f64 (log.f64 (neg.f64 x.re)) y.im) (*.f64 (atan2.f64 x.im x.re) y.re)))
1.0ms
y.im
@0
(cos.f64 (+.f64 (*.f64 (log.f64 (neg.f64 x.re)) y.im) (*.f64 (atan2.f64 x.im x.re) y.re)))

rewrite101.0ms (0.3%)

Algorithm
batch-egg-rewrite
Rules
1802×bool.json-1
1802×bool.json-2
1094×rational.json-simplify-35
1076×bool.json-3
1058×rational.json-1
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01437
114037
236537
376437
4165237
5376237
6708837
Stop Event
node limit
Counts
1 → 20
Calls
Call 1
Inputs
(cos.f64 (+.f64 (*.f64 (log.f64 (neg.f64 x.re)) y.im) (*.f64 (atan2.f64 x.im x.re) y.re)))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (cos.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 (cos.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 (cos.f64 (+.f64 (*.f64 (log.f64 (neg.f64 x.re)) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))) 1/2) (*.f64 (cos.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 (cos.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 (cos.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 (cos.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 (cos.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 (cos.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 (cos.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 (cos.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 (cos.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 (cos.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 1/4 (*.f64 (cos.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 (cos.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 (cos.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 (cos.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 (cos.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 (cos.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 (*.f64 2 (*.f64 2 (*.f64 (cos.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 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (cos.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 (cos.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 not (not (cos.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 (cos.f64 (+.f64 (*.f64 (log.f64 (neg.f64 x.re)) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))) (cos.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 (cos.f64 (+.f64 (*.f64 (log.f64 (neg.f64 x.re)) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))) (cos.f64 (+.f64 (*.f64 (log.f64 (neg.f64 x.re)) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))))))))

simplify438.0ms (1.3%)

Algorithm
egg-herbie
Rules
1686×rational.json-simplify-35
1680×rational.json-simplify-2
1086×rational.json-simplify-26
916×rational.json-simplify-1
824×rational.json-simplify-48
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01153140
12513112
25613066
310133066
420053066
534743066
641243066
747153066
859823066
966913066
1071383066
1176363066
Stop Event
node limit
Counts
68 → 66
Calls
Call 1
Inputs
(cos.f64 (+.f64 (*.f64 (+.f64 (log.f64 -1) (log.f64 x.re)) y.im) (*.f64 y.re (atan2.f64 x.im x.re))))
(cos.f64 (+.f64 (*.f64 (+.f64 (log.f64 -1) (log.f64 x.re)) y.im) (*.f64 y.re (atan2.f64 x.im x.re))))
(cos.f64 (+.f64 (*.f64 (+.f64 (log.f64 -1) (log.f64 x.re)) y.im) (*.f64 y.re (atan2.f64 x.im x.re))))
(cos.f64 (+.f64 (*.f64 (+.f64 (log.f64 -1) (log.f64 x.re)) y.im) (*.f64 y.re (atan2.f64 x.im x.re))))
(cos.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)))
(cos.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)))
(cos.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)))
(cos.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)))
(cos.f64 (+.f64 (*.f64 -1 (*.f64 y.im (log.f64 (/.f64 -1 x.re)))) (*.f64 y.re (atan2.f64 x.im x.re))))
(cos.f64 (+.f64 (*.f64 -1 (*.f64 y.im (log.f64 (/.f64 -1 x.re)))) (*.f64 y.re (atan2.f64 x.im x.re))))
(cos.f64 (+.f64 (*.f64 -1 (*.f64 y.im (log.f64 (/.f64 -1 x.re)))) (*.f64 y.re (atan2.f64 x.im x.re))))
(cos.f64 (+.f64 (*.f64 -1 (*.f64 y.im (log.f64 (/.f64 -1 x.re)))) (*.f64 y.re (atan2.f64 x.im x.re))))
(cos.f64 (*.f64 y.re (atan2.f64 x.im x.re)))
(+.f64 (*.f64 -1 (*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (*.f64 y.im (log.f64 (neg.f64 x.re))))) (cos.f64 (*.f64 y.re (atan2.f64 x.im x.re))))
(+.f64 (*.f64 -1 (*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (*.f64 y.im (log.f64 (neg.f64 x.re))))) (+.f64 (cos.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (*.f64 -1/2 (*.f64 (pow.f64 y.im 2) (*.f64 (cos.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (pow.f64 (log.f64 (neg.f64 x.re)) 2))))))
(+.f64 (*.f64 -1 (*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (*.f64 y.im (log.f64 (neg.f64 x.re))))) (+.f64 (*.f64 1/6 (*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (*.f64 (pow.f64 y.im 3) (pow.f64 (log.f64 (neg.f64 x.re)) 3)))) (+.f64 (cos.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (*.f64 -1/2 (*.f64 (pow.f64 y.im 2) (*.f64 (cos.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (pow.f64 (log.f64 (neg.f64 x.re)) 2)))))))
(cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 (neg.f64 x.re)))))
(cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 (neg.f64 x.re)))))
(cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 (neg.f64 x.re)))))
(cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 (neg.f64 x.re)))))
(cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 (neg.f64 x.re)))))
(cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 (neg.f64 x.re)))))
(cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 (neg.f64 x.re)))))
(cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 (neg.f64 x.re)))))
(cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 (neg.f64 x.re)))))
(cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 (neg.f64 x.re)))))
(cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 (neg.f64 x.re)))))
(cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 (neg.f64 x.re)))))
(cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 (neg.f64 x.re)))))
(cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 (neg.f64 x.re)))))
(cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 (neg.f64 x.re)))))
(cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 (neg.f64 x.re)))))
(cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 (neg.f64 x.re)))))
(cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 (neg.f64 x.re)))))
(cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 (neg.f64 x.re)))))
(cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 (neg.f64 x.re)))))
(cos.f64 (*.f64 y.im (log.f64 (neg.f64 x.re))))
(+.f64 (*.f64 -1 (*.f64 (sin.f64 (*.f64 y.im (log.f64 (neg.f64 x.re)))) (*.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 (pow.f64 y.re 2) (*.f64 (pow.f64 (atan2.f64 x.im x.re) 2) (cos.f64 (*.f64 y.im (log.f64 (neg.f64 x.re))))))) (+.f64 (*.f64 -1 (*.f64 (sin.f64 (*.f64 y.im (log.f64 (neg.f64 x.re)))) (*.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 (pow.f64 y.re 2) (*.f64 (pow.f64 (atan2.f64 x.im x.re) 2) (cos.f64 (*.f64 y.im (log.f64 (neg.f64 x.re))))))) (+.f64 (*.f64 -1 (*.f64 (sin.f64 (*.f64 y.im (log.f64 (neg.f64 x.re)))) (*.f64 y.re (atan2.f64 x.im x.re)))) (+.f64 (*.f64 1/6 (*.f64 (sin.f64 (*.f64 y.im (log.f64 (neg.f64 x.re)))) (*.f64 (pow.f64 y.re 3) (pow.f64 (atan2.f64 x.im x.re) 3)))) (cos.f64 (*.f64 y.im (log.f64 (neg.f64 x.re)))))))
(cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 (neg.f64 x.re)))))
(cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 (neg.f64 x.re)))))
(cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 (neg.f64 x.re)))))
(cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 (neg.f64 x.re)))))
(cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 (neg.f64 x.re)))))
(cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 (neg.f64 x.re)))))
(cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 (neg.f64 x.re)))))
(cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 (neg.f64 x.re)))))
(+.f64 (cos.f64 (+.f64 (*.f64 (log.f64 (neg.f64 x.re)) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))) 0)
(+.f64 0 (cos.f64 (+.f64 (*.f64 (log.f64 (neg.f64 x.re)) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))))
(+.f64 (*.f64 (cos.f64 (+.f64 (*.f64 (log.f64 (neg.f64 x.re)) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))) 1/2) (*.f64 (cos.f64 (+.f64 (*.f64 (log.f64 (neg.f64 x.re)) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))) 1/2))
(-.f64 (cos.f64 (+.f64 (*.f64 (log.f64 (neg.f64 x.re)) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))) 0)
(*.f64 (cos.f64 (+.f64 (*.f64 (log.f64 (neg.f64 x.re)) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))) 1)
(*.f64 1 (cos.f64 (+.f64 (*.f64 (log.f64 (neg.f64 x.re)) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))))
(*.f64 2 (*.f64 (cos.f64 (+.f64 (*.f64 (log.f64 (neg.f64 x.re)) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))) 1/2))
(*.f64 (*.f64 (cos.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 (cos.f64 (+.f64 (*.f64 (log.f64 (neg.f64 x.re)) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))) 4))
(*.f64 (*.f64 (cos.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 (cos.f64 (+.f64 (*.f64 (log.f64 (neg.f64 x.re)) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))) 2))
(*.f64 (*.f64 (cos.f64 (+.f64 (*.f64 (log.f64 (neg.f64 x.re)) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))) 1/2) 2)
(*.f64 1/4 (*.f64 (cos.f64 (+.f64 (*.f64 (log.f64 (neg.f64 x.re)) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))) 4))
(*.f64 (/.f64 (cos.f64 (+.f64 (*.f64 (log.f64 (neg.f64 x.re)) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))) 4) 4)
(/.f64 (cos.f64 (+.f64 (*.f64 (log.f64 (neg.f64 x.re)) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))) 1)
(/.f64 (*.f64 (cos.f64 (+.f64 (*.f64 (log.f64 (neg.f64 x.re)) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))) 2) 2)
(/.f64 (*.f64 (cos.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 (cos.f64 (+.f64 (*.f64 (log.f64 (neg.f64 x.re)) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))) 4)) 8)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (cos.f64 (+.f64 (*.f64 (log.f64 (neg.f64 x.re)) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))) 4))) 16)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (cos.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 (cos.f64 (+.f64 (*.f64 (log.f64 (neg.f64 x.re)) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))) 4)))) 32)
Outputs
(cos.f64 (+.f64 (*.f64 (+.f64 (log.f64 -1) (log.f64 x.re)) y.im) (*.f64 y.re (atan2.f64 x.im x.re))))
(cos.f64 (+.f64 (*.f64 (+.f64 (log.f64 -1) (log.f64 x.re)) y.im) (*.f64 y.re (atan2.f64 x.im x.re))))
(cos.f64 (+.f64 (*.f64 (+.f64 (log.f64 -1) (log.f64 x.re)) y.im) (*.f64 y.re (atan2.f64 x.im x.re))))
(cos.f64 (+.f64 (*.f64 (+.f64 (log.f64 -1) (log.f64 x.re)) y.im) (*.f64 y.re (atan2.f64 x.im x.re))))
(cos.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)))
(cos.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)))))))
(cos.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)))))))
(cos.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)))
(cos.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)))))))
(cos.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)))))))
(cos.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)))
(cos.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)))))))
(cos.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)))))))
(cos.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)))
(cos.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)))))))
(cos.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)))))))
(cos.f64 (+.f64 (*.f64 -1 (*.f64 y.im (log.f64 (/.f64 -1 x.re)))) (*.f64 y.re (atan2.f64 x.im x.re))))
(cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 -1 (*.f64 y.im (log.f64 (/.f64 -1 x.re))))))
(cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (neg.f64 (log.f64 (/.f64 -1 x.re))))))
(cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 (log.f64 (/.f64 -1 x.re)) (neg.f64 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))))
(cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 -1 (*.f64 y.im (log.f64 (/.f64 -1 x.re))))))
(cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (neg.f64 (log.f64 (/.f64 -1 x.re))))))
(cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 (log.f64 (/.f64 -1 x.re)) (neg.f64 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))))
(cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 -1 (*.f64 y.im (log.f64 (/.f64 -1 x.re))))))
(cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (neg.f64 (log.f64 (/.f64 -1 x.re))))))
(cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 (log.f64 (/.f64 -1 x.re)) (neg.f64 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))))
(cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 -1 (*.f64 y.im (log.f64 (/.f64 -1 x.re))))))
(cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (neg.f64 (log.f64 (/.f64 -1 x.re))))))
(cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 (log.f64 (/.f64 -1 x.re)) (neg.f64 y.im))))
(cos.f64 (*.f64 y.re (atan2.f64 x.im x.re)))
(+.f64 (*.f64 -1 (*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (*.f64 y.im (log.f64 (neg.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 -1 (*.f64 y.im (*.f64 (log.f64 (neg.f64 x.re)) (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re)))))))
(+.f64 (cos.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (neg.f64 (*.f64 y.im (log.f64 (neg.f64 x.re))))))
(+.f64 (cos.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 (neg.f64 x.re)) (neg.f64 y.im))))
(+.f64 (cos.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (*.f64 y.im (*.f64 (log.f64 (neg.f64 x.re)) (sin.f64 (*.f64 y.re (neg.f64 (atan2.f64 x.im x.re)))))))
(+.f64 (cos.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (*.f64 y.im (*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (neg.f64 (log.f64 (neg.f64 x.re))))))
(+.f64 (*.f64 -1 (*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (*.f64 y.im (log.f64 (neg.f64 x.re))))) (+.f64 (cos.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (*.f64 -1/2 (*.f64 (pow.f64 y.im 2) (*.f64 (cos.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (pow.f64 (log.f64 (neg.f64 x.re)) 2))))))
(+.f64 (cos.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (+.f64 (*.f64 -1/2 (*.f64 (cos.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (*.f64 (pow.f64 (log.f64 (neg.f64 x.re)) 2) (pow.f64 y.im 2)))) (*.f64 -1 (*.f64 y.im (*.f64 (log.f64 (neg.f64 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))) (neg.f64 (*.f64 y.im (log.f64 (neg.f64 x.re))))) (+.f64 (cos.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (*.f64 -1/2 (*.f64 (pow.f64 (log.f64 (neg.f64 x.re)) 2) (*.f64 (pow.f64 y.im 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 (log.f64 (neg.f64 x.re)) (neg.f64 y.im))) (+.f64 (cos.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (*.f64 (cos.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 (*.f64 (log.f64 (neg.f64 x.re)) (sin.f64 (*.f64 y.re (neg.f64 (atan2.f64 x.im x.re)))))) (*.f64 (cos.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 (*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (neg.f64 (log.f64 (neg.f64 x.re))))) (*.f64 (cos.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 -1 (*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (*.f64 y.im (log.f64 (neg.f64 x.re))))) (+.f64 (*.f64 1/6 (*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (*.f64 (pow.f64 y.im 3) (pow.f64 (log.f64 (neg.f64 x.re)) 3)))) (+.f64 (cos.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (*.f64 -1/2 (*.f64 (pow.f64 y.im 2) (*.f64 (cos.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (pow.f64 (log.f64 (neg.f64 x.re)) 2)))))))
(+.f64 (*.f64 -1 (*.f64 y.im (*.f64 (log.f64 (neg.f64 x.re)) (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re)))))) (+.f64 (cos.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (+.f64 (*.f64 -1/2 (*.f64 (cos.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (*.f64 (pow.f64 (log.f64 (neg.f64 x.re)) 2) (pow.f64 y.im 2)))) (*.f64 (sin.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 (cos.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (+.f64 (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 (log.f64 (neg.f64 x.re)) 2) (*.f64 (pow.f64 y.im 2) (cos.f64 (*.f64 y.re (atan2.f64 x.im x.re)))))) (*.f64 1/6 (*.f64 (pow.f64 (log.f64 (neg.f64 x.re)) 3) (*.f64 (pow.f64 y.im 3) (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))))))) (*.f64 (sin.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (neg.f64 (*.f64 y.im (log.f64 (neg.f64 x.re)))))))
(+.f64 (+.f64 (cos.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (*.f64 (cos.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 1/6 (*.f64 (pow.f64 y.im 3) (pow.f64 (log.f64 (neg.f64 x.re)) 3))) (*.f64 (log.f64 (neg.f64 x.re)) (neg.f64 y.im)))))
(+.f64 (+.f64 (cos.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (*.f64 (cos.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 (sin.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 (neg.f64 (log.f64 (neg.f64 x.re)))))))
(+.f64 (+.f64 (cos.f64 (*.f64 y.re (atan2.f64 x.im x.re))) (*.f64 (cos.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 (sin.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 (log.f64 (neg.f64 x.re)) (neg.f64 y.im)))))
(cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 (neg.f64 x.re)))))
(cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 (neg.f64 x.re)))))
(cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 (neg.f64 x.re)))))
(cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 (neg.f64 x.re)))))
(cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 (neg.f64 x.re)))))
(cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 (neg.f64 x.re)))))
(cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 (neg.f64 x.re)))))
(cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 (neg.f64 x.re)))))
(cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 (neg.f64 x.re)))))
(cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 (neg.f64 x.re)))))
(cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 (neg.f64 x.re)))))
(cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 (neg.f64 x.re)))))
(cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 (neg.f64 x.re)))))
(cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 (neg.f64 x.re)))))
(cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 (neg.f64 x.re)))))
(cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 (neg.f64 x.re)))))
(cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 (neg.f64 x.re)))))
(cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 (neg.f64 x.re)))))
(cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 (neg.f64 x.re)))))
(cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 (neg.f64 x.re)))))
(cos.f64 (*.f64 y.im (log.f64 (neg.f64 x.re))))
(+.f64 (*.f64 -1 (*.f64 (sin.f64 (*.f64 y.im (log.f64 (neg.f64 x.re)))) (*.f64 y.re (atan2.f64 x.im x.re)))) (cos.f64 (*.f64 y.im (log.f64 (neg.f64 x.re)))))
(+.f64 (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)) -1)))
(+.f64 (cos.f64 (*.f64 y.im (log.f64 (neg.f64 x.re)))) (*.f64 (sin.f64 (*.f64 y.im (log.f64 (neg.f64 x.re)))) (neg.f64 (*.f64 y.re (atan2.f64 x.im x.re)))))
(+.f64 (cos.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 (neg.f64 (atan2.f64 x.im x.re)))))
(+.f64 (cos.f64 (*.f64 y.im (log.f64 (neg.f64 x.re)))) (*.f64 y.re (*.f64 (atan2.f64 x.im x.re) (sin.f64 (*.f64 (log.f64 (neg.f64 x.re)) (neg.f64 y.im))))))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y.re 2) (*.f64 (pow.f64 (atan2.f64 x.im x.re) 2) (cos.f64 (*.f64 y.im (log.f64 (neg.f64 x.re))))))) (+.f64 (*.f64 -1 (*.f64 (sin.f64 (*.f64 y.im (log.f64 (neg.f64 x.re)))) (*.f64 y.re (atan2.f64 x.im x.re)))) (cos.f64 (*.f64 y.im (log.f64 (neg.f64 x.re))))))
(+.f64 (*.f64 (sin.f64 (*.f64 y.im (log.f64 (neg.f64 x.re)))) (*.f64 (*.f64 y.re (atan2.f64 x.im x.re)) -1)) (+.f64 (cos.f64 (*.f64 y.im (log.f64 (neg.f64 x.re)))) (*.f64 -1/2 (*.f64 (pow.f64 y.re 2) (*.f64 (cos.f64 (*.f64 y.im (log.f64 (neg.f64 x.re)))) (pow.f64 (atan2.f64 x.im x.re) 2))))))
(+.f64 (cos.f64 (*.f64 y.im (log.f64 (neg.f64 x.re)))) (+.f64 (*.f64 (sin.f64 (*.f64 y.im (log.f64 (neg.f64 x.re)))) (neg.f64 (*.f64 y.re (atan2.f64 x.im x.re)))) (*.f64 (*.f64 (cos.f64 (*.f64 y.im (log.f64 (neg.f64 x.re)))) (pow.f64 (atan2.f64 x.im x.re) 2)) (*.f64 (pow.f64 y.re 2) -1/2))))
(+.f64 (*.f64 (sin.f64 (*.f64 y.im (log.f64 (neg.f64 x.re)))) (neg.f64 (*.f64 y.re (atan2.f64 x.im x.re)))) (+.f64 (cos.f64 (*.f64 y.im (log.f64 (neg.f64 x.re)))) (*.f64 -1/2 (*.f64 (cos.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 (sin.f64 (*.f64 y.im (log.f64 (neg.f64 x.re)))) (*.f64 y.re (neg.f64 (atan2.f64 x.im x.re)))) (+.f64 (cos.f64 (*.f64 y.im (log.f64 (neg.f64 x.re)))) (*.f64 -1/2 (*.f64 (cos.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) (sin.f64 (*.f64 (log.f64 (neg.f64 x.re)) (neg.f64 y.im))))) (+.f64 (cos.f64 (*.f64 y.im (log.f64 (neg.f64 x.re)))) (*.f64 -1/2 (*.f64 (cos.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 -1/2 (*.f64 (pow.f64 y.re 2) (*.f64 (pow.f64 (atan2.f64 x.im x.re) 2) (cos.f64 (*.f64 y.im (log.f64 (neg.f64 x.re))))))) (+.f64 (*.f64 -1 (*.f64 (sin.f64 (*.f64 y.im (log.f64 (neg.f64 x.re)))) (*.f64 y.re (atan2.f64 x.im x.re)))) (+.f64 (*.f64 1/6 (*.f64 (sin.f64 (*.f64 y.im (log.f64 (neg.f64 x.re)))) (*.f64 (pow.f64 y.re 3) (pow.f64 (atan2.f64 x.im x.re) 3)))) (cos.f64 (*.f64 y.im (log.f64 (neg.f64 x.re)))))))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y.re 2) (*.f64 (cos.f64 (*.f64 y.im (log.f64 (neg.f64 x.re)))) (pow.f64 (atan2.f64 x.im x.re) 2)))) (+.f64 (*.f64 (sin.f64 (*.f64 y.im (log.f64 (neg.f64 x.re)))) (*.f64 (*.f64 y.re (atan2.f64 x.im x.re)) -1)) (+.f64 (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 (pow.f64 y.re 3) (pow.f64 (atan2.f64 x.im x.re) 3)) 1/6)))))
(+.f64 (*.f64 (sin.f64 (*.f64 y.im (log.f64 (neg.f64 x.re)))) (neg.f64 (*.f64 y.re (atan2.f64 x.im x.re)))) (+.f64 (*.f64 (*.f64 (cos.f64 (*.f64 y.im (log.f64 (neg.f64 x.re)))) (pow.f64 (atan2.f64 x.im x.re) 2)) (*.f64 (pow.f64 y.re 2) -1/2)) (+.f64 (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/6 (*.f64 (pow.f64 y.re 3) (pow.f64 (atan2.f64 x.im x.re) 3)))))))
(+.f64 (cos.f64 (*.f64 y.im (log.f64 (neg.f64 x.re)))) (+.f64 (*.f64 (sin.f64 (*.f64 y.im (log.f64 (neg.f64 x.re)))) (+.f64 (*.f64 1/6 (*.f64 (pow.f64 y.re 3) (pow.f64 (atan2.f64 x.im x.re) 3))) (neg.f64 (*.f64 y.re (atan2.f64 x.im x.re))))) (*.f64 -1/2 (*.f64 (cos.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 (cos.f64 (*.f64 y.im (log.f64 (neg.f64 x.re)))) (+.f64 (*.f64 -1/2 (*.f64 (cos.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 (*.f64 y.re (neg.f64 (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 (cos.f64 (*.f64 y.im (log.f64 (neg.f64 x.re)))) (+.f64 (*.f64 -1/2 (*.f64 (cos.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 (*.f64 (atan2.f64 x.im x.re) (neg.f64 y.re)) (*.f64 1/6 (*.f64 (pow.f64 y.re 3) (pow.f64 (atan2.f64 x.im x.re) 3)))))))
(cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 (neg.f64 x.re)))))
(cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 (neg.f64 x.re)))))
(cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 (neg.f64 x.re)))))
(cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 (neg.f64 x.re)))))
(cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 (neg.f64 x.re)))))
(cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 (neg.f64 x.re)))))
(cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 (neg.f64 x.re)))))
(cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 (neg.f64 x.re)))))
(+.f64 (cos.f64 (+.f64 (*.f64 (log.f64 (neg.f64 x.re)) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))) 0)
(cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 (neg.f64 x.re)))))
(+.f64 0 (cos.f64 (+.f64 (*.f64 (log.f64 (neg.f64 x.re)) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))))
(cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 (neg.f64 x.re)))))
(+.f64 (*.f64 (cos.f64 (+.f64 (*.f64 (log.f64 (neg.f64 x.re)) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))) 1/2) (*.f64 (cos.f64 (+.f64 (*.f64 (log.f64 (neg.f64 x.re)) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))) 1/2))
(cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 (neg.f64 x.re)))))
(-.f64 (cos.f64 (+.f64 (*.f64 (log.f64 (neg.f64 x.re)) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))) 0)
(cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 (neg.f64 x.re)))))
(*.f64 (cos.f64 (+.f64 (*.f64 (log.f64 (neg.f64 x.re)) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))) 1)
(cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 (neg.f64 x.re)))))
(*.f64 1 (cos.f64 (+.f64 (*.f64 (log.f64 (neg.f64 x.re)) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))))
(cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 (neg.f64 x.re)))))
(*.f64 2 (*.f64 (cos.f64 (+.f64 (*.f64 (log.f64 (neg.f64 x.re)) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))) 1/2))
(cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 (neg.f64 x.re)))))
(*.f64 (*.f64 (cos.f64 (+.f64 (*.f64 (log.f64 (neg.f64 x.re)) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))) 2) 1/2)
(cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 (neg.f64 x.re)))))
(*.f64 4 (/.f64 (cos.f64 (+.f64 (*.f64 (log.f64 (neg.f64 x.re)) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))) 4))
(cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 (neg.f64 x.re)))))
(*.f64 (*.f64 (cos.f64 (+.f64 (*.f64 (log.f64 (neg.f64 x.re)) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))) 4) 1/4)
(cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 (neg.f64 x.re)))))
(*.f64 1/2 (*.f64 (cos.f64 (+.f64 (*.f64 (log.f64 (neg.f64 x.re)) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))) 2))
(cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 (neg.f64 x.re)))))
(*.f64 (*.f64 (cos.f64 (+.f64 (*.f64 (log.f64 (neg.f64 x.re)) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))) 1/2) 2)
(cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 (neg.f64 x.re)))))
(*.f64 1/4 (*.f64 (cos.f64 (+.f64 (*.f64 (log.f64 (neg.f64 x.re)) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))) 4))
(cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 (neg.f64 x.re)))))
(*.f64 (/.f64 (cos.f64 (+.f64 (*.f64 (log.f64 (neg.f64 x.re)) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))) 4) 4)
(cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 (neg.f64 x.re)))))
(/.f64 (cos.f64 (+.f64 (*.f64 (log.f64 (neg.f64 x.re)) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))) 1)
(cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 (neg.f64 x.re)))))
(/.f64 (*.f64 (cos.f64 (+.f64 (*.f64 (log.f64 (neg.f64 x.re)) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))) 2) 2)
(cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 (neg.f64 x.re)))))
(/.f64 (*.f64 (cos.f64 (+.f64 (*.f64 (log.f64 (neg.f64 x.re)) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))) 4) 4)
(cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 (neg.f64 x.re)))))
(/.f64 (*.f64 2 (*.f64 (cos.f64 (+.f64 (*.f64 (log.f64 (neg.f64 x.re)) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))) 4)) 8)
(cos.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 (cos.f64 (+.f64 (*.f64 (log.f64 (neg.f64 x.re)) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))) 4))) 16)
(cos.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 (cos.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 (cos.f64 (+.f64 (*.f64 (log.f64 (neg.f64 x.re)) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))) 4)))) 32)
(cos.f64 (+.f64 (*.f64 y.re (atan2.f64 x.im x.re)) (*.f64 y.im (log.f64 (neg.f64 x.re)))))

eval1.7s (4.7%)

Compiler

Compiled 22734 to 6721 computations (70.4% saved)

prune899.0ms (2.6%)

Pruning

9 alts after pruning (9 fresh and 0 done)

PrunedKeptTotal
New5619570
Fresh000
Picked101
Done303
Total5659574
Error
3.5b
Counts
574 → 9
Alt Table
Click to see full alt table
StatusErrorProgram
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))) (cos.f64 (*.f64 y.im (log.f64 (neg.f64 x.re)))))
22.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))) 1)
40.7b
(*.f64 (exp.f64 (-.f64 (*.f64 (log.f64 (neg.f64 x.re)) y.re) (*.f64 (atan2.f64 x.im x.re) y.im))) (cos.f64 (*.f64 y.re (atan2.f64 x.im x.re))))
39.1b
(*.f64 (exp.f64 (-.f64 (*.f64 (log.f64 (neg.f64 x.im)) y.re) (*.f64 (atan2.f64 x.im x.re) y.im))) (cos.f64 (*.f64 y.re (atan2.f64 x.im x.re))))
33.1b
(*.f64 (exp.f64 (-.f64 (*.f64 (log.f64 x.re) y.re) (*.f64 (atan2.f64 x.im x.re) y.im))) (cos.f64 (+.f64 (*.f64 (log.f64 x.re) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))))
33.5b
(*.f64 (exp.f64 (-.f64 (*.f64 (log.f64 x.re) y.re) (*.f64 (atan2.f64 x.im x.re) y.im))) (cos.f64 (*.f64 y.re (atan2.f64 x.im x.re))))
51.4b
(*.f64 (exp.f64 (-.f64 (*.f64 (log.f64 x.im) y.re) (*.f64 (atan2.f64 x.im x.re) y.im))) (cos.f64 (+.f64 (*.f64 (log.f64 (neg.f64 x.re)) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))))
35.2b
(*.f64 (exp.f64 (-.f64 (*.f64 (log.f64 x.im) y.re) (*.f64 (atan2.f64 x.im x.re) y.im))) (cos.f64 (+.f64 (*.f64 (log.f64 x.im) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))))
35.3b
(*.f64 (exp.f64 (-.f64 (*.f64 (log.f64 x.im) y.re) (*.f64 (atan2.f64 x.im x.re) y.im))) (cos.f64 (*.f64 y.re (atan2.f64 x.im x.re))))
Compiler

Compiled 450 to 272 computations (39.6% saved)

localize24.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(-.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))
0.3b
(*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) y.re)
2.2b
(*.f64 (atan2.f64 x.im x.re) y.im)
31.5b
(sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))
Compiler

Compiled 113 to 17 computations (85% saved)

series34.0ms (0.1%)

Counts
2 → 84
Calls

21 calls:

TimeVariablePointExpression
21.0ms
y.re
@0
(*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) y.re)
5.0ms
y.im
@inf
(-.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))
1.0ms
y.im
@0
(-.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))
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.im
@inf
(*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) y.re)

rewrite65.0ms (0.2%)

Algorithm
batch-egg-rewrite
Rules
1626×rational.json-simplify-35
1274×bool.json-1
1274×bool.json-2
1260×rational.json-1
1260×rational.json-2
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01684
115484
238584
391084
4319284
Stop Event
node limit
Counts
2 → 30
Calls
Call 1
Inputs
(*.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) (*.f64 (atan2.f64 x.im x.re) y.im))
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))))))
((#(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) (neg.f64 (*.f64 (atan2.f64 x.im x.re) y.im)))))) (#(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) (*.f64 (atan2.f64 x.im x.re) y.im)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (-.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)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (neg.f64 (*.f64 (atan2.f64 x.im x.re) y.im)) (*.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 -1 (-.f64 1 (-.f64 (*.f64 (atan2.f64 x.im x.re) y.im) (*.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 1 (-.f64 (*.f64 (atan2.f64 x.im x.re) y.im) (*.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 (*.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)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (-.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)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (/.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)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.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)) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (*.f64 (atan2.f64 x.im x.re) y.im) (*.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 -1 (-.f64 (*.f64 (atan2.f64 x.im x.re) y.im) (*.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 1/2 (*.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)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.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)) 2) 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) (*.f64 (atan2.f64 x.im x.re) y.im)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.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)) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 (atan2.f64 x.im x.re) y.im) (*.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 (-.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)) 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 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) y.re))) -2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.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)) 4)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.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)) 4)) (*.f64 2 (*.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)) 4))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (-.f64 (*.f64 (atan2.f64 x.im x.re) y.im) (*.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 not (not (-.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))))))) (#(struct:change #<rule egg-rr> (2) ((x and (-.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 (*.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)))))) (#(struct:change #<rule egg-rr> (2) ((x or (-.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 (*.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)))))))

simplify134.0ms (0.4%)

Algorithm
egg-herbie
Rules
1368×rational.json-simplify-35
890×rational.json-simplify-1
882×rational.json-simplify-61
854×rational.json-simplify-41
762×rational.json-simplify-54
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
02087138
14906842
29276746
319186518
448306518
Stop Event
node limit
Counts
114 → 261
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 y.re (log.f64 x.im)) (*.f64 y.im (atan2.f64 x.im x.re)))
(-.f64 (+.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 y.im (atan2.f64 x.im x.re)))
(-.f64 (+.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 y.im (atan2.f64 x.im x.re)))
(-.f64 (+.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 y.im (atan2.f64 x.im x.re)))
(-.f64 (*.f64 -1 (*.f64 y.re (log.f64 (/.f64 1 x.re)))) (*.f64 (atan2.f64 x.im x.re) y.im))
(-.f64 (+.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 (atan2.f64 x.im x.re) y.im))
(-.f64 (+.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 (atan2.f64 x.im x.re) y.im))
(-.f64 (+.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 (atan2.f64 x.im x.re) y.im))
(-.f64 (*.f64 -1 (*.f64 y.re (log.f64 (/.f64 -1 x.re)))) (*.f64 (atan2.f64 x.im x.re) y.im))
(-.f64 (+.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 (atan2.f64 x.im x.re) y.im))
(-.f64 (+.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 (atan2.f64 x.im x.re) y.im))
(-.f64 (+.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 (atan2.f64 x.im x.re) y.im))
(-.f64 (*.f64 y.re (log.f64 x.re)) (*.f64 y.im (atan2.f64 x.im x.re)))
(-.f64 (+.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 y.im (atan2.f64 x.im x.re)))
(-.f64 (+.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 y.im (atan2.f64 x.im x.re)))
(-.f64 (+.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 y.im (atan2.f64 x.im x.re)))
(-.f64 (*.f64 -1 (*.f64 (log.f64 (/.f64 1 x.im)) y.re)) (*.f64 (atan2.f64 x.im x.re) y.im))
(-.f64 (+.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 (atan2.f64 x.im x.re) y.im))
(-.f64 (+.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 (atan2.f64 x.im x.re) y.im))
(-.f64 (+.f64 (*.f64 1/720 (/.f64 (*.f64 y.re (+.f64 (*.f64 30 (pow.f64 x.re 6)) (*.f64 90 (pow.f64 x.re 6)))) (pow.f64 x.im 6))) (+.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 (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 (*.f64 -1 (*.f64 y.re (log.f64 (/.f64 -1 x.im)))) (*.f64 1/2 (/.f64 (*.f64 (pow.f64 x.re 2) y.re) (pow.f64 x.im 2)))) (*.f64 y.im (atan2.f64 x.im x.re)))
(-.f64 (+.f64 (*.f64 -1 (*.f64 y.re (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 1/2 (/.f64 (*.f64 (pow.f64 x.re 2) y.re) (pow.f64 x.im 2))))) (*.f64 y.im (atan2.f64 x.im x.re)))
(-.f64 (+.f64 (*.f64 -1 (*.f64 y.re (log.f64 (/.f64 -1 x.im)))) (+.f64 (*.f64 1/720 (/.f64 (*.f64 y.re (+.f64 (*.f64 30 (pow.f64 x.re 6)) (*.f64 90 (pow.f64 x.re 6)))) (pow.f64 x.im 6))) (+.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 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 (sqrt.f64 (+.f64 (pow.f64 x.im 2) (pow.f64 x.re 2))))))
(+.f64 (*.f64 -1 (*.f64 y.im (atan2.f64 x.im x.re))) (*.f64 y.re (log.f64 (sqrt.f64 (+.f64 (pow.f64 x.im 2) (pow.f64 x.re 2))))))
(+.f64 (*.f64 -1 (*.f64 y.im (atan2.f64 x.im x.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 (*.f64 -1 (*.f64 y.im (atan2.f64 x.im x.re))) (*.f64 y.re (log.f64 (sqrt.f64 (+.f64 (pow.f64 x.im 2) (pow.f64 x.re 2))))))
(+.f64 (*.f64 -1 (*.f64 y.im (atan2.f64 x.im x.re))) (*.f64 y.re (log.f64 (sqrt.f64 (+.f64 (pow.f64 x.im 2) (pow.f64 x.re 2))))))
(+.f64 (*.f64 -1 (*.f64 y.im (atan2.f64 x.im x.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 (*.f64 -1 (*.f64 y.im (atan2.f64 x.im x.re))) (*.f64 y.re (log.f64 (sqrt.f64 (+.f64 (pow.f64 x.im 2) (pow.f64 x.re 2))))))
(+.f64 (*.f64 -1 (*.f64 y.im (atan2.f64 x.im x.re))) (*.f64 y.re (log.f64 (sqrt.f64 (+.f64 (pow.f64 x.im 2) (pow.f64 x.re 2))))))
(+.f64 (*.f64 -1 (*.f64 y.im (atan2.f64 x.im x.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 (*.f64 -1 (*.f64 y.im (atan2.f64 x.im x.re))) (*.f64 y.re (log.f64 (sqrt.f64 (+.f64 (pow.f64 x.im 2) (pow.f64 x.re 2))))))
(+.f64 (*.f64 -1 (*.f64 y.im (atan2.f64 x.im x.re))) (*.f64 y.re (log.f64 (sqrt.f64 (+.f64 (pow.f64 x.im 2) (pow.f64 x.re 2))))))
(+.f64 (*.f64 -1 (*.f64 y.im (atan2.f64 x.im x.re))) (*.f64 y.re (log.f64 (sqrt.f64 (+.f64 (pow.f64 x.im 2) (pow.f64 x.re 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 y.re (log.f64 (sqrt.f64 (+.f64 (pow.f64 x.im 2) (pow.f64 x.re 2))))))
(+.f64 (*.f64 -1 (*.f64 y.im (atan2.f64 x.im x.re))) (*.f64 y.re (log.f64 (sqrt.f64 (+.f64 (pow.f64 x.im 2) (pow.f64 x.re 2))))))
(+.f64 (*.f64 -1 (*.f64 y.im (atan2.f64 x.im x.re))) (*.f64 y.re (log.f64 (sqrt.f64 (+.f64 (pow.f64 x.im 2) (pow.f64 x.re 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 y.re (log.f64 (sqrt.f64 (+.f64 (pow.f64 x.im 2) (pow.f64 x.re 2))))))
(+.f64 (*.f64 -1 (*.f64 y.im (atan2.f64 x.im x.re))) (*.f64 y.re (log.f64 (sqrt.f64 (+.f64 (pow.f64 x.im 2) (pow.f64 x.re 2))))))
(+.f64 (*.f64 -1 (*.f64 y.im (atan2.f64 x.im x.re))) (*.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)
(+.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) y.re) (neg.f64 (*.f64 (atan2.f64 x.im x.re) y.im)))
(+.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)) 0)
(+.f64 0 (-.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 (neg.f64 (*.f64 (atan2.f64 x.im x.re) y.im)) (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) y.re))
(+.f64 -1 (-.f64 1 (-.f64 (*.f64 (atan2.f64 x.im x.re) y.im) (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) y.re))))
(+.f64 (-.f64 1 (-.f64 (*.f64 (atan2.f64 x.im x.re) y.im) (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) y.re))) -1)
(*.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)) 1)
(*.f64 1 (-.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 2 (/.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)) 2))
(*.f64 (*.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)) 2) 1/2)
(*.f64 (-.f64 (*.f64 (atan2.f64 x.im x.re) y.im) (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) y.re)) -1)
(*.f64 -1 (-.f64 (*.f64 (atan2.f64 x.im x.re) y.im) (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) y.re)))
(*.f64 1/2 (*.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)) 2))
(*.f64 (/.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)) 2) 2)
(/.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)) 1)
(/.f64 (*.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)) 2) 2)
(/.f64 (-.f64 (*.f64 (atan2.f64 x.im x.re) y.im) (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) y.re)) -1)
(/.f64 (*.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)) 4) 4)
(/.f64 (*.f64 2 (-.f64 (*.f64 (atan2.f64 x.im x.re) y.im) (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) y.re))) -2)
(/.f64 (*.f64 2 (*.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)) 4)) 8)
(/.f64 (+.f64 (*.f64 2 (*.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)) 4)) (*.f64 2 (*.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)) 4))) 16)
(neg.f64 (-.f64 (*.f64 (atan2.f64 x.im x.re) y.im) (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) y.re)))
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 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 -1/4 (/.f64 (*.f64 y.re (pow.f64 x.re 4)) (pow.f64 x.im 4)))))
(+.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 -1/4 (/.f64 (pow.f64 x.re 4) (pow.f64 x.im 4)))))
(*.f64 y.re (+.f64 (*.f64 1/2 (/.f64 (pow.f64 x.re 2) (pow.f64 x.im 2))) (+.f64 (log.f64 x.im) (*.f64 -1/4 (/.f64 (pow.f64 x.re 4) (pow.f64 x.im 4))))))
(+.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/4 (/.f64 (*.f64 y.re (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 1/6 (/.f64 (*.f64 y.re (pow.f64 x.re 6)) (pow.f64 x.im 6))))))
(+.f64 (*.f64 y.re (*.f64 1/6 (/.f64 (pow.f64 x.re 6) (pow.f64 x.im 6)))) (+.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 -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 y.re (*.f64 (log.f64 (/.f64 1 x.re)) -1))
(*.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 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 (pow.f64 x.im 2) (*.f64 (/.f64 y.re (pow.f64 x.re 2)) 1/2)) (*.f64 y.re (neg.f64 (log.f64 (/.f64 1 x.re)))))
(+.f64 (*.f64 y.re (*.f64 (/.f64 (pow.f64 x.im 2) (pow.f64 x.re 2)) 1/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/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 (*.f64 1/2 (*.f64 (pow.f64 x.im 2) (/.f64 y.re (pow.f64 x.re 2)))) (*.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/4 (*.f64 (pow.f64 x.im 4) (/.f64 y.re (pow.f64 x.re 4)))) (+.f64 (*.f64 (pow.f64 x.im 2) (*.f64 (/.f64 y.re (pow.f64 x.re 2)) 1/2)) (*.f64 y.re (neg.f64 (log.f64 (/.f64 1 x.re))))))
(+.f64 (*.f64 y.re (*.f64 (/.f64 (pow.f64 x.im 2) (pow.f64 x.re 2)) 1/2)) (+.f64 (*.f64 (/.f64 y.re (pow.f64 x.re 4)) (*.f64 -1/4 (pow.f64 x.im 4))) (*.f64 y.re (neg.f64 (log.f64 (/.f64 1 x.re))))))
(+.f64 (*.f64 1/2 (*.f64 (pow.f64 x.im 2) (/.f64 y.re (pow.f64 x.re 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 (/.f64 y.re (pow.f64 x.re 2)) (*.f64 1/2 (pow.f64 x.im 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 -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 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 (pow.f64 x.im 2) (*.f64 (/.f64 y.re (pow.f64 x.re 2)) 1/2)) (+.f64 (+.f64 (*.f64 -1/4 (*.f64 (pow.f64 x.im 4) (/.f64 y.re (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 y.re (*.f64 (/.f64 (pow.f64 x.im 2) (pow.f64 x.re 2)) 1/2)) (+.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/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 (*.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 -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 (*.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 -1 (*.f64 y.re (log.f64 (/.f64 -1 x.re)))))
(+.f64 (*.f64 (pow.f64 x.im 2) (*.f64 (/.f64 y.re (pow.f64 x.re 2)) 1/2)) (*.f64 (log.f64 (/.f64 -1 x.re)) (neg.f64 y.re)))
(+.f64 (*.f64 y.re (*.f64 (/.f64 (pow.f64 x.im 2) (pow.f64 x.re 2)) 1/2)) (*.f64 (log.f64 (/.f64 -1 x.re)) (neg.f64 y.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 (*.f64 y.re (log.f64 (/.f64 -1 x.re)))) (+.f64 (*.f64 1/2 (*.f64 (pow.f64 x.im 2) (/.f64 y.re (pow.f64 x.re 2)))) (*.f64 -1/4 (*.f64 (pow.f64 x.im 4) (/.f64 y.re (pow.f64 x.re 4))))))
(+.f64 (*.f64 -1/4 (*.f64 (pow.f64 x.im 4) (/.f64 y.re (pow.f64 x.re 4)))) (+.f64 (*.f64 (pow.f64 x.im 2) (*.f64 (/.f64 y.re (pow.f64 x.re 2)) 1/2)) (*.f64 (log.f64 (/.f64 -1 x.re)) (neg.f64 y.re))))
(+.f64 (*.f64 y.re (*.f64 (/.f64 (pow.f64 x.im 2) (pow.f64 x.re 2)) 1/2)) (+.f64 (*.f64 (/.f64 y.re (pow.f64 x.re 4)) (*.f64 -1/4 (pow.f64 x.im 4))) (*.f64 (log.f64 (/.f64 -1 x.re)) (neg.f64 y.re))))
(+.f64 (*.f64 1/2 (*.f64 (pow.f64 x.im 2) (/.f64 y.re (pow.f64 x.re 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 (/.f64 y.re (pow.f64 x.re 2)) (*.f64 1/2 (pow.f64 x.im 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 (*.f64 y.re (log.f64 (/.f64 -1 x.re)))) (+.f64 (*.f64 1/2 (*.f64 (pow.f64 x.im 2) (/.f64 y.re (pow.f64 x.re 2)))) (*.f64 -1/4 (*.f64 (pow.f64 x.im 4) (/.f64 y.re (pow.f64 x.re 4)))))))
(+.f64 (*.f64 1/720 (*.f64 y.re (/.f64 (*.f64 (pow.f64 x.im 6) 120) (pow.f64 x.re 6)))) (+.f64 (*.f64 -1/4 (*.f64 (pow.f64 x.im 4) (/.f64 y.re (pow.f64 x.re 4)))) (+.f64 (*.f64 (pow.f64 x.im 2) (*.f64 (/.f64 y.re (pow.f64 x.re 2)) 1/2)) (*.f64 (log.f64 (/.f64 -1 x.re)) (neg.f64 y.re)))))
(+.f64 (+.f64 (*.f64 y.re (*.f64 (/.f64 (pow.f64 x.im 2) (pow.f64 x.re 2)) 1/2)) (*.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/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 (pow.f64 x.im 2) (*.f64 (/.f64 y.re (pow.f64 x.re 2)) 1/2)) (*.f64 y.re (log.f64 x.re)))
(+.f64 (*.f64 y.re (*.f64 (/.f64 (pow.f64 x.im 2) (pow.f64 x.re 2)) 1/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/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 (log.f64 x.re))))
(+.f64 (*.f64 -1/4 (*.f64 (pow.f64 x.im 4) (/.f64 y.re (pow.f64 x.re 4)))) (+.f64 (*.f64 (pow.f64 x.im 2) (*.f64 (/.f64 y.re (pow.f64 x.re 2)) 1/2)) (*.f64 y.re (log.f64 x.re))))
(+.f64 (*.f64 y.re (*.f64 (/.f64 (pow.f64 x.im 2) (pow.f64 x.re 2)) 1/2)) (+.f64 (*.f64 (/.f64 y.re (pow.f64 x.re 4)) (*.f64 -1/4 (pow.f64 x.im 4))) (*.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 (+.f64 (log.f64 x.re) (*.f64 -1/4 (/.f64 (pow.f64 x.im 4) (pow.f64 x.re 4))))))
(+.f64 (*.f64 (/.f64 y.re (pow.f64 x.re 2)) (*.f64 1/2 (pow.f64 x.im 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/4 (*.f64 (pow.f64 x.im 4) (/.f64 y.re (pow.f64 x.re 4)))) (+.f64 (*.f64 (pow.f64 x.im 2) (*.f64 (/.f64 y.re (pow.f64 x.re 2)) 1/2)) (+.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 y.re (pow.f64 x.re 4)) (*.f64 -1/4 (pow.f64 x.im 4))) (+.f64 (*.f64 y.re (*.f64 (/.f64 (pow.f64 x.im 2) (pow.f64 x.re 2)) 1/2)) (+.f64 (*.f64 y.re (log.f64 x.re)) (*.f64 (/.f64 y.re (pow.f64 x.re 6)) (*.f64 (pow.f64 x.im 6) 1/6)))))
(+.f64 (*.f64 1/2 (*.f64 (pow.f64 x.im 2) (/.f64 y.re (pow.f64 x.re 2)))) (+.f64 (*.f64 y.re (*.f64 -1/4 (/.f64 (pow.f64 x.im 4) (pow.f64 x.re 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 -1/4 (*.f64 (pow.f64 x.im 4) (/.f64 y.re (pow.f64 x.re 4)))) (+.f64 (*.f64 (/.f64 y.re (pow.f64 x.re 2)) (*.f64 1/2 (pow.f64 x.im 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 -1 (*.f64 y.re (log.f64 (/.f64 1 x.im))))
(*.f64 (log.f64 (/.f64 1 x.im)) (neg.f64 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/2 (/.f64 (*.f64 y.re (pow.f64 x.re 2)) (pow.f64 x.im 2))) (*.f64 -1 (*.f64 y.re (log.f64 (/.f64 1 x.im)))))
(+.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 (/.f64 (pow.f64 x.re 2) (pow.f64 x.im 2)) (*.f64 1/2 y.re)) (*.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 (*.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 y.re (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 -1 (*.f64 y.re (log.f64 (/.f64 1 x.im))))))
(+.f64 (*.f64 -1/4 (/.f64 (*.f64 y.re (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/4 (/.f64 (pow.f64 x.re 4) (pow.f64 x.im 4)))) (+.f64 (*.f64 (/.f64 (pow.f64 x.re 2) (pow.f64 x.im 2)) (*.f64 1/2 y.re)) (*.f64 (log.f64 (/.f64 1 x.im)) (neg.f64 y.re))))
(+.f64 (*.f64 1/2 (*.f64 (pow.f64 x.re 2) (/.f64 y.re (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 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 (log.f64 (/.f64 1 x.im)) (neg.f64 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 (*.f64 -1/4 (/.f64 (*.f64 y.re (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 (*.f64 -1 (*.f64 y.re (log.f64 (/.f64 1 x.im)))) (*.f64 1/720 (*.f64 (+.f64 (*.f64 (pow.f64 x.re 6) 90) (*.f64 (pow.f64 x.re 6) 30)) (/.f64 y.re (pow.f64 x.im 6)))))))
(+.f64 (+.f64 (*.f64 -1/4 (/.f64 (*.f64 y.re (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 1/720 (/.f64 (*.f64 y.re (*.f64 (pow.f64 x.re 6) 120)) (pow.f64 x.im 6))))
(+.f64 (*.f64 (/.f64 (pow.f64 x.re 2) (pow.f64 x.im 2)) (*.f64 1/2 y.re)) (+.f64 (*.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 y.re (*.f64 1/720 (*.f64 120 (/.f64 (pow.f64 x.re 6) (pow.f64 x.im 6))))))))
(+.f64 (*.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/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 -1 (*.f64 (log.f64 (/.f64 -1 x.im)) y.re))
(*.f64 y.re (*.f64 (log.f64 (/.f64 -1 x.im)) -1))
(*.f64 y.re (neg.f64 (log.f64 (/.f64 -1 x.im))))
(*.f64 (log.f64 (/.f64 -1 x.im)) (neg.f64 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/2 (/.f64 (*.f64 y.re (pow.f64 x.re 2)) (pow.f64 x.im 2))) (*.f64 y.re (*.f64 (log.f64 (/.f64 -1 x.im)) -1)))
(+.f64 (*.f64 1/2 (/.f64 (*.f64 y.re (pow.f64 x.re 2)) (pow.f64 x.im 2))) (*.f64 y.re (neg.f64 (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 (*.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 y.re (*.f64 (log.f64 (/.f64 -1 x.im)) -1)) (*.f64 -1/4 (/.f64 (*.f64 y.re (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 (*.f64 -1/4 (/.f64 (*.f64 y.re (pow.f64 x.re 4)) (pow.f64 x.im 4))) (*.f64 y.re (neg.f64 (log.f64 (/.f64 -1 x.im))))))
(+.f64 (*.f64 (/.f64 (pow.f64 x.re 2) (pow.f64 x.im 2)) (*.f64 1/2 y.re)) (*.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 -1/4 (/.f64 (pow.f64 x.re 4) (pow.f64 x.im 4))) (+.f64 (neg.f64 (log.f64 (/.f64 -1 x.im))) (*.f64 1/2 (/.f64 (pow.f64 x.re 2) (pow.f64 x.im 2))))))
(+.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 (*.f64 y.re (pow.f64 x.re 4)) (pow.f64 x.im 4))) (+.f64 (*.f64 1/720 (*.f64 (+.f64 (*.f64 (pow.f64 x.re 6) 90) (*.f64 (pow.f64 x.re 6) 30)) (/.f64 y.re (pow.f64 x.im 6)))) (+.f64 (*.f64 1/2 (/.f64 (*.f64 y.re (pow.f64 x.re 2)) (pow.f64 x.im 2))) (*.f64 y.re (*.f64 (log.f64 (/.f64 -1 x.im)) -1)))))
(+.f64 (*.f64 1/2 (/.f64 (*.f64 y.re (pow.f64 x.re 2)) (pow.f64 x.im 2))) (+.f64 (*.f64 -1/4 (/.f64 (*.f64 y.re (pow.f64 x.re 4)) (pow.f64 x.im 4))) (+.f64 (*.f64 1/720 (/.f64 (*.f64 y.re (*.f64 (pow.f64 x.re 6) 120)) (pow.f64 x.im 6))) (*.f64 y.re (neg.f64 (log.f64 (/.f64 -1 x.im)))))))
(+.f64 (*.f64 (/.f64 (pow.f64 x.re 2) (pow.f64 x.im 2)) (*.f64 1/2 y.re)) (+.f64 (*.f64 y.re (*.f64 -1/4 (/.f64 (pow.f64 x.re 4) (pow.f64 x.im 4)))) (*.f64 y.re (+.f64 (neg.f64 (log.f64 (/.f64 -1 x.im))) (*.f64 1/720 (*.f64 120 (/.f64 (pow.f64 x.re 6) (pow.f64 x.im 6))))))))
(+.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 1/6 (/.f64 (pow.f64 x.re 6) (pow.f64 x.im 6))) (*.f64 1/2 (/.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 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 y.re (log.f64 x.im)) (*.f64 y.im (atan2.f64 x.im x.re)))
(-.f64 (+.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 y.im (atan2.f64 x.im x.re)))
(+.f64 (*.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 y.im (atan2.f64 x.im x.re))))
(+.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.im (atan2.f64 x.im x.re))))
(-.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.im (atan2.f64 x.im x.re)))
(-.f64 (+.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 y.im (atan2.f64 x.im x.re)))
(+.f64 (+.f64 (*.f64 1/2 (/.f64 (*.f64 y.re (pow.f64 x.re 2)) (pow.f64 x.im 2))) (*.f64 -1/4 (/.f64 (*.f64 y.re (pow.f64 x.re 4)) (pow.f64 x.im 4)))) (-.f64 (*.f64 y.re (log.f64 x.im)) (*.f64 y.im (atan2.f64 x.im x.re))))
(+.f64 (+.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 -1/4 (/.f64 (*.f64 y.re (pow.f64 x.re 4)) (pow.f64 x.im 4))) (*.f64 y.im (atan2.f64 x.im x.re))))
(+.f64 (*.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 -1/4 (/.f64 (pow.f64 x.re 4) (pow.f64 x.im 4)))) (*.f64 y.im (atan2.f64 x.im x.re))))
(-.f64 (*.f64 y.re (+.f64 (*.f64 1/2 (/.f64 (pow.f64 x.re 2) (pow.f64 x.im 2))) (+.f64 (log.f64 x.im) (*.f64 -1/4 (/.f64 (pow.f64 x.re 4) (pow.f64 x.im 4)))))) (*.f64 y.im (atan2.f64 x.im x.re)))
(-.f64 (+.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 y.im (atan2.f64 x.im x.re)))
(+.f64 (+.f64 (*.f64 -1/4 (/.f64 (*.f64 y.re (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 1/6 (/.f64 (*.f64 y.re (pow.f64 x.re 6)) (pow.f64 x.im 6))))) (-.f64 (*.f64 y.re (log.f64 x.im)) (*.f64 y.im (atan2.f64 x.im x.re))))
(+.f64 (*.f64 y.re (*.f64 1/6 (/.f64 (pow.f64 x.re 6) (pow.f64 x.im 6)))) (+.f64 (*.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 -1/4 (/.f64 (pow.f64 x.re 4) (pow.f64 x.im 4)))) (*.f64 y.im (atan2.f64 x.im x.re)))))
(+.f64 (*.f64 y.re (+.f64 (*.f64 1/2 (/.f64 (pow.f64 x.re 2) (pow.f64 x.im 2))) (+.f64 (log.f64 x.im) (*.f64 -1/4 (/.f64 (pow.f64 x.re 4) (pow.f64 x.im 4)))))) (-.f64 (*.f64 y.re (*.f64 1/6 (/.f64 (pow.f64 x.re 6) (pow.f64 x.im 6)))) (*.f64 y.im (atan2.f64 x.im x.re))))
(+.f64 (-.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.im (atan2.f64 x.im x.re))) (*.f64 y.re (+.f64 (log.f64 x.im) (*.f64 1/6 (/.f64 (pow.f64 x.re 6) (pow.f64 x.im 6))))))
(-.f64 (*.f64 -1 (*.f64 y.re (log.f64 (/.f64 1 x.re)))) (*.f64 (atan2.f64 x.im x.re) y.im))
(-.f64 (*.f64 y.re (*.f64 (log.f64 (/.f64 1 x.re)) -1)) (*.f64 y.im (atan2.f64 x.im x.re)))
(-.f64 (*.f64 y.re (neg.f64 (log.f64 (/.f64 1 x.re)))) (*.f64 y.im (atan2.f64 x.im x.re)))
(-.f64 (*.f64 (atan2.f64 x.im x.re) (neg.f64 y.im)) (*.f64 y.re (log.f64 (/.f64 1 x.re))))
(-.f64 (+.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 (atan2.f64 x.im x.re) y.im))
(+.f64 (*.f64 1/2 (*.f64 (pow.f64 x.im 2) (/.f64 y.re (pow.f64 x.re 2)))) (-.f64 (*.f64 y.re (*.f64 (log.f64 (/.f64 1 x.re)) -1)) (*.f64 y.im (atan2.f64 x.im x.re))))
(+.f64 (*.f64 (pow.f64 x.im 2) (*.f64 (/.f64 y.re (pow.f64 x.re 2)) 1/2)) (-.f64 (*.f64 y.re (neg.f64 (log.f64 (/.f64 1 x.re)))) (*.f64 y.im (atan2.f64 x.im x.re))))
(+.f64 (*.f64 y.re (*.f64 (/.f64 (pow.f64 x.im 2) (pow.f64 x.re 2)) 1/2)) (-.f64 (*.f64 y.re (neg.f64 (log.f64 (/.f64 1 x.re)))) (*.f64 y.im (atan2.f64 x.im x.re))))
(-.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.im (atan2.f64 x.im x.re)))
(-.f64 (+.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 (atan2.f64 x.im x.re) y.im))
(+.f64 (+.f64 (*.f64 1/2 (*.f64 (pow.f64 x.im 2) (/.f64 y.re (pow.f64 x.re 2)))) (*.f64 -1/4 (*.f64 (pow.f64 x.im 4) (/.f64 y.re (pow.f64 x.re 4))))) (-.f64 (*.f64 y.re (*.f64 (log.f64 (/.f64 1 x.re)) -1)) (*.f64 y.im (atan2.f64 x.im x.re))))
(+.f64 (+.f64 (*.f64 -1/4 (*.f64 (pow.f64 x.im 4) (/.f64 y.re (pow.f64 x.re 4)))) (*.f64 y.re (neg.f64 (log.f64 (/.f64 1 x.re))))) (-.f64 (*.f64 (pow.f64 x.im 2) (*.f64 (/.f64 y.re (pow.f64 x.re 2)) 1/2)) (*.f64 y.im (atan2.f64 x.im x.re))))
(+.f64 (*.f64 (/.f64 y.re (pow.f64 x.re 4)) (*.f64 -1/4 (pow.f64 x.im 4))) (+.f64 (*.f64 y.re (*.f64 (/.f64 (pow.f64 x.im 2) (pow.f64 x.re 2)) 1/2)) (-.f64 (*.f64 y.re (neg.f64 (log.f64 (/.f64 1 x.re)))) (*.f64 y.im (atan2.f64 x.im x.re)))))
(+.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 (*.f64 1/2 (*.f64 (pow.f64 x.im 2) (/.f64 y.re (pow.f64 x.re 2)))) (*.f64 y.im (atan2.f64 x.im x.re))))
(+.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 (*.f64 (/.f64 y.re (pow.f64 x.re 2)) (*.f64 1/2 (pow.f64 x.im 2))) (*.f64 y.im (atan2.f64 x.im x.re))))
(-.f64 (+.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 (atan2.f64 x.im x.re) y.im))
(+.f64 (+.f64 (+.f64 (*.f64 1/2 (*.f64 (pow.f64 x.im 2) (/.f64 y.re (pow.f64 x.re 2)))) (*.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/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 y.im (atan2.f64 x.im x.re))))
(+.f64 (*.f64 1/720 (*.f64 y.re (/.f64 (*.f64 (pow.f64 x.im 6) 120) (pow.f64 x.re 6)))) (+.f64 (+.f64 (*.f64 -1/4 (*.f64 (pow.f64 x.im 4) (/.f64 y.re (pow.f64 x.re 4)))) (*.f64 y.re (neg.f64 (log.f64 (/.f64 1 x.re))))) (-.f64 (*.f64 (pow.f64 x.im 2) (*.f64 (/.f64 y.re (pow.f64 x.re 2)) 1/2)) (*.f64 y.im (atan2.f64 x.im x.re)))))
(+.f64 (*.f64 y.re (*.f64 (/.f64 (pow.f64 x.im 2) (pow.f64 x.re 2)) 1/2)) (-.f64 (+.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/720 (*.f64 120 (/.f64 (pow.f64 x.im 6) (pow.f64 x.re 6))))))) (*.f64 y.im (atan2.f64 x.im x.re))))
(+.f64 (*.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 (*.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.im (atan2.f64 x.im x.re))))
(+.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 (+.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.im (atan2.f64 x.im x.re))))
(-.f64 (*.f64 -1 (*.f64 y.re (log.f64 (/.f64 -1 x.re)))) (*.f64 (atan2.f64 x.im x.re) y.im))
(-.f64 (*.f64 -1 (*.f64 y.re (log.f64 (/.f64 -1 x.re)))) (*.f64 y.im (atan2.f64 x.im x.re)))
(-.f64 (*.f64 (log.f64 (/.f64 -1 x.re)) (neg.f64 y.re)) (*.f64 y.im (atan2.f64 x.im x.re)))
(-.f64 (*.f64 (atan2.f64 x.im x.re) (neg.f64 y.im)) (*.f64 y.re (log.f64 (/.f64 -1 x.re))))
(-.f64 (*.f64 y.re (neg.f64 (log.f64 (/.f64 -1 x.re)))) (*.f64 y.im (atan2.f64 x.im x.re)))
(-.f64 (+.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 (atan2.f64 x.im x.re) y.im))
(+.f64 (*.f64 1/2 (*.f64 (pow.f64 x.im 2) (/.f64 y.re (pow.f64 x.re 2)))) (-.f64 (*.f64 -1 (*.f64 y.re (log.f64 (/.f64 -1 x.re)))) (*.f64 y.im (atan2.f64 x.im x.re))))
(+.f64 (*.f64 (log.f64 (/.f64 -1 x.re)) (neg.f64 y.re)) (-.f64 (*.f64 (pow.f64 x.im 2) (*.f64 (/.f64 y.re (pow.f64 x.re 2)) 1/2)) (*.f64 y.im (atan2.f64 x.im x.re))))
(+.f64 (*.f64 y.re (*.f64 (/.f64 (pow.f64 x.im 2) (pow.f64 x.re 2)) 1/2)) (-.f64 (*.f64 (log.f64 (/.f64 -1 x.re)) (neg.f64 y.re)) (*.f64 y.im (atan2.f64 x.im x.re))))
(-.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.im (atan2.f64 x.im x.re)))
(-.f64 (+.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 (atan2.f64 x.im x.re) y.im))
(+.f64 (+.f64 (*.f64 1/2 (*.f64 (pow.f64 x.im 2) (/.f64 y.re (pow.f64 x.re 2)))) (*.f64 -1/4 (*.f64 (pow.f64 x.im 4) (/.f64 y.re (pow.f64 x.re 4))))) (-.f64 (*.f64 -1 (*.f64 y.re (log.f64 (/.f64 -1 x.re)))) (*.f64 y.im (atan2.f64 x.im x.re))))
(+.f64 (*.f64 (log.f64 (/.f64 -1 x.re)) (neg.f64 y.re)) (-.f64 (+.f64 (*.f64 (pow.f64 x.im 2) (*.f64 (/.f64 y.re (pow.f64 x.re 2)) 1/2)) (*.f64 -1/4 (*.f64 (pow.f64 x.im 4) (/.f64 y.re (pow.f64 x.re 4))))) (*.f64 y.im (atan2.f64 x.im x.re))))
(+.f64 (*.f64 y.re (*.f64 (/.f64 (pow.f64 x.im 2) (pow.f64 x.re 2)) 1/2)) (+.f64 (*.f64 (/.f64 y.re (pow.f64 x.re 4)) (*.f64 -1/4 (pow.f64 x.im 4))) (-.f64 (*.f64 (log.f64 (/.f64 -1 x.re)) (neg.f64 y.re)) (*.f64 y.im (atan2.f64 x.im x.re)))))
(+.f64 (*.f64 1/2 (*.f64 (pow.f64 x.im 2) (/.f64 y.re (pow.f64 x.re 2)))) (-.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.im (atan2.f64 x.im x.re))))
(+.f64 (*.f64 (/.f64 y.re (pow.f64 x.re 2)) (*.f64 1/2 (pow.f64 x.im 2))) (-.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.im (atan2.f64 x.im x.re))))
(-.f64 (+.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 (atan2.f64 x.im x.re) y.im))
(+.f64 (+.f64 (*.f64 -1 (*.f64 y.re (log.f64 (/.f64 -1 x.re)))) (+.f64 (*.f64 1/2 (*.f64 (pow.f64 x.im 2) (/.f64 y.re (pow.f64 x.re 2)))) (*.f64 -1/4 (*.f64 (pow.f64 x.im 4) (/.f64 y.re (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 y.im (atan2.f64 x.im x.re))))
(+.f64 (*.f64 1/720 (*.f64 y.re (/.f64 (*.f64 (pow.f64 x.im 6) 120) (pow.f64 x.re 6)))) (+.f64 (*.f64 (log.f64 (/.f64 -1 x.re)) (neg.f64 y.re)) (-.f64 (+.f64 (*.f64 (pow.f64 x.im 2) (*.f64 (/.f64 y.re (pow.f64 x.re 2)) 1/2)) (*.f64 -1/4 (*.f64 (pow.f64 x.im 4) (/.f64 y.re (pow.f64 x.re 4))))) (*.f64 y.im (atan2.f64 x.im x.re)))))
(+.f64 (*.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 (/.f64 (pow.f64 x.im 2) (pow.f64 x.re 2)) 1/2)) (-.f64 (*.f64 (/.f64 y.re (pow.f64 x.re 4)) (*.f64 -1/4 (pow.f64 x.im 4))) (*.f64 y.im (atan2.f64 x.im x.re)))))
(+.f64 (*.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/4 (/.f64 (pow.f64 x.im 4) (pow.f64 x.re 4))))) (*.f64 y.im (atan2.f64 x.im x.re))))
(+.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 (*.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 y.im (atan2.f64 x.im x.re))))
(-.f64 (*.f64 y.re (log.f64 x.re)) (*.f64 y.im (atan2.f64 x.im x.re)))
(-.f64 (+.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 y.im (atan2.f64 x.im x.re)))
(+.f64 (*.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.im (atan2.f64 x.im x.re))))
(+.f64 (*.f64 (pow.f64 x.im 2) (*.f64 (/.f64 y.re (pow.f64 x.re 2)) 1/2)) (-.f64 (*.f64 y.re (log.f64 x.re)) (*.f64 y.im (atan2.f64 x.im x.re))))
(+.f64 (*.f64 y.re (*.f64 (/.f64 (pow.f64 x.im 2) (pow.f64 x.re 2)) 1/2)) (-.f64 (*.f64 y.re (log.f64 x.re)) (*.f64 y.im (atan2.f64 x.im x.re))))
(-.f64 (*.f64 y.re (+.f64 (log.f64 x.re) (*.f64 1/2 (/.f64 (pow.f64 x.im 2) (pow.f64 x.re 2))))) (*.f64 y.im (atan2.f64 x.im x.re)))
(-.f64 (+.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 y.im (atan2.f64 x.im x.re)))
(+.f64 (+.f64 (*.f64 -1/4 (*.f64 (pow.f64 x.im 4) (/.f64 y.re (pow.f64 x.re 4)))) (*.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.im (atan2.f64 x.im x.re))))
(+.f64 (+.f64 (*.f64 (pow.f64 x.im 2) (*.f64 (/.f64 y.re (pow.f64 x.re 2)) 1/2)) (*.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 y.im (atan2.f64 x.im x.re))))
(+.f64 (*.f64 (/.f64 y.re (pow.f64 x.re 4)) (*.f64 -1/4 (pow.f64 x.im 4))) (+.f64 (*.f64 y.re (*.f64 (/.f64 (pow.f64 x.im 2) (pow.f64 x.re 2)) 1/2)) (-.f64 (*.f64 y.re (log.f64 x.re)) (*.f64 y.im (atan2.f64 x.im x.re)))))
(+.f64 (*.f64 1/2 (*.f64 (pow.f64 x.im 2) (/.f64 y.re (pow.f64 x.re 2)))) (-.f64 (*.f64 y.re (+.f64 (log.f64 x.re) (*.f64 -1/4 (/.f64 (pow.f64 x.im 4) (pow.f64 x.re 4))))) (*.f64 y.im (atan2.f64 x.im x.re))))
(+.f64 (*.f64 y.re (+.f64 (log.f64 x.re) (*.f64 -1/4 (/.f64 (pow.f64 x.im 4) (pow.f64 x.re 4))))) (-.f64 (*.f64 (/.f64 y.re (pow.f64 x.re 2)) (*.f64 1/2 (pow.f64 x.im 2))) (*.f64 y.im (atan2.f64 x.im x.re))))
(-.f64 (+.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 y.im (atan2.f64 x.im x.re)))
(-.f64 (+.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 y.im (atan2.f64 x.im x.re)))
(-.f64 (+.f64 (*.f64 -1/4 (*.f64 (pow.f64 x.im 4) (/.f64 y.re (pow.f64 x.re 4)))) (+.f64 (*.f64 (pow.f64 x.im 2) (*.f64 (/.f64 y.re (pow.f64 x.re 2)) 1/2)) (+.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 y.im (atan2.f64 x.im x.re)))
(+.f64 (*.f64 (/.f64 y.re (pow.f64 x.re 4)) (*.f64 -1/4 (pow.f64 x.im 4))) (+.f64 (+.f64 (*.f64 y.re (log.f64 x.re)) (*.f64 (/.f64 y.re (pow.f64 x.re 6)) (*.f64 (pow.f64 x.im 6) 1/6))) (-.f64 (*.f64 y.re (*.f64 (/.f64 (pow.f64 x.im 2) (pow.f64 x.re 2)) 1/2)) (*.f64 y.im (atan2.f64 x.im x.re)))))
(+.f64 (+.f64 (*.f64 1/2 (*.f64 (pow.f64 x.im 2) (/.f64 y.re (pow.f64 x.re 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/6 (*.f64 (pow.f64 x.im 6) (/.f64 y.re (pow.f64 x.re 6)))) (*.f64 y.im (atan2.f64 x.im x.re))))
(+.f64 (*.f64 (/.f64 y.re (pow.f64 x.re 2)) (*.f64 1/2 (pow.f64 x.im 2))) (+.f64 (*.f64 y.re (+.f64 (log.f64 x.re) (*.f64 -1/4 (/.f64 (pow.f64 x.im 4) (pow.f64 x.re 4))))) (-.f64 (*.f64 (/.f64 (pow.f64 x.im 6) (pow.f64 x.re 6)) (*.f64 y.re 1/6)) (*.f64 y.im (atan2.f64 x.im x.re)))))
(-.f64 (*.f64 -1 (*.f64 (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 (log.f64 (/.f64 1 x.im)) (neg.f64 y.re)) (*.f64 y.im (atan2.f64 x.im x.re)))
(-.f64 (+.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 (atan2.f64 x.im x.re) y.im))
(+.f64 (*.f64 -1 (*.f64 y.re (log.f64 (/.f64 1 x.im)))) (-.f64 (*.f64 1/2 (/.f64 (*.f64 y.re (pow.f64 x.re 2)) (pow.f64 x.im 2))) (*.f64 y.im (atan2.f64 x.im x.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)) (neg.f64 y.re)) (*.f64 y.im (atan2.f64 x.im x.re))))
(+.f64 (*.f64 (/.f64 (pow.f64 x.re 2) (pow.f64 x.im 2)) (*.f64 1/2 y.re)) (-.f64 (*.f64 (log.f64 (/.f64 1 x.im)) (neg.f64 y.re)) (*.f64 y.im (atan2.f64 x.im x.re))))
(-.f64 (*.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.im (atan2.f64 x.im x.re)))
(-.f64 (+.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 (atan2.f64 x.im x.re) y.im))
(+.f64 (+.f64 (*.f64 1/2 (/.f64 (*.f64 y.re (pow.f64 x.re 2)) (pow.f64 x.im 2))) (*.f64 -1 (*.f64 y.re (log.f64 (/.f64 1 x.im))))) (-.f64 (*.f64 -1/4 (/.f64 (*.f64 y.re (pow.f64 x.re 4)) (pow.f64 x.im 4))) (*.f64 y.im (atan2.f64 x.im x.re))))
(+.f64 (*.f64 -1/4 (/.f64 (*.f64 y.re (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 (*.f64 (log.f64 (/.f64 1 x.im)) (neg.f64 y.re)) (*.f64 y.im (atan2.f64 x.im x.re)))))
(+.f64 (*.f64 y.re (*.f64 -1/4 (/.f64 (pow.f64 x.re 4) (pow.f64 x.im 4)))) (+.f64 (*.f64 (/.f64 (pow.f64 x.re 2) (pow.f64 x.im 2)) (*.f64 1/2 y.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/2 (*.f64 (pow.f64 x.re 2) (/.f64 y.re (pow.f64 x.im 2)))) (-.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.im (atan2.f64 x.im x.re))))
(+.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 (*.f64 (log.f64 (/.f64 1 x.im)) (neg.f64 y.re)) (*.f64 y.im (atan2.f64 x.im x.re))))
(-.f64 (+.f64 (*.f64 1/720 (/.f64 (*.f64 y.re (+.f64 (*.f64 30 (pow.f64 x.re 6)) (*.f64 90 (pow.f64 x.re 6)))) (pow.f64 x.im 6))) (+.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 (atan2.f64 x.im x.re) y.im))
(+.f64 (+.f64 (*.f64 -1/4 (/.f64 (*.f64 y.re (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 -1 (*.f64 y.re (log.f64 (/.f64 1 x.im)))))) (-.f64 (*.f64 1/720 (*.f64 (+.f64 (*.f64 (pow.f64 x.re 6) 90) (*.f64 (pow.f64 x.re 6) 30)) (/.f64 y.re (pow.f64 x.im 6)))) (*.f64 y.im (atan2.f64 x.im x.re))))
(+.f64 (+.f64 (*.f64 -1/4 (/.f64 (*.f64 y.re (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 1/720 (/.f64 (*.f64 y.re (*.f64 (pow.f64 x.re 6) 120)) (pow.f64 x.im 6))) (*.f64 y.im (atan2.f64 x.im x.re))))
(+.f64 (*.f64 (/.f64 (pow.f64 x.re 2) (pow.f64 x.im 2)) (*.f64 1/2 y.re)) (+.f64 (+.f64 (*.f64 y.re (*.f64 -1/4 (/.f64 (pow.f64 x.re 4) (pow.f64 x.im 4)))) (*.f64 (log.f64 (/.f64 1 x.im)) (neg.f64 y.re))) (-.f64 (*.f64 y.re (*.f64 1/720 (*.f64 120 (/.f64 (pow.f64 x.re 6) (pow.f64 x.im 6))))) (*.f64 y.im (atan2.f64 x.im x.re)))))
(+.f64 (*.f64 y.re (+.f64 (*.f64 1/6 (/.f64 (pow.f64 x.re 6) (pow.f64 x.im 6))) (*.f64 1/2 (/.f64 (pow.f64 x.re 2) (pow.f64 x.im 2))))) (-.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.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 (*.f64 -1 (*.f64 y.re (log.f64 (/.f64 -1 x.im)))) (*.f64 1/2 (/.f64 (*.f64 (pow.f64 x.re 2) y.re) (pow.f64 x.im 2)))) (*.f64 y.im (atan2.f64 x.im x.re)))
(+.f64 (*.f64 1/2 (/.f64 (*.f64 y.re (pow.f64 x.re 2)) (pow.f64 x.im 2))) (-.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 (*.f64 1/2 (/.f64 (*.f64 y.re (pow.f64 x.re 2)) (pow.f64 x.im 2))) (*.f64 y.im (atan2.f64 x.im x.re))))
(-.f64 (*.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.im (atan2.f64 x.im x.re)))
(-.f64 (+.f64 (*.f64 -1 (*.f64 y.re (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 1/2 (/.f64 (*.f64 (pow.f64 x.re 2) y.re) (pow.f64 x.im 2))))) (*.f64 y.im (atan2.f64 x.im x.re)))
(+.f64 (+.f64 (*.f64 1/2 (/.f64 (*.f64 y.re (pow.f64 x.re 2)) (pow.f64 x.im 2))) (*.f64 -1/4 (/.f64 (*.f64 y.re (pow.f64 x.re 4)) (pow.f64 x.im 4)))) (-.f64 (*.f64 y.re (*.f64 (log.f64 (/.f64 -1 x.im)) -1)) (*.f64 y.im (atan2.f64 x.im x.re))))
(+.f64 (*.f64 -1/4 (/.f64 (*.f64 y.re (pow.f64 x.re 4)) (pow.f64 x.im 4))) (+.f64 (*.f64 y.re (neg.f64 (log.f64 (/.f64 -1 x.im)))) (-.f64 (*.f64 1/2 (/.f64 (*.f64 y.re (pow.f64 x.re 2)) (pow.f64 x.im 2))) (*.f64 y.im (atan2.f64 x.im x.re)))))
(+.f64 (*.f64 (/.f64 (pow.f64 x.re 2) (pow.f64 x.im 2)) (*.f64 1/2 y.re)) (-.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.im (atan2.f64 x.im x.re))))
(-.f64 (*.f64 y.re (+.f64 (*.f64 -1/4 (/.f64 (pow.f64 x.re 4) (pow.f64 x.im 4))) (+.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.im (atan2.f64 x.im x.re)))
(-.f64 (+.f64 (*.f64 -1 (*.f64 y.re (log.f64 (/.f64 -1 x.im)))) (+.f64 (*.f64 1/720 (/.f64 (*.f64 y.re (+.f64 (*.f64 30 (pow.f64 x.re 6)) (*.f64 90 (pow.f64 x.re 6)))) (pow.f64 x.im 6))) (+.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 y.im (atan2.f64 x.im x.re)))
(+.f64 (+.f64 (*.f64 -1/4 (/.f64 (*.f64 y.re (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 1/720 (*.f64 (+.f64 (*.f64 (pow.f64 x.re 6) 90) (*.f64 (pow.f64 x.re 6) 30)) (/.f64 y.re (pow.f64 x.im 6)))))) (-.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 (+.f64 (*.f64 1/2 (/.f64 (*.f64 y.re (pow.f64 x.re 2)) (pow.f64 x.im 2))) (+.f64 (*.f64 1/720 (/.f64 (*.f64 y.re (*.f64 (pow.f64 x.re 6) 120)) (pow.f64 x.im 6))) (*.f64 -1/4 (/.f64 (*.f64 y.re (pow.f64 x.re 4)) (pow.f64 x.im 4))))) (*.f64 y.im (atan2.f64 x.im x.re))))
(+.f64 (*.f64 y.re (+.f64 (neg.f64 (log.f64 (/.f64 -1 x.im))) (*.f64 1/720 (*.f64 120 (/.f64 (pow.f64 x.re 6) (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 (/.f64 (pow.f64 x.re 2) (pow.f64 x.im 2)) (*.f64 1/2 y.re)) (*.f64 y.im (atan2.f64 x.im x.re)))))
(+.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 (*.f64 y.re (+.f64 (*.f64 1/6 (/.f64 (pow.f64 x.re 6) (pow.f64 x.im 6))) (*.f64 1/2 (/.f64 (pow.f64 x.re 2) (pow.f64 x.im 2))))) (*.f64 y.im (atan2.f64 x.im x.re))))
(+.f64 (*.f64 y.re (+.f64 (*.f64 -1/4 (/.f64 (pow.f64 x.re 4) (pow.f64 x.im 4))) (+.f64 (neg.f64 (log.f64 (/.f64 -1 x.im))) (*.f64 1/2 (/.f64 (pow.f64 x.re 2) (pow.f64 x.im 2)))))) (-.f64 (*.f64 y.re (*.f64 1/6 (/.f64 (pow.f64 x.re 6) (pow.f64 x.im 6)))) (*.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 (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 (sqrt.f64 (+.f64 (pow.f64 x.im 2) (pow.f64 x.re 2))))))
(+.f64 (*.f64 y.re (log.f64 (sqrt.f64 (+.f64 (pow.f64 x.re 2) (pow.f64 x.im 2))))) (neg.f64 (*.f64 y.im (atan2.f64 x.im x.re))))
(+.f64 (*.f64 y.re (log.f64 (sqrt.f64 (+.f64 (pow.f64 x.re 2) (pow.f64 x.im 2))))) (*.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 (sqrt.f64 (+.f64 (pow.f64 x.im 2) (pow.f64 x.re 2))))))
(+.f64 (*.f64 y.re (log.f64 (sqrt.f64 (+.f64 (pow.f64 x.re 2) (pow.f64 x.im 2))))) (neg.f64 (*.f64 y.im (atan2.f64 x.im x.re))))
(+.f64 (*.f64 y.re (log.f64 (sqrt.f64 (+.f64 (pow.f64 x.re 2) (pow.f64 x.im 2))))) (*.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 (sqrt.f64 (+.f64 (pow.f64 x.im 2) (pow.f64 x.re 2))))))
(+.f64 (*.f64 y.re (log.f64 (sqrt.f64 (+.f64 (pow.f64 x.re 2) (pow.f64 x.im 2))))) (neg.f64 (*.f64 y.im (atan2.f64 x.im x.re))))
(+.f64 (*.f64 y.re (log.f64 (sqrt.f64 (+.f64 (pow.f64 x.re 2) (pow.f64 x.im 2))))) (*.f64 (atan2.f64 x.im x.re) (neg.f64 y.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 (*.f64 -1 (*.f64 y.im (atan2.f64 x.im x.re))) (*.f64 y.re (log.f64 (sqrt.f64 (+.f64 (pow.f64 x.im 2) (pow.f64 x.re 2))))))
(+.f64 (*.f64 y.re (log.f64 (sqrt.f64 (+.f64 (pow.f64 x.re 2) (pow.f64 x.im 2))))) (neg.f64 (*.f64 y.im (atan2.f64 x.im x.re))))
(+.f64 (*.f64 y.re (log.f64 (sqrt.f64 (+.f64 (pow.f64 x.re 2) (pow.f64 x.im 2))))) (*.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 (sqrt.f64 (+.f64 (pow.f64 x.im 2) (pow.f64 x.re 2))))))
(+.f64 (*.f64 y.re (log.f64 (sqrt.f64 (+.f64 (pow.f64 x.re 2) (pow.f64 x.im 2))))) (neg.f64 (*.f64 y.im (atan2.f64 x.im x.re))))
(+.f64 (*.f64 y.re (log.f64 (sqrt.f64 (+.f64 (pow.f64 x.re 2) (pow.f64 x.im 2))))) (*.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 (sqrt.f64 (+.f64 (pow.f64 x.im 2) (pow.f64 x.re 2))))))
(+.f64 (*.f64 y.re (log.f64 (sqrt.f64 (+.f64 (pow.f64 x.re 2) (pow.f64 x.im 2))))) (neg.f64 (*.f64 y.im (atan2.f64 x.im x.re))))
(+.f64 (*.f64 y.re (log.f64 (sqrt.f64 (+.f64 (pow.f64 x.re 2) (pow.f64 x.im 2))))) (*.f64 (atan2.f64 x.im x.re) (neg.f64 y.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 (*.f64 -1 (*.f64 y.im (atan2.f64 x.im x.re))) (*.f64 y.re (log.f64 (sqrt.f64 (+.f64 (pow.f64 x.im 2) (pow.f64 x.re 2))))))
(+.f64 (*.f64 y.re (log.f64 (sqrt.f64 (+.f64 (pow.f64 x.re 2) (pow.f64 x.im 2))))) (neg.f64 (*.f64 y.im (atan2.f64 x.im x.re))))
(+.f64 (*.f64 y.re (log.f64 (sqrt.f64 (+.f64 (pow.f64 x.re 2) (pow.f64 x.im 2))))) (*.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 (sqrt.f64 (+.f64 (pow.f64 x.im 2) (pow.f64 x.re 2))))))
(+.f64 (*.f64 y.re (log.f64 (sqrt.f64 (+.f64 (pow.f64 x.re 2) (pow.f64 x.im 2))))) (neg.f64 (*.f64 y.im (atan2.f64 x.im x.re))))
(+.f64 (*.f64 y.re (log.f64 (sqrt.f64 (+.f64 (pow.f64 x.re 2) (pow.f64 x.im 2))))) (*.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 (sqrt.f64 (+.f64 (pow.f64 x.im 2) (pow.f64 x.re 2))))))
(+.f64 (*.f64 y.re (log.f64 (sqrt.f64 (+.f64 (pow.f64 x.re 2) (pow.f64 x.im 2))))) (neg.f64 (*.f64 y.im (atan2.f64 x.im x.re))))
(+.f64 (*.f64 y.re (log.f64 (sqrt.f64 (+.f64 (pow.f64 x.re 2) (pow.f64 x.im 2))))) (*.f64 (atan2.f64 x.im x.re) (neg.f64 y.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 (*.f64 -1 (*.f64 y.im (atan2.f64 x.im x.re))) (*.f64 y.re (log.f64 (sqrt.f64 (+.f64 (pow.f64 x.im 2) (pow.f64 x.re 2))))))
(+.f64 (*.f64 y.re (log.f64 (sqrt.f64 (+.f64 (pow.f64 x.re 2) (pow.f64 x.im 2))))) (neg.f64 (*.f64 y.im (atan2.f64 x.im x.re))))
(+.f64 (*.f64 y.re (log.f64 (sqrt.f64 (+.f64 (pow.f64 x.re 2) (pow.f64 x.im 2))))) (*.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 (sqrt.f64 (+.f64 (pow.f64 x.im 2) (pow.f64 x.re 2))))))
(+.f64 (*.f64 y.re (log.f64 (sqrt.f64 (+.f64 (pow.f64 x.re 2) (pow.f64 x.im 2))))) (neg.f64 (*.f64 y.im (atan2.f64 x.im x.re))))
(+.f64 (*.f64 y.re (log.f64 (sqrt.f64 (+.f64 (pow.f64 x.re 2) (pow.f64 x.im 2))))) (*.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 (sqrt.f64 (+.f64 (pow.f64 x.im 2) (pow.f64 x.re 2))))))
(+.f64 (*.f64 y.re (log.f64 (sqrt.f64 (+.f64 (pow.f64 x.re 2) (pow.f64 x.im 2))))) (neg.f64 (*.f64 y.im (atan2.f64 x.im x.re))))
(+.f64 (*.f64 y.re (log.f64 (sqrt.f64 (+.f64 (pow.f64 x.re 2) (pow.f64 x.im 2))))) (*.f64 (atan2.f64 x.im x.re) (neg.f64 y.im)))
(*.f64 -1 (*.f64 y.im (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 -1 (*.f64 y.im (atan2.f64 x.im x.re))) (*.f64 y.re (log.f64 (sqrt.f64 (+.f64 (pow.f64 x.im 2) (pow.f64 x.re 2))))))
(+.f64 (*.f64 y.re (log.f64 (sqrt.f64 (+.f64 (pow.f64 x.re 2) (pow.f64 x.im 2))))) (neg.f64 (*.f64 y.im (atan2.f64 x.im x.re))))
(+.f64 (*.f64 y.re (log.f64 (sqrt.f64 (+.f64 (pow.f64 x.re 2) (pow.f64 x.im 2))))) (*.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 (sqrt.f64 (+.f64 (pow.f64 x.im 2) (pow.f64 x.re 2))))))
(+.f64 (*.f64 y.re (log.f64 (sqrt.f64 (+.f64 (pow.f64 x.re 2) (pow.f64 x.im 2))))) (neg.f64 (*.f64 y.im (atan2.f64 x.im x.re))))
(+.f64 (*.f64 y.re (log.f64 (sqrt.f64 (+.f64 (pow.f64 x.re 2) (pow.f64 x.im 2))))) (*.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 (sqrt.f64 (+.f64 (pow.f64 x.im 2) (pow.f64 x.re 2))))))
(+.f64 (*.f64 y.re (log.f64 (sqrt.f64 (+.f64 (pow.f64 x.re 2) (pow.f64 x.im 2))))) (neg.f64 (*.f64 y.im (atan2.f64 x.im x.re))))
(+.f64 (*.f64 y.re (log.f64 (sqrt.f64 (+.f64 (pow.f64 x.re 2) (pow.f64 x.im 2))))) (*.f64 (atan2.f64 x.im x.re) (neg.f64 y.im)))
(*.f64 -1 (*.f64 y.im (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 -1 (*.f64 y.im (atan2.f64 x.im x.re))) (*.f64 y.re (log.f64 (sqrt.f64 (+.f64 (pow.f64 x.im 2) (pow.f64 x.re 2))))))
(+.f64 (*.f64 y.re (log.f64 (sqrt.f64 (+.f64 (pow.f64 x.re 2) (pow.f64 x.im 2))))) (neg.f64 (*.f64 y.im (atan2.f64 x.im x.re))))
(+.f64 (*.f64 y.re (log.f64 (sqrt.f64 (+.f64 (pow.f64 x.re 2) (pow.f64 x.im 2))))) (*.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 (sqrt.f64 (+.f64 (pow.f64 x.im 2) (pow.f64 x.re 2))))))
(+.f64 (*.f64 y.re (log.f64 (sqrt.f64 (+.f64 (pow.f64 x.re 2) (pow.f64 x.im 2))))) (neg.f64 (*.f64 y.im (atan2.f64 x.im x.re))))
(+.f64 (*.f64 y.re (log.f64 (sqrt.f64 (+.f64 (pow.f64 x.re 2) (pow.f64 x.im 2))))) (*.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 (sqrt.f64 (+.f64 (pow.f64 x.im 2) (pow.f64 x.re 2))))))
(+.f64 (*.f64 y.re (log.f64 (sqrt.f64 (+.f64 (pow.f64 x.re 2) (pow.f64 x.im 2))))) (neg.f64 (*.f64 y.im (atan2.f64 x.im x.re))))
(+.f64 (*.f64 y.re (log.f64 (sqrt.f64 (+.f64 (pow.f64 x.re 2) (pow.f64 x.im 2))))) (*.f64 (atan2.f64 x.im x.re) (neg.f64 y.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 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)))))
(+.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) y.re) (neg.f64 (*.f64 (atan2.f64 x.im x.re) y.im)))
(+.f64 (*.f64 y.re (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))))) (neg.f64 (*.f64 y.im (atan2.f64 x.im x.re))))
(-.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.im x.re)))
(+.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)) 0)
(+.f64 (*.f64 y.re (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))))) (neg.f64 (*.f64 y.im (atan2.f64 x.im x.re))))
(-.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.im x.re)))
(+.f64 0 (-.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 (*.f64 y.re (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))))) (neg.f64 (*.f64 y.im (atan2.f64 x.im x.re))))
(-.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.im x.re)))
(+.f64 (neg.f64 (*.f64 (atan2.f64 x.im x.re) y.im)) (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) y.re))
(+.f64 (*.f64 y.re (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))))) (neg.f64 (*.f64 y.im (atan2.f64 x.im x.re))))
(-.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.im x.re)))
(+.f64 -1 (-.f64 1 (-.f64 (*.f64 (atan2.f64 x.im x.re) y.im) (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) y.re))))
(+.f64 (*.f64 y.re (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))))) (neg.f64 (*.f64 y.im (atan2.f64 x.im x.re))))
(-.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.im x.re)))
(+.f64 (-.f64 1 (-.f64 (*.f64 (atan2.f64 x.im x.re) y.im) (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) y.re))) -1)
(+.f64 (*.f64 y.re (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))))) (neg.f64 (*.f64 y.im (atan2.f64 x.im x.re))))
(-.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.im x.re)))
(*.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)) 1)
(+.f64 (*.f64 y.re (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))))) (neg.f64 (*.f64 y.im (atan2.f64 x.im x.re))))
(-.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.im x.re)))
(*.f64 1 (-.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 (*.f64 y.re (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))))) (neg.f64 (*.f64 y.im (atan2.f64 x.im x.re))))
(-.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.im x.re)))
(*.f64 2 (/.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)) 2))
(+.f64 (*.f64 y.re (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))))) (neg.f64 (*.f64 y.im (atan2.f64 x.im x.re))))
(-.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.im x.re)))
(*.f64 (*.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)) 2) 1/2)
(+.f64 (*.f64 y.re (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))))) (neg.f64 (*.f64 y.im (atan2.f64 x.im x.re))))
(-.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.im x.re)))
(*.f64 (-.f64 (*.f64 (atan2.f64 x.im x.re) y.im) (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) y.re)) -1)
(+.f64 (*.f64 y.re (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))))) (neg.f64 (*.f64 y.im (atan2.f64 x.im x.re))))
(-.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.im x.re)))
(*.f64 -1 (-.f64 (*.f64 (atan2.f64 x.im x.re) y.im) (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) y.re)))
(+.f64 (*.f64 y.re (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))))) (neg.f64 (*.f64 y.im (atan2.f64 x.im x.re))))
(-.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.im x.re)))
(*.f64 1/2 (*.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)) 2))
(+.f64 (*.f64 y.re (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))))) (neg.f64 (*.f64 y.im (atan2.f64 x.im x.re))))
(-.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.im x.re)))
(*.f64 (/.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)) 2) 2)
(+.f64 (*.f64 y.re (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))))) (neg.f64 (*.f64 y.im (atan2.f64 x.im x.re))))
(-.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.im x.re)))
(/.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)) 1)
(+.f64 (*.f64 y.re (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))))) (neg.f64 (*.f64 y.im (atan2.f64 x.im x.re))))
(-.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.im x.re)))
(/.f64 (*.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)) 2) 2)
(+.f64 (*.f64 y.re (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))))) (neg.f64 (*.f64 y.im (atan2.f64 x.im x.re))))
(-.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.im x.re)))
(/.f64 (-.f64 (*.f64 (atan2.f64 x.im x.re) y.im) (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) y.re)) -1)
(+.f64 (*.f64 y.re (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))))) (neg.f64 (*.f64 y.im (atan2.f64 x.im x.re))))
(-.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.im x.re)))
(/.f64 (*.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)) 4) 4)
(+.f64 (*.f64 y.re (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))))) (neg.f64 (*.f64 y.im (atan2.f64 x.im x.re))))
(-.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.im x.re)))
(/.f64 (*.f64 2 (-.f64 (*.f64 (atan2.f64 x.im x.re) y.im) (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) y.re))) -2)
(+.f64 (*.f64 y.re (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))))) (neg.f64 (*.f64 y.im (atan2.f64 x.im x.re))))
(-.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.im x.re)))
(/.f64 (*.f64 2 (*.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)) 4)) 8)
(+.f64 (*.f64 y.re (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))))) (neg.f64 (*.f64 y.im (atan2.f64 x.im x.re))))
(-.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.im x.re)))
(/.f64 (+.f64 (*.f64 2 (*.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)) 4)) (*.f64 2 (*.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)) 4))) 16)
(+.f64 (*.f64 y.re (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))))) (neg.f64 (*.f64 y.im (atan2.f64 x.im x.re))))
(-.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.im x.re)))
(neg.f64 (-.f64 (*.f64 (atan2.f64 x.im x.re) y.im) (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) y.re)))
(+.f64 (*.f64 y.re (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))))) (neg.f64 (*.f64 y.im (atan2.f64 x.im x.re))))
(-.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.im x.re)))

localize20.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.1b
(*.f64 (log.f64 x.im) y.re)
1.0b
(*.f64 y.re (atan2.f64 x.im x.re))
2.2b
(*.f64 (atan2.f64 x.im x.re) y.im)
15.5b
(cos.f64 (*.f64 y.re (atan2.f64 x.im x.re)))
Compiler

Compiled 72 to 13 computations (81.9% saved)

series12.0ms (0%)

Counts
1 → 24
Calls

6 calls:

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

rewrite97.0ms (0.3%)

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.re)
Outputs
((#(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 1/2)) (*.f64 (log.f64 x.im) (*.f64 y.re 1/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 (*.f64 y.re 8) (log.f64 x.im)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (*.f64 y.re 8) (log.f64 x.im))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 y.re 8) (log.f64 x.im)))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 y.re 8) (log.f64 x.im)))) (*.f64 2 (*.f64 2 (*.f64 (*.f64 y.re 8) (log.f64 x.im))))) 64)))) (#(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))))))

simplify1.0s (2.9%)

Algorithm
egg-herbie
Rules
8286×rational.json-simplify-41
4050×rational.json-simplify-35
2880×rational.json-simplify-2
1810×rational.json-simplify-53
760×rational.json-simplify-1
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
050521
1111505
2215505
3452505
41365505
52662505
63653505
73832505
83963505
94091505
104216505
114341505
124896505
135039505
145097505
155097505
165222505
175347505
185472505
195597505
205722505
215990505
226316505
236494505
246644505
256773505
266898505
276898505
287194505
297194505
Stop Event
node limit
Counts
35 → 18
Calls
Call 1
Inputs
(*.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 (*.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 1/2)) (*.f64 (log.f64 x.im) (*.f64 y.re 1/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 (*.f64 y.re 8) (log.f64 x.im)) 8)
(/.f64 (*.f64 2 (*.f64 (*.f64 y.re 8) (log.f64 x.im))) 16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 y.re 8) (log.f64 x.im)))) 32)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 y.re 8) (log.f64 x.im)))) (*.f64 2 (*.f64 2 (*.f64 (*.f64 y.re 8) (log.f64 x.im))))) 64)
Outputs
(*.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 (*.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 1/2)) (*.f64 (log.f64 x.im) (*.f64 y.re 1/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 (*.f64 y.re 8) (log.f64 x.im)) 8)
(*.f64 y.re (log.f64 x.im))
(/.f64 (*.f64 2 (*.f64 (*.f64 y.re 8) (log.f64 x.im))) 16)
(*.f64 y.re (log.f64 x.im))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 y.re 8) (log.f64 x.im)))) 32)
(*.f64 y.re (log.f64 x.im))
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 y.re 8) (log.f64 x.im)))) (*.f64 2 (*.f64 2 (*.f64 (*.f64 y.re 8) (log.f64 x.im))))) 64)
(*.f64 y.re (log.f64 x.im))

localize21.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.1b
(*.f64 (log.f64 (neg.f64 x.im)) y.re)
1.0b
(*.f64 y.re (atan2.f64 x.im x.re))
2.2b
(*.f64 (atan2.f64 x.im x.re) y.im)
15.5b
(cos.f64 (*.f64 y.re (atan2.f64 x.im x.re)))
Compiler

Compiled 79 to 14 computations (82.3% saved)

series70.0ms (0.2%)

Counts
1 → 24
Calls

6 calls:

TimeVariablePointExpression
53.0ms
y.re
@0
(*.f64 (log.f64 (neg.f64 x.im)) y.re)
9.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)

rewrite108.0ms (0.3%)

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.1s (3.2%)

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

localize24.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.1b
(*.f64 (log.f64 x.im) y.im)
1.0b
(*.f64 (atan2.f64 x.im x.re) y.re)
2.2b
(*.f64 (atan2.f64 x.im x.re) y.im)
15.5b
(cos.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)

series8.0ms (0%)

Counts
1 → 8
Calls

6 calls:

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

rewrite96.0ms (0.3%)

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.9%)

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

localize28.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.1b
(*.f64 (log.f64 x.im) y.re)
1.0b
(*.f64 (atan2.f64 x.im x.re) y.re)
2.2b
(*.f64 (atan2.f64 x.im x.re) y.im)
12.2b
(cos.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)

eval533.0ms (1.5%)

Compiler

Compiled 22523 to 9834 computations (56.3% saved)

prune183.0ms (0.5%)

Pruning

13 alts after pruning (11 fresh and 2 done)

PrunedKeptTotal
New7018709
Fresh134
Picked101
Done224
Total70513718
Error
3.5b
Counts
718 → 13
Alt Table
Click to see full alt table
StatusErrorProgram
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))) (cos.f64 (*.f64 y.im (log.f64 (neg.f64 x.re)))))
22.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))) 1)
40.7b
(*.f64 (exp.f64 (-.f64 (*.f64 (log.f64 (neg.f64 x.re)) y.re) (*.f64 (atan2.f64 x.im x.re) y.im))) (cos.f64 (*.f64 y.re (atan2.f64 x.im x.re))))
40.7b
(*.f64 (exp.f64 (-.f64 (*.f64 (log.f64 (neg.f64 x.re)) y.re) (*.f64 (atan2.f64 x.im x.re) y.im))) 1)
39.1b
(*.f64 (exp.f64 (-.f64 (*.f64 (log.f64 (neg.f64 x.im)) y.re) (*.f64 (atan2.f64 x.im x.re) y.im))) 1)
33.1b
(*.f64 (exp.f64 (-.f64 (*.f64 (log.f64 x.re) y.re) (*.f64 (atan2.f64 x.im x.re) y.im))) (cos.f64 (+.f64 (*.f64 (log.f64 x.re) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))))
33.5b
(*.f64 (exp.f64 (-.f64 (*.f64 (log.f64 x.re) y.re) (*.f64 (atan2.f64 x.im x.re) y.im))) 1)
35.3b
(*.f64 (exp.f64 (-.f64 (*.f64 (log.f64 x.im) y.re) (*.f64 (atan2.f64 x.im x.re) y.im))) (cos.f64 (*.f64 y.re (atan2.f64 x.im x.re))))
51.4b
(*.f64 (exp.f64 (-.f64 (*.f64 (log.f64 x.im) y.re) (*.f64 (atan2.f64 x.im x.re) y.im))) (cos.f64 (*.f64 y.im (log.f64 (neg.f64 x.re)))))
35.2b
(*.f64 (exp.f64 (-.f64 (*.f64 (log.f64 x.im) y.re) (*.f64 (atan2.f64 x.im x.re) y.im))) (cos.f64 (*.f64 y.im (log.f64 x.im))))
35.3b
(*.f64 (exp.f64 (-.f64 (*.f64 (log.f64 x.im) y.re) (*.f64 (atan2.f64 x.im x.re) y.im))) 1)
45.9b
(*.f64 (exp.f64 (-.f64 (*.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 (atan2.f64 x.im x.re) y.im))) 1)
19.9b
(*.f64 (exp.f64 (*.f64 (atan2.f64 x.im x.re) (neg.f64 y.im))) 1)
Compiler

Compiled 516 to 347 computations (32.8% saved)

localize10.0ms (0%)

Local error

Found 1 expressions with local error:

NewErrorProgram
2.2b
(*.f64 (atan2.f64 x.im x.re) (neg.f64 y.im))
Compiler

Compiled 35 to 11 computations (68.6% saved)

series2.0ms (0%)

Counts
1 → 36
Calls

9 calls:

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

rewrite85.0ms (0.2%)

Algorithm
batch-egg-rewrite
Rules
1538×rational.json-simplify-35
1382×bool.json-1
1382×bool.json-2
1328×rational.json-1
1328×rational.json-2
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0917
19117
225517
355017
4117217
5265617
6543317
Stop Event
node limit
Counts
1 → 17
Calls
Call 1
Inputs
(*.f64 (atan2.f64 x.im x.re) (neg.f64 y.im))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (atan2.f64 x.im x.re) (neg.f64 y.im)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (atan2.f64 x.im x.re) (neg.f64 y.im)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 -1 (-.f64 1 (*.f64 (atan2.f64 x.im x.re) y.im)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (atan2.f64 x.im x.re) (*.f64 y.im -1/2)) (*.f64 (atan2.f64 x.im x.re) (*.f64 y.im -1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 1 (*.f64 (atan2.f64 x.im x.re) y.im)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (atan2.f64 x.im x.re) (neg.f64 y.im)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (*.f64 (atan2.f64 x.im x.re) y.im))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (atan2.f64 x.im x.re) (neg.f64 y.im)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (atan2.f64 x.im x.re) (*.f64 y.im -2)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (atan2.f64 x.im x.re) (*.f64 y.im -4)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (atan2.f64 x.im x.re) y.im) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 (atan2.f64 x.im x.re) (neg.f64 y.im)) 8) 8)))) (#(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 2 (*.f64 (*.f64 (atan2.f64 x.im x.re) (neg.f64 y.im)) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (atan2.f64 x.im x.re) (neg.f64 y.im)) 8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (atan2.f64 x.im x.re) (neg.f64 y.im)) 8))) (*.f64 2 (*.f64 2 (*.f64 (*.f64 (atan2.f64 x.im x.re) (neg.f64 y.im)) 8)))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (*.f64 (atan2.f64 x.im x.re) y.im))))) (#(struct:change #<rule egg-rr> (2) ((x not (not (*.f64 (atan2.f64 x.im x.re) (neg.f64 y.im))))))) (#(struct:change #<rule egg-rr> (2) ((x and (*.f64 (atan2.f64 x.im x.re) (neg.f64 y.im)) (*.f64 (atan2.f64 x.im x.re) (neg.f64 y.im)))))) (#(struct:change #<rule egg-rr> (2) ((x or (*.f64 (atan2.f64 x.im x.re) (neg.f64 y.im)) (*.f64 (atan2.f64 x.im x.re) (neg.f64 y.im)))))))

simplify522.0ms (1.5%)

Algorithm
egg-herbie
Rules
3888×rational.json-simplify-35
1674×rational.json-simplify-48
1490×rational.json-simplify-1
1192×rational.json-simplify-53
912×rational.json-simplify-49
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
054901
1125901
2243901
3646901
42735901
53895901
64899901
75403901
85808901
96041901
106236901
116314901
126514901
136615901
146912901
157119901
167326901
177533901
187740901
Stop Event
node limit
Counts
53 → 21
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 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 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 (*.f64 (atan2.f64 x.im x.re) (neg.f64 y.im)) 0)
(+.f64 0 (*.f64 (atan2.f64 x.im x.re) (neg.f64 y.im)))
(+.f64 -1 (-.f64 1 (*.f64 (atan2.f64 x.im x.re) y.im)))
(+.f64 (*.f64 (atan2.f64 x.im x.re) (*.f64 y.im -1/2)) (*.f64 (atan2.f64 x.im x.re) (*.f64 y.im -1/2)))
(+.f64 (-.f64 1 (*.f64 (atan2.f64 x.im x.re) y.im)) -1)
(-.f64 (*.f64 (atan2.f64 x.im x.re) (neg.f64 y.im)) 0)
(-.f64 0 (*.f64 (atan2.f64 x.im x.re) y.im))
(/.f64 (*.f64 (atan2.f64 x.im x.re) (neg.f64 y.im)) 1)
(/.f64 (*.f64 (atan2.f64 x.im x.re) (*.f64 y.im -2)) 2)
(/.f64 (*.f64 (atan2.f64 x.im x.re) (*.f64 y.im -4)) 4)
(/.f64 (*.f64 (atan2.f64 x.im x.re) y.im) -1)
(/.f64 (*.f64 (*.f64 (atan2.f64 x.im x.re) (neg.f64 y.im)) 8) 8)
(/.f64 (*.f64 (atan2.f64 x.im x.re) (+.f64 y.im y.im)) -2)
(/.f64 (*.f64 2 (*.f64 (*.f64 (atan2.f64 x.im x.re) (neg.f64 y.im)) 8)) 16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (atan2.f64 x.im x.re) (neg.f64 y.im)) 8))) 32)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (atan2.f64 x.im x.re) (neg.f64 y.im)) 8))) (*.f64 2 (*.f64 2 (*.f64 (*.f64 (atan2.f64 x.im x.re) (neg.f64 y.im)) 8)))) 64)
(neg.f64 (*.f64 (atan2.f64 x.im x.re) y.im))
Outputs
(*.f64 -1 (*.f64 y.im (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.im (neg.f64 (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 (atan2.f64 x.im x.re) (neg.f64 y.im))
(*.f64 y.im (neg.f64 (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 (atan2.f64 x.im x.re) (neg.f64 y.im))
(*.f64 y.im (neg.f64 (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 (atan2.f64 x.im x.re) (neg.f64 y.im))
(*.f64 y.im (neg.f64 (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 (atan2.f64 x.im x.re) (neg.f64 y.im))
(*.f64 y.im (neg.f64 (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 (atan2.f64 x.im x.re) (neg.f64 y.im))
(*.f64 y.im (neg.f64 (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 (atan2.f64 x.im x.re) (neg.f64 y.im))
(*.f64 y.im (neg.f64 (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 (atan2.f64 x.im x.re) (neg.f64 y.im))
(*.f64 y.im (neg.f64 (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 (atan2.f64 x.im x.re) (neg.f64 y.im))
(*.f64 y.im (neg.f64 (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 (atan2.f64 x.im x.re) (neg.f64 y.im))
(*.f64 y.im (neg.f64 (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 (atan2.f64 x.im x.re) (neg.f64 y.im))
(*.f64 y.im (neg.f64 (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 (atan2.f64 x.im x.re) (neg.f64 y.im))
(*.f64 y.im (neg.f64 (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 (atan2.f64 x.im x.re) (neg.f64 y.im))
(*.f64 y.im (neg.f64 (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 (atan2.f64 x.im x.re) (neg.f64 y.im))
(*.f64 y.im (neg.f64 (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 (atan2.f64 x.im x.re) (neg.f64 y.im))
(*.f64 y.im (neg.f64 (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 (atan2.f64 x.im x.re) (neg.f64 y.im))
(*.f64 y.im (neg.f64 (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 (atan2.f64 x.im x.re) (neg.f64 y.im))
(*.f64 y.im (neg.f64 (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 (atan2.f64 x.im x.re) (neg.f64 y.im))
(*.f64 y.im (neg.f64 (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 (atan2.f64 x.im x.re) (neg.f64 y.im))
(*.f64 y.im (neg.f64 (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 (atan2.f64 x.im x.re) (neg.f64 y.im))
(*.f64 y.im (neg.f64 (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 (atan2.f64 x.im x.re) (neg.f64 y.im))
(*.f64 y.im (neg.f64 (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 (atan2.f64 x.im x.re) (neg.f64 y.im))
(*.f64 y.im (neg.f64 (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 (atan2.f64 x.im x.re) (neg.f64 y.im))
(*.f64 y.im (neg.f64 (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 (atan2.f64 x.im x.re) (neg.f64 y.im))
(*.f64 y.im (neg.f64 (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 (atan2.f64 x.im x.re) (neg.f64 y.im))
(*.f64 y.im (neg.f64 (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 (atan2.f64 x.im x.re) (neg.f64 y.im))
(*.f64 y.im (neg.f64 (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 (atan2.f64 x.im x.re) (neg.f64 y.im))
(*.f64 y.im (neg.f64 (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 (atan2.f64 x.im x.re) (neg.f64 y.im))
(*.f64 y.im (neg.f64 (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 (atan2.f64 x.im x.re) (neg.f64 y.im))
(*.f64 y.im (neg.f64 (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 (atan2.f64 x.im x.re) (neg.f64 y.im))
(*.f64 y.im (neg.f64 (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 (atan2.f64 x.im x.re) (neg.f64 y.im))
(*.f64 y.im (neg.f64 (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 (atan2.f64 x.im x.re) (neg.f64 y.im))
(*.f64 y.im (neg.f64 (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 (atan2.f64 x.im x.re) (neg.f64 y.im))
(*.f64 y.im (neg.f64 (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 (atan2.f64 x.im x.re) (neg.f64 y.im))
(*.f64 y.im (neg.f64 (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 (atan2.f64 x.im x.re) (neg.f64 y.im))
(*.f64 y.im (neg.f64 (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 (atan2.f64 x.im x.re) (neg.f64 y.im))
(*.f64 y.im (neg.f64 (atan2.f64 x.im x.re)))
(+.f64 (*.f64 (atan2.f64 x.im x.re) (neg.f64 y.im)) 0)
(neg.f64 (*.f64 y.im (atan2.f64 x.im x.re)))
(*.f64 (atan2.f64 x.im x.re) (neg.f64 y.im))
(*.f64 y.im (neg.f64 (atan2.f64 x.im x.re)))
(+.f64 0 (*.f64 (atan2.f64 x.im x.re) (neg.f64 y.im)))
(neg.f64 (*.f64 y.im (atan2.f64 x.im x.re)))
(*.f64 (atan2.f64 x.im x.re) (neg.f64 y.im))
(*.f64 y.im (neg.f64 (atan2.f64 x.im x.re)))
(+.f64 -1 (-.f64 1 (*.f64 (atan2.f64 x.im x.re) y.im)))
(neg.f64 (*.f64 y.im (atan2.f64 x.im x.re)))
(*.f64 (atan2.f64 x.im x.re) (neg.f64 y.im))
(*.f64 y.im (neg.f64 (atan2.f64 x.im x.re)))
(+.f64 (*.f64 (atan2.f64 x.im x.re) (*.f64 y.im -1/2)) (*.f64 (atan2.f64 x.im x.re) (*.f64 y.im -1/2)))
(neg.f64 (*.f64 y.im (atan2.f64 x.im x.re)))
(*.f64 (atan2.f64 x.im x.re) (neg.f64 y.im))
(*.f64 y.im (neg.f64 (atan2.f64 x.im x.re)))
(+.f64 (-.f64 1 (*.f64 (atan2.f64 x.im x.re) y.im)) -1)
(neg.f64 (*.f64 y.im (atan2.f64 x.im x.re)))
(*.f64 (atan2.f64 x.im x.re) (neg.f64 y.im))
(*.f64 y.im (neg.f64 (atan2.f64 x.im x.re)))
(-.f64 (*.f64 (atan2.f64 x.im x.re) (neg.f64 y.im)) 0)
(neg.f64 (*.f64 y.im (atan2.f64 x.im x.re)))
(*.f64 (atan2.f64 x.im x.re) (neg.f64 y.im))
(*.f64 y.im (neg.f64 (atan2.f64 x.im x.re)))
(-.f64 0 (*.f64 (atan2.f64 x.im x.re) y.im))
(neg.f64 (*.f64 y.im (atan2.f64 x.im x.re)))
(*.f64 (atan2.f64 x.im x.re) (neg.f64 y.im))
(*.f64 y.im (neg.f64 (atan2.f64 x.im x.re)))
(/.f64 (*.f64 (atan2.f64 x.im x.re) (neg.f64 y.im)) 1)
(neg.f64 (*.f64 y.im (atan2.f64 x.im x.re)))
(*.f64 (atan2.f64 x.im x.re) (neg.f64 y.im))
(*.f64 y.im (neg.f64 (atan2.f64 x.im x.re)))
(/.f64 (*.f64 (atan2.f64 x.im x.re) (*.f64 y.im -2)) 2)
(neg.f64 (*.f64 y.im (atan2.f64 x.im x.re)))
(*.f64 (atan2.f64 x.im x.re) (neg.f64 y.im))
(*.f64 y.im (neg.f64 (atan2.f64 x.im x.re)))
(/.f64 (*.f64 (atan2.f64 x.im x.re) (*.f64 y.im -4)) 4)
(neg.f64 (*.f64 y.im (atan2.f64 x.im x.re)))
(*.f64 (atan2.f64 x.im x.re) (neg.f64 y.im))
(*.f64 y.im (neg.f64 (atan2.f64 x.im x.re)))
(/.f64 (*.f64 (atan2.f64 x.im x.re) y.im) -1)
(neg.f64 (*.f64 y.im (atan2.f64 x.im x.re)))
(*.f64 (atan2.f64 x.im x.re) (neg.f64 y.im))
(*.f64 y.im (neg.f64 (atan2.f64 x.im x.re)))
(/.f64 (*.f64 (*.f64 (atan2.f64 x.im x.re) (neg.f64 y.im)) 8) 8)
(neg.f64 (*.f64 y.im (atan2.f64 x.im x.re)))
(*.f64 (atan2.f64 x.im x.re) (neg.f64 y.im))
(*.f64 y.im (neg.f64 (atan2.f64 x.im x.re)))
(/.f64 (*.f64 (atan2.f64 x.im x.re) (+.f64 y.im y.im)) -2)
(neg.f64 (*.f64 y.im (atan2.f64 x.im x.re)))
(*.f64 (atan2.f64 x.im x.re) (neg.f64 y.im))
(*.f64 y.im (neg.f64 (atan2.f64 x.im x.re)))
(/.f64 (*.f64 2 (*.f64 (*.f64 (atan2.f64 x.im x.re) (neg.f64 y.im)) 8)) 16)
(neg.f64 (*.f64 y.im (atan2.f64 x.im x.re)))
(*.f64 (atan2.f64 x.im x.re) (neg.f64 y.im))
(*.f64 y.im (neg.f64 (atan2.f64 x.im x.re)))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (atan2.f64 x.im x.re) (neg.f64 y.im)) 8))) 32)
(neg.f64 (*.f64 y.im (atan2.f64 x.im x.re)))
(*.f64 (atan2.f64 x.im x.re) (neg.f64 y.im))
(*.f64 y.im (neg.f64 (atan2.f64 x.im x.re)))
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (atan2.f64 x.im x.re) (neg.f64 y.im)) 8))) (*.f64 2 (*.f64 2 (*.f64 (*.f64 (atan2.f64 x.im x.re) (neg.f64 y.im)) 8)))) 64)
(neg.f64 (*.f64 y.im (atan2.f64 x.im x.re)))
(*.f64 (atan2.f64 x.im x.re) (neg.f64 y.im))
(*.f64 y.im (neg.f64 (atan2.f64 x.im x.re)))
(neg.f64 (*.f64 (atan2.f64 x.im x.re) y.im))
(neg.f64 (*.f64 y.im (atan2.f64 x.im x.re)))
(*.f64 (atan2.f64 x.im x.re) (neg.f64 y.im))
(*.f64 y.im (neg.f64 (atan2.f64 x.im x.re)))

localize50.0ms (0.1%)

Local error

Found 3 expressions with local error:

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

Compiled 57 to 13 computations (77.2% saved)

series2.0ms (0%)

Counts
1 → 48
Calls

12 calls:

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

rewrite85.0ms (0.2%)

Algorithm
batch-egg-rewrite
Rules
1512×bool.json-1
1512×bool.json-2
1470×rational.json-1
1470×rational.json-2
1470×rational.json-4
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01229
111529
229229
360329
4124629
5278329
6582029
Stop Event
node limit
Counts
1 → 34
Calls
Call 1
Inputs
(-.f64 (*.f64 (log.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 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 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 x.im) y.re) (*.f64 (atan2.f64 x.im x.re) y.im)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (neg.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 -1 (+.f64 (*.f64 (log.f64 x.im) y.re) (-.f64 1 (*.f64 (atan2.f64 x.im x.re) y.im))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (*.f64 (log.f64 x.im) y.re) (-.f64 1 (*.f64 (atan2.f64 x.im x.re) y.im))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (-.f64 (*.f64 (log.f64 x.im) y.re) (*.f64 (atan2.f64 x.im x.re) y.im)) 1/2) (*.f64 (-.f64 (*.f64 (log.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 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 x.im) y.re) (*.f64 (atan2.f64 x.im x.re) y.im)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (-.f64 (*.f64 (log.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 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 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 x.im) y.re)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 (-.f64 (*.f64 (log.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 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 (-.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 1/2 (*.f64 (-.f64 (*.f64 (log.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 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 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 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 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 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 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 x.im) y.re)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (*.f64 (log.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 x.im) y.re))) -2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (*.f64 (log.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 x.im) y.re)) 4) -4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (-.f64 (*.f64 (log.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 x.im) y.re)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 (-.f64 (*.f64 (log.f64 x.im) y.re) (*.f64 (atan2.f64 x.im x.re) y.im)) 8)) (*.f64 2 (*.f64 (-.f64 (*.f64 (log.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 x.im) y.re)))) (neg.f64 (*.f64 2 (-.f64 (*.f64 (atan2.f64 x.im x.re) y.im) (*.f64 (log.f64 x.im) y.re))))) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 (-.f64 (*.f64 (atan2.f64 x.im x.re) y.im) (*.f64 (log.f64 x.im) y.re)) 4) -1) 4)))) (#(struct:change #<rule egg-rr> (2) ((x neg.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 not (not (-.f64 (*.f64 (log.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 x.im) y.re) (*.f64 (atan2.f64 x.im x.re) y.im)) (-.f64 (*.f64 (log.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 x.im) y.re) (*.f64 (atan2.f64 x.im x.re) y.im)) (-.f64 (*.f64 (log.f64 x.im) y.re) (*.f64 (atan2.f64 x.im x.re) y.im)))))))

simplify521.0ms (1.5%)

Algorithm
egg-herbie
Rules
2318×rational.json-simplify-49
1920×rational.json-simplify-35
1468×rational.json-simplify-1
1428×rational.json-simplify-42
998×rational.json-simplify-2
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01022530
12022514
24432514
39512514
417602514
527072514
632612514
734322514
835852514
938592514
1044172514
1147022514
1250492514
1352722514
1454382514
1555952514
1664482514
1767532514
1870162514
Stop Event
node limit
Counts
82 → 49
Calls
Call 1
Inputs
(-.f64 (*.f64 y.re (log.f64 x.im)) (*.f64 y.im (atan2.f64 x.im x.re)))
(-.f64 (*.f64 y.re (log.f64 x.im)) (*.f64 y.im (atan2.f64 x.im x.re)))
(-.f64 (*.f64 y.re (log.f64 x.im)) (*.f64 y.im (atan2.f64 x.im x.re)))
(-.f64 (*.f64 y.re (log.f64 x.im)) (*.f64 y.im (atan2.f64 x.im x.re)))
(-.f64 (*.f64 -1 (*.f64 (log.f64 (/.f64 1 x.im)) y.re)) (*.f64 (atan2.f64 x.im x.re) y.im))
(-.f64 (*.f64 -1 (*.f64 (log.f64 (/.f64 1 x.im)) y.re)) (*.f64 (atan2.f64 x.im x.re) y.im))
(-.f64 (*.f64 -1 (*.f64 (log.f64 (/.f64 1 x.im)) y.re)) (*.f64 (atan2.f64 x.im x.re) y.im))
(-.f64 (*.f64 -1 (*.f64 (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) (*.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) (*.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) (*.f64 -1 (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 y.re (log.f64 x.im)) (*.f64 -1 (*.f64 y.im (atan2.f64 x.im x.re))))
(+.f64 (*.f64 y.re (log.f64 x.im)) (*.f64 -1 (*.f64 y.im (atan2.f64 x.im x.re))))
(+.f64 (*.f64 y.re (log.f64 x.im)) (*.f64 -1 (*.f64 y.im (atan2.f64 x.im x.re))))
(*.f64 y.re (log.f64 x.im))
(+.f64 (*.f64 y.re (log.f64 x.im)) (*.f64 -1 (*.f64 y.im (atan2.f64 x.im x.re))))
(+.f64 (*.f64 y.re (log.f64 x.im)) (*.f64 -1 (*.f64 y.im (atan2.f64 x.im x.re))))
(+.f64 (*.f64 y.re (log.f64 x.im)) (*.f64 -1 (*.f64 y.im (atan2.f64 x.im x.re))))
(*.f64 y.re (log.f64 x.im))
(+.f64 (*.f64 y.re (log.f64 x.im)) (*.f64 -1 (*.f64 y.im (atan2.f64 x.im x.re))))
(+.f64 (*.f64 y.re (log.f64 x.im)) (*.f64 -1 (*.f64 y.im (atan2.f64 x.im x.re))))
(+.f64 (*.f64 y.re (log.f64 x.im)) (*.f64 -1 (*.f64 y.im (atan2.f64 x.im x.re))))
(-.f64 (*.f64 y.re (log.f64 x.im)) (*.f64 y.im (atan2.f64 x.im x.re)))
(-.f64 (*.f64 y.re (log.f64 x.im)) (*.f64 y.im (atan2.f64 x.im x.re)))
(-.f64 (*.f64 y.re (log.f64 x.im)) (*.f64 y.im (atan2.f64 x.im x.re)))
(-.f64 (*.f64 y.re (log.f64 x.im)) (*.f64 y.im (atan2.f64 x.im x.re)))
(-.f64 (*.f64 y.re (log.f64 x.im)) (*.f64 (atan2.f64 x.im x.re) y.im))
(-.f64 (*.f64 y.re (log.f64 x.im)) (*.f64 (atan2.f64 x.im x.re) y.im))
(-.f64 (*.f64 y.re (log.f64 x.im)) (*.f64 (atan2.f64 x.im x.re) y.im))
(-.f64 (*.f64 y.re (log.f64 x.im)) (*.f64 (atan2.f64 x.im x.re) y.im))
(-.f64 (*.f64 y.re (log.f64 x.im)) (*.f64 (atan2.f64 x.im x.re) y.im))
(-.f64 (*.f64 y.re (log.f64 x.im)) (*.f64 (atan2.f64 x.im x.re) y.im))
(-.f64 (*.f64 y.re (log.f64 x.im)) (*.f64 (atan2.f64 x.im x.re) y.im))
(-.f64 (*.f64 y.re (log.f64 x.im)) (*.f64 (atan2.f64 x.im x.re) y.im))
(*.f64 y.re (log.f64 x.im))
(+.f64 (*.f64 y.re (log.f64 x.im)) (*.f64 -1 (*.f64 y.im (atan2.f64 x.im x.re))))
(+.f64 (*.f64 y.re (log.f64 x.im)) (*.f64 -1 (*.f64 y.im (atan2.f64 x.im x.re))))
(+.f64 (*.f64 y.re (log.f64 x.im)) (*.f64 -1 (*.f64 y.im (atan2.f64 x.im x.re))))
(*.f64 -1 (*.f64 y.im (atan2.f64 x.im x.re)))
(+.f64 (*.f64 y.re (log.f64 x.im)) (*.f64 -1 (*.f64 y.im (atan2.f64 x.im x.re))))
(+.f64 (*.f64 y.re (log.f64 x.im)) (*.f64 -1 (*.f64 y.im (atan2.f64 x.im x.re))))
(+.f64 (*.f64 y.re (log.f64 x.im)) (*.f64 -1 (*.f64 y.im (atan2.f64 x.im x.re))))
(*.f64 -1 (*.f64 y.im (atan2.f64 x.im x.re)))
(+.f64 (*.f64 y.re (log.f64 x.im)) (*.f64 -1 (*.f64 y.im (atan2.f64 x.im x.re))))
(+.f64 (*.f64 y.re (log.f64 x.im)) (*.f64 -1 (*.f64 y.im (atan2.f64 x.im x.re))))
(+.f64 (*.f64 y.re (log.f64 x.im)) (*.f64 -1 (*.f64 y.im (atan2.f64 x.im x.re))))
(+.f64 (*.f64 (log.f64 x.im) y.re) (neg.f64 (*.f64 (atan2.f64 x.im x.re) y.im)))
(+.f64 (-.f64 (*.f64 (log.f64 x.im) y.re) (*.f64 (atan2.f64 x.im x.re) y.im)) 0)
(+.f64 0 (-.f64 (*.f64 (log.f64 x.im) y.re) (*.f64 (atan2.f64 x.im x.re) y.im)))
(+.f64 (neg.f64 (*.f64 (atan2.f64 x.im x.re) y.im)) (*.f64 (log.f64 x.im) y.re))
(+.f64 -1 (+.f64 (*.f64 (log.f64 x.im) y.re) (-.f64 1 (*.f64 (atan2.f64 x.im x.re) y.im))))
(+.f64 (+.f64 (*.f64 (log.f64 x.im) y.re) (-.f64 1 (*.f64 (atan2.f64 x.im x.re) y.im))) -1)
(+.f64 (*.f64 (-.f64 (*.f64 (log.f64 x.im) y.re) (*.f64 (atan2.f64 x.im x.re) y.im)) 1/2) (*.f64 (-.f64 (*.f64 (log.f64 x.im) y.re) (*.f64 (atan2.f64 x.im x.re) y.im)) 1/2))
(*.f64 (-.f64 (*.f64 (log.f64 x.im) y.re) (*.f64 (atan2.f64 x.im x.re) y.im)) 1)
(*.f64 1 (-.f64 (*.f64 (log.f64 x.im) y.re) (*.f64 (atan2.f64 x.im x.re) y.im)))
(*.f64 2 (*.f64 (-.f64 (*.f64 (log.f64 x.im) y.re) (*.f64 (atan2.f64 x.im x.re) y.im)) 1/2))
(*.f64 2 (-.f64 (*.f64 (log.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 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 x.im) y.re)) -1)
(*.f64 4 (/.f64 (-.f64 (*.f64 (log.f64 x.im) y.re) (*.f64 (atan2.f64 x.im x.re) y.im)) 4))
(*.f64 (*.f64 (-.f64 (*.f64 (log.f64 x.im) y.re) (*.f64 (atan2.f64 x.im x.re) y.im)) 4) 1/4)
(*.f64 -1 (-.f64 (*.f64 (atan2.f64 x.im x.re) y.im) (*.f64 (log.f64 x.im) y.re)))
(*.f64 1/2 (*.f64 (-.f64 (*.f64 (log.f64 x.im) y.re) (*.f64 (atan2.f64 x.im x.re) y.im)) 2))
(*.f64 1/2 (-.f64 (*.f64 (log.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 x.im) y.re) (*.f64 (atan2.f64 x.im x.re) y.im)) 1/2) 2)
(*.f64 1/4 (*.f64 (-.f64 (*.f64 (log.f64 x.im) y.re) (*.f64 (atan2.f64 x.im x.re) y.im)) 4))
(*.f64 (/.f64 (-.f64 (*.f64 (log.f64 x.im) y.re) (*.f64 (atan2.f64 x.im x.re) y.im)) 4) 4)
(/.f64 (-.f64 (*.f64 (log.f64 x.im) y.re) (*.f64 (atan2.f64 x.im x.re) y.im)) 1)
(/.f64 (*.f64 (-.f64 (*.f64 (log.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 x.im) y.re)) -1)
(/.f64 (*.f64 (-.f64 (*.f64 (log.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 x.im) y.re))) -2)
(/.f64 (*.f64 (-.f64 (*.f64 (log.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 x.im) y.re)) 4) -4)
(/.f64 (*.f64 2 (*.f64 (-.f64 (*.f64 (log.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 x.im) y.re)))) 2)
(/.f64 (+.f64 (*.f64 2 (*.f64 (-.f64 (*.f64 (log.f64 x.im) y.re) (*.f64 (atan2.f64 x.im x.re) y.im)) 8)) (*.f64 2 (*.f64 (-.f64 (*.f64 (log.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 x.im) y.re)))) (neg.f64 (*.f64 2 (-.f64 (*.f64 (atan2.f64 x.im x.re) y.im) (*.f64 (log.f64 x.im) y.re))))) 4)
(/.f64 (/.f64 (*.f64 (-.f64 (*.f64 (atan2.f64 x.im x.re) y.im) (*.f64 (log.f64 x.im) y.re)) 4) -1) 4)
(neg.f64 (-.f64 (*.f64 (atan2.f64 x.im x.re) y.im) (*.f64 (log.f64 x.im) y.re)))
Outputs
(-.f64 (*.f64 y.re (log.f64 x.im)) (*.f64 y.im (atan2.f64 x.im x.re)))
(-.f64 (*.f64 y.re (log.f64 x.im)) (*.f64 y.im (atan2.f64 x.im x.re)))
(-.f64 (*.f64 y.re (log.f64 x.im)) (*.f64 y.im (atan2.f64 x.im x.re)))
(-.f64 (*.f64 y.re (log.f64 x.im)) (*.f64 y.im (atan2.f64 x.im x.re)))
(-.f64 (*.f64 -1 (*.f64 (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 (log.f64 (/.f64 1 x.im)) (neg.f64 y.re)) (*.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 -1 (*.f64 (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 (log.f64 (/.f64 1 x.im)) (neg.f64 y.re)) (*.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 -1 (*.f64 (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 (log.f64 (/.f64 1 x.im)) (neg.f64 y.re)) (*.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 -1 (*.f64 (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 (log.f64 (/.f64 1 x.im)) (neg.f64 y.re)) (*.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 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 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 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 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 -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 (*.f64 y.re (log.f64 x.im)) (*.f64 -1 (*.f64 y.im (atan2.f64 x.im x.re))))
(+.f64 (*.f64 y.re (log.f64 x.im)) (neg.f64 (*.f64 y.im (atan2.f64 x.im x.re))))
(+.f64 (*.f64 y.re (log.f64 x.im)) (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re))))
(+.f64 (*.f64 y.re (log.f64 x.im)) (*.f64 -1 (*.f64 y.im (atan2.f64 x.im x.re))))
(+.f64 (*.f64 y.re (log.f64 x.im)) (neg.f64 (*.f64 y.im (atan2.f64 x.im x.re))))
(+.f64 (*.f64 y.re (log.f64 x.im)) (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re))))
(+.f64 (*.f64 y.re (log.f64 x.im)) (*.f64 -1 (*.f64 y.im (atan2.f64 x.im x.re))))
(+.f64 (*.f64 y.re (log.f64 x.im)) (neg.f64 (*.f64 y.im (atan2.f64 x.im x.re))))
(+.f64 (*.f64 y.re (log.f64 x.im)) (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re))))
(*.f64 y.re (log.f64 x.im))
(+.f64 (*.f64 y.re (log.f64 x.im)) (*.f64 -1 (*.f64 y.im (atan2.f64 x.im x.re))))
(+.f64 (*.f64 y.re (log.f64 x.im)) (neg.f64 (*.f64 y.im (atan2.f64 x.im x.re))))
(+.f64 (*.f64 y.re (log.f64 x.im)) (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re))))
(+.f64 (*.f64 y.re (log.f64 x.im)) (*.f64 -1 (*.f64 y.im (atan2.f64 x.im x.re))))
(+.f64 (*.f64 y.re (log.f64 x.im)) (neg.f64 (*.f64 y.im (atan2.f64 x.im x.re))))
(+.f64 (*.f64 y.re (log.f64 x.im)) (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re))))
(+.f64 (*.f64 y.re (log.f64 x.im)) (*.f64 -1 (*.f64 y.im (atan2.f64 x.im x.re))))
(+.f64 (*.f64 y.re (log.f64 x.im)) (neg.f64 (*.f64 y.im (atan2.f64 x.im x.re))))
(+.f64 (*.f64 y.re (log.f64 x.im)) (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re))))
(*.f64 y.re (log.f64 x.im))
(+.f64 (*.f64 y.re (log.f64 x.im)) (*.f64 -1 (*.f64 y.im (atan2.f64 x.im x.re))))
(+.f64 (*.f64 y.re (log.f64 x.im)) (neg.f64 (*.f64 y.im (atan2.f64 x.im x.re))))
(+.f64 (*.f64 y.re (log.f64 x.im)) (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re))))
(+.f64 (*.f64 y.re (log.f64 x.im)) (*.f64 -1 (*.f64 y.im (atan2.f64 x.im x.re))))
(+.f64 (*.f64 y.re (log.f64 x.im)) (neg.f64 (*.f64 y.im (atan2.f64 x.im x.re))))
(+.f64 (*.f64 y.re (log.f64 x.im)) (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re))))
(+.f64 (*.f64 y.re (log.f64 x.im)) (*.f64 -1 (*.f64 y.im (atan2.f64 x.im x.re))))
(+.f64 (*.f64 y.re (log.f64 x.im)) (neg.f64 (*.f64 y.im (atan2.f64 x.im x.re))))
(+.f64 (*.f64 y.re (log.f64 x.im)) (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re))))
(-.f64 (*.f64 y.re (log.f64 x.im)) (*.f64 y.im (atan2.f64 x.im x.re)))
(-.f64 (*.f64 y.re (log.f64 x.im)) (*.f64 y.im (atan2.f64 x.im x.re)))
(-.f64 (*.f64 y.re (log.f64 x.im)) (*.f64 y.im (atan2.f64 x.im x.re)))
(-.f64 (*.f64 y.re (log.f64 x.im)) (*.f64 y.im (atan2.f64 x.im x.re)))
(-.f64 (*.f64 y.re (log.f64 x.im)) (*.f64 (atan2.f64 x.im x.re) y.im))
(-.f64 (*.f64 y.re (log.f64 x.im)) (*.f64 y.im (atan2.f64 x.im x.re)))
(-.f64 (*.f64 y.re (log.f64 x.im)) (*.f64 (atan2.f64 x.im x.re) y.im))
(-.f64 (*.f64 y.re (log.f64 x.im)) (*.f64 y.im (atan2.f64 x.im x.re)))
(-.f64 (*.f64 y.re (log.f64 x.im)) (*.f64 (atan2.f64 x.im x.re) y.im))
(-.f64 (*.f64 y.re (log.f64 x.im)) (*.f64 y.im (atan2.f64 x.im x.re)))
(-.f64 (*.f64 y.re (log.f64 x.im)) (*.f64 (atan2.f64 x.im x.re) y.im))
(-.f64 (*.f64 y.re (log.f64 x.im)) (*.f64 y.im (atan2.f64 x.im x.re)))
(-.f64 (*.f64 y.re (log.f64 x.im)) (*.f64 (atan2.f64 x.im x.re) y.im))
(-.f64 (*.f64 y.re (log.f64 x.im)) (*.f64 y.im (atan2.f64 x.im x.re)))
(-.f64 (*.f64 y.re (log.f64 x.im)) (*.f64 (atan2.f64 x.im x.re) y.im))
(-.f64 (*.f64 y.re (log.f64 x.im)) (*.f64 y.im (atan2.f64 x.im x.re)))
(-.f64 (*.f64 y.re (log.f64 x.im)) (*.f64 (atan2.f64 x.im x.re) y.im))
(-.f64 (*.f64 y.re (log.f64 x.im)) (*.f64 y.im (atan2.f64 x.im x.re)))
(-.f64 (*.f64 y.re (log.f64 x.im)) (*.f64 (atan2.f64 x.im x.re) y.im))
(-.f64 (*.f64 y.re (log.f64 x.im)) (*.f64 y.im (atan2.f64 x.im x.re)))
(*.f64 y.re (log.f64 x.im))
(+.f64 (*.f64 y.re (log.f64 x.im)) (*.f64 -1 (*.f64 y.im (atan2.f64 x.im x.re))))
(+.f64 (*.f64 y.re (log.f64 x.im)) (neg.f64 (*.f64 y.im (atan2.f64 x.im x.re))))
(+.f64 (*.f64 y.re (log.f64 x.im)) (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re))))
(+.f64 (*.f64 y.re (log.f64 x.im)) (*.f64 -1 (*.f64 y.im (atan2.f64 x.im x.re))))
(+.f64 (*.f64 y.re (log.f64 x.im)) (neg.f64 (*.f64 y.im (atan2.f64 x.im x.re))))
(+.f64 (*.f64 y.re (log.f64 x.im)) (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re))))
(+.f64 (*.f64 y.re (log.f64 x.im)) (*.f64 -1 (*.f64 y.im (atan2.f64 x.im x.re))))
(+.f64 (*.f64 y.re (log.f64 x.im)) (neg.f64 (*.f64 y.im (atan2.f64 x.im x.re))))
(+.f64 (*.f64 y.re (log.f64 x.im)) (*.f64 y.im (neg.f64 (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 (*.f64 y.re (log.f64 x.im)) (*.f64 -1 (*.f64 y.im (atan2.f64 x.im x.re))))
(+.f64 (*.f64 y.re (log.f64 x.im)) (neg.f64 (*.f64 y.im (atan2.f64 x.im x.re))))
(+.f64 (*.f64 y.re (log.f64 x.im)) (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re))))
(+.f64 (*.f64 y.re (log.f64 x.im)) (*.f64 -1 (*.f64 y.im (atan2.f64 x.im x.re))))
(+.f64 (*.f64 y.re (log.f64 x.im)) (neg.f64 (*.f64 y.im (atan2.f64 x.im x.re))))
(+.f64 (*.f64 y.re (log.f64 x.im)) (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re))))
(+.f64 (*.f64 y.re (log.f64 x.im)) (*.f64 -1 (*.f64 y.im (atan2.f64 x.im x.re))))
(+.f64 (*.f64 y.re (log.f64 x.im)) (neg.f64 (*.f64 y.im (atan2.f64 x.im x.re))))
(+.f64 (*.f64 y.re (log.f64 x.im)) (*.f64 y.im (neg.f64 (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 (*.f64 y.re (log.f64 x.im)) (*.f64 -1 (*.f64 y.im (atan2.f64 x.im x.re))))
(+.f64 (*.f64 y.re (log.f64 x.im)) (neg.f64 (*.f64 y.im (atan2.f64 x.im x.re))))
(+.f64 (*.f64 y.re (log.f64 x.im)) (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re))))
(+.f64 (*.f64 y.re (log.f64 x.im)) (*.f64 -1 (*.f64 y.im (atan2.f64 x.im x.re))))
(+.f64 (*.f64 y.re (log.f64 x.im)) (neg.f64 (*.f64 y.im (atan2.f64 x.im x.re))))
(+.f64 (*.f64 y.re (log.f64 x.im)) (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re))))
(+.f64 (*.f64 y.re (log.f64 x.im)) (*.f64 -1 (*.f64 y.im (atan2.f64 x.im x.re))))
(+.f64 (*.f64 y.re (log.f64 x.im)) (neg.f64 (*.f64 y.im (atan2.f64 x.im x.re))))
(+.f64 (*.f64 y.re (log.f64 x.im)) (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re))))
(+.f64 (*.f64 (log.f64 x.im) y.re) (neg.f64 (*.f64 (atan2.f64 x.im x.re) y.im)))
(+.f64 (*.f64 y.re (log.f64 x.im)) (neg.f64 (*.f64 y.im (atan2.f64 x.im x.re))))
(+.f64 (*.f64 y.re (log.f64 x.im)) (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re))))
(+.f64 (-.f64 (*.f64 (log.f64 x.im) y.re) (*.f64 (atan2.f64 x.im x.re) y.im)) 0)
(-.f64 (*.f64 y.re (log.f64 x.im)) (*.f64 y.im (atan2.f64 x.im x.re)))
(+.f64 0 (-.f64 (*.f64 (log.f64 x.im) y.re) (*.f64 (atan2.f64 x.im x.re) y.im)))
(-.f64 (*.f64 y.re (log.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 x.im) y.re))
(+.f64 (*.f64 y.re (log.f64 x.im)) (neg.f64 (*.f64 y.im (atan2.f64 x.im x.re))))
(+.f64 (*.f64 y.re (log.f64 x.im)) (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re))))
(+.f64 -1 (+.f64 (*.f64 (log.f64 x.im) y.re) (-.f64 1 (*.f64 (atan2.f64 x.im x.re) y.im))))
(+.f64 (*.f64 y.re (log.f64 x.im)) (neg.f64 (*.f64 y.im (atan2.f64 x.im x.re))))
(+.f64 (*.f64 y.re (log.f64 x.im)) (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re))))
(+.f64 (+.f64 (*.f64 (log.f64 x.im) y.re) (-.f64 1 (*.f64 (atan2.f64 x.im x.re) y.im))) -1)
(+.f64 (*.f64 y.re (log.f64 x.im)) (neg.f64 (*.f64 y.im (atan2.f64 x.im x.re))))
(+.f64 (*.f64 y.re (log.f64 x.im)) (*.f64 y.im (neg.f64 (atan2.f64 x.im x.re))))
(+.f64 (*.f64 (-.f64 (*.f64 (log.f64 x.im) y.re) (*.f64 (atan2.f64 x.im x.re) y.im)) 1/2) (*.f64 (-.f64 (*.f64 (log.f64 x.im) y.re) (*.f64 (atan2.f64 x.im x.re) y.im)) 1/2))
(-.f64 (*.f64 y.re (log.f64 x.im)) (*.f64 y.im (atan2.f64 x.im x.re)))
(*.f64 (-.f64 (*.f64 (log.f64 x.im) y.re) (*.f64 (atan2.f64 x.im x.re) y.im)) 1)
(-.f64 (*.f64 y.re (log.f64 x.im)) (*.f64 y.im (atan2.f64 x.im x.re)))
(*.f64 1 (-.f64 (*.f64 (log.f64 x.im) y.re) (*.f64 (atan2.f64 x.im x.re) y.im)))
(-.f64 (*.f64 y.re (log.f64 x.im)) (*.f64 y.im (atan2.f64 x.im x.re)))
(*.f64 2 (*.f64 (-.f64 (*.f64 (log.f64 x.im) y.re) (*.f64 (atan2.f64 x.im x.re) y.im)) 1/2))
(-.f64 (*.f64 y.re (log.f64 x.im)) (*.f64 y.im (atan2.f64 x.im x.re)))
(*.f64 2 (-.f64 (*.f64 (log.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 x.im)) (*.f64 y.im (atan2.f64 x.im x.re)))
(*.f64 (*.f64 (-.f64 (*.f64 (log.f64 x.im) y.re) (*.f64 (atan2.f64 x.im x.re) y.im)) 2) 1/2)
(-.f64 (*.f64 y.re (log.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 x.im) y.re)) -1)
(-.f64 (*.f64 y.re (log.f64 x.im)) (*.f64 y.im (atan2.f64 x.im x.re)))
(*.f64 4 (/.f64 (-.f64 (*.f64 (log.f64 x.im) y.re) (*.f64 (atan2.f64 x.im x.re) y.im)) 4))
(-.f64 (*.f64 y.re (log.f64 x.im)) (*.f64 y.im (atan2.f64 x.im x.re)))
(*.f64 (*.f64 (-.f64 (*.f64 (log.f64 x.im) y.re) (*.f64 (atan2.f64 x.im x.re) y.im)) 4) 1/4)
(-.f64 (*.f64 y.re (log.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 x.im) y.re)))
(-.f64 (*.f64 y.re (log.f64 x.im)) (*.f64 y.im (atan2.f64 x.im x.re)))
(*.f64 1/2 (*.f64 (-.f64 (*.f64 (log.f64 x.im) y.re) (*.f64 (atan2.f64 x.im x.re) y.im)) 2))
(-.f64 (*.f64 y.re (log.f64 x.im)) (*.f64 y.im (atan2.f64 x.im x.re)))
(*.f64 1/2 (-.f64 (*.f64 (log.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 x.im) y.re) (*.f64 (atan2.f64 x.im x.re) y.im)) 1/2) 2)
(-.f64 (*.f64 y.re (log.f64 x.im)) (*.f64 y.im (atan2.f64 x.im x.re)))
(*.f64 1/4 (*.f64 (-.f64 (*.f64 (log.f64 x.im) y.re) (*.f64 (atan2.f64 x.im x.re) y.im)) 4))
(-.f64 (*.f64 y.re (log.f64 x.im)) (*.f64 y.im (atan2.f64 x.im x.re)))
(*.f64 (/.f64 (-.f64 (*.f64 (log.f64 x.im) y.re) (*.f64 (atan2.f64 x.im x.re) y.im)) 4) 4)
(-.f64 (*.f64 y.re (log.f64 x.im)) (*.f64 y.im (atan2.f64 x.im x.re)))
(/.f64 (-.f64 (*.f64 (log.f64 x.im) y.re) (*.f64 (atan2.f64 x.im x.re) y.im)) 1)
(-.f64 (*.f64 y.re (log.f64 x.im)) (*.f64 y.im (atan2.f64 x.im x.re)))
(/.f64 (*.f64 (-.f64 (*.f64 (log.f64 x.im) y.re) (*.f64 (atan2.f64 x.im x.re) y.im)) 2) 2)
(-.f64 (*.f64 y.re (log.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 x.im) y.re)) -1)
(-.f64 (*.f64 y.re (log.f64 x.im)) (*.f64 y.im (atan2.f64 x.im x.re)))
(/.f64 (*.f64 (-.f64 (*.f64 (log.f64 x.im) y.re) (*.f64 (atan2.f64 x.im x.re) y.im)) 4) 4)
(-.f64 (*.f64 y.re (log.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 x.im) y.re))) -2)
(-.f64 (*.f64 y.re (log.f64 x.im)) (*.f64 y.im (atan2.f64 x.im x.re)))
(/.f64 (*.f64 (-.f64 (*.f64 (log.f64 x.im) y.re) (*.f64 (atan2.f64 x.im x.re) y.im)) 8) 8)
(-.f64 (*.f64 y.re (log.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 x.im) y.re)) 4) -4)
(-.f64 (*.f64 y.re (log.f64 x.im)) (*.f64 y.im (atan2.f64 x.im x.re)))
(/.f64 (*.f64 2 (*.f64 (-.f64 (*.f64 (log.f64 x.im) y.re) (*.f64 (atan2.f64 x.im x.re) y.im)) 8)) 16)
(-.f64 (*.f64 y.re (log.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 x.im) y.re)))) 2)
(-.f64 (*.f64 y.re (log.f64 x.im)) (*.f64 y.im (atan2.f64 x.im x.re)))
(/.f64 (+.f64 (*.f64 2 (*.f64 (-.f64 (*.f64 (log.f64 x.im) y.re) (*.f64 (atan2.f64 x.im x.re) y.im)) 8)) (*.f64 2 (*.f64 (-.f64 (*.f64 (log.f64 x.im) y.re) (*.f64 (atan2.f64 x.im x.re) y.im)) 8))) 32)
(-.f64 (*.f64 y.re (log.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 x.im) y.re)))) (neg.f64 (*.f64 2 (-.f64 (*.f64 (atan2.f64 x.im x.re) y.im) (*.f64 (log.f64 x.im) y.re))))) 4)
(-.f64 (*.f64 y.re (log.f64 x.im)) (*.f64 y.im (atan2.f64 x.im x.re)))
(/.f64 (/.f64 (*.f64 (-.f64 (*.f64 (atan2.f64 x.im x.re) y.im) (*.f64 (log.f64 x.im) y.re)) 4) -1) 4)
(-.f64 (*.f64 y.re (log.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 x.im) y.re)))
(-.f64 (*.f64 y.re (log.f64 x.im)) (*.f64 y.im (atan2.f64 x.im x.re)))

localize21.0ms (0.1%)

Local error

Found 3 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)
2.2b
(*.f64 (atan2.f64 x.im x.re) y.im)
Compiler

Compiled 64 to 14 computations (78.1% saved)

series9.0ms (0%)

Counts
1 → 48
Calls

12 calls:

TimeVariablePointExpression
7.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
x.im
@inf
(-.f64 (*.f64 (log.f64 (neg.f64 x.im)) y.re) (*.f64 (atan2.f64 x.im x.re) y.im))
0.0ms
x.re
@inf
(-.f64 (*.f64 (log.f64 (neg.f64 x.im)) y.re) (*.f64 (atan2.f64 x.im x.re) y.im))

rewrite91.0ms (0.3%)

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

simplify1.2s (3.4%)

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

localize19.0ms (0.1%)

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 x.im))
2.2b
(*.f64 (atan2.f64 x.im x.re) y.im)
12.3b
(cos.f64 (*.f64 y.im (log.f64 x.im)))
Compiler

Compiled 69 to 13 computations (81.2% saved)

series3.0ms (0%)

Counts
2 → 36
Calls

12 calls:

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

rewrite95.0ms (0.3%)

Algorithm
batch-egg-rewrite
Rules
1538×bool.json-1
1538×bool.json-2
1490×rational.json-1
1490×rational.json-2
1490×rational.json-3
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0826
18026
222926
350226
4110426
5260326
6561626
Stop Event
node limit
Counts
2 → 42
Calls
Call 1
Inputs
(cos.f64 (*.f64 y.im (log.f64 x.im)))
(*.f64 y.im (log.f64 x.im))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (cos.f64 (*.f64 y.im (log.f64 x.im))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (cos.f64 (*.f64 y.im (log.f64 x.im))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (cos.f64 (*.f64 y.im (log.f64 x.im))) 1/2) (*.f64 (cos.f64 (*.f64 y.im (log.f64 x.im))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (cos.f64 (*.f64 y.im (log.f64 x.im))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cos.f64 (*.f64 y.im (log.f64 x.im))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (cos.f64 (*.f64 y.im (log.f64 x.im))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (cos.f64 (*.f64 y.im (log.f64 x.im))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cos.f64 (*.f64 y.im (log.f64 x.im))) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 (cos.f64 (*.f64 y.im (log.f64 x.im))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cos.f64 (*.f64 y.im (log.f64 x.im))) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 (cos.f64 (*.f64 y.im (log.f64 x.im))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cos.f64 (*.f64 y.im (log.f64 x.im))) 1/2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (cos.f64 (*.f64 y.im (log.f64 x.im))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cos.f64 (*.f64 y.im (log.f64 x.im))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (cos.f64 (*.f64 y.im (log.f64 x.im))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cos.f64 (*.f64 y.im (log.f64 x.im))) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cos.f64 (*.f64 y.im (log.f64 x.im))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cos.f64 (*.f64 y.im (log.f64 x.im))) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (cos.f64 (*.f64 y.im (log.f64 x.im))) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 (cos.f64 (*.f64 y.im (log.f64 x.im))) 8)) (*.f64 2 (*.f64 (cos.f64 (*.f64 y.im (log.f64 x.im))) 8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (cos.f64 (*.f64 y.im (log.f64 x.im)))))))) (#(struct:change #<rule egg-rr> (2) ((x and (cos.f64 (*.f64 y.im (log.f64 x.im))) (cos.f64 (*.f64 y.im (log.f64 x.im))))))) (#(struct:change #<rule egg-rr> (2) ((x or (cos.f64 (*.f64 y.im (log.f64 x.im))) (cos.f64 (*.f64 y.im (log.f64 x.im))))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 y.im (log.f64 x.im)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 y.im (log.f64 x.im)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 -1 (+.f64 (*.f64 y.im (log.f64 x.im)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (*.f64 y.im (log.f64 x.im)) 1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 y.im (*.f64 (log.f64 x.im) 1/2)) (*.f64 y.im (*.f64 (log.f64 x.im) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 y.im (log.f64 x.im)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (*.f64 y.im (neg.f64 (log.f64 x.im))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 1 (-.f64 1 (*.f64 y.im (log.f64 x.im))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (*.f64 y.im (log.f64 x.im)) 1) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 y.im (log.f64 x.im)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 y.im (neg.f64 (log.f64 x.im))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 y.im (*.f64 (log.f64 x.im) 2)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 y.im (*.f64 (log.f64 x.im) 4)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 y.im (*.f64 (log.f64 x.im) -2)) -2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 y.im (log.f64 x.im)) -4) -4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 y.im (log.f64 x.im)) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 y.im (neg.f64 (log.f64 x.im))) 8) -8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (*.f64 y.im (log.f64 x.im)) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 (*.f64 y.im (log.f64 x.im)) -4)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 (*.f64 y.im (log.f64 x.im)) 8)) (*.f64 2 (*.f64 (*.f64 y.im (log.f64 x.im)) 8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (neg.f64 (*.f64 (*.f64 y.im (log.f64 x.im)) -4)) (neg.f64 (*.f64 (*.f64 y.im (log.f64 x.im)) -4))) 8)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (*.f64 y.im (neg.f64 (log.f64 x.im))))))) (#(struct:change #<rule egg-rr> (2) ((x not (not (*.f64 y.im (log.f64 x.im))))))) (#(struct:change #<rule egg-rr> (2) ((x and (*.f64 y.im (log.f64 x.im)) (*.f64 y.im (log.f64 x.im)))))) (#(struct:change #<rule egg-rr> (2) ((x or (*.f64 y.im (log.f64 x.im)) (*.f64 y.im (log.f64 x.im)))))))

simplify994.0ms (2.8%)

Algorithm
egg-herbie
Rules
1908×rational.json-simplify-35
856×rational.json-simplify-2
840×rational.json-simplify-26
826×rational.json-simplify-1
794×rational.json-simplify-44
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01251422
12781390
26791374
317091374
438861374
552411374
672401374
778591374
Stop Event
node limit
Counts
78 → 69
Calls
Call 1
Inputs
1
(+.f64 1 (*.f64 -1/2 (*.f64 (pow.f64 y.im 2) (pow.f64 (log.f64 x.im) 2))))
(+.f64 1 (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y.im 2) (pow.f64 (log.f64 x.im) 2))) (*.f64 1/24 (*.f64 (pow.f64 y.im 4) (pow.f64 (log.f64 x.im) 4)))))
(+.f64 1 (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y.im 2) (pow.f64 (log.f64 x.im) 2))) (+.f64 (*.f64 -1/720 (*.f64 (pow.f64 y.im 6) (pow.f64 (log.f64 x.im) 6))) (*.f64 1/24 (*.f64 (pow.f64 y.im 4) (pow.f64 (log.f64 x.im) 4))))))
(cos.f64 (*.f64 (log.f64 x.im) y.im))
(cos.f64 (*.f64 (log.f64 x.im) y.im))
(cos.f64 (*.f64 (log.f64 x.im) y.im))
(cos.f64 (*.f64 (log.f64 x.im) y.im))
(cos.f64 (*.f64 -1 (*.f64 (log.f64 (/.f64 1 x.im)) y.im)))
(cos.f64 (*.f64 -1 (*.f64 (log.f64 (/.f64 1 x.im)) y.im)))
(cos.f64 (*.f64 -1 (*.f64 (log.f64 (/.f64 1 x.im)) y.im)))
(cos.f64 (*.f64 -1 (*.f64 (log.f64 (/.f64 1 x.im)) y.im)))
(cos.f64 (*.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 x.im)))) y.im))
(cos.f64 (*.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 x.im)))) y.im))
(cos.f64 (*.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 x.im)))) y.im))
(cos.f64 (*.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 x.im)))) y.im))
(*.f64 (log.f64 x.im) y.im)
(*.f64 (log.f64 x.im) y.im)
(*.f64 (log.f64 x.im) y.im)
(*.f64 (log.f64 x.im) y.im)
(*.f64 (log.f64 x.im) y.im)
(*.f64 (log.f64 x.im) y.im)
(*.f64 (log.f64 x.im) y.im)
(*.f64 (log.f64 x.im) y.im)
(*.f64 (log.f64 x.im) y.im)
(*.f64 (log.f64 x.im) y.im)
(*.f64 (log.f64 x.im) y.im)
(*.f64 (log.f64 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 -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 (cos.f64 (*.f64 y.im (log.f64 x.im))) 0)
(+.f64 0 (cos.f64 (*.f64 y.im (log.f64 x.im))))
(+.f64 (*.f64 (cos.f64 (*.f64 y.im (log.f64 x.im))) 1/2) (*.f64 (cos.f64 (*.f64 y.im (log.f64 x.im))) 1/2))
(-.f64 (cos.f64 (*.f64 y.im (log.f64 x.im))) 0)
(*.f64 (cos.f64 (*.f64 y.im (log.f64 x.im))) 1)
(*.f64 1 (cos.f64 (*.f64 y.im (log.f64 x.im))))
(*.f64 2 (*.f64 (cos.f64 (*.f64 y.im (log.f64 x.im))) 1/2))
(*.f64 (*.f64 (cos.f64 (*.f64 y.im (log.f64 x.im))) 2) 1/2)
(*.f64 4 (/.f64 (cos.f64 (*.f64 y.im (log.f64 x.im))) 4))
(*.f64 (*.f64 (cos.f64 (*.f64 y.im (log.f64 x.im))) 4) 1/4)
(*.f64 1/2 (*.f64 (cos.f64 (*.f64 y.im (log.f64 x.im))) 2))
(*.f64 (*.f64 (cos.f64 (*.f64 y.im (log.f64 x.im))) 1/2) 2)
(*.f64 1/4 (*.f64 (cos.f64 (*.f64 y.im (log.f64 x.im))) 4))
(*.f64 (/.f64 (cos.f64 (*.f64 y.im (log.f64 x.im))) 4) 4)
(/.f64 (cos.f64 (*.f64 y.im (log.f64 x.im))) 1)
(/.f64 (*.f64 (cos.f64 (*.f64 y.im (log.f64 x.im))) 2) 2)
(/.f64 (*.f64 (cos.f64 (*.f64 y.im (log.f64 x.im))) 4) 4)
(/.f64 (*.f64 (cos.f64 (*.f64 y.im (log.f64 x.im))) 8) 8)
(/.f64 (*.f64 2 (*.f64 (cos.f64 (*.f64 y.im (log.f64 x.im))) 8)) 16)
(/.f64 (+.f64 (*.f64 2 (*.f64 (cos.f64 (*.f64 y.im (log.f64 x.im))) 8)) (*.f64 2 (*.f64 (cos.f64 (*.f64 y.im (log.f64 x.im))) 8))) 32)
(+.f64 (*.f64 y.im (log.f64 x.im)) 0)
(+.f64 0 (*.f64 y.im (log.f64 x.im)))
(+.f64 -1 (+.f64 (*.f64 y.im (log.f64 x.im)) 1))
(+.f64 (+.f64 (*.f64 y.im (log.f64 x.im)) 1) -1)
(+.f64 (*.f64 y.im (*.f64 (log.f64 x.im) 1/2)) (*.f64 y.im (*.f64 (log.f64 x.im) 1/2)))
(-.f64 (*.f64 y.im (log.f64 x.im)) 0)
(-.f64 0 (*.f64 y.im (neg.f64 (log.f64 x.im))))
(-.f64 1 (-.f64 1 (*.f64 y.im (log.f64 x.im))))
(-.f64 (+.f64 (*.f64 y.im (log.f64 x.im)) 1) 1)
(/.f64 (*.f64 y.im (log.f64 x.im)) 1)
(/.f64 (*.f64 y.im (neg.f64 (log.f64 x.im))) -1)
(/.f64 (*.f64 y.im (*.f64 (log.f64 x.im) 2)) 2)
(/.f64 (*.f64 y.im (*.f64 (log.f64 x.im) 4)) 4)
(/.f64 (*.f64 y.im (*.f64 (log.f64 x.im) -2)) -2)
(/.f64 (*.f64 (*.f64 y.im (log.f64 x.im)) -4) -4)
(/.f64 (*.f64 (*.f64 y.im (log.f64 x.im)) 8) 8)
(/.f64 (*.f64 (*.f64 y.im (neg.f64 (log.f64 x.im))) 8) -8)
(/.f64 (*.f64 2 (*.f64 (*.f64 y.im (log.f64 x.im)) 8)) 16)
(/.f64 (neg.f64 (*.f64 (*.f64 y.im (log.f64 x.im)) -4)) 4)
(/.f64 (+.f64 (*.f64 2 (*.f64 (*.f64 y.im (log.f64 x.im)) 8)) (*.f64 2 (*.f64 (*.f64 y.im (log.f64 x.im)) 8))) 32)
(/.f64 (+.f64 (neg.f64 (*.f64 (*.f64 y.im (log.f64 x.im)) -4)) (neg.f64 (*.f64 (*.f64 y.im (log.f64 x.im)) -4))) 8)
(neg.f64 (*.f64 y.im (neg.f64 (log.f64 x.im))))
Outputs
1
(+.f64 1 (*.f64 -1/2 (*.f64 (pow.f64 y.im 2) (pow.f64 (log.f64 x.im) 2))))
(+.f64 1 (*.f64 (pow.f64 (log.f64 x.im) 2) (*.f64 -1/2 (pow.f64 y.im 2))))
(+.f64 1 (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y.im 2) (pow.f64 (log.f64 x.im) 2))) (*.f64 1/24 (*.f64 (pow.f64 y.im 4) (pow.f64 (log.f64 x.im) 4)))))
(+.f64 1 (+.f64 (*.f64 (pow.f64 (log.f64 x.im) 2) (*.f64 -1/2 (pow.f64 y.im 2))) (*.f64 (pow.f64 y.im 4) (*.f64 1/24 (pow.f64 (log.f64 x.im) 4)))))
(+.f64 1 (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y.im 2) (pow.f64 (log.f64 x.im) 2))) (+.f64 (*.f64 -1/720 (*.f64 (pow.f64 y.im 6) (pow.f64 (log.f64 x.im) 6))) (*.f64 1/24 (*.f64 (pow.f64 y.im 4) (pow.f64 (log.f64 x.im) 4))))))
(+.f64 1 (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y.im 2) (pow.f64 (log.f64 x.im) 2))) (+.f64 (*.f64 1/24 (*.f64 (pow.f64 y.im 4) (pow.f64 (log.f64 x.im) 4))) (*.f64 -1/720 (*.f64 (pow.f64 y.im 6) (pow.f64 (log.f64 x.im) 6))))))
(+.f64 (*.f64 (pow.f64 (log.f64 x.im) 2) (*.f64 -1/2 (pow.f64 y.im 2))) (+.f64 (*.f64 (pow.f64 y.im 4) (*.f64 1/24 (pow.f64 (log.f64 x.im) 4))) (+.f64 1 (*.f64 (pow.f64 (log.f64 x.im) 6) (*.f64 -1/720 (pow.f64 y.im 6))))))
(+.f64 (*.f64 1/24 (*.f64 (pow.f64 y.im 4) (pow.f64 (log.f64 x.im) 4))) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y.im 2) (pow.f64 (log.f64 x.im) 2))) (+.f64 1 (*.f64 -1/720 (*.f64 (pow.f64 y.im 6) (pow.f64 (log.f64 x.im) 6))))))
(cos.f64 (*.f64 (log.f64 x.im) y.im))
(cos.f64 (*.f64 y.im (log.f64 x.im)))
(cos.f64 (*.f64 (log.f64 x.im) y.im))
(cos.f64 (*.f64 y.im (log.f64 x.im)))
(cos.f64 (*.f64 (log.f64 x.im) y.im))
(cos.f64 (*.f64 y.im (log.f64 x.im)))
(cos.f64 (*.f64 (log.f64 x.im) y.im))
(cos.f64 (*.f64 y.im (log.f64 x.im)))
(cos.f64 (*.f64 -1 (*.f64 (log.f64 (/.f64 1 x.im)) y.im)))
(cos.f64 (*.f64 (log.f64 (/.f64 1 x.im)) (*.f64 y.im -1)))
(cos.f64 (*.f64 (log.f64 (/.f64 1 x.im)) (neg.f64 y.im)))
(cos.f64 (*.f64 y.im (log.f64 (/.f64 1 x.im))))
(cos.f64 (*.f64 -1 (*.f64 (log.f64 (/.f64 1 x.im)) y.im)))
(cos.f64 (*.f64 (log.f64 (/.f64 1 x.im)) (*.f64 y.im -1)))
(cos.f64 (*.f64 (log.f64 (/.f64 1 x.im)) (neg.f64 y.im)))
(cos.f64 (*.f64 y.im (log.f64 (/.f64 1 x.im))))
(cos.f64 (*.f64 -1 (*.f64 (log.f64 (/.f64 1 x.im)) y.im)))
(cos.f64 (*.f64 (log.f64 (/.f64 1 x.im)) (*.f64 y.im -1)))
(cos.f64 (*.f64 (log.f64 (/.f64 1 x.im)) (neg.f64 y.im)))
(cos.f64 (*.f64 y.im (log.f64 (/.f64 1 x.im))))
(cos.f64 (*.f64 -1 (*.f64 (log.f64 (/.f64 1 x.im)) y.im)))
(cos.f64 (*.f64 (log.f64 (/.f64 1 x.im)) (*.f64 y.im -1)))
(cos.f64 (*.f64 (log.f64 (/.f64 1 x.im)) (neg.f64 y.im)))
(cos.f64 (*.f64 y.im (log.f64 (/.f64 1 x.im))))
(cos.f64 (*.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 x.im)))) y.im))
(cos.f64 (*.f64 y.im (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 x.im))))))
(cos.f64 (*.f64 y.im (+.f64 (log.f64 -1) (neg.f64 (log.f64 (/.f64 -1 x.im))))))
(cos.f64 (*.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 x.im)))) y.im))
(cos.f64 (*.f64 y.im (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 x.im))))))
(cos.f64 (*.f64 y.im (+.f64 (log.f64 -1) (neg.f64 (log.f64 (/.f64 -1 x.im))))))
(cos.f64 (*.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 x.im)))) y.im))
(cos.f64 (*.f64 y.im (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 x.im))))))
(cos.f64 (*.f64 y.im (+.f64 (log.f64 -1) (neg.f64 (log.f64 (/.f64 -1 x.im))))))
(cos.f64 (*.f64 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 x.im)))) y.im))
(cos.f64 (*.f64 y.im (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 x.im))))))
(cos.f64 (*.f64 y.im (+.f64 (log.f64 -1) (neg.f64 (log.f64 (/.f64 -1 x.im))))))
(*.f64 (log.f64 x.im) y.im)
(*.f64 y.im (log.f64 x.im))
(*.f64 (log.f64 x.im) y.im)
(*.f64 y.im (log.f64 x.im))
(*.f64 (log.f64 x.im) y.im)
(*.f64 y.im (log.f64 x.im))
(*.f64 (log.f64 x.im) y.im)
(*.f64 y.im (log.f64 x.im))
(*.f64 (log.f64 x.im) y.im)
(*.f64 y.im (log.f64 x.im))
(*.f64 (log.f64 x.im) y.im)
(*.f64 y.im (log.f64 x.im))
(*.f64 (log.f64 x.im) y.im)
(*.f64 y.im (log.f64 x.im))
(*.f64 (log.f64 x.im) y.im)
(*.f64 y.im (log.f64 x.im))
(*.f64 (log.f64 x.im) y.im)
(*.f64 y.im (log.f64 x.im))
(*.f64 (log.f64 x.im) y.im)
(*.f64 y.im (log.f64 x.im))
(*.f64 (log.f64 x.im) y.im)
(*.f64 y.im (log.f64 x.im))
(*.f64 (log.f64 x.im) y.im)
(*.f64 y.im (log.f64 x.im))
(*.f64 -1 (*.f64 (log.f64 (/.f64 1 x.im)) y.im))
(*.f64 (log.f64 (/.f64 1 x.im)) (*.f64 y.im -1))
(*.f64 (log.f64 (/.f64 1 x.im)) (neg.f64 y.im))
(*.f64 y.im (neg.f64 (log.f64 (/.f64 1 x.im))))
(*.f64 -1 (*.f64 (log.f64 (/.f64 1 x.im)) y.im))
(*.f64 (log.f64 (/.f64 1 x.im)) (*.f64 y.im -1))
(*.f64 (log.f64 (/.f64 1 x.im)) (neg.f64 y.im))
(*.f64 y.im (neg.f64 (log.f64 (/.f64 1 x.im))))
(*.f64 -1 (*.f64 (log.f64 (/.f64 1 x.im)) y.im))
(*.f64 (log.f64 (/.f64 1 x.im)) (*.f64 y.im -1))
(*.f64 (log.f64 (/.f64 1 x.im)) (neg.f64 y.im))
(*.f64 y.im (neg.f64 (log.f64 (/.f64 1 x.im))))
(*.f64 -1 (*.f64 (log.f64 (/.f64 1 x.im)) y.im))
(*.f64 (log.f64 (/.f64 1 x.im)) (*.f64 y.im -1))
(*.f64 (log.f64 (/.f64 1 x.im)) (neg.f64 y.im))
(*.f64 y.im (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 -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 (cos.f64 (*.f64 y.im (log.f64 x.im))) 0)
(cos.f64 (*.f64 y.im (log.f64 x.im)))
(+.f64 0 (cos.f64 (*.f64 y.im (log.f64 x.im))))
(cos.f64 (*.f64 y.im (log.f64 x.im)))
(+.f64 (*.f64 (cos.f64 (*.f64 y.im (log.f64 x.im))) 1/2) (*.f64 (cos.f64 (*.f64 y.im (log.f64 x.im))) 1/2))
(cos.f64 (*.f64 y.im (log.f64 x.im)))
(-.f64 (cos.f64 (*.f64 y.im (log.f64 x.im))) 0)
(cos.f64 (*.f64 y.im (log.f64 x.im)))
(*.f64 (cos.f64 (*.f64 y.im (log.f64 x.im))) 1)
(cos.f64 (*.f64 y.im (log.f64 x.im)))
(*.f64 1 (cos.f64 (*.f64 y.im (log.f64 x.im))))
(cos.f64 (*.f64 y.im (log.f64 x.im)))
(*.f64 2 (*.f64 (cos.f64 (*.f64 y.im (log.f64 x.im))) 1/2))
(cos.f64 (*.f64 y.im (log.f64 x.im)))
(*.f64 (*.f64 (cos.f64 (*.f64 y.im (log.f64 x.im))) 2) 1/2)
(cos.f64 (*.f64 y.im (log.f64 x.im)))
(*.f64 4 (/.f64 (cos.f64 (*.f64 y.im (log.f64 x.im))) 4))
(cos.f64 (*.f64 y.im (log.f64 x.im)))
(*.f64 (*.f64 (cos.f64 (*.f64 y.im (log.f64 x.im))) 4) 1/4)
(cos.f64 (*.f64 y.im (log.f64 x.im)))
(*.f64 1/2 (*.f64 (cos.f64 (*.f64 y.im (log.f64 x.im))) 2))
(cos.f64 (*.f64 y.im (log.f64 x.im)))
(*.f64 (*.f64 (cos.f64 (*.f64 y.im (log.f64 x.im))) 1/2) 2)
(cos.f64 (*.f64 y.im (log.f64 x.im)))
(*.f64 1/4 (*.f64 (cos.f64 (*.f64 y.im (log.f64 x.im))) 4))
(cos.f64 (*.f64 y.im (log.f64 x.im)))
(*.f64 (/.f64 (cos.f64 (*.f64 y.im (log.f64 x.im))) 4) 4)
(cos.f64 (*.f64 y.im (log.f64 x.im)))
(/.f64 (cos.f64 (*.f64 y.im (log.f64 x.im))) 1)
(cos.f64 (*.f64 y.im (log.f64 x.im)))
(/.f64 (*.f64 (cos.f64 (*.f64 y.im (log.f64 x.im))) 2) 2)
(cos.f64 (*.f64 y.im (log.f64 x.im)))
(/.f64 (*.f64 (cos.f64 (*.f64 y.im (log.f64 x.im))) 4) 4)
(cos.f64 (*.f64 y.im (log.f64 x.im)))
(/.f64 (*.f64 (cos.f64 (*.f64 y.im (log.f64 x.im))) 8) 8)
(cos.f64 (*.f64 y.im (log.f64 x.im)))
(/.f64 (*.f64 2 (*.f64 (cos.f64 (*.f64 y.im (log.f64 x.im))) 8)) 16)
(cos.f64 (*.f64 y.im (log.f64 x.im)))
(/.f64 (+.f64 (*.f64 2 (*.f64 (cos.f64 (*.f64 y.im (log.f64 x.im))) 8)) (*.f64 2 (*.f64 (cos.f64 (*.f64 y.im (log.f64 x.im))) 8))) 32)
(cos.f64 (*.f64 y.im (log.f64 x.im)))
(+.f64 (*.f64 y.im (log.f64 x.im)) 0)
(*.f64 y.im (log.f64 x.im))
(+.f64 0 (*.f64 y.im (log.f64 x.im)))
(*.f64 y.im (log.f64 x.im))
(+.f64 -1 (+.f64 (*.f64 y.im (log.f64 x.im)) 1))
(*.f64 y.im (log.f64 x.im))
(+.f64 (+.f64 (*.f64 y.im (log.f64 x.im)) 1) -1)
(*.f64 y.im (log.f64 x.im))
(+.f64 (*.f64 y.im (*.f64 (log.f64 x.im) 1/2)) (*.f64 y.im (*.f64 (log.f64 x.im) 1/2)))
(*.f64 y.im (log.f64 x.im))
(-.f64 (*.f64 y.im (log.f64 x.im)) 0)
(*.f64 y.im (log.f64 x.im))
(-.f64 0 (*.f64 y.im (neg.f64 (log.f64 x.im))))
(*.f64 y.im (log.f64 x.im))
(-.f64 1 (-.f64 1 (*.f64 y.im (log.f64 x.im))))
(*.f64 y.im (log.f64 x.im))
(-.f64 (+.f64 (*.f64 y.im (log.f64 x.im)) 1) 1)
(*.f64 y.im (log.f64 x.im))
(/.f64 (*.f64 y.im (log.f64 x.im)) 1)
(*.f64 y.im (log.f64 x.im))
(/.f64 (*.f64 y.im (neg.f64 (log.f64 x.im))) -1)
(*.f64 y.im (log.f64 x.im))
(/.f64 (*.f64 y.im (*.f64 (log.f64 x.im) 2)) 2)
(*.f64 y.im (log.f64 x.im))
(/.f64 (*.f64 y.im (*.f64 (log.f64 x.im) 4)) 4)
(*.f64 y.im (log.f64 x.im))
(/.f64 (*.f64 y.im (*.f64 (log.f64 x.im) -2)) -2)
(*.f64 y.im (log.f64 x.im))
(/.f64 (*.f64 (*.f64 y.im (log.f64 x.im)) -4) -4)
(*.f64 y.im (log.f64 x.im))
(/.f64 (*.f64 (*.f64 y.im (log.f64 x.im)) 8) 8)
(*.f64 y.im (log.f64 x.im))
(/.f64 (*.f64 (*.f64 y.im (neg.f64 (log.f64 x.im))) 8) -8)
(*.f64 y.im (log.f64 x.im))
(/.f64 (*.f64 2 (*.f64 (*.f64 y.im (log.f64 x.im)) 8)) 16)
(*.f64 y.im (log.f64 x.im))
(/.f64 (neg.f64 (*.f64 (*.f64 y.im (log.f64 x.im)) -4)) 4)
(*.f64 y.im (log.f64 x.im))
(/.f64 (+.f64 (*.f64 2 (*.f64 (*.f64 y.im (log.f64 x.im)) 8)) (*.f64 2 (*.f64 (*.f64 y.im (log.f64 x.im)) 8))) 32)
(*.f64 y.im (log.f64 x.im))
(/.f64 (+.f64 (neg.f64 (*.f64 (*.f64 y.im (log.f64 x.im)) -4)) (neg.f64 (*.f64 (*.f64 y.im (log.f64 x.im)) -4))) 8)
(*.f64 y.im (log.f64 x.im))
(neg.f64 (*.f64 y.im (neg.f64 (log.f64 x.im))))
(*.f64 y.im (log.f64 x.im))

localize20.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.1b
(*.f64 (log.f64 (neg.f64 x.re)) y.re)
1.0b
(*.f64 y.re (atan2.f64 x.im x.re))
2.2b
(*.f64 (atan2.f64 x.im x.re) y.im)
15.5b
(cos.f64 (*.f64 y.re (atan2.f64 x.im x.re)))
Compiler

Compiled 79 to 14 computations (82.3% saved)

series12.0ms (0%)

Counts
1 → 24
Calls

6 calls:

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

rewrite113.0ms (0.3%)

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.re)) y.re)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (log.f64 (neg.f64 x.re)) y.re) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (log.f64 (neg.f64 x.re)) y.re))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (log.f64 (neg.f64 x.re)) (*.f64 y.re 1/2)) (*.f64 (log.f64 (neg.f64 x.re)) (*.f64 y.re 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (log.f64 (neg.f64 x.re)) y.re) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (log.f64 (neg.f64 x.re)) y.re) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (log.f64 (neg.f64 x.re)) (+.f64 y.re y.re)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (log.f64 (neg.f64 x.re)) (*.f64 y.re 4)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 (log.f64 (neg.f64 x.re)) y.re) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (*.f64 (log.f64 (neg.f64 x.re)) y.re) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (log.f64 (neg.f64 x.re)) y.re) 8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (log.f64 (neg.f64 x.re)) y.re) 8))) (*.f64 2 (*.f64 2 (*.f64 (*.f64 (log.f64 (neg.f64 x.re)) y.re) 8)))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (*.f64 (log.f64 (neg.f64 x.re)) y.re)))))) (#(struct:change #<rule egg-rr> (2) ((x and (*.f64 (log.f64 (neg.f64 x.re)) y.re) (*.f64 (log.f64 (neg.f64 x.re)) y.re))))) (#(struct:change #<rule egg-rr> (2) ((x or (*.f64 (log.f64 (neg.f64 x.re)) y.re) (*.f64 (log.f64 (neg.f64 x.re)) y.re))))))

simplify1.3s (3.7%)

Algorithm
egg-herbie
Rules
5242×rational.json-simplify-35
2522×rational.json-simplify-2
1118×rational.json-simplify-53
802×rational.json-simplify-43
742×rational.json-simplify-1
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
053653
1118637
2225637
3490637
41945637
53595637
64429637
74800637
84977637
95150637
105319637
115654637
125655637
135730637
145872637
155900637
166113637
176295637
186464637
196633637
206802637
216971637
227140637
237140637
247243637
257243637
267412637
277581637
287750637
297919637
Stop Event
node limit
Counts
35 → 20
Calls
Call 1
Inputs
(*.f64 (+.f64 (log.f64 -1) (log.f64 x.re)) y.re)
(*.f64 (+.f64 (log.f64 -1) (log.f64 x.re)) y.re)
(*.f64 (+.f64 (log.f64 -1) (log.f64 x.re)) y.re)
(*.f64 (+.f64 (log.f64 -1) (log.f64 x.re)) y.re)
(*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 x.re))) (log.f64 -1)) y.re)
(*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 x.re))) (log.f64 -1)) y.re)
(*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 x.re))) (log.f64 -1)) y.re)
(*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 x.re))) (log.f64 -1)) y.re)
(*.f64 -1 (*.f64 y.re (log.f64 (/.f64 -1 x.re))))
(*.f64 -1 (*.f64 y.re (log.f64 (/.f64 -1 x.re))))
(*.f64 -1 (*.f64 y.re (log.f64 (/.f64 -1 x.re))))
(*.f64 -1 (*.f64 y.re (log.f64 (/.f64 -1 x.re))))
(*.f64 y.re (log.f64 (neg.f64 x.re)))
(*.f64 y.re (log.f64 (neg.f64 x.re)))
(*.f64 y.re (log.f64 (neg.f64 x.re)))
(*.f64 y.re (log.f64 (neg.f64 x.re)))
(*.f64 y.re (log.f64 (neg.f64 x.re)))
(*.f64 y.re (log.f64 (neg.f64 x.re)))
(*.f64 y.re (log.f64 (neg.f64 x.re)))
(*.f64 y.re (log.f64 (neg.f64 x.re)))
(*.f64 y.re (log.f64 (neg.f64 x.re)))
(*.f64 y.re (log.f64 (neg.f64 x.re)))
(*.f64 y.re (log.f64 (neg.f64 x.re)))
(*.f64 y.re (log.f64 (neg.f64 x.re)))
(+.f64 (*.f64 (log.f64 (neg.f64 x.re)) y.re) 0)
(+.f64 0 (*.f64 (log.f64 (neg.f64 x.re)) y.re))
(+.f64 (*.f64 (log.f64 (neg.f64 x.re)) (*.f64 y.re 1/2)) (*.f64 (log.f64 (neg.f64 x.re)) (*.f64 y.re 1/2)))
(-.f64 (*.f64 (log.f64 (neg.f64 x.re)) y.re) 0)
(/.f64 (*.f64 (log.f64 (neg.f64 x.re)) y.re) 1)
(/.f64 (*.f64 (log.f64 (neg.f64 x.re)) (+.f64 y.re y.re)) 2)
(/.f64 (*.f64 (log.f64 (neg.f64 x.re)) (*.f64 y.re 4)) 4)
(/.f64 (*.f64 (*.f64 (log.f64 (neg.f64 x.re)) y.re) 8) 8)
(/.f64 (*.f64 2 (*.f64 (*.f64 (log.f64 (neg.f64 x.re)) y.re) 8)) 16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (log.f64 (neg.f64 x.re)) y.re) 8))) 32)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (log.f64 (neg.f64 x.re)) y.re) 8))) (*.f64 2 (*.f64 2 (*.f64 (*.f64 (log.f64 (neg.f64 x.re)) y.re) 8)))) 64)
Outputs
(*.f64 (+.f64 (log.f64 -1) (log.f64 x.re)) y.re)
(*.f64 (+.f64 (log.f64 -1) (log.f64 x.re)) y.re)
(*.f64 (+.f64 (log.f64 -1) (log.f64 x.re)) y.re)
(*.f64 (+.f64 (log.f64 -1) (log.f64 x.re)) y.re)
(*.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 x.re))) (log.f64 -1)) y.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 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 x.re))) (log.f64 -1)) y.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 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 x.re))) (log.f64 -1)) y.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 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 x.re))) (log.f64 -1)) y.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 -1 (*.f64 y.re (log.f64 (/.f64 -1 x.re))))
(neg.f64 (*.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 y.re (log.f64 (/.f64 -1 x.re))))
(neg.f64 (*.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 y.re (log.f64 (/.f64 -1 x.re))))
(neg.f64 (*.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 y.re (log.f64 (/.f64 -1 x.re))))
(neg.f64 (*.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 (log.f64 (neg.f64 x.re)))
(*.f64 y.re (log.f64 (neg.f64 x.re)))
(*.f64 y.re (log.f64 (neg.f64 x.re)))
(*.f64 y.re (log.f64 (neg.f64 x.re)))
(*.f64 y.re (log.f64 (neg.f64 x.re)))
(*.f64 y.re (log.f64 (neg.f64 x.re)))
(*.f64 y.re (log.f64 (neg.f64 x.re)))
(*.f64 y.re (log.f64 (neg.f64 x.re)))
(*.f64 y.re (log.f64 (neg.f64 x.re)))
(*.f64 y.re (log.f64 (neg.f64 x.re)))
(*.f64 y.re (log.f64 (neg.f64 x.re)))
(*.f64 y.re (log.f64 (neg.f64 x.re)))
(+.f64 (*.f64 (log.f64 (neg.f64 x.re)) y.re) 0)
(*.f64 y.re (log.f64 (neg.f64 x.re)))
(+.f64 0 (*.f64 (log.f64 (neg.f64 x.re)) y.re))
(*.f64 y.re (log.f64 (neg.f64 x.re)))
(+.f64 (*.f64 (log.f64 (neg.f64 x.re)) (*.f64 y.re 1/2)) (*.f64 (log.f64 (neg.f64 x.re)) (*.f64 y.re 1/2)))
(*.f64 y.re (log.f64 (neg.f64 x.re)))
(-.f64 (*.f64 (log.f64 (neg.f64 x.re)) y.re) 0)
(*.f64 y.re (log.f64 (neg.f64 x.re)))
(/.f64 (*.f64 (log.f64 (neg.f64 x.re)) y.re) 1)
(*.f64 y.re (log.f64 (neg.f64 x.re)))
(/.f64 (*.f64 (log.f64 (neg.f64 x.re)) (+.f64 y.re y.re)) 2)
(*.f64 y.re (log.f64 (neg.f64 x.re)))
(/.f64 (*.f64 (log.f64 (neg.f64 x.re)) (*.f64 y.re 4)) 4)
(*.f64 y.re (log.f64 (neg.f64 x.re)))
(/.f64 (*.f64 (*.f64 (log.f64 (neg.f64 x.re)) y.re) 8) 8)
(*.f64 y.re (log.f64 (neg.f64 x.re)))
(/.f64 (*.f64 2 (*.f64 (*.f64 (log.f64 (neg.f64 x.re)) y.re) 8)) 16)
(*.f64 y.re (log.f64 (neg.f64 x.re)))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (log.f64 (neg.f64 x.re)) y.re) 8))) 32)
(*.f64 y.re (log.f64 (neg.f64 x.re)))
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (log.f64 (neg.f64 x.re)) y.re) 8))) (*.f64 2 (*.f64 2 (*.f64 (*.f64 (log.f64 (neg.f64 x.re)) y.re) 8)))) 64)
(*.f64 y.re (log.f64 (neg.f64 x.re)))

eval73.0ms (0.2%)

Compiler

Compiled 7332 to 2739 computations (62.6% saved)

prune76.0ms (0.2%)

Pruning

14 alts after pruning (8 fresh and 6 done)

PrunedKeptTotal
New3592361
Fresh066
Picked011
Done156
Total36014374
Error
3.5b
Counts
374 → 14
Alt Table
Click to see full alt table
StatusErrorProgram
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))) (cos.f64 (*.f64 y.im (log.f64 (neg.f64 x.re)))))
22.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))) 1)
40.7b
(*.f64 (exp.f64 (-.f64 (*.f64 (log.f64 (neg.f64 x.re)) y.re) (*.f64 (atan2.f64 x.im x.re) y.im))) (cos.f64 (*.f64 y.re (atan2.f64 x.im x.re))))
40.7b
(*.f64 (exp.f64 (-.f64 (*.f64 (log.f64 (neg.f64 x.re)) y.re) (*.f64 (atan2.f64 x.im x.re) y.im))) 1)
39.1b
(*.f64 (exp.f64 (-.f64 (*.f64 (log.f64 (neg.f64 x.im)) y.re) (*.f64 (atan2.f64 x.im x.re) y.im))) 1)
33.1b
(*.f64 (exp.f64 (-.f64 (*.f64 (log.f64 x.re) y.re) (*.f64 (atan2.f64 x.im x.re) y.im))) (cos.f64 (+.f64 (*.f64 (log.f64 x.re) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))))
33.5b
(*.f64 (exp.f64 (-.f64 (*.f64 (log.f64 x.re) y.re) (*.f64 (atan2.f64 x.im x.re) y.im))) 1)
35.3b
(*.f64 (exp.f64 (-.f64 (*.f64 (log.f64 x.im) y.re) (*.f64 (atan2.f64 x.im x.re) y.im))) (cos.f64 (*.f64 y.re (atan2.f64 x.im x.re))))
51.4b
(*.f64 (exp.f64 (-.f64 (*.f64 (log.f64 x.im) y.re) (*.f64 (atan2.f64 x.im x.re) y.im))) (cos.f64 (*.f64 y.im (log.f64 (neg.f64 x.re)))))
35.2b
(*.f64 (exp.f64 (-.f64 (*.f64 (log.f64 x.im) y.re) (*.f64 (atan2.f64 x.im x.re) y.im))) (cos.f64 (*.f64 y.im (log.f64 x.im))))
45.9b
(*.f64 (exp.f64 (-.f64 (*.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 (atan2.f64 x.im x.re) y.im))) 1)
19.9b
(*.f64 (exp.f64 (*.f64 (atan2.f64 x.im x.re) (neg.f64 y.im))) 1)
43.9b
(*.f64 (exp.f64 (*.f64 y.re (log.f64 (neg.f64 x.im)))) 1)
42.7b
(*.f64 (exp.f64 (*.f64 y.re (log.f64 x.im))) 1)
Compiler

Compiled 287 to 195 computations (32.1% saved)

regimes352.0ms (1%)

Counts
24 → 3
Calls
Call 1
Inputs
(*.f64 (exp.f64 (*.f64 y.re (log.f64 x.im))) 1)
(*.f64 (exp.f64 (*.f64 y.re (log.f64 (neg.f64 x.im)))) 1)
(*.f64 (exp.f64 (*.f64 (atan2.f64 x.im x.re) (neg.f64 y.im))) 1)
(*.f64 (exp.f64 (-.f64 (*.f64 (log.f64 x.im) y.re) (*.f64 (atan2.f64 x.im x.re) y.im))) 1)
(*.f64 (exp.f64 (-.f64 (*.f64 (log.f64 x.re) y.re) (*.f64 (atan2.f64 x.im x.re) y.im))) 1)
(*.f64 (exp.f64 (-.f64 (*.f64 (log.f64 (neg.f64 x.im)) y.re) (*.f64 (atan2.f64 x.im x.re) y.im))) 1)
(*.f64 (exp.f64 (-.f64 (*.f64 (log.f64 (neg.f64 x.re)) y.re) (*.f64 (atan2.f64 x.im x.re) y.im))) 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))) 1)
(*.f64 (exp.f64 (-.f64 (*.f64 (log.f64 x.im) y.re) (*.f64 (atan2.f64 x.im x.re) y.im))) (cos.f64 (*.f64 y.im (log.f64 x.im))))
(*.f64 (exp.f64 (-.f64 (*.f64 (log.f64 x.im) y.re) (*.f64 (atan2.f64 x.im x.re) y.im))) (cos.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))) (cos.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))) (cos.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))) (cos.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))) (cos.f64 (*.f64 y.re (atan2.f64 x.im x.re))))
(*.f64 (exp.f64 (-.f64 (*.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 (atan2.f64 x.im x.re) y.im))) 1)
(*.f64 (exp.f64 (-.f64 (*.f64 (log.f64 x.im) y.re) (*.f64 (atan2.f64 x.im x.re) y.im))) (cos.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))) (cos.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))) (cos.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))) (cos.f64 (*.f64 y.im (log.f64 (neg.f64 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))) (cos.f64 (*.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))) (cos.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 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) y.re) (*.f64 (atan2.f64 x.im x.re) y.im))) (cos.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 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) y.re) (*.f64 (atan2.f64 x.im x.re) y.im))) (cos.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))) (cos.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))) (cos.f64 (*.f64 y.re (atan2.f64 x.im x.re))))
(*.f64 (exp.f64 (*.f64 (atan2.f64 x.im x.re) (neg.f64 y.im))) 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))) 1)
Calls

5 calls:

185.0ms
y.im
55.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))) (cos.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))))
45.0ms
x.re
36.0ms
y.re
25.0ms
x.im
Results
ErrorSegmentsBranch
8.3b4x.re
10.3b2x.im
6.5b3y.re
16.0b5y.im
12.3b2(*.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))) (cos.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 546 to 141 computations (74.2% saved)

bsearch196.0ms (0.6%)

Algorithm
binary-search
Steps
TimeLeftRight
165.0ms
5.041114308428834e+85
1.2756859049905643e+98
31.0ms
-3.1773950238415785e-7
-1.8796276856129073e-10
Results
96.0ms234×body512infinite
57.0ms282×body256valid
18.0ms88×body256infinite
17.0ms25×body1024infinite
2.0msbody512valid
1.0msbody1024valid
Compiler

Compiled 790 to 537 computations (32% saved)

regimes137.0ms (0.4%)

Counts
19 → 3
Calls
Call 1
Inputs
(*.f64 (exp.f64 (*.f64 y.re (log.f64 x.im))) 1)
(*.f64 (exp.f64 (*.f64 y.re (log.f64 (neg.f64 x.im)))) 1)
(*.f64 (exp.f64 (*.f64 (atan2.f64 x.im x.re) (neg.f64 y.im))) 1)
(*.f64 (exp.f64 (-.f64 (*.f64 (log.f64 x.im) y.re) (*.f64 (atan2.f64 x.im x.re) y.im))) 1)
(*.f64 (exp.f64 (-.f64 (*.f64 (log.f64 x.re) y.re) (*.f64 (atan2.f64 x.im x.re) y.im))) 1)
(*.f64 (exp.f64 (-.f64 (*.f64 (log.f64 (neg.f64 x.im)) y.re) (*.f64 (atan2.f64 x.im x.re) y.im))) 1)
(*.f64 (exp.f64 (-.f64 (*.f64 (log.f64 (neg.f64 x.re)) y.re) (*.f64 (atan2.f64 x.im x.re) y.im))) 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))) 1)
(*.f64 (exp.f64 (-.f64 (*.f64 (log.f64 x.im) y.re) (*.f64 (atan2.f64 x.im x.re) y.im))) (cos.f64 (*.f64 y.im (log.f64 x.im))))
(*.f64 (exp.f64 (-.f64 (*.f64 (log.f64 x.im) y.re) (*.f64 (atan2.f64 x.im x.re) y.im))) (cos.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))) (cos.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))) (cos.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))) (cos.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))) (cos.f64 (*.f64 y.re (atan2.f64 x.im x.re))))
(*.f64 (exp.f64 (-.f64 (*.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 (atan2.f64 x.im x.re) y.im))) 1)
(*.f64 (exp.f64 (-.f64 (*.f64 (log.f64 x.im) y.re) (*.f64 (atan2.f64 x.im x.re) y.im))) (cos.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))) (cos.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))) (cos.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))) (cos.f64 (*.f64 y.im (log.f64 (neg.f64 x.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))) 1)
(*.f64 (exp.f64 (*.f64 (atan2.f64 x.im x.re) (neg.f64 y.im))) 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))) 1)
Calls

4 calls:

53.0ms
y.im
35.0ms
x.re
26.0ms
y.re
18.0ms
x.im
Results
ErrorSegmentsBranch
8.3b4x.re
10.3b2x.im
6.6b3y.re
16.0b5y.im
Compiler

Compiled 352 to 114 computations (67.6% saved)

bsearch730.0ms (2.1%)

Algorithm
binary-search
Steps
TimeLeftRight
698.0ms
5.041114308428834e+85
1.2756859049905643e+98
31.0ms
-3.1773950238415785e-7
-1.8796276856129073e-10
Results
593.0ms224×body512infinite
100.0ms281×body256valid
14.0ms75×body256infinite
14.0ms24×body1024infinite
2.0msbody1024valid
2.0msbody512valid
Compiler

Compiled 750 to 529 computations (29.5% saved)

regimes105.0ms (0.3%)

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

4 calls:

78.0ms
y.re
10.0ms
x.re
9.0ms
x.im
5.0ms
y.im
Results
ErrorSegmentsBranch
10.2b2x.re
10.4b2x.im
14.5b5y.re
19.9b1y.im
Compiler

Compiled 102 to 61 computations (40.2% saved)

bsearch334.0ms (1%)

Algorithm
binary-search
Steps
TimeLeftRight
334.0ms
-1.549741813402299e-294
1.5186158711173176e-304
Results
325.0ms160×body256valid
5.0msbody1024infinite
1.0msbody512infinite
1.0msbody256infinite
Compiler

Compiled 418 to 295 computations (29.4% saved)

regimes194.0ms (0.6%)

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

4 calls:

118.0ms
y.re
60.0ms
x.re
9.0ms
x.im
5.0ms
y.im
Results
ErrorSegmentsBranch
13.4b2x.re
10.4b2x.im
14.5b5y.re
19.9b1y.im
Compiler

Compiled 88 to 54 computations (38.6% saved)

bsearch121.0ms (0.3%)

Algorithm
binary-search
Steps
TimeLeftRight
121.0ms
-3.670526372885774e-306
1.1489026454203809e-306
Results
105.0ms119×body256valid
4.0ms11×body512infinite
4.0msbody1024valid
4.0msbody1024infinite
1.0msbody256infinite
1.0msbody512valid
Compiler

Compiled 344 to 241 computations (29.9% saved)

regimes229.0ms (0.7%)

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

4 calls:

88.0ms
y.re
16.0ms
x.im
8.0ms
x.re
6.0ms
y.im
Results
ErrorSegmentsBranch
13.4b2x.re
13.6b4x.im
14.5b5y.re
19.9b1y.im
Compiler

Compiled 74 to 49 computations (33.8% saved)

bsearch24.0ms (0.1%)

Algorithm
binary-search
Steps
TimeLeftRight
23.0ms
3.583235751939691e-216
7.337683041425709e-216
Results
16.0ms80×body256valid
4.0msbody1024infinite
2.0msbody512infinite
0.0msbody256infinite
Compiler

Compiled 208 to 145 computations (30.3% saved)

regimes94.0ms (0.3%)

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

4 calls:

74.0ms
x.im
10.0ms
y.re
5.0ms
y.im
4.0ms
x.re
Results
ErrorSegmentsBranch
19.9b1x.re
13.9b4x.im
16.7b3y.re
19.9b1y.im
Compiler

Compiled 61 to 43 computations (29.5% saved)

bsearch1.4s (3.9%)

Algorithm
binary-search
Steps
TimeLeftRight
40.0ms
-3.670526372885774e-306
1.1489026454203809e-306
1.1s
-5.94287735664122e-186
-1.8278115531269765e-196
186.0ms
-1740801.3236997484
-3.012564435642252
Results
1.3s413×body256valid
38.0ms64×body1024infinite
14.0ms35×body512infinite
5.0ms25×body256infinite
5.0msbody1024valid
4.0ms11×body512valid
Compiler

Compiled 809 to 635 computations (21.5% saved)

regimes322.0ms (0.9%)

Counts
3 → 4
Calls
Call 1
Inputs
(*.f64 (exp.f64 (*.f64 y.re (log.f64 x.im))) 1)
(*.f64 (exp.f64 (*.f64 y.re (log.f64 (neg.f64 x.im)))) 1)
(*.f64 (exp.f64 (*.f64 (atan2.f64 x.im x.re) (neg.f64 y.im))) 1)
Outputs
(*.f64 (exp.f64 (*.f64 y.re (log.f64 (neg.f64 x.im)))) 1)
(*.f64 (exp.f64 (*.f64 y.re (log.f64 x.im))) 1)
(*.f64 (exp.f64 (*.f64 y.re (log.f64 (neg.f64 x.im)))) 1)
(*.f64 (exp.f64 (*.f64 (atan2.f64 x.im x.re) (neg.f64 y.im))) 1)
Calls

4 calls:

241.0ms
x.im
73.0ms
y.re
3.0ms
x.re
3.0ms
y.im
Results
ErrorSegmentsBranch
19.9b1x.re
18.2b2x.im
16.9b4y.re
19.9b1y.im
Compiler

Compiled 48 to 37 computations (22.9% saved)

bsearch300.0ms (0.9%)

Algorithm
binary-search
Steps
TimeLeftRight
132.0ms
-1.658523300094617e+43
-1.9232828184413757e+34
155.0ms
-6.719428690599988e+49
-5.306922005857075e+47
12.0ms
-5.8837706043814545e+118
-2.067417548306507e+113
Results
154.0ms304×body256valid
136.0ms55×body256infinite
5.0ms12×body512infinite
1.0msbody1024infinite
Compiler

Compiled 541 to 433 computations (20% saved)

regimes259.0ms (0.7%)

Accuracy

Total -41.5b remaining (-183.9%)

Threshold costs -41.5b (-183.9%)

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

4 calls:

143.0ms
y.re
88.0ms
y.im
21.0ms
x.re
6.0ms
x.im
Results
ErrorSegmentsBranch
36.4b7x.re
22.5b2x.im
34.4b8y.re
35.3b8y.im
Compiler

Compiled 39 to 31 computations (20.5% saved)

bsearch44.0ms (0.1%)

Algorithm
binary-search
Steps
TimeLeftRight
44.0ms
-3.670526372885774e-306
1.1489026454203809e-306
Results
28.0ms121×body256valid
6.0ms11×body1024infinite
2.0msbody1024valid
2.0msbody512infinite
2.0ms10×body256infinite
1.0msbody512valid
Compiler

Compiled 248 to 193 computations (22.2% saved)

simplify12.0ms (0%)

Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
095951
Stop Event
fuel
saturated
Calls
Call 1
Inputs
(if (<=.f64 y.re -5289050460814003/302231454903657293676544) (*.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))) (cos.f64 (*.f64 y.re (atan2.f64 x.im x.re)))) (if (<=.f64 y.re 50999999999999997985466918048193009605569847470287227042765561277504992511798869491712) (*.f64 (exp.f64 (*.f64 (atan2.f64 x.im x.re) (neg.f64 y.im))) 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))) 1)))
(if (<=.f64 y.re -3264099712959499/604462909807314587353088) (*.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))) 1) (if (<=.f64 y.re 4400000000000000174803000563618461935224282943036889500043631018273288885305439730794496) (*.f64 (exp.f64 (*.f64 (atan2.f64 x.im x.re) (neg.f64 y.im))) 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))) 1)))
(if (<=.f64 x.re -20240225330731/101201126653655309176247673359458653524778324882071059178450679013715169783997673445980191850718562247593538932158405955694904368692896738433506699970369254960758712138283180682233453871046608170619883839236372534281003741712346349309051677824579778170405028256179384776166707307615251266093163754323003131653853870546747392) (*.f64 (exp.f64 (-.f64 (*.f64 (log.f64 (neg.f64 x.re)) y.re) (*.f64 (atan2.f64 x.im x.re) y.im))) 1) (*.f64 (exp.f64 (-.f64 (*.f64 (log.f64 x.re) y.re) (*.f64 (atan2.f64 x.im x.re) y.im))) 1))
(if (<=.f64 x.im -101201126653655/202402253307310618352495346718917307049556649764142118356901358027430339567995346891960383701437124495187077864316811911389808737385793476867013399940738509921517424276566361364466907742093216341239767678472745068562007483424692698618103355649159556340810056512358769552333414615230502532186327508646006263307707741093494784) (*.f64 (exp.f64 (-.f64 (*.f64 (log.f64 (neg.f64 x.im)) y.re) (*.f64 (atan2.f64 x.im x.re) y.im))) 1) (*.f64 (exp.f64 (-.f64 (*.f64 (log.f64 x.im) y.re) (*.f64 (atan2.f64 x.im x.re) y.im))) 1))
(if (<=.f64 x.re 2406403043066099/388129523075177233787244872115625638814221504279174152784763009506512738171594221582719602207161619487621932674282768301542895011028703597861071818760295284801113744005212476387566321407899611206315749798429117187723211713454014464) (*.f64 (exp.f64 (*.f64 (atan2.f64 x.im x.re) (neg.f64 y.im))) 1) (*.f64 (exp.f64 (-.f64 (*.f64 (log.f64 x.re) y.re) (*.f64 (atan2.f64 x.im x.re) y.im))) 1))
(if (<=.f64 x.im -3433994715870003/1125899906842624) (*.f64 (exp.f64 (*.f64 y.re (log.f64 (neg.f64 x.im)))) 1) (if (<=.f64 x.im -6902644157915651/80263304161809898486953580976564463280492245526476651908848280381297792881730359224146523075524726123458602430056430323990164676669064390001339947061948865508349970567755807467524166227482951618519489314816) (*.f64 (exp.f64 (*.f64 (atan2.f64 x.im x.re) (neg.f64 y.im))) 1) (if (<=.f64 x.im -101201126653655/202402253307310618352495346718917307049556649764142118356901358027430339567995346891960383701437124495187077864316811911389808737385793476867013399940738509921517424276566361364466907742093216341239767678472745068562007483424692698618103355649159556340810056512358769552333414615230502532186327508646006263307707741093494784) (*.f64 (exp.f64 (*.f64 y.re (log.f64 (neg.f64 x.im)))) 1) (*.f64 (exp.f64 (-.f64 (*.f64 (log.f64 x.im) y.re) (*.f64 (atan2.f64 x.im x.re) y.im))) 1))))
(if (<=.f64 y.re -2000000000000000101110855451990067628456474061606006558040962949444465527954170811648466754210124438504834226473402368) (*.f64 (exp.f64 (*.f64 y.re (log.f64 (neg.f64 x.im)))) 1) (if (<=.f64 y.re -4399999999999999868403155739908541577233789091840) (*.f64 (exp.f64 (*.f64 y.re (log.f64 x.im))) 1) (if (<=.f64 y.re -2799999999999999939988989605805525764669440) (*.f64 (exp.f64 (*.f64 y.re (log.f64 (neg.f64 x.im)))) 1) (*.f64 (exp.f64 (*.f64 (atan2.f64 x.im x.re) (neg.f64 y.im))) 1))))
(if (<=.f64 x.im -101201126653655/202402253307310618352495346718917307049556649764142118356901358027430339567995346891960383701437124495187077864316811911389808737385793476867013399940738509921517424276566361364466907742093216341239767678472745068562007483424692698618103355649159556340810056512358769552333414615230502532186327508646006263307707741093494784) (*.f64 (exp.f64 (*.f64 y.re (log.f64 (neg.f64 x.im)))) 1) (*.f64 (exp.f64 (*.f64 y.re (log.f64 x.im))) 1))
(*.f64 (exp.f64 (*.f64 y.re (log.f64 x.im))) 1)
Outputs
(if (<=.f64 y.re -5289050460814003/302231454903657293676544) (*.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))) (cos.f64 (*.f64 y.re (atan2.f64 x.im x.re)))) (if (<=.f64 y.re 50999999999999997985466918048193009605569847470287227042765561277504992511798869491712) (*.f64 (exp.f64 (*.f64 (atan2.f64 x.im x.re) (neg.f64 y.im))) 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))) 1)))
(if (<=.f64 y.re -3264099712959499/604462909807314587353088) (*.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))) 1) (if (<=.f64 y.re 4400000000000000174803000563618461935224282943036889500043631018273288885305439730794496) (*.f64 (exp.f64 (*.f64 (atan2.f64 x.im x.re) (neg.f64 y.im))) 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))) 1)))
(if (<=.f64 x.re -20240225330731/101201126653655309176247673359458653524778324882071059178450679013715169783997673445980191850718562247593538932158405955694904368692896738433506699970369254960758712138283180682233453871046608170619883839236372534281003741712346349309051677824579778170405028256179384776166707307615251266093163754323003131653853870546747392) (*.f64 (exp.f64 (-.f64 (*.f64 (log.f64 (neg.f64 x.re)) y.re) (*.f64 (atan2.f64 x.im x.re) y.im))) 1) (*.f64 (exp.f64 (-.f64 (*.f64 (log.f64 x.re) y.re) (*.f64 (atan2.f64 x.im x.re) y.im))) 1))
(if (<=.f64 x.im -101201126653655/202402253307310618352495346718917307049556649764142118356901358027430339567995346891960383701437124495187077864316811911389808737385793476867013399940738509921517424276566361364466907742093216341239767678472745068562007483424692698618103355649159556340810056512358769552333414615230502532186327508646006263307707741093494784) (*.f64 (exp.f64 (-.f64 (*.f64 (log.f64 (neg.f64 x.im)) y.re) (*.f64 (atan2.f64 x.im x.re) y.im))) 1) (*.f64 (exp.f64 (-.f64 (*.f64 (log.f64 x.im) y.re) (*.f64 (atan2.f64 x.im x.re) y.im))) 1))
(if (<=.f64 x.re 2406403043066099/388129523075177233787244872115625638814221504279174152784763009506512738171594221582719602207161619487621932674282768301542895011028703597861071818760295284801113744005212476387566321407899611206315749798429117187723211713454014464) (*.f64 (exp.f64 (*.f64 (atan2.f64 x.im x.re) (neg.f64 y.im))) 1) (*.f64 (exp.f64 (-.f64 (*.f64 (log.f64 x.re) y.re) (*.f64 (atan2.f64 x.im x.re) y.im))) 1))
(if (<=.f64 x.im -3433994715870003/1125899906842624) (*.f64 (exp.f64 (*.f64 y.re (log.f64 (neg.f64 x.im)))) 1) (if (<=.f64 x.im -6902644157915651/80263304161809898486953580976564463280492245526476651908848280381297792881730359224146523075524726123458602430056430323990164676669064390001339947061948865508349970567755807467524166227482951618519489314816) (*.f64 (exp.f64 (*.f64 (atan2.f64 x.im x.re) (neg.f64 y.im))) 1) (if (<=.f64 x.im -101201126653655/202402253307310618352495346718917307049556649764142118356901358027430339567995346891960383701437124495187077864316811911389808737385793476867013399940738509921517424276566361364466907742093216341239767678472745068562007483424692698618103355649159556340810056512358769552333414615230502532186327508646006263307707741093494784) (*.f64 (exp.f64 (*.f64 y.re (log.f64 (neg.f64 x.im)))) 1) (*.f64 (exp.f64 (-.f64 (*.f64 (log.f64 x.im) y.re) (*.f64 (atan2.f64 x.im x.re) y.im))) 1))))
(if (<=.f64 y.re -2000000000000000101110855451990067628456474061606006558040962949444465527954170811648466754210124438504834226473402368) (*.f64 (exp.f64 (*.f64 y.re (log.f64 (neg.f64 x.im)))) 1) (if (<=.f64 y.re -4399999999999999868403155739908541577233789091840) (*.f64 (exp.f64 (*.f64 y.re (log.f64 x.im))) 1) (if (<=.f64 y.re -2799999999999999939988989605805525764669440) (*.f64 (exp.f64 (*.f64 y.re (log.f64 (neg.f64 x.im)))) 1) (*.f64 (exp.f64 (*.f64 (atan2.f64 x.im x.re) (neg.f64 y.im))) 1))))
(if (<=.f64 x.im -101201126653655/202402253307310618352495346718917307049556649764142118356901358027430339567995346891960383701437124495187077864316811911389808737385793476867013399940738509921517424276566361364466907742093216341239767678472745068562007483424692698618103355649159556340810056512358769552333414615230502532186327508646006263307707741093494784) (*.f64 (exp.f64 (*.f64 y.re (log.f64 (neg.f64 x.im)))) 1) (*.f64 (exp.f64 (*.f64 y.re (log.f64 x.im))) 1))
(*.f64 (exp.f64 (*.f64 y.re (log.f64 x.im))) 1)
Compiler

Compiled 363 to 216 computations (40.5% saved)

soundness125.0ms (0.4%)

Algorithm
egg-herbie
Rules
1368×rational.json-simplify-35
890×rational.json-simplify-1
882×rational.json-simplify-61
854×rational.json-simplify-41
762×rational.json-simplify-54
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
02087138
14906842
29276746
319186518
448306518
Stop Event
node limit
Compiler

Compiled 43 to 28 computations (34.9% saved)

end222.0ms (0.6%)

Compiler

Compiled 331 to 128 computations (61.3% saved)

Profiling

Loading profile data...