math.log/1 on complex, real part

Time bar (total: 2.9s)

analyze68.0ms (2.4%)

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: 35.0ms
Operation ival-log, time spent: 12.0ms, 34.0% of total-time
Operation ival-mult, time spent: 12.0ms, 34.0% of total-time
Operation ival-sqrt, time spent: 6.0ms, 17.0% of total-time
Operation ival-add, time spent: 4.0ms, 11.0% of total-time
Operation const, time spent: 1.0ms, 3.0% of total-time

sample1.8s (61.9%)

Results
1.6s8255×256valid
0.0ms256valid
Precisions
Click to see histograms. Total time spent on operations: 748.0ms
Operation ival-mult, time spent: 331.0ms, 44.0% of total-time
Operation ival-sqrt, time spent: 203.0ms, 27.0% of total-time
Operation ival-log, time spent: 154.0ms, 21.0% of total-time
Operation ival-add, time spent: 50.0ms, 7.0% of total-time
Operation const, time spent: 10.0ms, 1.0% of total-time
Bogosity

preprocess240.0ms (8.4%)

Algorithm
egg-herbie
Rules
104×fma-neg
90×fma-define
30×neg-sub0
28×distribute-lft-neg-in
28×unsub-neg
FPErrors
Click to see full error table
Ground TruthOverpredictionsExampleUnderpredictionsExampleSubexpression
1330-0-(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))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
028127
155127
2102127
3187127
4284127
5323127
6333127
Stop Event
saturated
Calls
Call 1
Inputs
(log.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))))
(log.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))))
(log.f64 (sqrt.f64 (+.f64 (*.f64 (neg.f64 re) (neg.f64 re)) (*.f64 im im))))
(log.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 (neg.f64 im) (neg.f64 im)))))
(neg.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 (neg.f64 re) (neg.f64 re)) (*.f64 im im)))))
(neg.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 (neg.f64 im) (neg.f64 im))))))
(log.f64 (sqrt.f64 (+.f64 (*.f64 im im) (*.f64 re re))))
Outputs
(log.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))))
(log.f64 (hypot.f64 re im))
(log.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))))
(log.f64 (hypot.f64 re im))
(log.f64 (sqrt.f64 (+.f64 (*.f64 (neg.f64 re) (neg.f64 re)) (*.f64 im im))))
(log.f64 (hypot.f64 re im))
(log.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 (neg.f64 im) (neg.f64 im)))))
(log.f64 (hypot.f64 re im))
(neg.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 (neg.f64 re) (neg.f64 re)) (*.f64 im im)))))
(neg.f64 (log.f64 (hypot.f64 re im)))
(neg.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 (neg.f64 im) (neg.f64 im))))))
(neg.f64 (log.f64 (hypot.f64 re im)))
(log.f64 (sqrt.f64 (+.f64 (*.f64 im im) (*.f64 re re))))
(log.f64 (hypot.f64 re im))
Symmetry

(abs re)

(abs im)

(sort re im)

Compiler

Compiled 81 to 23 computations (71.6% saved)

Precisions
Click to see histograms. Total time spent on operations: 28.0ms
Operation ival-mult, time spent: 10.0ms, 36.0% of total-time
Operation ival-log, time spent: 9.0ms, 33.0% of total-time
Operation ival-sqrt, time spent: 5.0ms, 18.0% of total-time
Operation ival-add, time spent: 3.0ms, 11.0% of total-time
Operation const, time spent: 1.0ms, 4.0% of total-time

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)

localize44.0ms (1.5%)

Localize:

Found 1 expressions with local error:

NewAccuracyProgram
100.0%
(hypot.f64 re im)
Compiler

Compiled 12 to 5 computations (58.3% saved)

Precisions
Click to see histograms. Total time spent on operations: 25.0ms
Operation composed, time spent: 11.0ms, 44.0% of total-time
Operation ival-mult, time spent: 6.0ms, 24.0% of total-time
Operation ival-log, time spent: 4.0ms, 16.0% of total-time
Operation ival-add, time spent: 2.0ms, 8.0% of total-time
Operation ival-sqrt, time spent: 2.0ms, 8.0% of total-time
Operation const, time spent: 0.0ms, 0.0% of total-time

series5.0ms (0.2%)

Counts
1 → 24
Calls
Call 1
Inputs
#<alt (hypot.f64 re im)>
Outputs
#<alt im>
#<alt (+.f64 im (*.f64 #s(literal 1/2 binary64) (/.f64 (pow.f64 re #s(literal 2 binary64)) im)))>
#<alt (+.f64 im (*.f64 (pow.f64 re #s(literal 2 binary64)) (+.f64 (*.f64 #s(literal -1/8 binary64) (/.f64 (pow.f64 re #s(literal 2 binary64)) (pow.f64 im #s(literal 3 binary64)))) (*.f64 #s(literal 1/2 binary64) (/.f64 #s(literal 1 binary64) im)))))>
#<alt (+.f64 im (*.f64 (pow.f64 re #s(literal 2 binary64)) (+.f64 (*.f64 (pow.f64 re #s(literal 2 binary64)) (-.f64 (*.f64 #s(literal 1/16 binary64) (/.f64 (pow.f64 re #s(literal 2 binary64)) (pow.f64 im #s(literal 5 binary64)))) (*.f64 #s(literal 1/8 binary64) (/.f64 #s(literal 1 binary64) (pow.f64 im #s(literal 3 binary64)))))) (*.f64 #s(literal 1/2 binary64) (/.f64 #s(literal 1 binary64) im)))))>
#<alt re>
#<alt (*.f64 re (+.f64 #s(literal 1 binary64) (*.f64 #s(literal 1/2 binary64) (/.f64 (pow.f64 im #s(literal 2 binary64)) (pow.f64 re #s(literal 2 binary64))))))>
#<alt (*.f64 re (+.f64 #s(literal 1 binary64) (+.f64 (*.f64 #s(literal -1/8 binary64) (/.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 re #s(literal 4 binary64)))) (*.f64 #s(literal 1/2 binary64) (/.f64 (pow.f64 im #s(literal 2 binary64)) (pow.f64 re #s(literal 2 binary64)))))))>
#<alt (*.f64 re (+.f64 #s(literal 1 binary64) (+.f64 (*.f64 #s(literal -1/8 binary64) (/.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 re #s(literal 4 binary64)))) (+.f64 (*.f64 #s(literal 1/16 binary64) (/.f64 (pow.f64 im #s(literal 6 binary64)) (pow.f64 re #s(literal 6 binary64)))) (*.f64 #s(literal 1/2 binary64) (/.f64 (pow.f64 im #s(literal 2 binary64)) (pow.f64 re #s(literal 2 binary64))))))))>
#<alt (*.f64 #s(literal -1 binary64) re)>
#<alt (*.f64 #s(literal -1 binary64) (*.f64 re (+.f64 #s(literal 1 binary64) (*.f64 #s(literal 1/2 binary64) (/.f64 (pow.f64 im #s(literal 2 binary64)) (pow.f64 re #s(literal 2 binary64)))))))>
#<alt (*.f64 #s(literal -1 binary64) (*.f64 re (+.f64 #s(literal 1 binary64) (+.f64 (*.f64 #s(literal -1/8 binary64) (/.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 re #s(literal 4 binary64)))) (*.f64 #s(literal 1/2 binary64) (/.f64 (pow.f64 im #s(literal 2 binary64)) (pow.f64 re #s(literal 2 binary64))))))))>
#<alt (*.f64 #s(literal -1 binary64) (*.f64 re (+.f64 #s(literal 1 binary64) (+.f64 (*.f64 #s(literal -1/8 binary64) (/.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 re #s(literal 4 binary64)))) (+.f64 (*.f64 #s(literal 1/16 binary64) (/.f64 (pow.f64 im #s(literal 6 binary64)) (pow.f64 re #s(literal 6 binary64)))) (*.f64 #s(literal 1/2 binary64) (/.f64 (pow.f64 im #s(literal 2 binary64)) (pow.f64 re #s(literal 2 binary64)))))))))>
#<alt re>
#<alt (+.f64 re (*.f64 #s(literal 1/2 binary64) (/.f64 (pow.f64 im #s(literal 2 binary64)) re)))>
#<alt (+.f64 re (*.f64 (pow.f64 im #s(literal 2 binary64)) (+.f64 (*.f64 #s(literal -1/8 binary64) (/.f64 (pow.f64 im #s(literal 2 binary64)) (pow.f64 re #s(literal 3 binary64)))) (*.f64 #s(literal 1/2 binary64) (/.f64 #s(literal 1 binary64) re)))))>
#<alt (+.f64 re (*.f64 (pow.f64 im #s(literal 2 binary64)) (+.f64 (*.f64 (pow.f64 im #s(literal 2 binary64)) (-.f64 (*.f64 #s(literal 1/16 binary64) (/.f64 (pow.f64 im #s(literal 2 binary64)) (pow.f64 re #s(literal 5 binary64)))) (*.f64 #s(literal 1/8 binary64) (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 3 binary64)))))) (*.f64 #s(literal 1/2 binary64) (/.f64 #s(literal 1 binary64) re)))))>
#<alt im>
#<alt (*.f64 im (+.f64 #s(literal 1 binary64) (*.f64 #s(literal 1/2 binary64) (/.f64 (pow.f64 re #s(literal 2 binary64)) (pow.f64 im #s(literal 2 binary64))))))>
#<alt (*.f64 im (+.f64 #s(literal 1 binary64) (+.f64 (*.f64 #s(literal -1/8 binary64) (/.f64 (pow.f64 re #s(literal 4 binary64)) (pow.f64 im #s(literal 4 binary64)))) (*.f64 #s(literal 1/2 binary64) (/.f64 (pow.f64 re #s(literal 2 binary64)) (pow.f64 im #s(literal 2 binary64)))))))>
#<alt (*.f64 im (+.f64 #s(literal 1 binary64) (+.f64 (*.f64 #s(literal -1/8 binary64) (/.f64 (pow.f64 re #s(literal 4 binary64)) (pow.f64 im #s(literal 4 binary64)))) (+.f64 (*.f64 #s(literal 1/16 binary64) (/.f64 (pow.f64 re #s(literal 6 binary64)) (pow.f64 im #s(literal 6 binary64)))) (*.f64 #s(literal 1/2 binary64) (/.f64 (pow.f64 re #s(literal 2 binary64)) (pow.f64 im #s(literal 2 binary64))))))))>
#<alt (*.f64 #s(literal -1 binary64) im)>
#<alt (*.f64 #s(literal -1 binary64) (*.f64 im (+.f64 #s(literal 1 binary64) (*.f64 #s(literal 1/2 binary64) (/.f64 (pow.f64 re #s(literal 2 binary64)) (pow.f64 im #s(literal 2 binary64)))))))>
#<alt (*.f64 #s(literal -1 binary64) (*.f64 im (+.f64 #s(literal 1 binary64) (+.f64 (*.f64 #s(literal -1/8 binary64) (/.f64 (pow.f64 re #s(literal 4 binary64)) (pow.f64 im #s(literal 4 binary64)))) (*.f64 #s(literal 1/2 binary64) (/.f64 (pow.f64 re #s(literal 2 binary64)) (pow.f64 im #s(literal 2 binary64))))))))>
#<alt (*.f64 #s(literal -1 binary64) (*.f64 im (+.f64 #s(literal 1 binary64) (+.f64 (*.f64 #s(literal -1/8 binary64) (/.f64 (pow.f64 re #s(literal 4 binary64)) (pow.f64 im #s(literal 4 binary64)))) (+.f64 (*.f64 #s(literal 1/16 binary64) (/.f64 (pow.f64 re #s(literal 6 binary64)) (pow.f64 im #s(literal 6 binary64)))) (*.f64 #s(literal 1/2 binary64) (/.f64 (pow.f64 re #s(literal 2 binary64)) (pow.f64 im #s(literal 2 binary64)))))))))>
Calls

