math.log/1 on complex, real part

Time bar (total: 5.9s)

analyze206.0ms (3.5%)

Algorithm
search
Search
ProbabilityValidUnknownPreconditionInfiniteDomainCan'tIter
0%0%99.9%0.1%0%0%0%0
0%0%99.9%0.1%0%0%0%1
0%0%99.9%0.1%0%0%0%2
0%0%99.9%0.1%0%0%0%3
0%0%99.9%0.1%0%0%0%4
18.8%18.7%81.2%0.1%0%0%0%5
34.4%34.3%65.6%0.1%0%0%0%6
54.7%54.6%45.3%0.1%0%0%0%7
64.8%64.8%35.1%0.1%0%0%0%8
76.2%76.1%23.8%0.1%0%0%0%9
81.8%81.8%18.1%0.1%0%0%0%10
87.8%87.7%12.2%0.1%0%0%0%11
90.8%90.7%9.2%0.1%0%0%0%12
Compiler

Compiled 12 to 8 computations (33.3% saved)

Precisions
Click to see histograms. Total time spent on operations: 158.0ms
ival-sqrt: 135.0ms (85.6% of total)
ival-mult: 11.0ms (7% of total)
ival-log: 7.0ms (4.4% of total)
ival-add: 4.0ms (2.5% of total)
const: 1.0ms (0.6% of total)
backward-pass: 0.0ms (0% of total)

sample896.0ms (15.2%)

Results
668.0ms8256×0valid
Precisions
Click to see histograms. Total time spent on operations: 405.0ms
ival-mult: 198.0ms (48.9% of total)
ival-log: 92.0ms (22.7% of total)
ival-sqrt: 66.0ms (16.3% of total)
ival-add: 39.0ms (9.6% of total)
const: 7.0ms (1.7% of total)
backward-pass: 3.0ms (0.7% of total)
Bogosity

preprocess26.0ms (0.4%)

Algorithm
egg-herbie
Rules
164×fmsub-define
160×fnmadd-define
148×fnmsub-define
104×fmm-def
92×sum3-define
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02226
14826
29926
322126
443226
558926
666426
766726
074
1104
2124
0124
Stop Event
iter limit
saturated
saturated
Calls
Call 1
Inputs
(log (sqrt (+ (* re re) (* im im))))
Outputs
(log (sqrt (+ (* re re) (* im im))))
(log.f64 (hypot.f64 re im))
Call 2
Inputs
(log (sqrt (+ (* re re) (* im im))))
(log (sqrt (+ (* (neg re) (neg re)) (* im im))))
(log (sqrt (+ (* re re) (* (neg im) (neg im)))))
(neg (log (sqrt (+ (* (neg re) (neg re)) (* im im)))))
(neg (log (sqrt (+ (* re re) (* (neg im) (neg im))))))
(log (sqrt (+ (* im im) (* re re))))
Outputs
(log (sqrt (+ (* re re) (* im im))))
(log (hypot re im))
(log (sqrt (+ (* (neg re) (neg re)) (* im im))))
(log (hypot re im))
(log (sqrt (+ (* re re) (* (neg im) (neg im)))))
(log (hypot re im))
(neg (log (sqrt (+ (* (neg re) (neg re)) (* im im)))))
(neg (log (hypot re im)))
(neg (log (sqrt (+ (* re re) (* (neg im) (neg im))))))
(neg (log (hypot re im)))
(log (sqrt (+ (* im im) (* re re))))
(log (hypot re im))
Symmetry

(abs re)

(abs im)

(sort re im)

explain78.0ms (1.3%)

FPErrors
Click to see full error table
Ground TruthOverpredictionsExampleUnderpredictionsExampleSubexpression
1310-2(1.1013276774452154e-159 6.42966779129178e-157)(sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))
00-0-(log.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))))
00-0-im
00-0-(*.f64 im im)
00-0-(*.f64 re re)
00-0-re
00-0-(+.f64 (*.f64 re re) (*.f64 im im))
Results
47.0ms512×0valid
Compiler

Compiled 81 to 23 computations (71.6% saved)

Precisions
Click to see histograms. Total time spent on operations: 21.0ms
ival-mult: 8.0ms (37.6% of total)
ival-log: 6.0ms (28.2% of total)
ival-sqrt: 4.0ms (18.8% of total)
ival-add: 2.0ms (9.4% of total)
const: 0.0ms (0% of total)
backward-pass: 0.0ms (0% of total)

eval0.0ms (0%)

Compiler

Compiled 6 to 4 computations (33.3% saved)

prune1.0ms (0%)

Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(log.f64 (hypot.f64 re im))
Compiler

Compiled 6 to 4 computations (33.3% saved)

simplify4.0ms (0.1%)

Algorithm
egg-herbie
Localize:

Found 2 expressions of interest:

NewMetricScoreProgram
cost-diff0
(hypot.f64 re im)
cost-diff0
(log.f64 (hypot.f64 re im))
Rules
fma-lowering-fma.f32
fma-define
+-lowering-+.f64
hypot-lowering-hypot.f64
*-lowering-*.f32
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
079
1109
2129
0129
Stop Event
iter limit
saturated
Calls
Call 1
Inputs
(log (sqrt (+ (* re re) (* im im))))
(sqrt (+ (* re re) (* im im)))
re
im
Outputs
(log (sqrt (+ (* re re) (* im im))))
(log.f64 (hypot.f64 re im))
(sqrt (+ (* re re) (* im im)))
(hypot.f64 re im)
re
im

localize27.0ms (0.5%)

Localize:

Found 2 expressions of interest:

NewMetricScoreProgram
accuracy100.0%
(hypot.f64 re im)
accuracy100.0%
(log.f64 (hypot.f64 re im))
Results
19.0ms256×0valid
Compiler

Compiled 12 to 5 computations (58.3% saved)

Precisions
Click to see histograms. Total time spent on operations: 18.0ms
compiled-spec: 8.0ms (43.4% of total)
ival-mult: 4.0ms (21.7% of total)
ival-log: 3.0ms (16.3% of total)
ival-sqrt: 2.0ms (10.9% of total)
ival-add: 1.0ms (5.4% of total)
const: 0.0ms (0% of total)
backward-pass: 0.0ms (0% of total)

series6.0ms (0.1%)

Counts
2 → 48
Calls
Call 1
Inputs
#<alt (log (sqrt (+ (* re re) (* im im))))>
#<alt (sqrt (+ (* re re) (* im im)))>
Outputs
#<alt (log im)>
#<alt (+ (log im) (* 1/2 (/ (pow re 2) (pow im 2))))>
#<alt (+ (log im) (* (pow re 2) (+ (* -1/4 (/ (pow re 2) (pow im 4))) (* 1/2 (/ 1 (pow im 2))))))>
#<alt (+ (log im) (* (pow re 2) (+ (* (pow re 2) (- (* 1/6 (/ (pow re 2) (pow im 6))) (* 1/4 (/ 1 (pow im 4))))) (* 1/2 (/ 1 (pow im 2))))))>
#<alt (* -1 (log (/ 1 re)))>
#<alt (+ (* -1 (log (/ 1 re))) (* 1/2 (/ (pow im 2) (pow re 2))))>
#<alt (+ (* -1 (log (/ 1 re))) (+ (* -1/4 (/ (pow im 4) (pow re 4))) (* 1/2 (/ (pow im 2) (pow re 2)))))>
#<alt (+ (* -1 (log (/ 1 re))) (+ (* -1/4 (/ (pow im 4) (pow re 4))) (+ (* 1/720 (/ (+ (* 30 (pow im 6)) (* 90 (pow im 6))) (pow re 6))) (* 1/2 (/ (pow im 2) (pow re 2))))))>
#<alt (* -1 (log (/ -1 re)))>
#<alt (+ (* -1 (log (/ -1 re))) (* 1/2 (/ (pow im 2) (pow re 2))))>
#<alt (+ (* -1 (log (/ -1 re))) (+ (* -1/4 (/ (pow im 4) (pow re 4))) (* 1/2 (/ (pow im 2) (pow re 2)))))>
#<alt (+ (* -1 (log (/ -1 re))) (+ (* -1/4 (/ (pow im 4) (pow re 4))) (+ (* 1/720 (/ (+ (* 30 (pow im 6)) (* 90 (pow im 6))) (pow re 6))) (* 1/2 (/ (pow im 2) (pow re 2))))))>
#<alt (log re)>
#<alt (+ (log re) (* 1/2 (/ (pow im 2) (pow re 2))))>
#<alt (+ (log re) (* (pow im 2) (+ (* -1/4 (/ (pow im 2) (pow re 4))) (* 1/2 (/ 1 (pow re 2))))))>
#<alt (+ (log re) (* (pow im 2) (+ (* (pow im 2) (- (* 1/6 (/ (pow im 2) (pow re 6))) (* 1/4 (/ 1 (pow re 4))))) (* 1/2 (/ 1 (pow re 2))))))>
#<alt (* -1 (log (/ 1 im)))>
#<alt (+ (* -1 (log (/ 1 im))) (* 1/2 (/ (pow re 2) (pow im 2))))>
#<alt (+ (* -1 (log (/ 1 im))) (+ (* -1/4 (/ (pow re 4) (pow im 4))) (* 1/2 (/ (pow re 2) (pow im 2)))))>
#<alt (+ (* -1 (log (/ 1 im))) (+ (* -1/4 (/ (pow re 4) (pow im 4))) (+ (* 1/720 (/ (+ (* 30 (pow re 6)) (* 90 (pow re 6))) (pow im 6))) (* 1/2 (/ (pow re 2) (pow im 2))))))>
#<alt (* -1 (log (/ -1 im)))>
#<alt (+ (* -1 (log (/ -1 im))) (* 1/2 (/ (pow re 2) (pow im 2))))>
#<alt (+ (* -1 (log (/ -1 im))) (+ (* -1/4 (/ (pow re 4) (pow im 4))) (* 1/2 (/ (pow re 2) (pow im 2)))))>
#<alt (+ (* -1 (log (/ -1 im))) (+ (* -1/4 (/ (pow re 4) (pow im 4))) (+ (* 1/720 (/ (+ (* 30 (pow re 6)) (* 90 (pow re 6))) (pow im 6))) (* 1/2 (/ (pow re 2) (pow im 2))))))>
#<alt im>
#<alt (+ im (* 1/2 (/ (pow re 2) im)))>
#<alt (+ im (* (pow re 2) (+ (* -1/8 (/ (pow re 2) (pow im 3))) (* 1/2 (/ 1 im)))))>
#<alt (+ im (* (pow re 2) (+ (* (pow re 2) (- (* 1/16 (/ (pow re 2) (pow im 5))) (* 1/8 (/ 1 (pow im 3))))) (* 1/2 (/ 1 im)))))>
#<alt re>
#<alt (* re (+ 1 (* 1/2 (/ (pow im 2) (pow re 2)))))>
#<alt (* re (+ 1 (+ (* -1/8 (/ (pow im 4) (pow re 4))) (* 1/2 (/ (pow im 2) (pow re 2))))))>
#<alt (* re (+ 1 (+ (* -1/8 (/ (pow im 4) (pow re 4))) (+ (* 1/16 (/ (pow im 6) (pow re 6))) (* 1/2 (/ (pow im 2) (pow re 2)))))))>
#<alt (* -1 re)>
#<alt (* -1 (* re (+ 1 (* 1/2 (/ (pow im 2) (pow re 2))))))>
#<alt (* -1 (* re (+ 1 (+ (* -1/8 (/ (pow im 4) (pow re 4))) (* 1/2 (/ (pow im 2) (pow re 2)))))))>
#<alt (* -1 (* re (+ 1 (+ (* -1/8 (/ (pow im 4) (pow re 4))) (+ (* 1/16 (/ (pow im 6) (pow re 6))) (* 1/2 (/ (pow im 2) (pow re 2))))))))>
#<alt re>
#<alt (+ re (* 1/2 (/ (pow im 2) re)))>
#<alt (+ re (* (pow im 2) (+ (* -1/8 (/ (pow im 2) (pow re 3))) (* 1/2 (/ 1 re)))))>
#<alt (+ re (* (pow im 2) (+ (* (pow im 2) (- (* 1/16 (/ (pow im 2) (pow re 5))) (* 1/8 (/ 1 (pow re 3))))) (* 1/2 (/ 1 re)))))>
#<alt im>
#<alt (* im (+ 1 (* 1/2 (/ (pow re 2) (pow im 2)))))>
#<alt (* im (+ 1 (+ (* -1/8 (/ (pow re 4) (pow im 4))) (* 1/2 (/ (pow re 2) (pow im 2))))))>
#<alt (* im (+ 1 (+ (* -1/8 (/ (pow re 4) (pow im 4))) (+ (* 1/16 (/ (pow re 6) (pow im 6))) (* 1/2 (/ (pow re 2) (pow im 2)))))))>
#<alt (* -1 im)>
#<alt (* -1 (* im (+ 1 (* 1/2 (/ (pow re 2) (pow im 2))))))>
#<alt (* -1 (* im (+ 1 (+ (* -1/8 (/ (pow re 4) (pow im 4))) (* 1/2 (/ (pow re 2) (pow im 2)))))))>
#<alt (* -1 (* im (+ 1 (+ (* -1/8 (/ (pow re 4) (pow im 4))) (+ (* 1/16 (/ (pow re 6) (pow im 6))) (* 1/2 (/ (pow re 2) (pow im 2))))))))>
Calls

12 calls:

TimeVariablePointExpression
1.0ms
im
@0
(log (sqrt (+ (* re re) (* im im))))
1.0ms
re
@0
(log (sqrt (+ (* re re) (* im im))))
1.0ms
re
@inf
(log (sqrt (+ (* re re) (* im im))))
1.0ms
im
@inf
(log (sqrt (+ (* re re) (* im im))))
0.0ms
re
@inf
(sqrt (+ (* re re) (* im im)))

rewrite270.0ms (4.6%)

Algorithm
batch-egg-rewrite
Rules
2274×fma-lowering-fma.f32
2274×fma-lowering-fma.f64
2160×*-lowering-*.f32
2160×*-lowering-*.f64
1732×fma-define
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
077
1287
22177
322737
084077
Stop Event
iter limit
node limit
Counts
2 → 67
Calls
Call 1
Inputs
(log (sqrt (+ (* re re) (* im im))))
(sqrt (+ (* re re) (* im im)))
Outputs
(log.f64 (hypot.f64 re im))
(+.f64 (*.f64 (log.f64 (+.f64 (*.f64 re re) (*.f64 im im))) #s(literal 1/4 binary64)) (*.f64 (log.f64 (+.f64 (*.f64 re re) (*.f64 im im))) #s(literal 1/4 binary64)))
(+.f64 (*.f64 #s(literal 1/2 binary64) (log.f64 (+.f64 (*.f64 (*.f64 re (*.f64 re re)) (*.f64 re (*.f64 re re))) (*.f64 (*.f64 im im) (*.f64 im (*.f64 im (*.f64 im im))))))) (log.f64 (pow.f64 (+.f64 (*.f64 re (*.f64 re (*.f64 re re))) (*.f64 (*.f64 im im) (-.f64 (*.f64 im im) (*.f64 re re)))) #s(literal -1/2 binary64))))
(+.f64 (*.f64 #s(literal 1/2 binary64) (log.f64 (-.f64 (*.f64 re (*.f64 re (*.f64 re re))) (*.f64 im (*.f64 im (*.f64 im im)))))) (log.f64 (pow.f64 (-.f64 (*.f64 re re) (*.f64 im im)) #s(literal -1/2 binary64))))
(-.f64 (*.f64 #s(literal 1/2 binary64) (log.f64 (+.f64 (*.f64 (*.f64 re (*.f64 re re)) (*.f64 re (*.f64 re re))) (*.f64 (*.f64 im im) (*.f64 im (*.f64 im (*.f64 im im))))))) (*.f64 #s(literal 1/2 binary64) (log.f64 (+.f64 (*.f64 re (*.f64 re (*.f64 re re))) (*.f64 (*.f64 im im) (-.f64 (*.f64 im im) (*.f64 re re)))))))
(-.f64 (*.f64 #s(literal 1/2 binary64) (log.f64 (-.f64 (*.f64 re (*.f64 re (*.f64 re re))) (*.f64 im (*.f64 im (*.f64 im im)))))) (*.f64 #s(literal 1/2 binary64) (log.f64 (-.f64 (*.f64 re re) (*.f64 im im)))))
(-.f64 #s(literal 0 binary64) (log.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (+.f64 (*.f64 re re) (*.f64 im im))))))
(-.f64 #s(literal 0 binary64) (log.f64 (/.f64 (sqrt.f64 (+.f64 (*.f64 re (*.f64 re (*.f64 re re))) (*.f64 (*.f64 im im) (-.f64 (*.f64 im im) (*.f64 re re))))) (hypot.f64 (*.f64 im (*.f64 im im)) (*.f64 re (*.f64 re re))))))
(-.f64 #s(literal 0 binary64) (log.f64 (/.f64 (sqrt.f64 (-.f64 (*.f64 re re) (*.f64 im im))) (sqrt.f64 (-.f64 (*.f64 re (*.f64 re (*.f64 re re))) (*.f64 im (*.f64 im (*.f64 im im))))))))
(-.f64 (log.f64 (sqrt.f64 (-.f64 #s(literal 0 binary64) (+.f64 (*.f64 (*.f64 re (*.f64 re re)) (*.f64 re (*.f64 re re))) (*.f64 (*.f64 im im) (*.f64 im (*.f64 im (*.f64 im im)))))))) (log.f64 (sqrt.f64 (-.f64 #s(literal 0 binary64) (+.f64 (*.f64 re (*.f64 re (*.f64 re re))) (*.f64 (*.f64 im im) (-.f64 (*.f64 im im) (*.f64 re re))))))))
(-.f64 (log.f64 (sqrt.f64 (*.f64 (neg.f64 (+.f64 (*.f64 re re) (*.f64 im im))) (-.f64 (*.f64 re re) (*.f64 im im))))) (log.f64 (sqrt.f64 (-.f64 #s(literal 0 binary64) (-.f64 (*.f64 re re) (*.f64 im im))))))
(-.f64 (log.f64 (sqrt.f64 (-.f64 (*.f64 im (*.f64 im (*.f64 im im))) (*.f64 re (*.f64 re (*.f64 re re)))))) (log.f64 (sqrt.f64 (-.f64 (*.f64 im im) (*.f64 re re)))))
(-.f64 (log.f64 (neg.f64 (hypot.f64 (*.f64 im (*.f64 im im)) (*.f64 re (*.f64 re re))))) (log.f64 (neg.f64 (sqrt.f64 (+.f64 (*.f64 re (*.f64 re (*.f64 re re))) (*.f64 (*.f64 im im) (-.f64 (*.f64 im im) (*.f64 re re))))))))
(-.f64 (log.f64 (neg.f64 (sqrt.f64 (-.f64 (*.f64 re (*.f64 re (*.f64 re re))) (*.f64 im (*.f64 im (*.f64 im im))))))) (log.f64 (neg.f64 (sqrt.f64 (-.f64 (*.f64 re re) (*.f64 im im))))))
(neg.f64 (log.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (+.f64 (*.f64 re re) (*.f64 im im))))))
(neg.f64 (log.f64 (/.f64 (sqrt.f64 (+.f64 (*.f64 re (*.f64 re (*.f64 re re))) (*.f64 (*.f64 im im) (-.f64 (*.f64 im im) (*.f64 re re))))) (hypot.f64 (*.f64 im (*.f64 im im)) (*.f64 re (*.f64 re re))))))
(neg.f64 (log.f64 (/.f64 (sqrt.f64 (-.f64 (*.f64 re re) (*.f64 im im))) (sqrt.f64 (-.f64 (*.f64 re (*.f64 re (*.f64 re re))) (*.f64 im (*.f64 im (*.f64 im im))))))))
(*.f64 #s(literal 1/2 binary64) (log.f64 (+.f64 (*.f64 re re) (*.f64 im im))))
(*.f64 #s(literal 2 binary64) (*.f64 (log.f64 (+.f64 (*.f64 re re) (*.f64 im im))) #s(literal 1/4 binary64)))
(*.f64 (log.f64 (+.f64 (*.f64 re re) (*.f64 im im))) #s(literal 1/2 binary64))
(*.f64 #s(literal 1/4 binary64) (log.f64 (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (+.f64 (*.f64 re re) (*.f64 im im)))))
(exp.f64 (*.f64 #s(literal 1/2 binary64) (log.f64 (+.f64 (*.f64 re re) (*.f64 im im)))))
(exp.f64 (*.f64 (*.f64 (log.f64 (+.f64 (*.f64 re re) (*.f64 im im))) #s(literal 1/4 binary64)) #s(literal 2 binary64)))
(exp.f64 (*.f64 (log.f64 (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (+.f64 (*.f64 re re) (*.f64 im im)))) #s(literal 1/4 binary64)))
(hypot.f64 re im)
(hypot.f64 im re)
(sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))
(/.f64 (hypot.f64 (*.f64 im (*.f64 im im)) (*.f64 re (*.f64 re re))) (sqrt.f64 (+.f64 (*.f64 re (*.f64 re (*.f64 re re))) (*.f64 (*.f64 im im) (-.f64 (*.f64 im im) (*.f64 re re))))))
(/.f64 (sqrt.f64 (-.f64 (*.f64 re (*.f64 re (*.f64 re re))) (*.f64 im (*.f64 im (*.f64 im im))))) (sqrt.f64 (-.f64 (*.f64 re re) (*.f64 im im))))
(/.f64 #s(literal 1 binary64) (sqrt.f64 (/.f64 #s(literal 1 binary64) (+.f64 (*.f64 re re) (*.f64 im im)))))
(/.f64 #s(literal 1 binary64) (/.f64 (sqrt.f64 (+.f64 (*.f64 re (*.f64 re (*.f64 re re))) (*.f64 (*.f64 im im) (-.f64 (*.f64 im im) (*.f64 re re))))) (hypot.f64 (*.f64 im (*.f64 im im)) (*.f64 re (*.f64 re re)))))
(/.f64 #s(literal 1 binary64) (/.f64 (sqrt.f64 (-.f64 (*.f64 re re) (*.f64 im im))) (sqrt.f64 (-.f64 (*.f64 re (*.f64 re (*.f64 re re))) (*.f64 im (*.f64 im (*.f64 im im)))))))
(/.f64 (sqrt.f64 (-.f64 #s(literal 0 binary64) (+.f64 (*.f64 (*.f64 re (*.f64 re re)) (*.f64 re (*.f64 re re))) (*.f64 (*.f64 im im) (*.f64 im (*.f64 im (*.f64 im im))))))) (sqrt.f64 (-.f64 #s(literal 0 binary64) (+.f64 (*.f64 re (*.f64 re (*.f64 re re))) (*.f64 (*.f64 im im) (-.f64 (*.f64 im im) (*.f64 re re)))))))
(/.f64 (sqrt.f64 (*.f64 (neg.f64 (+.f64 (*.f64 re re) (*.f64 im im))) (-.f64 (*.f64 re re) (*.f64 im im)))) (sqrt.f64 (-.f64 #s(literal 0 binary64) (-.f64 (*.f64 re re) (*.f64 im im)))))
(/.f64 (sqrt.f64 (-.f64 (*.f64 im (*.f64 im (*.f64 im im))) (*.f64 re (*.f64 re (*.f64 re re))))) (sqrt.f64 (-.f64 (*.f64 im im) (*.f64 re re))))
(/.f64 (neg.f64 (hypot.f64 (*.f64 im (*.f64 im im)) (*.f64 re (*.f64 re re)))) (neg.f64 (sqrt.f64 (+.f64 (*.f64 re (*.f64 re (*.f64 re re))) (*.f64 (*.f64 im im) (-.f64 (*.f64 im im) (*.f64 re re)))))))
(/.f64 (neg.f64 (sqrt.f64 (-.f64 (*.f64 re (*.f64 re (*.f64 re re))) (*.f64 im (*.f64 im (*.f64 im im)))))) (neg.f64 (sqrt.f64 (-.f64 (*.f64 re re) (*.f64 im im)))))
(/.f64 (exp.f64 (*.f64 #s(literal 1/2 binary64) (log.f64 (+.f64 (*.f64 (*.f64 re (*.f64 re re)) (*.f64 re (*.f64 re re))) (*.f64 (*.f64 im im) (*.f64 im (*.f64 im (*.f64 im im)))))))) (exp.f64 (*.f64 #s(literal 1/2 binary64) (log.f64 (+.f64 (*.f64 re (*.f64 re (*.f64 re re))) (*.f64 (*.f64 im im) (-.f64 (*.f64 im im) (*.f64 re re))))))))
(/.f64 (exp.f64 (*.f64 #s(literal 1/2 binary64) (log.f64 (-.f64 (*.f64 re (*.f64 re (*.f64 re re))) (*.f64 im (*.f64 im (*.f64 im im))))))) (exp.f64 (*.f64 #s(literal 1/2 binary64) (log.f64 (-.f64 (*.f64 re re) (*.f64 im im))))))
(pow.f64 (+.f64 (*.f64 re re) (*.f64 im im)) #s(literal 1/2 binary64))
(pow.f64 (/.f64 #s(literal 1 binary64) (+.f64 (*.f64 re re) (*.f64 im im))) #s(literal -1/2 binary64))
(pow.f64 (pow.f64 (+.f64 (*.f64 re re) (*.f64 im im)) #s(literal 1/4 binary64)) #s(literal 2 binary64))
(pow.f64 (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (+.f64 (*.f64 re re) (*.f64 im im))) #s(literal 1/4 binary64))
(pow.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (+.f64 (*.f64 re re) (*.f64 im im)))) #s(literal -1 binary64))
(pow.f64 (/.f64 (sqrt.f64 (+.f64 (*.f64 re (*.f64 re (*.f64 re re))) (*.f64 (*.f64 im im) (-.f64 (*.f64 im im) (*.f64 re re))))) (hypot.f64 (*.f64 im (*.f64 im im)) (*.f64 re (*.f64 re re)))) #s(literal -1 binary64))
(pow.f64 (/.f64 (sqrt.f64 (-.f64 (*.f64 re re) (*.f64 im im))) (sqrt.f64 (-.f64 (*.f64 re (*.f64 re (*.f64 re re))) (*.f64 im (*.f64 im (*.f64 im im)))))) #s(literal -1 binary64))
(pow.f64 (exp.f64 #s(literal 1/2 binary64)) (log.f64 (+.f64 (*.f64 re re) (*.f64 im im))))
(*.f64 (hypot.f64 re im) (pow.f64 (*.f64 (-.f64 (*.f64 re re) (*.f64 im im)) (/.f64 #s(literal 1 binary64) (-.f64 (*.f64 re re) (*.f64 im im)))) #s(literal 1/2 binary64)))
(*.f64 (hypot.f64 re im) (pow.f64 (/.f64 (-.f64 (*.f64 re re) (*.f64 im im)) (-.f64 (*.f64 re re) (*.f64 im im))) #s(literal 1/2 binary64)))
(*.f64 (hypot.f64 (*.f64 im (*.f64 im im)) (*.f64 re (*.f64 re re))) (pow.f64 (+.f64 (*.f64 re (*.f64 re (*.f64 re re))) (*.f64 (*.f64 im im) (-.f64 (*.f64 im im) (*.f64 re re)))) #s(literal -1/2 binary64)))
(*.f64 (sqrt.f64 (+.f64 (*.f64 re (*.f64 re (*.f64 re re))) (*.f64 (*.f64 im im) (-.f64 (*.f64 im im) (*.f64 re re))))) (pow.f64 (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (/.f64 #s(literal 1 binary64) (+.f64 (*.f64 re (*.f64 re (*.f64 re re))) (*.f64 (*.f64 im im) (-.f64 (*.f64 im im) (*.f64 re re)))))) #s(literal 1/2 binary64)))
(*.f64 (sqrt.f64 (+.f64 (*.f64 re (*.f64 re (*.f64 re re))) (*.f64 (*.f64 im im) (-.f64 (*.f64 im im) (*.f64 re re))))) (pow.f64 (/.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (+.f64 (*.f64 re (*.f64 re (*.f64 re re))) (*.f64 (*.f64 im im) (-.f64 (*.f64 im im) (*.f64 re re))))) #s(literal 1/2 binary64)))
(*.f64 (sqrt.f64 (-.f64 (*.f64 re (*.f64 re (*.f64 re re))) (*.f64 im (*.f64 im (*.f64 im im))))) (pow.f64 (-.f64 (*.f64 re re) (*.f64 im im)) #s(literal -1/2 binary64)))
(*.f64 (pow.f64 (+.f64 (*.f64 re re) (*.f64 im im)) #s(literal 1/4 binary64)) (pow.f64 (+.f64 (*.f64 re re) (*.f64 im im)) #s(literal 1/4 binary64)))
(*.f64 (pow.f64 (+.f64 (*.f64 re (*.f64 re (*.f64 re re))) (*.f64 (*.f64 im im) (-.f64 (*.f64 im im) (*.f64 re re)))) #s(literal -1/2 binary64)) (hypot.f64 (*.f64 im (*.f64 im im)) (*.f64 re (*.f64 re re))))
(*.f64 (pow.f64 (-.f64 (*.f64 re re) (*.f64 im im)) #s(literal -1/2 binary64)) (sqrt.f64 (-.f64 (*.f64 re (*.f64 re (*.f64 re re))) (*.f64 im (*.f64 im (*.f64 im im))))))
(*.f64 (sqrt.f64 (-.f64 #s(literal 0 binary64) (+.f64 (*.f64 (*.f64 re (*.f64 re re)) (*.f64 re (*.f64 re re))) (*.f64 (*.f64 im im) (*.f64 im (*.f64 im (*.f64 im im))))))) (pow.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 0 binary64) (+.f64 (*.f64 re (*.f64 re (*.f64 re re))) (*.f64 (*.f64 im im) (-.f64 (*.f64 im im) (*.f64 re re)))))) #s(literal 1/2 binary64)))
(*.f64 (sqrt.f64 (*.f64 (neg.f64 (+.f64 (*.f64 re re) (*.f64 im im))) (-.f64 (*.f64 re re) (*.f64 im im)))) (pow.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 0 binary64) (-.f64 (*.f64 re re) (*.f64 im im)))) #s(literal 1/2 binary64)))
(*.f64 (sqrt.f64 (-.f64 (*.f64 im (*.f64 im (*.f64 im im))) (*.f64 re (*.f64 re (*.f64 re re))))) (pow.f64 (/.f64 #s(literal 1 binary64) (-.f64 (*.f64 im im) (*.f64 re re))) #s(literal 1/2 binary64)))
(*.f64 (pow.f64 (/.f64 (-.f64 (*.f64 re (*.f64 re (*.f64 re re))) (*.f64 im (*.f64 im (*.f64 im im)))) (-.f64 (*.f64 re (*.f64 re (*.f64 re re))) (*.f64 im (*.f64 im (*.f64 im im))))) #s(literal 1/2 binary64)) (hypot.f64 re im))
(*.f64 (pow.f64 #s(literal 1 binary64) #s(literal 1/2 binary64)) (hypot.f64 re im))
(*.f64 (pow.f64 (/.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (+.f64 re im)) #s(literal 1/2 binary64)) (pow.f64 (+.f64 re im) #s(literal 1/2 binary64)))
(*.f64 (pow.f64 (/.f64 (+.f64 (*.f64 (*.f64 re (*.f64 re re)) (*.f64 re (*.f64 re re))) (*.f64 (*.f64 im im) (*.f64 im (*.f64 im (*.f64 im im))))) (+.f64 (*.f64 (*.f64 (*.f64 re (*.f64 re re)) (*.f64 re (*.f64 re re))) (*.f64 (*.f64 re (*.f64 re re)) (*.f64 re (*.f64 re re)))) (*.f64 (*.f64 (*.f64 im im) (-.f64 (*.f64 im im) (*.f64 re re))) (*.f64 (*.f64 im im) (*.f64 (-.f64 (*.f64 im im) (*.f64 re re)) (*.f64 (*.f64 im im) (-.f64 (*.f64 im im) (*.f64 re re)))))))) #s(literal 1/2 binary64)) (sqrt.f64 (+.f64 (*.f64 (*.f64 re re) (*.f64 (*.f64 re (*.f64 re re)) (*.f64 re (*.f64 re re)))) (*.f64 (*.f64 (*.f64 im im) (-.f64 (*.f64 im im) (*.f64 re re))) (-.f64 (*.f64 (*.f64 im im) (-.f64 (*.f64 im im) (*.f64 re re))) (*.f64 re (*.f64 re (*.f64 re re))))))))
(*.f64 (pow.f64 (/.f64 (+.f64 (*.f64 (*.f64 re (*.f64 re re)) (*.f64 re (*.f64 re re))) (*.f64 (*.f64 im im) (*.f64 im (*.f64 im (*.f64 im im))))) (-.f64 (*.f64 (*.f64 re re) (*.f64 (*.f64 re (*.f64 re re)) (*.f64 re (*.f64 re re)))) (*.f64 (*.f64 im im) (*.f64 (-.f64 (*.f64 im im) (*.f64 re re)) (*.f64 (*.f64 im im) (-.f64 (*.f64 im im) (*.f64 re re))))))) #s(literal 1/2 binary64)) (sqrt.f64 (-.f64 (*.f64 re (*.f64 re (*.f64 re re))) (*.f64 (*.f64 im im) (-.f64 (*.f64 im im) (*.f64 re re))))))
(*.f64 (pow.f64 (/.f64 (-.f64 (*.f64 re (*.f64 re (*.f64 re re))) (*.f64 im (*.f64 im (*.f64 im im)))) (-.f64 (*.f64 (*.f64 re (*.f64 re re)) (*.f64 re (*.f64 re re))) (*.f64 (*.f64 im im) (*.f64 im (*.f64 im (*.f64 im im)))))) #s(literal 1/2 binary64)) (sqrt.f64 (+.f64 (*.f64 re (*.f64 re (*.f64 re re))) (*.f64 (*.f64 im im) (+.f64 (*.f64 re re) (*.f64 im im))))))
(*.f64 (pow.f64 (pow.f64 (+.f64 (*.f64 (*.f64 re (*.f64 re re)) (*.f64 re (*.f64 re re))) (*.f64 (*.f64 im im) (*.f64 im (*.f64 im (*.f64 im im))))) #s(literal 1/4 binary64)) #s(literal 2 binary64)) (pow.f64 (pow.f64 (+.f64 (*.f64 re (*.f64 re (*.f64 re re))) (*.f64 (*.f64 im im) (-.f64 (*.f64 im im) (*.f64 re re)))) #s(literal -1/4 binary64)) #s(literal 2 binary64)))
(*.f64 (pow.f64 (pow.f64 (-.f64 (*.f64 re (*.f64 re (*.f64 re re))) (*.f64 im (*.f64 im (*.f64 im im)))) #s(literal 1/4 binary64)) #s(literal 2 binary64)) (pow.f64 (pow.f64 (-.f64 (*.f64 re re) (*.f64 im im)) #s(literal -1/4 binary64)) #s(literal 2 binary64)))

simplify312.0ms (5.3%)

Algorithm
egg-herbie
Rules
4088×*-lowering-*.f32
4088×*-lowering-*.f64
2720×fma-lowering-fma.f32
2720×fma-lowering-fma.f64
1784×fma-define
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
0181824
1538784
21825762
36562756
08069756
Stop Event
iter limit
node limit
Counts
48 → 48
Calls
Call 1
Inputs
(log im)
(+ (log im) (* 1/2 (/ (pow re 2) (pow im 2))))
(+ (log im) (* (pow re 2) (+ (* -1/4 (/ (pow re 2) (pow im 4))) (* 1/2 (/ 1 (pow im 2))))))
(+ (log im) (* (pow re 2) (+ (* (pow re 2) (- (* 1/6 (/ (pow re 2) (pow im 6))) (* 1/4 (/ 1 (pow im 4))))) (* 1/2 (/ 1 (pow im 2))))))
(* -1 (log (/ 1 re)))
(+ (* -1 (log (/ 1 re))) (* 1/2 (/ (pow im 2) (pow re 2))))
(+ (* -1 (log (/ 1 re))) (+ (* -1/4 (/ (pow im 4) (pow re 4))) (* 1/2 (/ (pow im 2) (pow re 2)))))
(+ (* -1 (log (/ 1 re))) (+ (* -1/4 (/ (pow im 4) (pow re 4))) (+ (* 1/720 (/ (+ (* 30 (pow im 6)) (* 90 (pow im 6))) (pow re 6))) (* 1/2 (/ (pow im 2) (pow re 2))))))
(* -1 (log (/ -1 re)))
(+ (* -1 (log (/ -1 re))) (* 1/2 (/ (pow im 2) (pow re 2))))
(+ (* -1 (log (/ -1 re))) (+ (* -1/4 (/ (pow im 4) (pow re 4))) (* 1/2 (/ (pow im 2) (pow re 2)))))
(+ (* -1 (log (/ -1 re))) (+ (* -1/4 (/ (pow im 4) (pow re 4))) (+ (* 1/720 (/ (+ (* 30 (pow im 6)) (* 90 (pow im 6))) (pow re 6))) (* 1/2 (/ (pow im 2) (pow re 2))))))
(log re)
(+ (log re) (* 1/2 (/ (pow im 2) (pow re 2))))
(+ (log re) (* (pow im 2) (+ (* -1/4 (/ (pow im 2) (pow re 4))) (* 1/2 (/ 1 (pow re 2))))))
(+ (log re) (* (pow im 2) (+ (* (pow im 2) (- (* 1/6 (/ (pow im 2) (pow re 6))) (* 1/4 (/ 1 (pow re 4))))) (* 1/2 (/ 1 (pow re 2))))))
(* -1 (log (/ 1 im)))
(+ (* -1 (log (/ 1 im))) (* 1/2 (/ (pow re 2) (pow im 2))))
(+ (* -1 (log (/ 1 im))) (+ (* -1/4 (/ (pow re 4) (pow im 4))) (* 1/2 (/ (pow re 2) (pow im 2)))))
(+ (* -1 (log (/ 1 im))) (+ (* -1/4 (/ (pow re 4) (pow im 4))) (+ (* 1/720 (/ (+ (* 30 (pow re 6)) (* 90 (pow re 6))) (pow im 6))) (* 1/2 (/ (pow re 2) (pow im 2))))))
(* -1 (log (/ -1 im)))
(+ (* -1 (log (/ -1 im))) (* 1/2 (/ (pow re 2) (pow im 2))))
(+ (* -1 (log (/ -1 im))) (+ (* -1/4 (/ (pow re 4) (pow im 4))) (* 1/2 (/ (pow re 2) (pow im 2)))))
(+ (* -1 (log (/ -1 im))) (+ (* -1/4 (/ (pow re 4) (pow im 4))) (+ (* 1/720 (/ (+ (* 30 (pow re 6)) (* 90 (pow re 6))) (pow im 6))) (* 1/2 (/ (pow re 2) (pow im 2))))))
im
(+ im (* 1/2 (/ (pow re 2) im)))
(+ im (* (pow re 2) (+ (* -1/8 (/ (pow re 2) (pow im 3))) (* 1/2 (/ 1 im)))))
(+ im (* (pow re 2) (+ (* (pow re 2) (- (* 1/16 (/ (pow re 2) (pow im 5))) (* 1/8 (/ 1 (pow im 3))))) (* 1/2 (/ 1 im)))))
re
(* re (+ 1 (* 1/2 (/ (pow im 2) (pow re 2)))))
(* re (+ 1 (+ (* -1/8 (/ (pow im 4) (pow re 4))) (* 1/2 (/ (pow im 2) (pow re 2))))))
(* re (+ 1 (+ (* -1/8 (/ (pow im 4) (pow re 4))) (+ (* 1/16 (/ (pow im 6) (pow re 6))) (* 1/2 (/ (pow im 2) (pow re 2)))))))
(* -1 re)
(* -1 (* re (+ 1 (* 1/2 (/ (pow im 2) (pow re 2))))))
(* -1 (* re (+ 1 (+ (* -1/8 (/ (pow im 4) (pow re 4))) (* 1/2 (/ (pow im 2) (pow re 2)))))))
(* -1 (* re (+ 1 (+ (* -1/8 (/ (pow im 4) (pow re 4))) (+ (* 1/16 (/ (pow im 6) (pow re 6))) (* 1/2 (/ (pow im 2) (pow re 2))))))))
re
(+ re (* 1/2 (/ (pow im 2) re)))
(+ re (* (pow im 2) (+ (* -1/8 (/ (pow im 2) (pow re 3))) (* 1/2 (/ 1 re)))))
(+ re (* (pow im 2) (+ (* (pow im 2) (- (* 1/16 (/ (pow im 2) (pow re 5))) (* 1/8 (/ 1 (pow re 3))))) (* 1/2 (/ 1 re)))))
im
(* im (+ 1 (* 1/2 (/ (pow re 2) (pow im 2)))))
(* im (+ 1 (+ (* -1/8 (/ (pow re 4) (pow im 4))) (* 1/2 (/ (pow re 2) (pow im 2))))))
(* im (+ 1 (+ (* -1/8 (/ (pow re 4) (pow im 4))) (+ (* 1/16 (/ (pow re 6) (pow im 6))) (* 1/2 (/ (pow re 2) (pow im 2)))))))
(* -1 im)
(* -1 (* im (+ 1 (* 1/2 (/ (pow re 2) (pow im 2))))))
(* -1 (* im (+ 1 (+ (* -1/8 (/ (pow re 4) (pow im 4))) (* 1/2 (/ (pow re 2) (pow im 2)))))))
(* -1 (* im (+ 1 (+ (* -1/8 (/ (pow re 4) (pow im 4))) (+ (* 1/16 (/ (pow re 6) (pow im 6))) (* 1/2 (/ (pow re 2) (pow im 2))))))))
Outputs
(log im)
(log.f64 im)
(+ (log im) (* 1/2 (/ (pow re 2) (pow im 2))))
(+.f64 (log.f64 im) (/.f64 (/.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 re re)) im) im))
(+ (log im) (* (pow re 2) (+ (* -1/4 (/ (pow re 2) (pow im 4))) (* 1/2 (/ 1 (pow im 2))))))
(+.f64 (log.f64 im) (*.f64 (*.f64 re re) (-.f64 (/.f64 #s(literal 1/2 binary64) (*.f64 im im)) (*.f64 (/.f64 #s(literal 1/4 binary64) (*.f64 im (*.f64 im (*.f64 im im)))) (*.f64 re re)))))
(+ (log im) (* (pow re 2) (+ (* (pow re 2) (- (* 1/6 (/ (pow re 2) (pow im 6))) (* 1/4 (/ 1 (pow im 4))))) (* 1/2 (/ 1 (pow im 2))))))
(+.f64 (log.f64 im) (*.f64 (*.f64 re re) (+.f64 (/.f64 #s(literal 1/2 binary64) (*.f64 im im)) (*.f64 (*.f64 re re) (+.f64 (/.f64 (*.f64 (*.f64 re re) #s(literal 1/6 binary64)) (pow.f64 im #s(literal 6 binary64))) (/.f64 #s(literal -1/4 binary64) (*.f64 im (*.f64 im (*.f64 im im)))))))))
(* -1 (log (/ 1 re)))
(log.f64 re)
(+ (* -1 (log (/ 1 re))) (* 1/2 (/ (pow im 2) (pow re 2))))
(+.f64 (/.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 im im)) (*.f64 re re)) (log.f64 re))
(+ (* -1 (log (/ 1 re))) (+ (* -1/4 (/ (pow im 4) (pow re 4))) (* 1/2 (/ (pow im 2) (pow re 2)))))
(+.f64 (*.f64 (*.f64 im im) (+.f64 (/.f64 (*.f64 (*.f64 im im) #s(literal -1/4 binary64)) (*.f64 re (*.f64 re (*.f64 re re)))) (/.f64 #s(literal 1/2 binary64) (*.f64 re re)))) (log.f64 re))
(+ (* -1 (log (/ 1 re))) (+ (* -1/4 (/ (pow im 4) (pow re 4))) (+ (* 1/720 (/ (+ (* 30 (pow im 6)) (* 90 (pow im 6))) (pow re 6))) (* 1/2 (/ (pow im 2) (pow re 2))))))
(+.f64 (*.f64 (*.f64 im im) (+.f64 (/.f64 (*.f64 (*.f64 im im) #s(literal -1/4 binary64)) (*.f64 re (*.f64 re (*.f64 re re)))) (/.f64 #s(literal 1/2 binary64) (*.f64 re re)))) (+.f64 (log.f64 re) (/.f64 (*.f64 #s(literal 1/6 binary64) (pow.f64 im #s(literal 6 binary64))) (pow.f64 re #s(literal 6 binary64)))))
(* -1 (log (/ -1 re)))
(-.f64 #s(literal 0 binary64) (log.f64 (/.f64 #s(literal -1 binary64) re)))
(+ (* -1 (log (/ -1 re))) (* 1/2 (/ (pow im 2) (pow re 2))))
(-.f64 (/.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 im im)) (*.f64 re re)) (log.f64 (/.f64 #s(literal -1 binary64) re)))
(+ (* -1 (log (/ -1 re))) (+ (* -1/4 (/ (pow im 4) (pow re 4))) (* 1/2 (/ (pow im 2) (pow re 2)))))
(-.f64 (*.f64 (*.f64 im im) (+.f64 (/.f64 (*.f64 (*.f64 im im) #s(literal -1/4 binary64)) (*.f64 re (*.f64 re (*.f64 re re)))) (/.f64 #s(literal 1/2 binary64) (*.f64 re re)))) (log.f64 (/.f64 #s(literal -1 binary64) re)))
(+ (* -1 (log (/ -1 re))) (+ (* -1/4 (/ (pow im 4) (pow re 4))) (+ (* 1/720 (/ (+ (* 30 (pow im 6)) (* 90 (pow im 6))) (pow re 6))) (* 1/2 (/ (pow im 2) (pow re 2))))))
(+.f64 (*.f64 (*.f64 im im) (+.f64 (/.f64 (*.f64 (*.f64 im im) #s(literal -1/4 binary64)) (*.f64 re (*.f64 re (*.f64 re re)))) (/.f64 #s(literal 1/2 binary64) (*.f64 re re)))) (-.f64 (/.f64 (*.f64 #s(literal 1/6 binary64) (pow.f64 im #s(literal 6 binary64))) (pow.f64 re #s(literal 6 binary64))) (log.f64 (/.f64 #s(literal -1 binary64) re))))
(log re)
(log.f64 re)
(+ (log re) (* 1/2 (/ (pow im 2) (pow re 2))))
(+.f64 (/.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 im im)) (*.f64 re re)) (log.f64 re))
(+ (log re) (* (pow im 2) (+ (* -1/4 (/ (pow im 2) (pow re 4))) (* 1/2 (/ 1 (pow re 2))))))
(+.f64 (*.f64 (*.f64 im im) (+.f64 (/.f64 (*.f64 (*.f64 im im) #s(literal -1/4 binary64)) (*.f64 re (*.f64 re (*.f64 re re)))) (/.f64 #s(literal 1/2 binary64) (*.f64 re re)))) (log.f64 re))
(+ (log re) (* (pow im 2) (+ (* (pow im 2) (- (* 1/6 (/ (pow im 2) (pow re 6))) (* 1/4 (/ 1 (pow re 4))))) (* 1/2 (/ 1 (pow re 2))))))
(+.f64 (log.f64 re) (*.f64 (*.f64 im im) (+.f64 (/.f64 #s(literal 1/2 binary64) (*.f64 re re)) (*.f64 im (*.f64 im (+.f64 (/.f64 (*.f64 (*.f64 im im) #s(literal 1/6 binary64)) (pow.f64 re #s(literal 6 binary64))) (/.f64 #s(literal -1/4 binary64) (*.f64 re (*.f64 re (*.f64 re re))))))))))
(* -1 (log (/ 1 im)))
(log.f64 im)
(+ (* -1 (log (/ 1 im))) (* 1/2 (/ (pow re 2) (pow im 2))))
(+.f64 (log.f64 im) (/.f64 (/.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 re re)) im) im))
(+ (* -1 (log (/ 1 im))) (+ (* -1/4 (/ (pow re 4) (pow im 4))) (* 1/2 (/ (pow re 2) (pow im 2)))))
(+.f64 (log.f64 im) (*.f64 (*.f64 re re) (-.f64 (/.f64 #s(literal 1/2 binary64) (*.f64 im im)) (*.f64 (/.f64 #s(literal 1/4 binary64) (*.f64 im (*.f64 im (*.f64 im im)))) (*.f64 re re)))))
(+ (* -1 (log (/ 1 im))) (+ (* -1/4 (/ (pow re 4) (pow im 4))) (+ (* 1/720 (/ (+ (* 30 (pow re 6)) (* 90 (pow re 6))) (pow im 6))) (* 1/2 (/ (pow re 2) (pow im 2))))))
(+.f64 (log.f64 im) (+.f64 (*.f64 (*.f64 re re) (-.f64 (/.f64 #s(literal 1/2 binary64) (*.f64 im im)) (*.f64 (/.f64 #s(literal 1/4 binary64) (*.f64 im (*.f64 im (*.f64 im im)))) (*.f64 re re)))) (/.f64 (*.f64 #s(literal 1/6 binary64) (pow.f64 re #s(literal 6 binary64))) (pow.f64 im #s(literal 6 binary64)))))
(* -1 (log (/ -1 im)))
(-.f64 #s(literal 0 binary64) (log.f64 (/.f64 #s(literal -1 binary64) im)))
(+ (* -1 (log (/ -1 im))) (* 1/2 (/ (pow re 2) (pow im 2))))
(-.f64 (/.f64 (/.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 re re)) im) im) (log.f64 (/.f64 #s(literal -1 binary64) im)))
(+ (* -1 (log (/ -1 im))) (+ (* -1/4 (/ (pow re 4) (pow im 4))) (* 1/2 (/ (pow re 2) (pow im 2)))))
(-.f64 (*.f64 (*.f64 re re) (-.f64 (/.f64 #s(literal 1/2 binary64) (*.f64 im im)) (*.f64 (/.f64 #s(literal 1/4 binary64) (*.f64 im (*.f64 im (*.f64 im im)))) (*.f64 re re)))) (log.f64 (/.f64 #s(literal -1 binary64) im)))
(+ (* -1 (log (/ -1 im))) (+ (* -1/4 (/ (pow re 4) (pow im 4))) (+ (* 1/720 (/ (+ (* 30 (pow re 6)) (* 90 (pow re 6))) (pow im 6))) (* 1/2 (/ (pow re 2) (pow im 2))))))
(+.f64 (*.f64 (*.f64 re re) (-.f64 (/.f64 #s(literal 1/2 binary64) (*.f64 im im)) (*.f64 (/.f64 #s(literal 1/4 binary64) (*.f64 im (*.f64 im (*.f64 im im)))) (*.f64 re re)))) (-.f64 (/.f64 (*.f64 #s(literal 1/6 binary64) (pow.f64 re #s(literal 6 binary64))) (pow.f64 im #s(literal 6 binary64))) (log.f64 (/.f64 #s(literal -1 binary64) im))))
im
(+ im (* 1/2 (/ (pow re 2) im)))
(+.f64 im (/.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 re re)) im))
(+ im (* (pow re 2) (+ (* -1/8 (/ (pow re 2) (pow im 3))) (* 1/2 (/ 1 im)))))
(+.f64 im (*.f64 (*.f64 re re) (+.f64 (/.f64 (*.f64 (*.f64 re re) #s(literal -1/8 binary64)) (*.f64 im (*.f64 im im))) (/.f64 #s(literal 1/2 binary64) im))))
(+ im (* (pow re 2) (+ (* (pow re 2) (- (* 1/16 (/ (pow re 2) (pow im 5))) (* 1/8 (/ 1 (pow im 3))))) (* 1/2 (/ 1 im)))))
(+.f64 im (*.f64 (*.f64 re re) (+.f64 (/.f64 #s(literal 1/2 binary64) im) (*.f64 (*.f64 re re) (+.f64 (/.f64 (*.f64 re (*.f64 re #s(literal 1/16 binary64))) (pow.f64 im #s(literal 5 binary64))) (/.f64 #s(literal -1/8 binary64) (*.f64 im (*.f64 im im))))))))
re
(* re (+ 1 (* 1/2 (/ (pow im 2) (pow re 2)))))
(*.f64 re (+.f64 #s(literal 1 binary64) (/.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 im im)) (*.f64 re re))))
(* re (+ 1 (+ (* -1/8 (/ (pow im 4) (pow re 4))) (* 1/2 (/ (pow im 2) (pow re 2))))))
(*.f64 re (+.f64 (/.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 im im)) (*.f64 re re)) (+.f64 #s(literal 1 binary64) (/.f64 (*.f64 im (*.f64 im (*.f64 (*.f64 im im) #s(literal -1/8 binary64)))) (*.f64 re (*.f64 re (*.f64 re re)))))))
(* re (+ 1 (+ (* -1/8 (/ (pow im 4) (pow re 4))) (+ (* 1/16 (/ (pow im 6) (pow re 6))) (* 1/2 (/ (pow im 2) (pow re 2)))))))
(*.f64 re (+.f64 (/.f64 (*.f64 im (*.f64 im (*.f64 (*.f64 im im) #s(literal -1/8 binary64)))) (*.f64 re (*.f64 re (*.f64 re re)))) (+.f64 (+.f64 #s(literal 1 binary64) (/.f64 (*.f64 (pow.f64 im #s(literal 6 binary64)) #s(literal 1/16 binary64)) (pow.f64 re #s(literal 6 binary64)))) (/.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 im im)) (*.f64 re re)))))
(* -1 re)
(-.f64 #s(literal 0 binary64) re)
(* -1 (* re (+ 1 (* 1/2 (/ (pow im 2) (pow re 2))))))
(-.f64 (*.f64 (/.f64 (*.f64 re (*.f64 im im)) (*.f64 re re)) #s(literal -1/2 binary64)) re)
(* -1 (* re (+ 1 (+ (* -1/8 (/ (pow im 4) (pow re 4))) (* 1/2 (/ (pow im 2) (pow re 2)))))))
(*.f64 (+.f64 (/.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 im im)) (*.f64 re re)) (+.f64 #s(literal 1 binary64) (/.f64 (*.f64 im (*.f64 im (*.f64 (*.f64 im im) #s(literal -1/8 binary64)))) (*.f64 re (*.f64 re (*.f64 re re)))))) (-.f64 #s(literal 0 binary64) re))
(* -1 (* re (+ 1 (+ (* -1/8 (/ (pow im 4) (pow re 4))) (+ (* 1/16 (/ (pow im 6) (pow re 6))) (* 1/2 (/ (pow im 2) (pow re 2))))))))
(*.f64 (+.f64 (/.f64 (*.f64 im (*.f64 im (*.f64 (*.f64 im im) #s(literal -1/8 binary64)))) (*.f64 re (*.f64 re (*.f64 re re)))) (+.f64 (+.f64 #s(literal 1 binary64) (/.f64 (*.f64 (pow.f64 im #s(literal 6 binary64)) #s(literal 1/16 binary64)) (pow.f64 re #s(literal 6 binary64)))) (/.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 im im)) (*.f64 re re)))) (-.f64 #s(literal 0 binary64) re))
re
(+ re (* 1/2 (/ (pow im 2) re)))
(+.f64 re (/.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 im im)) re))
(+ re (* (pow im 2) (+ (* -1/8 (/ (pow im 2) (pow re 3))) (* 1/2 (/ 1 re)))))
(+.f64 re (*.f64 (*.f64 im im) (-.f64 (/.f64 #s(literal 1/2 binary64) re) (*.f64 (/.f64 (/.f64 #s(literal 1/8 binary64) re) (*.f64 re re)) (*.f64 im im)))))
(+ re (* (pow im 2) (+ (* (pow im 2) (- (* 1/16 (/ (pow im 2) (pow re 5))) (* 1/8 (/ 1 (pow re 3))))) (* 1/2 (/ 1 re)))))
(+.f64 re (*.f64 (*.f64 im im) (+.f64 (/.f64 #s(literal 1/2 binary64) re) (*.f64 (*.f64 im im) (+.f64 (/.f64 (*.f64 (*.f64 im im) #s(literal 1/16 binary64)) (pow.f64 re #s(literal 5 binary64))) (/.f64 (/.f64 #s(literal -1/8 binary64) re) (*.f64 re re)))))))
im
(* im (+ 1 (* 1/2 (/ (pow re 2) (pow im 2)))))
(*.f64 im (+.f64 (/.f64 (/.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 re re)) im) im) #s(literal 1 binary64)))
(* im (+ 1 (+ (* -1/8 (/ (pow re 4) (pow im 4))) (* 1/2 (/ (pow re 2) (pow im 2))))))
(*.f64 im (+.f64 (+.f64 (/.f64 (/.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 re re)) im) im) #s(literal 1 binary64)) (/.f64 (*.f64 re (*.f64 re (*.f64 (*.f64 re re) #s(literal -1/8 binary64)))) (*.f64 im (*.f64 im (*.f64 im im))))))
(* im (+ 1 (+ (* -1/8 (/ (pow re 4) (pow im 4))) (+ (* 1/16 (/ (pow re 6) (pow im 6))) (* 1/2 (/ (pow re 2) (pow im 2)))))))
(*.f64 im (+.f64 (/.f64 (*.f64 re (*.f64 re (*.f64 (*.f64 re re) #s(literal -1/8 binary64)))) (*.f64 im (*.f64 im (*.f64 im im)))) (+.f64 (+.f64 (/.f64 (/.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 re re)) im) im) #s(literal 1 binary64)) (/.f64 (*.f64 (pow.f64 re #s(literal 6 binary64)) #s(literal 1/16 binary64)) (pow.f64 im #s(literal 6 binary64))))))
(* -1 im)
(-.f64 #s(literal 0 binary64) im)
(* -1 (* im (+ 1 (* 1/2 (/ (pow re 2) (pow im 2))))))
(-.f64 #s(literal 0 binary64) (*.f64 im (+.f64 (/.f64 (/.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 re re)) im) im) #s(literal 1 binary64))))
(* -1 (* im (+ 1 (+ (* -1/8 (/ (pow re 4) (pow im 4))) (* 1/2 (/ (pow re 2) (pow im 2)))))))
(*.f64 (+.f64 (+.f64 (/.f64 (/.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 re re)) im) im) #s(literal 1 binary64)) (/.f64 (*.f64 re (*.f64 re (*.f64 (*.f64 re re) #s(literal -1/8 binary64)))) (*.f64 im (*.f64 im (*.f64 im im))))) (-.f64 #s(literal 0 binary64) im))
(* -1 (* im (+ 1 (+ (* -1/8 (/ (pow re 4) (pow im 4))) (+ (* 1/16 (/ (pow re 6) (pow im 6))) (* 1/2 (/ (pow re 2) (pow im 2))))))))
(*.f64 (+.f64 (/.f64 (*.f64 re (*.f64 re (*.f64 (*.f64 re re) #s(literal -1/8 binary64)))) (*.f64 im (*.f64 im (*.f64 im im)))) (+.f64 (+.f64 (/.f64 (/.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 re re)) im) im) #s(literal 1 binary64)) (/.f64 (*.f64 (pow.f64 re #s(literal 6 binary64)) #s(literal 1/16 binary64)) (pow.f64 im #s(literal 6 binary64))))) (-.f64 #s(literal 0 binary64) im))

eval12.0ms (0.2%)

Compiler

Compiled 2968 to 414 computations (86.1% saved)

prune21.0ms (0.4%)

Pruning

5 alts after pruning (4 fresh and 1 done)

PrunedKeptTotal
New1114115
Fresh000
Picked011
Done000
Total1115116
Accuracy
100.0%
Counts
116 → 5
Alt Table
Click to see full alt table
StatusAccuracyProgram
91.1%
(+.f64 (log.f64 im) (/.f64 (/.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 re re)) im) im))
51.1%
(*.f64 (log.f64 (+.f64 (*.f64 re re) (*.f64 im im))) #s(literal 1/2 binary64))
100.0%
(log.f64 (hypot.f64 re im))
91.1%
(log.f64 (+.f64 im (/.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 re re)) im)))
98.9%
(log.f64 im)
Compiler

Compiled 48 to 32 computations (33.3% saved)

simplify16.0ms (0.3%)

Algorithm
egg-herbie
Localize:

Found 13 expressions of interest:

NewMetricScoreProgram
cost-diff0
(/.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 re re)) im)
cost-diff0
(/.f64 (/.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 re re)) im) im)
cost-diff0
(log.f64 im)
cost-diff0
(+.f64 (log.f64 im) (/.f64 (/.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 re re)) im) im))
cost-diff0
(*.f64 re re)
cost-diff0
(+.f64 (*.f64 re re) (*.f64 im im))
cost-diff0
(log.f64 (+.f64 (*.f64 re re) (*.f64 im im)))
cost-diff0
(*.f64 (log.f64 (+.f64 (*.f64 re re) (*.f64 im im))) #s(literal 1/2 binary64))
cost-diff0
(*.f64 #s(literal 1/2 binary64) (*.f64 re re))
cost-diff0
(/.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 re re)) im)
cost-diff0
(+.f64 im (/.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 re re)) im))
cost-diff0
(log.f64 (+.f64 im (/.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 re re)) im)))
cost-diff0
(log.f64 im)
Rules
90×*-lowering-*.f32
90×*-lowering-*.f64
56×fma-define
44×fma-lowering-fma.f32
44×fma-lowering-fma.f64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
015112
126110
249109
391109
4120109
5122109
0122109
Stop Event
iter limit
saturated
Calls
Call 1
Inputs
(log im)
im
(log (+ im (/ (* 1/2 (* re re)) im)))
(+ im (/ (* 1/2 (* re re)) im))
im
(/ (* 1/2 (* re re)) im)
(* 1/2 (* re re))
1/2
(* re re)
re
(* (log (+ (* re re) (* im im))) 1/2)
(log (+ (* re re) (* im im)))
(+ (* re re) (* im im))
(* re re)
re
(* im im)
im
1/2
(+ (log im) (/ (/ (* 1/2 (* re re)) im) im))
(log im)
im
(/ (/ (* 1/2 (* re re)) im) im)
(/ (* 1/2 (* re re)) im)
(* 1/2 (* re re))
1/2
(* re re)
re
Outputs
(log im)
(log.f64 im)
im
(log (+ im (/ (* 1/2 (* re re)) im)))
(log.f64 (+.f64 im (/.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 re re)) im)))
(+ im (/ (* 1/2 (* re re)) im))
(+.f64 im (/.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 re re)) im))
im
(/ (* 1/2 (* re re)) im)
(/.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 re re)) im)
(* 1/2 (* re re))
(*.f64 #s(literal 1/2 binary64) (*.f64 re re))
1/2
#s(literal 1/2 binary64)
(* re re)
(*.f64 re re)
re
(* (log (+ (* re re) (* im im))) 1/2)
(*.f64 #s(literal 1/2 binary64) (log.f64 (+.f64 (*.f64 re re) (*.f64 im im))))
(log (+ (* re re) (* im im)))
(log.f64 (+.f64 (*.f64 re re) (*.f64 im im)))
(+ (* re re) (* im im))
(+.f64 (*.f64 re re) (*.f64 im im))
(* re re)
(*.f64 re re)
re
(* im im)
(*.f64 im im)
im
1/2
#s(literal 1/2 binary64)
(+ (log im) (/ (/ (* 1/2 (* re re)) im) im))
(+.f64 (log.f64 im) (/.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 re re)) (*.f64 im im)))
(log im)
(log.f64 im)
im
(/ (/ (* 1/2 (* re re)) im) im)
(/.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 re re)) (*.f64 im im))
(/ (* 1/2 (* re re)) im)
(/.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 re re)) im)
(* 1/2 (* re re))
(*.f64 #s(literal 1/2 binary64) (*.f64 re re))
1/2
#s(literal 1/2 binary64)
(* re re)
(*.f64 re re)
re

localize80.0ms (1.4%)

Localize:

Found 13 expressions of interest:

NewMetricScoreProgram
accuracy100.0%
(log.f64 im)
accuracy100.0%
(+.f64 (log.f64 im) (/.f64 (/.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 re re)) im) im))
accuracy94.8%
(/.f64 (/.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 re re)) im) im)
accuracy85.1%
(/.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 re re)) im)
accuracy100.0%
(*.f64 (log.f64 (+.f64 (*.f64 re re) (*.f64 im im))) #s(literal 1/2 binary64))
accuracy100.0%
(*.f64 re re)
accuracy100.0%
(*.f64 im im)
accuracy51.1%
(log.f64 (+.f64 (*.f64 re re) (*.f64 im im)))
accuracy100.0%
(*.f64 re re)
accuracy100.0%
(*.f64 #s(literal 1/2 binary64) (*.f64 re re))
accuracy100.0%
(log.f64 (+.f64 im (/.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 re re)) im)))
accuracy85.1%
(/.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 re re)) im)
accuracy100.0%
(log.f64 im)
Results
53.0ms256×0valid
Compiler

Compiled 118 to 16 computations (86.4% saved)

Precisions
Click to see histograms. Total time spent on operations: 26.0ms
ival-log: 10.0ms (38.7% of total)
ival-mult: 8.0ms (31% of total)
ival-div: 4.0ms (15.5% of total)
ival-add: 4.0ms (15.5% of total)
const: 0.0ms (0% of total)
backward-pass: 0.0ms (0% of total)

series85.0ms (1.4%)

Counts
12 → 240
Calls
Call 1
Inputs
#<alt (log im)>
#<alt (log (+ im (/ (* 1/2 (* re re)) im)))>
#<alt (+ im (/ (* 1/2 (* re re)) im))>
#<alt (/ (* 1/2 (* re re)) im)>
#<alt (* 1/2 (* re re))>
#<alt (* (log (+ (* re re) (* im im))) 1/2)>
#<alt (log (+ (* re re) (* im im)))>
#<alt (+ (* re re) (* im im))>
#<alt (* re re)>
#<alt (+ (log im) (/ (/ (* 1/2 (* re re)) im) im))>
#<alt (/ (/ (* 1/2 (* re re)) im) im)>
#<alt (* im im)>
Outputs
#<alt (log im)>
#<alt (log im)>
#<alt (log im)>
#<alt (log im)>
#<alt (* -1 (log (/ 1 im)))>
#<alt (* -1 (log (/ 1 im)))>
#<alt (* -1 (log (/ 1 im)))>
#<alt (* -1 (log (/ 1 im)))>
#<alt (+ (log -1) (* -1 (log (/ -1 im))))>
#<alt (+ (log -1) (* -1 (log (/ -1 im))))>
#<alt (+ (log -1) (* -1 (log (/ -1 im))))>
#<alt (+ (log -1) (* -1 (log (/ -1 im))))>
#<alt (+ (log (* 1/2 (pow re 2))) (* -1 (log im)))>
#<alt (+ (log (* 1/2 (pow re 2))) (+ (* -1 (log im)) (* 2 (/ (pow im 2) (pow re 2)))))>
#<alt (+ (log (* 1/2 (pow re 2))) (+ (* -1 (log im)) (* (pow im 2) (+ (* -2 (/ (pow im 2) (pow re 4))) (* 2 (/ 1 (pow re 2)))))))>
#<alt (+ (log (* 1/2 (pow re 2))) (+ (* -1 (log im)) (* (pow im 2) (+ (* (pow im 2) (- (* 8/3 (/ (pow im 2) (pow re 6))) (* 2 (/ 1 (pow re 4))))) (* 2 (/ 1 (pow re 2)))))))>
#<alt (* -1 (log (/ 1 im)))>
#<alt (+ (* -1 (log (/ 1 im))) (* 1/2 (/ (pow re 2) (pow im 2))))>
#<alt (+ (* -1 (log (/ 1 im))) (+ (* -1/8 (/ (pow re 4) (pow im 4))) (* 1/2 (/ (pow re 2) (pow im 2)))))>
#<alt (+ (* -1 (log (/ 1 im))) (+ (* -1/8 (/ (pow re 4) (pow im 4))) (+ (* 1/24 (/ (pow re 6) (pow im 6))) (* 1/2 (/ (pow re 2) (pow im 2))))))>
#<alt (+ (log -1) (* -1 (log (/ -1 im))))>
#<alt (+ (log -1) (+ (* -1 (log (/ -1 im))) (* 1/2 (/ (pow re 2) (pow im 2)))))>
#<alt (+ (log -1) (+ (* -1 (log (/ -1 im))) (+ (* -1/8 (/ (pow re 4) (pow im 4))) (* 1/2 (/ (pow re 2) (pow im 2))))))>
#<alt (+ (log -1) (+ (* -1 (log (/ -1 im))) (+ (* -1/8 (/ (pow re 4) (pow im 4))) (+ (* 1/24 (/ (pow re 6) (pow im 6))) (* 1/2 (/ (pow re 2) (pow im 2)))))))>
#<alt (log im)>
#<alt (+ (log im) (* 1/2 (/ (pow re 2) (pow im 2))))>
#<alt (+ (log im) (* (pow re 2) (+ (* -1/8 (/ (pow re 2) (pow im 4))) (* 1/2 (/ 1 (pow im 2))))))>
#<alt (+ (log im) (* (pow re 2) (+ (* (pow re 2) (- (* 1/24 (/ (pow re 2) (pow im 6))) (* 1/8 (/ 1 (pow im 4))))) (* 1/2 (/ 1 (pow im 2))))))>
#<alt (+ (log (/ 1/2 im)) (* -2 (log (/ 1 re))))>
#<alt (+ (log (/ 1/2 im)) (+ (* -2 (log (/ 1 re))) (* 2 (/ (pow im 2) (pow re 2)))))>
#<alt (+ (log (/ 1/2 im)) (+ (* -2 (log (/ 1 re))) (+ (* -2 (/ (pow im 4) (pow re 4))) (* 2 (/ (pow im 2) (pow re 2))))))>
#<alt (+ (log (/ 1/2 im)) (+ (* -2 (log (/ 1 re))) (+ (* -2 (/ (pow im 4) (pow re 4))) (+ (* 2 (/ (pow im 2) (pow re 2))) (* 8/3 (/ (pow im 6) (pow re 6)))))))>
#<alt (+ (log (/ 1/2 im)) (* -2 (log (/ -1 re))))>
#<alt (+ (log (/ 1/2 im)) (+ (* -2 (log (/ -1 re))) (* 2 (/ (pow im 2) (pow re 2)))))>
#<alt (+ (log (/ 1/2 im)) (+ (* -2 (log (/ -1 re))) (+ (* -2 (/ (pow im 4) (pow re 4))) (* 2 (/ (pow im 2) (pow re 2))))))>
#<alt (+ (log (/ 1/2 im)) (+ (* -2 (log (/ -1 re))) (+ (* -2 (/ (pow im 4) (pow re 4))) (+ (* 2 (/ (pow im 2) (pow re 2))) (* 8/3 (/ (pow im 6) (pow re 6)))))))>
#<alt (* 1/2 (/ (pow re 2) im))>
#<alt (/ (+ (* 1/2 (pow re 2)) (pow im 2)) im)>
#<alt (/ (+ (* 1/2 (pow re 2)) (pow im 2)) im)>
#<alt (/ (+ (* 1/2 (pow re 2)) (pow im 2)) im)>
#<alt im>
#<alt (* im (+ 1 (* 1/2 (/ (pow re 2) (pow im 2)))))>
#<alt (* im (+ 1 (* 1/2 (/ (pow re 2) (pow im 2)))))>
#<alt (* im (+ 1 (* 1/2 (/ (pow re 2) (pow im 2)))))>
#<alt im>
#<alt (* -1 (* im (- (* -1/2 (/ (pow re 2) (pow im 2))) 1)))>
#<alt (* -1 (* im (- (* -1/2 (/ (pow re 2) (pow im 2))) 1)))>
#<alt (* -1 (* im (- (* -1/2 (/ (pow re 2) (pow im 2))) 1)))>
#<alt im>
#<alt (+ im (* 1/2 (/ (pow re 2) im)))>
#<alt (+ im (* 1/2 (/ (pow re 2) im)))>
#<alt (+ im (* 1/2 (/ (pow re 2) im)))>
#<alt (* 1/2 (/ (pow re 2) im))>
#<alt (* (pow re 2) (+ (* 1/2 (/ 1 im)) (/ im (pow re 2))))>
#<alt (* (pow re 2) (+ (* 1/2 (/ 1 im)) (/ im (pow re 2))))>
#<alt (* (pow re 2) (+ (* 1/2 (/ 1 im)) (/ im (pow re 2))))>
#<alt (* 1/2 (/ (pow re 2) im))>
#<alt (* (pow re 2) (+ (* 1/2 (/ 1 im)) (/ im (pow re 2))))>
#<alt (* (pow re 2) (+ (* 1/2 (/ 1 im)) (/ im (pow re 2))))>
#<alt (* (pow re 2) (+ (* 1/2 (/ 1 im)) (/ im (pow re 2))))>
#<alt (* 1/2 (/ (pow re 2) im))>
#<alt (* 1/2 (/ (pow re 2) im))>
#<alt (* 1/2 (/ (pow re 2) im))>
#<alt (* 1/2 (/ (pow re 2) im))>
#<alt (* 1/2 (/ (pow re 2) im))>
#<alt (* 1/2 (/ (pow re 2) im))>
#<alt (* 1/2 (/ (pow re 2) im))>
#<alt (* 1/2 (/ (pow re 2) im))>
#<alt (* 1/2 (/ (pow re 2) im))>
#<alt (* 1/2 (/ (pow re 2) im))>
#<alt (* 1/2 (/ (pow re 2) im))>
#<alt (* 1/2 (/ (pow re 2) im))>
#<alt (* 1/2 (/ (pow re 2) im))>
#<alt (* 1/2 (/ (pow re 2) im))>
#<alt (* 1/2 (/ (pow re 2) im))>
#<alt (* 1/2 (/ (pow re 2) im))>
#<alt (* 1/2 (/ (pow re 2) im))>
#<alt (* 1/2 (/ (pow re 2) im))>
#<alt (* 1/2 (/ (pow re 2) im))>
#<alt (* 1/2 (/ (pow re 2) im))>
#<alt (* 1/2 (/ (pow re 2) im))>
#<alt (* 1/2 (/ (pow re 2) im))>
#<alt (* 1/2 (/ (pow re 2) im))>
#<alt (* 1/2 (/ (pow re 2) im))>
#<alt (* 1/2 (pow re 2))>
#<alt (* 1/2 (pow re 2))>
#<alt (* 1/2 (pow re 2))>
#<alt (* 1/2 (pow re 2))>
#<alt (* 1/2 (pow re 2))>
#<alt (* 1/2 (pow re 2))>
#<alt (* 1/2 (pow re 2))>
#<alt (* 1/2 (pow re 2))>
#<alt (* 1/2 (pow re 2))>
#<alt (* 1/2 (pow re 2))>
#<alt (* 1/2 (pow re 2))>
#<alt (* 1/2 (pow re 2))>
#<alt (* 1/2 (log (pow im 2)))>
#<alt (+ (* 1/2 (log (pow im 2))) (* 1/2 (/ (pow re 2) (pow im 2))))>
#<alt (+ (* 1/2 (log (pow im 2))) (* (pow re 2) (+ (* -1/4 (/ (pow re 2) (pow im 4))) (* 1/2 (/ 1 (pow im 2))))))>
#<alt (+ (* 1/2 (log (pow im 2))) (* (pow re 2) (+ (* (pow re 2) (- (* 1/6 (/ (pow re 2) (pow im 6))) (* 1/4 (/ 1 (pow im 4))))) (* 1/2 (/ 1 (pow im 2))))))>
#<alt (* -1 (log (/ 1 re)))>
#<alt (+ (* -1 (log (/ 1 re))) (* 1/2 (/ (pow im 2) (pow re 2))))>
#<alt (+ (* -1 (log (/ 1 re))) (+ (* -1/4 (/ (pow im 4) (pow re 4))) (* 1/2 (/ (pow im 2) (pow re 2)))))>
#<alt (+ (* -1 (log (/ 1 re))) (+ (* -1/4 (/ (pow im 4) (pow re 4))) (+ (* 1/6 (/ (pow im 6) (pow re 6))) (* 1/2 (/ (pow im 2) (pow re 2))))))>
#<alt (* -1 (log (/ -1 re)))>
#<alt (+ (* -1 (log (/ -1 re))) (* 1/2 (/ (pow im 2) (pow re 2))))>
#<alt (+ (* -1 (log (/ -1 re))) (+ (* -1/4 (/ (pow im 4) (pow re 4))) (* 1/2 (/ (pow im 2) (pow re 2)))))>
#<alt (+ (* -1 (log (/ -1 re))) (+ (* -1/4 (/ (pow im 4) (pow re 4))) (+ (* 1/6 (/ (pow im 6) (pow re 6))) (* 1/2 (/ (pow im 2) (pow re 2))))))>
#<alt (* 1/2 (log (pow re 2)))>
#<alt (+ (* 1/2 (log (pow re 2))) (* 1/2 (/ (pow im 2) (pow re 2))))>
#<alt (+ (* 1/2 (log (pow re 2))) (* (pow im 2) (+ (* -1/4 (/ (pow im 2) (pow re 4))) (* 1/2 (/ 1 (pow re 2))))))>
#<alt (+ (* 1/2 (log (pow re 2))) (* (pow im 2) (+ (* (pow im 2) (- (* 1/6 (/ (pow im 2) (pow re 6))) (* 1/4 (/ 1 (pow re 4))))) (* 1/2 (/ 1 (pow re 2))))))>
#<alt (* -1 (log (/ 1 im)))>
#<alt (+ (* -1 (log (/ 1 im))) (* 1/2 (/ (pow re 2) (pow im 2))))>
#<alt (+ (* -1 (log (/ 1 im))) (+ (* -1/4 (/ (pow re 4) (pow im 4))) (* 1/2 (/ (pow re 2) (pow im 2)))))>
#<alt (+ (* -1 (log (/ 1 im))) (+ (* -1/4 (/ (pow re 4) (pow im 4))) (+ (* 1/6 (/ (pow re 6) (pow im 6))) (* 1/2 (/ (pow re 2) (pow im 2))))))>
#<alt (* -1 (log (/ -1 im)))>
#<alt (+ (* -1 (log (/ -1 im))) (* 1/2 (/ (pow re 2) (pow im 2))))>
#<alt (+ (* -1 (log (/ -1 im))) (+ (* -1/4 (/ (pow re 4) (pow im 4))) (* 1/2 (/ (pow re 2) (pow im 2)))))>
#<alt (+ (* -1 (log (/ -1 im))) (+ (* -1/4 (/ (pow re 4) (pow im 4))) (+ (* 1/6 (/ (pow re 6) (pow im 6))) (* 1/2 (/ (pow re 2) (pow im 2))))))>
#<alt (log (pow im 2))>
#<alt (+ (log (pow im 2)) (/ (pow re 2) (pow im 2)))>
#<alt (+ (log (pow im 2)) (* (pow re 2) (+ (* -1/2 (/ (pow re 2) (pow im 4))) (/ 1 (pow im 2)))))>
#<alt (+ (log (pow im 2)) (* (pow re 2) (+ (* (pow re 2) (- (* 1/3 (/ (pow re 2) (pow im 6))) (* 1/2 (/ 1 (pow im 4))))) (/ 1 (pow im 2)))))>
#<alt (* -2 (log (/ 1 re)))>
#<alt (+ (* -2 (log (/ 1 re))) (/ (pow im 2) (pow re 2)))>
#<alt (+ (* -2 (log (/ 1 re))) (+ (* -1/2 (/ (pow im 4) (pow re 4))) (/ (pow im 2) (pow re 2))))>
#<alt (+ (* -2 (log (/ 1 re))) (+ (* -1/2 (/ (pow im 4) (pow re 4))) (+ (* 1/3 (/ (pow im 6) (pow re 6))) (/ (pow im 2) (pow re 2)))))>
#<alt (* -2 (log (/ -1 re)))>
#<alt (+ (* -2 (log (/ -1 re))) (/ (pow im 2) (pow re 2)))>
#<alt (+ (* -2 (log (/ -1 re))) (+ (* -1/2 (/ (pow im 4) (pow re 4))) (/ (pow im 2) (pow re 2))))>
#<alt (+ (* -2 (log (/ -1 re))) (+ (* -1/2 (/ (pow im 4) (pow re 4))) (+ (* 1/3 (/ (pow im 6) (pow re 6))) (/ (pow im 2) (pow re 2)))))>
#<alt (log (pow re 2))>
#<alt (+ (log (pow re 2)) (/ (pow im 2) (pow re 2)))>
#<alt (+ (log (pow re 2)) (* (pow im 2) (+ (* -1/2 (/ (pow im 2) (pow re 4))) (/ 1 (pow re 2)))))>
#<alt (+ (log (pow re 2)) (* (pow im 2) (+ (* (pow im 2) (- (* 1/3 (/ (pow im 2) (pow re 6))) (* 1/2 (/ 1 (pow re 4))))) (/ 1 (pow re 2)))))>
#<alt (* -2 (log (/ 1 im)))>
#<alt (+ (* -2 (log (/ 1 im))) (/ (pow re 2) (pow im 2)))>
#<alt (+ (* -2 (log (/ 1 im))) (+ (* -1/2 (/ (pow re 4) (pow im 4))) (/ (pow re 2) (pow im 2))))>
#<alt (+ (* -2 (log (/ 1 im))) (+ (* -1/2 (/ (pow re 4) (pow im 4))) (+ (* 1/3 (/ (pow re 6) (pow im 6))) (/ (pow re 2) (pow im 2)))))>
#<alt (* -2 (log (/ -1 im)))>
#<alt (+ (* -2 (log (/ -1 im))) (/ (pow re 2) (pow im 2)))>
#<alt (+ (* -2 (log (/ -1 im))) (+ (* -1/2 (/ (pow re 4) (pow im 4))) (/ (pow re 2) (pow im 2))))>
#<alt (+ (* -2 (log (/ -1 im))) (+ (* -1/2 (/ (pow re 4) (pow im 4))) (+ (* 1/3 (/ (pow re 6) (pow im 6))) (/ (pow re 2) (pow im 2)))))>
#<alt (pow im 2)>
#<alt (+ (pow im 2) (pow re 2))>
#<alt (+ (pow im 2) (pow re 2))>
#<alt (+ (pow im 2) (pow re 2))>
#<alt (pow re 2)>
#<alt (* (pow re 2) (+ 1 (/ (pow im 2) (pow re 2))))>
#<alt (* (pow re 2) (+ 1 (/ (pow im 2) (pow re 2))))>
#<alt (* (pow re 2) (+ 1 (/ (pow im 2) (pow re 2))))>
#<alt (pow re 2)>
#<alt (* (pow re 2) (+ 1 (/ (pow im 2) (pow re 2))))>
#<alt (* (pow re 2) (+ 1 (/ (pow im 2) (pow re 2))))>
#<alt (* (pow re 2) (+ 1 (/ (pow im 2) (pow re 2))))>
#<alt (pow re 2)>
#<alt (+ (pow im 2) (pow re 2))>
#<alt (+ (pow im 2) (pow re 2))>
#<alt (+ (pow im 2) (pow re 2))>
#<alt (pow im 2)>
#<alt (* (pow im 2) (+ 1 (/ (pow re 2) (pow im 2))))>
#<alt (* (pow im 2) (+ 1 (/ (pow re 2) (pow im 2))))>
#<alt (* (pow im 2) (+ 1 (/ (pow re 2) (pow im 2))))>
#<alt (pow im 2)>
#<alt (* (pow im 2) (+ 1 (/ (pow re 2) (pow im 2))))>
#<alt (* (pow im 2) (+ 1 (/ (pow re 2) (pow im 2))))>
#<alt (* (pow im 2) (+ 1 (/ (pow re 2) (pow im 2))))>
#<alt (pow re 2)>
#<alt (pow re 2)>
#<alt (pow re 2)>
#<alt (pow re 2)>
#<alt (pow re 2)>
#<alt (pow re 2)>
#<alt (pow re 2)>
#<alt (pow re 2)>
#<alt (pow re 2)>
#<alt (pow re 2)>
#<alt (pow re 2)>
#<alt (pow re 2)>
#<alt (* 1/2 (/ (pow re 2) (pow im 2)))>
#<alt (/ (+ (* 1/2 (pow re 2)) (* (pow im 2) (log im))) (pow im 2))>
#<alt (/ (+ (* 1/2 (pow re 2)) (* (pow im 2) (log im))) (pow im 2))>
#<alt (/ (+ (* 1/2 (pow re 2)) (* (pow im 2) (log im))) (pow im 2))>
#<alt (* -1 (log (/ 1 im)))>
#<alt (+ (* -1 (log (/ 1 im))) (* 1/2 (/ (pow re 2) (pow im 2))))>
#<alt (+ (* -1 (log (/ 1 im))) (* 1/2 (/ (pow re 2) (pow im 2))))>
#<alt (+ (* -1 (log (/ 1 im))) (* 1/2 (/ (pow re 2) (pow im 2))))>
#<alt (+ (log -1) (* -1 (log (/ -1 im))))>
#<alt (+ (log -1) (+ (* -1 (log (/ -1 im))) (* 1/2 (/ (pow re 2) (pow im 2)))))>
#<alt (+ (log -1) (+ (* -1 (log (/ -1 im))) (* 1/2 (/ (pow re 2) (pow im 2)))))>
#<alt (+ (log -1) (+ (* -1 (log (/ -1 im))) (* 1/2 (/ (pow re 2) (pow im 2)))))>
#<alt (log im)>
#<alt (+ (log im) (* 1/2 (/ (pow re 2) (pow im 2))))>
#<alt (+ (log im) (* 1/2 (/ (pow re 2) (pow im 2))))>
#<alt (+ (log im) (* 1/2 (/ (pow re 2) (pow im 2))))>
#<alt (* 1/2 (/ (pow re 2) (pow im 2)))>
#<alt (* (pow re 2) (+ (* 1/2 (/ 1 (pow im 2))) (/ (log im) (pow re 2))))>
#<alt (* (pow re 2) (+ (* 1/2 (/ 1 (pow im 2))) (/ (log im) (pow re 2))))>
#<alt (* (pow re 2) (+ (* 1/2 (/ 1 (pow im 2))) (/ (log im) (pow re 2))))>
#<alt (* 1/2 (/ (pow re 2) (pow im 2)))>
#<alt (* (pow re 2) (+ (* 1/2 (/ 1 (pow im 2))) (/ (log im) (pow re 2))))>
#<alt (* (pow re 2) (+ (* 1/2 (/ 1 (pow im 2))) (/ (log im) (pow re 2))))>
#<alt (* (pow re 2) (+ (* 1/2 (/ 1 (pow im 2))) (/ (log im) (pow re 2))))>
#<alt (* 1/2 (/ (pow re 2) (pow im 2)))>
#<alt (* 1/2 (/ (pow re 2) (pow im 2)))>
#<alt (* 1/2 (/ (pow re 2) (pow im 2)))>
#<alt (* 1/2 (/ (pow re 2) (pow im 2)))>
#<alt (* 1/2 (/ (pow re 2) (pow im 2)))>
#<alt (* 1/2 (/ (pow re 2) (pow im 2)))>
#<alt (* 1/2 (/ (pow re 2) (pow im 2)))>
#<alt (* 1/2 (/ (pow re 2) (pow im 2)))>
#<alt (* 1/2 (/ (pow re 2) (pow im 2)))>
#<alt (* 1/2 (/ (pow re 2) (pow im 2)))>
#<alt (* 1/2 (/ (pow re 2) (pow im 2)))>
#<alt (* 1/2 (/ (pow re 2) (pow im 2)))>
#<alt (* 1/2 (/ (pow re 2) (pow im 2)))>
#<alt (* 1/2 (/ (pow re 2) (pow im 2)))>
#<alt (* 1/2 (/ (pow re 2) (pow im 2)))>
#<alt (* 1/2 (/ (pow re 2) (pow im 2)))>
#<alt (* 1/2 (/ (pow re 2) (pow im 2)))>
#<alt (* 1/2 (/ (pow re 2) (pow im 2)))>
#<alt (* 1/2 (/ (pow re 2) (pow im 2)))>
#<alt (* 1/2 (/ (pow re 2) (pow im 2)))>
#<alt (* 1/2 (/ (pow re 2) (pow im 2)))>
#<alt (* 1/2 (/ (pow re 2) (pow im 2)))>
#<alt (* 1/2 (/ (pow re 2) (pow im 2)))>
#<alt (* 1/2 (/ (pow re 2) (pow im 2)))>
#<alt (pow im 2)>
#<alt (pow im 2)>
#<alt (pow im 2)>
#<alt (pow im 2)>
#<alt (pow im 2)>
#<alt (pow im 2)>
#<alt (pow im 2)>
#<alt (pow im 2)>
#<alt (pow im 2)>
#<alt (pow im 2)>
#<alt (pow im 2)>
#<alt (pow im 2)>
Calls

60 calls:

TimeVariablePointExpression
33.0ms
im
@0
(log im)
20.0ms
im
@-inf
(log im)
7.0ms
re
@0
(+ (log im) (/ (/ (* 1/2 (* re re)) im) im))
6.0ms
im
@inf
(log im)
4.0ms
im
@0
(log (+ im (/ (* 1/2 (* re re)) im)))

rewrite437.0ms (7.4%)

Algorithm
batch-egg-rewrite
Rules
5314×*-lowering-*.f32
5314×*-lowering-*.f64
2618×/-lowering-/.f32
2618×/-lowering-/.f64
1460×+-lowering-+.f64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01582
17880
277179
0889579
Stop Event
iter limit
node limit
Counts
12 → 332
Calls
Call 1
Inputs
(log im)
(log (+ im (/ (* 1/2 (* re re)) im)))
(+ im (/ (* 1/2 (* re re)) im))
(/ (* 1/2 (* re re)) im)
(* 1/2 (* re re))
(* (log (+ (* re re) (* im im))) 1/2)
(log (+ (* re re) (* im im)))
(+ (* re re) (* im im))
(* re re)
(+ (log im) (/ (/ (* 1/2 (* re re)) im) im))
(/ (/ (* 1/2 (* re re)) im) im)
(* im im)
Outputs
(log.f64 im)
(*.f64 (log.f64 im) #s(literal 1 binary64))
(log.f64 (+.f64 im (/.f64 #s(literal 1/2 binary64) (/.f64 im (*.f64 re re)))))
(+.f64 (log.f64 (+.f64 (*.f64 im (*.f64 im im)) (/.f64 (*.f64 (*.f64 (*.f64 re (*.f64 re re)) (*.f64 re (*.f64 re re))) #s(literal 1/8 binary64)) (*.f64 im (*.f64 im im))))) (log.f64 (/.f64 #s(literal 1 binary64) (+.f64 (*.f64 im im) (/.f64 (-.f64 (/.f64 #s(literal 1/2 binary64) (/.f64 im (*.f64 re re))) im) (/.f64 (/.f64 im (*.f64 re re)) #s(literal 1/2 binary64)))))))
(+.f64 (log.f64 (+.f64 (*.f64 im (*.f64 im im)) (/.f64 (*.f64 (*.f64 (*.f64 re (*.f64 re re)) (*.f64 re (*.f64 re re))) #s(literal 1/8 binary64)) (*.f64 im (*.f64 im im))))) (neg.f64 (log.f64 (+.f64 (*.f64 im im) (/.f64 (-.f64 (/.f64 #s(literal 1/2 binary64) (/.f64 im (*.f64 re re))) im) (/.f64 (/.f64 im (*.f64 re re)) #s(literal 1/2 binary64)))))))
(+.f64 (log.f64 (+.f64 (*.f64 im im) (*.f64 #s(literal -1/4 binary64) (/.f64 (/.f64 (*.f64 re re) im) (/.f64 im (*.f64 re re)))))) (log.f64 (/.f64 #s(literal 1 binary64) (+.f64 im (/.f64 #s(literal -1/2 binary64) (/.f64 im (*.f64 re re)))))))
(+.f64 (log.f64 (+.f64 (*.f64 im im) (*.f64 #s(literal -1/4 binary64) (/.f64 (/.f64 (*.f64 re re) im) (/.f64 im (*.f64 re re)))))) (neg.f64 (log.f64 (+.f64 im (/.f64 #s(literal -1/2 binary64) (/.f64 im (*.f64 re re)))))))
(-.f64 (log.f64 (+.f64 (*.f64 im (*.f64 im im)) (/.f64 (*.f64 (*.f64 (*.f64 re (*.f64 re re)) (*.f64 re (*.f64 re re))) #s(literal 1/8 binary64)) (*.f64 im (*.f64 im im))))) (log.f64 (+.f64 (*.f64 im im) (/.f64 (-.f64 (/.f64 #s(literal 1/2 binary64) (/.f64 im (*.f64 re re))) im) (/.f64 (/.f64 im (*.f64 re re)) #s(literal 1/2 binary64))))))
(-.f64 (log.f64 (+.f64 (*.f64 im (*.f64 im im)) (/.f64 (*.f64 (*.f64 (*.f64 re (*.f64 re re)) (*.f64 re (*.f64 re re))) #s(literal 1/8 binary64)) (*.f64 im (*.f64 im im))))) (log.f64 (+.f64 (*.f64 #s(literal 1/4 binary64) (/.f64 (/.f64 (*.f64 re re) im) (/.f64 im (*.f64 re re)))) (*.f64 im (+.f64 im (/.f64 #s(literal -1/2 binary64) (/.f64 im (*.f64 re re))))))))
(-.f64 (log.f64 (+.f64 (*.f64 im im) (*.f64 #s(literal -1/4 binary64) (/.f64 (/.f64 (*.f64 re re) im) (/.f64 im (*.f64 re re)))))) (log.f64 (+.f64 im (/.f64 #s(literal -1/2 binary64) (/.f64 im (*.f64 re re))))))
(-.f64 #s(literal 0 binary64) (log.f64 (/.f64 #s(literal 1 binary64) (+.f64 im (/.f64 #s(literal 1/2 binary64) (/.f64 im (*.f64 re re)))))))
(-.f64 (log.f64 (+.f64 (neg.f64 (*.f64 im (*.f64 im im))) (/.f64 (*.f64 (*.f64 (*.f64 re (*.f64 re re)) (*.f64 re (*.f64 re re))) #s(literal -1/8 binary64)) (*.f64 im (*.f64 im im))))) (log.f64 (-.f64 #s(literal 0 binary64) (+.f64 (*.f64 im im) (/.f64 (-.f64 (/.f64 #s(literal 1/2 binary64) (/.f64 im (*.f64 re re))) im) (/.f64 (/.f64 im (*.f64 re re)) #s(literal 1/2 binary64)))))))
(-.f64 (log.f64 (+.f64 (-.f64 #s(literal 0 binary64) (*.f64 im im)) (*.f64 #s(literal 1/4 binary64) (/.f64 (/.f64 (*.f64 re re) im) (/.f64 im (*.f64 re re)))))) (log.f64 (+.f64 (-.f64 #s(literal 0 binary64) im) (/.f64 #s(literal 1/2 binary64) (/.f64 im (*.f64 re re))))))
(-.f64 (log.f64 (-.f64 (*.f64 #s(literal 1/4 binary64) (/.f64 (/.f64 (*.f64 re re) im) (/.f64 im (*.f64 re re)))) (*.f64 im im))) (log.f64 (-.f64 (/.f64 #s(literal 1/2 binary64) (/.f64 im (*.f64 re re))) im)))
(neg.f64 (log.f64 (/.f64 #s(literal 1 binary64) (+.f64 im (/.f64 #s(literal 1/2 binary64) (/.f64 im (*.f64 re re)))))))
(/.f64 (-.f64 (pow.f64 (log.f64 (+.f64 (*.f64 im (*.f64 im im)) (/.f64 (*.f64 (*.f64 (*.f64 re (*.f64 re re)) (*.f64 re (*.f64 re re))) #s(literal 1/8 binary64)) (*.f64 im (*.f64 im im))))) #s(literal 3 binary64)) (pow.f64 (log.f64 (+.f64 (*.f64 im im) (/.f64 (-.f64 (/.f64 #s(literal 1/2 binary64) (/.f64 im (*.f64 re re))) im) (/.f64 (/.f64 im (*.f64 re re)) #s(literal 1/2 binary64))))) #s(literal 3 binary64))) (+.f64 (*.f64 (log.f64 (+.f64 (*.f64 im (*.f64 im im)) (/.f64 (*.f64 (*.f64 (*.f64 re (*.f64 re re)) (*.f64 re (*.f64 re re))) #s(literal 1/8 binary64)) (*.f64 im (*.f64 im im))))) (log.f64 (+.f64 (*.f64 im (*.f64 im im)) (/.f64 (*.f64 (*.f64 (*.f64 re (*.f64 re re)) (*.f64 re (*.f64 re re))) #s(literal 1/8 binary64)) (*.f64 im (*.f64 im im)))))) (+.f64 (*.f64 (log.f64 (+.f64 (*.f64 im im) (/.f64 (-.f64 (/.f64 #s(literal 1/2 binary64) (/.f64 im (*.f64 re re))) im) (/.f64 (/.f64 im (*.f64 re re)) #s(literal 1/2 binary64))))) (log.f64 (+.f64 (*.f64 im im) (/.f64 (-.f64 (/.f64 #s(literal 1/2 binary64) (/.f64 im (*.f64 re re))) im) (/.f64 (/.f64 im (*.f64 re re)) #s(literal 1/2 binary64)))))) (*.f64 (log.f64 (+.f64 (*.f64 im (*.f64 im im)) (/.f64 (*.f64 (*.f64 (*.f64 re (*.f64 re re)) (*.f64 re (*.f64 re re))) #s(literal 1/8 binary64)) (*.f64 im (*.f64 im im))))) (log.f64 (+.f64 (*.f64 im im) (/.f64 (-.f64 (/.f64 #s(literal 1/2 binary64) (/.f64 im (*.f64 re re))) im) (/.f64 (/.f64 im (*.f64 re re)) #s(literal 1/2 binary64)))))))))
(/.f64 (-.f64 (pow.f64 (log.f64 (+.f64 (*.f64 im im) (*.f64 #s(literal -1/4 binary64) (/.f64 (/.f64 (*.f64 re re) im) (/.f64 im (*.f64 re re)))))) #s(literal 3 binary64)) (pow.f64 (log.f64 (+.f64 im (/.f64 #s(literal -1/2 binary64) (/.f64 im (*.f64 re re))))) #s(literal 3 binary64))) (+.f64 (*.f64 (log.f64 (+.f64 (*.f64 im im) (*.f64 #s(literal -1/4 binary64) (/.f64 (/.f64 (*.f64 re re) im) (/.f64 im (*.f64 re re)))))) (log.f64 (+.f64 (*.f64 im im) (*.f64 #s(literal -1/4 binary64) (/.f64 (/.f64 (*.f64 re re) im) (/.f64 im (*.f64 re re))))))) (+.f64 (*.f64 (log.f64 (+.f64 im (/.f64 #s(literal -1/2 binary64) (/.f64 im (*.f64 re re))))) (log.f64 (+.f64 im (/.f64 #s(literal -1/2 binary64) (/.f64 im (*.f64 re re)))))) (*.f64 (log.f64 (+.f64 (*.f64 im im) (*.f64 #s(literal -1/4 binary64) (/.f64 (/.f64 (*.f64 re re) im) (/.f64 im (*.f64 re re)))))) (log.f64 (+.f64 im (/.f64 #s(literal -1/2 binary64) (/.f64 im (*.f64 re re)))))))))
(/.f64 (-.f64 (*.f64 (log.f64 (+.f64 (*.f64 im (*.f64 im im)) (/.f64 (*.f64 (*.f64 (*.f64 re (*.f64 re re)) (*.f64 re (*.f64 re re))) #s(literal 1/8 binary64)) (*.f64 im (*.f64 im im))))) (log.f64 (+.f64 (*.f64 im (*.f64 im im)) (/.f64 (*.f64 (*.f64 (*.f64 re (*.f64 re re)) (*.f64 re (*.f64 re re))) #s(literal 1/8 binary64)) (*.f64 im (*.f64 im im)))))) (*.f64 (log.f64 (+.f64 (*.f64 im im) (/.f64 (-.f64 (/.f64 #s(literal 1/2 binary64) (/.f64 im (*.f64 re re))) im) (/.f64 (/.f64 im (*.f64 re re)) #s(literal 1/2 binary64))))) (log.f64 (+.f64 (*.f64 im im) (/.f64 (-.f64 (/.f64 #s(literal 1/2 binary64) (/.f64 im (*.f64 re re))) im) (/.f64 (/.f64 im (*.f64 re re)) #s(literal 1/2 binary64))))))) (+.f64 (log.f64 (+.f64 (*.f64 im (*.f64 im im)) (/.f64 (*.f64 (*.f64 (*.f64 re (*.f64 re re)) (*.f64 re (*.f64 re re))) #s(literal 1/8 binary64)) (*.f64 im (*.f64 im im))))) (log.f64 (+.f64 (*.f64 im im) (/.f64 (-.f64 (/.f64 #s(literal 1/2 binary64) (/.f64 im (*.f64 re re))) im) (/.f64 (/.f64 im (*.f64 re re)) #s(literal 1/2 binary64)))))))
(/.f64 (-.f64 (*.f64 (log.f64 (+.f64 (*.f64 im im) (*.f64 #s(literal -1/4 binary64) (/.f64 (/.f64 (*.f64 re re) im) (/.f64 im (*.f64 re re)))))) (log.f64 (+.f64 (*.f64 im im) (*.f64 #s(literal -1/4 binary64) (/.f64 (/.f64 (*.f64 re re) im) (/.f64 im (*.f64 re re))))))) (*.f64 (log.f64 (+.f64 im (/.f64 #s(literal -1/2 binary64) (/.f64 im (*.f64 re re))))) (log.f64 (+.f64 im (/.f64 #s(literal -1/2 binary64) (/.f64 im (*.f64 re re))))))) (+.f64 (log.f64 (+.f64 (*.f64 im im) (*.f64 #s(literal -1/4 binary64) (/.f64 (/.f64 (*.f64 re re) im) (/.f64 im (*.f64 re re)))))) (log.f64 (+.f64 im (/.f64 #s(literal -1/2 binary64) (/.f64 im (*.f64 re re)))))))
(+.f64 im (/.f64 #s(literal 1/2 binary64) (/.f64 im (*.f64 re re))))
(+.f64 (/.f64 #s(literal 1/2 binary64) (/.f64 im (*.f64 re re))) im)
(+.f64 (/.f64 (*.f64 im im) (+.f64 im (/.f64 #s(literal -1/2 binary64) (/.f64 im (*.f64 re re))))) (neg.f64 (/.f64 (*.f64 #s(literal 1/4 binary64) (/.f64 (/.f64 (*.f64 re re) im) (/.f64 im (*.f64 re re)))) (+.f64 im (/.f64 #s(literal -1/2 binary64) (/.f64 im (*.f64 re re)))))))
(-.f64 im (/.f64 #s(literal -1/2 binary64) (/.f64 im (*.f64 re re))))
(-.f64 (/.f64 (*.f64 im im) (+.f64 im (/.f64 #s(literal -1/2 binary64) (/.f64 im (*.f64 re re))))) (/.f64 (*.f64 #s(literal 1/4 binary64) (/.f64 (/.f64 (*.f64 re re) im) (/.f64 im (*.f64 re re)))) (+.f64 im (/.f64 #s(literal -1/2 binary64) (/.f64 im (*.f64 re re))))))
(-.f64 (/.f64 (*.f64 #s(literal 1/4 binary64) (/.f64 (/.f64 (*.f64 re re) im) (/.f64 im (*.f64 re re)))) (-.f64 (/.f64 #s(literal 1/2 binary64) (/.f64 im (*.f64 re re))) im)) (/.f64 (*.f64 im im) (-.f64 (/.f64 #s(literal 1/2 binary64) (/.f64 im (*.f64 re re))) im)))
(fma.f64 #s(literal 1/2 binary64) (/.f64 (*.f64 re re) im) im)
(fma.f64 (*.f64 re re) (/.f64 #s(literal 1/2 binary64) im) im)
(fma.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 re re)) (/.f64 #s(literal 1 binary64) im) im)
(fma.f64 (*.f64 re (*.f64 re #s(literal -1/2 binary64))) (/.f64 #s(literal -1 binary64) im) im)
(fma.f64 #s(literal 1 binary64) (/.f64 #s(literal 1/2 binary64) (/.f64 im (*.f64 re re))) im)
(fma.f64 (/.f64 #s(literal 1 binary64) im) (*.f64 #s(literal 1/2 binary64) (*.f64 re re)) im)
(fma.f64 (*.f64 #s(literal 1/2 binary64) re) (/.f64 re im) im)
(fma.f64 (/.f64 (*.f64 re re) im) #s(literal 1/2 binary64) im)
(neg.f64 (/.f64 (+.f64 (*.f64 im (*.f64 im im)) (/.f64 (*.f64 (*.f64 (*.f64 re (*.f64 re re)) (*.f64 re (*.f64 re re))) #s(literal 1/8 binary64)) (*.f64 im (*.f64 im im)))) (-.f64 #s(literal 0 binary64) (+.f64 (*.f64 im im) (/.f64 (-.f64 (/.f64 #s(literal 1/2 binary64) (/.f64 im (*.f64 re re))) im) (/.f64 (/.f64 im (*.f64 re re)) #s(literal 1/2 binary64)))))))
(neg.f64 (/.f64 (+.f64 (*.f64 im im) (*.f64 #s(literal -1/4 binary64) (/.f64 (/.f64 (*.f64 re re) im) (/.f64 im (*.f64 re re))))) (+.f64 (-.f64 #s(literal 0 binary64) im) (/.f64 #s(literal 1/2 binary64) (/.f64 im (*.f64 re re))))))
(neg.f64 (/.f64 (+.f64 (neg.f64 (*.f64 im (*.f64 im im))) (/.f64 (*.f64 (*.f64 (*.f64 re (*.f64 re re)) (*.f64 re (*.f64 re re))) #s(literal -1/8 binary64)) (*.f64 im (*.f64 im im)))) (+.f64 (*.f64 im im) (/.f64 (-.f64 (/.f64 #s(literal 1/2 binary64) (/.f64 im (*.f64 re re))) im) (/.f64 (/.f64 im (*.f64 re re)) #s(literal 1/2 binary64))))))
(neg.f64 (/.f64 (+.f64 (-.f64 #s(literal 0 binary64) (*.f64 im im)) (*.f64 #s(literal 1/4 binary64) (/.f64 (/.f64 (*.f64 re re) im) (/.f64 im (*.f64 re re))))) (+.f64 im (/.f64 #s(literal -1/2 binary64) (/.f64 im (*.f64 re re))))))
(/.f64 (+.f64 (*.f64 im (*.f64 im im)) (/.f64 (*.f64 (*.f64 (*.f64 re (*.f64 re re)) (*.f64 re (*.f64 re re))) #s(literal 1/8 binary64)) (*.f64 im (*.f64 im im)))) (+.f64 (*.f64 im im) (/.f64 (-.f64 (/.f64 #s(literal 1/2 binary64) (/.f64 im (*.f64 re re))) im) (/.f64 (/.f64 im (*.f64 re re)) #s(literal 1/2 binary64)))))
(/.f64 (+.f64 (*.f64 im (*.f64 im im)) (/.f64 (*.f64 (*.f64 (*.f64 re (*.f64 re re)) (*.f64 re (*.f64 re re))) #s(literal 1/8 binary64)) (*.f64 im (*.f64 im im)))) (+.f64 (*.f64 #s(literal 1/4 binary64) (/.f64 (/.f64 (*.f64 re re) im) (/.f64 im (*.f64 re re)))) (*.f64 im (+.f64 im (/.f64 #s(literal -1/2 binary64) (/.f64 im (*.f64 re re)))))))
(/.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) (+.f64 im (/.f64 #s(literal 1/2 binary64) (/.f64 im (*.f64 re re))))))
(/.f64 #s(literal 1 binary64) (/.f64 (+.f64 (*.f64 #s(literal 1/4 binary64) (/.f64 (/.f64 (*.f64 re re) im) (/.f64 im (*.f64 re re)))) (*.f64 im (+.f64 im (/.f64 #s(literal -1/2 binary64) (/.f64 im (*.f64 re re)))))) (+.f64 (*.f64 im (*.f64 im im)) (/.f64 (*.f64 (*.f64 (*.f64 re (*.f64 re re)) (*.f64 re (*.f64 re re))) #s(literal 1/8 binary64)) (*.f64 im (*.f64 im im))))))
(/.f64 #s(literal 1 binary64) (/.f64 (/.f64 #s(literal 1 binary64) (+.f64 im (/.f64 #s(literal 1/2 binary64) (/.f64 im (*.f64 re re))))) #s(literal 1 binary64)))
(/.f64 #s(literal 1 binary64) (/.f64 (-.f64 (/.f64 #s(literal 1/2 binary64) (/.f64 im (*.f64 re re))) im) (-.f64 (*.f64 #s(literal 1/4 binary64) (/.f64 (/.f64 (*.f64 re re) im) (/.f64 im (*.f64 re re)))) (*.f64 im im))))
(/.f64 (+.f64 (*.f64 im im) (*.f64 #s(literal -1/4 binary64) (/.f64 (/.f64 (*.f64 re re) im) (/.f64 im (*.f64 re re))))) (+.f64 im (/.f64 #s(literal -1/2 binary64) (/.f64 im (*.f64 re re)))))
(/.f64 #s(literal -1 binary64) (neg.f64 (/.f64 #s(literal 1 binary64) (+.f64 im (/.f64 #s(literal 1/2 binary64) (/.f64 im (*.f64 re re)))))))
(/.f64 (+.f64 (neg.f64 (*.f64 im (*.f64 im im))) (/.f64 (*.f64 (*.f64 (*.f64 re (*.f64 re re)) (*.f64 re (*.f64 re re))) #s(literal -1/8 binary64)) (*.f64 im (*.f64 im im)))) (-.f64 #s(literal 0 binary64) (+.f64 (*.f64 im im) (/.f64 (-.f64 (/.f64 #s(literal 1/2 binary64) (/.f64 im (*.f64 re re))) im) (/.f64 (/.f64 im (*.f64 re re)) #s(literal 1/2 binary64))))))
(/.f64 (+.f64 (neg.f64 (*.f64 im (*.f64 im im))) (/.f64 (*.f64 (*.f64 (*.f64 re (*.f64 re re)) (*.f64 re (*.f64 re re))) #s(literal -1/8 binary64)) (*.f64 im (*.f64 im im)))) (neg.f64 (+.f64 (*.f64 #s(literal 1/4 binary64) (/.f64 (/.f64 (*.f64 re re) im) (/.f64 im (*.f64 re re)))) (*.f64 im (+.f64 im (/.f64 #s(literal -1/2 binary64) (/.f64 im (*.f64 re re))))))))
(/.f64 (+.f64 (-.f64 #s(literal 0 binary64) (*.f64 im im)) (*.f64 #s(literal 1/4 binary64) (/.f64 (/.f64 (*.f64 re re) im) (/.f64 im (*.f64 re re))))) (+.f64 (-.f64 #s(literal 0 binary64) im) (/.f64 #s(literal 1/2 binary64) (/.f64 im (*.f64 re re)))))
(/.f64 (-.f64 (*.f64 #s(literal 1/4 binary64) (/.f64 (/.f64 (*.f64 re re) im) (/.f64 im (*.f64 re re)))) (*.f64 im im)) (-.f64 (/.f64 #s(literal 1/2 binary64) (/.f64 im (*.f64 re re))) im))
(/.f64 (-.f64 (*.f64 (*.f64 im im) (+.f64 im (/.f64 #s(literal -1/2 binary64) (/.f64 im (*.f64 re re))))) (*.f64 (+.f64 im (/.f64 #s(literal -1/2 binary64) (/.f64 im (*.f64 re re)))) (*.f64 #s(literal 1/4 binary64) (/.f64 (/.f64 (*.f64 re re) im) (/.f64 im (*.f64 re re)))))) (*.f64 (+.f64 im (/.f64 #s(literal -1/2 binary64) (/.f64 im (*.f64 re re)))) (+.f64 im (/.f64 #s(literal -1/2 binary64) (/.f64 im (*.f64 re re))))))
(/.f64 (neg.f64 (+.f64 (neg.f64 (*.f64 im (*.f64 im im))) (/.f64 (*.f64 (*.f64 (*.f64 re (*.f64 re re)) (*.f64 re (*.f64 re re))) #s(literal -1/8 binary64)) (*.f64 im (*.f64 im im))))) (neg.f64 (-.f64 #s(literal 0 binary64) (+.f64 (*.f64 im im) (/.f64 (-.f64 (/.f64 #s(literal 1/2 binary64) (/.f64 im (*.f64 re re))) im) (/.f64 (/.f64 im (*.f64 re re)) #s(literal 1/2 binary64)))))))
(/.f64 (neg.f64 (+.f64 (-.f64 #s(literal 0 binary64) (*.f64 im im)) (*.f64 #s(literal 1/4 binary64) (/.f64 (/.f64 (*.f64 re re) im) (/.f64 im (*.f64 re re)))))) (neg.f64 (+.f64 (-.f64 #s(literal 0 binary64) im) (/.f64 #s(literal 1/2 binary64) (/.f64 im (*.f64 re re))))))
(/.f64 (neg.f64 (-.f64 (*.f64 #s(literal 1/4 binary64) (/.f64 (/.f64 (*.f64 re re) im) (/.f64 im (*.f64 re re)))) (*.f64 im im))) (neg.f64 (-.f64 (/.f64 #s(literal 1/2 binary64) (/.f64 im (*.f64 re re))) im)))
(/.f64 (-.f64 (pow.f64 (/.f64 (*.f64 im im) (+.f64 im (/.f64 #s(literal -1/2 binary64) (/.f64 im (*.f64 re re))))) #s(literal 3 binary64)) (pow.f64 (/.f64 (*.f64 #s(literal 1/4 binary64) (/.f64 (/.f64 (*.f64 re re) im) (/.f64 im (*.f64 re re)))) (+.f64 im (/.f64 #s(literal -1/2 binary64) (/.f64 im (*.f64 re re))))) #s(literal 3 binary64))) (+.f64 (*.f64 (/.f64 (*.f64 im im) (+.f64 im (/.f64 #s(literal -1/2 binary64) (/.f64 im (*.f64 re re))))) (/.f64 (*.f64 im im) (+.f64 im (/.f64 #s(literal -1/2 binary64) (/.f64 im (*.f64 re re)))))) (+.f64 (*.f64 (/.f64 (*.f64 #s(literal 1/4 binary64) (/.f64 (/.f64 (*.f64 re re) im) (/.f64 im (*.f64 re re)))) (+.f64 im (/.f64 #s(literal -1/2 binary64) (/.f64 im (*.f64 re re))))) (/.f64 (*.f64 #s(literal 1/4 binary64) (/.f64 (/.f64 (*.f64 re re) im) (/.f64 im (*.f64 re re)))) (+.f64 im (/.f64 #s(literal -1/2 binary64) (/.f64 im (*.f64 re re)))))) (*.f64 (/.f64 (*.f64 im im) (+.f64 im (/.f64 #s(literal -1/2 binary64) (/.f64 im (*.f64 re re))))) (/.f64 (*.f64 #s(literal 1/4 binary64) (/.f64 (/.f64 (*.f64 re re) im) (/.f64 im (*.f64 re re)))) (+.f64 im (/.f64 #s(literal -1/2 binary64) (/.f64 im (*.f64 re re)))))))))
(/.f64 (-.f64 (*.f64 (/.f64 (*.f64 im im) (+.f64 im (/.f64 #s(literal -1/2 binary64) (/.f64 im (*.f64 re re))))) (/.f64 (*.f64 im im) (+.f64 im (/.f64 #s(literal -1/2 binary64) (/.f64 im (*.f64 re re)))))) (*.f64 (/.f64 (*.f64 #s(literal 1/4 binary64) (/.f64 (/.f64 (*.f64 re re) im) (/.f64 im (*.f64 re re)))) (+.f64 im (/.f64 #s(literal -1/2 binary64) (/.f64 im (*.f64 re re))))) (/.f64 (*.f64 #s(literal 1/4 binary64) (/.f64 (/.f64 (*.f64 re re) im) (/.f64 im (*.f64 re re)))) (+.f64 im (/.f64 #s(literal -1/2 binary64) (/.f64 im (*.f64 re re))))))) (+.f64 (/.f64 (*.f64 im im) (+.f64 im (/.f64 #s(literal -1/2 binary64) (/.f64 im (*.f64 re re))))) (/.f64 (*.f64 #s(literal 1/4 binary64) (/.f64 (/.f64 (*.f64 re re) im) (/.f64 im (*.f64 re re)))) (+.f64 im (/.f64 #s(literal -1/2 binary64) (/.f64 im (*.f64 re re)))))))
(pow.f64 (/.f64 #s(literal 1 binary64) (+.f64 im (/.f64 #s(literal 1/2 binary64) (/.f64 im (*.f64 re re))))) #s(literal -1 binary64))
(*.f64 (+.f64 im (/.f64 #s(literal 1/2 binary64) (/.f64 im (*.f64 re re)))) (*.f64 (+.f64 im (/.f64 #s(literal -1/2 binary64) (/.f64 im (*.f64 re re)))) (/.f64 #s(literal 1 binary64) (+.f64 im (/.f64 #s(literal -1/2 binary64) (/.f64 im (*.f64 re re)))))))
(*.f64 (+.f64 (*.f64 im (*.f64 im im)) (/.f64 (*.f64 (*.f64 (*.f64 re (*.f64 re re)) (*.f64 re (*.f64 re re))) #s(literal 1/8 binary64)) (*.f64 im (*.f64 im im)))) (/.f64 #s(literal 1 binary64) (+.f64 (*.f64 im im) (/.f64 (-.f64 (/.f64 #s(literal 1/2 binary64) (/.f64 im (*.f64 re re))) im) (/.f64 (/.f64 im (*.f64 re re)) #s(literal 1/2 binary64))))))
(*.f64 (+.f64 (*.f64 im (*.f64 im im)) (/.f64 (*.f64 (*.f64 (*.f64 re (*.f64 re re)) (*.f64 re (*.f64 re re))) #s(literal 1/8 binary64)) (*.f64 im (*.f64 im im)))) (/.f64 #s(literal 1 binary64) (+.f64 (*.f64 #s(literal 1/4 binary64) (/.f64 (/.f64 (*.f64 re re) im) (/.f64 im (*.f64 re re)))) (*.f64 im (+.f64 im (/.f64 #s(literal -1/2 binary64) (/.f64 im (*.f64 re re))))))))
(*.f64 (+.f64 (*.f64 im im) (/.f64 (-.f64 (/.f64 #s(literal 1/2 binary64) (/.f64 im (*.f64 re re))) im) (/.f64 (/.f64 im (*.f64 re re)) #s(literal 1/2 binary64)))) (*.f64 (+.f64 im (/.f64 #s(literal 1/2 binary64) (/.f64 im (*.f64 re re)))) (/.f64 #s(literal 1 binary64) (+.f64 (*.f64 im im) (/.f64 (-.f64 (/.f64 #s(literal 1/2 binary64) (/.f64 im (*.f64 re re))) im) (/.f64 (/.f64 im (*.f64 re re)) #s(literal 1/2 binary64)))))))
(*.f64 #s(literal 1 binary64) (+.f64 im (/.f64 #s(literal 1/2 binary64) (/.f64 im (*.f64 re re)))))
(*.f64 (+.f64 (*.f64 im im) (*.f64 #s(literal -1/4 binary64) (/.f64 (/.f64 (*.f64 re re) im) (/.f64 im (*.f64 re re))))) (/.f64 #s(literal 1 binary64) (+.f64 im (/.f64 #s(literal -1/2 binary64) (/.f64 im (*.f64 re re))))))
(*.f64 (+.f64 (neg.f64 (*.f64 im (*.f64 im im))) (/.f64 (*.f64 (*.f64 (*.f64 re (*.f64 re re)) (*.f64 re (*.f64 re re))) #s(literal -1/8 binary64)) (*.f64 im (*.f64 im im)))) (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 0 binary64) (+.f64 (*.f64 im im) (/.f64 (-.f64 (/.f64 #s(literal 1/2 binary64) (/.f64 im (*.f64 re re))) im) (/.f64 (/.f64 im (*.f64 re re)) #s(literal 1/2 binary64)))))))
(*.f64 (+.f64 (-.f64 #s(literal 0 binary64) (*.f64 im im)) (*.f64 #s(literal 1/4 binary64) (/.f64 (/.f64 (*.f64 re re) im) (/.f64 im (*.f64 re re))))) (/.f64 #s(literal 1 binary64) (+.f64 (-.f64 #s(literal 0 binary64) im) (/.f64 #s(literal 1/2 binary64) (/.f64 im (*.f64 re re))))))
(*.f64 (-.f64 (*.f64 #s(literal 1/4 binary64) (/.f64 (/.f64 (*.f64 re re) im) (/.f64 im (*.f64 re re)))) (*.f64 im im)) (/.f64 #s(literal 1 binary64) (-.f64 (/.f64 #s(literal 1/2 binary64) (/.f64 im (*.f64 re re))) im)))
(exp.f64 (*.f64 (log.f64 (/.f64 (/.f64 im (*.f64 re re)) #s(literal 1/2 binary64))) #s(literal -1 binary64)))
(-.f64 #s(literal 0 binary64) (/.f64 #s(literal -1/2 binary64) (/.f64 im (*.f64 re re))))
(-.f64 (/.f64 #s(literal 0 binary64) (-.f64 #s(literal 0 binary64) im)) (/.f64 #s(literal -1/2 binary64) (/.f64 im (*.f64 re re))))
(neg.f64 (/.f64 #s(literal -1/2 binary64) (/.f64 im (*.f64 re re))))
(/.f64 #s(literal 1/2 binary64) (/.f64 im (*.f64 re re)))
(/.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 re re)) im)
(/.f64 (*.f64 re (*.f64 re #s(literal -1/2 binary64))) (-.f64 #s(literal 0 binary64) im))
(/.f64 #s(literal 1 binary64) (/.f64 (/.f64 im (*.f64 re re)) #s(literal 1/2 binary64)))
(/.f64 #s(literal -1 binary64) (/.f64 (/.f64 im (*.f64 re re)) #s(literal -1/2 binary64)))
(pow.f64 (/.f64 (/.f64 im (*.f64 re re)) #s(literal 1/2 binary64)) #s(literal -1 binary64))
(*.f64 #s(literal 1/2 binary64) (/.f64 (*.f64 re re) im))
(*.f64 #s(literal 1/2 binary64) (*.f64 (/.f64 (*.f64 re re) im) #s(literal 1 binary64)))
(*.f64 re (/.f64 (*.f64 #s(literal 1/2 binary64) re) im))
(*.f64 re (*.f64 re (/.f64 #s(literal 1/2 binary64) im)))
(*.f64 re (*.f64 #s(literal 1/2 binary64) (/.f64 re im)))
(*.f64 re (*.f64 (/.f64 re im) #s(literal 1/2 binary64)))
(*.f64 (*.f64 re re) (/.f64 #s(literal 1/2 binary64) im))
(*.f64 (*.f64 re re) (*.f64 (/.f64 #s(literal 1 binary64) im) #s(literal 1/2 binary64)))
(*.f64 (*.f64 re re) (*.f64 (/.f64 #s(literal 1/2 binary64) im) #s(literal 1 binary64)))
(*.f64 (*.f64 re re) (*.f64 #s(literal -1/2 binary64) (/.f64 #s(literal -1 binary64) im)))
(*.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 re re)) (/.f64 #s(literal 1 binary64) im))
(*.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 re re)) (*.f64 (/.f64 #s(literal 1 binary64) im) #s(literal 1 binary64)))
(*.f64 (/.f64 #s(literal 1/2 binary64) (/.f64 im (*.f64 re re))) #s(literal 1 binary64))
(*.f64 (*.f64 re (*.f64 re #s(literal -1/2 binary64))) (/.f64 #s(literal -1 binary64) im))
(*.f64 (*.f64 re (*.f64 re #s(literal -1/2 binary64))) (*.f64 (/.f64 #s(literal -1 binary64) im) #s(literal 1 binary64)))
(*.f64 #s(literal 1 binary64) (/.f64 #s(literal 1/2 binary64) (/.f64 im (*.f64 re re))))
(*.f64 (/.f64 #s(literal 1 binary64) im) (*.f64 #s(literal 1/2 binary64) (*.f64 re re)))
(*.f64 (/.f64 #s(literal 1 binary64) im) (pow.f64 (/.f64 #s(literal 1 binary64) (*.f64 #s(literal 1/2 binary64) (*.f64 re re))) #s(literal -1 binary64)))
(*.f64 (*.f64 #s(literal 1/2 binary64) re) (/.f64 re im))
(*.f64 (*.f64 #s(literal 1/2 binary64) re) (*.f64 (/.f64 re im) #s(literal 1 binary64)))
(*.f64 (*.f64 #s(literal 1/2 binary64) re) (*.f64 (-.f64 #s(literal 0 binary64) re) (/.f64 #s(literal -1 binary64) im)))
(*.f64 (/.f64 (*.f64 re re) im) #s(literal 1/2 binary64))
(*.f64 #s(literal -1 binary64) (/.f64 #s(literal -1/2 binary64) (/.f64 im (*.f64 re re))))
(*.f64 (-.f64 #s(literal 0 binary64) (*.f64 re re)) (*.f64 #s(literal 1/2 binary64) (/.f64 #s(literal -1 binary64) im)))
(*.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) (-.f64 #s(literal 0 binary64) im)))
(*.f64 (*.f64 re #s(literal -1/2 binary64)) (*.f64 re (/.f64 #s(literal -1 binary64) im)))
(*.f64 (/.f64 (*.f64 re re) #s(literal -1 binary64)) (/.f64 #s(literal -1/2 binary64) im))
(*.f64 (/.f64 (*.f64 #s(literal 1/2 binary64) re) #s(literal -1 binary64)) (/.f64 (-.f64 #s(literal 0 binary64) re) im))
(*.f64 (/.f64 (-.f64 #s(literal 0 binary64) (*.f64 re re)) #s(literal -1 binary64)) (/.f64 #s(literal 1/2 binary64) im))
(*.f64 (/.f64 (*.f64 re #s(literal -1/2 binary64)) #s(literal -1 binary64)) (/.f64 re im))
(*.f64 (pow.f64 (/.f64 (/.f64 im (*.f64 re re)) #s(literal 1/2 binary64)) #s(literal -1/2 binary64)) (pow.f64 (/.f64 (/.f64 im (*.f64 re re)) #s(literal 1/2 binary64)) #s(literal -1/2 binary64)))
(*.f64 (*.f64 #s(literal 1 binary64) (*.f64 re re)) (/.f64 #s(literal 1/2 binary64) im))
(*.f64 (*.f64 #s(literal 1 binary64) (*.f64 #s(literal 1/2 binary64) re)) (/.f64 re im))
(*.f64 (*.f64 (/.f64 #s(literal 1 binary64) im) #s(literal 1/2 binary64)) (*.f64 re re))
(*.f64 (*.f64 (/.f64 #s(literal 1 binary64) im) (*.f64 re re)) #s(literal 1/2 binary64))
(*.f64 (*.f64 (/.f64 #s(literal 1 binary64) im) (*.f64 #s(literal 1/2 binary64) re)) re)
(*.f64 (*.f64 (/.f64 #s(literal 1 binary64) im) re) (*.f64 #s(literal 1/2 binary64) re))
(-.f64 #s(literal 0 binary64) (*.f64 re (*.f64 re #s(literal -1/2 binary64))))
(neg.f64 (*.f64 re (*.f64 re #s(literal -1/2 binary64))))
(*.f64 #s(literal 1/2 binary64) (*.f64 re re))
(*.f64 #s(literal 1/2 binary64) (neg.f64 (-.f64 #s(literal 0 binary64) (*.f64 re re))))
(*.f64 #s(literal 1/2 binary64) (*.f64 (*.f64 re re) #s(literal 1 binary64)))
(*.f64 re (*.f64 #s(literal 1/2 binary64) re))
(*.f64 re (*.f64 (*.f64 #s(literal 1/2 binary64) re) #s(literal 1 binary64)))
(*.f64 (*.f64 re re) #s(literal 1/2 binary64))
(*.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 re re)) #s(literal 1 binary64))
(*.f64 #s(literal 1 binary64) (*.f64 #s(literal 1/2 binary64) (*.f64 re re)))
(*.f64 (*.f64 #s(literal 1/2 binary64) re) re)
(*.f64 (*.f64 #s(literal 1/2 binary64) re) (neg.f64 (-.f64 #s(literal 0 binary64) re)))
(*.f64 (*.f64 #s(literal 1/2 binary64) re) (*.f64 re #s(literal 1 binary64)))
(*.f64 #s(literal -1 binary64) (*.f64 re (*.f64 re #s(literal -1/2 binary64))))
(*.f64 (-.f64 #s(literal 0 binary64) (*.f64 re re)) #s(literal -1/2 binary64))
(*.f64 #s(literal -1/2 binary64) (-.f64 #s(literal 0 binary64) (*.f64 re re)))
(*.f64 (*.f64 re #s(literal -1/2 binary64)) (-.f64 #s(literal 0 binary64) re))
(*.f64 (neg.f64 (-.f64 #s(literal 0 binary64) (*.f64 re re))) #s(literal 1/2 binary64))
(*.f64 (neg.f64 (*.f64 re #s(literal -1/2 binary64))) re)
(*.f64 (*.f64 #s(literal 1 binary64) re) (*.f64 #s(literal 1/2 binary64) re))
(*.f64 (*.f64 #s(literal 1 binary64) (*.f64 re re)) #s(literal 1/2 binary64))
(*.f64 (*.f64 #s(literal 1 binary64) (*.f64 #s(literal 1/2 binary64) re)) re)
(*.f64 #s(literal 1/2 binary64) (log.f64 (+.f64 (*.f64 re re) (*.f64 im im))))
(*.f64 (log.f64 (+.f64 (*.f64 re re) (*.f64 im im))) #s(literal 1/2 binary64))
(log.f64 (+.f64 (*.f64 re re) (*.f64 im im)))
(+.f64 (log.f64 (+.f64 (*.f64 (*.f64 re (*.f64 re re)) (*.f64 re (*.f64 re re))) (*.f64 (*.f64 im (*.f64 im im)) (*.f64 im (*.f64 im im))))) (log.f64 (/.f64 #s(literal 1 binary64) (+.f64 (*.f64 re (*.f64 re (*.f64 re re))) (*.f64 im (*.f64 im (-.f64 (*.f64 im im) (*.f64 re re))))))))
(+.f64 (log.f64 (+.f64 (*.f64 (*.f64 re (*.f64 re re)) (*.f64 re (*.f64 re re))) (*.f64 (*.f64 im (*.f64 im im)) (*.f64 im (*.f64 im im))))) (neg.f64 (log.f64 (+.f64 (*.f64 re (*.f64 re (*.f64 re re))) (*.f64 im (*.f64 im (-.f64 (*.f64 im im) (*.f64 re re))))))))
(+.f64 (log.f64 (-.f64 (*.f64 re (*.f64 re (*.f64 re re))) (*.f64 im (*.f64 im (*.f64 im im))))) (log.f64 (/.f64 #s(literal 1 binary64) (-.f64 (*.f64 re re) (*.f64 im im)))))
(+.f64 (log.f64 (-.f64 (*.f64 re (*.f64 re (*.f64 re re))) (*.f64 im (*.f64 im (*.f64 im im))))) (neg.f64 (log.f64 (-.f64 (*.f64 re re) (*.f64 im im)))))
(-.f64 (log.f64 (+.f64 (*.f64 (*.f64 re (*.f64 re re)) (*.f64 re (*.f64 re re))) (*.f64 (*.f64 im (*.f64 im im)) (*.f64 im (*.f64 im im))))) (log.f64 (+.f64 (*.f64 re (*.f64 re (*.f64 re re))) (*.f64 im (*.f64 im (-.f64 (*.f64 im im) (*.f64 re re)))))))
(-.f64 (log.f64 (+.f64 (*.f64 (*.f64 re (*.f64 re re)) (*.f64 re (*.f64 re re))) (*.f64 (*.f64 im (*.f64 im im)) (*.f64 im (*.f64 im im))))) (log.f64 (+.f64 (*.f64 im (*.f64 im (*.f64 im im))) (*.f64 (*.f64 re re) (-.f64 (*.f64 re re) (*.f64 im im))))))
(-.f64 (log.f64 (-.f64 (*.f64 re (*.f64 re (*.f64 re re))) (*.f64 im (*.f64 im (*.f64 im im))))) (log.f64 (-.f64 (*.f64 re re) (*.f64 im im))))
(-.f64 #s(literal 0 binary64) (log.f64 (/.f64 #s(literal 1 binary64) (+.f64 (*.f64 re re) (*.f64 im im)))))
(-.f64 (log.f64 (-.f64 #s(literal 0 binary64) (+.f64 (*.f64 (*.f64 re (*.f64 re re)) (*.f64 re (*.f64 re re))) (*.f64 (*.f64 im (*.f64 im im)) (*.f64 im (*.f64 im im)))))) (log.f64 (-.f64 #s(literal 0 binary64) (+.f64 (*.f64 re (*.f64 re (*.f64 re re))) (*.f64 im (*.f64 im (-.f64 (*.f64 im im) (*.f64 re re))))))))
(-.f64 (log.f64 (-.f64 #s(literal 0 binary64) (-.f64 (*.f64 re (*.f64 re (*.f64 re re))) (*.f64 im (*.f64 im (*.f64 im im)))))) (log.f64 (+.f64 (-.f64 #s(literal 0 binary64) (*.f64 re re)) (*.f64 im im))))
(-.f64 (log.f64 (-.f64 (*.f64 im (*.f64 im (*.f64 im im))) (*.f64 re (*.f64 re (*.f64 re re))))) (log.f64 (-.f64 (*.f64 im im) (*.f64 re re))))
(neg.f64 (log.f64 (/.f64 #s(literal 1 binary64) (+.f64 (*.f64 re re) (*.f64 im im)))))
(/.f64 (-.f64 (pow.f64 (log.f64 (+.f64 (*.f64 (*.f64 re (*.f64 re re)) (*.f64 re (*.f64 re re))) (*.f64 (*.f64 im (*.f64 im im)) (*.f64 im (*.f64 im im))))) #s(literal 3 binary64)) (pow.f64 (log.f64 (+.f64 (*.f64 re (*.f64 re (*.f64 re re))) (*.f64 im (*.f64 im (-.f64 (*.f64 im im) (*.f64 re re)))))) #s(literal 3 binary64))) (+.f64 (*.f64 (log.f64 (+.f64 (*.f64 (*.f64 re (*.f64 re re)) (*.f64 re (*.f64 re re))) (*.f64 (*.f64 im (*.f64 im im)) (*.f64 im (*.f64 im im))))) (log.f64 (+.f64 (*.f64 (*.f64 re (*.f64 re re)) (*.f64 re (*.f64 re re))) (*.f64 (*.f64 im (*.f64 im im)) (*.f64 im (*.f64 im im)))))) (+.f64 (*.f64 (log.f64 (+.f64 (*.f64 re (*.f64 re (*.f64 re re))) (*.f64 im (*.f64 im (-.f64 (*.f64 im im) (*.f64 re re)))))) (log.f64 (+.f64 (*.f64 re (*.f64 re (*.f64 re re))) (*.f64 im (*.f64 im (-.f64 (*.f64 im im) (*.f64 re re))))))) (*.f64 (log.f64 (+.f64 (*.f64 (*.f64 re (*.f64 re re)) (*.f64 re (*.f64 re re))) (*.f64 (*.f64 im (*.f64 im im)) (*.f64 im (*.f64 im im))))) (log.f64 (+.f64 (*.f64 re (*.f64 re (*.f64 re re))) (*.f64 im (*.f64 im (-.f64 (*.f64 im im) (*.f64 re re))))))))))
(/.f64 (-.f64 (pow.f64 (log.f64 (-.f64 (*.f64 re (*.f64 re (*.f64 re re))) (*.f64 im (*.f64 im (*.f64 im im))))) #s(literal 3 binary64)) (pow.f64 (log.f64 (-.f64 (*.f64 re re) (*.f64 im im))) #s(literal 3 binary64))) (+.f64 (*.f64 (log.f64 (-.f64 (*.f64 re (*.f64 re (*.f64 re re))) (*.f64 im (*.f64 im (*.f64 im im))))) (log.f64 (-.f64 (*.f64 re (*.f64 re (*.f64 re re))) (*.f64 im (*.f64 im (*.f64 im im)))))) (+.f64 (*.f64 (log.f64 (-.f64 (*.f64 re re) (*.f64 im im))) (log.f64 (-.f64 (*.f64 re re) (*.f64 im im)))) (*.f64 (log.f64 (-.f64 (*.f64 re (*.f64 re (*.f64 re re))) (*.f64 im (*.f64 im (*.f64 im im))))) (log.f64 (-.f64 (*.f64 re re) (*.f64 im im)))))))
(/.f64 (-.f64 (*.f64 (log.f64 (+.f64 (*.f64 (*.f64 re (*.f64 re re)) (*.f64 re (*.f64 re re))) (*.f64 (*.f64 im (*.f64 im im)) (*.f64 im (*.f64 im im))))) (log.f64 (+.f64 (*.f64 (*.f64 re (*.f64 re re)) (*.f64 re (*.f64 re re))) (*.f64 (*.f64 im (*.f64 im im)) (*.f64 im (*.f64 im im)))))) (*.f64 (log.f64 (+.f64 (*.f64 re (*.f64 re (*.f64 re re))) (*.f64 im (*.f64 im (-.f64 (*.f64 im im) (*.f64 re re)))))) (log.f64 (+.f64 (*.f64 re (*.f64 re (*.f64 re re))) (*.f64 im (*.f64 im (-.f64 (*.f64 im im) (*.f64 re re)))))))) (+.f64 (log.f64 (+.f64 (*.f64 (*.f64 re (*.f64 re re)) (*.f64 re (*.f64 re re))) (*.f64 (*.f64 im (*.f64 im im)) (*.f64 im (*.f64 im im))))) (log.f64 (+.f64 (*.f64 re (*.f64 re (*.f64 re re))) (*.f64 im (*.f64 im (-.f64 (*.f64 im im) (*.f64 re re))))))))
(/.f64 (-.f64 (*.f64 (log.f64 (-.f64 (*.f64 re (*.f64 re (*.f64 re re))) (*.f64 im (*.f64 im (*.f64 im im))))) (log.f64 (-.f64 (*.f64 re (*.f64 re (*.f64 re re))) (*.f64 im (*.f64 im (*.f64 im im)))))) (*.f64 (log.f64 (-.f64 (*.f64 re re) (*.f64 im im))) (log.f64 (-.f64 (*.f64 re re) (*.f64 im im))))) (+.f64 (log.f64 (-.f64 (*.f64 re (*.f64 re (*.f64 re re))) (*.f64 im (*.f64 im (*.f64 im im))))) (log.f64 (-.f64 (*.f64 re re) (*.f64 im im)))))
(+.f64 (*.f64 re re) (*.f64 im im))
(+.f64 (*.f64 im im) (*.f64 re re))
(+.f64 (/.f64 (*.f64 re (*.f64 re (*.f64 re re))) (-.f64 (*.f64 re re) (*.f64 im im))) (neg.f64 (/.f64 (*.f64 im (*.f64 im (*.f64 im im))) (-.f64 (*.f64 re re) (*.f64 im im)))))
(-.f64 (/.f64 (*.f64 re (*.f64 re (*.f64 re re))) (-.f64 (*.f64 re re) (*.f64 im im))) (/.f64 (*.f64 im (*.f64 im (*.f64 im im))) (-.f64 (*.f64 re re) (*.f64 im im))))
(-.f64 (/.f64 (*.f64 im (*.f64 im (*.f64 im im))) (-.f64 (*.f64 im im) (*.f64 re re))) (/.f64 (*.f64 re (*.f64 re (*.f64 re re))) (-.f64 (*.f64 im im) (*.f64 re re))))
(fma.f64 im im (*.f64 re re))
(fma.f64 re re (*.f64 im im))
(neg.f64 (/.f64 (+.f64 (*.f64 (*.f64 re (*.f64 re re)) (*.f64 re (*.f64 re re))) (*.f64 (*.f64 im (*.f64 im im)) (*.f64 im (*.f64 im im)))) (-.f64 #s(literal 0 binary64) (+.f64 (*.f64 re (*.f64 re (*.f64 re re))) (*.f64 im (*.f64 im (-.f64 (*.f64 im im) (*.f64 re re))))))))
(neg.f64 (/.f64 (-.f64 (*.f64 re (*.f64 re (*.f64 re re))) (*.f64 im (*.f64 im (*.f64 im im)))) (+.f64 (-.f64 #s(literal 0 binary64) (*.f64 re re)) (*.f64 im im))))
(neg.f64 (/.f64 (-.f64 #s(literal 0 binary64) (+.f64 (*.f64 (*.f64 re (*.f64 re re)) (*.f64 re (*.f64 re re))) (*.f64 (*.f64 im (*.f64 im im)) (*.f64 im (*.f64 im im))))) (+.f64 (*.f64 re (*.f64 re (*.f64 re re))) (*.f64 im (*.f64 im (-.f64 (*.f64 im im) (*.f64 re re)))))))
(neg.f64 (/.f64 (-.f64 #s(literal 0 binary64) (-.f64 (*.f64 re (*.f64 re (*.f64 re re))) (*.f64 im (*.f64 im (*.f64 im im))))) (-.f64 (*.f64 re re) (*.f64 im im))))
(/.f64 (+.f64 (*.f64 (*.f64 re (*.f64 re re)) (*.f64 re (*.f64 re re))) (*.f64 (*.f64 im (*.f64 im im)) (*.f64 im (*.f64 im im)))) (+.f64 (*.f64 re (*.f64 re (*.f64 re re))) (*.f64 im (*.f64 im (-.f64 (*.f64 im im) (*.f64 re re))))))
(/.f64 (+.f64 (*.f64 (*.f64 re (*.f64 re re)) (*.f64 re (*.f64 re re))) (*.f64 (*.f64 im (*.f64 im im)) (*.f64 im (*.f64 im im)))) (+.f64 (*.f64 im (*.f64 im (*.f64 im im))) (*.f64 (*.f64 re re) (-.f64 (*.f64 re re) (*.f64 im im)))))
(/.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) (+.f64 (*.f64 re re) (*.f64 im im))))
(/.f64 #s(literal 1 binary64) (/.f64 (+.f64 (*.f64 im (*.f64 im (*.f64 im im))) (*.f64 (*.f64 re re) (-.f64 (*.f64 re re) (*.f64 im im)))) (+.f64 (*.f64 (*.f64 re (*.f64 re re)) (*.f64 re (*.f64 re re))) (*.f64 (*.f64 im (*.f64 im im)) (*.f64 im (*.f64 im im))))))
(/.f64 #s(literal 1 binary64) (/.f64 (/.f64 #s(literal 1 binary64) (+.f64 (*.f64 re re) (*.f64 im im))) #s(literal 1 binary64)))
(/.f64 #s(literal 1 binary64) (/.f64 (-.f64 (*.f64 im im) (*.f64 re re)) (-.f64 (*.f64 im (*.f64 im (*.f64 im im))) (*.f64 re (*.f64 re (*.f64 re re))))))
(/.f64 (-.f64 (*.f64 re (*.f64 re (*.f64 re re))) (*.f64 im (*.f64 im (*.f64 im im)))) (-.f64 (*.f64 re re) (*.f64 im im)))
(/.f64 #s(literal -1 binary64) (neg.f64 (/.f64 #s(literal 1 binary64) (+.f64 (*.f64 re re) (*.f64 im im)))))
(/.f64 (-.f64 #s(literal 0 binary64) (+.f64 (*.f64 (*.f64 re (*.f64 re re)) (*.f64 re (*.f64 re re))) (*.f64 (*.f64 im (*.f64 im im)) (*.f64 im (*.f64 im im))))) (-.f64 #s(literal 0 binary64) (+.f64 (*.f64 re (*.f64 re (*.f64 re re))) (*.f64 im (*.f64 im (-.f64 (*.f64 im im) (*.f64 re re)))))))
(/.f64 (-.f64 #s(literal 0 binary64) (+.f64 (*.f64 (*.f64 re (*.f64 re re)) (*.f64 re (*.f64 re re))) (*.f64 (*.f64 im (*.f64 im im)) (*.f64 im (*.f64 im im))))) (neg.f64 (+.f64 (*.f64 im (*.f64 im (*.f64 im im))) (*.f64 (*.f64 re re) (-.f64 (*.f64 re re) (*.f64 im im))))))
(/.f64 (-.f64 #s(literal 0 binary64) (-.f64 (*.f64 re (*.f64 re (*.f64 re re))) (*.f64 im (*.f64 im (*.f64 im im))))) (+.f64 (-.f64 #s(literal 0 binary64) (*.f64 re re)) (*.f64 im im)))
(/.f64 (-.f64 (*.f64 im (*.f64 im (*.f64 im im))) (*.f64 re (*.f64 re (*.f64 re re)))) (-.f64 (*.f64 im im) (*.f64 re re)))
(/.f64 (-.f64 (*.f64 (*.f64 re (*.f64 re (*.f64 re re))) (-.f64 (*.f64 re re) (*.f64 im im))) (*.f64 (-.f64 (*.f64 re re) (*.f64 im im)) (*.f64 im (*.f64 im (*.f64 im im))))) (*.f64 (-.f64 (*.f64 re re) (*.f64 im im)) (-.f64 (*.f64 re re) (*.f64 im im))))
(/.f64 (neg.f64 (-.f64 #s(literal 0 binary64) (+.f64 (*.f64 (*.f64 re (*.f64 re re)) (*.f64 re (*.f64 re re))) (*.f64 (*.f64 im (*.f64 im im)) (*.f64 im (*.f64 im im)))))) (neg.f64 (-.f64 #s(literal 0 binary64) (+.f64 (*.f64 re (*.f64 re (*.f64 re re))) (*.f64 im (*.f64 im (-.f64 (*.f64 im im) (*.f64 re re))))))))
(/.f64 (neg.f64 (-.f64 #s(literal 0 binary64) (-.f64 (*.f64 re (*.f64 re (*.f64 re re))) (*.f64 im (*.f64 im (*.f64 im im)))))) (neg.f64 (+.f64 (-.f64 #s(literal 0 binary64) (*.f64 re re)) (*.f64 im im))))
(/.f64 (neg.f64 (-.f64 (*.f64 im (*.f64 im (*.f64 im im))) (*.f64 re (*.f64 re (*.f64 re re))))) (neg.f64 (-.f64 (*.f64 im im) (*.f64 re re))))
(/.f64 (-.f64 (pow.f64 (/.f64 (*.f64 re (*.f64 re (*.f64 re re))) (-.f64 (*.f64 re re) (*.f64 im im))) #s(literal 3 binary64)) (pow.f64 (/.f64 (*.f64 im (*.f64 im (*.f64 im im))) (-.f64 (*.f64 re re) (*.f64 im im))) #s(literal 3 binary64))) (+.f64 (*.f64 (/.f64 (*.f64 re (*.f64 re (*.f64 re re))) (-.f64 (*.f64 re re) (*.f64 im im))) (/.f64 (*.f64 re (*.f64 re (*.f64 re re))) (-.f64 (*.f64 re re) (*.f64 im im)))) (+.f64 (*.f64 (/.f64 (*.f64 im (*.f64 im (*.f64 im im))) (-.f64 (*.f64 re re) (*.f64 im im))) (/.f64 (*.f64 im (*.f64 im (*.f64 im im))) (-.f64 (*.f64 re re) (*.f64 im im)))) (*.f64 (/.f64 (*.f64 re (*.f64 re (*.f64 re re))) (-.f64 (*.f64 re re) (*.f64 im im))) (/.f64 (*.f64 im (*.f64 im (*.f64 im im))) (-.f64 (*.f64 re re) (*.f64 im im)))))))
(/.f64 (-.f64 (*.f64 (/.f64 (*.f64 re (*.f64 re (*.f64 re re))) (-.f64 (*.f64 re re) (*.f64 im im))) (/.f64 (*.f64 re (*.f64 re (*.f64 re re))) (-.f64 (*.f64 re re) (*.f64 im im)))) (*.f64 (/.f64 (*.f64 im (*.f64 im (*.f64 im im))) (-.f64 (*.f64 re re) (*.f64 im im))) (/.f64 (*.f64 im (*.f64 im (*.f64 im im))) (-.f64 (*.f64 re re) (*.f64 im im))))) (+.f64 (/.f64 (*.f64 re (*.f64 re (*.f64 re re))) (-.f64 (*.f64 re re) (*.f64 im im))) (/.f64 (*.f64 im (*.f64 im (*.f64 im im))) (-.f64 (*.f64 re re) (*.f64 im im)))))
(pow.f64 (/.f64 #s(literal 1 binary64) (+.f64 (*.f64 re re) (*.f64 im im))) #s(literal -1 binary64))
(*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (*.f64 (-.f64 (*.f64 re re) (*.f64 im im)) (/.f64 #s(literal 1 binary64) (-.f64 (*.f64 re re) (*.f64 im im)))))
(*.f64 (+.f64 (*.f64 (*.f64 re (*.f64 re re)) (*.f64 re (*.f64 re re))) (*.f64 (*.f64 im (*.f64 im im)) (*.f64 im (*.f64 im im)))) (/.f64 #s(literal 1 binary64) (+.f64 (*.f64 re (*.f64 re (*.f64 re re))) (*.f64 im (*.f64 im (-.f64 (*.f64 im im) (*.f64 re re)))))))
(*.f64 (+.f64 (*.f64 (*.f64 re (*.f64 re re)) (*.f64 re (*.f64 re re))) (*.f64 (*.f64 im (*.f64 im im)) (*.f64 im (*.f64 im im)))) (/.f64 #s(literal 1 binary64) (+.f64 (*.f64 im (*.f64 im (*.f64 im im))) (*.f64 (*.f64 re re) (-.f64 (*.f64 re re) (*.f64 im im))))))
(*.f64 (+.f64 (*.f64 re (*.f64 re (*.f64 re re))) (*.f64 im (*.f64 im (-.f64 (*.f64 im im) (*.f64 re re))))) (*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (/.f64 #s(literal 1 binary64) (+.f64 (*.f64 re (*.f64 re (*.f64 re re))) (*.f64 im (*.f64 im (-.f64 (*.f64 im im) (*.f64 re re))))))))
(*.f64 #s(literal 1 binary64) (+.f64 (*.f64 re re) (*.f64 im im)))
(*.f64 (-.f64 (*.f64 re (*.f64 re (*.f64 re re))) (*.f64 im (*.f64 im (*.f64 im im)))) (/.f64 #s(literal 1 binary64) (-.f64 (*.f64 re re) (*.f64 im im))))
(*.f64 (-.f64 #s(literal 0 binary64) (+.f64 (*.f64 (*.f64 re (*.f64 re re)) (*.f64 re (*.f64 re re))) (*.f64 (*.f64 im (*.f64 im im)) (*.f64 im (*.f64 im im))))) (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 0 binary64) (+.f64 (*.f64 re (*.f64 re (*.f64 re re))) (*.f64 im (*.f64 im (-.f64 (*.f64 im im) (*.f64 re re))))))))
(*.f64 (-.f64 #s(literal 0 binary64) (-.f64 (*.f64 re (*.f64 re (*.f64 re re))) (*.f64 im (*.f64 im (*.f64 im im))))) (/.f64 #s(literal 1 binary64) (+.f64 (-.f64 #s(literal 0 binary64) (*.f64 re re)) (*.f64 im im))))
(*.f64 (-.f64 (*.f64 im (*.f64 im (*.f64 im im))) (*.f64 re (*.f64 re (*.f64 re re)))) (/.f64 #s(literal 1 binary64) (-.f64 (*.f64 im im) (*.f64 re re))))
(*.f64 (/.f64 (+.f64 (*.f64 re re) (*.f64 im im)) (+.f64 re im)) (+.f64 re im))
(exp.f64 (*.f64 #s(literal 2 binary64) (log.f64 re)))
(pow.f64 re #s(literal 2 binary64))
(pow.f64 (*.f64 re re) #s(literal 1 binary64))
(pow.f64 (exp.f64 (log.f64 re)) #s(literal 2 binary64))
(*.f64 re re)
(*.f64 (exp.f64 (log.f64 re)) (exp.f64 (log.f64 re)))
(+.f64 (log.f64 im) (/.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 re re)) (*.f64 im im)))
(+.f64 (/.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 re re)) (*.f64 im im)) (log.f64 im))
(+.f64 (/.f64 (pow.f64 (log.f64 im) #s(literal 2 binary64)) (-.f64 (log.f64 im) (/.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 re re)) (*.f64 im im)))) (neg.f64 (/.f64 (/.f64 (*.f64 #s(literal 1/4 binary64) (/.f64 (/.f64 (*.f64 re re) im) (/.f64 im (*.f64 re re)))) (*.f64 im im)) (-.f64 (log.f64 im) (/.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 re re)) (*.f64 im im))))))
(-.f64 (log.f64 im) (/.f64 (*.f64 re (*.f64 re #s(literal -1/2 binary64))) (*.f64 im im)))
(-.f64 (/.f64 (pow.f64 (log.f64 im) #s(literal 2 binary64)) (-.f64 (log.f64 im) (/.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 re re)) (*.f64 im im)))) (/.f64 (/.f64 (*.f64 #s(literal 1/4 binary64) (/.f64 (/.f64 (*.f64 re re) im) (/.f64 im (*.f64 re re)))) (*.f64 im im)) (-.f64 (log.f64 im) (/.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 re re)) (*.f64 im im)))))
(-.f64 (/.f64 (/.f64 (*.f64 #s(literal 1/4 binary64) (/.f64 (/.f64 (*.f64 re re) im) (/.f64 im (*.f64 re re)))) (*.f64 im im)) (-.f64 (/.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 re re)) (*.f64 im im)) (log.f64 im))) (/.f64 (pow.f64 (log.f64 im) #s(literal 2 binary64)) (-.f64 (/.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 re re)) (*.f64 im im)) (log.f64 im))))
(fma.f64 #s(literal 1/2 binary64) (/.f64 (*.f64 re re) (*.f64 im im)) (log.f64 im))
(fma.f64 (*.f64 re re) (/.f64 #s(literal 1/2 binary64) (*.f64 im im)) (log.f64 im))
(fma.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 re re)) (/.f64 #s(literal 1 binary64) (*.f64 im im)) (log.f64 im))
(fma.f64 (/.f64 #s(literal 1/2 binary64) (/.f64 im (*.f64 re re))) (/.f64 #s(literal 1 binary64) im) (log.f64 im))
(fma.f64 (/.f64 #s(literal -1/2 binary64) (/.f64 im (*.f64 re re))) (/.f64 #s(literal -1 binary64) im) (log.f64 im))
(fma.f64 #s(literal 1 binary64) (/.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 re re)) (*.f64 im im)) (log.f64 im))
(fma.f64 (/.f64 #s(literal 1 binary64) im) (/.f64 #s(literal 1/2 binary64) (/.f64 im (*.f64 re re))) (log.f64 im))
(fma.f64 (*.f64 #s(literal 1/2 binary64) re) (/.f64 re (*.f64 im im)) (log.f64 im))
(fma.f64 (/.f64 (*.f64 re re) im) (/.f64 #s(literal 1/2 binary64) im) (log.f64 im))
(fma.f64 (/.f64 #s(literal 1/2 binary64) im) (/.f64 (*.f64 re re) im) (log.f64 im))
(fma.f64 (/.f64 (*.f64 #s(literal 1/2 binary64) re) im) (/.f64 re im) (log.f64 im))
(neg.f64 (/.f64 (+.f64 (pow.f64 (log.f64 im) #s(literal 3 binary64)) (/.f64 (/.f64 (*.f64 (*.f64 (*.f64 re (*.f64 re re)) (*.f64 re (*.f64 re re))) #s(literal 1/8 binary64)) (*.f64 im (*.f64 im im))) (*.f64 im (*.f64 im im)))) (-.f64 #s(literal 0 binary64) (+.f64 (pow.f64 (log.f64 im) #s(literal 2 binary64)) (/.f64 (-.f64 (/.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 re re)) (*.f64 im im)) (log.f64 im)) (/.f64 (/.f64 im #s(literal 1/2 binary64)) (/.f64 (*.f64 re re) im)))))))
(neg.f64 (/.f64 (-.f64 (pow.f64 (log.f64 im) #s(literal 2 binary64)) (/.f64 (*.f64 #s(literal 1/4 binary64) (/.f64 (/.f64 (*.f64 re re) im) (/.f64 im (*.f64 re re)))) (*.f64 im im))) (+.f64 (-.f64 #s(literal 0 binary64) (log.f64 im)) (/.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 re re)) (*.f64 im im)))))
(neg.f64 (/.f64 (-.f64 #s(literal 0 binary64) (+.f64 (pow.f64 (log.f64 im) #s(literal 3 binary64)) (/.f64 (/.f64 (*.f64 (*.f64 (*.f64 re (*.f64 re re)) (*.f64 re (*.f64 re re))) #s(literal 1/8 binary64)) (*.f64 im (*.f64 im im))) (*.f64 im (*.f64 im im))))) (+.f64 (pow.f64 (log.f64 im) #s(literal 2 binary64)) (/.f64 (-.f64 (/.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 re re)) (*.f64 im im)) (log.f64 im)) (/.f64 (/.f64 im #s(literal 1/2 binary64)) (/.f64 (*.f64 re re) im))))))
(neg.f64 (/.f64 (+.f64 (neg.f64 (pow.f64 (log.f64 im) #s(literal 2 binary64))) (/.f64 (*.f64 #s(literal 1/4 binary64) (/.f64 (/.f64 (*.f64 re re) im) (/.f64 im (*.f64 re re)))) (*.f64 im im))) (-.f64 (log.f64 im) (/.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 re re)) (*.f64 im im)))))
(/.f64 (+.f64 (pow.f64 (log.f64 im) #s(literal 3 binary64)) (/.f64 (/.f64 (*.f64 (*.f64 (*.f64 re (*.f64 re re)) (*.f64 re (*.f64 re re))) #s(literal 1/8 binary64)) (*.f64 im (*.f64 im im))) (*.f64 im (*.f64 im im)))) (+.f64 (pow.f64 (log.f64 im) #s(literal 2 binary64)) (/.f64 (-.f64 (/.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 re re)) (*.f64 im im)) (log.f64 im)) (/.f64 (/.f64 im #s(literal 1/2 binary64)) (/.f64 (*.f64 re re) im)))))
(/.f64 (+.f64 (pow.f64 (log.f64 im) #s(literal 3 binary64)) (/.f64 (/.f64 (*.f64 (*.f64 (*.f64 re (*.f64 re re)) (*.f64 re (*.f64 re re))) #s(literal 1/8 binary64)) (*.f64 im (*.f64 im im))) (*.f64 im (*.f64 im im)))) (+.f64 (/.f64 (*.f64 #s(literal 1/4 binary64) (/.f64 (/.f64 (*.f64 re re) im) (/.f64 im (*.f64 re re)))) (*.f64 im im)) (*.f64 (log.f64 im) (-.f64 (log.f64 im) (/.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 re re)) (*.f64 im im))))))
(/.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) (+.f64 (log.f64 im) (/.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 re re)) (*.f64 im im)))))
(/.f64 #s(literal 1 binary64) (/.f64 (+.f64 (/.f64 (*.f64 #s(literal 1/4 binary64) (/.f64 (/.f64 (*.f64 re re) im) (/.f64 im (*.f64 re re)))) (*.f64 im im)) (*.f64 (log.f64 im) (-.f64 (log.f64 im) (/.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 re re)) (*.f64 im im))))) (+.f64 (pow.f64 (log.f64 im) #s(literal 3 binary64)) (/.f64 (/.f64 (*.f64 (*.f64 (*.f64 re (*.f64 re re)) (*.f64 re (*.f64 re re))) #s(literal 1/8 binary64)) (*.f64 im (*.f64 im im))) (*.f64 im (*.f64 im im))))))
(/.f64 #s(literal 1 binary64) (/.f64 (/.f64 #s(literal 1 binary64) (+.f64 (log.f64 im) (/.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 re re)) (*.f64 im im)))) #s(literal 1 binary64)))
(/.f64 #s(literal 1 binary64) (/.f64 (-.f64 (/.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 re re)) (*.f64 im im)) (log.f64 im)) (-.f64 (/.f64 (*.f64 #s(literal 1/4 binary64) (/.f64 (/.f64 (*.f64 re re) im) (/.f64 im (*.f64 re re)))) (*.f64 im im)) (pow.f64 (log.f64 im) #s(literal 2 binary64)))))
(/.f64 (-.f64 (pow.f64 (log.f64 im) #s(literal 2 binary64)) (/.f64 (*.f64 #s(literal 1/4 binary64) (/.f64 (/.f64 (*.f64 re re) im) (/.f64 im (*.f64 re re)))) (*.f64 im im))) (-.f64 (log.f64 im) (/.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 re re)) (*.f64 im im))))
(/.f64 #s(literal -1 binary64) (neg.f64 (/.f64 #s(literal 1 binary64) (+.f64 (log.f64 im) (/.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 re re)) (*.f64 im im))))))
(/.f64 (-.f64 #s(literal 0 binary64) (+.f64 (pow.f64 (log.f64 im) #s(literal 3 binary64)) (/.f64 (/.f64 (*.f64 (*.f64 (*.f64 re (*.f64 re re)) (*.f64 re (*.f64 re re))) #s(literal 1/8 binary64)) (*.f64 im (*.f64 im im))) (*.f64 im (*.f64 im im))))) (-.f64 #s(literal 0 binary64) (+.f64 (pow.f64 (log.f64 im) #s(literal 2 binary64)) (/.f64 (-.f64 (/.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 re re)) (*.f64 im im)) (log.f64 im)) (/.f64 (/.f64 im #s(literal 1/2 binary64)) (/.f64 (*.f64 re re) im))))))
(/.f64 (-.f64 #s(literal 0 binary64) (+.f64 (pow.f64 (log.f64 im) #s(literal 3 binary64)) (/.f64 (/.f64 (*.f64 (*.f64 (*.f64 re (*.f64 re re)) (*.f64 re (*.f64 re re))) #s(literal 1/8 binary64)) (*.f64 im (*.f64 im im))) (*.f64 im (*.f64 im im))))) (neg.f64 (+.f64 (/.f64 (*.f64 #s(literal 1/4 binary64) (/.f64 (/.f64 (*.f64 re re) im) (/.f64 im (*.f64 re re)))) (*.f64 im im)) (*.f64 (log.f64 im) (-.f64 (log.f64 im) (/.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 re re)) (*.f64 im im)))))))
(/.f64 (+.f64 (neg.f64 (pow.f64 (log.f64 im) #s(literal 2 binary64))) (/.f64 (*.f64 #s(literal 1/4 binary64) (/.f64 (/.f64 (*.f64 re re) im) (/.f64 im (*.f64 re re)))) (*.f64 im im))) (+.f64 (-.f64 #s(literal 0 binary64) (log.f64 im)) (/.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 re re)) (*.f64 im im))))
(/.f64 (-.f64 (/.f64 (*.f64 #s(literal 1/4 binary64) (/.f64 (/.f64 (*.f64 re re) im) (/.f64 im (*.f64 re re)))) (*.f64 im im)) (pow.f64 (log.f64 im) #s(literal 2 binary64))) (-.f64 (/.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 re re)) (*.f64 im im)) (log.f64 im)))
(/.f64 (-.f64 (*.f64 (pow.f64 (log.f64 im) #s(literal 2 binary64)) (-.f64 (log.f64 im) (/.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 re re)) (*.f64 im im)))) (*.f64 (-.f64 (log.f64 im) (/.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 re re)) (*.f64 im im))) (/.f64 (*.f64 #s(literal 1/4 binary64) (/.f64 (/.f64 (*.f64 re re) im) (/.f64 im (*.f64 re re)))) (*.f64 im im)))) (*.f64 (-.f64 (log.f64 im) (/.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 re re)) (*.f64 im im))) (-.f64 (log.f64 im) (/.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 re re)) (*.f64 im im)))))
(/.f64 (neg.f64 (-.f64 #s(literal 0 binary64) (+.f64 (pow.f64 (log.f64 im) #s(literal 3 binary64)) (/.f64 (/.f64 (*.f64 (*.f64 (*.f64 re (*.f64 re re)) (*.f64 re (*.f64 re re))) #s(literal 1/8 binary64)) (*.f64 im (*.f64 im im))) (*.f64 im (*.f64 im im)))))) (neg.f64 (-.f64 #s(literal 0 binary64) (+.f64 (pow.f64 (log.f64 im) #s(literal 2 binary64)) (/.f64 (-.f64 (/.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 re re)) (*.f64 im im)) (log.f64 im)) (/.f64 (/.f64 im #s(literal 1/2 binary64)) (/.f64 (*.f64 re re) im)))))))
(/.f64 (neg.f64 (+.f64 (neg.f64 (pow.f64 (log.f64 im) #s(literal 2 binary64))) (/.f64 (*.f64 #s(literal 1/4 binary64) (/.f64 (/.f64 (*.f64 re re) im) (/.f64 im (*.f64 re re)))) (*.f64 im im)))) (neg.f64 (+.f64 (-.f64 #s(literal 0 binary64) (log.f64 im)) (/.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 re re)) (*.f64 im im)))))
(/.f64 (neg.f64 (-.f64 (/.f64 (*.f64 #s(literal 1/4 binary64) (/.f64 (/.f64 (*.f64 re re) im) (/.f64 im (*.f64 re re)))) (*.f64 im im)) (pow.f64 (log.f64 im) #s(literal 2 binary64)))) (neg.f64 (-.f64 (/.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 re re)) (*.f64 im im)) (log.f64 im))))
(/.f64 (-.f64 (pow.f64 (/.f64 (pow.f64 (log.f64 im) #s(literal 2 binary64)) (-.f64 (log.f64 im) (/.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 re re)) (*.f64 im im)))) #s(literal 3 binary64)) (pow.f64 (/.f64 (/.f64 (*.f64 #s(literal 1/4 binary64) (/.f64 (/.f64 (*.f64 re re) im) (/.f64 im (*.f64 re re)))) (*.f64 im im)) (-.f64 (log.f64 im) (/.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 re re)) (*.f64 im im)))) #s(literal 3 binary64))) (+.f64 (*.f64 (/.f64 (pow.f64 (log.f64 im) #s(literal 2 binary64)) (-.f64 (log.f64 im) (/.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 re re)) (*.f64 im im)))) (/.f64 (pow.f64 (log.f64 im) #s(literal 2 binary64)) (-.f64 (log.f64 im) (/.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 re re)) (*.f64 im im))))) (+.f64 (*.f64 (/.f64 (/.f64 (*.f64 #s(literal 1/4 binary64) (/.f64 (/.f64 (*.f64 re re) im) (/.f64 im (*.f64 re re)))) (*.f64 im im)) (-.f64 (log.f64 im) (/.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 re re)) (*.f64 im im)))) (/.f64 (/.f64 (*.f64 #s(literal 1/4 binary64) (/.f64 (/.f64 (*.f64 re re) im) (/.f64 im (*.f64 re re)))) (*.f64 im im)) (-.f64 (log.f64 im) (/.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 re re)) (*.f64 im im))))) (*.f64 (/.f64 (pow.f64 (log.f64 im) #s(literal 2 binary64)) (-.f64 (log.f64 im) (/.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 re re)) (*.f64 im im)))) (/.f64 (/.f64 (*.f64 #s(literal 1/4 binary64) (/.f64 (/.f64 (*.f64 re re) im) (/.f64 im (*.f64 re re)))) (*.f64 im im)) (-.f64 (log.f64 im) (/.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 re re)) (*.f64 im im))))))))
(/.f64 (-.f64 (*.f64 (/.f64 (pow.f64 (log.f64 im) #s(literal 2 binary64)) (-.f64 (log.f64 im) (/.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 re re)) (*.f64 im im)))) (/.f64 (pow.f64 (log.f64 im) #s(literal 2 binary64)) (-.f64 (log.f64 im) (/.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 re re)) (*.f64 im im))))) (*.f64 (/.f64 (/.f64 (*.f64 #s(literal 1/4 binary64) (/.f64 (/.f64 (*.f64 re re) im) (/.f64 im (*.f64 re re)))) (*.f64 im im)) (-.f64 (log.f64 im) (/.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 re re)) (*.f64 im im)))) (/.f64 (/.f64 (*.f64 #s(literal 1/4 binary64) (/.f64 (/.f64 (*.f64 re re) im) (/.f64 im (*.f64 re re)))) (*.f64 im im)) (-.f64 (log.f64 im) (/.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 re re)) (*.f64 im im)))))) (+.f64 (/.f64 (pow.f64 (log.f64 im) #s(literal 2 binary64)) (-.f64 (log.f64 im) (/.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 re re)) (*.f64 im im)))) (/.f64 (/.f64 (*.f64 #s(literal 1/4 binary64) (/.f64 (/.f64 (*.f64 re re) im) (/.f64 im (*.f64 re re)))) (*.f64 im im)) (-.f64 (log.f64 im) (/.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 re re)) (*.f64 im im))))))
(pow.f64 (/.f64 #s(literal 1 binary64) (+.f64 (log.f64 im) (/.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 re re)) (*.f64 im im)))) #s(literal -1 binary64))
(*.f64 (+.f64 (log.f64 im) (/.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 re re)) (*.f64 im im))) (*.f64 (-.f64 (log.f64 im) (/.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 re re)) (*.f64 im im))) (/.f64 #s(literal 1 binary64) (-.f64 (log.f64 im) (/.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 re re)) (*.f64 im im))))))
(*.f64 (+.f64 (pow.f64 (log.f64 im) #s(literal 3 binary64)) (/.f64 (/.f64 (*.f64 (*.f64 (*.f64 re (*.f64 re re)) (*.f64 re (*.f64 re re))) #s(literal 1/8 binary64)) (*.f64 im (*.f64 im im))) (*.f64 im (*.f64 im im)))) (/.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (log.f64 im) #s(literal 2 binary64)) (/.f64 (-.f64 (/.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 re re)) (*.f64 im im)) (log.f64 im)) (/.f64 (/.f64 im #s(literal 1/2 binary64)) (/.f64 (*.f64 re re) im))))))
(*.f64 (+.f64 (pow.f64 (log.f64 im) #s(literal 3 binary64)) (/.f64 (/.f64 (*.f64 (*.f64 (*.f64 re (*.f64 re re)) (*.f64 re (*.f64 re re))) #s(literal 1/8 binary64)) (*.f64 im (*.f64 im im))) (*.f64 im (*.f64 im im)))) (/.f64 #s(literal 1 binary64) (+.f64 (/.f64 (*.f64 #s(literal 1/4 binary64) (/.f64 (/.f64 (*.f64 re re) im) (/.f64 im (*.f64 re re)))) (*.f64 im im)) (*.f64 (log.f64 im) (-.f64 (log.f64 im) (/.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 re re)) (*.f64 im im)))))))
(*.f64 (+.f64 (pow.f64 (log.f64 im) #s(literal 2 binary64)) (/.f64 (-.f64 (/.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 re re)) (*.f64 im im)) (log.f64 im)) (/.f64 (/.f64 im #s(literal 1/2 binary64)) (/.f64 (*.f64 re re) im)))) (*.f64 (+.f64 (log.f64 im) (/.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 re re)) (*.f64 im im))) (/.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (log.f64 im) #s(literal 2 binary64)) (/.f64 (-.f64 (/.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 re re)) (*.f64 im im)) (log.f64 im)) (/.f64 (/.f64 im #s(literal 1/2 binary64)) (/.f64 (*.f64 re re) im)))))))
(*.f64 #s(literal 1 binary64) (+.f64 (log.f64 im) (/.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 re re)) (*.f64 im im))))
(*.f64 (-.f64 (pow.f64 (log.f64 im) #s(literal 2 binary64)) (/.f64 (*.f64 #s(literal 1/4 binary64) (/.f64 (/.f64 (*.f64 re re) im) (/.f64 im (*.f64 re re)))) (*.f64 im im))) (/.f64 #s(literal 1 binary64) (-.f64 (log.f64 im) (/.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 re re)) (*.f64 im im)))))
(*.f64 (-.f64 #s(literal 0 binary64) (+.f64 (pow.f64 (log.f64 im) #s(literal 3 binary64)) (/.f64 (/.f64 (*.f64 (*.f64 (*.f64 re (*.f64 re re)) (*.f64 re (*.f64 re re))) #s(literal 1/8 binary64)) (*.f64 im (*.f64 im im))) (*.f64 im (*.f64 im im))))) (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 0 binary64) (+.f64 (pow.f64 (log.f64 im) #s(literal 2 binary64)) (/.f64 (-.f64 (/.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 re re)) (*.f64 im im)) (log.f64 im)) (/.f64 (/.f64 im #s(literal 1/2 binary64)) (/.f64 (*.f64 re re) im)))))))
(*.f64 (+.f64 (neg.f64 (pow.f64 (log.f64 im) #s(literal 2 binary64))) (/.f64 (*.f64 #s(literal 1/4 binary64) (/.f64 (/.f64 (*.f64 re re) im) (/.f64 im (*.f64 re re)))) (*.f64 im im))) (/.f64 #s(literal 1 binary64) (+.f64 (-.f64 #s(literal 0 binary64) (log.f64 im)) (/.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 re re)) (*.f64 im im)))))
(*.f64 (-.f64 (/.f64 (*.f64 #s(literal 1/4 binary64) (/.f64 (/.f64 (*.f64 re re) im) (/.f64 im (*.f64 re re)))) (*.f64 im im)) (pow.f64 (log.f64 im) #s(literal 2 binary64))) (/.f64 #s(literal 1 binary64) (-.f64 (/.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 re re)) (*.f64 im im)) (log.f64 im))))
(exp.f64 (*.f64 (log.f64 (/.f64 (/.f64 im #s(literal 1/2 binary64)) (/.f64 (*.f64 re re) im))) #s(literal -1 binary64)))
(-.f64 #s(literal 0 binary64) (/.f64 (*.f64 re (*.f64 re #s(literal -1/2 binary64))) (*.f64 im im)))
(-.f64 (/.f64 #s(literal 0 binary64) (-.f64 #s(literal 0 binary64) im)) (/.f64 (*.f64 re (*.f64 re #s(literal -1/2 binary64))) (*.f64 im im)))
(-.f64 (/.f64 #s(literal 0 binary64) (-.f64 #s(literal 0 binary64) (*.f64 im im))) (/.f64 (*.f64 re (*.f64 re #s(literal -1/2 binary64))) (*.f64 im im)))
(neg.f64 (/.f64 (*.f64 re (*.f64 re #s(literal -1/2 binary64))) (*.f64 im im)))
(neg.f64 (*.f64 (/.f64 (*.f64 re (*.f64 re #s(literal -1/2 binary64))) (*.f64 im im)) #s(literal 1 binary64)))
(/.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 re re)) (*.f64 im im))
(/.f64 (/.f64 #s(literal 1/2 binary64) (/.f64 im (*.f64 re re))) im)
(/.f64 (/.f64 #s(literal -1/2 binary64) (/.f64 im (*.f64 re re))) (-.f64 #s(literal 0 binary64) im))
(/.f64 (*.f64 re (*.f64 re #s(literal -1/2 binary64))) (-.f64 #s(literal 0 binary64) (*.f64 im im)))
(/.f64 #s(literal 1 binary64) (/.f64 (/.f64 im #s(literal 1/2 binary64)) (/.f64 (*.f64 re re) im)))
(/.f64 (/.f64 #s(literal 1 binary64) im) (/.f64 (/.f64 im (*.f64 re re)) #s(literal 1/2 binary64)))
(/.f64 #s(literal -1 binary64) (*.f64 im (/.f64 (/.f64 im (*.f64 re re)) #s(literal -1/2 binary64))))
(/.f64 (/.f64 #s(literal 1/2 binary64) im) (/.f64 im (*.f64 re re)))
(/.f64 (/.f64 #s(literal -1 binary64) im) (/.f64 (/.f64 im (*.f64 re re)) #s(literal -1/2 binary64)))
(pow.f64 (/.f64 (/.f64 im #s(literal 1/2 binary64)) (/.f64 (*.f64 re re) im)) #s(literal -1 binary64))
(*.f64 #s(literal 1/2 binary64) (/.f64 (*.f64 re re) (*.f64 im im)))
(*.f64 #s(literal 1/2 binary64) (*.f64 (/.f64 (*.f64 re re) (-.f64 #s(literal 0 binary64) im)) (/.f64 #s(literal -1 binary64) im)))
(*.f64 #s(literal 1/2 binary64) (*.f64 re (/.f64 re (*.f64 im im))))
(*.f64 #s(literal 1/2 binary64) (*.f64 (/.f64 (*.f64 re re) (*.f64 im im)) #s(literal 1 binary64)))
(*.f64 re (*.f64 re (/.f64 #s(literal 1/2 binary64) (*.f64 im im))))
(*.f64 re (*.f64 (*.f64 #s(literal 1/2 binary64) re) (/.f64 #s(literal 1 binary64) (*.f64 im im))))
(*.f64 re (*.f64 #s(literal 1/2 binary64) (/.f64 re (*.f64 im im))))
(*.f64 re (*.f64 (/.f64 re im) (/.f64 #s(literal 1/2 binary64) im)))
(*.f64 (*.f64 re re) (/.f64 #s(literal 1/2 binary64) (*.f64 im im)))
(*.f64 (*.f64 re re) (*.f64 (/.f64 #s(literal 1 binary64) im) (/.f64 #s(literal 1/2 binary64) im)))
(*.f64 (*.f64 re re) (*.f64 (/.f64 #s(literal 1/2 binary64) im) (/.f64 #s(literal 1 binary64) im)))
(*.f64 (*.f64 re re) (*.f64 (/.f64 #s(literal 1/2 binary64) (*.f64 im im)) #s(literal 1 binary64)))
(*.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 re re)) (/.f64 #s(literal 1 binary64) (*.f64 im im)))
(*.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 re re)) (*.f64 (/.f64 #s(literal -1 binary64) im) (/.f64 #s(literal -1 binary64) im)))
(*.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 re re)) (*.f64 (/.f64 #s(literal 1 binary64) (*.f64 im im)) #s(literal 1 binary64)))
(*.f64 (/.f64 #s(literal 1/2 binary64) (/.f64 im (*.f64 re re))) (/.f64 #s(literal 1 binary64) im))
(*.f64 (/.f64 #s(literal 1/2 binary64) (/.f64 im (*.f64 re re))) (*.f64 (/.f64 #s(literal 1 binary64) im) #s(literal 1 binary64)))
(*.f64 (/.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 re re)) (*.f64 im im)) #s(literal 1 binary64))
(*.f64 (/.f64 #s(literal -1/2 binary64) (/.f64 im (*.f64 re re))) (/.f64 #s(literal -1 binary64) im))
(*.f64 (/.f64 #s(literal -1/2 binary64) (/.f64 im (*.f64 re re))) (*.f64 (/.f64 #s(literal -1 binary64) im) #s(literal 1 binary64)))
(*.f64 (*.f64 re (*.f64 re #s(literal -1/2 binary64))) (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 0 binary64) (*.f64 im im))))
(*.f64 (*.f64 re (*.f64 re #s(literal -1/2 binary64))) (*.f64 (/.f64 #s(literal -1 binary64) im) (/.f64 #s(literal 1 binary64) im)))
(*.f64 (*.f64 re (*.f64 re #s(literal -1/2 binary64))) (*.f64 (/.f64 #s(literal 1 binary64) im) (/.f64 #s(literal -1 binary64) im)))
(*.f64 #s(literal 1 binary64) (/.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 re re)) (*.f64 im im)))
(*.f64 (/.f64 #s(literal 1 binary64) im) (/.f64 #s(literal 1/2 binary64) (/.f64 im (*.f64 re re))))
(*.f64 (/.f64 #s(literal 1 binary64) im) (/.f64 (/.f64 #s(literal 1 binary64) im) (/.f64 #s(literal 1 binary64) (*.f64 #s(literal 1/2 binary64) (*.f64 re re)))))
(*.f64 (*.f64 #s(literal 1/2 binary64) re) (/.f64 re (*.f64 im im)))
(*.f64 (*.f64 #s(literal 1/2 binary64) re) (*.f64 (/.f64 re im) (/.f64 #s(literal 1 binary64) im)))
(*.f64 (*.f64 #s(literal 1/2 binary64) re) (*.f64 (/.f64 re (*.f64 im im)) #s(literal 1 binary64)))
(*.f64 (/.f64 (*.f64 re re) im) (/.f64 #s(literal 1/2 binary64) im))
(*.f64 (/.f64 (*.f64 re re) im) (*.f64 (/.f64 #s(literal 1/2 binary64) im) #s(literal 1 binary64)))
(*.f64 #s(literal -1 binary64) (/.f64 (*.f64 re (*.f64 re #s(literal -1/2 binary64))) (*.f64 im im)))
(*.f64 (/.f64 #s(literal 1/2 binary64) im) (/.f64 (*.f64 re re) im))
(*.f64 (/.f64 #s(literal 1/2 binary64) im) (*.f64 (/.f64 (*.f64 re re) im) #s(literal 1 binary64)))
(*.f64 (/.f64 (*.f64 #s(literal 1/2 binary64) re) im) (/.f64 re im))
(*.f64 (/.f64 (*.f64 #s(literal 1/2 binary64) re) im) (*.f64 (/.f64 re im) #s(literal 1 binary64)))
(*.f64 (/.f64 re im) (/.f64 (*.f64 #s(literal 1/2 binary64) re) im))
(*.f64 (/.f64 #s(literal -1 binary64) im) (/.f64 #s(literal -1/2 binary64) (/.f64 im (*.f64 re re))))
(*.f64 (/.f64 #s(literal 1 binary64) (*.f64 im im)) (*.f64 #s(literal 1/2 binary64) (*.f64 re re)))
(*.f64 #s(literal -1/2 binary64) (/.f64 (/.f64 (*.f64 re re) (-.f64 #s(literal 0 binary64) im)) im))
(*.f64 #s(literal -1/2 binary64) (*.f64 (/.f64 (*.f64 re re) im) (/.f64 #s(literal -1 binary64) im)))
(*.f64 (/.f64 (*.f64 re re) (-.f64 #s(literal 0 binary64) im)) (/.f64 #s(literal 1/2 binary64) (-.f64 #s(literal 0 binary64) im)))
(*.f64 (/.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 re re)) #s(literal -1 binary64)) (/.f64 (/.f64 #s(literal -1 binary64) im) im))
(*.f64 (/.f64 (*.f64 re (*.f64 re #s(literal -1/2 binary64))) #s(literal -1 binary64)) (/.f64 #s(literal 1 binary64) (*.f64 im im)))
(*.f64 (/.f64 #s(literal -1/2 binary64) im) (/.f64 (*.f64 re re) (-.f64 #s(literal 0 binary64) im)))
(*.f64 (/.f64 (*.f64 re #s(literal -1/2 binary64)) im) (/.f64 re (-.f64 #s(literal 0 binary64) im)))
(*.f64 (pow.f64 (/.f64 (/.f64 im #s(literal 1/2 binary64)) (/.f64 (*.f64 re re) im)) #s(literal -1/2 binary64)) (pow.f64 (/.f64 (/.f64 im #s(literal 1/2 binary64)) (/.f64 (*.f64 re re) im)) #s(literal -1/2 binary64)))
(*.f64 (*.f64 #s(literal 1 binary64) (*.f64 re re)) (/.f64 #s(literal 1/2 binary64) (*.f64 im im)))
(*.f64 (*.f64 #s(literal 1 binary64) (*.f64 #s(literal 1/2 binary64) re)) (/.f64 re (*.f64 im im)))
(*.f64 (*.f64 (/.f64 #s(literal 1 binary64) im) #s(literal 1/2 binary64)) (/.f64 (*.f64 re re) im))
(*.f64 (*.f64 (/.f64 #s(literal 1 binary64) im) (*.f64 re re)) (/.f64 #s(literal 1/2 binary64) im))
(*.f64 (*.f64 (/.f64 #s(literal 1 binary64) im) #s(literal 1 binary64)) (/.f64 #s(literal 1/2 binary64) (/.f64 im (*.f64 re re))))
(*.f64 (*.f64 (/.f64 #s(literal 1 binary64) im) (*.f64 #s(literal 1/2 binary64) re)) (/.f64 re im))
(*.f64 (*.f64 (/.f64 #s(literal 1 binary64) im) (/.f64 (*.f64 re re) im)) #s(literal 1/2 binary64))
(*.f64 (*.f64 #s(literal 1 binary64) (/.f64 #s(literal 1/2 binary64) im)) (/.f64 (*.f64 re re) im))
(*.f64 (*.f64 #s(literal 1 binary64) (/.f64 (*.f64 #s(literal 1/2 binary64) re) im)) (/.f64 re im))
(*.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) im) re) (/.f64 re im))
(*.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) im) (*.f64 re re)) (/.f64 #s(literal 1 binary64) im))
(exp.f64 (*.f64 (log.f64 im) #s(literal 2 binary64)))
(neg.f64 (-.f64 #s(literal 0 binary64) (*.f64 im im)))
(pow.f64 im #s(literal 2 binary64))
(pow.f64 (*.f64 im im) #s(literal 1 binary64))
(pow.f64 (-.f64 #s(literal 0 binary64) im) #s(literal 2 binary64))
(*.f64 im im)
(*.f64 (-.f64 #s(literal 0 binary64) im) (-.f64 #s(literal 0 binary64) im))
(*.f64 #s(literal 1 binary64) (*.f64 im im))
(*.f64 #s(literal -1 binary64) (-.f64 #s(literal 0 binary64) (*.f64 im im)))
(*.f64 (*.f64 (-.f64 #s(literal 0 binary64) im) #s(literal -1 binary64)) im)

simplify301.0ms (5.1%)

Algorithm
egg-herbie
Rules
3972×*-lowering-*.f32
3972×*-lowering-*.f64
2544×+-lowering-+.f64
2544×+-lowering-+.f32
1422×sum3-define
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02492723
17972631
225712609
374252609
080542609
Stop Event
iter limit
node limit
Counts
240 → 240
Calls
Call 1
Inputs
(log im)
(log im)
(log im)
(log im)
(* -1 (log (/ 1 im)))
(* -1 (log (/ 1 im)))
(* -1 (log (/ 1 im)))
(* -1 (log (/ 1 im)))
(+ (log -1) (* -1 (log (/ -1 im))))
(+ (log -1) (* -1 (log (/ -1 im))))
(+ (log -1) (* -1 (log (/ -1 im))))
(+ (log -1) (* -1 (log (/ -1 im))))
(+ (log (* 1/2 (pow re 2))) (* -1 (log im)))
(+ (log (* 1/2 (pow re 2))) (+ (* -1 (log im)) (* 2 (/ (pow im 2) (pow re 2)))))
(+ (log (* 1/2 (pow re 2))) (+ (* -1 (log im)) (* (pow im 2) (+ (* -2 (/ (pow im 2) (pow re 4))) (* 2 (/ 1 (pow re 2)))))))
(+ (log (* 1/2 (pow re 2))) (+ (* -1 (log im)) (* (pow im 2) (+ (* (pow im 2) (- (* 8/3 (/ (pow im 2) (pow re 6))) (* 2 (/ 1 (pow re 4))))) (* 2 (/ 1 (pow re 2)))))))
(* -1 (log (/ 1 im)))
(+ (* -1 (log (/ 1 im))) (* 1/2 (/ (pow re 2) (pow im 2))))
(+ (* -1 (log (/ 1 im))) (+ (* -1/8 (/ (pow re 4) (pow im 4))) (* 1/2 (/ (pow re 2) (pow im 2)))))
(+ (* -1 (log (/ 1 im))) (+ (* -1/8 (/ (pow re 4) (pow im 4))) (+ (* 1/24 (/ (pow re 6) (pow im 6))) (* 1/2 (/ (pow re 2) (pow im 2))))))
(+ (log -1) (* -1 (log (/ -1 im))))
(+ (log -1) (+ (* -1 (log (/ -1 im))) (* 1/2 (/ (pow re 2) (pow im 2)))))
(+ (log -1) (+ (* -1 (log (/ -1 im))) (+ (* -1/8 (/ (pow re 4) (pow im 4))) (* 1/2 (/ (pow re 2) (pow im 2))))))
(+ (log -1) (+ (* -1 (log (/ -1 im))) (+ (* -1/8 (/ (pow re 4) (pow im 4))) (+ (* 1/24 (/ (pow re 6) (pow im 6))) (* 1/2 (/ (pow re 2) (pow im 2)))))))
(log im)
(+ (log im) (* 1/2 (/ (pow re 2) (pow im 2))))
(+ (log im) (* (pow re 2) (+ (* -1/8 (/ (pow re 2) (pow im 4))) (* 1/2 (/ 1 (pow im 2))))))
(+ (log im) (* (pow re 2) (+ (* (pow re 2) (- (* 1/24 (/ (pow re 2) (pow im 6))) (* 1/8 (/ 1 (pow im 4))))) (* 1/2 (/ 1 (pow im 2))))))
(+ (log (/ 1/2 im)) (* -2 (log (/ 1 re))))
(+ (log (/ 1/2 im)) (+ (* -2 (log (/ 1 re))) (* 2 (/ (pow im 2) (pow re 2)))))
(+ (log (/ 1/2 im)) (+ (* -2 (log (/ 1 re))) (+ (* -2 (/ (pow im 4) (pow re 4))) (* 2 (/ (pow im 2) (pow re 2))))))
(+ (log (/ 1/2 im)) (+ (* -2 (log (/ 1 re))) (+ (* -2 (/ (pow im 4) (pow re 4))) (+ (* 2 (/ (pow im 2) (pow re 2))) (* 8/3 (/ (pow im 6) (pow re 6)))))))
(+ (log (/ 1/2 im)) (* -2 (log (/ -1 re))))
(+ (log (/ 1/2 im)) (+ (* -2 (log (/ -1 re))) (* 2 (/ (pow im 2) (pow re 2)))))
(+ (log (/ 1/2 im)) (+ (* -2 (log (/ -1 re))) (+ (* -2 (/ (pow im 4) (pow re 4))) (* 2 (/ (pow im 2) (pow re 2))))))
(+ (log (/ 1/2 im)) (+ (* -2 (log (/ -1 re))) (+ (* -2 (/ (pow im 4) (pow re 4))) (+ (* 2 (/ (pow im 2) (pow re 2))) (* 8/3 (/ (pow im 6) (pow re 6)))))))
(* 1/2 (/ (pow re 2) im))
(/ (+ (* 1/2 (pow re 2)) (pow im 2)) im)
(/ (+ (* 1/2 (pow re 2)) (pow im 2)) im)
(/ (+ (* 1/2 (pow re 2)) (pow im 2)) im)
im
(* im (+ 1 (* 1/2 (/ (pow re 2) (pow im 2)))))
(* im (+ 1 (* 1/2 (/ (pow re 2) (pow im 2)))))
(* im (+ 1 (* 1/2 (/ (pow re 2) (pow im 2)))))
im
(* -1 (* im (- (* -1/2 (/ (pow re 2) (pow im 2))) 1)))
(* -1 (* im (- (* -1/2 (/ (pow re 2) (pow im 2))) 1)))
(* -1 (* im (- (* -1/2 (/ (pow re 2) (pow im 2))) 1)))
im
(+ im (* 1/2 (/ (pow re 2) im)))
(+ im (* 1/2 (/ (pow re 2) im)))
(+ im (* 1/2 (/ (pow re 2) im)))
(* 1/2 (/ (pow re 2) im))
(* (pow re 2) (+ (* 1/2 (/ 1 im)) (/ im (pow re 2))))
(* (pow re 2) (+ (* 1/2 (/ 1 im)) (/ im (pow re 2))))
(* (pow re 2) (+ (* 1/2 (/ 1 im)) (/ im (pow re 2))))
(* 1/2 (/ (pow re 2) im))
(* (pow re 2) (+ (* 1/2 (/ 1 im)) (/ im (pow re 2))))
(* (pow re 2) (+ (* 1/2 (/ 1 im)) (/ im (pow re 2))))
(* (pow re 2) (+ (* 1/2 (/ 1 im)) (/ im (pow re 2))))
(* 1/2 (/ (pow re 2) im))
(* 1/2 (/ (pow re 2) im))
(* 1/2 (/ (pow re 2) im))
(* 1/2 (/ (pow re 2) im))
(* 1/2 (/ (pow re 2) im))
(* 1/2 (/ (pow re 2) im))
(* 1/2 (/ (pow re 2) im))
(* 1/2 (/ (pow re 2) im))
(* 1/2 (/ (pow re 2) im))
(* 1/2 (/ (pow re 2) im))
(* 1/2 (/ (pow re 2) im))
(* 1/2 (/ (pow re 2) im))
(* 1/2 (/ (pow re 2) im))
(* 1/2 (/ (pow re 2) im))
(* 1/2 (/ (pow re 2) im))
(* 1/2 (/ (pow re 2) im))
(* 1/2 (/ (pow re 2) im))
(* 1/2 (/ (pow re 2) im))
(* 1/2 (/ (pow re 2) im))
(* 1/2 (/ (pow re 2) im))
(* 1/2 (/ (pow re 2) im))
(* 1/2 (/ (pow re 2) im))
(* 1/2 (/ (pow re 2) im))
(* 1/2 (/ (pow re 2) im))
(* 1/2 (pow re 2))
(* 1/2 (pow re 2))
(* 1/2 (pow re 2))
(* 1/2 (pow re 2))
(* 1/2 (pow re 2))
(* 1/2 (pow re 2))
(* 1/2 (pow re 2))
(* 1/2 (pow re 2))
(* 1/2 (pow re 2))
(* 1/2 (pow re 2))
(* 1/2 (pow re 2))
(* 1/2 (pow re 2))
(* 1/2 (log (pow im 2)))
(+ (* 1/2 (log (pow im 2))) (* 1/2 (/ (pow re 2) (pow im 2))))
(+ (* 1/2 (log (pow im 2))) (* (pow re 2) (+ (* -1/4 (/ (pow re 2) (pow im 4))) (* 1/2 (/ 1 (pow im 2))))))
(+ (* 1/2 (log (pow im 2))) (* (pow re 2) (+ (* (pow re 2) (- (* 1/6 (/ (pow re 2) (pow im 6))) (* 1/4 (/ 1 (pow im 4))))) (* 1/2 (/ 1 (pow im 2))))))
(* -1 (log (/ 1 re)))
(+ (* -1 (log (/ 1 re))) (* 1/2 (/ (pow im 2) (pow re 2))))
(+ (* -1 (log (/ 1 re))) (+ (* -1/4 (/ (pow im 4) (pow re 4))) (* 1/2 (/ (pow im 2) (pow re 2)))))
(+ (* -1 (log (/ 1 re))) (+ (* -1/4 (/ (pow im 4) (pow re 4))) (+ (* 1/6 (/ (pow im 6) (pow re 6))) (* 1/2 (/ (pow im 2) (pow re 2))))))
(* -1 (log (/ -1 re)))
(+ (* -1 (log (/ -1 re))) (* 1/2 (/ (pow im 2) (pow re 2))))
(+ (* -1 (log (/ -1 re))) (+ (* -1/4 (/ (pow im 4) (pow re 4))) (* 1/2 (/ (pow im 2) (pow re 2)))))
(+ (* -1 (log (/ -1 re))) (+ (* -1/4 (/ (pow im 4) (pow re 4))) (+ (* 1/6 (/ (pow im 6) (pow re 6))) (* 1/2 (/ (pow im 2) (pow re 2))))))
(* 1/2 (log (pow re 2)))
(+ (* 1/2 (log (pow re 2))) (* 1/2 (/ (pow im 2) (pow re 2))))
(+ (* 1/2 (log (pow re 2))) (* (pow im 2) (+ (* -1/4 (/ (pow im 2) (pow re 4))) (* 1/2 (/ 1 (pow re 2))))))
(+ (* 1/2 (log (pow re 2))) (* (pow im 2) (+ (* (pow im 2) (- (* 1/6 (/ (pow im 2) (pow re 6))) (* 1/4 (/ 1 (pow re 4))))) (* 1/2 (/ 1 (pow re 2))))))
(* -1 (log (/ 1 im)))
(+ (* -1 (log (/ 1 im))) (* 1/2 (/ (pow re 2) (pow im 2))))
(+ (* -1 (log (/ 1 im))) (+ (* -1/4 (/ (pow re 4) (pow im 4))) (* 1/2 (/ (pow re 2) (pow im 2)))))
(+ (* -1 (log (/ 1 im))) (+ (* -1/4 (/ (pow re 4) (pow im 4))) (+ (* 1/6 (/ (pow re 6) (pow im 6))) (* 1/2 (/ (pow re 2) (pow im 2))))))
(* -1 (log (/ -1 im)))
(+ (* -1 (log (/ -1 im))) (* 1/2 (/ (pow re 2) (pow im 2))))
(+ (* -1 (log (/ -1 im))) (+ (* -1/4 (/ (pow re 4) (pow im 4))) (* 1/2 (/ (pow re 2) (pow im 2)))))
(+ (* -1 (log (/ -1 im))) (+ (* -1/4 (/ (pow re 4) (pow im 4))) (+ (* 1/6 (/ (pow re 6) (pow im 6))) (* 1/2 (/ (pow re 2) (pow im 2))))))
(log (pow im 2))
(+ (log (pow im 2)) (/ (pow re 2) (pow im 2)))
(+ (log (pow im 2)) (* (pow re 2) (+ (* -1/2 (/ (pow re 2) (pow im 4))) (/ 1 (pow im 2)))))
(+ (log (pow im 2)) (* (pow re 2) (+ (* (pow re 2) (- (* 1/3 (/ (pow re 2) (pow im 6))) (* 1/2 (/ 1 (pow im 4))))) (/ 1 (pow im 2)))))
(* -2 (log (/ 1 re)))
(+ (* -2 (log (/ 1 re))) (/ (pow im 2) (pow re 2)))
(+ (* -2 (log (/ 1 re))) (+ (* -1/2 (/ (pow im 4) (pow re 4))) (/ (pow im 2) (pow re 2))))
(+ (* -2 (log (/ 1 re))) (+ (* -1/2 (/ (pow im 4) (pow re 4))) (+ (* 1/3 (/ (pow im 6) (pow re 6))) (/ (pow im 2) (pow re 2)))))
(* -2 (log (/ -1 re)))
(+ (* -2 (log (/ -1 re))) (/ (pow im 2) (pow re 2)))
(+ (* -2 (log (/ -1 re))) (+ (* -1/2 (/ (pow im 4) (pow re 4))) (/ (pow im 2) (pow re 2))))
(+ (* -2 (log (/ -1 re))) (+ (* -1/2 (/ (pow im 4) (pow re 4))) (+ (* 1/3 (/ (pow im 6) (pow re 6))) (/ (pow im 2) (pow re 2)))))
(log (pow re 2))
(+ (log (pow re 2)) (/ (pow im 2) (pow re 2)))
(+ (log (pow re 2)) (* (pow im 2) (+ (* -1/2 (/ (pow im 2) (pow re 4))) (/ 1 (pow re 2)))))
(+ (log (pow re 2)) (* (pow im 2) (+ (* (pow im 2) (- (* 1/3 (/ (pow im 2) (pow re 6))) (* 1/2 (/ 1 (pow re 4))))) (/ 1 (pow re 2)))))
(* -2 (log (/ 1 im)))
(+ (* -2 (log (/ 1 im))) (/ (pow re 2) (pow im 2)))
(+ (* -2 (log (/ 1 im))) (+ (* -1/2 (/ (pow re 4) (pow im 4))) (/ (pow re 2) (pow im 2))))
(+ (* -2 (log (/ 1 im))) (+ (* -1/2 (/ (pow re 4) (pow im 4))) (+ (* 1/3 (/ (pow re 6) (pow im 6))) (/ (pow re 2) (pow im 2)))))
(* -2 (log (/ -1 im)))
(+ (* -2 (log (/ -1 im))) (/ (pow re 2) (pow im 2)))
(+ (* -2 (log (/ -1 im))) (+ (* -1/2 (/ (pow re 4) (pow im 4))) (/ (pow re 2) (pow im 2))))
(+ (* -2 (log (/ -1 im))) (+ (* -1/2 (/ (pow re 4) (pow im 4))) (+ (* 1/3 (/ (pow re 6) (pow im 6))) (/ (pow re 2) (pow im 2)))))
(pow im 2)
(+ (pow im 2) (pow re 2))
(+ (pow im 2) (pow re 2))
(+ (pow im 2) (pow re 2))
(pow re 2)
(* (pow re 2) (+ 1 (/ (pow im 2) (pow re 2))))
(* (pow re 2) (+ 1 (/ (pow im 2) (pow re 2))))
(* (pow re 2) (+ 1 (/ (pow im 2) (pow re 2))))
(pow re 2)
(* (pow re 2) (+ 1 (/ (pow im 2) (pow re 2))))
(* (pow re 2) (+ 1 (/ (pow im 2) (pow re 2))))
(* (pow re 2) (+ 1 (/ (pow im 2) (pow re 2))))
(pow re 2)
(+ (pow im 2) (pow re 2))
(+ (pow im 2) (pow re 2))
(+ (pow im 2) (pow re 2))
(pow im 2)
(* (pow im 2) (+ 1 (/ (pow re 2) (pow im 2))))
(* (pow im 2) (+ 1 (/ (pow re 2) (pow im 2))))
(* (pow im 2) (+ 1 (/ (pow re 2) (pow im 2))))
(pow im 2)
(* (pow im 2) (+ 1 (/ (pow re 2) (pow im 2))))
(* (pow im 2) (+ 1 (/ (pow re 2) (pow im 2))))
(* (pow im 2) (+ 1 (/ (pow re 2) (pow im 2))))
(pow re 2)
(pow re 2)
(pow re 2)
(pow re 2)
(pow re 2)
(pow re 2)
(pow re 2)
(pow re 2)
(pow re 2)
(pow re 2)
(pow re 2)
(pow re 2)
(* 1/2 (/ (pow re 2) (pow im 2)))
(/ (+ (* 1/2 (pow re 2)) (* (pow im 2) (log im))) (pow im 2))
(/ (+ (* 1/2 (pow re 2)) (* (pow im 2) (log im))) (pow im 2))
(/ (+ (* 1/2 (pow re 2)) (* (pow im 2) (log im))) (pow im 2))
(* -1 (log (/ 1 im)))
(+ (* -1 (log (/ 1 im))) (* 1/2 (/ (pow re 2) (pow im 2))))
(+ (* -1 (log (/ 1 im))) (* 1/2 (/ (pow re 2) (pow im 2))))
(+ (* -1 (log (/ 1 im))) (* 1/2 (/ (pow re 2) (pow im 2))))
(+ (log -1) (* -1 (log (/ -1 im))))
(+ (log -1) (+ (* -1 (log (/ -1 im))) (* 1/2 (/ (pow re 2) (pow im 2)))))
(+ (log -1) (+ (* -1 (log (/ -1 im))) (* 1/2 (/ (pow re 2) (pow im 2)))))
(+ (log -1) (+ (* -1 (log (/ -1 im))) (* 1/2 (/ (pow re 2) (pow im 2)))))
(log im)
(+ (log im) (* 1/2 (/ (pow re 2) (pow im 2))))
(+ (log im) (* 1/2 (/ (pow re 2) (pow im 2))))
(+ (log im) (* 1/2 (/ (pow re 2) (pow im 2))))
(* 1/2 (/ (pow re 2) (pow im 2)))
(* (pow re 2) (+ (* 1/2 (/ 1 (pow im 2))) (/ (log im) (pow re 2))))
(* (pow re 2) (+ (* 1/2 (/ 1 (pow im 2))) (/ (log im) (pow re 2))))
(* (pow re 2) (+ (* 1/2 (/ 1 (pow im 2))) (/ (log im) (pow re 2))))
(* 1/2 (/ (pow re 2) (pow im 2)))
(* (pow re 2) (+ (* 1/2 (/ 1 (pow im 2))) (/ (log im) (pow re 2))))
(* (pow re 2) (+ (* 1/2 (/ 1 (pow im 2))) (/ (log im) (pow re 2))))
(* (pow re 2) (+ (* 1/2 (/ 1 (pow im 2))) (/ (log im) (pow re 2))))
(* 1/2 (/ (pow re 2) (pow im 2)))
(* 1/2 (/ (pow re 2) (pow im 2)))
(* 1/2 (/ (pow re 2) (pow im 2)))
(* 1/2 (/ (pow re 2) (pow im 2)))
(* 1/2 (/ (pow re 2) (pow im 2)))
(* 1/2 (/ (pow re 2) (pow im 2)))
(* 1/2 (/ (pow re 2) (pow im 2)))
(* 1/2 (/ (pow re 2) (pow im 2)))
(* 1/2 (/ (pow re 2) (pow im 2)))
(* 1/2 (/ (pow re 2) (pow im 2)))
(* 1/2 (/ (pow re 2) (pow im 2)))
(* 1/2 (/ (pow re 2) (pow im 2)))
(* 1/2 (/ (pow re 2) (pow im 2)))
(* 1/2 (/ (pow re 2) (pow im 2)))
(* 1/2 (/ (pow re 2) (pow im 2)))
(* 1/2 (/ (pow re 2) (pow im 2)))
(* 1/2 (/ (pow re 2) (pow im 2)))
(* 1/2 (/ (pow re 2) (pow im 2)))
(* 1/2 (/ (pow re 2) (pow im 2)))
(* 1/2 (/ (pow re 2) (pow im 2)))
(* 1/2 (/ (pow re 2) (pow im 2)))
(* 1/2 (/ (pow re 2) (pow im 2)))
(* 1/2 (/ (pow re 2) (pow im 2)))
(* 1/2 (/ (pow re 2) (pow im 2)))
(pow im 2)
(pow im 2)
(pow im 2)
(pow im 2)
(pow im 2)
(pow im 2)
(pow im 2)
(pow im 2)
(pow im 2)
(pow im 2)
(pow im 2)
(pow im 2)
Outputs
(log im)
(log.f64 im)
(log im)
(log.f64 im)
(log im)
(log.f64 im)
(log im)
(log.f64 im)
(* -1 (log (/ 1 im)))
(log.f64 im)
(* -1 (log (/ 1 im)))
(log.f64 im)
(* -1 (log (/ 1 im)))
(log.f64 im)
(* -1 (log (/ 1 im)))
(log.f64 im)
(+ (log -1) (* -1 (log (/ -1 im))))
(-.f64 (log.f64 #s(literal -1 binary64)) (log.f64 (/.f64 #s(literal -1 binary64) im)))
(+ (log -1) (* -1 (log (/ -1 im))))
(-.f64 (log.f64 #s(literal -1 binary64)) (log.f64 (/.f64 #s(literal -1 binary64) im)))
(+ (log -1) (* -1 (log (/ -1 im))))
(-.f64 (log.f64 #s(literal -1 binary64)) (log.f64 (/.f64 #s(literal -1 binary64) im)))
(+ (log -1) (* -1 (log (/ -1 im))))
(-.f64 (log.f64 #s(literal -1 binary64)) (log.f64 (/.f64 #s(literal -1 binary64) im)))
(+ (log (* 1/2 (pow re 2))) (* -1 (log im)))
(-.f64 (log.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 re re))) (log.f64 im))
(+ (log (* 1/2 (pow re 2))) (+ (* -1 (log im)) (* 2 (/ (pow im 2) (pow re 2)))))
(+.f64 (log.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 re re))) (-.f64 (/.f64 (*.f64 #s(literal 2 binary64) (*.f64 im im)) (*.f64 re re)) (log.f64 im)))
(+ (log (* 1/2 (pow re 2))) (+ (* -1 (log im)) (* (pow im 2) (+ (* -2 (/ (pow im 2) (pow re 4))) (* 2 (/ 1 (pow re 2)))))))
(+.f64 (*.f64 (*.f64 im im) (+.f64 (/.f64 (*.f64 im (*.f64 im #s(literal -2 binary64))) (*.f64 re (*.f64 re (*.f64 re re)))) (/.f64 #s(literal 2 binary64) (*.f64 re re)))) (-.f64 (log.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 re re))) (log.f64 im)))
(+ (log (* 1/2 (pow re 2))) (+ (* -1 (log im)) (* (pow im 2) (+ (* (pow im 2) (- (* 8/3 (/ (pow im 2) (pow re 6))) (* 2 (/ 1 (pow re 4))))) (* 2 (/ 1 (pow re 2)))))))
(+.f64 (log.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 re re))) (-.f64 (*.f64 (*.f64 im im) (+.f64 (/.f64 #s(literal 2 binary64) (*.f64 re re)) (*.f64 (*.f64 im im) (+.f64 (/.f64 (*.f64 (*.f64 im im) #s(literal 8/3 binary64)) (pow.f64 re #s(literal 6 binary64))) (/.f64 #s(literal -2 binary64) (*.f64 re (*.f64 re (*.f64 re re)))))))) (log.f64 im)))
(* -1 (log (/ 1 im)))
(log.f64 im)
(+ (* -1 (log (/ 1 im))) (* 1/2 (/ (pow re 2) (pow im 2))))
(+.f64 (log.f64 im) (/.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 re re)) (*.f64 im im)))
(+ (* -1 (log (/ 1 im))) (+ (* -1/8 (/ (pow re 4) (pow im 4))) (* 1/2 (/ (pow re 2) (pow im 2)))))
(+.f64 (log.f64 im) (*.f64 (*.f64 re re) (+.f64 (/.f64 (*.f64 (*.f64 re re) #s(literal -1/8 binary64)) (*.f64 im (*.f64 im (*.f64 im im)))) (/.f64 #s(literal 1/2 binary64) (*.f64 im im)))))
(+ (* -1 (log (/ 1 im))) (+ (* -1/8 (/ (pow re 4) (pow im 4))) (+ (* 1/24 (/ (pow re 6) (pow im 6))) (* 1/2 (/ (pow re 2) (pow im 2))))))
(+.f64 (log.f64 im) (+.f64 (*.f64 (*.f64 re re) (+.f64 (/.f64 (*.f64 (*.f64 re re) #s(literal -1/8 binary64)) (*.f64 im (*.f64 im (*.f64 im im)))) (/.f64 #s(literal 1/2 binary64) (*.f64 im im)))) (/.f64 (*.f64 (pow.f64 re #s(literal 6 binary64)) #s(literal 1/24 binary64)) (pow.f64 im #s(literal 6 binary64)))))
(+ (log -1) (* -1 (log (/ -1 im))))
(-.f64 (log.f64 #s(literal -1 binary64)) (log.f64 (/.f64 #s(literal -1 binary64) im)))
(+ (log -1) (+ (* -1 (log (/ -1 im))) (* 1/2 (/ (pow re 2) (pow im 2)))))
(+.f64 (log.f64 #s(literal -1 binary64)) (-.f64 (/.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 re re)) (*.f64 im im)) (log.f64 (/.f64 #s(literal -1 binary64) im))))
(+ (log -1) (+ (* -1 (log (/ -1 im))) (+ (* -1/8 (/ (pow re 4) (pow im 4))) (* 1/2 (/ (pow re 2) (pow im 2))))))
(+.f64 (log.f64 #s(literal -1 binary64)) (-.f64 (*.f64 (*.f64 re re) (+.f64 (/.f64 (*.f64 (*.f64 re re) #s(literal -1/8 binary64)) (*.f64 im (*.f64 im (*.f64 im im)))) (/.f64 #s(literal 1/2 binary64) (*.f64 im im)))) (log.f64 (/.f64 #s(literal -1 binary64) im))))
(+ (log -1) (+ (* -1 (log (/ -1 im))) (+ (* -1/8 (/ (pow re 4) (pow im 4))) (+ (* 1/24 (/ (pow re 6) (pow im 6))) (* 1/2 (/ (pow re 2) (pow im 2)))))))
(+.f64 (log.f64 #s(literal -1 binary64)) (+.f64 (*.f64 (*.f64 re re) (+.f64 (/.f64 (*.f64 (*.f64 re re) #s(literal -1/8 binary64)) (*.f64 im (*.f64 im (*.f64 im im)))) (/.f64 #s(literal 1/2 binary64) (*.f64 im im)))) (-.f64 (/.f64 (*.f64 (pow.f64 re #s(literal 6 binary64)) #s(literal 1/24 binary64)) (pow.f64 im #s(literal 6 binary64))) (log.f64 (/.f64 #s(literal -1 binary64) im)))))
(log im)
(log.f64 im)
(+ (log im) (* 1/2 (/ (pow re 2) (pow im 2))))
(+.f64 (log.f64 im) (/.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 re re)) (*.f64 im im)))
(+ (log im) (* (pow re 2) (+ (* -1/8 (/ (pow re 2) (pow im 4))) (* 1/2 (/ 1 (pow im 2))))))
(+.f64 (log.f64 im) (*.f64 (*.f64 re re) (+.f64 (/.f64 (*.f64 (*.f64 re re) #s(literal -1/8 binary64)) (*.f64 im (*.f64 im (*.f64 im im)))) (/.f64 #s(literal 1/2 binary64) (*.f64 im im)))))
(+ (log im) (* (pow re 2) (+ (* (pow re 2) (- (* 1/24 (/ (pow re 2) (pow im 6))) (* 1/8 (/ 1 (pow im 4))))) (* 1/2 (/ 1 (pow im 2))))))
(+.f64 (log.f64 im) (*.f64 re (*.f64 re (+.f64 (/.f64 #s(literal 1/2 binary64) (*.f64 im im)) (*.f64 re (*.f64 re (+.f64 (/.f64 (*.f64 (*.f64 re re) #s(literal 1/24 binary64)) (pow.f64 im #s(literal 6 binary64))) (/.f64 #s(literal -1/8 binary64) (*.f64 im (*.f64 im (*.f64 im im)))))))))))
(+ (log (/ 1/2 im)) (* -2 (log (/ 1 re))))
(+.f64 (log.f64 (/.f64 #s(literal 1/2 binary64) im)) (*.f64 #s(literal 2 binary64) (log.f64 re)))
(+ (log (/ 1/2 im)) (+ (* -2 (log (/ 1 re))) (* 2 (/ (pow im 2) (pow re 2)))))
(+.f64 (/.f64 (*.f64 #s(literal 2 binary64) (*.f64 im im)) (*.f64 re re)) (+.f64 (log.f64 (/.f64 #s(literal 1/2 binary64) im)) (*.f64 #s(literal 2 binary64) (log.f64 re))))
(+ (log (/ 1/2 im)) (+ (* -2 (log (/ 1 re))) (+ (* -2 (/ (pow im 4) (pow re 4))) (* 2 (/ (pow im 2) (pow re 2))))))
(+.f64 (log.f64 (/.f64 #s(literal 1/2 binary64) im)) (+.f64 (*.f64 #s(literal 2 binary64) (log.f64 re)) (*.f64 (*.f64 im im) (+.f64 (/.f64 (*.f64 im (*.f64 im #s(literal -2 binary64))) (*.f64 re (*.f64 re (*.f64 re re)))) (/.f64 #s(literal 2 binary64) (*.f64 re re))))))
(+ (log (/ 1/2 im)) (+ (* -2 (log (/ 1 re))) (+ (* -2 (/ (pow im 4) (pow re 4))) (+ (* 2 (/ (pow im 2) (pow re 2))) (* 8/3 (/ (pow im 6) (pow re 6)))))))
(+.f64 (*.f64 (*.f64 im im) (+.f64 (/.f64 (*.f64 im (*.f64 im #s(literal -2 binary64))) (*.f64 re (*.f64 re (*.f64 re re)))) (/.f64 #s(literal 2 binary64) (*.f64 re re)))) (+.f64 (+.f64 (log.f64 (/.f64 #s(literal 1/2 binary64) im)) (*.f64 #s(literal 2 binary64) (log.f64 re))) (/.f64 (*.f64 #s(literal 8/3 binary64) (pow.f64 im #s(literal 6 binary64))) (pow.f64 re #s(literal 6 binary64)))))
(+ (log (/ 1/2 im)) (* -2 (log (/ -1 re))))
(+.f64 (log.f64 (/.f64 #s(literal 1/2 binary64) im)) (*.f64 #s(literal -2 binary64) (log.f64 (/.f64 #s(literal -1 binary64) re))))
(+ (log (/ 1/2 im)) (+ (* -2 (log (/ -1 re))) (* 2 (/ (pow im 2) (pow re 2)))))
(+.f64 (/.f64 (*.f64 #s(literal 2 binary64) (*.f64 im im)) (*.f64 re re)) (+.f64 (log.f64 (/.f64 #s(literal 1/2 binary64) im)) (*.f64 #s(literal -2 binary64) (log.f64 (/.f64 #s(literal -1 binary64) re)))))
(+ (log (/ 1/2 im)) (+ (* -2 (log (/ -1 re))) (+ (* -2 (/ (pow im 4) (pow re 4))) (* 2 (/ (pow im 2) (pow re 2))))))
(+.f64 (log.f64 (/.f64 #s(literal 1/2 binary64) im)) (+.f64 (*.f64 (*.f64 im im) (+.f64 (/.f64 (*.f64 im (*.f64 im #s(literal -2 binary64))) (*.f64 re (*.f64 re (*.f64 re re)))) (/.f64 #s(literal 2 binary64) (*.f64 re re)))) (*.f64 #s(literal -2 binary64) (log.f64 (/.f64 #s(literal -1 binary64) re)))))
(+ (log (/ 1/2 im)) (+ (* -2 (log (/ -1 re))) (+ (* -2 (/ (pow im 4) (pow re 4))) (+ (* 2 (/ (pow im 2) (pow re 2))) (* 8/3 (/ (pow im 6) (pow re 6)))))))
(+.f64 (log.f64 (/.f64 #s(literal 1/2 binary64) im)) (+.f64 (/.f64 (*.f64 #s(literal 8/3 binary64) (pow.f64 im #s(literal 6 binary64))) (pow.f64 re #s(literal 6 binary64))) (+.f64 (*.f64 (*.f64 im im) (+.f64 (/.f64 (*.f64 im (*.f64 im #s(literal -2 binary64))) (*.f64 re (*.f64 re (*.f64 re re)))) (/.f64 #s(literal 2 binary64) (*.f64 re re)))) (*.f64 #s(literal -2 binary64) (log.f64 (/.f64 #s(literal -1 binary64) re))))))
(* 1/2 (/ (pow re 2) im))
(*.f64 #s(literal 1/2 binary64) (/.f64 (*.f64 re re) im))
(/ (+ (* 1/2 (pow re 2)) (pow im 2)) im)
(/.f64 (+.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 re re)) (*.f64 im im)) im)
(/ (+ (* 1/2 (pow re 2)) (pow im 2)) im)
(/.f64 (+.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 re re)) (*.f64 im im)) im)
(/ (+ (* 1/2 (pow re 2)) (pow im 2)) im)
(/.f64 (+.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 re re)) (*.f64 im im)) im)
im
(* im (+ 1 (* 1/2 (/ (pow re 2) (pow im 2)))))
(*.f64 im (+.f64 #s(literal 1 binary64) (/.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 re re)) (*.f64 im im))))
(* im (+ 1 (* 1/2 (/ (pow re 2) (pow im 2)))))
(*.f64 im (+.f64 #s(literal 1 binary64) (/.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 re re)) (*.f64 im im))))
(* im (+ 1 (* 1/2 (/ (pow re 2) (pow im 2)))))
(*.f64 im (+.f64 #s(literal 1 binary64) (/.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 re re)) (*.f64 im im))))
im
(* -1 (* im (- (* -1/2 (/ (pow re 2) (pow im 2))) 1)))
(*.f64 (+.f64 #s(literal -1 binary64) (/.f64 (/.f64 (*.f64 (*.f64 re re) #s(literal -1/2 binary64)) im) im)) (-.f64 #s(literal 0 binary64) im))
(* -1 (* im (- (* -1/2 (/ (pow re 2) (pow im 2))) 1)))
(*.f64 (+.f64 #s(literal -1 binary64) (/.f64 (/.f64 (*.f64 (*.f64 re re) #s(literal -1/2 binary64)) im) im)) (-.f64 #s(literal 0 binary64) im))
(* -1 (* im (- (* -1/2 (/ (pow re 2) (pow im 2))) 1)))
(*.f64 (+.f64 #s(literal -1 binary64) (/.f64 (/.f64 (*.f64 (*.f64 re re) #s(literal -1/2 binary64)) im) im)) (-.f64 #s(literal 0 binary64) im))
im
(+ im (* 1/2 (/ (pow re 2) im)))
(+.f64 im (*.f64 #s(literal 1/2 binary64) (/.f64 (*.f64 re re) im)))
(+ im (* 1/2 (/ (pow re 2) im)))
(+.f64 im (*.f64 #s(literal 1/2 binary64) (/.f64 (*.f64 re re) im)))
(+ im (* 1/2 (/ (pow re 2) im)))
(+.f64 im (*.f64 #s(literal 1/2 binary64) (/.f64 (*.f64 re re) im)))
(* 1/2 (/ (pow re 2) im))
(*.f64 #s(literal 1/2 binary64) (/.f64 (*.f64 re re) im))
(* (pow re 2) (+ (* 1/2 (/ 1 im)) (/ im (pow re 2))))
(*.f64 (*.f64 re re) (+.f64 (/.f64 #s(literal 1/2 binary64) im) (/.f64 im (*.f64 re re))))
(* (pow re 2) (+ (* 1/2 (/ 1 im)) (/ im (pow re 2))))
(*.f64 (*.f64 re re) (+.f64 (/.f64 #s(literal 1/2 binary64) im) (/.f64 im (*.f64 re re))))
(* (pow re 2) (+ (* 1/2 (/ 1 im)) (/ im (pow re 2))))
(*.f64 (*.f64 re re) (+.f64 (/.f64 #s(literal 1/2 binary64) im) (/.f64 im (*.f64 re re))))
(* 1/2 (/ (pow re 2) im))
(*.f64 #s(literal 1/2 binary64) (/.f64 (*.f64 re re) im))
(* (pow re 2) (+ (* 1/2 (/ 1 im)) (/ im (pow re 2))))
(*.f64 (*.f64 re re) (+.f64 (/.f64 #s(literal 1/2 binary64) im) (/.f64 im (*.f64 re re))))
(* (pow re 2) (+ (* 1/2 (/ 1 im)) (/ im (pow re 2))))
(*.f64 (*.f64 re re) (+.f64 (/.f64 #s(literal 1/2 binary64) im) (/.f64 im (*.f64 re re))))
(* (pow re 2) (+ (* 1/2 (/ 1 im)) (/ im (pow re 2))))
(*.f64 (*.f64 re re) (+.f64 (/.f64 #s(literal 1/2 binary64) im) (/.f64 im (*.f64 re re))))
(* 1/2 (/ (pow re 2) im))
(*.f64 #s(literal 1/2 binary64) (/.f64 (*.f64 re re) im))
(* 1/2 (/ (pow re 2) im))
(*.f64 #s(literal 1/2 binary64) (/.f64 (*.f64 re re) im))
(* 1/2 (/ (pow re 2) im))
(*.f64 #s(literal 1/2 binary64) (/.f64 (*.f64 re re) im))
(* 1/2 (/ (pow re 2) im))
(*.f64 #s(literal 1/2 binary64) (/.f64 (*.f64 re re) im))
(* 1/2 (/ (pow re 2) im))
(*.f64 #s(literal 1/2 binary64) (/.f64 (*.f64 re re) im))
(* 1/2 (/ (pow re 2) im))
(*.f64 #s(literal 1/2 binary64) (/.f64 (*.f64 re re) im))
(* 1/2 (/ (pow re 2) im))
(*.f64 #s(literal 1/2 binary64) (/.f64 (*.f64 re re) im))
(* 1/2 (/ (pow re 2) im))
(*.f64 #s(literal 1/2 binary64) (/.f64 (*.f64 re re) im))
(* 1/2 (/ (pow re 2) im))
(*.f64 #s(literal 1/2 binary64) (/.f64 (*.f64 re re) im))
(* 1/2 (/ (pow re 2) im))
(*.f64 #s(literal 1/2 binary64) (/.f64 (*.f64 re re) im))
(* 1/2 (/ (pow re 2) im))
(*.f64 #s(literal 1/2 binary64) (/.f64 (*.f64 re re) im))
(* 1/2 (/ (pow re 2) im))
(*.f64 #s(literal 1/2 binary64) (/.f64 (*.f64 re re) im))
(* 1/2 (/ (pow re 2) im))
(*.f64 #s(literal 1/2 binary64) (/.f64 (*.f64 re re) im))
(* 1/2 (/ (pow re 2) im))
(*.f64 #s(literal 1/2 binary64) (/.f64 (*.f64 re re) im))
(* 1/2 (/ (pow re 2) im))
(*.f64 #s(literal 1/2 binary64) (/.f64 (*.f64 re re) im))
(* 1/2 (/ (pow re 2) im))
(*.f64 #s(literal 1/2 binary64) (/.f64 (*.f64 re re) im))
(* 1/2 (/ (pow re 2) im))
(*.f64 #s(literal 1/2 binary64) (/.f64 (*.f64 re re) im))
(* 1/2 (/ (pow re 2) im))
(*.f64 #s(literal 1/2 binary64) (/.f64 (*.f64 re re) im))
(* 1/2 (/ (pow re 2) im))
(*.f64 #s(literal 1/2 binary64) (/.f64 (*.f64 re re) im))
(* 1/2 (/ (pow re 2) im))
(*.f64 #s(literal 1/2 binary64) (/.f64 (*.f64 re re) im))
(* 1/2 (/ (pow re 2) im))
(*.f64 #s(literal 1/2 binary64) (/.f64 (*.f64 re re) im))
(* 1/2 (/ (pow re 2) im))
(*.f64 #s(literal 1/2 binary64) (/.f64 (*.f64 re re) im))
(* 1/2 (/ (pow re 2) im))
(*.f64 #s(literal 1/2 binary64) (/.f64 (*.f64 re re) im))
(* 1/2 (/ (pow re 2) im))
(*.f64 #s(literal 1/2 binary64) (/.f64 (*.f64 re re) im))
(* 1/2 (pow re 2))
(*.f64 #s(literal 1/2 binary64) (*.f64 re re))
(* 1/2 (pow re 2))
(*.f64 #s(literal 1/2 binary64) (*.f64 re re))
(* 1/2 (pow re 2))
(*.f64 #s(literal 1/2 binary64) (*.f64 re re))
(* 1/2 (pow re 2))
(*.f64 #s(literal 1/2 binary64) (*.f64 re re))
(* 1/2 (pow re 2))
(*.f64 #s(literal 1/2 binary64) (*.f64 re re))
(* 1/2 (pow re 2))
(*.f64 #s(literal 1/2 binary64) (*.f64 re re))
(* 1/2 (pow re 2))
(*.f64 #s(literal 1/2 binary64) (*.f64 re re))
(* 1/2 (pow re 2))
(*.f64 #s(literal 1/2 binary64) (*.f64 re re))
(* 1/2 (pow re 2))
(*.f64 #s(literal 1/2 binary64) (*.f64 re re))
(* 1/2 (pow re 2))
(*.f64 #s(literal 1/2 binary64) (*.f64 re re))
(* 1/2 (pow re 2))
(*.f64 #s(literal 1/2 binary64) (*.f64 re re))
(* 1/2 (pow re 2))
(*.f64 #s(literal 1/2 binary64) (*.f64 re re))
(* 1/2 (log (pow im 2)))
(*.f64 #s(literal 1/2 binary64) (log.f64 (*.f64 im im)))
(+ (* 1/2 (log (pow im 2))) (* 1/2 (/ (pow re 2) (pow im 2))))
(*.f64 #s(literal 1/2 binary64) (+.f64 (/.f64 (*.f64 re re) (*.f64 im im)) (log.f64 (*.f64 im im))))
(+ (* 1/2 (log (pow im 2))) (* (pow re 2) (+ (* -1/4 (/ (pow re 2) (pow im 4))) (* 1/2 (/ 1 (pow im 2))))))
(+.f64 (*.f64 #s(literal 1/2 binary64) (log.f64 (*.f64 im im))) (*.f64 (*.f64 re re) (+.f64 (/.f64 #s(literal 1/2 binary64) (*.f64 im im)) (/.f64 (*.f64 (*.f64 re re) #s(literal -1/4 binary64)) (*.f64 im (*.f64 im (*.f64 im im)))))))
(+ (* 1/2 (log (pow im 2))) (* (pow re 2) (+ (* (pow re 2) (- (* 1/6 (/ (pow re 2) (pow im 6))) (* 1/4 (/ 1 (pow im 4))))) (* 1/2 (/ 1 (pow im 2))))))
(+.f64 (*.f64 #s(literal 1/2 binary64) (log.f64 (*.f64 im im))) (*.f64 (*.f64 re re) (+.f64 (/.f64 #s(literal 1/2 binary64) (*.f64 im im)) (*.f64 (*.f64 re re) (+.f64 (/.f64 (*.f64 (*.f64 re re) #s(literal 1/6 binary64)) (pow.f64 im #s(literal 6 binary64))) (/.f64 #s(literal -1/4 binary64) (*.f64 im (*.f64 im (*.f64 im im)))))))))
(* -1 (log (/ 1 re)))
(log.f64 re)
(+ (* -1 (log (/ 1 re))) (* 1/2 (/ (pow im 2) (pow re 2))))
(+.f64 (log.f64 re) (/.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 im im)) (*.f64 re re)))
(+ (* -1 (log (/ 1 re))) (+ (* -1/4 (/ (pow im 4) (pow re 4))) (* 1/2 (/ (pow im 2) (pow re 2)))))
(+.f64 (log.f64 re) (*.f64 (*.f64 im im) (+.f64 (/.f64 (*.f64 (*.f64 im im) #s(literal -1/4 binary64)) (*.f64 re (*.f64 re (*.f64 re re)))) (/.f64 #s(literal 1/2 binary64) (*.f64 re re)))))
(+ (* -1 (log (/ 1 re))) (+ (* -1/4 (/ (pow im 4) (pow re 4))) (+ (* 1/6 (/ (pow im 6) (pow re 6))) (* 1/2 (/ (pow im 2) (pow re 2))))))
(+.f64 (log.f64 re) (+.f64 (*.f64 (*.f64 im im) (+.f64 (/.f64 (*.f64 (*.f64 im im) #s(literal -1/4 binary64)) (*.f64 re (*.f64 re (*.f64 re re)))) (/.f64 #s(literal 1/2 binary64) (*.f64 re re)))) (/.f64 (*.f64 (pow.f64 im #s(literal 6 binary64)) #s(literal 1/6 binary64)) (pow.f64 re #s(literal 6 binary64)))))
(* -1 (log (/ -1 re)))
(-.f64 #s(literal 0 binary64) (log.f64 (/.f64 #s(literal -1 binary64) re)))
(+ (* -1 (log (/ -1 re))) (* 1/2 (/ (pow im 2) (pow re 2))))
(-.f64 (/.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 im im)) (*.f64 re re)) (log.f64 (/.f64 #s(literal -1 binary64) re)))
(+ (* -1 (log (/ -1 re))) (+ (* -1/4 (/ (pow im 4) (pow re 4))) (* 1/2 (/ (pow im 2) (pow re 2)))))
(-.f64 (*.f64 (*.f64 im im) (+.f64 (/.f64 (*.f64 (*.f64 im im) #s(literal -1/4 binary64)) (*.f64 re (*.f64 re (*.f64 re re)))) (/.f64 #s(literal 1/2 binary64) (*.f64 re re)))) (log.f64 (/.f64 #s(literal -1 binary64) re)))
(+ (* -1 (log (/ -1 re))) (+ (* -1/4 (/ (pow im 4) (pow re 4))) (+ (* 1/6 (/ (pow im 6) (pow re 6))) (* 1/2 (/ (pow im 2) (pow re 2))))))
(+.f64 (*.f64 (*.f64 im im) (+.f64 (/.f64 (*.f64 (*.f64 im im) #s(literal -1/4 binary64)) (*.f64 re (*.f64 re (*.f64 re re)))) (/.f64 #s(literal 1/2 binary64) (*.f64 re re)))) (-.f64 (/.f64 (*.f64 (pow.f64 im #s(literal 6 binary64)) #s(literal 1/6 binary64)) (pow.f64 re #s(literal 6 binary64))) (log.f64 (/.f64 #s(literal -1 binary64) re))))
(* 1/2 (log (pow re 2)))
(*.f64 #s(literal 1/2 binary64) (log.f64 (*.f64 re re)))
(+ (* 1/2 (log (pow re 2))) (* 1/2 (/ (pow im 2) (pow re 2))))
(*.f64 #s(literal 1/2 binary64) (+.f64 (/.f64 (*.f64 im im) (*.f64 re re)) (log.f64 (*.f64 re re))))
(+ (* 1/2 (log (pow re 2))) (* (pow im 2) (+ (* -1/4 (/ (pow im 2) (pow re 4))) (* 1/2 (/ 1 (pow re 2))))))
(+.f64 (*.f64 (*.f64 im im) (+.f64 (/.f64 (*.f64 (*.f64 im im) #s(literal -1/4 binary64)) (*.f64 re (*.f64 re (*.f64 re re)))) (/.f64 #s(literal 1/2 binary64) (*.f64 re re)))) (*.f64 #s(literal 1/2 binary64) (log.f64 (*.f64 re re))))
(+ (* 1/2 (log (pow re 2))) (* (pow im 2) (+ (* (pow im 2) (- (* 1/6 (/ (pow im 2) (pow re 6))) (* 1/4 (/ 1 (pow re 4))))) (* 1/2 (/ 1 (pow re 2))))))
(+.f64 (*.f64 #s(literal 1/2 binary64) (log.f64 (*.f64 re re))) (*.f64 (*.f64 im im) (+.f64 (/.f64 #s(literal 1/2 binary64) (*.f64 re re)) (*.f64 (*.f64 im im) (+.f64 (/.f64 (*.f64 im (*.f64 im #s(literal 1/6 binary64))) (pow.f64 re #s(literal 6 binary64))) (/.f64 #s(literal -1/4 binary64) (*.f64 re (*.f64 re (*.f64 re re)))))))))
(* -1 (log (/ 1 im)))
(log.f64 im)
(+ (* -1 (log (/ 1 im))) (* 1/2 (/ (pow re 2) (pow im 2))))
(+.f64 (log.f64 im) (/.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 re re)) (*.f64 im im)))
(+ (* -1 (log (/ 1 im))) (+ (* -1/4 (/ (pow re 4) (pow im 4))) (* 1/2 (/ (pow re 2) (pow im 2)))))
(+.f64 (log.f64 im) (*.f64 (*.f64 re re) (+.f64 (/.f64 #s(literal 1/2 binary64) (*.f64 im im)) (/.f64 (*.f64 (*.f64 re re) #s(literal -1/4 binary64)) (*.f64 im (*.f64 im (*.f64 im im)))))))
(+ (* -1 (log (/ 1 im))) (+ (* -1/4 (/ (pow re 4) (pow im 4))) (+ (* 1/6 (/ (pow re 6) (pow im 6))) (* 1/2 (/ (pow re 2) (pow im 2))))))
(+.f64 (*.f64 (*.f64 re re) (+.f64 (/.f64 #s(literal 1/2 binary64) (*.f64 im im)) (/.f64 (*.f64 (*.f64 re re) #s(literal -1/4 binary64)) (*.f64 im (*.f64 im (*.f64 im im)))))) (+.f64 (log.f64 im) (/.f64 (*.f64 (pow.f64 re #s(literal 6 binary64)) #s(literal 1/6 binary64)) (pow.f64 im #s(literal 6 binary64)))))
(* -1 (log (/ -1 im)))
(-.f64 #s(literal 0 binary64) (log.f64 (/.f64 #s(literal -1 binary64) im)))
(+ (* -1 (log (/ -1 im))) (* 1/2 (/ (pow re 2) (pow im 2))))
(-.f64 (/.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 re re)) (*.f64 im im)) (log.f64 (/.f64 #s(literal -1 binary64) im)))
(+ (* -1 (log (/ -1 im))) (+ (* -1/4 (/ (pow re 4) (pow im 4))) (* 1/2 (/ (pow re 2) (pow im 2)))))
(-.f64 (*.f64 (*.f64 re re) (+.f64 (/.f64 #s(literal 1/2 binary64) (*.f64 im im)) (/.f64 (*.f64 (*.f64 re re) #s(literal -1/4 binary64)) (*.f64 im (*.f64 im (*.f64 im im)))))) (log.f64 (/.f64 #s(literal -1 binary64) im)))
(+ (* -1 (log (/ -1 im))) (+ (* -1/4 (/ (pow re 4) (pow im 4))) (+ (* 1/6 (/ (pow re 6) (pow im 6))) (* 1/2 (/ (pow re 2) (pow im 2))))))
(+.f64 (/.f64 (*.f64 (pow.f64 re #s(literal 6 binary64)) #s(literal 1/6 binary64)) (pow.f64 im #s(literal 6 binary64))) (-.f64 (*.f64 (*.f64 re re) (+.f64 (/.f64 #s(literal 1/2 binary64) (*.f64 im im)) (/.f64 (*.f64 (*.f64 re re) #s(literal -1/4 binary64)) (*.f64 im (*.f64 im (*.f64 im im)))))) (log.f64 (/.f64 #s(literal -1 binary64) im))))
(log (pow im 2))
(log.f64 (*.f64 im im))
(+ (log (pow im 2)) (/ (pow re 2) (pow im 2)))
(+.f64 (/.f64 (*.f64 re re) (*.f64 im im)) (log.f64 (*.f64 im im)))
(+ (log (pow im 2)) (* (pow re 2) (+ (* -1/2 (/ (pow re 2) (pow im 4))) (/ 1 (pow im 2)))))
(+.f64 (log.f64 (*.f64 im im)) (*.f64 (*.f64 re re) (+.f64 (/.f64 #s(literal 1 binary64) (*.f64 im im)) (/.f64 (*.f64 (*.f64 re re) #s(literal -1/2 binary64)) (*.f64 im (*.f64 im (*.f64 im im)))))))
(+ (log (pow im 2)) (* (pow re 2) (+ (* (pow re 2) (- (* 1/3 (/ (pow re 2) (pow im 6))) (* 1/2 (/ 1 (pow im 4))))) (/ 1 (pow im 2)))))
(+.f64 (log.f64 (*.f64 im im)) (*.f64 (*.f64 re re) (+.f64 (/.f64 #s(literal 1 binary64) (*.f64 im im)) (*.f64 (*.f64 re re) (+.f64 (/.f64 (*.f64 re (*.f64 re #s(literal 1/3 binary64))) (pow.f64 im #s(literal 6 binary64))) (/.f64 #s(literal -1/2 binary64) (*.f64 im (*.f64 im (*.f64 im im)))))))))
(* -2 (log (/ 1 re)))
(*.f64 #s(literal 2 binary64) (log.f64 re))
(+ (* -2 (log (/ 1 re))) (/ (pow im 2) (pow re 2)))
(+.f64 (/.f64 (*.f64 im im) (*.f64 re re)) (*.f64 #s(literal 2 binary64) (log.f64 re)))
(+ (* -2 (log (/ 1 re))) (+ (* -1/2 (/ (pow im 4) (pow re 4))) (/ (pow im 2) (pow re 2))))
(+.f64 (*.f64 #s(literal 2 binary64) (log.f64 re)) (*.f64 (*.f64 im im) (+.f64 (/.f64 #s(literal 1 binary64) (*.f64 re re)) (/.f64 (*.f64 (*.f64 im im) #s(literal -1/2 binary64)) (*.f64 re (*.f64 re (*.f64 re re)))))))
(+ (* -2 (log (/ 1 re))) (+ (* -1/2 (/ (pow im 4) (pow re 4))) (+ (* 1/3 (/ (pow im 6) (pow re 6))) (/ (pow im 2) (pow re 2)))))
(+.f64 (*.f64 #s(literal 2 binary64) (log.f64 re)) (+.f64 (*.f64 (*.f64 im im) (+.f64 (/.f64 #s(literal 1 binary64) (*.f64 re re)) (/.f64 (*.f64 (*.f64 im im) #s(literal -1/2 binary64)) (*.f64 re (*.f64 re (*.f64 re re)))))) (/.f64 (*.f64 (pow.f64 im #s(literal 6 binary64)) #s(literal 1/3 binary64)) (pow.f64 re #s(literal 6 binary64)))))
(* -2 (log (/ -1 re)))
(*.f64 #s(literal -2 binary64) (log.f64 (/.f64 #s(literal -1 binary64) re)))
(+ (* -2 (log (/ -1 re))) (/ (pow im 2) (pow re 2)))
(+.f64 (/.f64 (*.f64 im im) (*.f64 re re)) (*.f64 #s(literal -2 binary64) (log.f64 (/.f64 #s(literal -1 binary64) re))))
(+ (* -2 (log (/ -1 re))) (+ (* -1/2 (/ (pow im 4) (pow re 4))) (/ (pow im 2) (pow re 2))))
(+.f64 (*.f64 #s(literal -2 binary64) (log.f64 (/.f64 #s(literal -1 binary64) re))) (*.f64 (*.f64 im im) (+.f64 (/.f64 #s(literal 1 binary64) (*.f64 re re)) (/.f64 (*.f64 (*.f64 im im) #s(literal -1/2 binary64)) (*.f64 re (*.f64 re (*.f64 re re)))))))
(+ (* -2 (log (/ -1 re))) (+ (* -1/2 (/ (pow im 4) (pow re 4))) (+ (* 1/3 (/ (pow im 6) (pow re 6))) (/ (pow im 2) (pow re 2)))))
(+.f64 (*.f64 #s(literal -2 binary64) (log.f64 (/.f64 #s(literal -1 binary64) re))) (+.f64 (*.f64 (*.f64 im im) (+.f64 (/.f64 #s(literal 1 binary64) (*.f64 re re)) (/.f64 (*.f64 (*.f64 im im) #s(literal -1/2 binary64)) (*.f64 re (*.f64 re (*.f64 re re)))))) (/.f64 (*.f64 (pow.f64 im #s(literal 6 binary64)) #s(literal 1/3 binary64)) (pow.f64 re #s(literal 6 binary64)))))
(log (pow re 2))
(log.f64 (*.f64 re re))
(+ (log (pow re 2)) (/ (pow im 2) (pow re 2)))
(+.f64 (/.f64 (*.f64 im im) (*.f64 re re)) (log.f64 (*.f64 re re)))
(+ (log (pow re 2)) (* (pow im 2) (+ (* -1/2 (/ (pow im 2) (pow re 4))) (/ 1 (pow re 2)))))
(+.f64 (log.f64 (*.f64 re re)) (*.f64 (*.f64 im im) (+.f64 (/.f64 #s(literal 1 binary64) (*.f64 re re)) (/.f64 (*.f64 (*.f64 im im) #s(literal -1/2 binary64)) (*.f64 re (*.f64 re (*.f64 re re)))))))
(+ (log (pow re 2)) (* (pow im 2) (+ (* (pow im 2) (- (* 1/3 (/ (pow im 2) (pow re 6))) (* 1/2 (/ 1 (pow re 4))))) (/ 1 (pow re 2)))))
(+.f64 (log.f64 (*.f64 re re)) (*.f64 im (*.f64 im (+.f64 (/.f64 #s(literal 1 binary64) (*.f64 re re)) (*.f64 (*.f64 im im) (+.f64 (/.f64 (*.f64 (*.f64 im im) #s(literal 1/3 binary64)) (pow.f64 re #s(literal 6 binary64))) (/.f64 #s(literal -1/2 binary64) (*.f64 re (*.f64 re (*.f64 re re))))))))))
(* -2 (log (/ 1 im)))
(*.f64 (log.f64 im) #s(literal 2 binary64))
(+ (* -2 (log (/ 1 im))) (/ (pow re 2) (pow im 2)))
(+.f64 (/.f64 (*.f64 re re) (*.f64 im im)) (*.f64 (log.f64 im) #s(literal 2 binary64)))
(+ (* -2 (log (/ 1 im))) (+ (* -1/2 (/ (pow re 4) (pow im 4))) (/ (pow re 2) (pow im 2))))
(+.f64 (*.f64 (log.f64 im) #s(literal 2 binary64)) (*.f64 (*.f64 re re) (+.f64 (/.f64 #s(literal 1 binary64) (*.f64 im im)) (/.f64 (*.f64 (*.f64 re re) #s(literal -1/2 binary64)) (*.f64 im (*.f64 im (*.f64 im im)))))))
(+ (* -2 (log (/ 1 im))) (+ (* -1/2 (/ (pow re 4) (pow im 4))) (+ (* 1/3 (/ (pow re 6) (pow im 6))) (/ (pow re 2) (pow im 2)))))
(+.f64 (*.f64 (*.f64 re re) (+.f64 (/.f64 #s(literal 1 binary64) (*.f64 im im)) (/.f64 (*.f64 (*.f64 re re) #s(literal -1/2 binary64)) (*.f64 im (*.f64 im (*.f64 im im)))))) (+.f64 (*.f64 (log.f64 im) #s(literal 2 binary64)) (/.f64 (*.f64 (pow.f64 re #s(literal 6 binary64)) #s(literal 1/3 binary64)) (pow.f64 im #s(literal 6 binary64)))))
(* -2 (log (/ -1 im)))
(*.f64 (log.f64 (/.f64 #s(literal -1 binary64) im)) #s(literal -2 binary64))
(+ (* -2 (log (/ -1 im))) (/ (pow re 2) (pow im 2)))
(+.f64 (/.f64 (*.f64 re re) (*.f64 im im)) (*.f64 (log.f64 (/.f64 #s(literal -1 binary64) im)) #s(literal -2 binary64)))
(+ (* -2 (log (/ -1 im))) (+ (* -1/2 (/ (pow re 4) (pow im 4))) (/ (pow re 2) (pow im 2))))
(+.f64 (*.f64 (*.f64 re re) (+.f64 (/.f64 #s(literal 1 binary64) (*.f64 im im)) (/.f64 (*.f64 (*.f64 re re) #s(literal -1/2 binary64)) (*.f64 im (*.f64 im (*.f64 im im)))))) (*.f64 (log.f64 (/.f64 #s(literal -1 binary64) im)) #s(literal -2 binary64)))
(+ (* -2 (log (/ -1 im))) (+ (* -1/2 (/ (pow re 4) (pow im 4))) (+ (* 1/3 (/ (pow re 6) (pow im 6))) (/ (pow re 2) (pow im 2)))))
(+.f64 (*.f64 (*.f64 re re) (+.f64 (/.f64 #s(literal 1 binary64) (*.f64 im im)) (/.f64 (*.f64 (*.f64 re re) #s(literal -1/2 binary64)) (*.f64 im (*.f64 im (*.f64 im im)))))) (+.f64 (/.f64 (*.f64 (pow.f64 re #s(literal 6 binary64)) #s(literal 1/3 binary64)) (pow.f64 im #s(literal 6 binary64))) (*.f64 (log.f64 (/.f64 #s(literal -1 binary64) im)) #s(literal -2 binary64))))
(pow im 2)
(*.f64 im im)
(+ (pow im 2) (pow re 2))
(+.f64 (*.f64 re re) (*.f64 im im))
(+ (pow im 2) (pow re 2))
(+.f64 (*.f64 re re) (*.f64 im im))
(+ (pow im 2) (pow re 2))
(+.f64 (*.f64 re re) (*.f64 im im))
(pow re 2)
(*.f64 re re)
(* (pow re 2) (+ 1 (/ (pow im 2) (pow re 2))))
(*.f64 (*.f64 re re) (+.f64 #s(literal 1 binary64) (/.f64 (*.f64 im im) (*.f64 re re))))
(* (pow re 2) (+ 1 (/ (pow im 2) (pow re 2))))
(*.f64 (*.f64 re re) (+.f64 #s(literal 1 binary64) (/.f64 (*.f64 im im) (*.f64 re re))))
(* (pow re 2) (+ 1 (/ (pow im 2) (pow re 2))))
(*.f64 (*.f64 re re) (+.f64 #s(literal 1 binary64) (/.f64 (*.f64 im im) (*.f64 re re))))
(pow re 2)
(*.f64 re re)
(* (pow re 2) (+ 1 (/ (pow im 2) (pow re 2))))
(*.f64 (*.f64 re re) (+.f64 #s(literal 1 binary64) (/.f64 (*.f64 im im) (*.f64 re re))))
(* (pow re 2) (+ 1 (/ (pow im 2) (pow re 2))))
(*.f64 (*.f64 re re) (+.f64 #s(literal 1 binary64) (/.f64 (*.f64 im im) (*.f64 re re))))
(* (pow re 2) (+ 1 (/ (pow im 2) (pow re 2))))
(*.f64 (*.f64 re re) (+.f64 #s(literal 1 binary64) (/.f64 (*.f64 im im) (*.f64 re re))))
(pow re 2)
(*.f64 re re)
(+ (pow im 2) (pow re 2))
(+.f64 (*.f64 re re) (*.f64 im im))
(+ (pow im 2) (pow re 2))
(+.f64 (*.f64 re re) (*.f64 im im))
(+ (pow im 2) (pow re 2))
(+.f64 (*.f64 re re) (*.f64 im im))
(pow im 2)
(*.f64 im im)
(* (pow im 2) (+ 1 (/ (pow re 2) (pow im 2))))
(*.f64 (*.f64 im im) (+.f64 #s(literal 1 binary64) (/.f64 (*.f64 re re) (*.f64 im im))))
(* (pow im 2) (+ 1 (/ (pow re 2) (pow im 2))))
(*.f64 (*.f64 im im) (+.f64 #s(literal 1 binary64) (/.f64 (*.f64 re re) (*.f64 im im))))
(* (pow im 2) (+ 1 (/ (pow re 2) (pow im 2))))
(*.f64 (*.f64 im im) (+.f64 #s(literal 1 binary64) (/.f64 (*.f64 re re) (*.f64 im im))))
(pow im 2)
(*.f64 im im)
(* (pow im 2) (+ 1 (/ (pow re 2) (pow im 2))))
(*.f64 (*.f64 im im) (+.f64 #s(literal 1 binary64) (/.f64 (*.f64 re re) (*.f64 im im))))
(* (pow im 2) (+ 1 (/ (pow re 2) (pow im 2))))
(*.f64 (*.f64 im im) (+.f64 #s(literal 1 binary64) (/.f64 (*.f64 re re) (*.f64 im im))))
(* (pow im 2) (+ 1 (/ (pow re 2) (pow im 2))))
(*.f64 (*.f64 im im) (+.f64 #s(literal 1 binary64) (/.f64 (*.f64 re re) (*.f64 im im))))
(pow re 2)
(*.f64 re re)
(pow re 2)
(*.f64 re re)
(pow re 2)
(*.f64 re re)
(pow re 2)
(*.f64 re re)
(pow re 2)
(*.f64 re re)
(pow re 2)
(*.f64 re re)
(pow re 2)
(*.f64 re re)
(pow re 2)
(*.f64 re re)
(pow re 2)
(*.f64 re re)
(pow re 2)
(*.f64 re re)
(pow re 2)
(*.f64 re re)
(pow re 2)
(*.f64 re re)
(* 1/2 (/ (pow re 2) (pow im 2)))
(/.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 re re)) (*.f64 im im))
(/ (+ (* 1/2 (pow re 2)) (* (pow im 2) (log im))) (pow im 2))
(/.f64 (+.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 re re)) (*.f64 im (*.f64 im (log.f64 im)))) (*.f64 im im))
(/ (+ (* 1/2 (pow re 2)) (* (pow im 2) (log im))) (pow im 2))
(/.f64 (+.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 re re)) (*.f64 im (*.f64 im (log.f64 im)))) (*.f64 im im))
(/ (+ (* 1/2 (pow re 2)) (* (pow im 2) (log im))) (pow im 2))
(/.f64 (+.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 re re)) (*.f64 im (*.f64 im (log.f64 im)))) (*.f64 im im))
(* -1 (log (/ 1 im)))
(log.f64 im)
(+ (* -1 (log (/ 1 im))) (* 1/2 (/ (pow re 2) (pow im 2))))
(+.f64 (log.f64 im) (/.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 re re)) (*.f64 im im)))
(+ (* -1 (log (/ 1 im))) (* 1/2 (/ (pow re 2) (pow im 2))))
(+.f64 (log.f64 im) (/.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 re re)) (*.f64 im im)))
(+ (* -1 (log (/ 1 im))) (* 1/2 (/ (pow re 2) (pow im 2))))
(+.f64 (log.f64 im) (/.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 re re)) (*.f64 im im)))
(+ (log -1) (* -1 (log (/ -1 im))))
(-.f64 (log.f64 #s(literal -1 binary64)) (log.f64 (/.f64 #s(literal -1 binary64) im)))
(+ (log -1) (+ (* -1 (log (/ -1 im))) (* 1/2 (/ (pow re 2) (pow im 2)))))
(+.f64 (log.f64 #s(literal -1 binary64)) (-.f64 (/.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 re re)) (*.f64 im im)) (log.f64 (/.f64 #s(literal -1 binary64) im))))
(+ (log -1) (+ (* -1 (log (/ -1 im))) (* 1/2 (/ (pow re 2) (pow im 2)))))
(+.f64 (log.f64 #s(literal -1 binary64)) (-.f64 (/.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 re re)) (*.f64 im im)) (log.f64 (/.f64 #s(literal -1 binary64) im))))
(+ (log -1) (+ (* -1 (log (/ -1 im))) (* 1/2 (/ (pow re 2) (pow im 2)))))
(+.f64 (log.f64 #s(literal -1 binary64)) (-.f64 (/.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 re re)) (*.f64 im im)) (log.f64 (/.f64 #s(literal -1 binary64) im))))
(log im)
(log.f64 im)
(+ (log im) (* 1/2 (/ (pow re 2) (pow im 2))))
(+.f64 (log.f64 im) (/.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 re re)) (*.f64 im im)))
(+ (log im) (* 1/2 (/ (pow re 2) (pow im 2))))
(+.f64 (log.f64 im) (/.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 re re)) (*.f64 im im)))
(+ (log im) (* 1/2 (/ (pow re 2) (pow im 2))))
(+.f64 (log.f64 im) (/.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 re re)) (*.f64 im im)))
(* 1/2 (/ (pow re 2) (pow im 2)))
(/.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 re re)) (*.f64 im im))
(* (pow re 2) (+ (* 1/2 (/ 1 (pow im 2))) (/ (log im) (pow re 2))))
(*.f64 re (*.f64 re (+.f64 (/.f64 #s(literal 1/2 binary64) (*.f64 im im)) (/.f64 (log.f64 im) (*.f64 re re)))))
(* (pow re 2) (+ (* 1/2 (/ 1 (pow im 2))) (/ (log im) (pow re 2))))
(*.f64 re (*.f64 re (+.f64 (/.f64 #s(literal 1/2 binary64) (*.f64 im im)) (/.f64 (log.f64 im) (*.f64 re re)))))
(* (pow re 2) (+ (* 1/2 (/ 1 (pow im 2))) (/ (log im) (pow re 2))))
(*.f64 re (*.f64 re (+.f64 (/.f64 #s(literal 1/2 binary64) (*.f64 im im)) (/.f64 (log.f64 im) (*.f64 re re)))))
(* 1/2 (/ (pow re 2) (pow im 2)))
(/.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 re re)) (*.f64 im im))
(* (pow re 2) (+ (* 1/2 (/ 1 (pow im 2))) (/ (log im) (pow re 2))))
(*.f64 re (*.f64 re (+.f64 (/.f64 #s(literal 1/2 binary64) (*.f64 im im)) (/.f64 (log.f64 im) (*.f64 re re)))))
(* (pow re 2) (+ (* 1/2 (/ 1 (pow im 2))) (/ (log im) (pow re 2))))
(*.f64 re (*.f64 re (+.f64 (/.f64 #s(literal 1/2 binary64) (*.f64 im im)) (/.f64 (log.f64 im) (*.f64 re re)))))
(* (pow re 2) (+ (* 1/2 (/ 1 (pow im 2))) (/ (log im) (pow re 2))))
(*.f64 re (*.f64 re (+.f64 (/.f64 #s(literal 1/2 binary64) (*.f64 im im)) (/.f64 (log.f64 im) (*.f64 re re)))))
(* 1/2 (/ (pow re 2) (pow im 2)))
(/.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 re re)) (*.f64 im im))
(* 1/2 (/ (pow re 2) (pow im 2)))
(/.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 re re)) (*.f64 im im))
(* 1/2 (/ (pow re 2) (pow im 2)))
(/.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 re re)) (*.f64 im im))
(* 1/2 (/ (pow re 2) (pow im 2)))
(/.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 re re)) (*.f64 im im))
(* 1/2 (/ (pow re 2) (pow im 2)))
(/.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 re re)) (*.f64 im im))
(* 1/2 (/ (pow re 2) (pow im 2)))
(/.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 re re)) (*.f64 im im))
(* 1/2 (/ (pow re 2) (pow im 2)))
(/.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 re re)) (*.f64 im im))
(* 1/2 (/ (pow re 2) (pow im 2)))
(/.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 re re)) (*.f64 im im))
(* 1/2 (/ (pow re 2) (pow im 2)))
(/.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 re re)) (*.f64 im im))
(* 1/2 (/ (pow re 2) (pow im 2)))
(/.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 re re)) (*.f64 im im))
(* 1/2 (/ (pow re 2) (pow im 2)))
(/.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 re re)) (*.f64 im im))
(* 1/2 (/ (pow re 2) (pow im 2)))
(/.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 re re)) (*.f64 im im))
(* 1/2 (/ (pow re 2) (pow im 2)))
(/.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 re re)) (*.f64 im im))
(* 1/2 (/ (pow re 2) (pow im 2)))
(/.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 re re)) (*.f64 im im))
(* 1/2 (/ (pow re 2) (pow im 2)))
(/.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 re re)) (*.f64 im im))
(* 1/2 (/ (pow re 2) (pow im 2)))
(/.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 re re)) (*.f64 im im))
(* 1/2 (/ (pow re 2) (pow im 2)))
(/.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 re re)) (*.f64 im im))
(* 1/2 (/ (pow re 2) (pow im 2)))
(/.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 re re)) (*.f64 im im))
(* 1/2 (/ (pow re 2) (pow im 2)))
(/.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 re re)) (*.f64 im im))
(* 1/2 (/ (pow re 2) (pow im 2)))
(/.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 re re)) (*.f64 im im))
(* 1/2 (/ (pow re 2) (pow im 2)))
(/.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 re re)) (*.f64 im im))
(* 1/2 (/ (pow re 2) (pow im 2)))
(/.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 re re)) (*.f64 im im))
(* 1/2 (/ (pow re 2) (pow im 2)))
(/.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 re re)) (*.f64 im im))
(* 1/2 (/ (pow re 2) (pow im 2)))
(/.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 re re)) (*.f64 im im))
(pow im 2)
(*.f64 im im)
(pow im 2)
(*.f64 im im)
(pow im 2)
(*.f64 im im)
(pow im 2)
(*.f64 im im)
(pow im 2)
(*.f64 im im)
(pow im 2)
(*.f64 im im)
(pow im 2)
(*.f64 im im)
(pow im 2)
(*.f64 im im)
(pow im 2)
(*.f64 im im)
(pow im 2)
(*.f64 im im)
(pow im 2)
(*.f64 im im)
(pow im 2)
(*.f64 im im)

eval79.0ms (1.3%)

Compiler

Compiled 14578 to 1526 computations (89.5% saved)

prune68.0ms (1.2%)

Pruning

8 alts after pruning (3 fresh and 5 done)

PrunedKeptTotal
New7243727
Fresh000
Picked044
Done011
Total7248732
Accuracy
100.0%
Counts
732 → 8
Alt Table
Click to see full alt table
StatusAccuracyProgram
2.8%
(/.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 re re)) (*.f64 im im))
91.1%
(+.f64 (log.f64 im) (/.f64 (/.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 re re)) im) im))
51.1%
(*.f64 (log.f64 (+.f64 (*.f64 re re) (*.f64 im im))) #s(literal 1/2 binary64))
50.6%
(*.f64 (log.f64 (*.f64 im im)) #s(literal 1/2 binary64))
100.0%
(log.f64 (hypot.f64 re im))
91.1%
(log.f64 (+.f64 im (/.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 re re)) im)))
99.9%
(log.f64 (+.f64 im (*.f64 (*.f64 #s(literal 1/2 binary64) re) (/.f64 re im))))
98.9%
(log.f64 im)
Compiler

Compiled 79 to 53 computations (32.9% saved)

simplify12.0ms (0.2%)

Algorithm
egg-herbie
Localize:

Found 11 expressions of interest:

NewMetricScoreProgram
cost-diff0
(*.f64 im im)
cost-diff0
(*.f64 re re)
cost-diff0
(*.f64 #s(literal 1/2 binary64) (*.f64 re re))
cost-diff0
(/.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 re re)) (*.f64 im im))
cost-diff0
(*.f64 im im)
cost-diff0
(log.f64 (*.f64 im im))
cost-diff0
(*.f64 (log.f64 (*.f64 im im)) #s(literal 1/2 binary64))
cost-diff0
(*.f64 #s(literal 1/2 binary64) re)
cost-diff0
(*.f64 (*.f64 #s(literal 1/2 binary64) re) (/.f64 re im))
cost-diff0
(+.f64 im (*.f64 (*.f64 #s(literal 1/2 binary64) re) (/.f64 re im)))
cost-diff0
(log.f64 (+.f64 im (*.f64 (*.f64 #s(literal 1/2 binary64) re) (/.f64 re im))))
Rules
90×*-lowering-*.f32
90×*-lowering-*.f64
30×/-lowering-/.f32
30×/-lowering-/.f64
28×associate-*l*
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01473
12971
25971
39771
410671
010671
Stop Event
iter limit
saturated
Calls
Call 1
Inputs
(log (+ im (* (* 1/2 re) (/ re im))))
(+ im (* (* 1/2 re) (/ re im)))
im
(* (* 1/2 re) (/ re im))
(* 1/2 re)
1/2
re
(/ re im)
(* (log (* im im)) 1/2)
(log (* im im))
(* im im)
im
1/2
(/ (* 1/2 (* re re)) (* im im))
(* 1/2 (* re re))
1/2
(* re re)
re
(* im im)
im
Outputs
(log (+ im (* (* 1/2 re) (/ re im))))
(log.f64 (+.f64 im (*.f64 #s(literal 1/2 binary64) (/.f64 (*.f64 re re) im))))
(+ im (* (* 1/2 re) (/ re im)))
(+.f64 im (*.f64 #s(literal 1/2 binary64) (/.f64 (*.f64 re re) im)))
im
(* (* 1/2 re) (/ re im))
(*.f64 #s(literal 1/2 binary64) (/.f64 (*.f64 re re) im))
(* 1/2 re)
(*.f64 #s(literal 1/2 binary64) re)
1/2
#s(literal 1/2 binary64)
re
(/ re im)
(/.f64 re im)
(* (log (* im im)) 1/2)
(*.f64 #s(literal 1/2 binary64) (log.f64 (*.f64 im im)))
(log (* im im))
(log.f64 (*.f64 im im))
(* im im)
(*.f64 im im)
im
1/2
#s(literal 1/2 binary64)
(/ (* 1/2 (* re re)) (* im im))
(/.f64 (*.f64 #s(literal 1/2 binary64) (/.f64 (*.f64 re re) im)) im)
(* 1/2 (* re re))
(*.f64 #s(literal 1/2 binary64) (*.f64 re re))
1/2
#s(literal 1/2 binary64)
(* re re)
(*.f64 re re)
re
(* im im)
(*.f64 im im)
im

localize117.0ms (2%)

Localize:

Found 11 expressions of interest:

NewMetricScoreProgram
accuracy100.0%
(*.f64 re re)
accuracy100.0%
(*.f64 im im)
accuracy100.0%
(*.f64 #s(literal 1/2 binary64) (*.f64 re re))
accuracy73.4%
(/.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 re re)) (*.f64 im im))
accuracy100.0%
(*.f64 (log.f64 (*.f64 im im)) #s(literal 1/2 binary64))
accuracy100.0%
(*.f64 im im)
accuracy51.1%
(log.f64 (*.f64 im im))
accuracy100.0%
(+.f64 im (*.f64 (*.f64 #s(literal 1/2 binary64) re) (/.f64 re im)))
accuracy100.0%
(*.f64 #s(literal 1/2 binary64) re)
accuracy100.0%
(log.f64 (+.f64 im (*.f64 (*.f64 #s(literal 1/2 binary64) re) (/.f64 re im))))
accuracy99.8%
(*.f64 (*.f64 #s(literal 1/2 binary64) re) (/.f64 re im))
Results
51.0ms256×0valid
Compiler

Compiled 76 to 15 computations (80.3% saved)

Precisions
Click to see histograms. Total time spent on operations: 24.0ms
ival-mult: 12.0ms (50.8% of total)
ival-log: 6.0ms (25.4% of total)
ival-div: 4.0ms (16.9% of total)
ival-add: 1.0ms (4.2% of total)
const: 0.0ms (0% of total)
backward-pass: 0.0ms (0% of total)

series19.0ms (0.3%)

Counts
10 → 168
Calls
Call 1
Inputs
#<alt (log (+ im (* (* 1/2 re) (/ re im))))>
#<alt (+ im (* (* 1/2 re) (/ re im)))>
#<alt (* (* 1/2 re) (/ re im))>
#<alt (* 1/2 re)>
#<alt (* (log (* im im)) 1/2)>
#<alt (log (* im im))>
#<alt (* im im)>
#<alt (/ (* 1/2 (* re re)) (* im im))>
#<alt (* 1/2 (* re re))>
#<alt (* re re)>
Outputs
#<alt (+ (log (* 1/2 (pow re 2))) (* -1 (log im)))>
#<alt (+ (log (* 1/2 (pow re 2))) (+ (* -1 (log im)) (* 2 (/ (pow im 2) (pow re 2)))))>
#<alt (+ (log (* 1/2 (pow re 2))) (+ (* -1 (log im)) (* (pow im 2) (+ (* -2 (/ (pow im 2) (pow re 4))) (* 2 (/ 1 (pow re 2)))))))>
#<alt (+ (log (* 1/2 (pow re 2))) (+ (* -1 (log im)) (* (pow im 2) (+ (* (pow im 2) (- (* 8/3 (/ (pow im 2) (pow re 6))) (* 2 (/ 1 (pow re 4))))) (* 2 (/ 1 (pow re 2)))))))>
#<alt (* -1 (log (/ 1 im)))>
#<alt (+ (* -1 (log (/ 1 im))) (* 1/2 (/ (pow re 2) (pow im 2))))>
#<alt (+ (* -1 (log (/ 1 im))) (+ (* -1/8 (/ (pow re 4) (pow im 4))) (* 1/2 (/ (pow re 2) (pow im 2)))))>
#<alt (+ (* -1 (log (/ 1 im))) (+ (* -1/8 (/ (pow re 4) (pow im 4))) (+ (* 1/24 (/ (pow re 6) (pow im 6))) (* 1/2 (/ (pow re 2) (pow im 2))))))>
#<alt (+ (log -1) (* -1 (log (/ -1 im))))>
#<alt (+ (log -1) (+ (* -1 (log (/ -1 im))) (* 1/2 (/ (pow re 2) (pow im 2)))))>
#<alt (+ (log -1) (+ (* -1 (log (/ -1 im))) (+ (* -1/8 (/ (pow re 4) (pow im 4))) (* 1/2 (/ (pow re 2) (pow im 2))))))>
#<alt (+ (log -1) (+ (* -1 (log (/ -1 im))) (+ (* -1/8 (/ (pow re 4) (pow im 4))) (+ (* 1/24 (/ (pow re 6) (pow im 6))) (* 1/2 (/ (pow re 2) (pow im 2)))))))>
#<alt (log im)>
#<alt (+ (log im) (* 1/2 (/ (pow re 2) (pow im 2))))>
#<alt (+ (log im) (* (pow re 2) (+ (* -1/8 (/ (pow re 2) (pow im 4))) (* 1/2 (/ 1 (pow im 2))))))>
#<alt (+ (log im) (* (pow re 2) (+ (* (pow re 2) (- (* 1/24 (/ (pow re 2) (pow im 6))) (* 1/8 (/ 1 (pow im 4))))) (* 1/2 (/ 1 (pow im 2))))))>
#<alt (+ (log (/ 1/2 im)) (* -2 (log (/ 1 re))))>
#<alt (+ (log (/ 1/2 im)) (+ (* -2 (log (/ 1 re))) (* 2 (/ (pow im 2) (pow re 2)))))>
#<alt (+ (log (/ 1/2 im)) (+ (* -2 (log (/ 1 re))) (+ (* -2 (/ (pow im 4) (pow re 4))) (* 2 (/ (pow im 2) (pow re 2))))))>
#<alt (+ (log (/ 1/2 im)) (+ (* -2 (log (/ 1 re))) (+ (* -2 (/ (pow im 4) (pow re 4))) (+ (* 2 (/ (pow im 2) (pow re 2))) (* 8/3 (/ (pow im 6) (pow re 6)))))))>
#<alt (+ (log (/ 1/2 im)) (* -2 (log (/ -1 re))))>
#<alt (+ (log (/ 1/2 im)) (+ (* -2 (log (/ -1 re))) (* 2 (/ (pow im 2) (pow re 2)))))>
#<alt (+ (log (/ 1/2 im)) (+ (* -2 (log (/ -1 re))) (+ (* -2 (/ (pow im 4) (pow re 4))) (* 2 (/ (pow im 2) (pow re 2))))))>
#<alt (+ (log (/ 1/2 im)) (+ (* -2 (log (/ -1 re))) (+ (* -2 (/ (pow im 4) (pow re 4))) (+ (* 2 (/ (pow im 2) (pow re 2))) (* 8/3 (/ (pow im 6) (pow re 6)))))))>
#<alt (* 1/2 (/ (pow re 2) im))>
#<alt (/ (+ (* 1/2 (pow re 2)) (pow im 2)) im)>
#<alt (/ (+ (* 1/2 (pow re 2)) (pow im 2)) im)>
#<alt (/ (+ (* 1/2 (pow re 2)) (pow im 2)) im)>
#<alt im>
#<alt (* im (+ 1 (* 1/2 (/ (pow re 2) (pow im 2)))))>
#<alt (* im (+ 1 (* 1/2 (/ (pow re 2) (pow im 2)))))>
#<alt (* im (+ 1 (* 1/2 (/ (pow re 2) (pow im 2)))))>
#<alt im>
#<alt (* -1 (* im (- (* -1/2 (/ (pow re 2) (pow im 2))) 1)))>
#<alt (* -1 (* im (- (* -1/2 (/ (pow re 2) (pow im 2))) 1)))>
#<alt (* -1 (* im (- (* -1/2 (/ (pow re 2) (pow im 2))) 1)))>
#<alt im>
#<alt (+ im (* 1/2 (/ (pow re 2) im)))>
#<alt (+ im (* 1/2 (/ (pow re 2) im)))>
#<alt (+ im (* 1/2 (/ (pow re 2) im)))>
#<alt (* 1/2 (/ (pow re 2) im))>
#<alt (* (pow re 2) (+ (* 1/2 (/ 1 im)) (/ im (pow re 2))))>
#<alt (* (pow re 2) (+ (* 1/2 (/ 1 im)) (/ im (pow re 2))))>
#<alt (* (pow re 2) (+ (* 1/2 (/ 1 im)) (/ im (pow re 2))))>
#<alt (* 1/2 (/ (pow re 2) im))>
#<alt (* (pow re 2) (+ (* 1/2 (/ 1 im)) (/ im (pow re 2))))>
#<alt (* (pow re 2) (+ (* 1/2 (/ 1 im)) (/ im (pow re 2))))>
#<alt (* (pow re 2) (+ (* 1/2 (/ 1 im)) (/ im (pow re 2))))>
#<alt (* 1/2 (/ (pow re 2) im))>
#<alt (* 1/2 (/ (pow re 2) im))>
#<alt (* 1/2 (/ (pow re 2) im))>
#<alt (* 1/2 (/ (pow re 2) im))>
#<alt (* 1/2 (/ (pow re 2) im))>
#<alt (* 1/2 (/ (pow re 2) im))>
#<alt (* 1/2 (/ (pow re 2) im))>
#<alt (* 1/2 (/ (pow re 2) im))>
#<alt (* 1/2 (/ (pow re 2) im))>
#<alt (* 1/2 (/ (pow re 2) im))>
#<alt (* 1/2 (/ (pow re 2) im))>
#<alt (* 1/2 (/ (pow re 2) im))>
#<alt (* 1/2 (/ (pow re 2) im))>
#<alt (* 1/2 (/ (pow re 2) im))>
#<alt (* 1/2 (/ (pow re 2) im))>
#<alt (* 1/2 (/ (pow re 2) im))>
#<alt (* 1/2 (/ (pow re 2) im))>
#<alt (* 1/2 (/ (pow re 2) im))>
#<alt (* 1/2 (/ (pow re 2) im))>
#<alt (* 1/2 (/ (pow re 2) im))>
#<alt (* 1/2 (/ (pow re 2) im))>
#<alt (* 1/2 (/ (pow re 2) im))>
#<alt (* 1/2 (/ (pow re 2) im))>
#<alt (* 1/2 (/ (pow re 2) im))>
#<alt (* 1/2 re)>
#<alt (* 1/2 re)>
#<alt (* 1/2 re)>
#<alt (* 1/2 re)>
#<alt (* 1/2 re)>
#<alt (* 1/2 re)>
#<alt (* 1/2 re)>
#<alt (* 1/2 re)>
#<alt (* 1/2 re)>
#<alt (* 1/2 re)>
#<alt (* 1/2 re)>
#<alt (* 1/2 re)>
#<alt (log im)>
#<alt (log im)>
#<alt (log im)>
#<alt (log im)>
#<alt (* -1 (log (/ 1 im)))>
#<alt (* -1 (log (/ 1 im)))>
#<alt (* -1 (log (/ 1 im)))>
#<alt (* -1 (log (/ 1 im)))>
#<alt (* -1 (log (/ -1 im)))>
#<alt (* -1 (log (/ -1 im)))>
#<alt (* -1 (log (/ -1 im)))>
#<alt (* -1 (log (/ -1 im)))>
#<alt (* 2 (log im))>
#<alt (* 2 (log im))>
#<alt (* 2 (log im))>
#<alt (* 2 (log im))>
#<alt (* -2 (log (/ 1 im)))>
#<alt (* -2 (log (/ 1 im)))>
#<alt (* -2 (log (/ 1 im)))>
#<alt (* -2 (log (/ 1 im)))>
#<alt (* -2 (log (/ -1 im)))>
#<alt (* -2 (log (/ -1 im)))>
#<alt (* -2 (log (/ -1 im)))>
#<alt (* -2 (log (/ -1 im)))>
#<alt (pow im 2)>
#<alt (pow im 2)>
#<alt (pow im 2)>
#<alt (pow im 2)>
#<alt (pow im 2)>
#<alt (pow im 2)>
#<alt (pow im 2)>
#<alt (pow im 2)>
#<alt (pow im 2)>
#<alt (pow im 2)>
#<alt (pow im 2)>
#<alt (pow im 2)>
#<alt (* 1/2 (/ (pow re 2) (pow im 2)))>
#<alt (* 1/2 (/ (pow re 2) (pow im 2)))>
#<alt (* 1/2 (/ (pow re 2) (pow im 2)))>
#<alt (* 1/2 (/ (pow re 2) (pow im 2)))>
#<alt (* 1/2 (/ (pow re 2) (pow im 2)))>
#<alt (* 1/2 (/ (pow re 2) (pow im 2)))>
#<alt (* 1/2 (/ (pow re 2) (pow im 2)))>
#<alt (* 1/2 (/ (pow re 2) (pow im 2)))>
#<alt (* 1/2 (/ (pow re 2) (pow im 2)))>
#<alt (* 1/2 (/ (pow re 2) (pow im 2)))>
#<alt (* 1/2 (/ (pow re 2) (pow im 2)))>
#<alt (* 1/2 (/ (pow re 2) (pow im 2)))>
#<alt (* 1/2 (/ (pow re 2) (pow im 2)))>
#<alt (* 1/2 (/ (pow re 2) (pow im 2)))>
#<alt (* 1/2 (/ (pow re 2) (pow im 2)))>
#<alt (* 1/2 (/ (pow re 2) (pow im 2)))>
#<alt (* 1/2 (/ (pow re 2) (pow im 2)))>
#<alt (* 1/2 (/ (pow re 2) (pow im 2)))>
#<alt (* 1/2 (/ (pow re 2) (pow im 2)))>
#<alt (* 1/2 (/ (pow re 2) (pow im 2)))>
#<alt (* 1/2 (/ (pow re 2) (pow im 2)))>
#<alt (* 1/2 (/ (pow re 2) (pow im 2)))>
#<alt (* 1/2 (/ (pow re 2) (pow im 2)))>
#<alt (* 1/2 (/ (pow re 2) (pow im 2)))>
#<alt (* 1/2 (pow re 2))>
#<alt (* 1/2 (pow re 2))>
#<alt (* 1/2 (pow re 2))>
#<alt (* 1/2 (pow re 2))>
#<alt (* 1/2 (pow re 2))>
#<alt (* 1/2 (pow re 2))>
#<alt (* 1/2 (pow re 2))>
#<alt (* 1/2 (pow re 2))>
#<alt (* 1/2 (pow re 2))>
#<alt (* 1/2 (pow re 2))>
#<alt (* 1/2 (pow re 2))>
#<alt (* 1/2 (pow re 2))>
#<alt (pow re 2)>
#<alt (pow re 2)>
#<alt (pow re 2)>
#<alt (pow re 2)>
#<alt (pow re 2)>
#<alt (pow re 2)>
#<alt (pow re 2)>
#<alt (pow re 2)>
#<alt (pow re 2)>
#<alt (pow re 2)>
#<alt (pow re 2)>
#<alt (pow re 2)>
Calls

42 calls:

TimeVariablePointExpression
8.0ms
im
@inf
(* (log (* im im)) 1/2)
7.0ms
im
@0
(* (log (* im im)) 1/2)
0.0ms
re
@-inf
(* 1/2 re)
0.0ms
re
@0
(* 1/2 re)
0.0ms
re
@inf
(* 1/2 re)

rewrite244.0ms (4.1%)

Algorithm
batch-egg-rewrite
Rules
2786×*-lowering-*.f32
2786×*-lowering-*.f64
1996×fnmadd-define
1814×sum5-define
1682×/-lowering-/.f32
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01459
16157
242247
3574547
0882747
Stop Event
iter limit
node limit
Counts
10 → 403
Calls
Call 1
Inputs
(log (+ im (* (* 1/2 re) (/ re im))))
(+ im (* (* 1/2 re) (/ re im)))
(* (* 1/2 re) (/ re im))
(* 1/2 re)
(* (log (* im im)) 1/2)
(log (* im im))
(* im im)
(/ (* 1/2 (* re re)) (* im im))
(* 1/2 (* re re))
(* re re)
Outputs
(log.f64 (+.f64 im (/.f64 #s(literal 1/2 binary64) (/.f64 im (*.f64 re re)))))
(+.f64 (log.f64 (+.f64 im (*.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 re re)) (/.f64 (*.f64 (*.f64 re re) #s(literal 1/4 binary64)) (/.f64 im (*.f64 re re)))))) (log.f64 (/.f64 #s(literal 1 binary64) (+.f64 im (*.f64 (/.f64 #s(literal 1/2 binary64) (/.f64 im (*.f64 re re))) (-.f64 (/.f64 #s(literal 1/2 binary64) (/.f64 im (*.f64 re re))) im))))))
(+.f64 (log.f64 (+.f64 im (*.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 re re)) (/.f64 (*.f64 (*.f64 re re) #s(literal 1/4 binary64)) (/.f64 im (*.f64 re re)))))) (neg.f64 (log.f64 (+.f64 im (*.f64 (/.f64 #s(literal 1/2 binary64) (/.f64 im (*.f64 re re))) (-.f64 (/.f64 #s(literal 1/2 binary64) (/.f64 im (*.f64 re re))) im))))))
(+.f64 (log.f64 (-.f64 im (/.f64 (*.f64 (*.f64 re re) #s(literal 1/4 binary64)) (/.f64 im (*.f64 re re))))) (log.f64 (/.f64 #s(literal 1 binary64) (+.f64 im (/.f64 #s(literal -1/2 binary64) (/.f64 im (*.f64 re re)))))))
(+.f64 (log.f64 (-.f64 im (/.f64 (*.f64 (*.f64 re re) #s(literal 1/4 binary64)) (/.f64 im (*.f64 re re))))) (neg.f64 (log.f64 (+.f64 im (/.f64 #s(literal -1/2 binary64) (/.f64 im (*.f64 re re)))))))
(-.f64 (log.f64 (+.f64 im (*.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 re re)) (/.f64 (*.f64 (*.f64 re re) #s(literal 1/4 binary64)) (/.f64 im (*.f64 re re)))))) (log.f64 (+.f64 im (*.f64 (/.f64 #s(literal 1/2 binary64) (/.f64 im (*.f64 re re))) (-.f64 (/.f64 #s(literal 1/2 binary64) (/.f64 im (*.f64 re re))) im)))))
(-.f64 (log.f64 (-.f64 im (/.f64 (*.f64 (*.f64 re re) #s(literal 1/4 binary64)) (/.f64 im (*.f64 re re))))) (log.f64 (+.f64 im (/.f64 #s(literal -1/2 binary64) (/.f64 im (*.f64 re re))))))
(-.f64 #s(literal 0 binary64) (log.f64 (/.f64 #s(literal 1 binary64) (+.f64 im (/.f64 #s(literal 1/2 binary64) (/.f64 im (*.f64 re re)))))))
(-.f64 (log.f64 (-.f64 #s(literal 0 binary64) (+.f64 im (*.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 re re)) (/.f64 (*.f64 (*.f64 re re) #s(literal 1/4 binary64)) (/.f64 im (*.f64 re re))))))) (log.f64 (-.f64 #s(literal 0 binary64) (+.f64 im (*.f64 (/.f64 #s(literal 1/2 binary64) (/.f64 im (*.f64 re re))) (-.f64 (/.f64 #s(literal 1/2 binary64) (/.f64 im (*.f64 re re))) im))))))
(-.f64 (log.f64 (+.f64 (-.f64 #s(literal 0 binary64) im) (/.f64 (*.f64 (*.f64 re re) #s(literal 1/4 binary64)) (/.f64 im (*.f64 re re))))) (log.f64 (+.f64 (-.f64 #s(literal 0 binary64) im) (/.f64 #s(literal 1/2 binary64) (/.f64 im (*.f64 re re))))))
(-.f64 (log.f64 (-.f64 (/.f64 (*.f64 (*.f64 re re) #s(literal 1/4 binary64)) (/.f64 im (*.f64 re re))) im)) (log.f64 (-.f64 (/.f64 #s(literal 1/2 binary64) (/.f64 im (*.f64 re re))) im)))
(neg.f64 (log.f64 (/.f64 #s(literal 1 binary64) (+.f64 im (/.f64 #s(literal 1/2 binary64) (/.f64 im (*.f64 re re)))))))
(/.f64 (-.f64 (pow.f64 (log.f64 (+.f64 im (*.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 re re)) (/.f64 (*.f64 (*.f64 re re) #s(literal 1/4 binary64)) (/.f64 im (*.f64 re re)))))) #s(literal 3 binary64)) (pow.f64 (log.f64 (+.f64 im (*.f64 (/.f64 #s(literal 1/2 binary64) (/.f64 im (*.f64 re re))) (-.f64 (/.f64 #s(literal 1/2 binary64) (/.f64 im (*.f64 re re))) im)))) #s(literal 3 binary64))) (+.f64 (*.f64 (log.f64 (+.f64 im (*.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 re re)) (/.f64 (*.f64 (*.f64 re re) #s(literal 1/4 binary64)) (/.f64 im (*.f64 re re)))))) (log.f64 (+.f64 im (*.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 re re)) (/.f64 (*.f64 (*.f64 re re) #s(literal 1/4 binary64)) (/.f64 im (*.f64 re re))))))) (+.f64 (*.f64 (log.f64 (+.f64 im (*.f64 (/.f64 #s(literal 1/2 binary64) (/.f64 im (*.f64 re re))) (-.f64 (/.f64 #s(literal 1/2 binary64) (/.f64 im (*.f64 re re))) im)))) (log.f64 (+.f64 im (*.f64 (/.f64 #s(literal 1/2 binary64) (/.f64 im (*.f64 re re))) (-.f64 (/.f64 #s(literal 1/2 binary64) (/.f64 im (*.f64 re re))) im))))) (*.f64 (log.f64 (+.f64 im (*.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 re re)) (/.f64 (*.f64 (*.f64 re re) #s(literal 1/4 binary64)) (/.f64 im (*.f64 re re)))))) (log.f64 (+.f64 im (*.f64 (/.f64 #s(literal 1/2 binary64) (/.f64 im (*.f64 re re))) (-.f64 (/.f64 #s(literal 1/2 binary64) (/.f64 im (*.f64 re re))) im))))))))
(/.f64 (-.f64 (pow.f64 (log.f64 (-.f64 im (/.f64 (*.f64 (*.f64 re re) #s(literal 1/4 binary64)) (/.f64 im (*.f64 re re))))) #s(literal 3 binary64)) (pow.f64 (log.f64 (+.f64 im (/.f64 #s(literal -1/2 binary64) (/.f64 im (*.f64 re re))))) #s(literal 3 binary64))) (+.f64 (*.f64 (log.f64 (-.f64 im (/.f64 (*.f64 (*.f64 re re) #s(literal 1/4 binary64)) (/.f64 im (*.f64 re re))))) (log.f64 (-.f64 im (/.f64 (*.f64 (*.f64 re re) #s(literal 1/4 binary64)) (/.f64 im (*.f64 re re)))))) (+.f64 (*.f64 (log.f64 (+.f64 im (/.f64 #s(literal -1/2 binary64) (/.f64 im (*.f64 re re))))) (log.f64 (+.f64 im (/.f64 #s(literal -1/2 binary64) (/.f64 im (*.f64 re re)))))) (*.f64 (log.f64 (-.f64 im (/.f64 (*.f64 (*.f64 re re) #s(literal 1/4 binary64)) (/.f64 im (*.f64 re re))))) (log.f64 (+.f64 im (/.f64 #s(literal -1/2 binary64) (/.f64 im (*.f64 re re)))))))))
(/.f64 (-.f64 (*.f64 (log.f64 (+.f64 im (*.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 re re)) (/.f64 (*.f64 (*.f64 re re) #s(literal 1/4 binary64)) (/.f64 im (*.f64 re re)))))) (log.f64 (+.f64 im (*.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 re re)) (/.f64 (*.f64 (*.f64 re re) #s(literal 1/4 binary64)) (/.f64 im (*.f64 re re))))))) (*.f64 (log.f64 (+.f64 im (*.f64 (/.f64 #s(literal 1/2 binary64) (/.f64 im (*.f64 re re))) (-.f64 (/.f64 #s(literal 1/2 binary64) (/.f64 im (*.f64 re re))) im)))) (log.f64 (+.f64 im (*.f64 (/.f64 #s(literal 1/2 binary64) (/.f64 im (*.f64 re re))) (-.f64 (/.f64 #s(literal 1/2 binary64) (/.f64 im (*.f64 re re))) im)))))) (+.f64 (log.f64 (+.f64 im (*.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 re re)) (/.f64 (*.f64 (*.f64 re re) #s(literal 1/4 binary64)) (/.f64 im (*.f64 re re)))))) (log.f64 (+.f64 im (*.f64 (/.f64 #s(literal 1/2 binary64) (/.f64 im (*.f64 re re))) (-.f64 (/.f64 #s(literal 1/2 binary64) (/.f64 im (*.f64 re re))) im))))))
(/.f64 (-.f64 (*.f64 (log.f64 (-.f64 im (/.f64 (*.f64 (*.f64 re re) #s(literal 1/4 binary64)) (/.f64 im (*.f64 re re))))) (log.f64 (-.f64 im (/.f64 (*.f64 (*.f64 re re) #s(literal 1/4 binary64)) (/.f64 im (*.f64 re re)))))) (*.f64 (log.f64 (+.f64 im (/.f64 #s(literal -1/2 binary64) (/.f64 im (*.f64 re re))))) (log.f64 (+.f64 im (/.f64 #s(literal -1/2 binary64) (/.f64 im (*.f64 re re))))))) (+.f64 (log.f64 (-.f64 im (/.f64 (*.f64 (*.f64 re re) #s(literal 1/4 binary64)) (/.f64 im (*.f64 re re))))) (log.f64 (+.f64 im (/.f64 #s(literal -1/2 binary64) (/.f64 im (*.f64 re re)))))))
(+.f64 im (/.f64 #s(literal 1/2 binary64) (/.f64 im (*.f64 re re))))
(+.f64 (/.f64 #s(literal 1/2 binary64) (/.f64 im (*.f64 re re))) im)
(+.f64 (/.f64 im (+.f64 im (/.f64 #s(literal -1/2 binary64) (/.f64 im (*.f64 re re))))) (neg.f64 (/.f64 (/.f64 (*.f64 (*.f64 re re) #s(literal 1/4 binary64)) (/.f64 im (*.f64 re re))) (+.f64 im (/.f64 #s(literal -1/2 binary64) (/.f64 im (*.f64 re re)))))))
(-.f64 (/.f64 #s(literal 1/2 binary64) (/.f64 im (*.f64 re re))) (-.f64 #s(literal 0 binary64) im))
(-.f64 (/.f64 im (+.f64 im (/.f64 #s(literal -1/2 binary64) (/.f64 im (*.f64 re re))))) (/.f64 (/.f64 (*.f64 (*.f64 re re) #s(literal 1/4 binary64)) (/.f64 im (*.f64 re re))) (+.f64 im (/.f64 #s(literal -1/2 binary64) (/.f64 im (*.f64 re re))))))
(-.f64 (/.f64 (/.f64 (*.f64 (*.f64 re re) #s(literal 1/4 binary64)) (/.f64 im (*.f64 re re))) (-.f64 (/.f64 #s(literal 1/2 binary64) (/.f64 im (*.f64 re re))) im)) (/.f64 im (-.f64 (/.f64 #s(literal 1/2 binary64) (/.f64 im (*.f64 re re))) im)))
(fma.f64 #s(literal 1/2 binary64) (/.f64 re (/.f64 im re)) im)
(fma.f64 re (/.f64 #s(literal 1/2 binary64) (/.f64 im re)) im)
(fma.f64 (*.f64 #s(literal 1/2 binary64) re) (/.f64 re im) im)
(fma.f64 (/.f64 re im) (*.f64 #s(literal 1/2 binary64) re) im)
(fma.f64 (*.f64 re re) (/.f64 #s(literal 1/2 binary64) im) im)
(fma.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 re re)) (/.f64 #s(literal 1 binary64) im) im)
(fma.f64 (/.f64 re (/.f64 im re)) #s(literal 1/2 binary64) im)
(fma.f64 (/.f64 #s(literal 1/2 binary64) (/.f64 im re)) re im)
(neg.f64 (/.f64 (+.f64 im (*.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 re re)) (/.f64 (*.f64 (*.f64 re re) #s(literal 1/4 binary64)) (/.f64 im (*.f64 re re))))) (-.f64 #s(literal 0 binary64) (+.f64 im (*.f64 (/.f64 #s(literal 1/2 binary64) (/.f64 im (*.f64 re re))) (-.f64 (/.f64 #s(literal 1/2 binary64) (/.f64 im (*.f64 re re))) im))))))
(neg.f64 (/.f64 (-.f64 im (/.f64 (*.f64 (*.f64 re re) #s(literal 1/4 binary64)) (/.f64 im (*.f64 re re)))) (+.f64 (-.f64 #s(literal 0 binary64) im) (/.f64 #s(literal 1/2 binary64) (/.f64 im (*.f64 re re))))))
(neg.f64 (/.f64 (-.f64 #s(literal 0 binary64) (+.f64 im (*.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 re re)) (/.f64 (*.f64 (*.f64 re re) #s(literal 1/4 binary64)) (/.f64 im (*.f64 re re)))))) (+.f64 im (*.f64 (/.f64 #s(literal 1/2 binary64) (/.f64 im (*.f64 re re))) (-.f64 (/.f64 #s(literal 1/2 binary64) (/.f64 im (*.f64 re re))) im)))))
(neg.f64 (/.f64 (+.f64 (-.f64 #s(literal 0 binary64) im) (/.f64 (*.f64 (*.f64 re re) #s(literal 1/4 binary64)) (/.f64 im (*.f64 re re)))) (+.f64 im (/.f64 #s(literal -1/2 binary64) (/.f64 im (*.f64 re re))))))
(/.f64 (+.f64 im (*.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 re re)) (/.f64 (*.f64 (*.f64 re re) #s(literal 1/4 binary64)) (/.f64 im (*.f64 re re))))) (+.f64 im (*.f64 (/.f64 #s(literal 1/2 binary64) (/.f64 im (*.f64 re re))) (-.f64 (/.f64 #s(literal 1/2 binary64) (/.f64 im (*.f64 re re))) im))))
(/.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) (+.f64 im (/.f64 #s(literal 1/2 binary64) (/.f64 im (*.f64 re re))))))
(/.f64 #s(literal 1 binary64) (/.f64 (/.f64 #s(literal 1 binary64) (+.f64 im (/.f64 #s(literal 1/2 binary64) (/.f64 im (*.f64 re re))))) #s(literal 1 binary64)))
(/.f64 #s(literal 1 binary64) (/.f64 (-.f64 (/.f64 #s(literal 1/2 binary64) (/.f64 im (*.f64 re re))) im) (-.f64 (/.f64 (*.f64 (*.f64 re re) #s(literal 1/4 binary64)) (/.f64 im (*.f64 re re))) im)))
(/.f64 (-.f64 im (/.f64 (*.f64 (*.f64 re re) #s(literal 1/4 binary64)) (/.f64 im (*.f64 re re)))) (+.f64 im (/.f64 #s(literal -1/2 binary64) (/.f64 im (*.f64 re re)))))
(/.f64 #s(literal -1 binary64) (neg.f64 (/.f64 #s(literal 1 binary64) (+.f64 im (/.f64 #s(literal 1/2 binary64) (/.f64 im (*.f64 re re)))))))
(/.f64 (-.f64 #s(literal 0 binary64) (+.f64 im (*.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 re re)) (/.f64 (*.f64 (*.f64 re re) #s(literal 1/4 binary64)) (/.f64 im (*.f64 re re)))))) (-.f64 #s(literal 0 binary64) (+.f64 im (*.f64 (/.f64 #s(literal 1/2 binary64) (/.f64 im (*.f64 re re))) (-.f64 (/.f64 #s(literal 1/2 binary64) (/.f64 im (*.f64 re re))) im)))))
(/.f64 (+.f64 (-.f64 #s(literal 0 binary64) im) (/.f64 (*.f64 (*.f64 re re) #s(literal 1/4 binary64)) (/.f64 im (*.f64 re re)))) (+.f64 (-.f64 #s(literal 0 binary64) im) (/.f64 #s(literal 1/2 binary64) (/.f64 im (*.f64 re re)))))
(/.f64 (+.f64 im (*.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 re re)) (/.f64 (*.f64 (*.f64 re re) #s(literal 1/4 binary64)) (/.f64 im (*.f64 re re)))) (/.f64 (*.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 re re)) (*.f64 (*.f64 re re) (*.f64 (*.f64 re re) #s(literal 1/4 binary64)))) (*.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 re re)) (*.f64 (*.f64 re re) (*.f64 (*.f64 re re) #s(literal 1/4 binary64))))) im))) (*.f64 (+.f64 im (*.f64 (/.f64 #s(literal 1/2 binary64) (/.f64 im (*.f64 re re))) (-.f64 (/.f64 #s(literal 1/2 binary64) (/.f64 im (*.f64 re re))) im))) (+.f64 im (*.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 re re)) (/.f64 (*.f64 (*.f64 re re) #s(literal 1/4 binary64)) (/.f64 im (*.f64 re re)))) (-.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 re re)) (/.f64 (*.f64 (*.f64 re re) #s(literal 1/4 binary64)) (/.f64 im (*.f64 re re)))) im)))))
(/.f64 (-.f64 im (/.f64 (*.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 re re)) (*.f64 (*.f64 re re) (*.f64 (*.f64 re re) #s(literal 1/4 binary64)))) (*.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 re re)) (*.f64 (*.f64 re re) (*.f64 (*.f64 re re) #s(literal 1/4 binary64))))) im)) (*.f64 (+.f64 im (*.f64 (/.f64 #s(literal 1/2 binary64) (/.f64 im (*.f64 re re))) (-.f64 (/.f64 #s(literal 1/2 binary64) (/.f64 im (*.f64 re re))) im))) (-.f64 im (*.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 re re)) (/.f64 (*.f64 (*.f64 re re) #s(literal 1/4 binary64)) (/.f64 im (*.f64 re re)))))))
(/.f64 (-.f64 im (/.f64 (*.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 re re)) (*.f64 (*.f64 re re) (*.f64 (*.f64 re re) #s(literal 1/4 binary64)))) (*.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 re re)) (*.f64 (*.f64 re re) (*.f64 (*.f64 re re) #s(literal 1/4 binary64))))) im)) (*.f64 (+.f64 im (/.f64 #s(literal -1/2 binary64) (/.f64 im (*.f64 re re)))) (+.f64 im (*.f64 (/.f64 (*.f64 (*.f64 re re) #s(literal 1/4 binary64)) (/.f64 im (*.f64 re re))) (+.f64 im (/.f64 (*.f64 (*.f64 re re) #s(literal 1/4 binary64)) (/.f64 im (*.f64 re re))))))))
(/.f64 (-.f64 im (*.f64 (/.f64 (*.f64 re re) (/.f64 im (*.f64 re re))) (*.f64 (*.f64 (*.f64 re re) #s(literal 1/4 binary64)) (*.f64 (*.f64 re re) #s(literal 1/4 binary64))))) (*.f64 (+.f64 im (/.f64 #s(literal -1/2 binary64) (/.f64 im (*.f64 re re)))) (+.f64 im (/.f64 (*.f64 (*.f64 re re) #s(literal 1/4 binary64)) (/.f64 im (*.f64 re re))))))
(/.f64 (-.f64 (/.f64 (*.f64 (*.f64 re re) #s(literal 1/4 binary64)) (/.f64 im (*.f64 re re))) im) (-.f64 (/.f64 #s(literal 1/2 binary64) (/.f64 im (*.f64 re re))) im))
(/.f64 (-.f64 (-.f64 im (/.f64 im (/.f64 im (*.f64 #s(literal 1/2 binary64) (*.f64 re re))))) (*.f64 (+.f64 im (/.f64 #s(literal -1/2 binary64) (/.f64 im (*.f64 re re)))) (/.f64 (*.f64 (*.f64 re re) #s(literal 1/4 binary64)) (/.f64 im (*.f64 re re))))) (*.f64 (+.f64 im (/.f64 #s(literal -1/2 binary64) (/.f64 im (*.f64 re re)))) (+.f64 im (/.f64 #s(literal -1/2 binary64) (/.f64 im (*.f64 re re))))))
(/.f64 (*.f64 (+.f64 im (*.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 re re)) (/.f64 (*.f64 (*.f64 re re) #s(literal 1/4 binary64)) (/.f64 im (*.f64 re re)))) (/.f64 (*.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 re re)) (*.f64 (*.f64 re re) (*.f64 (*.f64 re re) #s(literal 1/4 binary64)))) (*.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 re re)) (*.f64 (*.f64 re re) (*.f64 (*.f64 re re) #s(literal 1/4 binary64))))) im))) #s(literal 1 binary64)) (*.f64 (+.f64 im (*.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 re re)) (/.f64 (*.f64 (*.f64 re re) #s(literal 1/4 binary64)) (/.f64 im (*.f64 re re)))) (-.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 re re)) (/.f64 (*.f64 (*.f64 re re) #s(literal 1/4 binary64)) (/.f64 im (*.f64 re re)))) im))) (+.f64 im (*.f64 (/.f64 #s(literal 1/2 binary64) (/.f64 im (*.f64 re re))) (-.f64 (/.f64 #s(literal 1/2 binary64) (/.f64 im (*.f64 re re))) im)))))
(/.f64 (*.f64 (-.f64 im (/.f64 (*.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 re re)) (*.f64 (*.f64 re re) (*.f64 (*.f64 re re) #s(literal 1/4 binary64)))) (*.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 re re)) (*.f64 (*.f64 re re) (*.f64 (*.f64 re re) #s(literal 1/4 binary64))))) im)) #s(literal 1 binary64)) (*.f64 (-.f64 im (*.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 re re)) (/.f64 (*.f64 (*.f64 re re) #s(literal 1/4 binary64)) (/.f64 im (*.f64 re re))))) (+.f64 im (*.f64 (/.f64 #s(literal 1/2 binary64) (/.f64 im (*.f64 re re))) (-.f64 (/.f64 #s(literal 1/2 binary64) (/.f64 im (*.f64 re re))) im)))))
(/.f64 (*.f64 (-.f64 im (/.f64 (*.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 re re)) (*.f64 (*.f64 re re) (*.f64 (*.f64 re re) #s(literal 1/4 binary64)))) (*.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 re re)) (*.f64 (*.f64 re re) (*.f64 (*.f64 re re) #s(literal 1/4 binary64))))) im)) #s(literal 1 binary64)) (*.f64 (+.f64 im (*.f64 (/.f64 (*.f64 (*.f64 re re) #s(literal 1/4 binary64)) (/.f64 im (*.f64 re re))) (+.f64 im (/.f64 (*.f64 (*.f64 re re) #s(literal 1/4 binary64)) (/.f64 im (*.f64 re re)))))) (+.f64 im (/.f64 #s(literal -1/2 binary64) (/.f64 im (*.f64 re re))))))
(/.f64 (*.f64 (-.f64 im (*.f64 (/.f64 (*.f64 re re) (/.f64 im (*.f64 re re))) (*.f64 (*.f64 (*.f64 re re) #s(literal 1/4 binary64)) (*.f64 (*.f64 re re) #s(literal 1/4 binary64))))) #s(literal 1 binary64)) (*.f64 (+.f64 im (/.f64 (*.f64 (*.f64 re re) #s(literal 1/4 binary64)) (/.f64 im (*.f64 re re)))) (+.f64 im (/.f64 #s(literal -1/2 binary64) (/.f64 im (*.f64 re re))))))
(/.f64 (neg.f64 (-.f64 #s(literal 0 binary64) (+.f64 im (*.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 re re)) (/.f64 (*.f64 (*.f64 re re) #s(literal 1/4 binary64)) (/.f64 im (*.f64 re re))))))) (neg.f64 (-.f64 #s(literal 0 binary64) (+.f64 im (*.f64 (/.f64 #s(literal 1/2 binary64) (/.f64 im (*.f64 re re))) (-.f64 (/.f64 #s(literal 1/2 binary64) (/.f64 im (*.f64 re re))) im))))))
(/.f64 (neg.f64 (+.f64 (-.f64 #s(literal 0 binary64) im) (/.f64 (*.f64 (*.f64 re re) #s(literal 1/4 binary64)) (/.f64 im (*.f64 re re))))) (neg.f64 (+.f64 (-.f64 #s(literal 0 binary64) im) (/.f64 #s(literal 1/2 binary64) (/.f64 im (*.f64 re re))))))
(/.f64 (neg.f64 (-.f64 (/.f64 (*.f64 (*.f64 re re) #s(literal 1/4 binary64)) (/.f64 im (*.f64 re re))) im)) (neg.f64 (-.f64 (/.f64 #s(literal 1/2 binary64) (/.f64 im (*.f64 re re))) im)))
(/.f64 (-.f64 (pow.f64 (/.f64 im (+.f64 im (/.f64 #s(literal -1/2 binary64) (/.f64 im (*.f64 re re))))) #s(literal 3 binary64)) (pow.f64 (/.f64 (/.f64 (*.f64 (*.f64 re re) #s(literal 1/4 binary64)) (/.f64 im (*.f64 re re))) (+.f64 im (/.f64 #s(literal -1/2 binary64) (/.f64 im (*.f64 re re))))) #s(literal 3 binary64))) (+.f64 (*.f64 (/.f64 im (+.f64 im (/.f64 #s(literal -1/2 binary64) (/.f64 im (*.f64 re re))))) (/.f64 im (+.f64 im (/.f64 #s(literal -1/2 binary64) (/.f64 im (*.f64 re re)))))) (+.f64 (*.f64 (/.f64 (/.f64 (*.f64 (*.f64 re re) #s(literal 1/4 binary64)) (/.f64 im (*.f64 re re))) (+.f64 im (/.f64 #s(literal -1/2 binary64) (/.f64 im (*.f64 re re))))) (/.f64 (/.f64 (*.f64 (*.f64 re re) #s(literal 1/4 binary64)) (/.f64 im (*.f64 re re))) (+.f64 im (/.f64 #s(literal -1/2 binary64) (/.f64 im (*.f64 re re)))))) (*.f64 (/.f64 im (+.f64 im (/.f64 #s(literal -1/2 binary64) (/.f64 im (*.f64 re re))))) (/.f64 (/.f64 (*.f64 (*.f64 re re) #s(literal 1/4 binary64)) (/.f64 im (*.f64 re re))) (+.f64 im (/.f64 #s(literal -1/2 binary64) (/.f64 im (*.f64 re re)))))))))
(/.f64 (-.f64 (*.f64 (/.f64 im (+.f64 im (/.f64 #s(literal -1/2 binary64) (/.f64 im (*.f64 re re))))) (/.f64 im (+.f64 im (/.f64 #s(literal -1/2 binary64) (/.f64 im (*.f64 re re)))))) (*.f64 (/.f64 (/.f64 (*.f64 (*.f64 re re) #s(literal 1/4 binary64)) (/.f64 im (*.f64 re re))) (+.f64 im (/.f64 #s(literal -1/2 binary64) (/.f64 im (*.f64 re re))))) (/.f64 (/.f64 (*.f64 (*.f64 re re) #s(literal 1/4 binary64)) (/.f64 im (*.f64 re re))) (+.f64 im (/.f64 #s(literal -1/2 binary64) (/.f64 im (*.f64 re re))))))) (+.f64 (/.f64 im (+.f64 im (/.f64 #s(literal -1/2 binary64) (/.f64 im (*.f64 re re))))) (/.f64 (/.f64 (*.f64 (*.f64 re re) #s(literal 1/4 binary64)) (/.f64 im (*.f64 re re))) (+.f64 im (/.f64 #s(literal -1/2 binary64) (/.f64 im (*.f64 re re)))))))
(/.f64 (*.f64 (+.f64 im (*.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 re re)) (/.f64 (*.f64 (*.f64 re re) #s(literal 1/4 binary64)) (/.f64 im (*.f64 re re))))) #s(literal 1 binary64)) (+.f64 im (*.f64 (/.f64 #s(literal 1/2 binary64) (/.f64 im (*.f64 re re))) (-.f64 (/.f64 #s(literal 1/2 binary64) (/.f64 im (*.f64 re re))) im))))
(/.f64 (*.f64 (-.f64 im (/.f64 (*.f64 (*.f64 re re) #s(literal 1/4 binary64)) (/.f64 im (*.f64 re re)))) #s(literal 1 binary64)) (+.f64 im (/.f64 #s(literal -1/2 binary64) (/.f64 im (*.f64 re re)))))
(/.f64 (*.f64 (+.f64 im (*.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 re re)) (/.f64 (*.f64 (*.f64 re re) #s(literal 1/4 binary64)) (/.f64 im (*.f64 re re)))) (/.f64 (*.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 re re)) (*.f64 (*.f64 re re) (*.f64 (*.f64 re re) #s(literal 1/4 binary64)))) (*.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 re re)) (*.f64 (*.f64 re re) (*.f64 (*.f64 re re) #s(literal 1/4 binary64))))) im))) (/.f64 #s(literal 1 binary64) (+.f64 im (*.f64 (/.f64 #s(literal 1/2 binary64) (/.f64 im (*.f64 re re))) (-.f64 (/.f64 #s(literal 1/2 binary64) (/.f64 im (*.f64 re re))) im))))) (+.f64 im (*.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 re re)) (/.f64 (*.f64 (*.f64 re re) #s(literal 1/4 binary64)) (/.f64 im (*.f64 re re)))) (-.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 re re)) (/.f64 (*.f64 (*.f64 re re) #s(literal 1/4 binary64)) (/.f64 im (*.f64 re re)))) im))))
(/.f64 (*.f64 (-.f64 im (/.f64 (*.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 re re)) (*.f64 (*.f64 re re) (*.f64 (*.f64 re re) #s(literal 1/4 binary64)))) (*.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 re re)) (*.f64 (*.f64 re re) (*.f64 (*.f64 re re) #s(literal 1/4 binary64))))) im)) (/.f64 #s(literal 1 binary64) (+.f64 im (*.f64 (/.f64 #s(literal 1/2 binary64) (/.f64 im (*.f64 re re))) (-.f64 (/.f64 #s(literal 1/2 binary64) (/.f64 im (*.f64 re re))) im))))) (-.f64 im (*.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 re re)) (/.f64 (*.f64 (*.f64 re re) #s(literal 1/4 binary64)) (/.f64 im (*.f64 re re))))))
(/.f64 (*.f64 (-.f64 im (/.f64 (*.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 re re)) (*.f64 (*.f64 re re) (*.f64 (*.f64 re re) #s(literal 1/4 binary64)))) (*.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 re re)) (*.f64 (*.f64 re re) (*.f64 (*.f64 re re) #s(literal 1/4 binary64))))) im)) (/.f64 #s(literal 1 binary64) (+.f64 im (/.f64 #s(literal -1/2 binary64) (/.f64 im (*.f64 re re)))))) (+.f64 im (*.f64 (/.f64 (*.f64 (*.f64 re re) #s(literal 1/4 binary64)) (/.f64 im (*.f64 re re))) (+.f64 im (/.f64 (*.f64 (*.f64 re re) #s(literal 1/4 binary64)) (/.f64 im (*.f64 re re)))))))
(/.f64 (*.f64 (-.f64 im (*.f64 (/.f64 (*.f64 re re) (/.f64 im (*.f64 re re))) (*.f64 (*.f64 (*.f64 re re) #s(literal 1/4 binary64)) (*.f64 (*.f64 re re) #s(literal 1/4 binary64))))) (/.f64 #s(literal 1 binary64) (+.f64 im (/.f64 #s(literal -1/2 binary64) (/.f64 im (*.f64 re re)))))) (+.f64 im (/.f64 (*.f64 (*.f64 re re) #s(literal 1/4 binary64)) (/.f64 im (*.f64 re re)))))
(pow.f64 (/.f64 #s(literal 1 binary64) (+.f64 im (/.f64 #s(literal 1/2 binary64) (/.f64 im (*.f64 re re))))) #s(literal -1 binary64))
(*.f64 (+.f64 im (/.f64 #s(literal 1/2 binary64) (/.f64 im (*.f64 re re)))) (*.f64 (+.f64 im (/.f64 #s(literal -1/2 binary64) (/.f64 im (*.f64 re re)))) (/.f64 #s(literal 1 binary64) (+.f64 im (/.f64 #s(literal -1/2 binary64) (/.f64 im (*.f64 re re)))))))
(*.f64 (+.f64 im (/.f64 #s(literal 1/2 binary64) (/.f64 im (*.f64 re re)))) (/.f64 (+.f64 im (/.f64 #s(literal -1/2 binary64) (/.f64 im (*.f64 re re)))) (+.f64 im (/.f64 #s(literal -1/2 binary64) (/.f64 im (*.f64 re re))))))
(*.f64 (+.f64 im (*.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 re re)) (/.f64 (*.f64 (*.f64 re re) #s(literal 1/4 binary64)) (/.f64 im (*.f64 re re))))) (/.f64 #s(literal 1 binary64) (+.f64 im (*.f64 (/.f64 #s(literal 1/2 binary64) (/.f64 im (*.f64 re re))) (-.f64 (/.f64 #s(literal 1/2 binary64) (/.f64 im (*.f64 re re))) im)))))
(*.f64 (+.f64 im (*.f64 (/.f64 #s(literal 1/2 binary64) (/.f64 im (*.f64 re re))) (-.f64 (/.f64 #s(literal 1/2 binary64) (/.f64 im (*.f64 re re))) im))) (*.f64 (+.f64 im (/.f64 #s(literal 1/2 binary64) (/.f64 im (*.f64 re re)))) (/.f64 #s(literal 1 binary64) (+.f64 im (*.f64 (/.f64 #s(literal 1/2 binary64) (/.f64 im (*.f64 re re))) (-.f64 (/.f64 #s(literal 1/2 binary64) (/.f64 im (*.f64 re re))) im))))))
(*.f64 (+.f64 im (*.f64 (/.f64 #s(literal 1/2 binary64) (/.f64 im (*.f64 re re))) (-.f64 (/.f64 #s(literal 1/2 binary64) (/.f64 im (*.f64 re re))) im))) (/.f64 (+.f64 im (/.f64 #s(literal 1/2 binary64) (/.f64 im (*.f64 re re)))) (+.f64 im (*.f64 (/.f64 #s(literal 1/2 binary64) (/.f64 im (*.f64 re re))) (-.f64 (/.f64 #s(literal 1/2 binary64) (/.f64 im (*.f64 re re))) im)))))
(*.f64 #s(literal 1 binary64) (+.f64 im (/.f64 #s(literal 1/2 binary64) (/.f64 im (*.f64 re re)))))
(*.f64 (-.f64 im (/.f64 (*.f64 (*.f64 re re) #s(literal 1/4 binary64)) (/.f64 im (*.f64 re re)))) (/.f64 #s(literal 1 binary64) (+.f64 im (/.f64 #s(literal -1/2 binary64) (/.f64 im (*.f64 re re))))))
(*.f64 (-.f64 #s(literal 0 binary64) (+.f64 im (*.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 re re)) (/.f64 (*.f64 (*.f64 re re) #s(literal 1/4 binary64)) (/.f64 im (*.f64 re re)))))) (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 0 binary64) (+.f64 im (*.f64 (/.f64 #s(literal 1/2 binary64) (/.f64 im (*.f64 re re))) (-.f64 (/.f64 #s(literal 1/2 binary64) (/.f64 im (*.f64 re re))) im))))))
(*.f64 (+.f64 (-.f64 #s(literal 0 binary64) im) (/.f64 (*.f64 (*.f64 re re) #s(literal 1/4 binary64)) (/.f64 im (*.f64 re re)))) (/.f64 #s(literal 1 binary64) (+.f64 (-.f64 #s(literal 0 binary64) im) (/.f64 #s(literal 1/2 binary64) (/.f64 im (*.f64 re re))))))
(*.f64 (/.f64 #s(literal 1 binary64) (+.f64 im (*.f64 (/.f64 #s(literal 1/2 binary64) (/.f64 im (*.f64 re re))) (-.f64 (/.f64 #s(literal 1/2 binary64) (/.f64 im (*.f64 re re))) im)))) (+.f64 im (*.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 re re)) (/.f64 (*.f64 (*.f64 re re) #s(literal 1/4 binary64)) (/.f64 im (*.f64 re re))))))
(*.f64 (/.f64 #s(literal 1 binary64) (+.f64 im (/.f64 #s(literal -1/2 binary64) (/.f64 im (*.f64 re re))))) (-.f64 im (/.f64 (*.f64 (*.f64 re re) #s(literal 1/4 binary64)) (/.f64 im (*.f64 re re)))))
(*.f64 (-.f64 (/.f64 (*.f64 (*.f64 re re) #s(literal 1/4 binary64)) (/.f64 im (*.f64 re re))) im) (/.f64 #s(literal 1 binary64) (-.f64 (/.f64 #s(literal 1/2 binary64) (/.f64 im (*.f64 re re))) im)))
(*.f64 (/.f64 (-.f64 im (/.f64 (*.f64 (*.f64 re re) #s(literal 1/4 binary64)) (/.f64 im (*.f64 re re)))) (-.f64 im (/.f64 (*.f64 (*.f64 re re) #s(literal 1/4 binary64)) (/.f64 im (*.f64 re re))))) (+.f64 im (/.f64 #s(literal 1/2 binary64) (/.f64 im (*.f64 re re)))))
(*.f64 (/.f64 (+.f64 im (*.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 re re)) (/.f64 (*.f64 (*.f64 re re) #s(literal 1/4 binary64)) (/.f64 im (*.f64 re re))))) (+.f64 im (*.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) (/.f64 im (*.f64 re re))) (-.f64 (/.f64 #s(literal 1/2 binary64) (/.f64 im (*.f64 re re))) im)) (*.f64 (/.f64 (*.f64 (*.f64 re re) #s(literal 1/4 binary64)) (/.f64 im (*.f64 re re))) (*.f64 (-.f64 (/.f64 #s(literal 1/2 binary64) (/.f64 im (*.f64 re re))) im) (-.f64 (/.f64 #s(literal 1/2 binary64) (/.f64 im (*.f64 re re))) im)))))) (+.f64 im (*.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) (/.f64 im (*.f64 re re))) (-.f64 (/.f64 #s(literal 1/2 binary64) (/.f64 im (*.f64 re re))) im)) (-.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) (/.f64 im (*.f64 re re))) (-.f64 (/.f64 #s(literal 1/2 binary64) (/.f64 im (*.f64 re re))) im)) im))))
(*.f64 (/.f64 (+.f64 im (*.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 re re)) (/.f64 (*.f64 (*.f64 re re) #s(literal 1/4 binary64)) (/.f64 im (*.f64 re re))))) (-.f64 im (*.f64 (/.f64 (*.f64 (*.f64 re re) #s(literal 1/4 binary64)) (/.f64 im (*.f64 re re))) (*.f64 (-.f64 (/.f64 #s(literal 1/2 binary64) (/.f64 im (*.f64 re re))) im) (-.f64 (/.f64 #s(literal 1/2 binary64) (/.f64 im (*.f64 re re))) im))))) (+.f64 im (*.f64 (/.f64 #s(literal -1/2 binary64) (/.f64 im (*.f64 re re))) (-.f64 (/.f64 #s(literal 1/2 binary64) (/.f64 im (*.f64 re re))) im))))
(*.f64 (/.f64 (-.f64 im (/.f64 (*.f64 (*.f64 re re) #s(literal 1/4 binary64)) (/.f64 im (*.f64 re re)))) (-.f64 im (*.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 re re)) (/.f64 (*.f64 (*.f64 re re) #s(literal 1/4 binary64)) (/.f64 im (*.f64 re re)))))) (+.f64 im (*.f64 (/.f64 #s(literal 1/2 binary64) (/.f64 im (*.f64 re re))) (+.f64 im (/.f64 #s(literal 1/2 binary64) (/.f64 im (*.f64 re re)))))))
(exp.f64 (*.f64 (log.f64 (/.f64 im (*.f64 #s(literal 1/2 binary64) (*.f64 re re)))) #s(literal -1 binary64)))
(-.f64 #s(literal 0 binary64) (/.f64 #s(literal -1/2 binary64) (/.f64 im (*.f64 re re))))
(-.f64 (/.f64 #s(literal 0 binary64) (-.f64 #s(literal 0 binary64) im)) (/.f64 #s(literal -1/2 binary64) (/.f64 im (*.f64 re re))))
(neg.f64 (/.f64 #s(literal -1/2 binary64) (/.f64 im (*.f64 re re))))
(neg.f64 (*.f64 #s(literal 1 binary64) (/.f64 #s(literal -1/2 binary64) (/.f64 im (*.f64 re re)))))
(/.f64 #s(literal 1/2 binary64) (/.f64 im (*.f64 re re)))
(/.f64 #s(literal 1/2 binary64) (*.f64 (/.f64 im (*.f64 re re)) im))
(/.f64 re (/.f64 im (*.f64 #s(literal 1/2 binary64) re)))
(/.f64 (*.f64 #s(literal 1/2 binary64) re) (/.f64 im re))
(/.f64 (*.f64 #s(literal 1/2 binary64) re) (*.f64 im (/.f64 im re)))
(/.f64 (*.f64 #s(literal 1/2 binary64) re) (*.f64 (/.f64 im re) im))
(/.f64 (/.f64 #s(literal 1/2 binary64) (/.f64 im (*.f64 re re))) im)
(/.f64 (*.f64 re re) (/.f64 im #s(literal 1/2 binary64)))
(/.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 re re)) im)
(/.f64 (*.f64 re (*.f64 re #s(literal -1/2 binary64))) (-.f64 #s(literal 0 binary64) im))
(/.f64 (/.f64 #s(literal 1/2 binary64) im) (/.f64 im (*.f64 re re)))
(/.f64 #s(literal 1 binary64) (/.f64 im (*.f64 #s(literal 1/2 binary64) (*.f64 re re))))
(/.f64 (/.f64 #s(literal 1 binary64) im) (/.f64 im (*.f64 #s(literal 1/2 binary64) (*.f64 re re))))
(/.f64 (/.f64 #s(literal 1 binary64) im) (/.f64 #s(literal 2 binary64) (*.f64 re re)))
(/.f64 (/.f64 re (/.f64 im re)) (/.f64 im #s(literal 1/2 binary64)))
(/.f64 (/.f64 #s(literal -1/2 binary64) (/.f64 im (*.f64 re re))) (-.f64 #s(literal 0 binary64) im))
(/.f64 #s(literal -1 binary64) (*.f64 (/.f64 im (*.f64 #s(literal 1/2 binary64) (*.f64 re re))) (-.f64 #s(literal 0 binary64) im)))
(/.f64 #s(literal -1 binary64) (/.f64 (/.f64 im (*.f64 re re)) #s(literal -1/2 binary64)))
(/.f64 #s(literal -1/2 binary64) (*.f64 (-.f64 #s(literal 0 binary64) im) (/.f64 im (*.f64 re re))))
(/.f64 #s(literal -1/2 binary64) (*.f64 (/.f64 im (*.f64 re re)) (-.f64 #s(literal 0 binary64) im)))
(/.f64 (*.f64 re #s(literal -1/2 binary64)) (-.f64 #s(literal 0 binary64) (/.f64 im re)))
(/.f64 (*.f64 re #s(literal -1/2 binary64)) (*.f64 (-.f64 #s(literal 0 binary64) im) (/.f64 im re)))
(/.f64 (*.f64 re #s(literal -1/2 binary64)) (*.f64 (/.f64 im re) (-.f64 #s(literal 0 binary64) im)))
(/.f64 (*.f64 re #s(literal -1/2 binary64)) (*.f64 (-.f64 #s(literal 0 binary64) (/.f64 im re)) im))
(/.f64 (/.f64 #s(literal 1/2 binary64) (/.f64 im re)) (/.f64 im re))
(/.f64 (/.f64 #s(literal 1/2 binary64) (/.f64 im re)) (/.f64 #s(literal 1 binary64) re))
(/.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) re) #s(literal -1 binary64)) (-.f64 #s(literal 0 binary64) (/.f64 im re)))
(/.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) re) #s(literal -1 binary64)) (*.f64 im (-.f64 #s(literal 0 binary64) (/.f64 im re))))
(/.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) re) #s(literal -1 binary64)) (*.f64 (/.f64 im re) (-.f64 #s(literal 0 binary64) im)))
(/.f64 (*.f64 (*.f64 re (*.f64 re #s(literal -1/2 binary64))) #s(literal 1 binary64)) (-.f64 #s(literal 0 binary64) im))
(/.f64 (*.f64 (*.f64 re (*.f64 re #s(literal -1/2 binary64))) #s(literal -1 binary64)) im)
(/.f64 (*.f64 #s(literal 1 binary64) (*.f64 re re)) (/.f64 im #s(literal 1/2 binary64)))
(/.f64 (*.f64 #s(literal 1 binary64) (*.f64 re re)) (*.f64 (/.f64 im #s(literal 1/2 binary64)) im))
(/.f64 (*.f64 #s(literal 1 binary64) (-.f64 #s(literal 0 binary64) (*.f64 re re))) (*.f64 (/.f64 im #s(literal 1/2 binary64)) (-.f64 #s(literal 0 binary64) im)))
(/.f64 (*.f64 (*.f64 re re) #s(literal 1 binary64)) (/.f64 im #s(literal 1/2 binary64)))
(/.f64 (*.f64 (-.f64 #s(literal 0 binary64) (*.f64 re re)) #s(literal 1 binary64)) (*.f64 (-.f64 #s(literal 0 binary64) im) (/.f64 im #s(literal 1/2 binary64))))
(/.f64 (*.f64 #s(literal 1 binary64) (*.f64 re (*.f64 re #s(literal -1/2 binary64)))) (-.f64 #s(literal 0 binary64) im))
(/.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) (/.f64 im (*.f64 re re))) #s(literal -1 binary64)) (-.f64 #s(literal 0 binary64) im))
(/.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) im) #s(literal 1 binary64)) (/.f64 im (*.f64 re re)))
(/.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) im) (-.f64 #s(literal 0 binary64) (*.f64 re re))) (-.f64 #s(literal 0 binary64) im))
(/.f64 (*.f64 #s(literal 1 binary64) (/.f64 #s(literal -1/2 binary64) (/.f64 im (*.f64 re re)))) (-.f64 #s(literal 0 binary64) im))
(/.f64 (*.f64 (/.f64 re (/.f64 im re)) #s(literal 1 binary64)) (/.f64 im #s(literal 1/2 binary64)))
(/.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) (/.f64 im re)) #s(literal 1 binary64)) (/.f64 im re))
(/.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) (/.f64 im re)) #s(literal -1 binary64)) (-.f64 #s(literal 0 binary64) (/.f64 im re)))
(/.f64 (*.f64 #s(literal -1 binary64) (/.f64 #s(literal 1/2 binary64) (/.f64 im re))) (-.f64 #s(literal 0 binary64) (/.f64 im re)))
(/.f64 (/.f64 (*.f64 re (*.f64 re #s(literal -1/2 binary64))) #s(literal -1 binary64)) im)
(/.f64 (/.f64 (/.f64 #s(literal -1/2 binary64) (/.f64 im (*.f64 re re))) #s(literal -1 binary64)) im)
(pow.f64 (/.f64 im (*.f64 #s(literal 1/2 binary64) (*.f64 re re))) #s(literal -1 binary64))
(*.f64 #s(literal 1/2 binary64) (/.f64 re (/.f64 im re)))
(*.f64 re (/.f64 #s(literal 1/2 binary64) (/.f64 im re)))
(*.f64 re (*.f64 (/.f64 #s(literal 1 binary64) im) (/.f64 #s(literal 1/2 binary64) (/.f64 im re))))
(*.f64 re (*.f64 (/.f64 #s(literal 1/2 binary64) (/.f64 im re)) (/.f64 #s(literal 1 binary64) im)))
(*.f64 re (*.f64 (/.f64 re im) (/.f64 #s(literal 1/2 binary64) im)))
(*.f64 re (/.f64 (/.f64 #s(literal 1/2 binary64) (/.f64 im re)) im))
(*.f64 (*.f64 #s(literal 1/2 binary64) re) (/.f64 re im))
(*.f64 (/.f64 re im) (*.f64 #s(literal 1/2 binary64) re))
(*.f64 (/.f64 re im) (/.f64 #s(literal 1/2 binary64) (/.f64 im re)))
(*.f64 (/.f64 re im) (/.f64 #s(literal 1/2 binary64) (/.f64 #s(literal 1 binary64) re)))
(*.f64 (/.f64 #s(literal 1/2 binary64) (/.f64 im (*.f64 re re))) #s(literal 1 binary64))
(*.f64 (/.f64 #s(literal 1/2 binary64) (/.f64 im (*.f64 re re))) (/.f64 #s(literal 1 binary64) im))
(*.f64 (*.f64 re re) (/.f64 #s(literal 1/2 binary64) im))
(*.f64 (*.f64 re re) (*.f64 (/.f64 #s(literal 1/2 binary64) im) (/.f64 #s(literal 1 binary64) im)))
(*.f64 (*.f64 re re) (*.f64 (/.f64 #s(literal 1 binary64) im) (/.f64 #s(literal 1/2 binary64) im)))
(*.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 re re)) (/.f64 #s(literal 1 binary64) im))
(*.f64 (-.f64 #s(literal 0 binary64) re) (/.f64 (*.f64 #s(literal 1/2 binary64) re) (-.f64 #s(literal 0 binary64) im)))
(*.f64 (-.f64 #s(literal 0 binary64) re) (*.f64 (/.f64 #s(literal -1 binary64) im) (/.f64 #s(literal 1/2 binary64) (/.f64 im re))))
(*.f64 (-.f64 #s(literal 0 binary64) re) (*.f64 (/.f64 #s(literal -1 binary64) im) (*.f64 #s(literal 1/2 binary64) re)))
(*.f64 (*.f64 re (*.f64 re #s(literal -1/2 binary64))) (/.f64 #s(literal -1 binary64) im))
(*.f64 (/.f64 #s(literal 1/2 binary64) im) (*.f64 re re))
(*.f64 (/.f64 #s(literal 1/2 binary64) im) (/.f64 re (/.f64 im re)))
(*.f64 (/.f64 #s(literal 1/2 binary64) im) (/.f64 re (/.f64 #s(literal 1 binary64) re)))
(*.f64 #s(literal 1 binary64) (/.f64 #s(literal 1/2 binary64) (/.f64 im (*.f64 re re))))
(*.f64 (/.f64 #s(literal 1 binary64) im) (/.f64 #s(literal 1/2 binary64) (/.f64 im (*.f64 re re))))
(*.f64 (/.f64 #s(literal 1 binary64) im) (*.f64 #s(literal 1/2 binary64) (*.f64 re re)))
(*.f64 (/.f64 #s(literal 1 binary64) im) (pow.f64 (/.f64 #s(literal 2 binary64) (*.f64 re re)) #s(literal -1 binary64)))
(*.f64 (/.f64 #s(literal 1 binary64) im) (/.f64 (*.f64 #s(literal 1/2 binary64) re) (/.f64 #s(literal 1 binary64) re)))
(*.f64 (/.f64 re (/.f64 im re)) #s(literal 1/2 binary64))
(*.f64 (/.f64 re (/.f64 im re)) (/.f64 #s(literal 1/2 binary64) im))
(*.f64 (/.f64 #s(literal -1/2 binary64) (/.f64 im (*.f64 re re))) (/.f64 #s(literal -1 binary64) im))
(*.f64 #s(literal -1 binary64) (/.f64 #s(literal -1/2 binary64) (/.f64 im (*.f64 re re))))
(*.f64 (-.f64 #s(literal 0 binary64) (*.f64 re re)) (/.f64 #s(literal 1/2 binary64) (-.f64 #s(literal 0 binary64) im)))
(*.f64 (-.f64 #s(literal 0 binary64) (*.f64 re re)) (*.f64 #s(literal 1/2 binary64) (/.f64 #s(literal -1 binary64) im)))
(*.f64 #s(literal -1/2 binary64) (/.f64 (-.f64 #s(literal 0 binary64) (*.f64 re re)) im))
(*.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) (-.f64 #s(literal 0 binary64) im)))
(*.f64 #s(literal -1/2 binary64) (*.f64 (*.f64 re re) (/.f64 #s(literal -1 binary64) im)))
(*.f64 (/.f64 #s(literal -1 binary64) im) (*.f64 re (*.f64 re #s(literal -1/2 binary64))))
(*.f64 (/.f64 #s(literal -1 binary64) im) (/.f64 #s(literal -1/2 binary64) (/.f64 im (*.f64 re re))))
(*.f64 (*.f64 re #s(literal -1/2 binary64)) (-.f64 #s(literal 0 binary64) (/.f64 re im)))
(*.f64 (/.f64 #s(literal 1/2 binary64) (/.f64 im re)) re)
(*.f64 (/.f64 #s(literal 1/2 binary64) (/.f64 im re)) (/.f64 re im))
(*.f64 (/.f64 #s(literal 1/2 binary64) (/.f64 im re)) (/.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) re)))
(*.f64 (pow.f64 (/.f64 im (*.f64 #s(literal 1/2 binary64) re)) #s(literal -1 binary64)) (/.f64 re im))
(*.f64 (*.f64 #s(literal 1 binary64) (*.f64 re re)) (/.f64 #s(literal 1/2 binary64) im))
(*.f64 (*.f64 #s(literal 1 binary64) (*.f64 re (*.f64 re #s(literal -1/2 binary64)))) (/.f64 #s(literal -1 binary64) im))
(*.f64 (/.f64 #s(literal 1/2 binary64) (-.f64 #s(literal 0 binary64) im)) (/.f64 (-.f64 #s(literal 0 binary64) (*.f64 re re)) im))
(*.f64 (/.f64 (-.f64 #s(literal 0 binary64) (*.f64 re re)) im) (/.f64 #s(literal 1/2 binary64) (-.f64 #s(literal 0 binary64) im)))
(*.f64 (/.f64 (*.f64 #s(literal 1/2 binary64) re) (-.f64 #s(literal 0 binary64) im)) (-.f64 #s(literal 0 binary64) re))
(*.f64 (/.f64 (*.f64 #s(literal 1/2 binary64) re) (-.f64 #s(literal 0 binary64) im)) (-.f64 #s(literal 0 binary64) (/.f64 re im)))
(*.f64 (/.f64 (*.f64 #s(literal 1/2 binary64) re) #s(literal -1 binary64)) (-.f64 #s(literal 0 binary64) (/.f64 re im)))
(*.f64 (/.f64 (*.f64 re re) (-.f64 #s(literal 0 binary64) im)) (/.f64 #s(literal -1/2 binary64) im))
(*.f64 (/.f64 #s(literal -1/2 binary64) im) (/.f64 (*.f64 re re) (-.f64 #s(literal 0 binary64) im)))
(*.f64 (/.f64 (*.f64 re re) #s(literal -1 binary64)) (/.f64 #s(literal -1/2 binary64) im))
(*.f64 (/.f64 (-.f64 #s(literal 0 binary64) (*.f64 re re)) #s(literal -1 binary64)) (/.f64 #s(literal 1/2 binary64) im))
(*.f64 (/.f64 (*.f64 re #s(literal -1/2 binary64)) im) (-.f64 #s(literal 0 binary64) (/.f64 re im)))
(*.f64 (/.f64 (*.f64 re #s(literal -1/2 binary64)) #s(literal -1 binary64)) (/.f64 re im))
(*.f64 (/.f64 (-.f64 #s(literal 0 binary64) re) #s(literal -1 binary64)) (/.f64 #s(literal 1/2 binary64) (/.f64 im re)))
(*.f64 (pow.f64 (/.f64 im (*.f64 #s(literal 1/2 binary64) (*.f64 re re))) #s(literal -1/2 binary64)) (pow.f64 (/.f64 im (*.f64 #s(literal 1/2 binary64) (*.f64 re re))) #s(literal -1/2 binary64)))
(*.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) im) (/.f64 re im)) re)
(*.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) (/.f64 im re)) (/.f64 #s(literal 1 binary64) im)) re)
(*.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) (/.f64 im re)) #s(literal 1 binary64)) (/.f64 re im))
(*.f64 (/.f64 (*.f64 #s(literal 1/2 binary64) re) #s(literal 1 binary64)) (/.f64 re im))
(*.f64 #s(literal 1/2 binary64) re)
(*.f64 re #s(literal 1/2 binary64))
(*.f64 (*.f64 #s(literal 1/2 binary64) re) #s(literal 1 binary64))
(*.f64 #s(literal 1 binary64) (*.f64 #s(literal 1/2 binary64) re))
(log.f64 im)
(+.f64 (/.f64 #s(literal 0 binary64) #s(literal 0 binary64)) (/.f64 #s(literal 0 binary64) #s(literal 0 binary64)))
(-.f64 (/.f64 (*.f64 (/.f64 #s(literal 0 binary64) #s(literal 0 binary64)) (/.f64 #s(literal 0 binary64) #s(literal 0 binary64))) #s(literal 0 binary64)) (/.f64 (*.f64 (/.f64 #s(literal 0 binary64) #s(literal 0 binary64)) (/.f64 #s(literal 0 binary64) #s(literal 0 binary64))) #s(literal 0 binary64)))
(fma.f64 #s(literal 1/2 binary64) (/.f64 #s(literal 0 binary64) #s(literal 0 binary64)) (/.f64 #s(literal 0 binary64) #s(literal 0 binary64)))
(fma.f64 (/.f64 #s(literal 0 binary64) #s(literal 0 binary64)) #s(literal 1/2 binary64) (/.f64 #s(literal 0 binary64) #s(literal 0 binary64)))
(/.f64 #s(literal 1 binary64) (/.f64 #s(literal 0 binary64) #s(literal 0 binary64)))
(/.f64 #s(literal 1 binary64) (/.f64 (+.f64 #s(literal 0 binary64) (*.f64 (/.f64 #s(literal 0 binary64) #s(literal 0 binary64)) (/.f64 #s(literal 0 binary64) #s(literal 0 binary64)))) (*.f64 #s(literal 2 binary64) (*.f64 (/.f64 #s(literal 0 binary64) #s(literal 0 binary64)) (*.f64 (/.f64 #s(literal 0 binary64) #s(literal 0 binary64)) (/.f64 #s(literal 0 binary64) #s(literal 0 binary64)))))))
(/.f64 #s(literal 0 binary64) #s(literal 0 binary64))
(/.f64 (*.f64 #s(literal 2 binary64) (*.f64 (/.f64 #s(literal 0 binary64) #s(literal 0 binary64)) (*.f64 (/.f64 #s(literal 0 binary64) #s(literal 0 binary64)) (/.f64 #s(literal 0 binary64) #s(literal 0 binary64))))) (+.f64 #s(literal 0 binary64) (*.f64 (/.f64 #s(literal 0 binary64) #s(literal 0 binary64)) (/.f64 #s(literal 0 binary64) #s(literal 0 binary64)))))
(/.f64 (neg.f64 (*.f64 #s(literal 2 binary64) (*.f64 (/.f64 #s(literal 0 binary64) #s(literal 0 binary64)) (*.f64 (/.f64 #s(literal 0 binary64) #s(literal 0 binary64)) (/.f64 #s(literal 0 binary64) #s(literal 0 binary64)))))) (neg.f64 (+.f64 #s(literal 0 binary64) (*.f64 (/.f64 #s(literal 0 binary64) #s(literal 0 binary64)) (/.f64 #s(literal 0 binary64) #s(literal 0 binary64))))))
(/.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 2 binary64) (*.f64 (/.f64 #s(literal 0 binary64) #s(literal 0 binary64)) (*.f64 (/.f64 #s(literal 0 binary64) #s(literal 0 binary64)) (/.f64 #s(literal 0 binary64) #s(literal 0 binary64)))))) (+.f64 #s(literal 0 binary64) (*.f64 (/.f64 #s(literal 0 binary64) #s(literal 0 binary64)) (/.f64 #s(literal 0 binary64) #s(literal 0 binary64)))))
(/.f64 (*.f64 (*.f64 #s(literal 2 binary64) (*.f64 (/.f64 #s(literal 0 binary64) #s(literal 0 binary64)) (*.f64 (/.f64 #s(literal 0 binary64) #s(literal 0 binary64)) (/.f64 #s(literal 0 binary64) #s(literal 0 binary64))))) #s(literal 1/2 binary64)) (+.f64 #s(literal 0 binary64) (*.f64 (/.f64 #s(literal 0 binary64) #s(literal 0 binary64)) (/.f64 #s(literal 0 binary64) #s(literal 0 binary64)))))
(*.f64 #s(literal 1/2 binary64) (/.f64 #s(literal 0 binary64) #s(literal 0 binary64)))
(*.f64 (/.f64 #s(literal 0 binary64) #s(literal 0 binary64)) #s(literal 1/2 binary64))
(*.f64 (/.f64 #s(literal 0 binary64) #s(literal 0 binary64)) #s(literal 2 binary64))
(*.f64 (/.f64 #s(literal 0 binary64) #s(literal 0 binary64)) #s(literal 1 binary64))
(*.f64 #s(literal 2 binary64) (/.f64 #s(literal 0 binary64) #s(literal 0 binary64)))
(*.f64 #s(literal 1 binary64) (/.f64 #s(literal 0 binary64) #s(literal 0 binary64)))
(*.f64 #s(literal 0 binary64) (/.f64 #s(literal 1 binary64) #s(literal 0 binary64)))
(*.f64 (*.f64 #s(literal 2 binary64) (*.f64 (/.f64 #s(literal 0 binary64) #s(literal 0 binary64)) (*.f64 (/.f64 #s(literal 0 binary64) #s(literal 0 binary64)) (/.f64 #s(literal 0 binary64) #s(literal 0 binary64))))) (/.f64 #s(literal 1 binary64) (+.f64 #s(literal 0 binary64) (*.f64 (/.f64 #s(literal 0 binary64) #s(literal 0 binary64)) (/.f64 #s(literal 0 binary64) #s(literal 0 binary64))))))
(log.f64 im)
(+.f64 (/.f64 #s(literal 0 binary64) #s(literal 0 binary64)) (/.f64 #s(literal 0 binary64) #s(literal 0 binary64)))
(-.f64 (/.f64 (*.f64 (/.f64 #s(literal 0 binary64) #s(literal 0 binary64)) (/.f64 #s(literal 0 binary64) #s(literal 0 binary64))) #s(literal 0 binary64)) (/.f64 (*.f64 (/.f64 #s(literal 0 binary64) #s(literal 0 binary64)) (/.f64 #s(literal 0 binary64) #s(literal 0 binary64))) #s(literal 0 binary64)))
(fma.f64 #s(literal 1/2 binary64) (/.f64 #s(literal 0 binary64) #s(literal 0 binary64)) (/.f64 #s(literal 0 binary64) #s(literal 0 binary64)))
(fma.f64 (/.f64 #s(literal 0 binary64) #s(literal 0 binary64)) #s(literal 1/2 binary64) (/.f64 #s(literal 0 binary64) #s(literal 0 binary64)))
(/.f64 #s(literal 1 binary64) (/.f64 #s(literal 0 binary64) #s(literal 0 binary64)))
(/.f64 #s(literal 1 binary64) (/.f64 (+.f64 #s(literal 0 binary64) (*.f64 (/.f64 #s(literal 0 binary64) #s(literal 0 binary64)) (/.f64 #s(literal 0 binary64) #s(literal 0 binary64)))) (*.f64 #s(literal 2 binary64) (*.f64 (/.f64 #s(literal 0 binary64) #s(literal 0 binary64)) (*.f64 (/.f64 #s(literal 0 binary64) #s(literal 0 binary64)) (/.f64 #s(literal 0 binary64) #s(literal 0 binary64)))))))
(/.f64 #s(literal 0 binary64) #s(literal 0 binary64))
(/.f64 (*.f64 #s(literal 2 binary64) (*.f64 (/.f64 #s(literal 0 binary64) #s(literal 0 binary64)) (*.f64 (/.f64 #s(literal 0 binary64) #s(literal 0 binary64)) (/.f64 #s(literal 0 binary64) #s(literal 0 binary64))))) (+.f64 #s(literal 0 binary64) (*.f64 (/.f64 #s(literal 0 binary64) #s(literal 0 binary64)) (/.f64 #s(literal 0 binary64) #s(literal 0 binary64)))))
(/.f64 (neg.f64 (*.f64 #s(literal 2 binary64) (*.f64 (/.f64 #s(literal 0 binary64) #s(literal 0 binary64)) (*.f64 (/.f64 #s(literal 0 binary64) #s(literal 0 binary64)) (/.f64 #s(literal 0 binary64) #s(literal 0 binary64)))))) (neg.f64 (+.f64 #s(literal 0 binary64) (*.f64 (/.f64 #s(literal 0 binary64) #s(literal 0 binary64)) (/.f64 #s(literal 0 binary64) #s(literal 0 binary64))))))
(/.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 2 binary64) (*.f64 (/.f64 #s(literal 0 binary64) #s(literal 0 binary64)) (*.f64 (/.f64 #s(literal 0 binary64) #s(literal 0 binary64)) (/.f64 #s(literal 0 binary64) #s(literal 0 binary64)))))) (+.f64 #s(literal 0 binary64) (*.f64 (/.f64 #s(literal 0 binary64) #s(literal 0 binary64)) (/.f64 #s(literal 0 binary64) #s(literal 0 binary64)))))
(/.f64 (*.f64 (*.f64 #s(literal 2 binary64) (*.f64 (/.f64 #s(literal 0 binary64) #s(literal 0 binary64)) (*.f64 (/.f64 #s(literal 0 binary64) #s(literal 0 binary64)) (/.f64 #s(literal 0 binary64) #s(literal 0 binary64))))) #s(literal 1/2 binary64)) (+.f64 #s(literal 0 binary64) (*.f64 (/.f64 #s(literal 0 binary64) #s(literal 0 binary64)) (/.f64 #s(literal 0 binary64) #s(literal 0 binary64)))))
(*.f64 #s(literal 1/2 binary64) (/.f64 #s(literal 0 binary64) #s(literal 0 binary64)))
(*.f64 (/.f64 #s(literal 0 binary64) #s(literal 0 binary64)) #s(literal 1/2 binary64))
(*.f64 (/.f64 #s(literal 0 binary64) #s(literal 0 binary64)) #s(literal 2 binary64))
(*.f64 (/.f64 #s(literal 0 binary64) #s(literal 0 binary64)) #s(literal 1 binary64))
(*.f64 #s(literal 2 binary64) (/.f64 #s(literal 0 binary64) #s(literal 0 binary64)))
(*.f64 #s(literal 1 binary64) (/.f64 #s(literal 0 binary64) #s(literal 0 binary64)))
(*.f64 #s(literal 0 binary64) (/.f64 #s(literal 1 binary64) #s(literal 0 binary64)))
(*.f64 (*.f64 #s(literal 2 binary64) (*.f64 (/.f64 #s(literal 0 binary64) #s(literal 0 binary64)) (*.f64 (/.f64 #s(literal 0 binary64) #s(literal 0 binary64)) (/.f64 #s(literal 0 binary64) #s(literal 0 binary64))))) (/.f64 #s(literal 1 binary64) (+.f64 #s(literal 0 binary64) (*.f64 (/.f64 #s(literal 0 binary64) #s(literal 0 binary64)) (/.f64 #s(literal 0 binary64) #s(literal 0 binary64))))))
im
(exp.f64 (/.f64 #s(literal 0 binary64) #s(literal 0 binary64)))
(exp.f64 (*.f64 (/.f64 #s(literal 0 binary64) #s(literal 0 binary64)) #s(literal 3 binary64)))
(exp.f64 (*.f64 (/.f64 #s(literal 0 binary64) #s(literal 0 binary64)) #s(literal 3/2 binary64)))
(exp.f64 (*.f64 (*.f64 (/.f64 #s(literal 0 binary64) #s(literal 0 binary64)) #s(literal 3 binary64)) #s(literal 3 binary64)))
(exp.f64 (+.f64 (*.f64 (/.f64 #s(literal 0 binary64) #s(literal 0 binary64)) #s(literal 3 binary64)) (*.f64 (/.f64 #s(literal 0 binary64) #s(literal 0 binary64)) #s(literal 3 binary64))))
(-.f64 #s(literal 0 binary64) (-.f64 #s(literal 0 binary64) im))
(neg.f64 (-.f64 #s(literal 0 binary64) im))
(/.f64 im #s(literal 1 binary64))
(/.f64 (-.f64 #s(literal 0 binary64) im) #s(literal -1 binary64))
(/.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) im))
(pow.f64 im #s(literal 2 binary64))
(pow.f64 im #s(literal 3 binary64))
(pow.f64 im #s(literal 1 binary64))
(pow.f64 im #s(literal 3/2 binary64))
(pow.f64 im #s(literal 9 binary64))
(pow.f64 im #s(literal 6 binary64))
(pow.f64 im #s(literal 4 binary64))
(*.f64 im im)
(*.f64 im #s(literal 1 binary64))
(*.f64 (-.f64 #s(literal 0 binary64) im) (-.f64 #s(literal 0 binary64) im))
(*.f64 #s(literal 1 binary64) im)
(*.f64 #s(literal -1 binary64) (-.f64 #s(literal 0 binary64) im))
(*.f64 (pow.f64 im #s(literal 3/4 binary64)) (pow.f64 im #s(literal 3/4 binary64)))
(*.f64 (pow.f64 im #s(literal 1/2 binary64)) (pow.f64 im #s(literal 1/2 binary64)))
(exp.f64 (*.f64 (log.f64 (/.f64 im (*.f64 #s(literal 1/2 binary64) (*.f64 re re)))) #s(literal -1 binary64)))
(-.f64 #s(literal 0 binary64) (/.f64 #s(literal -1/2 binary64) (/.f64 im (*.f64 re re))))
(-.f64 (/.f64 #s(literal 0 binary64) (-.f64 #s(literal 0 binary64) im)) (/.f64 #s(literal -1/2 binary64) (/.f64 im (*.f64 re re))))
(neg.f64 (/.f64 #s(literal -1/2 binary64) (/.f64 im (*.f64 re re))))
(neg.f64 (*.f64 #s(literal 1 binary64) (/.f64 #s(literal -1/2 binary64) (/.f64 im (*.f64 re re)))))
(/.f64 #s(literal 1/2 binary64) (/.f64 im (*.f64 re re)))
(/.f64 #s(literal 1/2 binary64) (*.f64 (/.f64 im (*.f64 re re)) im))
(/.f64 re (/.f64 im (*.f64 #s(literal 1/2 binary64) re)))
(/.f64 (*.f64 #s(literal 1/2 binary64) re) (/.f64 im re))
(/.f64 (*.f64 #s(literal 1/2 binary64) re) (*.f64 im (/.f64 im re)))
(/.f64 (*.f64 #s(literal 1/2 binary64) re) (*.f64 (/.f64 im re) im))
(/.f64 (/.f64 #s(literal 1/2 binary64) (/.f64 im (*.f64 re re))) im)
(/.f64 (*.f64 re re) (/.f64 im #s(literal 1/2 binary64)))
(/.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 re re)) im)
(/.f64 (*.f64 re (*.f64 re #s(literal -1/2 binary64))) (-.f64 #s(literal 0 binary64) im))
(/.f64 (/.f64 #s(literal 1/2 binary64) im) (/.f64 im (*.f64 re re)))
(/.f64 #s(literal 1 binary64) (/.f64 im (*.f64 #s(literal 1/2 binary64) (*.f64 re re))))
(/.f64 (/.f64 #s(literal 1 binary64) im) (/.f64 im (*.f64 #s(literal 1/2 binary64) (*.f64 re re))))
(/.f64 (/.f64 #s(literal 1 binary64) im) (/.f64 #s(literal 2 binary64) (*.f64 re re)))
(/.f64 (/.f64 re (/.f64 im re)) (/.f64 im #s(literal 1/2 binary64)))
(/.f64 (/.f64 #s(literal -1/2 binary64) (/.f64 im (*.f64 re re))) (-.f64 #s(literal 0 binary64) im))
(/.f64 #s(literal -1 binary64) (*.f64 (/.f64 im (*.f64 #s(literal 1/2 binary64) (*.f64 re re))) (-.f64 #s(literal 0 binary64) im)))
(/.f64 #s(literal -1 binary64) (/.f64 (/.f64 im (*.f64 re re)) #s(literal -1/2 binary64)))
(/.f64 #s(literal -1/2 binary64) (*.f64 (-.f64 #s(literal 0 binary64) im) (/.f64 im (*.f64 re re))))
(/.f64 #s(literal -1/2 binary64) (*.f64 (/.f64 im (*.f64 re re)) (-.f64 #s(literal 0 binary64) im)))
(/.f64 (*.f64 re #s(literal -1/2 binary64)) (-.f64 #s(literal 0 binary64) (/.f64 im re)))
(/.f64 (*.f64 re #s(literal -1/2 binary64)) (*.f64 (-.f64 #s(literal 0 binary64) im) (/.f64 im re)))
(/.f64 (*.f64 re #s(literal -1/2 binary64)) (*.f64 (/.f64 im re) (-.f64 #s(literal 0 binary64) im)))
(/.f64 (*.f64 re #s(literal -1/2 binary64)) (*.f64 (-.f64 #s(literal 0 binary64) (/.f64 im re)) im))
(/.f64 (/.f64 #s(literal 1/2 binary64) (/.f64 im re)) (/.f64 im re))
(/.f64 (/.f64 #s(literal 1/2 binary64) (/.f64 im re)) (/.f64 #s(literal 1 binary64) re))
(/.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) re) #s(literal -1 binary64)) (-.f64 #s(literal 0 binary64) (/.f64 im re)))
(/.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) re) #s(literal -1 binary64)) (*.f64 im (-.f64 #s(literal 0 binary64) (/.f64 im re))))
(/.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) re) #s(literal -1 binary64)) (*.f64 (/.f64 im re) (-.f64 #s(literal 0 binary64) im)))
(/.f64 (*.f64 (*.f64 re (*.f64 re #s(literal -1/2 binary64))) #s(literal 1 binary64)) (-.f64 #s(literal 0 binary64) im))
(/.f64 (*.f64 (*.f64 re (*.f64 re #s(literal -1/2 binary64))) #s(literal -1 binary64)) im)
(/.f64 (*.f64 #s(literal 1 binary64) (*.f64 re re)) (/.f64 im #s(literal 1/2 binary64)))
(/.f64 (*.f64 #s(literal 1 binary64) (*.f64 re re)) (*.f64 (/.f64 im #s(literal 1/2 binary64)) im))
(/.f64 (*.f64 #s(literal 1 binary64) (-.f64 #s(literal 0 binary64) (*.f64 re re))) (*.f64 (/.f64 im #s(literal 1/2 binary64)) (-.f64 #s(literal 0 binary64) im)))
(/.f64 (*.f64 (*.f64 re re) #s(literal 1 binary64)) (/.f64 im #s(literal 1/2 binary64)))
(/.f64 (*.f64 (-.f64 #s(literal 0 binary64) (*.f64 re re)) #s(literal 1 binary64)) (*.f64 (-.f64 #s(literal 0 binary64) im) (/.f64 im #s(literal 1/2 binary64))))
(/.f64 (*.f64 #s(literal 1 binary64) (*.f64 re (*.f64 re #s(literal -1/2 binary64)))) (-.f64 #s(literal 0 binary64) im))
(/.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) (/.f64 im (*.f64 re re))) #s(literal -1 binary64)) (-.f64 #s(literal 0 binary64) im))
(/.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) im) #s(literal 1 binary64)) (/.f64 im (*.f64 re re)))
(/.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) im) (-.f64 #s(literal 0 binary64) (*.f64 re re))) (-.f64 #s(literal 0 binary64) im))
(/.f64 (*.f64 #s(literal 1 binary64) (/.f64 #s(literal -1/2 binary64) (/.f64 im (*.f64 re re)))) (-.f64 #s(literal 0 binary64) im))
(/.f64 (*.f64 (/.f64 re (/.f64 im re)) #s(literal 1 binary64)) (/.f64 im #s(literal 1/2 binary64)))
(/.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) (/.f64 im re)) #s(literal 1 binary64)) (/.f64 im re))
(/.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) (/.f64 im re)) #s(literal -1 binary64)) (-.f64 #s(literal 0 binary64) (/.f64 im re)))
(/.f64 (*.f64 #s(literal -1 binary64) (/.f64 #s(literal 1/2 binary64) (/.f64 im re))) (-.f64 #s(literal 0 binary64) (/.f64 im re)))
(/.f64 (/.f64 (*.f64 re (*.f64 re #s(literal -1/2 binary64))) #s(literal -1 binary64)) im)
(/.f64 (/.f64 (/.f64 #s(literal -1/2 binary64) (/.f64 im (*.f64 re re))) #s(literal -1 binary64)) im)
(pow.f64 (/.f64 im (*.f64 #s(literal 1/2 binary64) (*.f64 re re))) #s(literal -1 binary64))
(*.f64 #s(literal 1/2 binary64) (/.f64 re (/.f64 im re)))
(*.f64 re (/.f64 #s(literal 1/2 binary64) (/.f64 im re)))
(*.f64 re (*.f64 (/.f64 #s(literal 1 binary64) im) (/.f64 #s(literal 1/2 binary64) (/.f64 im re))))
(*.f64 re (*.f64 (/.f64 #s(literal 1/2 binary64) (/.f64 im re)) (/.f64 #s(literal 1 binary64) im)))
(*.f64 re (*.f64 (/.f64 re im) (/.f64 #s(literal 1/2 binary64) im)))
(*.f64 re (/.f64 (/.f64 #s(literal 1/2 binary64) (/.f64 im re)) im))
(*.f64 (*.f64 #s(literal 1/2 binary64) re) (/.f64 re im))
(*.f64 (/.f64 re im) (*.f64 #s(literal 1/2 binary64) re))
(*.f64 (/.f64 re im) (/.f64 #s(literal 1/2 binary64) (/.f64 im re)))
(*.f64 (/.f64 re im) (/.f64 #s(literal 1/2 binary64) (/.f64 #s(literal 1 binary64) re)))
(*.f64 (/.f64 #s(literal 1/2 binary64) (/.f64 im (*.f64 re re))) #s(literal 1 binary64))
(*.f64 (/.f64 #s(literal 1/2 binary64) (/.f64 im (*.f64 re re))) (/.f64 #s(literal 1 binary64) im))
(*.f64 (*.f64 re re) (/.f64 #s(literal 1/2 binary64) im))
(*.f64 (*.f64 re re) (*.f64 (/.f64 #s(literal 1/2 binary64) im) (/.f64 #s(literal 1 binary64) im)))
(*.f64 (*.f64 re re) (*.f64 (/.f64 #s(literal 1 binary64) im) (/.f64 #s(literal 1/2 binary64) im)))
(*.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 re re)) (/.f64 #s(literal 1 binary64) im))
(*.f64 (-.f64 #s(literal 0 binary64) re) (/.f64 (*.f64 #s(literal 1/2 binary64) re) (-.f64 #s(literal 0 binary64) im)))
(*.f64 (-.f64 #s(literal 0 binary64) re) (*.f64 (/.f64 #s(literal -1 binary64) im) (/.f64 #s(literal 1/2 binary64) (/.f64 im re))))
(*.f64 (-.f64 #s(literal 0 binary64) re) (*.f64 (/.f64 #s(literal -1 binary64) im) (*.f64 #s(literal 1/2 binary64) re)))
(*.f64 (*.f64 re (*.f64 re #s(literal -1/2 binary64))) (/.f64 #s(literal -1 binary64) im))
(*.f64 (/.f64 #s(literal 1/2 binary64) im) (*.f64 re re))
(*.f64 (/.f64 #s(literal 1/2 binary64) im) (/.f64 re (/.f64 im re)))
(*.f64 (/.f64 #s(literal 1/2 binary64) im) (/.f64 re (/.f64 #s(literal 1 binary64) re)))
(*.f64 #s(literal 1 binary64) (/.f64 #s(literal 1/2 binary64) (/.f64 im (*.f64 re re))))
(*.f64 (/.f64 #s(literal 1 binary64) im) (/.f64 #s(literal 1/2 binary64) (/.f64 im (*.f64 re re))))
(*.f64 (/.f64 #s(literal 1 binary64) im) (*.f64 #s(literal 1/2 binary64) (*.f64 re re)))
(*.f64 (/.f64 #s(literal 1 binary64) im) (pow.f64 (/.f64 #s(literal 2 binary64) (*.f64 re re)) #s(literal -1 binary64)))
(*.f64 (/.f64 #s(literal 1 binary64) im) (/.f64 (*.f64 #s(literal 1/2 binary64) re) (/.f64 #s(literal 1 binary64) re)))
(*.f64 (/.f64 re (/.f64 im re)) #s(literal 1/2 binary64))
(*.f64 (/.f64 re (/.f64 im re)) (/.f64 #s(literal 1/2 binary64) im))
(*.f64 (/.f64 #s(literal -1/2 binary64) (/.f64 im (*.f64 re re))) (/.f64 #s(literal -1 binary64) im))
(*.f64 #s(literal -1 binary64) (/.f64 #s(literal -1/2 binary64) (/.f64 im (*.f64 re re))))
(*.f64 (-.f64 #s(literal 0 binary64) (*.f64 re re)) (/.f64 #s(literal 1/2 binary64) (-.f64 #s(literal 0 binary64) im)))
(*.f64 (-.f64 #s(literal 0 binary64) (*.f64 re re)) (*.f64 #s(literal 1/2 binary64) (/.f64 #s(literal -1 binary64) im)))
(*.f64 #s(literal -1/2 binary64) (/.f64 (-.f64 #s(literal 0 binary64) (*.f64 re re)) im))
(*.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) (-.f64 #s(literal 0 binary64) im)))
(*.f64 #s(literal -1/2 binary64) (*.f64 (*.f64 re re) (/.f64 #s(literal -1 binary64) im)))
(*.f64 (/.f64 #s(literal -1 binary64) im) (*.f64 re (*.f64 re #s(literal -1/2 binary64))))
(*.f64 (/.f64 #s(literal -1 binary64) im) (/.f64 #s(literal -1/2 binary64) (/.f64 im (*.f64 re re))))
(*.f64 (*.f64 re #s(literal -1/2 binary64)) (-.f64 #s(literal 0 binary64) (/.f64 re im)))
(*.f64 (/.f64 #s(literal 1/2 binary64) (/.f64 im re)) re)
(*.f64 (/.f64 #s(literal 1/2 binary64) (/.f64 im re)) (/.f64 re im))
(*.f64 (/.f64 #s(literal 1/2 binary64) (/.f64 im re)) (/.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) re)))
(*.f64 (pow.f64 (/.f64 im (*.f64 #s(literal 1/2 binary64) re)) #s(literal -1 binary64)) (/.f64 re im))
(*.f64 (*.f64 #s(literal 1 binary64) (*.f64 re re)) (/.f64 #s(literal 1/2 binary64) im))
(*.f64 (*.f64 #s(literal 1 binary64) (*.f64 re (*.f64 re #s(literal -1/2 binary64)))) (/.f64 #s(literal -1 binary64) im))
(*.f64 (/.f64 #s(literal 1/2 binary64) (-.f64 #s(literal 0 binary64) im)) (/.f64 (-.f64 #s(literal 0 binary64) (*.f64 re re)) im))
(*.f64 (/.f64 (-.f64 #s(literal 0 binary64) (*.f64 re re)) im) (/.f64 #s(literal 1/2 binary64) (-.f64 #s(literal 0 binary64) im)))
(*.f64 (/.f64 (*.f64 #s(literal 1/2 binary64) re) (-.f64 #s(literal 0 binary64) im)) (-.f64 #s(literal 0 binary64) re))
(*.f64 (/.f64 (*.f64 #s(literal 1/2 binary64) re) (-.f64 #s(literal 0 binary64) im)) (-.f64 #s(literal 0 binary64) (/.f64 re im)))
(*.f64 (/.f64 (*.f64 #s(literal 1/2 binary64) re) #s(literal -1 binary64)) (-.f64 #s(literal 0 binary64) (/.f64 re im)))
(*.f64 (/.f64 (*.f64 re re) (-.f64 #s(literal 0 binary64) im)) (/.f64 #s(literal -1/2 binary64) im))
(*.f64 (/.f64 #s(literal -1/2 binary64) im) (/.f64 (*.f64 re re) (-.f64 #s(literal 0 binary64) im)))
(*.f64 (/.f64 (*.f64 re re) #s(literal -1 binary64)) (/.f64 #s(literal -1/2 binary64) im))
(*.f64 (/.f64 (-.f64 #s(literal 0 binary64) (*.f64 re re)) #s(literal -1 binary64)) (/.f64 #s(literal 1/2 binary64) im))
(*.f64 (/.f64 (*.f64 re #s(literal -1/2 binary64)) im) (-.f64 #s(literal 0 binary64) (/.f64 re im)))
(*.f64 (/.f64 (*.f64 re #s(literal -1/2 binary64)) #s(literal -1 binary64)) (/.f64 re im))
(*.f64 (/.f64 (-.f64 #s(literal 0 binary64) re) #s(literal -1 binary64)) (/.f64 #s(literal 1/2 binary64) (/.f64 im re)))
(*.f64 (pow.f64 (/.f64 im (*.f64 #s(literal 1/2 binary64) (*.f64 re re))) #s(literal -1/2 binary64)) (pow.f64 (/.f64 im (*.f64 #s(literal 1/2 binary64) (*.f64 re re))) #s(literal -1/2 binary64)))
(*.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) im) (/.f64 re im)) re)
(*.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) (/.f64 im re)) (/.f64 #s(literal 1 binary64) im)) re)
(*.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) (/.f64 im re)) #s(literal 1 binary64)) (/.f64 re im))
(*.f64 (/.f64 (*.f64 #s(literal 1/2 binary64) re) #s(literal 1 binary64)) (/.f64 re im))
(-.f64 #s(literal 0 binary64) (*.f64 re (*.f64 re #s(literal -1/2 binary64))))
(neg.f64 (*.f64 re (*.f64 re #s(literal -1/2 binary64))))
(*.f64 #s(literal 1/2 binary64) (*.f64 re re))
(*.f64 #s(literal 1/2 binary64) (*.f64 (*.f64 re re) #s(literal 1 binary64)))
(*.f64 #s(literal 1/2 binary64) (neg.f64 (-.f64 #s(literal 0 binary64) (*.f64 re re))))
(*.f64 re (*.f64 #s(literal 1/2 binary64) re))
(*.f64 (*.f64 #s(literal 1/2 binary64) re) re)
(*.f64 (*.f64 re re) #s(literal 1/2 binary64))
(*.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 re re)) #s(literal 1 binary64))
(*.f64 #s(literal 1 binary64) (*.f64 #s(literal 1/2 binary64) (*.f64 re re)))
(*.f64 #s(literal -1 binary64) (*.f64 re (*.f64 re #s(literal -1/2 binary64))))
(*.f64 (-.f64 #s(literal 0 binary64) (*.f64 re re)) #s(literal -1/2 binary64))
(*.f64 #s(literal -1/2 binary64) (-.f64 #s(literal 0 binary64) (*.f64 re re)))
(*.f64 (*.f64 re #s(literal -1/2 binary64)) (-.f64 #s(literal 0 binary64) re))
(*.f64 (neg.f64 (-.f64 #s(literal 0 binary64) (*.f64 re re))) #s(literal 1/2 binary64))
(*.f64 (neg.f64 (*.f64 re #s(literal -1/2 binary64))) re)
(exp.f64 (*.f64 #s(literal 2 binary64) (log.f64 re)))
(pow.f64 re #s(literal 2 binary64))
(pow.f64 (*.f64 re re) #s(literal 1 binary64))
(pow.f64 (exp.f64 (log.f64 re)) #s(literal 2 binary64))
(*.f64 re re)
(*.f64 (exp.f64 (log.f64 re)) (exp.f64 (log.f64 re)))

simplify233.0ms (4%)

Algorithm
egg-herbie
Rules
3158×*-lowering-*.f32
3158×*-lowering-*.f64
2096×+-lowering-+.f64
2096×+-lowering-+.f32
1702×fma-lowering-fma.f32
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01381431
13821369
212371355
342641293
083531293
Stop Event
iter limit
node limit
Counts
168 → 168
Calls
Call 1
Inputs
(+ (log (* 1/2 (pow re 2))) (* -1 (log im)))
(+ (log (* 1/2 (pow re 2))) (+ (* -1 (log im)) (* 2 (/ (pow im 2) (pow re 2)))))
(+ (log (* 1/2 (pow re 2))) (+ (* -1 (log im)) (* (pow im 2) (+ (* -2 (/ (pow im 2) (pow re 4))) (* 2 (/ 1 (pow re 2)))))))
(+ (log (* 1/2 (pow re 2))) (+ (* -1 (log im)) (* (pow im 2) (+ (* (pow im 2) (- (* 8/3 (/ (pow im 2) (pow re 6))) (* 2 (/ 1 (pow re 4))))) (* 2 (/ 1 (pow re 2)))))))
(* -1 (log (/ 1 im)))
(+ (* -1 (log (/ 1 im))) (* 1/2 (/ (pow re 2) (pow im 2))))
(+ (* -1 (log (/ 1 im))) (+ (* -1/8 (/ (pow re 4) (pow im 4))) (* 1/2 (/ (pow re 2) (pow im 2)))))
(+ (* -1 (log (/ 1 im))) (+ (* -1/8 (/ (pow re 4) (pow im 4))) (+ (* 1/24 (/ (pow re 6) (pow im 6))) (* 1/2 (/ (pow re 2) (pow im 2))))))
(+ (log -1) (* -1 (log (/ -1 im))))
(+ (log -1) (+ (* -1 (log (/ -1 im))) (* 1/2 (/ (pow re 2) (pow im 2)))))
(+ (log -1) (+ (* -1 (log (/ -1 im))) (+ (* -1/8 (/ (pow re 4) (pow im 4))) (* 1/2 (/ (pow re 2) (pow im 2))))))
(+ (log -1) (+ (* -1 (log (/ -1 im))) (+ (* -1/8 (/ (pow re 4) (pow im 4))) (+ (* 1/24 (/ (pow re 6) (pow im 6))) (* 1/2 (/ (pow re 2) (pow im 2)))))))
(log im)
(+ (log im) (* 1/2 (/ (pow re 2) (pow im 2))))
(+ (log im) (* (pow re 2) (+ (* -1/8 (/ (pow re 2) (pow im 4))) (* 1/2 (/ 1 (pow im 2))))))
(+ (log im) (* (pow re 2) (+ (* (pow re 2) (- (* 1/24 (/ (pow re 2) (pow im 6))) (* 1/8 (/ 1 (pow im 4))))) (* 1/2 (/ 1 (pow im 2))))))
(+ (log (/ 1/2 im)) (* -2 (log (/ 1 re))))
(+ (log (/ 1/2 im)) (+ (* -2 (log (/ 1 re))) (* 2 (/ (pow im 2) (pow re 2)))))
(+ (log (/ 1/2 im)) (+ (* -2 (log (/ 1 re))) (+ (* -2 (/ (pow im 4) (pow re 4))) (* 2 (/ (pow im 2) (pow re 2))))))
(+ (log (/ 1/2 im)) (+ (* -2 (log (/ 1 re))) (+ (* -2 (/ (pow im 4) (pow re 4))) (+ (* 2 (/ (pow im 2) (pow re 2))) (* 8/3 (/ (pow im 6) (pow re 6)))))))
(+ (log (/ 1/2 im)) (* -2 (log (/ -1 re))))
(+ (log (/ 1/2 im)) (+ (* -2 (log (/ -1 re))) (* 2 (/ (pow im 2) (pow re 2)))))
(+ (log (/ 1/2 im)) (+ (* -2 (log (/ -1 re))) (+ (* -2 (/ (pow im 4) (pow re 4))) (* 2 (/ (pow im 2) (pow re 2))))))
(+ (log (/ 1/2 im)) (+ (* -2 (log (/ -1 re))) (+ (* -2 (/ (pow im 4) (pow re 4))) (+ (* 2 (/ (pow im 2) (pow re 2))) (* 8/3 (/ (pow im 6) (pow re 6)))))))
(* 1/2 (/ (pow re 2) im))
(/ (+ (* 1/2 (pow re 2)) (pow im 2)) im)
(/ (+ (* 1/2 (pow re 2)) (pow im 2)) im)
(/ (+ (* 1/2 (pow re 2)) (pow im 2)) im)
im
(* im (+ 1 (* 1/2 (/ (pow re 2) (pow im 2)))))
(* im (+ 1 (* 1/2 (/ (pow re 2) (pow im 2)))))
(* im (+ 1 (* 1/2 (/ (pow re 2) (pow im 2)))))
im
(* -1 (* im (- (* -1/2 (/ (pow re 2) (pow im 2))) 1)))
(* -1 (* im (- (* -1/2 (/ (pow re 2) (pow im 2))) 1)))
(* -1 (* im (- (* -1/2 (/ (pow re 2) (pow im 2))) 1)))
im
(+ im (* 1/2 (/ (pow re 2) im)))
(+ im (* 1/2 (/ (pow re 2) im)))
(+ im (* 1/2 (/ (pow re 2) im)))
(* 1/2 (/ (pow re 2) im))
(* (pow re 2) (+ (* 1/2 (/ 1 im)) (/ im (pow re 2))))
(* (pow re 2) (+ (* 1/2 (/ 1 im)) (/ im (pow re 2))))
(* (pow re 2) (+ (* 1/2 (/ 1 im)) (/ im (pow re 2))))
(* 1/2 (/ (pow re 2) im))
(* (pow re 2) (+ (* 1/2 (/ 1 im)) (/ im (pow re 2))))
(* (pow re 2) (+ (* 1/2 (/ 1 im)) (/ im (pow re 2))))
(* (pow re 2) (+ (* 1/2 (/ 1 im)) (/ im (pow re 2))))
(* 1/2 (/ (pow re 2) im))
(* 1/2 (/ (pow re 2) im))
(* 1/2 (/ (pow re 2) im))
(* 1/2 (/ (pow re 2) im))
(* 1/2 (/ (pow re 2) im))
(* 1/2 (/ (pow re 2) im))
(* 1/2 (/ (pow re 2) im))
(* 1/2 (/ (pow re 2) im))
(* 1/2 (/ (pow re 2) im))
(* 1/2 (/ (pow re 2) im))
(* 1/2 (/ (pow re 2) im))
(* 1/2 (/ (pow re 2) im))
(* 1/2 (/ (pow re 2) im))
(* 1/2 (/ (pow re 2) im))
(* 1/2 (/ (pow re 2) im))
(* 1/2 (/ (pow re 2) im))
(* 1/2 (/ (pow re 2) im))
(* 1/2 (/ (pow re 2) im))
(* 1/2 (/ (pow re 2) im))
(* 1/2 (/ (pow re 2) im))
(* 1/2 (/ (pow re 2) im))
(* 1/2 (/ (pow re 2) im))
(* 1/2 (/ (pow re 2) im))
(* 1/2 (/ (pow re 2) im))
(* 1/2 re)
(* 1/2 re)
(* 1/2 re)
(* 1/2 re)
(* 1/2 re)
(* 1/2 re)
(* 1/2 re)
(* 1/2 re)
(* 1/2 re)
(* 1/2 re)
(* 1/2 re)
(* 1/2 re)
(log im)
(log im)
(log im)
(log im)
(* -1 (log (/ 1 im)))
(* -1 (log (/ 1 im)))
(* -1 (log (/ 1 im)))
(* -1 (log (/ 1 im)))
(* -1 (log (/ -1 im)))
(* -1 (log (/ -1 im)))
(* -1 (log (/ -1 im)))
(* -1 (log (/ -1 im)))
(* 2 (log im))
(* 2 (log im))
(* 2 (log im))
(* 2 (log im))
(* -2 (log (/ 1 im)))
(* -2 (log (/ 1 im)))
(* -2 (log (/ 1 im)))
(* -2 (log (/ 1 im)))
(* -2 (log (/ -1 im)))
(* -2 (log (/ -1 im)))
(* -2 (log (/ -1 im)))
(* -2 (log (/ -1 im)))
(pow im 2)
(pow im 2)
(pow im 2)
(pow im 2)
(pow im 2)
(pow im 2)
(pow im 2)
(pow im 2)
(pow im 2)
(pow im 2)
(pow im 2)
(pow im 2)
(* 1/2 (/ (pow re 2) (pow im 2)))
(* 1/2 (/ (pow re 2) (pow im 2)))
(* 1/2 (/ (pow re 2) (pow im 2)))
(* 1/2 (/ (pow re 2) (pow im 2)))
(* 1/2 (/ (pow re 2) (pow im 2)))
(* 1/2 (/ (pow re 2) (pow im 2)))
(* 1/2 (/ (pow re 2) (pow im 2)))
(* 1/2 (/ (pow re 2) (pow im 2)))
(* 1/2 (/ (pow re 2) (pow im 2)))
(* 1/2 (/ (pow re 2) (pow im 2)))
(* 1/2 (/ (pow re 2) (pow im 2)))
(* 1/2 (/ (pow re 2) (pow im 2)))
(* 1/2 (/ (pow re 2) (pow im 2)))
(* 1/2 (/ (pow re 2) (pow im 2)))
(* 1/2 (/ (pow re 2) (pow im 2)))
(* 1/2 (/ (pow re 2) (pow im 2)))
(* 1/2 (/ (pow re 2) (pow im 2)))
(* 1/2 (/ (pow re 2) (pow im 2)))
(* 1/2 (/ (pow re 2) (pow im 2)))
(* 1/2 (/ (pow re 2) (pow im 2)))
(* 1/2 (/ (pow re 2) (pow im 2)))
(* 1/2 (/ (pow re 2) (pow im 2)))
(* 1/2 (/ (pow re 2) (pow im 2)))
(* 1/2 (/ (pow re 2) (pow im 2)))
(* 1/2 (pow re 2))
(* 1/2 (pow re 2))
(* 1/2 (pow re 2))
(* 1/2 (pow re 2))
(* 1/2 (pow re 2))
(* 1/2 (pow re 2))
(* 1/2 (pow re 2))
(* 1/2 (pow re 2))
(* 1/2 (pow re 2))
(* 1/2 (pow re 2))
(* 1/2 (pow re 2))
(* 1/2 (pow re 2))
(pow re 2)
(pow re 2)
(pow re 2)
(pow re 2)
(pow re 2)
(pow re 2)
(pow re 2)
(pow re 2)
(pow re 2)
(pow re 2)
(pow re 2)
(pow re 2)
Outputs
(+ (log (* 1/2 (pow re 2))) (* -1 (log im)))
(-.f64 (log.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 re re))) (log.f64 im))
(+ (log (* 1/2 (pow re 2))) (+ (* -1 (log im)) (* 2 (/ (pow im 2) (pow re 2)))))
(-.f64 (+.f64 (log.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 re re))) (/.f64 (*.f64 #s(literal 2 binary64) (*.f64 im im)) (*.f64 re re))) (log.f64 im))
(+ (log (* 1/2 (pow re 2))) (+ (* -1 (log im)) (* (pow im 2) (+ (* -2 (/ (pow im 2) (pow re 4))) (* 2 (/ 1 (pow re 2)))))))
(+.f64 (log.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 re re))) (-.f64 (*.f64 (*.f64 im im) (+.f64 (/.f64 (*.f64 (*.f64 im im) #s(literal -2 binary64)) (*.f64 (*.f64 re re) (*.f64 re re))) (/.f64 #s(literal 2 binary64) (*.f64 re re)))) (log.f64 im)))
(+ (log (* 1/2 (pow re 2))) (+ (* -1 (log im)) (* (pow im 2) (+ (* (pow im 2) (- (* 8/3 (/ (pow im 2) (pow re 6))) (* 2 (/ 1 (pow re 4))))) (* 2 (/ 1 (pow re 2)))))))
(+.f64 (*.f64 im (*.f64 im (+.f64 (/.f64 #s(literal 2 binary64) (*.f64 re re)) (*.f64 im (*.f64 im (+.f64 (/.f64 (*.f64 im (*.f64 im #s(literal 8/3 binary64))) (pow.f64 re #s(literal 6 binary64))) (/.f64 #s(literal -2 binary64) (*.f64 (*.f64 re re) (*.f64 re re))))))))) (-.f64 (log.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 re re))) (log.f64 im)))
(* -1 (log (/ 1 im)))
(log.f64 im)
(+ (* -1 (log (/ 1 im))) (* 1/2 (/ (pow re 2) (pow im 2))))
(+.f64 (log.f64 im) (/.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 re re)) (*.f64 im im)))
(+ (* -1 (log (/ 1 im))) (+ (* -1/8 (/ (pow re 4) (pow im 4))) (* 1/2 (/ (pow re 2) (pow im 2)))))
(+.f64 (log.f64 im) (*.f64 (*.f64 re re) (+.f64 (/.f64 (*.f64 re (*.f64 re #s(literal -1/8 binary64))) (*.f64 im (*.f64 im (*.f64 im im)))) (/.f64 #s(literal 1/2 binary64) (*.f64 im im)))))
(+ (* -1 (log (/ 1 im))) (+ (* -1/8 (/ (pow re 4) (pow im 4))) (+ (* 1/24 (/ (pow re 6) (pow im 6))) (* 1/2 (/ (pow re 2) (pow im 2))))))
(+.f64 (*.f64 (*.f64 re re) (+.f64 (/.f64 (*.f64 re (*.f64 re #s(literal -1/8 binary64))) (*.f64 im (*.f64 im (*.f64 im im)))) (/.f64 #s(literal 1/2 binary64) (*.f64 im im)))) (+.f64 (log.f64 im) (/.f64 (*.f64 (pow.f64 re #s(literal 6 binary64)) #s(literal 1/24 binary64)) (pow.f64 im #s(literal 6 binary64)))))
(+ (log -1) (* -1 (log (/ -1 im))))
(-.f64 (log.f64 #s(literal -1 binary64)) (log.f64 (/.f64 #s(literal -1 binary64) im)))
(+ (log -1) (+ (* -1 (log (/ -1 im))) (* 1/2 (/ (pow re 2) (pow im 2)))))
(+.f64 (/.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 re re)) (*.f64 im im)) (-.f64 (log.f64 #s(literal -1 binary64)) (log.f64 (/.f64 #s(literal -1 binary64) im))))
(+ (log -1) (+ (* -1 (log (/ -1 im))) (+ (* -1/8 (/ (pow re 4) (pow im 4))) (* 1/2 (/ (pow re 2) (pow im 2))))))
(+.f64 (*.f64 (*.f64 re re) (+.f64 (/.f64 (*.f64 re (*.f64 re #s(literal -1/8 binary64))) (*.f64 im (*.f64 im (*.f64 im im)))) (/.f64 #s(literal 1/2 binary64) (*.f64 im im)))) (-.f64 (log.f64 #s(literal -1 binary64)) (log.f64 (/.f64 #s(literal -1 binary64) im))))
(+ (log -1) (+ (* -1 (log (/ -1 im))) (+ (* -1/8 (/ (pow re 4) (pow im 4))) (+ (* 1/24 (/ (pow re 6) (pow im 6))) (* 1/2 (/ (pow re 2) (pow im 2)))))))
(-.f64 (+.f64 (*.f64 (*.f64 re re) (+.f64 (/.f64 (*.f64 re (*.f64 re #s(literal -1/8 binary64))) (*.f64 im (*.f64 im (*.f64 im im)))) (/.f64 #s(literal 1/2 binary64) (*.f64 im im)))) (log.f64 #s(literal -1 binary64))) (-.f64 (log.f64 (/.f64 #s(literal -1 binary64) im)) (/.f64 (*.f64 (pow.f64 re #s(literal 6 binary64)) #s(literal 1/24 binary64)) (pow.f64 im #s(literal 6 binary64)))))
(log im)
(log.f64 im)
(+ (log im) (* 1/2 (/ (pow re 2) (pow im 2))))
(+.f64 (log.f64 im) (/.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 re re)) (*.f64 im im)))
(+ (log im) (* (pow re 2) (+ (* -1/8 (/ (pow re 2) (pow im 4))) (* 1/2 (/ 1 (pow im 2))))))
(+.f64 (log.f64 im) (*.f64 (*.f64 re re) (+.f64 (/.f64 (*.f64 re (*.f64 re #s(literal -1/8 binary64))) (*.f64 im (*.f64 im (*.f64 im im)))) (/.f64 #s(literal 1/2 binary64) (*.f64 im im)))))
(+ (log im) (* (pow re 2) (+ (* (pow re 2) (- (* 1/24 (/ (pow re 2) (pow im 6))) (* 1/8 (/ 1 (pow im 4))))) (* 1/2 (/ 1 (pow im 2))))))
(+.f64 (log.f64 im) (*.f64 (*.f64 re re) (+.f64 (/.f64 #s(literal 1/2 binary64) (*.f64 im im)) (*.f64 re (*.f64 re (+.f64 (/.f64 (*.f64 (*.f64 re re) #s(literal 1/24 binary64)) (pow.f64 im #s(literal 6 binary64))) (/.f64 #s(literal -1/8 binary64) (*.f64 im (*.f64 im (*.f64 im im))))))))))
(+ (log (/ 1/2 im)) (* -2 (log (/ 1 re))))
(+.f64 (log.f64 (/.f64 #s(literal 1/2 binary64) im)) (*.f64 #s(literal 2 binary64) (log.f64 re)))
(+ (log (/ 1/2 im)) (+ (* -2 (log (/ 1 re))) (* 2 (/ (pow im 2) (pow re 2)))))
(+.f64 (log.f64 (/.f64 #s(literal 1/2 binary64) im)) (*.f64 #s(literal 2 binary64) (+.f64 (/.f64 (*.f64 (/.f64 im re) im) re) (log.f64 re))))
(+ (log (/ 1/2 im)) (+ (* -2 (log (/ 1 re))) (+ (* -2 (/ (pow im 4) (pow re 4))) (* 2 (/ (pow im 2) (pow re 2))))))
(+.f64 (log.f64 (/.f64 #s(literal 1/2 binary64) im)) (+.f64 (*.f64 #s(literal 2 binary64) (log.f64 re)) (*.f64 (*.f64 im im) (+.f64 (/.f64 (*.f64 (*.f64 im im) #s(literal -2 binary64)) (*.f64 (*.f64 re re) (*.f64 re re))) (/.f64 #s(literal 2 binary64) (*.f64 re re))))))
(+ (log (/ 1/2 im)) (+ (* -2 (log (/ 1 re))) (+ (* -2 (/ (pow im 4) (pow re 4))) (+ (* 2 (/ (pow im 2) (pow re 2))) (* 8/3 (/ (pow im 6) (pow re 6)))))))
(+.f64 (log.f64 (/.f64 #s(literal 1/2 binary64) im)) (+.f64 (*.f64 (*.f64 im im) (+.f64 (/.f64 (*.f64 (*.f64 im im) #s(literal -2 binary64)) (*.f64 (*.f64 re re) (*.f64 re re))) (/.f64 #s(literal 2 binary64) (*.f64 re re)))) (+.f64 (*.f64 #s(literal 2 binary64) (log.f64 re)) (/.f64 (*.f64 #s(literal 8/3 binary64) (pow.f64 im #s(literal 6 binary64))) (pow.f64 re #s(literal 6 binary64))))))
(+ (log (/ 1/2 im)) (* -2 (log (/ -1 re))))
(+.f64 (log.f64 (/.f64 #s(literal 1/2 binary64) im)) (*.f64 #s(literal -2 binary64) (log.f64 (/.f64 #s(literal -1 binary64) re))))
(+ (log (/ 1/2 im)) (+ (* -2 (log (/ -1 re))) (* 2 (/ (pow im 2) (pow re 2)))))
(+.f64 (/.f64 (*.f64 #s(literal 2 binary64) (*.f64 im im)) (*.f64 re re)) (+.f64 (log.f64 (/.f64 #s(literal 1/2 binary64) im)) (*.f64 #s(literal -2 binary64) (log.f64 (/.f64 #s(literal -1 binary64) re)))))
(+ (log (/ 1/2 im)) (+ (* -2 (log (/ -1 re))) (+ (* -2 (/ (pow im 4) (pow re 4))) (* 2 (/ (pow im 2) (pow re 2))))))
(+.f64 (*.f64 (*.f64 im im) (+.f64 (/.f64 (*.f64 (*.f64 im im) #s(literal -2 binary64)) (*.f64 (*.f64 re re) (*.f64 re re))) (/.f64 #s(literal 2 binary64) (*.f64 re re)))) (+.f64 (log.f64 (/.f64 #s(literal 1/2 binary64) im)) (*.f64 #s(literal -2 binary64) (log.f64 (/.f64 #s(literal -1 binary64) re)))))
(+ (log (/ 1/2 im)) (+ (* -2 (log (/ -1 re))) (+ (* -2 (/ (pow im 4) (pow re 4))) (+ (* 2 (/ (pow im 2) (pow re 2))) (* 8/3 (/ (pow im 6) (pow re 6)))))))
(+.f64 (log.f64 (/.f64 #s(literal 1/2 binary64) im)) (+.f64 (*.f64 (*.f64 im im) (+.f64 (/.f64 (*.f64 (*.f64 im im) #s(literal -2 binary64)) (*.f64 (*.f64 re re) (*.f64 re re))) (/.f64 #s(literal 2 binary64) (*.f64 re re)))) (+.f64 (/.f64 (*.f64 #s(literal 8/3 binary64) (pow.f64 im #s(literal 6 binary64))) (pow.f64 re #s(literal 6 binary64))) (*.f64 #s(literal -2 binary64) (log.f64 (/.f64 #s(literal -1 binary64) re))))))
(* 1/2 (/ (pow re 2) im))
(/.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 re re)) im)
(/ (+ (* 1/2 (pow re 2)) (pow im 2)) im)
(/.f64 (+.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 re re)) (*.f64 im im)) im)
(/ (+ (* 1/2 (pow re 2)) (pow im 2)) im)
(/.f64 (+.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 re re)) (*.f64 im im)) im)
(/ (+ (* 1/2 (pow re 2)) (pow im 2)) im)
(/.f64 (+.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 re re)) (*.f64 im im)) im)
im
(* im (+ 1 (* 1/2 (/ (pow re 2) (pow im 2)))))
(+.f64 im (/.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 re re)) im))
(* im (+ 1 (* 1/2 (/ (pow re 2) (pow im 2)))))
(+.f64 im (/.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 re re)) im))
(* im (+ 1 (* 1/2 (/ (pow re 2) (pow im 2)))))
(+.f64 im (/.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 re re)) im))
im
(* -1 (* im (- (* -1/2 (/ (pow re 2) (pow im 2))) 1)))
(+.f64 im (/.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 re re)) im))
(* -1 (* im (- (* -1/2 (/ (pow re 2) (pow im 2))) 1)))
(+.f64 im (/.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 re re)) im))
(* -1 (* im (- (* -1/2 (/ (pow re 2) (pow im 2))) 1)))
(+.f64 im (/.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 re re)) im))
im
(+ im (* 1/2 (/ (pow re 2) im)))
(+.f64 im (/.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 re re)) im))
(+ im (* 1/2 (/ (pow re 2) im)))
(+.f64 im (/.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 re re)) im))
(+ im (* 1/2 (/ (pow re 2) im)))
(+.f64 im (/.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 re re)) im))
(* 1/2 (/ (pow re 2) im))
(/.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 re re)) im)
(* (pow re 2) (+ (* 1/2 (/ 1 im)) (/ im (pow re 2))))
(+.f64 im (/.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 re re)) im))
(* (pow re 2) (+ (* 1/2 (/ 1 im)) (/ im (pow re 2))))
(+.f64 im (/.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 re re)) im))
(* (pow re 2) (+ (* 1/2 (/ 1 im)) (/ im (pow re 2))))
(+.f64 im (/.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 re re)) im))
(* 1/2 (/ (pow re 2) im))
(/.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 re re)) im)
(* (pow re 2) (+ (* 1/2 (/ 1 im)) (/ im (pow re 2))))
(+.f64 im (/.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 re re)) im))
(* (pow re 2) (+ (* 1/2 (/ 1 im)) (/ im (pow re 2))))
(+.f64 im (/.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 re re)) im))
(* (pow re 2) (+ (* 1/2 (/ 1 im)) (/ im (pow re 2))))
(+.f64 im (/.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 re re)) im))
(* 1/2 (/ (pow re 2) im))
(/.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 re re)) im)
(* 1/2 (/ (pow re 2) im))
(/.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 re re)) im)
(* 1/2 (/ (pow re 2) im))
(/.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 re re)) im)
(* 1/2 (/ (pow re 2) im))
(/.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 re re)) im)
(* 1/2 (/ (pow re 2) im))
(/.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 re re)) im)
(* 1/2 (/ (pow re 2) im))
(/.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 re re)) im)
(* 1/2 (/ (pow re 2) im))
(/.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 re re)) im)
(* 1/2 (/ (pow re 2) im))
(/.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 re re)) im)
(* 1/2 (/ (pow re 2) im))
(/.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 re re)) im)
(* 1/2 (/ (pow re 2) im))
(/.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 re re)) im)
(* 1/2 (/ (pow re 2) im))
(/.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 re re)) im)
(* 1/2 (/ (pow re 2) im))
(/.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 re re)) im)
(* 1/2 (/ (pow re 2) im))
(/.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 re re)) im)
(* 1/2 (/ (pow re 2) im))
(/.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 re re)) im)
(* 1/2 (/ (pow re 2) im))
(/.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 re re)) im)
(* 1/2 (/ (pow re 2) im))
(/.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 re re)) im)
(* 1/2 (/ (pow re 2) im))
(/.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 re re)) im)
(* 1/2 (/ (pow re 2) im))
(/.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 re re)) im)
(* 1/2 (/ (pow re 2) im))
(/.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 re re)) im)
(* 1/2 (/ (pow re 2) im))
(/.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 re re)) im)
(* 1/2 (/ (pow re 2) im))
(/.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 re re)) im)
(* 1/2 (/ (pow re 2) im))
(/.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 re re)) im)
(* 1/2 (/ (pow re 2) im))
(/.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 re re)) im)
(* 1/2 (/ (pow re 2) im))
(/.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 re re)) im)
(* 1/2 re)
(*.f64 #s(literal 1/2 binary64) re)
(* 1/2 re)
(*.f64 #s(literal 1/2 binary64) re)
(* 1/2 re)
(*.f64 #s(literal 1/2 binary64) re)
(* 1/2 re)
(*.f64 #s(literal 1/2 binary64) re)
(* 1/2 re)
(*.f64 #s(literal 1/2 binary64) re)
(* 1/2 re)
(*.f64 #s(literal 1/2 binary64) re)
(* 1/2 re)
(*.f64 #s(literal 1/2 binary64) re)
(* 1/2 re)
(*.f64 #s(literal 1/2 binary64) re)
(* 1/2 re)
(*.f64 #s(literal 1/2 binary64) re)
(* 1/2 re)
(*.f64 #s(literal 1/2 binary64) re)
(* 1/2 re)
(*.f64 #s(literal 1/2 binary64) re)
(* 1/2 re)
(*.f64 #s(literal 1/2 binary64) re)
(log im)
(log.f64 im)
(log im)
(log.f64 im)
(log im)
(log.f64 im)
(log im)
(log.f64 im)
(* -1 (log (/ 1 im)))
(log.f64 im)
(* -1 (log (/ 1 im)))
(log.f64 im)
(* -1 (log (/ 1 im)))
(log.f64 im)
(* -1 (log (/ 1 im)))
(log.f64 im)
(* -1 (log (/ -1 im)))
(-.f64 #s(literal 0 binary64) (log.f64 (/.f64 #s(literal -1 binary64) im)))
(* -1 (log (/ -1 im)))
(-.f64 #s(literal 0 binary64) (log.f64 (/.f64 #s(literal -1 binary64) im)))
(* -1 (log (/ -1 im)))
(-.f64 #s(literal 0 binary64) (log.f64 (/.f64 #s(literal -1 binary64) im)))
(* -1 (log (/ -1 im)))
(-.f64 #s(literal 0 binary64) (log.f64 (/.f64 #s(literal -1 binary64) im)))
(* 2 (log im))
(*.f64 #s(literal 2 binary64) (log.f64 im))
(* 2 (log im))
(*.f64 #s(literal 2 binary64) (log.f64 im))
(* 2 (log im))
(*.f64 #s(literal 2 binary64) (log.f64 im))
(* 2 (log im))
(*.f64 #s(literal 2 binary64) (log.f64 im))
(* -2 (log (/ 1 im)))
(*.f64 #s(literal 2 binary64) (log.f64 im))
(* -2 (log (/ 1 im)))
(*.f64 #s(literal 2 binary64) (log.f64 im))
(* -2 (log (/ 1 im)))
(*.f64 #s(literal 2 binary64) (log.f64 im))
(* -2 (log (/ 1 im)))
(*.f64 #s(literal 2 binary64) (log.f64 im))
(* -2 (log (/ -1 im)))
(*.f64 #s(literal -2 binary64) (log.f64 (/.f64 #s(literal -1 binary64) im)))
(* -2 (log (/ -1 im)))
(*.f64 #s(literal -2 binary64) (log.f64 (/.f64 #s(literal -1 binary64) im)))
(* -2 (log (/ -1 im)))
(*.f64 #s(literal -2 binary64) (log.f64 (/.f64 #s(literal -1 binary64) im)))
(* -2 (log (/ -1 im)))
(*.f64 #s(literal -2 binary64) (log.f64 (/.f64 #s(literal -1 binary64) im)))
(pow im 2)
(*.f64 im im)
(pow im 2)
(*.f64 im im)
(pow im 2)
(*.f64 im im)
(pow im 2)
(*.f64 im im)
(pow im 2)
(*.f64 im im)
(pow im 2)
(*.f64 im im)
(pow im 2)
(*.f64 im im)
(pow im 2)
(*.f64 im im)
(pow im 2)
(*.f64 im im)
(pow im 2)
(*.f64 im im)
(pow im 2)
(*.f64 im im)
(pow im 2)
(*.f64 im im)
(* 1/2 (/ (pow re 2) (pow im 2)))
(/.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 re re)) (*.f64 im im))
(* 1/2 (/ (pow re 2) (pow im 2)))
(/.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 re re)) (*.f64 im im))
(* 1/2 (/ (pow re 2) (pow im 2)))
(/.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 re re)) (*.f64 im im))
(* 1/2 (/ (pow re 2) (pow im 2)))
(/.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 re re)) (*.f64 im im))
(* 1/2 (/ (pow re 2) (pow im 2)))
(/.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 re re)) (*.f64 im im))
(* 1/2 (/ (pow re 2) (pow im 2)))
(/.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 re re)) (*.f64 im im))
(* 1/2 (/ (pow re 2) (pow im 2)))
(/.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 re re)) (*.f64 im im))
(* 1/2 (/ (pow re 2) (pow im 2)))
(/.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 re re)) (*.f64 im im))
(* 1/2 (/ (pow re 2) (pow im 2)))
(/.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 re re)) (*.f64 im im))
(* 1/2 (/ (pow re 2) (pow im 2)))
(/.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 re re)) (*.f64 im im))
(* 1/2 (/ (pow re 2) (pow im 2)))
(/.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 re re)) (*.f64 im im))
(* 1/2 (/ (pow re 2) (pow im 2)))
(/.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 re re)) (*.f64 im im))
(* 1/2 (/ (pow re 2) (pow im 2)))
(/.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 re re)) (*.f64 im im))
(* 1/2 (/ (pow re 2) (pow im 2)))
(/.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 re re)) (*.f64 im im))
(* 1/2 (/ (pow re 2) (pow im 2)))
(/.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 re re)) (*.f64 im im))
(* 1/2 (/ (pow re 2) (pow im 2)))
(/.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 re re)) (*.f64 im im))
(* 1/2 (/ (pow re 2) (pow im 2)))
(/.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 re re)) (*.f64 im im))
(* 1/2 (/ (pow re 2) (pow im 2)))
(/.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 re re)) (*.f64 im im))
(* 1/2 (/ (pow re 2) (pow im 2)))
(/.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 re re)) (*.f64 im im))
(* 1/2 (/ (pow re 2) (pow im 2)))
(/.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 re re)) (*.f64 im im))
(* 1/2 (/ (pow re 2) (pow im 2)))
(/.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 re re)) (*.f64 im im))
(* 1/2 (/ (pow re 2) (pow im 2)))
(/.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 re re)) (*.f64 im im))
(* 1/2 (/ (pow re 2) (pow im 2)))
(/.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 re re)) (*.f64 im im))
(* 1/2 (/ (pow re 2) (pow im 2)))
(/.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 re re)) (*.f64 im im))
(* 1/2 (pow re 2))
(*.f64 #s(literal 1/2 binary64) (*.f64 re re))
(* 1/2 (pow re 2))
(*.f64 #s(literal 1/2 binary64) (*.f64 re re))
(* 1/2 (pow re 2))
(*.f64 #s(literal 1/2 binary64) (*.f64 re re))
(* 1/2 (pow re 2))
(*.f64 #s(literal 1/2 binary64) (*.f64 re re))
(* 1/2 (pow re 2))
(*.f64 #s(literal 1/2 binary64) (*.f64 re re))
(* 1/2 (pow re 2))
(*.f64 #s(literal 1/2 binary64) (*.f64 re re))
(* 1/2 (pow re 2))
(*.f64 #s(literal 1/2 binary64) (*.f64 re re))
(* 1/2 (pow re 2))
(*.f64 #s(literal 1/2 binary64) (*.f64 re re))
(* 1/2 (pow re 2))
(*.f64 #s(literal 1/2 binary64) (*.f64 re re))
(* 1/2 (pow re 2))
(*.f64 #s(literal 1/2 binary64) (*.f64 re re))
(* 1/2 (pow re 2))
(*.f64 #s(literal 1/2 binary64) (*.f64 re re))
(* 1/2 (pow re 2))
(*.f64 #s(literal 1/2 binary64) (*.f64 re re))
(pow re 2)
(*.f64 re re)
(pow re 2)
(*.f64 re re)
(pow re 2)
(*.f64 re re)
(pow re 2)
(*.f64 re re)
(pow re 2)
(*.f64 re re)
(pow re 2)
(*.f64 re re)
(pow re 2)
(*.f64 re re)
(pow re 2)
(*.f64 re re)
(pow re 2)
(*.f64 re re)
(pow re 2)
(*.f64 re re)
(pow re 2)
(*.f64 re re)
(pow re 2)
(*.f64 re re)

eval70.0ms (1.2%)

Compiler

Compiled 9341 to 1042 computations (88.8% saved)

prune106.0ms (1.8%)

Pruning

26 alts after pruning (19 fresh and 7 done)

PrunedKeptTotal
New58919608
Fresh000
Picked123
Done055
Total59026616
Accuracy
100.0%
Counts
616 → 26
Alt Table
Click to see full alt table
StatusAccuracyProgram
3.8%
(/.f64 (/.f64 #s(literal 1 binary64) im) (/.f64 #s(literal 2 binary64) (*.f64 re re)))
3.3%
(/.f64 (/.f64 #s(literal 1/2 binary64) (/.f64 im (*.f64 re re))) im)
3.6%
(/.f64 (/.f64 #s(literal 1/2 binary64) (/.f64 im re)) (/.f64 im re))
4.0%
(/.f64 (/.f64 #s(literal 1/2 binary64) (/.f64 im re)) (/.f64 #s(literal 1 binary64) re))
3.8%
(/.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 re re)) (/.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) im)))
3.8%
(/.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 re re)) im)
3.8%
(/.f64 #s(literal 1/2 binary64) (/.f64 im (*.f64 re re)))
0.0%
(/.f64 #s(literal 0 binary64) #s(literal 0 binary64))
91.1%
(+.f64 (log.f64 im) (/.f64 (/.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 re re)) im) im))
3.6%
(*.f64 (/.f64 re (/.f64 im re)) (/.f64 #s(literal 1/2 binary64) im))
4.0%
(*.f64 (/.f64 re (/.f64 im re)) #s(literal 1/2 binary64))
3.6%
(*.f64 (/.f64 re im) (/.f64 #s(literal 1/2 binary64) (/.f64 im re)))
4.0%
(*.f64 (/.f64 re im) (/.f64 #s(literal 1/2 binary64) (/.f64 #s(literal 1 binary64) re)))
4.0%
(*.f64 (/.f64 re im) (*.f64 #s(literal 1/2 binary64) re))
4.0%
(*.f64 (/.f64 #s(literal 1/2 binary64) (/.f64 im re)) re)
3.8%
(*.f64 (/.f64 #s(literal 1/2 binary64) im) (/.f64 re (/.f64 #s(literal 1 binary64) re)))
3.8%
(*.f64 (/.f64 #s(literal 1/2 binary64) im) (*.f64 re re))
4.0%
(*.f64 (-.f64 #s(literal 0 binary64) re) (*.f64 (/.f64 #s(literal -1 binary64) im) (*.f64 #s(literal 1/2 binary64) re)))
3.5%
(*.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) im) (/.f64 re im)) re)
2.8%
(*.f64 (*.f64 re re) (*.f64 (/.f64 #s(literal 1 binary64) im) (/.f64 #s(literal 1/2 binary64) im)))
51.1%
(*.f64 (log.f64 (+.f64 (*.f64 re re) (*.f64 im im))) #s(literal 1/2 binary64))
50.6%
(*.f64 (log.f64 (*.f64 im im)) #s(literal 1/2 binary64))
100.0%
(log.f64 (hypot.f64 re im))
91.1%
(log.f64 (+.f64 im (/.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 re re)) im)))
99.9%
(log.f64 (+.f64 im (*.f64 (*.f64 #s(literal 1/2 binary64) re) (/.f64 re im))))
98.9%
(log.f64 im)
Compiler

Compiled 462 to 314 computations (32% saved)

simplify6.0ms (0.1%)

Algorithm
egg-herbie
Localize:

Found 16 expressions of interest:

NewMetricScoreProgram
cost-diff0
(/.f64 #s(literal 1 binary64) re)
cost-diff0
(/.f64 im re)
cost-diff0
(/.f64 #s(literal 1/2 binary64) (/.f64 im re))
cost-diff0
(/.f64 (/.f64 #s(literal 1/2 binary64) (/.f64 im re)) (/.f64 #s(literal 1 binary64) re))
cost-diff0
(/.f64 #s(literal 1 binary64) re)
cost-diff0
(/.f64 re (/.f64 #s(literal 1 binary64) re))
cost-diff0
(/.f64 #s(literal 1/2 binary64) im)
cost-diff0
(*.f64 (/.f64 #s(literal 1/2 binary64) im) (/.f64 re (/.f64 #s(literal 1 binary64) re)))
cost-diff0
(/.f64 im re)
cost-diff0
(/.f64 re (/.f64 im re))
cost-diff0
(*.f64 (/.f64 re (/.f64 im re)) #s(literal 1/2 binary64))
cost-diff0
(/.f64 #s(literal 0 binary64) #s(literal 0 binary64))
cost-diff0
(/.f64 #s(literal -1 binary64) im)
cost-diff0
(*.f64 (/.f64 #s(literal -1 binary64) im) (*.f64 #s(literal 1/2 binary64) re))
cost-diff0
(-.f64 #s(literal 0 binary64) re)
cost-diff0
(*.f64 (-.f64 #s(literal 0 binary64) re) (*.f64 (/.f64 #s(literal -1 binary64) im) (*.f64 #s(literal 1/2 binary64) re)))
Rules
18×/-lowering-/.f32
18×/-lowering-/.f64
10×*-lowering-*.f32
10×*-lowering-*.f64
--lowering--.f32
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
021102
Stop Event
iter limit
iter limit
unsound
Calls
Call 1
Inputs
(* (- 0 re) (* (/ -1 im) (* 1/2 re)))
(- 0 re)
0
re
(* (/ -1 im) (* 1/2 re))
(/ -1 im)
-1
im
(* 1/2 re)
1/2
(/ 0 0)
0
(* (/ re (/ im re)) 1/2)
(/ re (/ im re))
re
(/ im re)
im
1/2
(* (/ 1/2 im) (/ re (/ 1 re)))
(/ 1/2 im)
1/2
im
(/ re (/ 1 re))
re
(/ 1 re)
1
(/ (/ 1/2 (/ im re)) (/ 1 re))
(/ 1/2 (/ im re))
1/2
(/ im re)
im
re
(/ 1 re)
1
Outputs
(* (- 0 re) (* (/ -1 im) (* 1/2 re)))
(*.f64 (-.f64 #s(literal 0 binary64) re) (*.f64 (/.f64 #s(literal -1 binary64) im) (*.f64 #s(literal 1/2 binary64) re)))
(- 0 re)
(-.f64 #s(literal 0 binary64) re)
0
#s(literal 0 binary64)
re
(* (/ -1 im) (* 1/2 re))
(*.f64 (/.f64 #s(literal -1 binary64) im) (*.f64 #s(literal 1/2 binary64) re))
(/ -1 im)
(/.f64 #s(literal -1 binary64) im)
-1
#s(literal -1 binary64)
im
(* 1/2 re)
(*.f64 #s(literal 1/2 binary64) re)
1/2
#s(literal 1/2 binary64)
(/ 0 0)
(/.f64 #s(literal 0 binary64) #s(literal 0 binary64))
0
#s(literal 0 binary64)
(* (/ re (/ im re)) 1/2)
(*.f64 (/.f64 re (/.f64 im re)) #s(literal 1/2 binary64))
(/ re (/ im re))
(/.f64 re (/.f64 im re))
re
(/ im re)
(/.f64 im re)
im
1/2
#s(literal 1/2 binary64)
(* (/ 1/2 im) (/ re (/ 1 re)))
(*.f64 (/.f64 #s(literal 1/2 binary64) im) (/.f64 re (/.f64 #s(literal 1 binary64) re)))
(/ 1/2 im)
(/.f64 #s(literal 1/2 binary64) im)
1/2
#s(literal 1/2 binary64)
im
(/ re (/ 1 re))
(/.f64 re (/.f64 #s(literal 1 binary64) re))
re
(/ 1 re)
(/.f64 #s(literal 1 binary64) re)
1
#s(literal 1 binary64)
(/ (/ 1/2 (/ im re)) (/ 1 re))
(/.f64 (/.f64 #s(literal 1/2 binary64) (/.f64 im re)) (/.f64 #s(literal 1 binary64) re))
(/ 1/2 (/ im re))
(/.f64 #s(literal 1/2 binary64) (/.f64 im re))
1/2
#s(literal 1/2 binary64)
(/ im re)
(/.f64 im re)
im
re
(/ 1 re)
(/.f64 #s(literal 1 binary64) re)
1
#s(literal 1 binary64)

localize87.0ms (1.5%)

Localize:

Found 16 expressions of interest:

NewMetricScoreProgram
accuracy100.0%
(/.f64 (/.f64 #s(literal 1/2 binary64) (/.f64 im re)) (/.f64 #s(literal 1 binary64) re))
accuracy100.0%
(/.f64 im re)
accuracy100.0%
(/.f64 #s(literal 1 binary64) re)
accuracy100.0%
(/.f64 #s(literal 1/2 binary64) (/.f64 im re))
accuracy100.0%
(/.f64 re (/.f64 #s(literal 1 binary64) re))
accuracy100.0%
(/.f64 #s(literal 1 binary64) re)
accuracy100.0%
(/.f64 #s(literal 1/2 binary64) im)
accuracy100.0%
(*.f64 (/.f64 #s(literal 1/2 binary64) im) (/.f64 re (/.f64 #s(literal 1 binary64) re)))
accuracy100.0%
(/.f64 re (/.f64 im re))
accuracy100.0%
(/.f64 im re)
accuracy100.0%
(*.f64 (/.f64 re (/.f64 im re)) #s(literal 1/2 binary64))
accuracy100.0%
(/.f64 #s(literal 0 binary64) #s(literal 0 binary64))
accuracy100.0%
(-.f64 #s(literal 0 binary64) re)
accuracy100.0%
(*.f64 (/.f64 #s(literal -1 binary64) im) (*.f64 #s(literal 1/2 binary64) re))
accuracy100.0%
(*.f64 (-.f64 #s(literal 0 binary64) re) (*.f64 (/.f64 #s(literal -1 binary64) im) (*.f64 #s(literal 1/2 binary64) re)))
accuracy100.0%
(*.f64 #s(literal 1/2 binary64) re)
Results
50.0ms256×0invalid
Compiler

Compiled 105 to 22 computations (79% saved)

Precisions
Click to see histograms. Total time spent on operations: 24.0ms
ival-div: 14.0ms (57.6% of total)
ival-mult: 8.0ms (32.9% of total)
ival-sub: 1.0ms (4.1% of total)
const: 1.0ms (4.1% of total)
backward-pass: 0.0ms (0% of total)

series11.0ms (0.2%)

Counts
15 → 264
Calls
Call 1
Inputs
#<alt (* (- 0 re) (* (/ -1 im) (* 1/2 re)))>
#<alt (- 0 re)>
#<alt (* (/ -1 im) (* 1/2 re))>
#<alt (/ -1 im)>
#<alt (/ 0 0)>
#<alt (* (/ re (/ im re)) 1/2)>
#<alt (/ re (/ im re))>
#<alt (/ im re)>
#<alt (* (/ 1/2 im) (/ re (/ 1 re)))>
#<alt (/ 1/2 im)>
#<alt (/ re (/ 1 re))>
#<alt (/ 1 re)>
#<alt (/ (/ 1/2 (/ im re)) (/ 1 re))>
#<alt (/ 1/2 (/ im re))>
#<alt (* 1/2 re)>
Outputs
#<alt (* 1/2 (/ (pow re 2) im))>
#<alt (* 1/2 (/ (pow re 2) im))>
#<alt (* 1/2 (/ (pow re 2) im))>
#<alt (* 1/2 (/ (pow re 2) im))>
#<alt (* 1/2 (/ (pow re 2) im))>
#<alt (* 1/2 (/ (pow re 2) im))>
#<alt (* 1/2 (/ (pow re 2) im))>
#<alt (* 1/2 (/ (pow re 2) im))>
#<alt (* 1/2 (/ (pow re 2) im))>
#<alt (* 1/2 (/ (pow re 2) im))>
#<alt (* 1/2 (/ (pow re 2) im))>
#<alt (* 1/2 (/ (pow re 2) im))>
#<alt (* 1/2 (/ (pow re 2) im))>
#<alt (* 1/2 (/ (pow re 2) im))>
#<alt (* 1/2 (/ (pow re 2) im))>
#<alt (* 1/2 (/ (pow re 2) im))>
#<alt (* 1/2 (/ (pow re 2) im))>
#<alt (* 1/2 (/ (pow re 2) im))>
#<alt (* 1/2 (/ (pow re 2) im))>
#<alt (* 1/2 (/ (pow re 2) im))>
#<alt (* 1/2 (/ (pow re 2) im))>
#<alt (* 1/2 (/ (pow re 2) im))>
#<alt (* 1/2 (/ (pow re 2) im))>
#<alt (* 1/2 (/ (pow re 2) im))>
#<alt (* -1 re)>
#<alt (* -1 re)>
#<alt (* -1 re)>
#<alt (* -1 re)>
#<alt (* -1 re)>
#<alt (* -1 re)>
#<alt (* -1 re)>
#<alt (* -1 re)>
#<alt (* -1 re)>
#<alt (* -1 re)>
#<alt (* -1 re)>
#<alt (* -1 re)>
#<alt (* -1/2 (/ re im))>
#<alt (* -1/2 (/ re im))>
#<alt (* -1/2 (/ re im))>
#<alt (* -1/2 (/ re im))>
#<alt (* -1/2 (/ re im))>
#<alt (* -1/2 (/ re im))>
#<alt (* -1/2 (/ re im))>
#<alt (* -1/2 (/ re im))>
#<alt (* -1/2 (/ re im))>
#<alt (* -1/2 (/ re im))>
#<alt (* -1/2 (/ re im))>
#<alt (* -1/2 (/ re im))>
#<alt (* -1/2 (/ re im))>
#<alt (* -1/2 (/ re im))>
#<alt (* -1/2 (/ re im))>
#<alt (* -1/2 (/ re im))>
#<alt (* -1/2 (/ re im))>
#<alt (* -1/2 (/ re im))>
#<alt (* -1/2 (/ re im))>
#<alt (* -1/2 (/ re im))>
#<alt (* -1/2 (/ re im))>
#<alt (* -1/2 (/ re im))>
#<alt (* -1/2 (/ re im))>
#<alt (* -1/2 (/ re im))>
#<alt (/ -1 im)>
#<alt (/ -1 im)>
#<alt (/ -1 im)>
#<alt (/ -1 im)>
#<alt (/ -1 im)>
#<alt (/ -1 im)>
#<alt (/ -1 im)>
#<alt (/ -1 im)>
#<alt (/ -1 im)>
#<alt (/ -1 im)>
#<alt (/ -1 im)>
#<alt (/ -1 im)>
#<alt (* 1/2 (/ (pow re 2) im))>
#<alt (* 1/2 (/ (pow re 2) im))>
#<alt (* 1/2 (/ (pow re 2) im))>
#<alt (* 1/2 (/ (pow re 2) im))>
#<alt (* 1/2 (/ (pow re 2) im))>
#<alt (* 1/2 (/ (pow re 2) im))>
#<alt (* 1/2 (/ (pow re 2) im))>
#<alt (* 1/2 (/ (pow re 2) im))>
#<alt (* 1/2 (/ (pow re 2) im))>
#<alt (* 1/2 (/ (pow re 2) im))>
#<alt (* 1/2 (/ (pow re 2) im))>
#<alt (* 1/2 (/ (pow re 2) im))>
#<alt (* 1/2 (/ (pow re 2) im))>
#<alt (* 1/2 (/ (pow re 2) im))>
#<alt (* 1/2 (/ (pow re 2) im))>
#<alt (* 1/2 (/ (pow re 2) im))>
#<alt (* 1/2 (/ (pow re 2) im))>
#<alt (* 1/2 (/ (pow re 2) im))>
#<alt (* 1/2 (/ (pow re 2) im))>
#<alt (* 1/2 (/ (pow re 2) im))>
#<alt (* 1/2 (/ (pow re 2) im))>
#<alt (* 1/2 (/ (pow re 2) im))>
#<alt (* 1/2 (/ (pow re 2) im))>
#<alt (* 1/2 (/ (pow re 2) im))>
#<alt (/ (pow re 2) im)>
#<alt (/ (pow re 2) im)>
#<alt (/ (pow re 2) im)>
#<alt (/ (pow re 2) im)>
#<alt (/ (pow re 2) im)>
#<alt (/ (pow re 2) im)>
#<alt (/ (pow re 2) im)>
#<alt (/ (pow re 2) im)>
#<alt (/ (pow re 2) im)>
#<alt (/ (pow re 2) im)>
#<alt (/ (pow re 2) im)>
#<alt (/ (pow re 2) im)>
#<alt (/ (pow re 2) im)>
#<alt (/ (pow re 2) im)>
#<alt (/ (pow re 2) im)>
#<alt (/ (pow re 2) im)>
#<alt (/ (pow re 2) im)>
#<alt (/ (pow re 2) im)>
#<alt (/ (pow re 2) im)>
#<alt (/ (pow re 2) im)>
#<alt (/ (pow re 2) im)>
#<alt (/ (pow re 2) im)>
#<alt (/ (pow re 2) im)>
#<alt (/ (pow re 2) im)>
#<alt (/ im re)>
#<alt (/ im re)>
#<alt (/ im re)>
#<alt (/ im re)>
#<alt (/ im re)>
#<alt (/ im re)>
#<alt (/ im re)>
#<alt (/ im re)>
#<alt (/ im re)>
#<alt (/ im re)>
#<alt (/ im re)>
#<alt (/ im re)>
#<alt (/ im re)>
#<alt (/ im re)>
#<alt (/ im re)>
#<alt (/ im re)>
#<alt (/ im re)>
#<alt (/ im re)>
#<alt (/ im re)>
#<alt (/ im re)>
#<alt (/ im re)>
#<alt (/ im re)>
#<alt (/ im re)>
#<alt (/ im re)>
#<alt (* 1/2 (/ (pow re 2) im))>
#<alt (* 1/2 (/ (pow re 2) im))>
#<alt (* 1/2 (/ (pow re 2) im))>
#<alt (* 1/2 (/ (pow re 2) im))>
#<alt (* 1/2 (/ (pow re 2) im))>
#<alt (* 1/2 (/ (pow re 2) im))>
#<alt (* 1/2 (/ (pow re 2) im))>
#<alt (* 1/2 (/ (pow re 2) im))>
#<alt (* 1/2 (/ (pow re 2) im))>
#<alt (* 1/2 (/ (pow re 2) im))>
#<alt (* 1/2 (/ (pow re 2) im))>
#<alt (* 1/2 (/ (pow re 2) im))>
#<alt (* 1/2 (/ (pow re 2) im))>
#<alt (* 1/2 (/ (pow re 2) im))>
#<alt (* 1/2 (/ (pow re 2) im))>
#<alt (* 1/2 (/ (pow re 2) im))>
#<alt (* 1/2 (/ (pow re 2) im))>
#<alt (* 1/2 (/ (pow re 2) im))>
#<alt (* 1/2 (/ (pow re 2) im))>
#<alt (* 1/2 (/ (pow re 2) im))>
#<alt (* 1/2 (/ (pow re 2) im))>
#<alt (* 1/2 (/ (pow re 2) im))>
#<alt (* 1/2 (/ (pow re 2) im))>
#<alt (* 1/2 (/ (pow re 2) im))>
#<alt (/ 1/2 im)>
#<alt (/ 1/2 im)>
#<alt (/ 1/2 im)>
#<alt (/ 1/2 im)>
#<alt (/ 1/2 im)>
#<alt (/ 1/2 im)>
#<alt (/ 1/2 im)>
#<alt (/ 1/2 im)>
#<alt (/ 1/2 im)>
#<alt (/ 1/2 im)>
#<alt (/ 1/2 im)>
#<alt (/ 1/2 im)>
#<alt (pow re 2)>
#<alt (pow re 2)>
#<alt (pow re 2)>
#<alt (pow re 2)>
#<alt (pow re 2)>
#<alt (pow re 2)>
#<alt (pow re 2)>
#<alt (pow re 2)>
#<alt (pow re 2)>
#<alt (pow re 2)>
#<alt (pow re 2)>
#<alt (pow re 2)>
#<alt (/ 1 re)>
#<alt (/ 1 re)>
#<alt (/ 1 re)>
#<alt (/ 1 re)>
#<alt (/ 1 re)>
#<alt (/ 1 re)>
#<alt (/ 1 re)>
#<alt (/ 1 re)>
#<alt (/ 1 re)>
#<alt (/ 1 re)>
#<alt (/ 1 re)>
#<alt (/ 1 re)>
#<alt (* 1/2 (/ (pow re 2) im))>
#<alt (* 1/2 (/ (pow re 2) im))>
#<alt (* 1/2 (/ (pow re 2) im))>
#<alt (* 1/2 (/ (pow re 2) im))>
#<alt (* 1/2 (/ (pow re 2) im))>
#<alt (* 1/2 (/ (pow re 2) im))>
#<alt (* 1/2 (/ (pow re 2) im))>
#<alt (* 1/2 (/ (pow re 2) im))>
#<alt (* 1/2 (/ (pow re 2) im))>
#<alt (* 1/2 (/ (pow re 2) im))>
#<alt (* 1/2 (/ (pow re 2) im))>
#<alt (* 1/2 (/ (pow re 2) im))>
#<alt (* 1/2 (/ (pow re 2) im))>
#<alt (* 1/2 (/ (pow re 2) im))>
#<alt (* 1/2 (/ (pow re 2) im))>
#<alt (* 1/2 (/ (pow re 2) im))>
#<alt (* 1/2 (/ (pow re 2) im))>
#<alt (* 1/2 (/ (pow re 2) im))>
#<alt (* 1/2 (/ (pow re 2) im))>
#<alt (* 1/2 (/ (pow re 2) im))>
#<alt (* 1/2 (/ (pow re 2) im))>
#<alt (* 1/2 (/ (pow re 2) im))>
#<alt (* 1/2 (/ (pow re 2) im))>
#<alt (* 1/2 (/ (pow re 2) im))>
#<alt (* 1/2 (/ re im))>
#<alt (* 1/2 (/ re im))>
#<alt (* 1/2 (/ re im))>
#<alt (* 1/2 (/ re im))>
#<alt (* 1/2 (/ re im))>
#<alt (* 1/2 (/ re im))>
#<alt (* 1/2 (/ re im))>
#<alt (* 1/2 (/ re im))>
#<alt (* 1/2 (/ re im))>
#<alt (* 1/2 (/ re im))>
#<alt (* 1/2 (/ re im))>
#<alt (* 1/2 (/ re im))>
#<alt (* 1/2 (/ re im))>
#<alt (* 1/2 (/ re im))>
#<alt (* 1/2 (/ re im))>
#<alt (* 1/2 (/ re im))>
#<alt (* 1/2 (/ re im))>
#<alt (* 1/2 (/ re im))>
#<alt (* 1/2 (/ re im))>
#<alt (* 1/2 (/ re im))>
#<alt (* 1/2 (/ re im))>
#<alt (* 1/2 (/ re im))>
#<alt (* 1/2 (/ re im))>
#<alt (* 1/2 (/ re im))>
#<alt (* 1/2 re)>
#<alt (* 1/2 re)>
#<alt (* 1/2 re)>
#<alt (* 1/2 re)>
#<alt (* 1/2 re)>
#<alt (* 1/2 re)>
#<alt (* 1/2 re)>
#<alt (* 1/2 re)>
#<alt (* 1/2 re)>
#<alt (* 1/2 re)>
#<alt (* 1/2 re)>
#<alt (* 1/2 re)>
Calls

66 calls:

TimeVariablePointExpression
1.0ms
re
@0
(* (- 0 re) (* (/ -1 im) (* 1/2 re)))
0.0ms
im
@0
(* (/ -1 im) (* 1/2 re))
0.0ms
im
@inf
(* (/ -1 im) (* 1/2 re))
0.0ms
re
@inf
(* (/ -1 im) (* 1/2 re))
0.0ms
re
@0
(* (/ -1 im) (* 1/2 re))

rewrite17.0ms (0.3%)

Algorithm
batch-egg-rewrite
Rules
18×/-lowering-/.f32
18×/-lowering-/.f64
10×*-lowering-*.f32
10×*-lowering-*.f64
--lowering--.f32
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02179
Stop Event
iter limit
iter limit
unsound
Counts
15 → 15
Calls
Call 1
Inputs
(* (- 0 re) (* (/ -1 im) (* 1/2 re)))
(- 0 re)
(* (/ -1 im) (* 1/2 re))
(/ -1 im)
(/ 0 0)
(* (/ re (/ im re)) 1/2)
(/ re (/ im re))
(/ im re)
(* (/ 1/2 im) (/ re (/ 1 re)))
(/ 1/2 im)
(/ re (/ 1 re))
(/ 1 re)
(/ (/ 1/2 (/ im re)) (/ 1 re))
(/ 1/2 (/ im re))
(* 1/2 re)
Outputs
(*.f64 (-.f64 #s(literal 0 binary64) re) (*.f64 (/.f64 #s(literal -1 binary64) im) (*.f64 #s(literal 1/2 binary64) re)))
(-.f64 #s(literal 0 binary64) re)
(*.f64 (/.f64 #s(literal -1 binary64) im) (*.f64 #s(literal 1/2 binary64) re))
(/.f64 #s(literal -1 binary64) im)
(/.f64 #s(literal 0 binary64) #s(literal 0 binary64))
(*.f64 (/.f64 re (/.f64 im re)) #s(literal 1/2 binary64))
(/.f64 re (/.f64 im re))
(/.f64 im re)
(*.f64 (/.f64 #s(literal 1/2 binary64) im) (/.f64 re (/.f64 #s(literal 1 binary64) re)))
(/.f64 #s(literal 1/2 binary64) im)
(/.f64 re (/.f64 #s(literal 1 binary64) re))
(/.f64 #s(literal 1 binary64) re)
(/.f64 (/.f64 #s(literal 1/2 binary64) (/.f64 im re)) (/.f64 #s(literal 1 binary64) re))
(/.f64 #s(literal 1/2 binary64) (/.f64 im re))
(*.f64 #s(literal 1/2 binary64) re)

simplify66.0ms (1.1%)

Algorithm
egg-herbie
Rules
104×fma-define
80×sum3-define
58×fma-lowering-fma.f32
58×*-lowering-*.f32
58×*-lowering-*.f64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0191296
1341296
2421296
3511296
4571296
5631296
6671296
71051296
82361296
92461296
102471296
02471296
Stop Event
iter limit
saturated
Counts
264 → 264
Calls
Call 1
Inputs
(* 1/2 (/ (pow re 2) im))
(* 1/2 (/ (pow re 2) im))
(* 1/2 (/ (pow re 2) im))
(* 1/2 (/ (pow re 2) im))
(* 1/2 (/ (pow re 2) im))
(* 1/2 (/ (pow re 2) im))
(* 1/2 (/ (pow re 2) im))
(* 1/2 (/ (pow re 2) im))
(* 1/2 (/ (pow re 2) im))
(* 1/2 (/ (pow re 2) im))
(* 1/2 (/ (pow re 2) im))
(* 1/2 (/ (pow re 2) im))
(* 1/2 (/ (pow re 2) im))
(* 1/2 (/ (pow re 2) im))
(* 1/2 (/ (pow re 2) im))
(* 1/2 (/ (pow re 2) im))
(* 1/2 (/ (pow re 2) im))
(* 1/2 (/ (pow re 2) im))
(* 1/2 (/ (pow re 2) im))
(* 1/2 (/ (pow re 2) im))
(* 1/2 (/ (pow re 2) im))
(* 1/2 (/ (pow re 2) im))
(* 1/2 (/ (pow re 2) im))
(* 1/2 (/ (pow re 2) im))
(* -1 re)
(* -1 re)
(* -1 re)
(* -1 re)
(* -1 re)
(* -1 re)
(* -1 re)
(* -1 re)
(* -1 re)
(* -1 re)
(* -1 re)
(* -1 re)
(* -1/2 (/ re im))
(* -1/2 (/ re im))
(* -1/2 (/ re im))
(* -1/2 (/ re im))
(* -1/2 (/ re im))
(* -1/2 (/ re im))
(* -1/2 (/ re im))
(* -1/2 (/ re im))
(* -1/2 (/ re im))
(* -1/2 (/ re im))
(* -1/2 (/ re im))
(* -1/2 (/ re im))
(* -1/2 (/ re im))
(* -1/2 (/ re im))
(* -1/2 (/ re im))
(* -1/2 (/ re im))
(* -1/2 (/ re im))
(* -1/2 (/ re im))
(* -1/2 (/ re im))
(* -1/2 (/ re im))
(* -1/2 (/ re im))
(* -1/2 (/ re im))
(* -1/2 (/ re im))
(* -1/2 (/ re im))
(/ -1 im)
(/ -1 im)
(/ -1 im)
(/ -1 im)
(/ -1 im)
(/ -1 im)
(/ -1 im)
(/ -1 im)
(/ -1 im)
(/ -1 im)
(/ -1 im)
(/ -1 im)
(* 1/2 (/ (pow re 2) im))
(* 1/2 (/ (pow re 2) im))
(* 1/2 (/ (pow re 2) im))
(* 1/2 (/ (pow re 2) im))
(* 1/2 (/ (pow re 2) im))
(* 1/2 (/ (pow re 2) im))
(* 1/2 (/ (pow re 2) im))
(* 1/2 (/ (pow re 2) im))
(* 1/2 (/ (pow re 2) im))
(* 1/2 (/ (pow re 2) im))
(* 1/2 (/ (pow re 2) im))
(* 1/2 (/ (pow re 2) im))
(* 1/2 (/ (pow re 2) im))
(* 1/2 (/ (pow re 2) im))
(* 1/2 (/ (pow re 2) im))
(* 1/2 (/ (pow re 2) im))
(* 1/2 (/ (pow re 2) im))
(* 1/2 (/ (pow re 2) im))
(* 1/2 (/ (pow re 2) im))
(* 1/2 (/ (pow re 2) im))
(* 1/2 (/ (pow re 2) im))
(* 1/2 (/ (pow re 2) im))
(* 1/2 (/ (pow re 2) im))
(* 1/2 (/ (pow re 2) im))
(/ (pow re 2) im)
(/ (pow re 2) im)
(/ (pow re 2) im)
(/ (pow re 2) im)
(/ (pow re 2) im)
(/ (pow re 2) im)
(/ (pow re 2) im)
(/ (pow re 2) im)
(/ (pow re 2) im)
(/ (pow re 2) im)
(/ (pow re 2) im)
(/ (pow re 2) im)
(/ (pow re 2) im)
(/ (pow re 2) im)
(/ (pow re 2) im)
(/ (pow re 2) im)
(/ (pow re 2) im)
(/ (pow re 2) im)
(/ (pow re 2) im)
(/ (pow re 2) im)
(/ (pow re 2) im)
(/ (pow re 2) im)
(/ (pow re 2) im)
(/ (pow re 2) im)
(/ im re)
(/ im re)
(/ im re)
(/ im re)
(/ im re)
(/ im re)
(/ im re)
(/ im re)
(/ im re)
(/ im re)
(/ im re)
(/ im re)
(/ im re)
(/ im re)
(/ im re)
(/ im re)
(/ im re)
(/ im re)
(/ im re)
(/ im re)
(/ im re)
(/ im re)
(/ im re)
(/ im re)
(* 1/2 (/ (pow re 2) im))
(* 1/2 (/ (pow re 2) im))
(* 1/2 (/ (pow re 2) im))
(* 1/2 (/ (pow re 2) im))
(* 1/2 (/ (pow re 2) im))
(* 1/2 (/ (pow re 2) im))
(* 1/2 (/ (pow re 2) im))
(* 1/2 (/ (pow re 2) im))
(* 1/2 (/ (pow re 2) im))
(* 1/2 (/ (pow re 2) im))
(* 1/2 (/ (pow re 2) im))
(* 1/2 (/ (pow re 2) im))
(* 1/2 (/ (pow re 2) im))
(* 1/2 (/ (pow re 2) im))
(* 1/2 (/ (pow re 2) im))
(* 1/2 (/ (pow re 2) im))
(* 1/2 (/ (pow re 2) im))
(* 1/2 (/ (pow re 2) im))
(* 1/2 (/ (pow re 2) im))
(* 1/2 (/ (pow re 2) im))
(* 1/2 (/ (pow re 2) im))
(* 1/2 (/ (pow re 2) im))
(* 1/2 (/ (pow re 2) im))
(* 1/2 (/ (pow re 2) im))
(/ 1/2 im)
(/ 1/2 im)
(/ 1/2 im)
(/ 1/2 im)
(/ 1/2 im)
(/ 1/2 im)
(/ 1/2 im)
(/ 1/2 im)
(/ 1/2 im)
(/ 1/2 im)
(/ 1/2 im)
(/ 1/2 im)
(pow re 2)
(pow re 2)
(pow re 2)
(pow re 2)
(pow re 2)
(pow re 2)
(pow re 2)
(pow re 2)
(pow re 2)
(pow re 2)
(pow re 2)
(pow re 2)
(/ 1 re)
(/ 1 re)
(/ 1 re)
(/ 1 re)
(/ 1 re)
(/ 1 re)
(/ 1 re)
(/ 1 re)
(/ 1 re)
(/ 1 re)
(/ 1 re)
(/ 1 re)
(* 1/2 (/ (pow re 2) im))
(* 1/2 (/ (pow re 2) im))
(* 1/2 (/ (pow re 2) im))
(* 1/2 (/ (pow re 2) im))
(* 1/2 (/ (pow re 2) im))
(* 1/2 (/ (pow re 2) im))
(* 1/2 (/ (pow re 2) im))
(* 1/2 (/ (pow re 2) im))
(* 1/2 (/ (pow re 2) im))
(* 1/2 (/ (pow re 2) im))
(* 1/2 (/ (pow re 2) im))
(* 1/2 (/ (pow re 2) im))
(* 1/2 (/ (pow re 2) im))
(* 1/2 (/ (pow re 2) im))
(* 1/2 (/ (pow re 2) im))
(* 1/2 (/ (pow re 2) im))
(* 1/2 (/ (pow re 2) im))
(* 1/2 (/ (pow re 2) im))
(* 1/2 (/ (pow re 2) im))
(* 1/2 (/ (pow re 2) im))
(* 1/2 (/ (pow re 2) im))
(* 1/2 (/ (pow re 2) im))
(* 1/2 (/ (pow re 2) im))
(* 1/2 (/ (pow re 2) im))
(* 1/2 (/ re im))
(* 1/2 (/ re im))
(* 1/2 (/ re im))
(* 1/2 (/ re im))
(* 1/2 (/ re im))
(* 1/2 (/ re im))
(* 1/2 (/ re im))
(* 1/2 (/ re im))
(* 1/2 (/ re im))
(* 1/2 (/ re im))
(* 1/2 (/ re im))
(* 1/2 (/ re im))
(* 1/2 (/ re im))
(* 1/2 (/ re im))
(* 1/2 (/ re im))
(* 1/2 (/ re im))
(* 1/2 (/ re im))
(* 1/2 (/ re im))
(* 1/2 (/ re im))
(* 1/2 (/ re im))
(* 1/2 (/ re im))
(* 1/2 (/ re im))
(* 1/2 (/ re im))
(* 1/2 (/ re im))
(* 1/2 re)
(* 1/2 re)
(* 1/2 re)
(* 1/2 re)
(* 1/2 re)
(* 1/2 re)
(* 1/2 re)
(* 1/2 re)
(* 1/2 re)
(* 1/2 re)
(* 1/2 re)
(* 1/2 re)
Outputs
(* 1/2 (/ (pow re 2) im))
(*.f64 #s(literal 1/2 binary64) (/.f64 (*.f64 re re) im))
(* 1/2 (/ (pow re 2) im))
(*.f64 #s(literal 1/2 binary64) (/.f64 (*.f64 re re) im))
(* 1/2 (/ (pow re 2) im))
(*.f64 #s(literal 1/2 binary64) (/.f64 (*.f64 re re) im))
(* 1/2 (/ (pow re 2) im))
(*.f64 #s(literal 1/2 binary64) (/.f64 (*.f64 re re) im))
(* 1/2 (/ (pow re 2) im))
(*.f64 #s(literal 1/2 binary64) (/.f64 (*.f64 re re) im))
(* 1/2 (/ (pow re 2) im))
(*.f64 #s(literal 1/2 binary64) (/.f64 (*.f64 re re) im))
(* 1/2 (/ (pow re 2) im))
(*.f64 #s(literal 1/2 binary64) (/.f64 (*.f64 re re) im))
(* 1/2 (/ (pow re 2) im))
(*.f64 #s(literal 1/2 binary64) (/.f64 (*.f64 re re) im))
(* 1/2 (/ (pow re 2) im))
(*.f64 #s(literal 1/2 binary64) (/.f64 (*.f64 re re) im))
(* 1/2 (/ (pow re 2) im))
(*.f64 #s(literal 1/2 binary64) (/.f64 (*.f64 re re) im))
(* 1/2 (/ (pow re 2) im))
(*.f64 #s(literal 1/2 binary64) (/.f64 (*.f64 re re) im))
(* 1/2 (/ (pow re 2) im))
(*.f64 #s(literal 1/2 binary64) (/.f64 (*.f64 re re) im))
(* 1/2 (/ (pow re 2) im))
(*.f64 #s(literal 1/2 binary64) (/.f64 (*.f64 re re) im))
(* 1/2 (/ (pow re 2) im))
(*.f64 #s(literal 1/2 binary64) (/.f64 (*.f64 re re) im))
(* 1/2 (/ (pow re 2) im))
(*.f64 #s(literal 1/2 binary64) (/.f64 (*.f64 re re) im))
(* 1/2 (/ (pow re 2) im))
(*.f64 #s(literal 1/2 binary64) (/.f64 (*.f64 re re) im))
(* 1/2 (/ (pow re 2) im))
(*.f64 #s(literal 1/2 binary64) (/.f64 (*.f64 re re) im))
(* 1/2 (/ (pow re 2) im))
(*.f64 #s(literal 1/2 binary64) (/.f64 (*.f64 re re) im))
(* 1/2 (/ (pow re 2) im))
(*.f64 #s(literal 1/2 binary64) (/.f64 (*.f64 re re) im))
(* 1/2 (/ (pow re 2) im))
(*.f64 #s(literal 1/2 binary64) (/.f64 (*.f64 re re) im))
(* 1/2 (/ (pow re 2) im))
(*.f64 #s(literal 1/2 binary64) (/.f64 (*.f64 re re) im))
(* 1/2 (/ (pow re 2) im))
(*.f64 #s(literal 1/2 binary64) (/.f64 (*.f64 re re) im))
(* 1/2 (/ (pow re 2) im))
(*.f64 #s(literal 1/2 binary64) (/.f64 (*.f64 re re) im))
(* 1/2 (/ (pow re 2) im))
(*.f64 #s(literal 1/2 binary64) (/.f64 (*.f64 re re) im))
(* -1 re)
(-.f64 #s(literal 0 binary64) re)
(* -1 re)
(-.f64 #s(literal 0 binary64) re)
(* -1 re)
(-.f64 #s(literal 0 binary64) re)
(* -1 re)
(-.f64 #s(literal 0 binary64) re)
(* -1 re)
(-.f64 #s(literal 0 binary64) re)
(* -1 re)
(-.f64 #s(literal 0 binary64) re)
(* -1 re)
(-.f64 #s(literal 0 binary64) re)
(* -1 re)
(-.f64 #s(literal 0 binary64) re)
(* -1 re)
(-.f64 #s(literal 0 binary64) re)
(* -1 re)
(-.f64 #s(literal 0 binary64) re)
(* -1 re)
(-.f64 #s(literal 0 binary64) re)
(* -1 re)
(-.f64 #s(literal 0 binary64) re)
(* -1/2 (/ re im))
(*.f64 #s(literal -1/2 binary64) (/.f64 re im))
(* -1/2 (/ re im))
(*.f64 #s(literal -1/2 binary64) (/.f64 re im))
(* -1/2 (/ re im))
(*.f64 #s(literal -1/2 binary64) (/.f64 re im))
(* -1/2 (/ re im))
(*.f64 #s(literal -1/2 binary64) (/.f64 re im))
(* -1/2 (/ re im))
(*.f64 #s(literal -1/2 binary64) (/.f64 re im))
(* -1/2 (/ re im))
(*.f64 #s(literal -1/2 binary64) (/.f64 re im))
(* -1/2 (/ re im))
(*.f64 #s(literal -1/2 binary64) (/.f64 re im))
(* -1/2 (/ re im))
(*.f64 #s(literal -1/2 binary64) (/.f64 re im))
(* -1/2 (/ re im))
(*.f64 #s(literal -1/2 binary64) (/.f64 re im))
(* -1/2 (/ re im))
(*.f64 #s(literal -1/2 binary64) (/.f64 re im))
(* -1/2 (/ re im))
(*.f64 #s(literal -1/2 binary64) (/.f64 re im))
(* -1/2 (/ re im))
(*.f64 #s(literal -1/2 binary64) (/.f64 re im))
(* -1/2 (/ re im))
(*.f64 #s(literal -1/2 binary64) (/.f64 re im))
(* -1/2 (/ re im))
(*.f64 #s(literal -1/2 binary64) (/.f64 re im))
(* -1/2 (/ re im))
(*.f64 #s(literal -1/2 binary64) (/.f64 re im))
(* -1/2 (/ re im))
(*.f64 #s(literal -1/2 binary64) (/.f64 re im))
(* -1/2 (/ re im))
(*.f64 #s(literal -1/2 binary64) (/.f64 re im))
(* -1/2 (/ re im))
(*.f64 #s(literal -1/2 binary64) (/.f64 re im))
(* -1/2 (/ re im))
(*.f64 #s(literal -1/2 binary64) (/.f64 re im))
(* -1/2 (/ re im))
(*.f64 #s(literal -1/2 binary64) (/.f64 re im))
(* -1/2 (/ re im))
(*.f64 #s(literal -1/2 binary64) (/.f64 re im))
(* -1/2 (/ re im))
(*.f64 #s(literal -1/2 binary64) (/.f64 re im))
(* -1/2 (/ re im))
(*.f64 #s(literal -1/2 binary64) (/.f64 re im))
(* -1/2 (/ re im))
(*.f64 #s(literal -1/2 binary64) (/.f64 re im))
(/ -1 im)
(/.f64 #s(literal -1 binary64) im)
(/ -1 im)
(/.f64 #s(literal -1 binary64) im)
(/ -1 im)
(/.f64 #s(literal -1 binary64) im)
(/ -1 im)
(/.f64 #s(literal -1 binary64) im)
(/ -1 im)
(/.f64 #s(literal -1 binary64) im)
(/ -1 im)
(/.f64 #s(literal -1 binary64) im)
(/ -1 im)
(/.f64 #s(literal -1 binary64) im)
(/ -1 im)
(/.f64 #s(literal -1 binary64) im)
(/ -1 im)
(/.f64 #s(literal -1 binary64) im)
(/ -1 im)
(/.f64 #s(literal -1 binary64) im)
(/ -1 im)
(/.f64 #s(literal -1 binary64) im)
(/ -1 im)
(/.f64 #s(literal -1 binary64) im)
(* 1/2 (/ (pow re 2) im))
(*.f64 #s(literal 1/2 binary64) (/.f64 (*.f64 re re) im))
(* 1/2 (/ (pow re 2) im))
(*.f64 #s(literal 1/2 binary64) (/.f64 (*.f64 re re) im))
(* 1/2 (/ (pow re 2) im))
(*.f64 #s(literal 1/2 binary64) (/.f64 (*.f64 re re) im))
(* 1/2 (/ (pow re 2) im))
(*.f64 #s(literal 1/2 binary64) (/.f64 (*.f64 re re) im))
(* 1/2 (/ (pow re 2) im))
(*.f64 #s(literal 1/2 binary64) (/.f64 (*.f64 re re) im))
(* 1/2 (/ (pow re 2) im))
(*.f64 #s(literal 1/2 binary64) (/.f64 (*.f64 re re) im))
(* 1/2 (/ (pow re 2) im))
(*.f64 #s(literal 1/2 binary64) (/.f64 (*.f64 re re) im))
(* 1/2 (/ (pow re 2) im))
(*.f64 #s(literal 1/2 binary64) (/.f64 (*.f64 re re) im))
(* 1/2 (/ (pow re 2) im))
(*.f64 #s(literal 1/2 binary64) (/.f64 (*.f64 re re) im))
(* 1/2 (/ (pow re 2) im))
(*.f64 #s(literal 1/2 binary64) (/.f64 (*.f64 re re) im))
(* 1/2 (/ (pow re 2) im))
(*.f64 #s(literal 1/2 binary64) (/.f64 (*.f64 re re) im))
(* 1/2 (/ (pow re 2) im))
(*.f64 #s(literal 1/2 binary64) (/.f64 (*.f64 re re) im))
(* 1/2 (/ (pow re 2) im))
(*.f64 #s(literal 1/2 binary64) (/.f64 (*.f64 re re) im))
(* 1/2 (/ (pow re 2) im))
(*.f64 #s(literal 1/2 binary64) (/.f64 (*.f64 re re) im))
(* 1/2 (/ (pow re 2) im))
(*.f64 #s(literal 1/2 binary64) (/.f64 (*.f64 re re) im))
(* 1/2 (/ (pow re 2) im))
(*.f64 #s(literal 1/2 binary64) (/.f64 (*.f64 re re) im))
(* 1/2 (/ (pow re 2) im))
(*.f64 #s(literal 1/2 binary64) (/.f64 (*.f64 re re) im))
(* 1/2 (/ (pow re 2) im))
(*.f64 #s(literal 1/2 binary64) (/.f64 (*.f64 re re) im))
(* 1/2 (/ (pow re 2) im))
(*.f64 #s(literal 1/2 binary64) (/.f64 (*.f64 re re) im))
(* 1/2 (/ (pow re 2) im))
(*.f64 #s(literal 1/2 binary64) (/.f64 (*.f64 re re) im))
(* 1/2 (/ (pow re 2) im))
(*.f64 #s(literal 1/2 binary64) (/.f64 (*.f64 re re) im))
(* 1/2 (/ (pow re 2) im))
(*.f64 #s(literal 1/2 binary64) (/.f64 (*.f64 re re) im))
(* 1/2 (/ (pow re 2) im))
(*.f64 #s(literal 1/2 binary64) (/.f64 (*.f64 re re) im))
(* 1/2 (/ (pow re 2) im))
(*.f64 #s(literal 1/2 binary64) (/.f64 (*.f64 re re) im))
(/ (pow re 2) im)
(/.f64 (*.f64 re re) im)
(/ (pow re 2) im)
(/.f64 (*.f64 re re) im)
(/ (pow re 2) im)
(/.f64 (*.f64 re re) im)
(/ (pow re 2) im)
(/.f64 (*.f64 re re) im)
(/ (pow re 2) im)
(/.f64 (*.f64 re re) im)
(/ (pow re 2) im)
(/.f64 (*.f64 re re) im)
(/ (pow re 2) im)
(/.f64 (*.f64 re re) im)
(/ (pow re 2) im)
(/.f64 (*.f64 re re) im)
(/ (pow re 2) im)
(/.f64 (*.f64 re re) im)
(/ (pow re 2) im)
(/.f64 (*.f64 re re) im)
(/ (pow re 2) im)
(/.f64 (*.f64 re re) im)
(/ (pow re 2) im)
(/.f64 (*.f64 re re) im)
(/ (pow re 2) im)
(/.f64 (*.f64 re re) im)
(/ (pow re 2) im)
(/.f64 (*.f64 re re) im)
(/ (pow re 2) im)
(/.f64 (*.f64 re re) im)
(/ (pow re 2) im)
(/.f64 (*.f64 re re) im)
(/ (pow re 2) im)
(/.f64 (*.f64 re re) im)
(/ (pow re 2) im)
(/.f64 (*.f64 re re) im)
(/ (pow re 2) im)
(/.f64 (*.f64 re re) im)
(/ (pow re 2) im)
(/.f64 (*.f64 re re) im)
(/ (pow re 2) im)
(/.f64 (*.f64 re re) im)
(/ (pow re 2) im)
(/.f64 (*.f64 re re) im)
(/ (pow re 2) im)
(/.f64 (*.f64 re re) im)
(/ (pow re 2) im)
(/.f64 (*.f64 re re) im)
(/ im re)
(/.f64 im re)
(/ im re)
(/.f64 im re)
(/ im re)
(/.f64 im re)
(/ im re)
(/.f64 im re)
(/ im re)
(/.f64 im re)
(/ im re)
(/.f64 im re)
(/ im re)
(/.f64 im re)
(/ im re)
(/.f64 im re)
(/ im re)
(/.f64 im re)
(/ im re)
(/.f64 im re)
(/ im re)
(/.f64 im re)
(/ im re)
(/.f64 im re)
(/ im re)
(/.f64 im re)
(/ im re)
(/.f64 im re)
(/ im re)
(/.f64 im re)
(/ im re)
(/.f64 im re)
(/ im re)
(/.f64 im re)
(/ im re)
(/.f64 im re)
(/ im re)
(/.f64 im re)
(/ im re)
(/.f64 im re)
(/ im re)
(/.f64 im re)
(/ im re)
(/.f64 im re)
(/ im re)
(/.f64 im re)
(/ im re)
(/.f64 im re)
(* 1/2 (/ (pow re 2) im))
(*.f64 #s(literal 1/2 binary64) (/.f64 (*.f64 re re) im))
(* 1/2 (/ (pow re 2) im))
(*.f64 #s(literal 1/2 binary64) (/.f64 (*.f64 re re) im))
(* 1/2 (/ (pow re 2) im))
(*.f64 #s(literal 1/2 binary64) (/.f64 (*.f64 re re) im))
(* 1/2 (/ (pow re 2) im))
(*.f64 #s(literal 1/2 binary64) (/.f64 (*.f64 re re) im))
(* 1/2 (/ (pow re 2) im))
(*.f64 #s(literal 1/2 binary64) (/.f64 (*.f64 re re) im))
(* 1/2 (/ (pow re 2) im))
(*.f64 #s(literal 1/2 binary64) (/.f64 (*.f64 re re) im))
(* 1/2 (/ (pow re 2) im))
(*.f64 #s(literal 1/2 binary64) (/.f64 (*.f64 re re) im))
(* 1/2 (/ (pow re 2) im))
(*.f64 #s(literal 1/2 binary64) (/.f64 (*.f64 re re) im))
(* 1/2 (/ (pow re 2) im))
(*.f64 #s(literal 1/2 binary64) (/.f64 (*.f64 re re) im))
(* 1/2 (/ (pow re 2) im))
(*.f64 #s(literal 1/2 binary64) (/.f64 (*.f64 re re) im))
(* 1/2 (/ (pow re 2) im))
(*.f64 #s(literal 1/2 binary64) (/.f64 (*.f64 re re) im))
(* 1/2 (/ (pow re 2) im))
(*.f64 #s(literal 1/2 binary64) (/.f64 (*.f64 re re) im))
(* 1/2 (/ (pow re 2) im))
(*.f64 #s(literal 1/2 binary64) (/.f64 (*.f64 re re) im))
(* 1/2 (/ (pow re 2) im))
(*.f64 #s(literal 1/2 binary64) (/.f64 (*.f64 re re) im))
(* 1/2 (/ (pow re 2) im))
(*.f64 #s(literal 1/2 binary64) (/.f64 (*.f64 re re) im))
(* 1/2 (/ (pow re 2) im))
(*.f64 #s(literal 1/2 binary64) (/.f64 (*.f64 re re) im))
(* 1/2 (/ (pow re 2) im))
(*.f64 #s(literal 1/2 binary64) (/.f64 (*.f64 re re) im))
(* 1/2 (/ (pow re 2) im))
(*.f64 #s(literal 1/2 binary64) (/.f64 (*.f64 re re) im))
(* 1/2 (/ (pow re 2) im))
(*.f64 #s(literal 1/2 binary64) (/.f64 (*.f64 re re) im))
(* 1/2 (/ (pow re 2) im))
(*.f64 #s(literal 1/2 binary64) (/.f64 (*.f64 re re) im))
(* 1/2 (/ (pow re 2) im))
(*.f64 #s(literal 1/2 binary64) (/.f64 (*.f64 re re) im))
(* 1/2 (/ (pow re 2) im))
(*.f64 #s(literal 1/2 binary64) (/.f64 (*.f64 re re) im))
(* 1/2 (/ (pow re 2) im))
(*.f64 #s(literal 1/2 binary64) (/.f64 (*.f64 re re) im))
(* 1/2 (/ (pow re 2) im))
(*.f64 #s(literal 1/2 binary64) (/.f64 (*.f64 re re) im))
(/ 1/2 im)
(/.f64 #s(literal 1/2 binary64) im)
(/ 1/2 im)
(/.f64 #s(literal 1/2 binary64) im)
(/ 1/2 im)
(/.f64 #s(literal 1/2 binary64) im)
(/ 1/2 im)
(/.f64 #s(literal 1/2 binary64) im)
(/ 1/2 im)
(/.f64 #s(literal 1/2 binary64) im)
(/ 1/2 im)
(/.f64 #s(literal 1/2 binary64) im)
(/ 1/2 im)
(/.f64 #s(literal 1/2 binary64) im)
(/ 1/2 im)
(/.f64 #s(literal 1/2 binary64) im)
(/ 1/2 im)
(/.f64 #s(literal 1/2 binary64) im)
(/ 1/2 im)
(/.f64 #s(literal 1/2 binary64) im)
(/ 1/2 im)
(/.f64 #s(literal 1/2 binary64) im)
(/ 1/2 im)
(/.f64 #s(literal 1/2 binary64) im)
(pow re 2)
(*.f64 re re)
(pow re 2)
(*.f64 re re)
(pow re 2)
(*.f64 re re)
(pow re 2)
(*.f64 re re)
(pow re 2)
(*.f64 re re)
(pow re 2)
(*.f64 re re)
(pow re 2)
(*.f64 re re)
(pow re 2)
(*.f64 re re)
(pow re 2)
(*.f64 re re)
(pow re 2)
(*.f64 re re)
(pow re 2)
(*.f64 re re)
(pow re 2)
(*.f64 re re)
(/ 1 re)
(/.f64 #s(literal 1 binary64) re)
(/ 1 re)
(/.f64 #s(literal 1 binary64) re)
(/ 1 re)
(/.f64 #s(literal 1 binary64) re)
(/ 1 re)
(/.f64 #s(literal 1 binary64) re)
(/ 1 re)
(/.f64 #s(literal 1 binary64) re)
(/ 1 re)
(/.f64 #s(literal 1 binary64) re)
(/ 1 re)
(/.f64 #s(literal 1 binary64) re)
(/ 1 re)
(/.f64 #s(literal 1 binary64) re)
(/ 1 re)
(/.f64 #s(literal 1 binary64) re)
(/ 1 re)
(/.f64 #s(literal 1 binary64) re)
(/ 1 re)
(/.f64 #s(literal 1 binary64) re)
(/ 1 re)
(/.f64 #s(literal 1 binary64) re)
(* 1/2 (/ (pow re 2) im))
(*.f64 #s(literal 1/2 binary64) (/.f64 (*.f64 re re) im))
(* 1/2 (/ (pow re 2) im))
(*.f64 #s(literal 1/2 binary64) (/.f64 (*.f64 re re) im))
(* 1/2 (/ (pow re 2) im))
(*.f64 #s(literal 1/2 binary64) (/.f64 (*.f64 re re) im))
(* 1/2 (/ (pow re 2) im))
(*.f64 #s(literal 1/2 binary64) (/.f64 (*.f64 re re) im))
(* 1/2 (/ (pow re 2) im))
(*.f64 #s(literal 1/2 binary64) (/.f64 (*.f64 re re) im))
(* 1/2 (/ (pow re 2) im))
(*.f64 #s(literal 1/2 binary64) (/.f64 (*.f64 re re) im))
(* 1/2 (/ (pow re 2) im))
(*.f64 #s(literal 1/2 binary64) (/.f64 (*.f64 re re) im))
(* 1/2 (/ (pow re 2) im))
(*.f64 #s(literal 1/2 binary64) (/.f64 (*.f64 re re) im))
(* 1/2 (/ (pow re 2) im))
(*.f64 #s(literal 1/2 binary64) (/.f64 (*.f64 re re) im))
(* 1/2 (/ (pow re 2) im))
(*.f64 #s(literal 1/2 binary64) (/.f64 (*.f64 re re) im))
(* 1/2 (/ (pow re 2) im))
(*.f64 #s(literal 1/2 binary64) (/.f64 (*.f64 re re) im))
(* 1/2 (/ (pow re 2) im))
(*.f64 #s(literal 1/2 binary64) (/.f64 (*.f64 re re) im))
(* 1/2 (/ (pow re 2) im))
(*.f64 #s(literal 1/2 binary64) (/.f64 (*.f64 re re) im))
(* 1/2 (/ (pow re 2) im))
(*.f64 #s(literal 1/2 binary64) (/.f64 (*.f64 re re) im))
(* 1/2 (/ (pow re 2) im))
(*.f64 #s(literal 1/2 binary64) (/.f64 (*.f64 re re) im))
(* 1/2 (/ (pow re 2) im))
(*.f64 #s(literal 1/2 binary64) (/.f64 (*.f64 re re) im))
(* 1/2 (/ (pow re 2) im))
(*.f64 #s(literal 1/2 binary64) (/.f64 (*.f64 re re) im))
(* 1/2 (/ (pow re 2) im))
(*.f64 #s(literal 1/2 binary64) (/.f64 (*.f64 re re) im))
(* 1/2 (/ (pow re 2) im))
(*.f64 #s(literal 1/2 binary64) (/.f64 (*.f64 re re) im))
(* 1/2 (/ (pow re 2) im))
(*.f64 #s(literal 1/2 binary64) (/.f64 (*.f64 re re) im))
(* 1/2 (/ (pow re 2) im))
(*.f64 #s(literal 1/2 binary64) (/.f64 (*.f64 re re) im))
(* 1/2 (/ (pow re 2) im))
(*.f64 #s(literal 1/2 binary64) (/.f64 (*.f64 re re) im))
(* 1/2 (/ (pow re 2) im))
(*.f64 #s(literal 1/2 binary64) (/.f64 (*.f64 re re) im))
(* 1/2 (/ (pow re 2) im))
(*.f64 #s(literal 1/2 binary64) (/.f64 (*.f64 re re) im))
(* 1/2 (/ re im))
(/.f64 (*.f64 #s(literal 1/2 binary64) re) im)
(* 1/2 (/ re im))
(/.f64 (*.f64 #s(literal 1/2 binary64) re) im)
(* 1/2 (/ re im))
(/.f64 (*.f64 #s(literal 1/2 binary64) re) im)
(* 1/2 (/ re im))
(/.f64 (*.f64 #s(literal 1/2 binary64) re) im)
(* 1/2 (/ re im))
(/.f64 (*.f64 #s(literal 1/2 binary64) re) im)
(* 1/2 (/ re im))
(/.f64 (*.f64 #s(literal 1/2 binary64) re) im)
(* 1/2 (/ re im))
(/.f64 (*.f64 #s(literal 1/2 binary64) re) im)
(* 1/2 (/ re im))
(/.f64 (*.f64 #s(literal 1/2 binary64) re) im)
(* 1/2 (/ re im))
(/.f64 (*.f64 #s(literal 1/2 binary64) re) im)
(* 1/2 (/ re im))
(/.f64 (*.f64 #s(literal 1/2 binary64) re) im)
(* 1/2 (/ re im))
(/.f64 (*.f64 #s(literal 1/2 binary64) re) im)
(* 1/2 (/ re im))
(/.f64 (*.f64 #s(literal 1/2 binary64) re) im)
(* 1/2 (/ re im))
(/.f64 (*.f64 #s(literal 1/2 binary64) re) im)
(* 1/2 (/ re im))
(/.f64 (*.f64 #s(literal 1/2 binary64) re) im)
(* 1/2 (/ re im))
(/.f64 (*.f64 #s(literal 1/2 binary64) re) im)
(* 1/2 (/ re im))
(/.f64 (*.f64 #s(literal 1/2 binary64) re) im)
(* 1/2 (/ re im))
(/.f64 (*.f64 #s(literal 1/2 binary64) re) im)
(* 1/2 (/ re im))
(/.f64 (*.f64 #s(literal 1/2 binary64) re) im)
(* 1/2 (/ re im))
(/.f64 (*.f64 #s(literal 1/2 binary64) re) im)
(* 1/2 (/ re im))
(/.f64 (*.f64 #s(literal 1/2 binary64) re) im)
(* 1/2 (/ re im))
(/.f64 (*.f64 #s(literal 1/2 binary64) re) im)
(* 1/2 (/ re im))
(/.f64 (*.f64 #s(literal 1/2 binary64) re) im)
(* 1/2 (/ re im))
(/.f64 (*.f64 #s(literal 1/2 binary64) re) im)
(* 1/2 (/ re im))
(/.f64 (*.f64 #s(literal 1/2 binary64) re) im)
(* 1/2 re)
(*.f64 #s(literal 1/2 binary64) re)
(* 1/2 re)
(*.f64 #s(literal 1/2 binary64) re)
(* 1/2 re)
(*.f64 #s(literal 1/2 binary64) re)
(* 1/2 re)
(*.f64 #s(literal 1/2 binary64) re)
(* 1/2 re)
(*.f64 #s(literal 1/2 binary64) re)
(* 1/2 re)
(*.f64 #s(literal 1/2 binary64) re)
(* 1/2 re)
(*.f64 #s(literal 1/2 binary64) re)
(* 1/2 re)
(*.f64 #s(literal 1/2 binary64) re)
(* 1/2 re)
(*.f64 #s(literal 1/2 binary64) re)
(* 1/2 re)
(*.f64 #s(literal 1/2 binary64) re)
(* 1/2 re)
(*.f64 #s(literal 1/2 binary64) re)
(* 1/2 re)
(*.f64 #s(literal 1/2 binary64) re)

eval31.0ms (0.5%)

Compiler

Compiled 2613 to 32 computations (98.8% saved)

prune16.0ms (0.3%)

Pruning

26 alts after pruning (14 fresh and 12 done)

PrunedKeptTotal
New3170317
Fresh01414
Picked055
Done077
Total31726343
Accuracy
100.0%
Counts
343 → 26
Alt Table
Click to see full alt table
StatusAccuracyProgram
3.8%
(/.f64 (/.f64 #s(literal 1 binary64) im) (/.f64 #s(literal 2 binary64) (*.f64 re re)))
3.3%
(/.f64 (/.f64 #s(literal 1/2 binary64) (/.f64 im (*.f64 re re))) im)
3.6%
(/.f64 (/.f64 #s(literal 1/2 binary64) (/.f64 im re)) (/.f64 im re))
4.0%
(/.f64 (/.f64 #s(literal 1/2 binary64) (/.f64 im re)) (/.f64 #s(literal 1 binary64) re))
3.8%
(/.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 re re)) (/.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) im)))
3.8%
(/.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 re re)) im)
3.8%
(/.f64 #s(literal 1/2 binary64) (/.f64 im (*.f64 re re)))
0.0%
(/.f64 #s(literal 0 binary64) #s(literal 0 binary64))
91.1%
(+.f64 (log.f64 im) (/.f64 (/.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 re re)) im) im))
3.6%
(*.f64 (/.f64 re (/.f64 im re)) (/.f64 #s(literal 1/2 binary64) im))
4.0%
(*.f64 (/.f64 re (/.f64 im re)) #s(literal 1/2 binary64))
3.6%
(*.f64 (/.f64 re im) (/.f64 #s(literal 1/2 binary64) (/.f64 im re)))
4.0%
(*.f64 (/.f64 re im) (/.f64 #s(literal 1/2 binary64) (/.f64 #s(literal 1 binary64) re)))
4.0%
(*.f64 (/.f64 re im) (*.f64 #s(literal 1/2 binary64) re))
4.0%
(*.f64 (/.f64 #s(literal 1/2 binary64) (/.f64 im re)) re)
3.8%
(*.f64 (/.f64 #s(literal 1/2 binary64) im) (/.f64 re (/.f64 #s(literal 1 binary64) re)))
3.8%
(*.f64 (/.f64 #s(literal 1/2 binary64) im) (*.f64 re re))
4.0%
(*.f64 (-.f64 #s(literal 0 binary64) re) (*.f64 (/.f64 #s(literal -1 binary64) im) (*.f64 #s(literal 1/2 binary64) re)))
3.5%
(*.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) im) (/.f64 re im)) re)
2.8%
(*.f64 (*.f64 re re) (*.f64 (/.f64 #s(literal 1 binary64) im) (/.f64 #s(literal 1/2 binary64) im)))
51.1%
(*.f64 (log.f64 (+.f64 (*.f64 re re) (*.f64 im im))) #s(literal 1/2 binary64))
50.6%
(*.f64 (log.f64 (*.f64 im im)) #s(literal 1/2 binary64))
100.0%
(log.f64 (hypot.f64 re im))
91.1%
(log.f64 (+.f64 im (/.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 re re)) im)))
99.9%
(log.f64 (+.f64 im (*.f64 (*.f64 #s(literal 1/2 binary64) re) (/.f64 re im))))
98.9%
(log.f64 im)
Compiler

Compiled 498 to 245 computations (50.8% saved)

regimes61.0ms (1%)

Counts
28 → 1
Calls
Call 1
Inputs
(/.f64 #s(literal 0 binary64) #s(literal 0 binary64))
(*.f64 (/.f64 #s(literal 1/2 binary64) im) (*.f64 re re))
(*.f64 (/.f64 #s(literal 1/2 binary64) (/.f64 im re)) re)
(*.f64 (/.f64 re im) (*.f64 #s(literal 1/2 binary64) re))
(*.f64 (/.f64 re (/.f64 im re)) #s(literal 1/2 binary64))
(/.f64 #s(literal 1/2 binary64) (/.f64 im (*.f64 re re)))
(/.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 re re)) im)
(*.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) im) (/.f64 re im)) re)
(*.f64 (/.f64 #s(literal 1/2 binary64) im) (/.f64 re (/.f64 #s(literal 1 binary64) re)))
(*.f64 (/.f64 re im) (/.f64 #s(literal 1/2 binary64) (/.f64 #s(literal 1 binary64) re)))
(*.f64 (/.f64 re im) (/.f64 #s(literal 1/2 binary64) (/.f64 im re)))
(*.f64 (/.f64 re (/.f64 im re)) (/.f64 #s(literal 1/2 binary64) im))
(/.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 re re)) (*.f64 im im))
(/.f64 (/.f64 #s(literal 1/2 binary64) (/.f64 im re)) (/.f64 #s(literal 1 binary64) re))
(/.f64 (/.f64 #s(literal 1/2 binary64) (/.f64 im re)) (/.f64 im re))
(/.f64 (/.f64 #s(literal 1/2 binary64) (/.f64 im (*.f64 re re))) im)
(/.f64 (/.f64 #s(literal 1 binary64) im) (/.f64 #s(literal 2 binary64) (*.f64 re re)))
(*.f64 (*.f64 re re) (*.f64 (/.f64 #s(literal 1 binary64) im) (/.f64 #s(literal 1/2 binary64) im)))
(*.f64 (-.f64 #s(literal 0 binary64) re) (*.f64 (/.f64 #s(literal -1 binary64) im) (*.f64 #s(literal 1/2 binary64) re)))
(/.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 re re)) (/.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) im)))
(log.f64 im)
(*.f64 (log.f64 (*.f64 im im)) #s(literal 1/2 binary64))
(log.f64 (+.f64 im (*.f64 (*.f64 #s(literal 1/2 binary64) re) (/.f64 re im))))
(log.f64 (+.f64 im (/.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 re re)) im)))
(*.f64 (log.f64 (+.f64 (*.f64 re re) (*.f64 im im))) #s(literal 1/2 binary64))
(+.f64 (log.f64 im) (/.f64 (/.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 re re)) im) im))
(log.f64 (hypot.f64 re im))
(log.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))))
Outputs
(log.f64 (hypot.f64 re im))
Calls

7 calls:

10.0ms
im
9.0ms
(*.f64 im im)
8.0ms
(sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))
8.0ms
re
8.0ms
(+.f64 (*.f64 re re) (*.f64 im im))
Results
AccuracySegmentsBranch
100.0%1re
100.0%1im
100.0%1(log.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))))
100.0%1(sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))
100.0%1(+.f64 (*.f64 re re) (*.f64 im im))
100.0%1(*.f64 re re)
100.0%1(*.f64 im im)
Compiler

Compiled 46 to 28 computations (39.1% saved)

regimes66.0ms (1.1%)

Counts
26 → 1
Calls
Call 1
Inputs
(/.f64 #s(literal 0 binary64) #s(literal 0 binary64))
(*.f64 (/.f64 #s(literal 1/2 binary64) im) (*.f64 re re))
(*.f64 (/.f64 #s(literal 1/2 binary64) (/.f64 im re)) re)
(*.f64 (/.f64 re im) (*.f64 #s(literal 1/2 binary64) re))
(*.f64 (/.f64 re (/.f64 im re)) #s(literal 1/2 binary64))
(/.f64 #s(literal 1/2 binary64) (/.f64 im (*.f64 re re)))
(/.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 re re)) im)
(*.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) im) (/.f64 re im)) re)
(*.f64 (/.f64 #s(literal 1/2 binary64) im) (/.f64 re (/.f64 #s(literal 1 binary64) re)))
(*.f64 (/.f64 re im) (/.f64 #s(literal 1/2 binary64) (/.f64 #s(literal 1 binary64) re)))
(*.f64 (/.f64 re im) (/.f64 #s(literal 1/2 binary64) (/.f64 im re)))
(*.f64 (/.f64 re (/.f64 im re)) (/.f64 #s(literal 1/2 binary64) im))
(/.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 re re)) (*.f64 im im))
(/.f64 (/.f64 #s(literal 1/2 binary64) (/.f64 im re)) (/.f64 #s(literal 1 binary64) re))
(/.f64 (/.f64 #s(literal 1/2 binary64) (/.f64 im re)) (/.f64 im re))
(/.f64 (/.f64 #s(literal 1/2 binary64) (/.f64 im (*.f64 re re))) im)
(/.f64 (/.f64 #s(literal 1 binary64) im) (/.f64 #s(literal 2 binary64) (*.f64 re re)))
(*.f64 (*.f64 re re) (*.f64 (/.f64 #s(literal 1 binary64) im) (/.f64 #s(literal 1/2 binary64) im)))
(*.f64 (-.f64 #s(literal 0 binary64) re) (*.f64 (/.f64 #s(literal -1 binary64) im) (*.f64 #s(literal 1/2 binary64) re)))
(/.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 re re)) (/.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) im)))
(log.f64 im)
(*.f64 (log.f64 (*.f64 im im)) #s(literal 1/2 binary64))
(log.f64 (+.f64 im (*.f64 (*.f64 #s(literal 1/2 binary64) re) (/.f64 re im))))
(log.f64 (+.f64 im (/.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 re re)) im)))
(*.f64 (log.f64 (+.f64 (*.f64 re re) (*.f64 im im))) #s(literal 1/2 binary64))
(+.f64 (log.f64 im) (/.f64 (/.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 re re)) im) im))
Outputs
(log.f64 (+.f64 im (*.f64 (*.f64 #s(literal 1/2 binary64) re) (/.f64 re im))))
Calls

5 calls:

33.0ms
(*.f64 im im)
8.0ms
re
8.0ms
(+.f64 (*.f64 re re) (*.f64 im im))
8.0ms
im
7.0ms
(*.f64 re re)
Results
AccuracySegmentsBranch
99.9%1re
99.9%1im
99.9%1(+.f64 (*.f64 re re) (*.f64 im im))
99.9%1(*.f64 re re)
99.9%1(*.f64 im im)
Compiler

Compiled 25 to 15 computations (40% saved)

regimes29.0ms (0.5%)

Counts
22 → 1
Calls
Call 1
Inputs
(/.f64 #s(literal 0 binary64) #s(literal 0 binary64))
(*.f64 (/.f64 #s(literal 1/2 binary64) im) (*.f64 re re))
(*.f64 (/.f64 #s(literal 1/2 binary64) (/.f64 im re)) re)
(*.f64 (/.f64 re im) (*.f64 #s(literal 1/2 binary64) re))
(*.f64 (/.f64 re (/.f64 im re)) #s(literal 1/2 binary64))
(/.f64 #s(literal 1/2 binary64) (/.f64 im (*.f64 re re)))
(/.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 re re)) im)
(*.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) im) (/.f64 re im)) re)
(*.f64 (/.f64 #s(literal 1/2 binary64) im) (/.f64 re (/.f64 #s(literal 1 binary64) re)))
(*.f64 (/.f64 re im) (/.f64 #s(literal 1/2 binary64) (/.f64 #s(literal 1 binary64) re)))
(*.f64 (/.f64 re im) (/.f64 #s(literal 1/2 binary64) (/.f64 im re)))
(*.f64 (/.f64 re (/.f64 im re)) (/.f64 #s(literal 1/2 binary64) im))
(/.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 re re)) (*.f64 im im))
(/.f64 (/.f64 #s(literal 1/2 binary64) (/.f64 im re)) (/.f64 #s(literal 1 binary64) re))
(/.f64 (/.f64 #s(literal 1/2 binary64) (/.f64 im re)) (/.f64 im re))
(/.f64 (/.f64 #s(literal 1/2 binary64) (/.f64 im (*.f64 re re))) im)
(/.f64 (/.f64 #s(literal 1 binary64) im) (/.f64 #s(literal 2 binary64) (*.f64 re re)))
(*.f64 (*.f64 re re) (*.f64 (/.f64 #s(literal 1 binary64) im) (/.f64 #s(literal 1/2 binary64) im)))
(*.f64 (-.f64 #s(literal 0 binary64) re) (*.f64 (/.f64 #s(literal -1 binary64) im) (*.f64 #s(literal 1/2 binary64) re)))
(/.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 re re)) (/.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) im)))
(log.f64 im)
(*.f64 (log.f64 (*.f64 im im)) #s(literal 1/2 binary64))
Outputs
(log.f64 im)
Calls

4 calls:

7.0ms
im
7.0ms
(*.f64 re re)
7.0ms
re
6.0ms
(*.f64 im im)
Results
AccuracySegmentsBranch
98.9%1re
98.9%1im
98.9%1(*.f64 re re)
98.9%1(*.f64 im im)
Compiler

Compiled 16 to 10 computations (37.5% saved)

regimes27.0ms (0.5%)

Counts
20 → 1
Calls
Call 1
Inputs
(/.f64 #s(literal 0 binary64) #s(literal 0 binary64))
(*.f64 (/.f64 #s(literal 1/2 binary64) im) (*.f64 re re))
(*.f64 (/.f64 #s(literal 1/2 binary64) (/.f64 im re)) re)
(*.f64 (/.f64 re im) (*.f64 #s(literal 1/2 binary64) re))
(*.f64 (/.f64 re (/.f64 im re)) #s(literal 1/2 binary64))
(/.f64 #s(literal 1/2 binary64) (/.f64 im (*.f64 re re)))
(/.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 re re)) im)
(*.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) im) (/.f64 re im)) re)
(*.f64 (/.f64 #s(literal 1/2 binary64) im) (/.f64 re (/.f64 #s(literal 1 binary64) re)))
(*.f64 (/.f64 re im) (/.f64 #s(literal 1/2 binary64) (/.f64 #s(literal 1 binary64) re)))
(*.f64 (/.f64 re im) (/.f64 #s(literal 1/2 binary64) (/.f64 im re)))
(*.f64 (/.f64 re (/.f64 im re)) (/.f64 #s(literal 1/2 binary64) im))
(/.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 re re)) (*.f64 im im))
(/.f64 (/.f64 #s(literal 1/2 binary64) (/.f64 im re)) (/.f64 #s(literal 1 binary64) re))
(/.f64 (/.f64 #s(literal 1/2 binary64) (/.f64 im re)) (/.f64 im re))
(/.f64 (/.f64 #s(literal 1/2 binary64) (/.f64 im (*.f64 re re))) im)
(/.f64 (/.f64 #s(literal 1 binary64) im) (/.f64 #s(literal 2 binary64) (*.f64 re re)))
(*.f64 (*.f64 re re) (*.f64 (/.f64 #s(literal 1 binary64) im) (/.f64 #s(literal 1/2 binary64) im)))
(*.f64 (-.f64 #s(literal 0 binary64) re) (*.f64 (/.f64 #s(literal -1 binary64) im) (*.f64 #s(literal 1/2 binary64) re)))
(/.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 re re)) (/.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) im)))
Outputs
(*.f64 (/.f64 #s(literal 1/2 binary64) (/.f64 im re)) re)
Calls

4 calls:

8.0ms
im
6.0ms
re
6.0ms
(*.f64 im im)
5.0ms
(*.f64 re re)
Results
AccuracySegmentsBranch
4.0%1re
4.0%1im
4.0%1(*.f64 re re)
4.0%1(*.f64 im im)
Compiler

Compiled 16 to 10 computations (37.5% saved)

regimes5.0ms (0.1%)

Counts
2 → 1
Calls
Call 1
Inputs
(/.f64 #s(literal 0 binary64) #s(literal 0 binary64))
(*.f64 (/.f64 #s(literal 1/2 binary64) im) (*.f64 re re))
Outputs
(*.f64 (/.f64 #s(literal 1/2 binary64) im) (*.f64 re re))
Calls

3 calls:

2.0ms
re
2.0ms
im
1.0ms
(*.f64 re re)
Results
AccuracySegmentsBranch
3.8%1im
3.8%1re
3.8%1(*.f64 re re)
Compiler

Compiled 11 to 7 computations (36.4% saved)

regimes4.0ms (0.1%)

Accuracy

Total 0.0b remaining (0%)

Threshold costs 0b (0%)

Counts
1 → 1
Calls
Call 1
Inputs
(/.f64 #s(literal 0 binary64) #s(literal 0 binary64))
Outputs
(/.f64 #s(literal 0 binary64) #s(literal 0 binary64))
Calls

2 calls:

2.0ms
im
1.0ms
re
Results
AccuracySegmentsBranch
0.0%1im
0.0%1re
Compiler

Compiled 6 to 4 computations (33.3% saved)

simplify7.0ms (0.1%)

Algorithm
egg-herbie
Rules
*-commutative_binary64
+-commutative_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01933
12433
Stop Event
saturated
Calls
Call 1
Inputs
(log.f64 (hypot.f64 re im))
(log.f64 (+.f64 im (*.f64 (*.f64 #s(literal 1/2 binary64) re) (/.f64 re im))))
(log.f64 im)
(*.f64 (/.f64 #s(literal 1/2 binary64) (/.f64 im re)) re)
(*.f64 (/.f64 #s(literal 1/2 binary64) im) (*.f64 re re))
(/.f64 #s(literal 0 binary64) #s(literal 0 binary64))
Outputs
(log.f64 (hypot.f64 re im))
(log.f64 (+.f64 im (*.f64 (*.f64 #s(literal 1/2 binary64) re) (/.f64 re im))))
(log.f64 (+.f64 im (*.f64 (*.f64 re #s(literal 1/2 binary64)) (/.f64 re im))))
(log.f64 im)
(*.f64 (/.f64 #s(literal 1/2 binary64) (/.f64 im re)) re)
(*.f64 re (/.f64 #s(literal 1/2 binary64) (/.f64 im re)))
(*.f64 (/.f64 #s(literal 1/2 binary64) im) (*.f64 re re))
(/.f64 #s(literal 0 binary64) #s(literal 0 binary64))

soundness1.7s (28.6%)

Rules
5314×*-lowering-*.f32
5314×*-lowering-*.f64
4088×*-lowering-*.f32
4088×*-lowering-*.f64
3972×*-lowering-*.f32
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02492723
17972631
225712609
374252609
080542609
01582
17880
277179
0889579
01459
16157
242247
3574547
0882747
0181824
1538784
21825762
36562756
08069756
077
1287
22177
322737
084077
074
1104
2124
0124
Stop Event
fuel
iter limit
saturated
iter limit
node limit
iter limit
node limit
iter limit
node limit
iter limit
node limit
iter limit
node limit
Compiler

Compiled 185 to 120 computations (35.1% saved)

preprocess49.0ms (0.8%)

Remove

(sort re im)

(abs im)

(abs re)

Compiler

Compiled 236 to 148 computations (37.3% saved)

end0.0ms (0%)

Profiling

Loading profile data...