6 calls:

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

rewrite303.0ms (10.6%)

Algorithm
batch-egg-rewrite
Rules
588×associate-*r*
484×associate-*l*
426×unpow-prod-down
425×log1p-expm1-u
264×log-prod
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0813
16613
269613
3764813
Stop Event
node limit
Counts
1 → 58
Calls
Call 1
Inputs
(hypot.f64 re im)
Outputs
(+.f64 (+.f64 (hypot.f64 re im) #s(literal 1 binary64)) #s(literal -1 binary64))
(+.f64 #s(literal 0 binary64) (hypot.f64 re im))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (hypot.f64 re im))) #s(literal 2 binary64))) (log.f64 (cbrt.f64 (exp.f64 (hypot.f64 re im)))))
(+.f64 (log.f64 (sqrt.f64 (exp.f64 (hypot.f64 re im)))) (log.f64 (sqrt.f64 (exp.f64 (hypot.f64 re im)))))
(-.f64 (+.f64 (hypot.f64 re im) #s(literal 1 binary64)) #s(literal 1 binary64))
(*.f64 (hypot.f64 re im) #s(literal 1 binary64))
(*.f64 (hypot.f64 re im) (log.f64 (E.f64)))
(*.f64 #s(literal 1 binary64) (hypot.f64 re im))
(*.f64 (cbrt.f64 (hypot.f64 re im)) (pow.f64 (cbrt.f64 (hypot.f64 re im)) #s(literal 2 binary64)))
(*.f64 (cbrt.f64 (hypot.f64 re im)) (pow.f64 (pow.f64 (cbrt.f64 (hypot.f64 re im)) #s(literal 4 binary64)) #s(literal 1/2 binary64)))
(*.f64 (pow.f64 (cbrt.f64 (hypot.f64 re im)) #s(literal 2 binary64)) (cbrt.f64 (hypot.f64 re im)))
(*.f64 (sqrt.f64 (hypot.f64 re im)) (sqrt.f64 (hypot.f64 re im)))
(*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (hypot.f64 re im))) #s(literal 2 binary64)) (*.f64 (cbrt.f64 (cbrt.f64 (hypot.f64 re im))) (pow.f64 (cbrt.f64 (hypot.f64 re im)) #s(literal 2 binary64))))
(*.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (hypot.f64 re im)) #s(literal 4 binary64))) (*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (hypot.f64 re im))) #s(literal 2 binary64)) (cbrt.f64 (hypot.f64 re im))))
(*.f64 (pow.f64 (hypot.f64 re im) #s(literal 1/6 binary64)) (*.f64 (pow.f64 (hypot.f64 re im) #s(literal 1/6 binary64)) (pow.f64 (cbrt.f64 (hypot.f64 re im)) #s(literal 2 binary64))))
(*.f64 (pow.f64 (hypot.f64 re im) #s(literal 1/4 binary64)) (pow.f64 (pow.f64 (hypot.f64 re im) #s(literal 3/2 binary64)) #s(literal 1/2 binary64)))
(*.f64 (pow.f64 (hypot.f64 re im) #s(literal 1/4 binary64)) (sqrt.f64 (pow.f64 (hypot.f64 re im) #s(literal 3/2 binary64))))
(*.f64 (pow.f64 (hypot.f64 re im) #s(literal 1/4 binary64)) (*.f64 (pow.f64 (hypot.f64 re im) #s(literal 1/4 binary64)) (sqrt.f64 (hypot.f64 re im))))
(*.f64 (pow.f64 #s(literal 1 binary64) #s(literal 1/2 binary64)) (hypot.f64 re im))
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 (hypot.f64 re im)) #s(literal 4 binary64)) #s(literal 1/2 binary64)) (cbrt.f64 (hypot.f64 re im)))
(*.f64 (pow.f64 (pow.f64 (hypot.f64 re im) #s(literal 3/2 binary64)) #s(literal 1/2 binary64)) (pow.f64 (hypot.f64 re im) #s(literal 1/4 binary64)))
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 (hypot.f64 re im)) #s(literal 5 binary64)) #s(literal 1/2 binary64)) (pow.f64 (hypot.f64 re im) #s(literal 1/6 binary64)))
(*.f64 (pow.f64 #s(literal 1 binary64) #s(literal 1/3 binary64)) (hypot.f64 re im))
(*.f64 (pow.f64 (pow.f64 (pow.f64 (cbrt.f64 (hypot.f64 re im)) #s(literal 4 binary64)) #s(literal 2 binary64)) #s(literal 1/3 binary64)) (cbrt.f64 (cbrt.f64 (hypot.f64 re im))))
(*.f64 (pow.f64 (pow.f64 (hypot.f64 re im) #s(literal 5/2 binary64)) #s(literal 1/3 binary64)) (pow.f64 (hypot.f64 re im) #s(literal 1/6 binary64)))
(*.f64 (*.f64 (sqrt.f64 (hypot.f64 re im)) (cbrt.f64 (hypot.f64 re im))) (pow.f64 (hypot.f64 re im) #s(literal 1/6 binary64)))
(*.f64 (cbrt.f64 (pow.f64 (pow.f64 (cbrt.f64 (hypot.f64 re im)) #s(literal 4 binary64)) #s(literal 2 binary64))) (cbrt.f64 (cbrt.f64 (hypot.f64 re im))))
(*.f64 (cbrt.f64 (pow.f64 (hypot.f64 re im) #s(literal 5/2 binary64))) (pow.f64 (hypot.f64 re im) #s(literal 1/6 binary64)))
(*.f64 (*.f64 (sqrt.f64 (hypot.f64 re im)) (pow.f64 (hypot.f64 re im) #s(literal 1/4 binary64))) (pow.f64 (hypot.f64 re im) #s(literal 1/4 binary64)))
(*.f64 (sqrt.f64 (pow.f64 (hypot.f64 re im) #s(literal 3/2 binary64))) (pow.f64 (hypot.f64 re im) #s(literal 1/4 binary64)))
(*.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (hypot.f64 re im)) #s(literal 5 binary64))) (pow.f64 (hypot.f64 re im) #s(literal 1/6 binary64)))
(*.f64 (*.f64 (cbrt.f64 (hypot.f64 re im)) (cbrt.f64 (pow.f64 (cbrt.f64 (hypot.f64 re im)) #s(literal 4 binary64)))) (pow.f64 (cbrt.f64 (cbrt.f64 (hypot.f64 re im))) #s(literal 2 binary64)))
(*.f64 (*.f64 (pow.f64 (cbrt.f64 (hypot.f64 re im)) #s(literal 2 binary64)) (pow.f64 (cbrt.f64 (cbrt.f64 (hypot.f64 re im))) #s(literal 2 binary64))) (cbrt.f64 (cbrt.f64 (hypot.f64 re im))))
(*.f64 (*.f64 (pow.f64 (cbrt.f64 (hypot.f64 re im)) #s(literal 2 binary64)) (pow.f64 (hypot.f64 re im) #s(literal 1/6 binary64))) (pow.f64 (hypot.f64 re im) #s(literal 1/6 binary64)))
(/.f64 (sqrt.f64 (-.f64 (pow.f64 re #s(literal 4 binary64)) (pow.f64 im #s(literal 4 binary64)))) (sqrt.f64 (-.f64 (pow.f64 re #s(literal 2 binary64)) (pow.f64 im #s(literal 2 binary64)))))
(/.f64 (sqrt.f64 (+.f64 (pow.f64 re #s(literal 6 binary64)) (pow.f64 im #s(literal 6 binary64)))) (sqrt.f64 (+.f64 (pow.f64 re #s(literal 4 binary64)) (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 (*.f64 re im) #s(literal 2 binary64))))))
(/.f64 (-.f64 (pow.f64 (+.f64 (hypot.f64 re im) #s(literal 1 binary64)) #s(literal 3 binary64)) #s(literal 1 binary64)) (+.f64 (*.f64 (+.f64 (hypot.f64 re im) #s(literal 1 binary64)) (+.f64 (hypot.f64 re im) #s(literal 1 binary64))) (+.f64 #s(literal 1 binary64) (+.f64 (hypot.f64 re im) #s(literal 1 binary64)))))
(/.f64 (-.f64 (*.f64 (+.f64 (hypot.f64 re im) #s(literal 1 binary64)) (+.f64 (hypot.f64 re im) #s(literal 1 binary64))) #s(literal 1 binary64)) (+.f64 (+.f64 (hypot.f64 re im) #s(literal 1 binary64)) #s(literal 1 binary64)))
(pow.f64 (hypot.f64 re im) #s(literal 1 binary64))
(pow.f64 (pow.f64 (hypot.f64 re im) #s(literal 2 binary64)) #s(literal 1/2 binary64))
(pow.f64 (cbrt.f64 (hypot.f64 re im)) #s(literal 3 binary64))
(pow.f64 (pow.f64 (hypot.f64 re im) #s(literal 3 binary64)) #s(literal 1/3 binary64))
(pow.f64 (sqrt.f64 (hypot.f64 re im)) #s(literal 2 binary64))
(pow.f64 (E.f64) (log.f64 (hypot.f64 re im)))
(pow.f64 (pow.f64 (hypot.f64 re im) #s(literal 4 binary64)) #s(literal 1/4 binary64))
(pow.f64 (exp.f64 (cbrt.f64 (pow.f64 (log.f64 (hypot.f64 re im)) #s(literal 2 binary64)))) (cbrt.f64 (log.f64 (hypot.f64 re im))))
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (hypot.f64 re im)))) (sqrt.f64 (log.f64 (hypot.f64 re im))))
(sqrt.f64 (pow.f64 (hypot.f64 re im) #s(literal 2 binary64)))
(fabs.f64 (hypot.f64 re im))
(log.f64 (exp.f64 (hypot.f64 re im)))
(cbrt.f64 (pow.f64 (hypot.f64 re im) #s(literal 3 binary64)))
(expm1.f64 (log1p.f64 (hypot.f64 re im)))
(log1p.f64 (expm1.f64 (hypot.f64 re im)))
(exp.f64 (log.f64 (hypot.f64 re im)))
(exp.f64 (*.f64 (*.f64 (log.f64 (hypot.f64 re im)) #s(literal 2 binary64)) #s(literal 1/2 binary64)))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (hypot.f64 re im))) #s(literal 3 binary64)))
(exp.f64 (*.f64 (*.f64 #s(literal 3 binary64) (log.f64 (hypot.f64 re im))) #s(literal 1/3 binary64)))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (hypot.f64 re im))) #s(literal 2 binary64)))

simplify96.0ms (3.4%)

Algorithm
egg-herbie
Rules
1448×fma-define
932×distribute-lft-in
870×distribute-rgt-in
510×fma-neg
490×*-commutative
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
02513078
15603018
217102984
357812898
Stop Event
node limit
Counts
82 → 164
Calls
Call 1
Inputs
im
(+.f64 im (*.f64 #s(literal 1/2 binary64) (/.f64 (pow.f64 re #s(literal 2 binary64)) im)))
(+.f64 im (*.f64 (pow.f64 re #s(literal 2 binary64)) (+.f64 (*.f64 #s(literal -1/8 binary64) (/.f64 (pow.f64 re #s(literal 2 binary64)) (pow.f64 im #s(literal 3 binary64)))) (*.f64 #s(literal 1/2 binary64) (/.f64 #s(literal 1 binary64) im)))))
(+.f64 im (*.f64 (pow.f64 re #s(literal 2 binary64)) (+.f64 (*.f64 (pow.f64 re #s(literal 2 binary64)) (-.f64 (*.f64 #s(literal 1/16 binary64) (/.f64 (pow.f64 re #s(literal 2 binary64)) (pow.f64 im #s(literal 5 binary64)))) (*.f64 #s(literal 1/8 binary64) (/.f64 #s(literal 1 binary64) (pow.f64 im #s(literal 3 binary64)))))) (*.f64 #s(literal 1/2 binary64) (/.f64 #s(literal 1 binary64) im)))))
re
(*.f64 re (+.f64 #s(literal 1 binary64) (*.f64 #s(literal 1/2 binary64) (/.f64 (pow.f64 im #s(literal 2 binary64)) (pow.f64 re #s(literal 2 binary64))))))
(*.f64 re (+.f64 #s(literal 1 binary64) (+.f64 (*.f64 #s(literal -1/8 binary64) (/.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 re #s(literal 4 binary64)))) (*.f64 #s(literal 1/2 binary64) (/.f64 (pow.f64 im #s(literal 2 binary64)) (pow.f64 re #s(literal 2 binary64)))))))
(*.f64 re (+.f64 #s(literal 1 binary64) (+.f64 (*.f64 #s(literal -1/8 binary64) (/.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 re #s(literal 4 binary64)))) (+.f64 (*.f64 #s(literal 1/16 binary64) (/.f64 (pow.f64 im #s(literal 6 binary64)) (pow.f64 re #s(literal 6 binary64)))) (*.f64 #s(literal 1/2 binary64) (/.f64 (pow.f64 im #s(literal 2 binary64)) (pow.f64 re #s(literal 2 binary64))))))))
(*.f64 #s(literal -1 binary64) re)
(*.f64 #s(literal -1 binary64) (*.f64 re (+.f64 #s(literal 1 binary64) (*.f64 #s(literal 1/2 binary64) (/.f64 (pow.f64 im #s(literal 2 binary64)) (pow.f64 re #s(literal 2 binary64)))))))
(*.f64 #s(literal -1 binary64) (*.f64 re (+.f64 #s(literal 1 binary64) (+.f64 (*.f64 #s(literal -1/8 binary64) (/.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 re #s(literal 4 binary64)))) (*.f64 #s(literal 1/2 binary64) (/.f64 (pow.f64 im #s(literal 2 binary64)) (pow.f64 re #s(literal 2 binary64))))))))
(*.f64 #s(literal -1 binary64) (*.f64 re (+.f64 #s(literal 1 binary64) (+.f64 (*.f64 #s(literal -1/8 binary64) (/.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 re #s(literal 4 binary64)))) (+.f64 (*.f64 #s(literal 1/16 binary64) (/.f64 (pow.f64 im #s(literal 6 binary64)) (pow.f64 re #s(literal 6 binary64)))) (*.f64 #s(literal 1/2 binary64) (/.f64 (pow.f64 im #s(literal 2 binary64)) (pow.f64 re #s(literal 2 binary64)))))))))
re
(+.f64 re (*.f64 #s(literal 1/2 binary64) (/.f64 (pow.f64 im #s(literal 2 binary64)) re)))
(+.f64 re (*.f64 (pow.f64 im #s(literal 2 binary64)) (+.f64 (*.f64 #s(literal -1/8 binary64) (/.f64 (pow.f64 im #s(literal 2 binary64)) (pow.f64 re #s(literal 3 binary64)))) (*.f64 #s(literal 1/2 binary64) (/.f64 #s(literal 1 binary64) re)))))
(+.f64 re (*.f64 (pow.f64 im #s(literal 2 binary64)) (+.f64 (*.f64 (pow.f64 im #s(literal 2 binary64)) (-.f64 (*.f64 #s(literal 1/16 binary64) (/.f64 (pow.f64 im #s(literal 2 binary64)) (pow.f64 re #s(literal 5 binary64)))) (*.f64 #s(literal 1/8 binary64) (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 3 binary64)))))) (*.f64 #s(literal 1/2 binary64) (/.f64 #s(literal 1 binary64) re)))))
im
(*.f64 im (+.f64 #s(literal 1 binary64) (*.f64 #s(literal 1/2 binary64) (/.f64 (pow.f64 re #s(literal 2 binary64)) (pow.f64 im #s(literal 2 binary64))))))
(*.f64 im (+.f64 #s(literal 1 binary64) (+.f64 (*.f64 #s(literal -1/8 binary64) (/.f64 (pow.f64 re #s(literal 4 binary64)) (pow.f64 im #s(literal 4 binary64)))) (*.f64 #s(literal 1/2 binary64) (/.f64 (pow.f64 re #s(literal 2 binary64)) (pow.f64 im #s(literal 2 binary64)))))))
(*.f64 im (+.f64 #s(literal 1 binary64) (+.f64 (*.f64 #s(literal -1/8 binary64) (/.f64 (pow.f64 re #s(literal 4 binary64)) (pow.f64 im #s(literal 4 binary64)))) (+.f64 (*.f64 #s(literal 1/16 binary64) (/.f64 (pow.f64 re #s(literal 6 binary64)) (pow.f64 im #s(literal 6 binary64)))) (*.f64 #s(literal 1/2 binary64) (/.f64 (pow.f64 re #s(literal 2 binary64)) (pow.f64 im #s(literal 2 binary64))))))))
(*.f64 #s(literal -1 binary64) im)
(*.f64 #s(literal -1 binary64) (*.f64 im (+.f64 #s(literal 1 binary64) (*.f64 #s(literal 1/2 binary64) (/.f64 (pow.f64 re #s(literal 2 binary64)) (pow.f64 im #s(literal 2 binary64)))))))
(*.f64 #s(literal -1 binary64) (*.f64 im (+.f64 #s(literal 1 binary64) (+.f64 (*.f64 #s(literal -1/8 binary64) (/.f64 (pow.f64 re #s(literal 4 binary64)) (pow.f64 im #s(literal 4 binary64)))) (*.f64 #s(literal 1/2 binary64) (/.f64 (pow.f64 re #s(literal 2 binary64)) (pow.f64 im #s(literal 2 binary64))))))))
(*.f64 #s(literal -1 binary64) (*.f64 im (+.f64 #s(literal 1 binary64) (+.f64 (*.f64 #s(literal -1/8 binary64) (/.f64 (pow.f64 re #s(literal 4 binary64)) (pow.f64 im #s(literal 4 binary64)))) (+.f64 (*.f64 #s(literal 1/16 binary64) (/.f64 (pow.f64 re #s(literal 6 binary64)) (pow.f64 im #s(literal 6 binary64)))) (*.f64 #s(literal 1/2 binary64) (/.f64 (pow.f64 re #s(literal 2 binary64)) (pow.f64 im #s(literal 2 binary64)))))))))
(+.f64 (+.f64 (hypot.f64 re im) #s(literal 1 binary64)) #s(literal -1 binary64))
(+.f64 #s(literal 0 binary64) (hypot.f64 re im))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (hypot.f64 re im))) #s(literal 2 binary64))) (log.f64 (cbrt.f64 (exp.f64 (hypot.f64 re im)))))
(+.f64 (log.f64 (sqrt.f64 (exp.f64 (hypot.f64 re im)))) (log.f64 (sqrt.f64 (exp.f64 (hypot.f64 re im)))))
(-.f64 (+.f64 (hypot.f64 re im) #s(literal 1 binary64)) #s(literal 1 binary64))
(*.f64 (hypot.f64 re im) #s(literal 1 binary64))
(*.f64 (hypot.f64 re im) (log.f64 (E.f64)))
(*.f64 #s(literal 1 binary64) (hypot.f64 re im))
(*.f64 (cbrt.f64 (hypot.f64 re im)) (pow.f64 (cbrt.f64 (hypot.f64 re im)) #s(literal 2 binary64)))
(*.f64 (cbrt.f64 (hypot.f64 re im)) (pow.f64 (pow.f64 (cbrt.f64 (hypot.f64 re im)) #s(literal 4 binary64)) #s(literal 1/2 binary64)))
(*.f64 (pow.f64 (cbrt.f64 (hypot.f64 re im)) #s(literal 2 binary64)) (cbrt.f64 (hypot.f64 re im)))
(*.f64 (sqrt.f64 (hypot.f64 re im)) (sqrt.f64 (hypot.f64 re im)))
(*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (hypot.f64 re im))) #s(literal 2 binary64)) (*.f64 (cbrt.f64 (cbrt.f64 (hypot.f64 re im))) (pow.f64 (cbrt.f64 (hypot.f64 re im)) #s(literal 2 binary64))))
(*.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (hypot.f64 re im)) #s(literal 4 binary64))) (*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (hypot.f64 re im))) #s(literal 2 binary64)) (cbrt.f64 (hypot.f64 re im))))
(*.f64 (pow.f64 (hypot.f64 re im) #s(literal 1/6 binary64)) (*.f64 (pow.f64 (hypot.f64 re im) #s(literal 1/6 binary64)) (pow.f64 (cbrt.f64 (hypot.f64 re im)) #s(literal 2 binary64))))
(*.f64 (pow.f64 (hypot.f64 re im) #s(literal 1/4 binary64)) (pow.f64 (pow.f64 (hypot.f64 re im) #s(literal 3/2 binary64)) #s(literal 1/2 binary64)))
(*.f64 (pow.f64 (hypot.f64 re im) #s(literal 1/4 binary64)) (sqrt.f64 (pow.f64 (hypot.f64 re im) #s(literal 3/2 binary64))))
(*.f64 (pow.f64 (hypot.f64 re im) #s(literal 1/4 binary64)) (*.f64 (pow.f64 (hypot.f64 re im) #s(literal 1/4 binary64)) (sqrt.f64 (hypot.f64 re im))))
(*.f64 (pow.f64 #s(literal 1 binary64) #s(literal 1/2 binary64)) (hypot.f64 re im))
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 (hypot.f64 re im)) #s(literal 4 binary64)) #s(literal 1/2 binary64)) (cbrt.f64 (hypot.f64 re im)))
(*.f64 (pow.f64 (pow.f64 (hypot.f64 re im) #s(literal 3/2 binary64)) #s(literal 1/2 binary64)) (pow.f64 (hypot.f64 re im) #s(literal 1/4 binary64)))
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 (hypot.f64 re im)) #s(literal 5 binary64)) #s(literal 1/2 binary64)) (pow.f64 (hypot.f64 re im) #s(literal 1/6 binary64)))
(*.f64 (pow.f64 #s(literal 1 binary64) #s(literal 1/3 binary64)) (hypot.f64 re im))
(*.f64 (pow.f64 (pow.f64 (pow.f64 (cbrt.f64 (hypot.f64 re im)) #s(literal 4 binary64)) #s(literal 2 binary64)) #s(literal 1/3 binary64)) (cbrt.f64 (cbrt.f64 (hypot.f64 re im))))
(*.f64 (pow.f64 (pow.f64 (hypot.f64 re im) #s(literal 5/2 binary64)) #s(literal 1/3 binary64)) (pow.f64 (hypot.f64 re im) #s(literal 1/6 binary64)))
(*.f64 (*.f64 (sqrt.f64 (hypot.f64 re im)) (cbrt.f64 (hypot.f64 re im))) (pow.f64 (hypot.f64 re im) #s(literal 1/6 binary64)))
(*.f64 (cbrt.f64 (pow.f64 (pow.f64 (cbrt.f64 (hypot.f64 re im)) #s(literal 4 binary64)) #s(literal 2 binary64))) (cbrt.f64 (cbrt.f64 (hypot.f64 re im))))
(*.f64 (cbrt.f64 (pow.f64 (hypot.f64 re im) #s(literal 5/2 binary64))) (pow.f64 (hypot.f64 re im) #s(literal 1/6 binary64)))
(*.f64 (*.f64 (sqrt.f64 (hypot.f64 re im)) (pow.f64 (hypot.f64 re im) #s(literal 1/4 binary64))) (pow.f64 (hypot.f64 re im) #s(literal 1/4 binary64)))
(*.f64 (sqrt.f64 (pow.f64 (hypot.f64 re im) #s(literal 3/2 binary64))) (pow.f64 (hypot.f64 re im) #s(literal 1/4 binary64)))
(*.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (hypot.f64 re im)) #s(literal 5 binary64))) (pow.f64 (hypot.f64 re im) #s(literal 1/6 binary64)))
(*.f64 (*.f64 (cbrt.f64 (hypot.f64 re im)) (cbrt.f64 (pow.f64 (cbrt.f64 (hypot.f64 re im)) #s(literal 4 binary64)))) (pow.f64 (cbrt.f64 (cbrt.f64 (hypot.f64 re im))) #s(literal 2 binary64)))
(*.f64 (*.f64 (pow.f64 (cbrt.f64 (hypot.f64 re im)) #s(literal 2 binary64)) (pow.f64 (cbrt.f64 (cbrt.f64 (hypot.f64 re im))) #s(literal 2 binary64))) (cbrt.f64 (cbrt.f64 (hypot.f64 re im))))
(*.f64 (*.f64 (pow.f64 (cbrt.f64 (hypot.f64 re im)) #s(literal 2 binary64)) (pow.f64 (hypot.f64 re im) #s(literal 1/6 binary64))) (pow.f64 (hypot.f64 re im) #s(literal 1/6 binary64)))
(/.f64 (sqrt.f64 (-.f64 (pow.f64 re #s(literal 4 binary64)) (pow.f64 im #s(literal 4 binary64)))) (sqrt.f64 (-.f64 (pow.f64 re #s(literal 2 binary64)) (pow.f64 im #s(literal 2 binary64)))))
(/.f64 (sqrt.f64 (+.f64 (pow.f64 re #s(literal 6 binary64)) (pow.f64 im #s(literal 6 binary64)))) (sqrt.f64 (+.f64 (pow.f64 re #s(literal 4 binary64)) (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 (*.f64 re im) #s(literal 2 binary64))))))
(/.f64 (-.f64 (pow.f64 (+.f64 (hypot.f64 re im) #s(literal 1 binary64)) #s(literal 3 binary64)) #s(literal 1 binary64)) (+.f64 (*.f64 (+.f64 (hypot.f64 re im) #s(literal 1 binary64)) (+.f64 (hypot.f64 re im) #s(literal 1 binary64))) (+.f64 #s(literal 1 binary64) (+.f64 (hypot.f64 re im) #s(literal 1 binary64)))))
(/.f64 (-.f64 (*.f64 (+.f64 (hypot.f64 re im) #s(literal 1 binary64)) (+.f64 (hypot.f64 re im) #s(literal 1 binary64))) #s(literal 1 binary64)) (+.f64 (+.f64 (hypot.f64 re im) #s(literal 1 binary64)) #s(literal 1 binary64)))
(pow.f64 (hypot.f64 re im) #s(literal 1 binary64))
(pow.f64 (pow.f64 (hypot.f64 re im) #s(literal 2 binary64)) #s(literal 1/2 binary64))
(pow.f64 (cbrt.f64 (hypot.f64 re im)) #s(literal 3 binary64))
(pow.f64 (pow.f64 (hypot.f64 re im) #s(literal 3 binary64)) #s(literal 1/3 binary64))
(pow.f64 (sqrt.f64 (hypot.f64 re im)) #s(literal 2 binary64))
(pow.f64 (E.f64) (log.f64 (hypot.f64 re im)))
(pow.f64 (pow.f64 (hypot.f64 re im) #s(literal 4 binary64)) #s(literal 1/4 binary64))
(pow.f64 (exp.f64 (cbrt.f64 (pow.f64 (log.f64 (hypot.f64 re im)) #s(literal 2 binary64)))) (cbrt.f64 (log.f64 (hypot.f64 re im))))
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (hypot.f64 re im)))) (sqrt.f64 (log.f64 (hypot.f64 re im))))
(sqrt.f64 (pow.f64 (hypot.f64 re im) #s(literal 2 binary64)))
(fabs.f64 (hypot.f64 re im))
(log.f64 (exp.f64 (hypot.f64 re im)))
(cbrt.f64 (pow.f64 (hypot.f64 re im) #s(literal 3 binary64)))
(expm1.f64 (log1p.f64 (hypot.f64 re im)))
(log1p.f64 (expm1.f64 (hypot.f64 re im)))
(exp.f64 (log.f64 (hypot.f64 re im)))
(exp.f64 (*.f64 (*.f64 (log.f64 (hypot.f64 re im)) #s(literal 2 binary64)) #s(literal 1/2 binary64)))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (hypot.f64 re im))) #s(literal 3 binary64)))
(exp.f64 (*.f64 (*.f64 #s(literal 3 binary64) (log.f64 (hypot.f64 re im))) #s(literal 1/3 binary64)))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (hypot.f64 re im))) #s(literal 2 binary64)))
Outputs
im
(+.f64 im (*.f64 #s(literal 1/2 binary64) (/.f64 (pow.f64 re #s(literal 2 binary64)) im)))
(fma.f64 #s(literal 1/2 binary64) (/.f64 (pow.f64 re #s(literal 2 binary64)) im) im)
(+.f64 im (*.f64 (pow.f64 re #s(literal 2 binary64)) (+.f64 (*.f64 #s(literal -1/8 binary64) (/.f64 (pow.f64 re #s(literal 2 binary64)) (pow.f64 im #s(literal 3 binary64)))) (*.f64 #s(literal 1/2 binary64) (/.f64 #s(literal 1 binary64) im)))))
(+.f64 im (*.f64 (pow.f64 re #s(literal 2 binary64)) (fma.f64 #s(literal -1/8 binary64) (/.f64 (pow.f64 re #s(literal 2 binary64)) (pow.f64 im #s(literal 3 binary64))) (/.f64 #s(literal 1/2 binary64) im))))
(fma.f64 (pow.f64 re #s(literal 2 binary64)) (fma.f64 #s(literal -1/8 binary64) (/.f64 (pow.f64 re #s(literal 2 binary64)) (pow.f64 im #s(literal 3 binary64))) (/.f64 #s(literal 1/2 binary64) im)) im)
(+.f64 im (*.f64 (pow.f64 re #s(literal 2 binary64)) (+.f64 (*.f64 (pow.f64 re #s(literal 2 binary64)) (-.f64 (*.f64 #s(literal 1/16 binary64) (/.f64 (pow.f64 re #s(literal 2 binary64)) (pow.f64 im #s(literal 5 binary64)))) (*.f64 #s(literal 1/8 binary64) (/.f64 #s(literal 1 binary64) (pow.f64 im #s(literal 3 binary64)))))) (*.f64 #s(literal 1/2 binary64) (/.f64 #s(literal 1 binary64) im)))))
(+.f64 im (*.f64 (pow.f64 re #s(literal 2 binary64)) (fma.f64 (pow.f64 re #s(literal 2 binary64)) (-.f64 (*.f64 #s(literal 1/16 binary64) (/.f64 (pow.f64 re #s(literal 2 binary64)) (pow.f64 im #s(literal 5 binary64)))) (/.f64 #s(literal 1/8 binary64) (pow.f64 im #s(literal 3 binary64)))) (/.f64 #s(literal 1/2 binary64) im))))
(fma.f64 (pow.f64 re #s(literal 2 binary64)) (fma.f64 (pow.f64 re #s(literal 2 binary64)) (fma.f64 #s(literal 1/16 binary64) (/.f64 (pow.f64 re #s(literal 2 binary64)) (pow.f64 im #s(literal 5 binary64))) (/.f64 #s(literal -1/8 binary64) (pow.f64 im #s(literal 3 binary64)))) (/.f64 #s(literal 1/2 binary64) im)) im)
(fma.f64 (fma.f64 #s(literal 1/16 binary64) (/.f64 (pow.f64 re #s(literal 2 binary64)) (pow.f64 im #s(literal 5 binary64))) (/.f64 #s(literal -1/8 binary64) (pow.f64 im #s(literal 3 binary64)))) (pow.f64 re #s(literal 4 binary64)) (fma.f64 #s(literal 1/2 binary64) (/.f64 (pow.f64 re #s(literal 2 binary64)) im) im))
(fma.f64 (pow.f64 re #s(literal 2 binary64)) (fma.f64 (pow.f64 re #s(literal 2 binary64)) (fma.f64 (pow.f64 re #s(literal 2 binary64)) (/.f64 #s(literal 1/16 binary64) (pow.f64 im #s(literal 5 binary64))) (/.f64 #s(literal -1/8 binary64) (pow.f64 im #s(literal 3 binary64)))) (/.f64 #s(literal 1/2 binary64) im)) im)
re
(*.f64 re (+.f64 #s(literal 1 binary64) (*.f64 #s(literal 1/2 binary64) (/.f64 (pow.f64 im #s(literal 2 binary64)) (pow.f64 re #s(literal 2 binary64))))))
(*.f64 re (fma.f64 #s(literal 1/2 binary64) (/.f64 (pow.f64 im #s(literal 2 binary64)) (pow.f64 re #s(literal 2 binary64))) #s(literal 1 binary64)))
(+.f64 re (*.f64 #s(literal 1 binary64) (*.f64 #s(literal 1/2 binary64) (/.f64 (pow.f64 im #s(literal 2 binary64)) re))))
(*.f64 re (+.f64 #s(literal 1 binary64) (+.f64 (*.f64 #s(literal -1/8 binary64) (/.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 re #s(literal 4 binary64)))) (*.f64 #s(literal 1/2 binary64) (/.f64 (pow.f64 im #s(literal 2 binary64)) (pow.f64 re #s(literal 2 binary64)))))))
(*.f64 re (+.f64 #s(literal 1 binary64) (fma.f64 #s(literal -1/8 binary64) (/.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 re #s(literal 4 binary64))) (*.f64 #s(literal 1/2 binary64) (/.f64 (pow.f64 im #s(literal 2 binary64)) (pow.f64 re #s(literal 2 binary64)))))))
(*.f64 re (+.f64 (fma.f64 #s(literal 1/2 binary64) (/.f64 (pow.f64 im #s(literal 2 binary64)) (pow.f64 re #s(literal 2 binary64))) #s(literal 1 binary64)) (/.f64 (*.f64 #s(literal -1/8 binary64) (pow.f64 im #s(literal 4 binary64))) (pow.f64 re #s(literal 4 binary64)))))
(*.f64 re (fma.f64 #s(literal 1/2 binary64) (/.f64 (pow.f64 im #s(literal 2 binary64)) (pow.f64 re #s(literal 2 binary64))) (fma.f64 #s(literal -1/8 binary64) (/.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 re #s(literal 4 binary64))) #s(literal 1 binary64))))
(*.f64 re (+.f64 #s(literal 1 binary64) (+.f64 (*.f64 #s(literal -1/8 binary64) (/.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 re #s(literal 4 binary64)))) (+.f64 (*.f64 #s(literal 1/16 binary64) (/.f64 (pow.f64 im #s(literal 6 binary64)) (pow.f64 re #s(literal 6 binary64)))) (*.f64 #s(literal 1/2 binary64) (/.f64 (pow.f64 im #s(literal 2 binary64)) (pow.f64 re #s(literal 2 binary64))))))))
(*.f64 re (+.f64 #s(literal 1 binary64) (fma.f64 #s(literal -1/8 binary64) (/.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 re #s(literal 4 binary64))) (fma.f64 #s(literal 1/16 binary64) (/.f64 (pow.f64 im #s(literal 6 binary64)) (pow.f64 re #s(literal 6 binary64))) (*.f64 #s(literal 1/2 binary64) (/.f64 (pow.f64 im #s(literal 2 binary64)) (pow.f64 re #s(literal 2 binary64))))))))
(*.f64 re (+.f64 (fma.f64 #s(literal -1/8 binary64) (/.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 re #s(literal 4 binary64))) (*.f64 #s(literal 1/16 binary64) (/.f64 (pow.f64 im #s(literal 6 binary64)) (pow.f64 re #s(literal 6 binary64))))) (fma.f64 #s(literal 1/2 binary64) (/.f64 (pow.f64 im #s(literal 2 binary64)) (pow.f64 re #s(literal 2 binary64))) #s(literal 1 binary64))))
(fma.f64 re (fma.f64 #s(literal 1/2 binary64) (/.f64 (pow.f64 im #s(literal 2 binary64)) (pow.f64 re #s(literal 2 binary64))) (fma.f64 #s(literal -1/8 binary64) (/.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 re #s(literal 4 binary64))) (*.f64 #s(literal 1/16 binary64) (/.f64 (pow.f64 im #s(literal 6 binary64)) (pow.f64 re #s(literal 6 binary64)))))) re)
(*.f64 #s(literal -1 binary64) re)
(neg.f64 re)
(*.f64 #s(literal -1 binary64) (*.f64 re (+.f64 #s(literal 1 binary64) (*.f64 #s(literal 1/2 binary64) (/.f64 (pow.f64 im #s(literal 2 binary64)) (pow.f64 re #s(literal 2 binary64)))))))
(*.f64 (neg.f64 re) (+.f64 #s(literal 1 binary64) (*.f64 #s(literal 1/2 binary64) (/.f64 (pow.f64 im #s(literal 2 binary64)) (pow.f64 re #s(literal 2 binary64))))))
(*.f64 re (neg.f64 (fma.f64 #s(literal 1/2 binary64) (/.f64 (pow.f64 im #s(literal 2 binary64)) (pow.f64 re #s(literal 2 binary64))) #s(literal 1 binary64))))
(-.f64 (*.f64 #s(literal -1 binary64) (*.f64 #s(literal 1/2 binary64) (/.f64 (pow.f64 im #s(literal 2 binary64)) re))) re)
(*.f64 #s(literal -1 binary64) (*.f64 re (+.f64 #s(literal 1 binary64) (+.f64 (*.f64 #s(literal -1/8 binary64) (/.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 re #s(literal 4 binary64)))) (*.f64 #s(literal 1/2 binary64) (/.f64 (pow.f64 im #s(literal 2 binary64)) (pow.f64 re #s(literal 2 binary64))))))))
(*.f64 (neg.f64 re) (+.f64 #s(literal 1 binary64) (fma.f64 #s(literal -1/8 binary64) (/.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 re #s(literal 4 binary64))) (*.f64 #s(literal 1/2 binary64) (/.f64 (pow.f64 im #s(literal 2 binary64)) (pow.f64 re #s(literal 2 binary64)))))))
(*.f64 (+.f64 (fma.f64 #s(literal 1/2 binary64) (/.f64 (pow.f64 im #s(literal 2 binary64)) (pow.f64 re #s(literal 2 binary64))) #s(literal 1 binary64)) (/.f64 (*.f64 #s(literal -1/8 binary64) (pow.f64 im #s(literal 4 binary64))) (pow.f64 re #s(literal 4 binary64)))) (neg.f64 re))
(*.f64 (fma.f64 #s(literal 1/2 binary64) (/.f64 (pow.f64 im #s(literal 2 binary64)) (pow.f64 re #s(literal 2 binary64))) (fma.f64 #s(literal -1/8 binary64) (/.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 re #s(literal 4 binary64))) #s(literal 1 binary64))) (neg.f64 re))
(-.f64 (*.f64 #s(literal -1 binary64) (*.f64 #s(literal 1/2 binary64) (/.f64 (pow.f64 im #s(literal 2 binary64)) re))) (*.f64 re (fma.f64 #s(literal -1/8 binary64) (/.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 re #s(literal 4 binary64))) #s(literal 1 binary64))))
(*.f64 #s(literal -1 binary64) (*.f64 re (+.f64 #s(literal 1 binary64) (+.f64 (*.f64 #s(literal -1/8 binary64) (/.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 re #s(literal 4 binary64)))) (+.f64 (*.f64 #s(literal 1/16 binary64) (/.f64 (pow.f64 im #s(literal 6 binary64)) (pow.f64 re #s(literal 6 binary64)))) (*.f64 #s(literal 1/2 binary64) (/.f64 (pow.f64 im #s(literal 2 binary64)) (pow.f64 re #s(literal 2 binary64)))))))))
(*.f64 (neg.f64 re) (+.f64 #s(literal 1 binary64) (fma.f64 #s(literal -1/8 binary64) (/.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 re #s(literal 4 binary64))) (fma.f64 #s(literal 1/16 binary64) (/.f64 (pow.f64 im #s(literal 6 binary64)) (pow.f64 re #s(literal 6 binary64))) (*.f64 #s(literal 1/2 binary64) (/.f64 (pow.f64 im #s(literal 2 binary64)) (pow.f64 re #s(literal 2 binary64))))))))
(*.f64 re (neg.f64 (+.f64 (fma.f64 #s(literal -1/8 binary64) (/.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 re #s(literal 4 binary64))) (*.f64 #s(literal 1/16 binary64) (/.f64 (pow.f64 im #s(literal 6 binary64)) (pow.f64 re #s(literal 6 binary64))))) (fma.f64 #s(literal 1/2 binary64) (/.f64 (pow.f64 im #s(literal 2 binary64)) (pow.f64 re #s(literal 2 binary64))) #s(literal 1 binary64)))))
(neg.f64 (fma.f64 re (fma.f64 #s(literal 1/2 binary64) (/.f64 (pow.f64 im #s(literal 2 binary64)) (pow.f64 re #s(literal 2 binary64))) (fma.f64 #s(literal -1/8 binary64) (/.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 re #s(literal 4 binary64))) (*.f64 #s(literal 1/16 binary64) (/.f64 (pow.f64 im #s(literal 6 binary64)) (pow.f64 re #s(literal 6 binary64)))))) re))
(*.f64 re (-.f64 #s(literal -1 binary64) (fma.f64 #s(literal 1/2 binary64) (/.f64 (pow.f64 im #s(literal 2 binary64)) (pow.f64 re #s(literal 2 binary64))) (fma.f64 #s(literal -1/8 binary64) (/.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 re #s(literal 4 binary64))) (*.f64 #s(literal 1/16 binary64) (/.f64 (pow.f64 im #s(literal 6 binary64)) (pow.f64 re #s(literal 6 binary64))))))))
re
(+.f64 re (*.f64 #s(literal 1/2 binary64) (/.f64 (pow.f64 im #s(literal 2 binary64)) re)))
(fma.f64 #s(literal 1/2 binary64) (/.f64 (pow.f64 im #s(literal 2 binary64)) re) re)
(+.f64 re (*.f64 (pow.f64 im #s(literal 2 binary64)) (+.f64 (*.f64 #s(literal -1/8 binary64) (/.f64 (pow.f64 im #s(literal 2 binary64)) (pow.f64 re #s(literal 3 binary64)))) (*.f64 #s(literal 1/2 binary64) (/.f64 #s(literal 1 binary64) re)))))
(+.f64 re (*.f64 (pow.f64 im #s(literal 2 binary64)) (fma.f64 #s(literal -1/8 binary64) (/.f64 (pow.f64 im #s(literal 2 binary64)) (pow.f64 re #s(literal 3 binary64))) (/.f64 #s(literal 1/2 binary64) re))))
(fma.f64 (pow.f64 im #s(literal 2 binary64)) (fma.f64 #s(literal -1/8 binary64) (/.f64 (pow.f64 im #s(literal 2 binary64)) (pow.f64 re #s(literal 3 binary64))) (/.f64 #s(literal 1/2 binary64) re)) re)
(fma.f64 #s(literal -1/8 binary64) (/.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 re #s(literal 3 binary64))) (fma.f64 #s(literal 1/2 binary64) (/.f64 (pow.f64 im #s(literal 2 binary64)) re) re))
(+.f64 re (*.f64 (pow.f64 im #s(literal 2 binary64)) (+.f64 (*.f64 (pow.f64 im #s(literal 2 binary64)) (-.f64 (*.f64 #s(literal 1/16 binary64) (/.f64 (pow.f64 im #s(literal 2 binary64)) (pow.f64 re #s(literal 5 binary64)))) (*.f64 #s(literal 1/8 binary64) (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 3 binary64)))))) (*.f64 #s(literal 1/2 binary64) (/.f64 #s(literal 1 binary64) re)))))
(+.f64 re (*.f64 (pow.f64 im #s(literal 2 binary64)) (fma.f64 (pow.f64 im #s(literal 2 binary64)) (-.f64 (*.f64 #s(literal 1/16 binary64) (/.f64 (pow.f64 im #s(literal 2 binary64)) (pow.f64 re #s(literal 5 binary64)))) (/.f64 #s(literal 1/8 binary64) (pow.f64 re #s(literal 3 binary64)))) (/.f64 #s(literal 1/2 binary64) re))))
(fma.f64 (pow.f64 im #s(literal 2 binary64)) (fma.f64 (pow.f64 im #s(literal 2 binary64)) (fma.f64 #s(literal 1/16 binary64) (/.f64 (pow.f64 im #s(literal 2 binary64)) (pow.f64 re #s(literal 5 binary64))) (/.f64 #s(literal -1/8 binary64) (pow.f64 re #s(literal 3 binary64)))) (/.f64 #s(literal 1/2 binary64) re)) re)
(fma.f64 (pow.f64 im #s(literal 4 binary64)) (fma.f64 #s(literal 1/16 binary64) (/.f64 (pow.f64 im #s(literal 2 binary64)) (pow.f64 re #s(literal 5 binary64))) (/.f64 #s(literal -1/8 binary64) (pow.f64 re #s(literal 3 binary64)))) (fma.f64 #s(literal 1/2 binary64) (/.f64 (pow.f64 im #s(literal 2 binary64)) re) re))
im
(*.f64 im (+.f64 #s(literal 1 binary64) (*.f64 #s(literal 1/2 binary64) (/.f64 (pow.f64 re #s(literal 2 binary64)) (pow.f64 im #s(literal 2 binary64))))))
(*.f64 im (+.f64 #s(literal 1 binary64) (/.f64 (*.f64 #s(literal 1/2 binary64) (pow.f64 re #s(literal 2 binary64))) (pow.f64 im #s(literal 2 binary64)))))
(*.f64 im (fma.f64 #s(literal 1/2 binary64) (/.f64 (pow.f64 re #s(literal 2 binary64)) (pow.f64 im #s(literal 2 binary64))) #s(literal 1 binary64)))
(+.f64 im (*.f64 #s(literal 1 binary64) (*.f64 (pow.f64 re #s(literal 2 binary64)) (/.f64 #s(literal 1/2 binary64) im))))
(*.f64 im (+.f64 #s(literal 1 binary64) (+.f64 (*.f64 #s(literal -1/8 binary64) (/.f64 (pow.f64 re #s(literal 4 binary64)) (pow.f64 im #s(literal 4 binary64)))) (*.f64 #s(literal 1/2 binary64) (/.f64 (pow.f64 re #s(literal 2 binary64)) (pow.f64 im #s(literal 2 binary64)))))))
(*.f64 im (+.f64 #s(literal 1 binary64) (fma.f64 #s(literal -1/8 binary64) (/.f64 (pow.f64 re #s(literal 4 binary64)) (pow.f64 im #s(literal 4 binary64))) (/.f64 (*.f64 #s(literal 1/2 binary64) (pow.f64 re #s(literal 2 binary64))) (pow.f64 im #s(literal 2 binary64))))))
(*.f64 im (fma.f64 #s(literal 1/2 binary64) (/.f64 (pow.f64 re #s(literal 2 binary64)) (pow.f64 im #s(literal 2 binary64))) (fma.f64 #s(literal -1/8 binary64) (/.f64 (pow.f64 re #s(literal 4 binary64)) (pow.f64 im #s(literal 4 binary64))) #s(literal 1 binary64))))
(fma.f64 im (fma.f64 #s(literal -1/8 binary64) (/.f64 (pow.f64 re #s(literal 4 binary64)) (pow.f64 im #s(literal 4 binary64))) #s(literal 1 binary64)) (*.f64 #s(literal 1 binary64) (*.f64 (pow.f64 re #s(literal 2 binary64)) (/.f64 #s(literal 1/2 binary64) im))))
(*.f64 im (+.f64 #s(literal 1 binary64) (+.f64 (*.f64 #s(literal -1/8 binary64) (/.f64 (pow.f64 re #s(literal 4 binary64)) (pow.f64 im #s(literal 4 binary64)))) (+.f64 (*.f64 #s(literal 1/16 binary64) (/.f64 (pow.f64 re #s(literal 6 binary64)) (pow.f64 im #s(literal 6 binary64)))) (*.f64 #s(literal 1/2 binary64) (/.f64 (pow.f64 re #s(literal 2 binary64)) (pow.f64 im #s(literal 2 binary64))))))))
(*.f64 im (+.f64 #s(literal 1 binary64) (fma.f64 #s(literal -1/8 binary64) (/.f64 (pow.f64 re #s(literal 4 binary64)) (pow.f64 im #s(literal 4 binary64))) (fma.f64 #s(literal 1/16 binary64) (/.f64 (pow.f64 re #s(literal 6 binary64)) (pow.f64 im #s(literal 6 binary64))) (/.f64 (*.f64 #s(literal 1/2 binary64) (pow.f64 re #s(literal 2 binary64))) (pow.f64 im #s(literal 2 binary64)))))))
(*.f64 im (+.f64 (fma.f64 #s(literal -1/8 binary64) (/.f64 (pow.f64 re #s(literal 4 binary64)) (pow.f64 im #s(literal 4 binary64))) (/.f64 (*.f64 #s(literal 1/16 binary64) (pow.f64 re #s(literal 6 binary64))) (pow.f64 im #s(literal 6 binary64)))) (fma.f64 #s(literal 1/2 binary64) (/.f64 (pow.f64 re #s(literal 2 binary64)) (pow.f64 im #s(literal 2 binary64))) #s(literal 1 binary64))))
(fma.f64 im (fma.f64 #s(literal 1/2 binary64) (/.f64 (pow.f64 re #s(literal 2 binary64)) (pow.f64 im #s(literal 2 binary64))) (fma.f64 #s(literal -1/8 binary64) (/.f64 (pow.f64 re #s(literal 4 binary64)) (pow.f64 im #s(literal 4 binary64))) (*.f64 #s(literal 1/16 binary64) (/.f64 (pow.f64 re #s(literal 6 binary64)) (pow.f64 im #s(literal 6 binary64)))))) im)
(*.f64 #s(literal -1 binary64) im)
(neg.f64 im)
(*.f64 #s(literal -1 binary64) (*.f64 im (+.f64 #s(literal 1 binary64) (*.f64 #s(literal 1/2 binary64) (/.f64 (pow.f64 re #s(literal 2 binary64)) (pow.f64 im #s(literal 2 binary64)))))))
(*.f64 (neg.f64 im) (+.f64 #s(literal 1 binary64) (/.f64 (*.f64 #s(literal 1/2 binary64) (pow.f64 re #s(literal 2 binary64))) (pow.f64 im #s(literal 2 binary64)))))
(*.f64 (fma.f64 #s(literal 1/2 binary64) (/.f64 (pow.f64 re #s(literal 2 binary64)) (pow.f64 im #s(literal 2 binary64))) #s(literal 1 binary64)) (neg.f64 im))
(-.f64 (*.f64 #s(literal -1 binary64) (*.f64 (pow.f64 re #s(literal 2 binary64)) (/.f64 #s(literal 1/2 binary64) im))) im)
(*.f64 #s(literal -1 binary64) (*.f64 im (+.f64 #s(literal 1 binary64) (+.f64 (*.f64 #s(literal -1/8 binary64) (/.f64 (pow.f64 re #s(literal 4 binary64)) (pow.f64 im #s(literal 4 binary64)))) (*.f64 #s(literal 1/2 binary64) (/.f64 (pow.f64 re #s(literal 2 binary64)) (pow.f64 im #s(literal 2 binary64))))))))
(*.f64 (neg.f64 im) (+.f64 #s(literal 1 binary64) (fma.f64 #s(literal -1/8 binary64) (/.f64 (pow.f64 re #s(literal 4 binary64)) (pow.f64 im #s(literal 4 binary64))) (/.f64 (*.f64 #s(literal 1/2 binary64) (pow.f64 re #s(literal 2 binary64))) (pow.f64 im #s(literal 2 binary64))))))
(*.f64 im (neg.f64 (+.f64 #s(literal 1 binary64) (fma.f64 #s(literal -1/8 binary64) (/.f64 (pow.f64 re #s(literal 4 binary64)) (pow.f64 im #s(literal 4 binary64))) (/.f64 (*.f64 #s(literal 1/2 binary64) (pow.f64 re #s(literal 2 binary64))) (pow.f64 im #s(literal 2 binary64)))))))
(*.f64 im (neg.f64 (fma.f64 #s(literal 1/2 binary64) (/.f64 (pow.f64 re #s(literal 2 binary64)) (pow.f64 im #s(literal 2 binary64))) (fma.f64 #s(literal -1/8 binary64) (/.f64 (pow.f64 re #s(literal 4 binary64)) (pow.f64 im #s(literal 4 binary64))) #s(literal 1 binary64)))))
(*.f64 im (-.f64 (*.f64 (/.f64 (pow.f64 re #s(literal 2 binary64)) (pow.f64 im #s(literal 2 binary64))) #s(literal -1/2 binary64)) (fma.f64 #s(literal -1/8 binary64) (/.f64 (pow.f64 re #s(literal 4 binary64)) (pow.f64 im #s(literal 4 binary64))) #s(literal 1 binary64))))
(*.f64 #s(literal -1 binary64) (*.f64 im (+.f64 #s(literal 1 binary64) (+.f64 (*.f64 #s(literal -1/8 binary64) (/.f64 (pow.f64 re #s(literal 4 binary64)) (pow.f64 im #s(literal 4 binary64)))) (+.f64 (*.f64 #s(literal 1/16 binary64) (/.f64 (pow.f64 re #s(literal 6 binary64)) (pow.f64 im #s(literal 6 binary64)))) (*.f64 #s(literal 1/2 binary64) (/.f64 (pow.f64 re #s(literal 2 binary64)) (pow.f64 im #s(literal 2 binary64)))))))))
(*.f64 (neg.f64 im) (+.f64 #s(literal 1 binary64) (fma.f64 #s(literal -1/8 binary64) (/.f64 (pow.f64 re #s(literal 4 binary64)) (pow.f64 im #s(literal 4 binary64))) (fma.f64 #s(literal 1/16 binary64) (/.f64 (pow.f64 re #s(literal 6 binary64)) (pow.f64 im #s(literal 6 binary64))) (/.f64 (*.f64 #s(literal 1/2 binary64) (pow.f64 re #s(literal 2 binary64))) (pow.f64 im #s(literal 2 binary64)))))))
(*.f64 im (neg.f64 (+.f64 (fma.f64 #s(literal -1/8 binary64) (/.f64 (pow.f64 re #s(literal 4 binary64)) (pow.f64 im #s(literal 4 binary64))) (/.f64 (*.f64 #s(literal 1/16 binary64) (pow.f64 re #s(literal 6 binary64))) (pow.f64 im #s(literal 6 binary64)))) (fma.f64 #s(literal 1/2 binary64) (/.f64 (pow.f64 re #s(literal 2 binary64)) (pow.f64 im #s(literal 2 binary64))) #s(literal 1 binary64)))))
(neg.f64 (fma.f64 im (fma.f64 #s(literal 1/2 binary64) (/.f64 (pow.f64 re #s(literal 2 binary64)) (pow.f64 im #s(literal 2 binary64))) (fma.f64 #s(literal -1/8 binary64) (/.f64 (pow.f64 re #s(literal 4 binary64)) (pow.f64 im #s(literal 4 binary64))) (*.f64 #s(literal 1/16 binary64) (/.f64 (pow.f64 re #s(literal 6 binary64)) (pow.f64 im #s(literal 6 binary64)))))) im))
(*.f64 im (-.f64 #s(literal -1 binary64) (fma.f64 #s(literal 1/2 binary64) (/.f64 (pow.f64 re #s(literal 2 binary64)) (pow.f64 im #s(literal 2 binary64))) (fma.f64 #s(literal -1/8 binary64) (/.f64 (pow.f64 re #s(literal 4 binary64)) (pow.f64 im #s(literal 4 binary64))) (*.f64 #s(literal 1/16 binary64) (/.f64 (pow.f64 re #s(literal 6 binary64)) (pow.f64 im #s(literal 6 binary64))))))))
(+.f64 (+.f64 (hypot.f64 re im) #s(literal 1 binary64)) #s(literal -1 binary64))
(hypot.f64 re im)
(hypot.f64 im re)
(+.f64 #s(literal 0 binary64) (hypot.f64 re im))
(hypot.f64 re im)
(hypot.f64 im re)
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (hypot.f64 re im))) #s(literal 2 binary64))) (log.f64 (cbrt.f64 (exp.f64 (hypot.f64 re im)))))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (hypot.f64 im re))) #s(literal 2 binary64))) (log.f64 (cbrt.f64 (exp.f64 (hypot.f64 im re)))))
(+.f64 (log.f64 (sqrt.f64 (exp.f64 (hypot.f64 re im)))) (log.f64 (sqrt.f64 (exp.f64 (hypot.f64 re im)))))
(*.f64 #s(literal 2 binary64) (log.f64 (sqrt.f64 (exp.f64 (hypot.f64 re im)))))
(*.f64 #s(literal 2 binary64) (log.f64 (sqrt.f64 (exp.f64 (hypot.f64 im re)))))
(-.f64 (+.f64 (hypot.f64 re im) #s(literal 1 binary64)) #s(literal 1 binary64))
(hypot.f64 re im)
(hypot.f64 im re)
(*.f64 (hypot.f64 re im) #s(literal 1 binary64))
(hypot.f64 re im)
(hypot.f64 im re)
(*.f64 (hypot.f64 re im) (log.f64 (E.f64)))
(hypot.f64 re im)
(hypot.f64 im re)
(*.f64 #s(literal 1 binary64) (hypot.f64 re im))
(hypot.f64 re im)
(hypot.f64 im re)
(*.f64 (cbrt.f64 (hypot.f64 re im)) (pow.f64 (cbrt.f64 (hypot.f64 re im)) #s(literal 2 binary64)))
(hypot.f64 re im)
(hypot.f64 im re)
(*.f64 (cbrt.f64 (hypot.f64 re im)) (pow.f64 (pow.f64 (cbrt.f64 (hypot.f64 re im)) #s(literal 4 binary64)) #s(literal 1/2 binary64)))
(hypot.f64 re im)
(hypot.f64 im re)
(*.f64 (pow.f64 (cbrt.f64 (hypot.f64 re im)) #s(literal 2 binary64)) (cbrt.f64 (hypot.f64 re im)))
(hypot.f64 re im)
(hypot.f64 im re)
(*.f64 (sqrt.f64 (hypot.f64 re im)) (sqrt.f64 (hypot.f64 re im)))
(hypot.f64 re im)
(hypot.f64 im re)
(*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (hypot.f64 re im))) #s(literal 2 binary64)) (*.f64 (cbrt.f64 (cbrt.f64 (hypot.f64 re im))) (pow.f64 (cbrt.f64 (hypot.f64 re im)) #s(literal 2 binary64))))
(hypot.f64 re im)
(hypot.f64 im re)
(*.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (hypot.f64 re im)) #s(literal 4 binary64))) (*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (hypot.f64 re im))) #s(literal 2 binary64)) (cbrt.f64 (hypot.f64 re im))))
(*.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (hypot.f64 re im)) #s(literal 4 binary64))) (*.f64 (cbrt.f64 (hypot.f64 re im)) (pow.f64 (cbrt.f64 (cbrt.f64 (hypot.f64 re im))) #s(literal 2 binary64))))
(*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (hypot.f64 re im))) #s(literal 2 binary64)) (*.f64 (cbrt.f64 (hypot.f64 re im)) (cbrt.f64 (pow.f64 (cbrt.f64 (hypot.f64 re im)) #s(literal 4 binary64)))))
(*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (hypot.f64 im re))) #s(literal 2 binary64)) (*.f64 (cbrt.f64 (hypot.f64 im re)) (cbrt.f64 (pow.f64 (cbrt.f64 (hypot.f64 im re)) #s(literal 4 binary64)))))
(*.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (hypot.f64 im re)) #s(literal 4 binary64))) (pow.f64 (cbrt.f64 (cbrt.f64 (hypot.f64 im re))) #s(literal 5 binary64)))
(*.f64 (pow.f64 (hypot.f64 re im) #s(literal 1/6 binary64)) (*.f64 (pow.f64 (hypot.f64 re im) #s(literal 1/6 binary64)) (pow.f64 (cbrt.f64 (hypot.f64 re im)) #s(literal 2 binary64))))
(hypot.f64 re im)
(hypot.f64 im re)
(*.f64 (pow.f64 (hypot.f64 re im) #s(literal 1/4 binary64)) (pow.f64 (pow.f64 (hypot.f64 re im) #s(literal 3/2 binary64)) #s(literal 1/2 binary64)))
(*.f64 (pow.f64 (hypot.f64 re im) #s(literal 1/4 binary64)) (sqrt.f64 (pow.f64 (hypot.f64 re im) #s(literal 3/2 binary64))))
(*.f64 (pow.f64 (hypot.f64 im re) #s(literal 1/4 binary64)) (sqrt.f64 (pow.f64 (hypot.f64 im re) #s(literal 3/2 binary64))))
(*.f64 (pow.f64 (hypot.f64 re im) #s(literal 1/4 binary64)) (sqrt.f64 (pow.f64 (hypot.f64 re im) #s(literal 3/2 binary64))))
(*.f64 (pow.f64 (hypot.f64 im re) #s(literal 1/4 binary64)) (sqrt.f64 (pow.f64 (hypot.f64 im re) #s(literal 3/2 binary64))))
(*.f64 (pow.f64 (hypot.f64 re im) #s(literal 1/4 binary64)) (*.f64 (pow.f64 (hypot.f64 re im) #s(literal 1/4 binary64)) (sqrt.f64 (hypot.f64 re im))))
(hypot.f64 re im)
(hypot.f64 im re)
(*.f64 (pow.f64 #s(literal 1 binary64) #s(literal 1/2 binary64)) (hypot.f64 re im))
(hypot.f64 re im)
(hypot.f64 im re)
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 (hypot.f64 re im)) #s(literal 4 binary64)) #s(literal 1/2 binary64)) (cbrt.f64 (hypot.f64 re im)))
(hypot.f64 re im)
(hypot.f64 im re)
(*.f64 (pow.f64 (pow.f64 (hypot.f64 re im) #s(literal 3/2 binary64)) #s(literal 1/2 binary64)) (pow.f64 (hypot.f64 re im) #s(literal 1/4 binary64)))
(*.f64 (pow.f64 (hypot.f64 re im) #s(literal 1/4 binary64)) (sqrt.f64 (pow.f64 (hypot.f64 re im) #s(literal 3/2 binary64))))
(*.f64 (pow.f64 (hypot.f64 im re) #s(literal 1/4 binary64)) (sqrt.f64 (pow.f64 (hypot.f64 im re) #s(literal 3/2 binary64))))
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 (hypot.f64 re im)) #s(literal 5 binary64)) #s(literal 1/2 binary64)) (pow.f64 (hypot.f64 re im) #s(literal 1/6 binary64)))
(*.f64 (pow.f64 (hypot.f64 re im) #s(literal 1/6 binary64)) (sqrt.f64 (pow.f64 (cbrt.f64 (hypot.f64 re im)) #s(literal 5 binary64))))
(*.f64 (pow.f64 (hypot.f64 im re) #s(literal 1/6 binary64)) (sqrt.f64 (pow.f64 (cbrt.f64 (hypot.f64 im re)) #s(literal 5 binary64))))
(*.f64 (pow.f64 #s(literal 1 binary64) #s(literal 1/3 binary64)) (hypot.f64 re im))
(hypot.f64 re im)
(hypot.f64 im re)
(*.f64 (pow.f64 (pow.f64 (pow.f64 (cbrt.f64 (hypot.f64 re im)) #s(literal 4 binary64)) #s(literal 2 binary64)) #s(literal 1/3 binary64)) (cbrt.f64 (cbrt.f64 (hypot.f64 re im))))
(*.f64 (cbrt.f64 (cbrt.f64 (hypot.f64 re im))) (cbrt.f64 (pow.f64 (pow.f64 (cbrt.f64 (hypot.f64 re im)) #s(literal 4 binary64)) #s(literal 2 binary64))))
(*.f64 (cbrt.f64 (cbrt.f64 (hypot.f64 re im))) (cbrt.f64 (pow.f64 (cbrt.f64 (hypot.f64 re im)) #s(literal 8 binary64))))
(*.f64 (cbrt.f64 (cbrt.f64 (hypot.f64 im re))) (cbrt.f64 (pow.f64 (cbrt.f64 (hypot.f64 im re)) #s(literal 8 binary64))))
(*.f64 (pow.f64 (pow.f64 (hypot.f64 re im) #s(literal 5/2 binary64)) #s(literal 1/3 binary64)) (pow.f64 (hypot.f64 re im) #s(literal 1/6 binary64)))
(*.f64 (pow.f64 (hypot.f64 re im) #s(literal 1/6 binary64)) (cbrt.f64 (pow.f64 (hypot.f64 re im) #s(literal 5/2 binary64))))
(*.f64 (pow.f64 (hypot.f64 im re) #s(literal 1/6 binary64)) (cbrt.f64 (pow.f64 (hypot.f64 im re) #s(literal 5/2 binary64))))
(*.f64 (*.f64 (sqrt.f64 (hypot.f64 re im)) (cbrt.f64 (hypot.f64 re im))) (pow.f64 (hypot.f64 re im) #s(literal 1/6 binary64)))
(*.f64 (sqrt.f64 (hypot.f64 re im)) (*.f64 (cbrt.f64 (hypot.f64 re im)) (pow.f64 (hypot.f64 re im) #s(literal 1/6 binary64))))
(*.f64 (cbrt.f64 (hypot.f64 re im)) (*.f64 (sqrt.f64 (hypot.f64 re im)) (pow.f64 (hypot.f64 re im) #s(literal 1/6 binary64))))
(*.f64 (cbrt.f64 (hypot.f64 im re)) (*.f64 (sqrt.f64 (hypot.f64 im re)) (pow.f64 (hypot.f64 im re) #s(literal 1/6 binary64))))
(*.f64 (sqrt.f64 (hypot.f64 im re)) (pow.f64 (pow.f64 (hypot.f64 im re) #s(literal 1/6 binary64)) #s(literal 3 binary64)))
(*.f64 (cbrt.f64 (pow.f64 (pow.f64 (cbrt.f64 (hypot.f64 re im)) #s(literal 4 binary64)) #s(literal 2 binary64))) (cbrt.f64 (cbrt.f64 (hypot.f64 re im))))
(*.f64 (cbrt.f64 (cbrt.f64 (hypot.f64 re im))) (cbrt.f64 (pow.f64 (pow.f64 (cbrt.f64 (hypot.f64 re im)) #s(literal 4 binary64)) #s(literal 2 binary64))))
(*.f64 (cbrt.f64 (cbrt.f64 (hypot.f64 re im))) (cbrt.f64 (pow.f64 (cbrt.f64 (hypot.f64 re im)) #s(literal 8 binary64))))
(*.f64 (cbrt.f64 (cbrt.f64 (hypot.f64 im re))) (cbrt.f64 (pow.f64 (cbrt.f64 (hypot.f64 im re)) #s(literal 8 binary64))))
(*.f64 (cbrt.f64 (pow.f64 (hypot.f64 re im) #s(literal 5/2 binary64))) (pow.f64 (hypot.f64 re im) #s(literal 1/6 binary64)))
(*.f64 (pow.f64 (hypot.f64 re im) #s(literal 1/6 binary64)) (cbrt.f64 (pow.f64 (hypot.f64 re im) #s(literal 5/2 binary64))))
(*.f64 (pow.f64 (hypot.f64 im re) #s(literal 1/6 binary64)) (cbrt.f64 (pow.f64 (hypot.f64 im re) #s(literal 5/2 binary64))))
(*.f64 (*.f64 (sqrt.f64 (hypot.f64 re im)) (pow.f64 (hypot.f64 re im) #s(literal 1/4 binary64))) (pow.f64 (hypot.f64 re im) #s(literal 1/4 binary64)))
(hypot.f64 re im)
(hypot.f64 im re)
(*.f64 (sqrt.f64 (pow.f64 (hypot.f64 re im) #s(literal 3/2 binary64))) (pow.f64 (hypot.f64 re im) #s(literal 1/4 binary64)))
(*.f64 (pow.f64 (hypot.f64 re im) #s(literal 1/4 binary64)) (sqrt.f64 (pow.f64 (hypot.f64 re im) #s(literal 3/2 binary64))))
(*.f64 (pow.f64 (hypot.f64 im re) #s(literal 1/4 binary64)) (sqrt.f64 (pow.f64 (hypot.f64 im re) #s(literal 3/2 binary64))))
(*.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (hypot.f64 re im)) #s(literal 5 binary64))) (pow.f64 (hypot.f64 re im) #s(literal 1/6 binary64)))
(*.f64 (pow.f64 (hypot.f64 re im) #s(literal 1/6 binary64)) (sqrt.f64 (pow.f64 (cbrt.f64 (hypot.f64 re im)) #s(literal 5 binary64))))
(*.f64 (pow.f64 (hypot.f64 im re) #s(literal 1/6 binary64)) (sqrt.f64 (pow.f64 (cbrt.f64 (hypot.f64 im re)) #s(literal 5 binary64))))
(*.f64 (*.f64 (cbrt.f64 (hypot.f64 re im)) (cbrt.f64 (pow.f64 (cbrt.f64 (hypot.f64 re im)) #s(literal 4 binary64)))) (pow.f64 (cbrt.f64 (cbrt.f64 (hypot.f64 re im))) #s(literal 2 binary64)))
(*.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (hypot.f64 re im)) #s(literal 4 binary64))) (*.f64 (cbrt.f64 (hypot.f64 re im)) (pow.f64 (cbrt.f64 (cbrt.f64 (hypot.f64 re im))) #s(literal 2 binary64))))
(*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (hypot.f64 re im))) #s(literal 2 binary64)) (*.f64 (cbrt.f64 (hypot.f64 re im)) (cbrt.f64 (pow.f64 (cbrt.f64 (hypot.f64 re im)) #s(literal 4 binary64)))))
(*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (hypot.f64 im re))) #s(literal 2 binary64)) (*.f64 (cbrt.f64 (hypot.f64 im re)) (cbrt.f64 (pow.f64 (cbrt.f64 (hypot.f64 im re)) #s(literal 4 binary64)))))
(*.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (hypot.f64 im re)) #s(literal 4 binary64))) (pow.f64 (cbrt.f64 (cbrt.f64 (hypot.f64 im re))) #s(literal 5 binary64)))
(*.f64 (*.f64 (pow.f64 (cbrt.f64 (hypot.f64 re im)) #s(literal 2 binary64)) (pow.f64 (cbrt.f64 (cbrt.f64 (hypot.f64 re im))) #s(literal 2 binary64))) (cbrt.f64 (cbrt.f64 (hypot.f64 re im))))
(hypot.f64 re im)
(hypot.f64 im re)
(*.f64 (*.f64 (pow.f64 (cbrt.f64 (hypot.f64 re im)) #s(literal 2 binary64)) (pow.f64 (hypot.f64 re im) #s(literal 1/6 binary64))) (pow.f64 (hypot.f64 re im) #s(literal 1/6 binary64)))
(hypot.f64 re im)
(hypot.f64 im re)
(/.f64 (sqrt.f64 (-.f64 (pow.f64 re #s(literal 4 binary64)) (pow.f64 im #s(literal 4 binary64)))) (sqrt.f64 (-.f64 (pow.f64 re #s(literal 2 binary64)) (pow.f64 im #s(literal 2 binary64)))))
(/.f64 (sqrt.f64 (+.f64 (pow.f64 re #s(literal 6 binary64)) (pow.f64 im #s(literal 6 binary64)))) (sqrt.f64 (+.f64 (pow.f64 re #s(literal 4 binary64)) (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 (*.f64 re im) #s(literal 2 binary64))))))
(/.f64 (sqrt.f64 (+.f64 (pow.f64 im #s(literal 6 binary64)) (pow.f64 re #s(literal 6 binary64)))) (sqrt.f64 (+.f64 (pow.f64 re #s(literal 4 binary64)) (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 (*.f64 im re) #s(literal 2 binary64))))))
(/.f64 (-.f64 (pow.f64 (+.f64 (hypot.f64 re im) #s(literal 1 binary64)) #s(literal 3 binary64)) #s(literal 1 binary64)) (+.f64 (*.f64 (+.f64 (hypot.f64 re im) #s(literal 1 binary64)) (+.f64 (hypot.f64 re im) #s(literal 1 binary64))) (+.f64 #s(literal 1 binary64) (+.f64 (hypot.f64 re im) #s(literal 1 binary64)))))
(/.f64 (+.f64 (pow.f64 (+.f64 #s(literal 1 binary64) (hypot.f64 re im)) #s(literal 3 binary64)) #s(literal -1 binary64)) (fma.f64 (+.f64 #s(literal 1 binary64) (hypot.f64 re im)) (+.f64 #s(literal 1 binary64) (hypot.f64 re im)) (+.f64 (hypot.f64 re im) #s(literal 2 binary64))))
(/.f64 (+.f64 #s(literal -1 binary64) (pow.f64 (+.f64 #s(literal 1 binary64) (hypot.f64 re im)) #s(literal 3 binary64))) (fma.f64 (+.f64 #s(literal 1 binary64) (hypot.f64 re im)) (+.f64 #s(literal 1 binary64) (hypot.f64 re im)) (+.f64 #s(literal 2 binary64) (hypot.f64 re im))))
(/.f64 (+.f64 #s(literal -1 binary64) (pow.f64 (+.f64 #s(literal 1 binary64) (hypot.f64 im re)) #s(literal 3 binary64))) (+.f64 #s(literal 1 binary64) (*.f64 (+.f64 #s(literal 1 binary64) (hypot.f64 im re)) (+.f64 #s(literal 2 binary64) (hypot.f64 im re)))))
(/.f64 (+.f64 #s(literal -1 binary64) (pow.f64 (+.f64 #s(literal 1 binary64) (hypot.f64 im re)) #s(literal 3 binary64))) (fma.f64 (+.f64 #s(literal 1 binary64) (hypot.f64 im re)) (+.f64 #s(literal 2 binary64) (hypot.f64 im re)) #s(literal 1 binary64)))
(/.f64 (-.f64 (*.f64 (+.f64 (hypot.f64 re im) #s(literal 1 binary64)) (+.f64 (hypot.f64 re im) #s(literal 1 binary64))) #s(literal 1 binary64)) (+.f64 (+.f64 (hypot.f64 re im) #s(literal 1 binary64)) #s(literal 1 binary64)))
(hypot.f64 re im)
(hypot.f64 im re)
(pow.f64 (hypot.f64 re im) #s(literal 1 binary64))
(hypot.f64 re im)
(hypot.f64 im re)
(pow.f64 (pow.f64 (hypot.f64 re im) #s(literal 2 binary64)) #s(literal 1/2 binary64))
(hypot.f64 re im)
(hypot.f64 im re)
(pow.f64 (cbrt.f64 (hypot.f64 re im)) #s(literal 3 binary64))
(hypot.f64 re im)
(hypot.f64 im re)
(pow.f64 (pow.f64 (hypot.f64 re im) #s(literal 3 binary64)) #s(literal 1/3 binary64))
(hypot.f64 re im)
(hypot.f64 im re)
(pow.f64 (sqrt.f64 (hypot.f64 re im)) #s(literal 2 binary64))
(hypot.f64 re im)
(hypot.f64 im re)
(pow.f64 (E.f64) (log.f64 (hypot.f64 re im)))
(hypot.f64 re im)
(hypot.f64 im re)
(pow.f64 (pow.f64 (hypot.f64 re im) #s(literal 4 binary64)) #s(literal 1/4 binary64))
(pow.f64 (pow.f64 (hypot.f64 im re) #s(literal 4 binary64)) #s(literal 1/4 binary64))
(pow.f64 (exp.f64 (cbrt.f64 (pow.f64 (log.f64 (hypot.f64 re im)) #s(literal 2 binary64)))) (cbrt.f64 (log.f64 (hypot.f64 re im))))
(pow.f64 (exp.f64 (cbrt.f64 (pow.f64 (log.f64 (hypot.f64 im re)) #s(literal 2 binary64)))) (cbrt.f64 (log.f64 (hypot.f64 im re))))
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (hypot.f64 re im)))) (sqrt.f64 (log.f64 (hypot.f64 re im))))
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (hypot.f64 im re)))) (sqrt.f64 (log.f64 (hypot.f64 im re))))
(sqrt.f64 (pow.f64 (hypot.f64 re im) #s(literal 2 binary64)))
(hypot.f64 re im)
(hypot.f64 im re)
(fabs.f64 (hypot.f64 re im))
(hypot.f64 re im)
(hypot.f64 im re)
(log.f64 (exp.f64 (hypot.f64 re im)))
(hypot.f64 re im)
(hypot.f64 im re)
(cbrt.f64 (pow.f64 (hypot.f64 re im) #s(literal 3 binary64)))
(hypot.f64 re im)
(hypot.f64 im re)
(expm1.f64 (log1p.f64 (hypot.f64 re im)))
(hypot.f64 re im)
(hypot.f64 im re)
(log1p.f64 (expm1.f64 (hypot.f64 re im)))
(hypot.f64 re im)
(hypot.f64 im re)
(exp.f64 (log.f64 (hypot.f64 re im)))
(hypot.f64 re im)
(hypot.f64 im re)
(exp.f64 (*.f64 (*.f64 (log.f64 (hypot.f64 re im)) #s(literal 2 binary64)) #s(literal 1/2 binary64)))
(hypot.f64 re im)
(hypot.f64 im re)
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (hypot.f64 re im))) #s(literal 3 binary64)))
(hypot.f64 re im)
(hypot.f64 im re)
(exp.f64 (*.f64 (*.f64 #s(literal 3 binary64) (log.f64 (hypot.f64 re im))) #s(literal 1/3 binary64)))
(hypot.f64 re im)
(hypot.f64 im re)
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (hypot.f64 re im))) #s(literal 2 binary64)))
(hypot.f64 re im)
(hypot.f64 im re)

eval168.0ms (5.9%)

Compiler

Compiled 2846 to 1858 computations (34.7% saved)

prune24.0ms (0.8%)

Pruning

2 alts after pruning (1 fresh and 1 done)

PrunedKeptTotal
New1631164
Fresh000
Picked011
Done000
Total1632165
Accuracy
100.0%
Counts
165 → 2
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(log.f64 (hypot.f64 re im))
99.1%
(log.f64 im)
Compiler

Compiled 10 to 7 computations (30% saved)

localize20.0ms (0.7%)

Compiler

Compiled 6 to 4 computations (33.3% saved)

Precisions
Click to see histograms. Total time spent on operations: 6.0ms
Operation ival-log, time spent: 5.0ms, 89.0% of total-time
Operation const, time spent: 0.0ms, 0.0% of total-time

eval0.0ms (0%)

Compiler

Compiled 2 to 2 computations (0% saved)

prune2.0ms (0.1%)

Pruning

2 alts after pruning (0 fresh and 2 done)

PrunedKeptTotal
New000
Fresh000
Picked011
Done011
Total022
Accuracy
100.0%
Counts
2 → 2
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(log.f64 (hypot.f64 re im))
99.1%
(log.f64 im)
Compiler

Compiled 27 to 17 computations (37% saved)

regimes51.0ms (1.8%)

Counts
3 → 1
Calls
Call 1
Inputs
(log.f64 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:

42.0ms
re
2.0ms
im
1.0ms
(log.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))))
1.0ms
(sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))
1.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)

regimes2.0ms (0.1%)

Accuracy

Total 0.0b remaining (0%)

Threshold costs 0b (0%)

Counts
1 → 1
Calls
Call 1
Inputs
(log.f64 im)
Outputs
(log.f64 im)
Calls

2 calls:

1.0ms
re
1.0ms
im
Results
AccuracySegmentsBranch
99.1%1re
99.1%1im
Compiler

Compiled 6 to 4 computations (33.3% saved)

simplify3.0ms (0.1%)

Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01125
Stop Event
done
saturated
Calls
Call 1
Inputs
(log.f64 (hypot.f64 re im))
(log.f64 im)
Outputs
(log.f64 (hypot.f64 re im))
(log.f64 im)
Compiler

Compiled 10 to 7 computations (30% saved)

soundness23.0ms (0.8%)

Rules
104×fma-neg
90×fma-define
30×neg-sub0
28×distribute-lft-neg-in
28×unsub-neg
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
028127
155127
2102127
3187127
4284127
5323127
6333127
Stop Event
saturated
Compiler

Compiled 15 to 9 computations (40% saved)

end0.0ms (0%)

preprocess38.0ms (1.3%)

Remove

(sort re im)

(abs im)

(abs re)

Compiler

Compiled 146 to 96 computations (34.2% saved)

Profiling

Loading profile data...