math.log/1 on complex, real part

Time bar (total: 4.5s)

start0.0ms (0%)

Memory
0.0MiB live, 0.0MiB allocated; 0ms collecting garbage

analyze122.0ms (2.7%)

Memory
-5.8MiB live, 70.0MiB allocated; 33ms collecting garbage
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 11 to 6 computations (45.5% saved)

sample897.0ms (19.8%)

Memory
16.9MiB live, 910.3MiB allocated; 200ms collecting garbage
Samples
674.0ms8 256×0valid
Precisions
Click to see histograms. Total time spent on operations: 410.0ms
ival-hypot: 243.0ms (59.2% of total)
ival-log: 156.0ms (38% of total)
ival-true: 6.0ms (1.5% of total)
ival-assert: 3.0ms (0.7% of total)
adjust: 2.0ms (0.5% of total)
Bogosity

explain142.0ms (3.1%)

Memory
7.4MiB live, 252.6MiB allocated; 40ms collecting garbage
FPErrors
Click to see full error table
Ground TruthOverpredictionsExampleUnderpredictionsExampleSubexpression
1310-2(3.788531408742548e-157 -3.066910839118976e-196)(sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))
00-0-(+.f64 (*.f64 re re) (*.f64 im im))
00-0-(*.f64 re re)
00-0-re
00-0-(*.f64 im im)
00-0-(log.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))))
00-0-im
Explanations
Click to see full explanations table
OperatorSubexpressionExplanationCount
sqrt.f64(sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))oflow-rescue1080
(+.f64 (*.f64 re re) (*.f64 im im))overflow108
(*.f64 re re)overflow55
(*.f64 im im)overflow69
sqrt.f64(sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))uflow-rescue210
(+.f64 (*.f64 re re) (*.f64 im im))underflow21
(*.f64 re re)underflow69
(*.f64 im im)underflow64
Confusion
Predicted +Predicted -
+1292
-0125
Precision
1.0
Recall
0.9847328244274809
Confusion?
Predicted +Predicted MaybePredicted -
+12902
-00125
Precision?
1.0
Recall?
0.9847328244274809
Freqs
test
numberfreq
0127
1129
Total Confusion?
Predicted +Predicted MaybePredicted -
+100
-000
Precision?
1.0
Recall?
1.0
Samples
69.0ms512×0valid
Compiler

Compiled 77 to 25 computations (67.5% saved)

Precisions
Click to see histograms. Total time spent on operations: 33.0ms
ival-add: 12.0ms (36% of total)
ival-hypot: 9.0ms (27% of total)
ival-mult: 7.0ms (21% of total)
ival-log: 5.0ms (15% of total)
ival-true: 0.0ms (0% of total)
adjust: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

preprocess18.0ms (0.4%)

Memory
-10.3MiB live, 40.5MiB allocated; 6ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01947
14547
29547
312047
415847
079
0129
1239
2629
31199
41569
01564
Stop Event
iter limit
saturated
iter limit
saturated
Calls
Call 1
Inputs
(log.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))))
Outputs
(log.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))))
(log.f64 (hypot.f64 im re))
Symmetry

(abs im)

(abs re)

(sort re im)

Compiler

Compiled 9 to 7 computations (22.2% saved)

eval0.0ms (0%)

Memory
0.1MiB live, 0.1MiB allocated; 0ms collecting garbage
Compiler

Compiled 0 to 2 computations (-∞% saved)

prune0.0ms (0%)

Memory
0.8MiB live, 0.8MiB allocated; 0ms collecting garbage
Alt Table
Click to see full alt table
StatusAccuracyProgram
51.0%
(log.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))))
Compiler

Compiled 9 to 7 computations (22.2% saved)

simplify4.0ms (0.1%)

Memory
7.9MiB live, 7.9MiB allocated; 0ms collecting garbage
Localize:

Found 4 expressions of interest:

NewMetricScoreProgram
cost-diff0
(*.f64 re re)
cost-diff0
(log.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))))
cost-diff1
(+.f64 (*.f64 re re) (*.f64 im im))
cost-diff4
(sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0732
01232
12332
26232
311932
415632
015621
Stop Event
iter limit
saturated
iter limit
Calls
Call 1
Inputs
(log.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))))
(sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))
(+.f64 (*.f64 re re) (*.f64 im im))
(*.f64 re re)
re
(*.f64 im im)
im
Outputs
(log.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))))
(log.f64 (hypot.f64 im re))
(sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))
(hypot.f64 im re)
(+.f64 (*.f64 re re) (*.f64 im im))
(fma.f64 im im (*.f64 re re))
(*.f64 re re)
re
(*.f64 im im)
im

localize43.0ms (0.9%)

Memory
-5.8MiB live, 39.9MiB allocated; 3ms collecting garbage
Localize:

Found 4 expressions of interest:

NewMetricScoreProgram
accuracy0.0
(*.f64 im im)
accuracy0.00390625
(+.f64 (*.f64 re re) (*.f64 im im))
accuracy0.00390625
(log.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))))
accuracy30.157279789987307
(sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))
Samples
37.0ms256×0valid
Compiler

Compiled 34 to 9 computations (73.5% saved)

Precisions
Click to see histograms. Total time spent on operations: 30.0ms
ival-hypot: 22.0ms (73.4% of total)
ival-mult: 4.0ms (13.3% of total)
ival-log: 3.0ms (10% of total)
ival-add: 1.0ms (3.3% of total)
ival-true: 0.0ms (0% of total)
adjust: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

series9.0ms (0.2%)

Memory
13.4MiB live, 13.4MiB allocated; 0ms collecting garbage
Counts
5 → 51
Calls
Call 1
Inputs
(sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))
(+.f64 (*.f64 re re) (*.f64 im im))
(log.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))))
(*.f64 re re)
(*.f64 im im)
Outputs
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)))))
(pow im 2)
(+ (pow im 2) (pow re 2))
(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))))))
(pow re 2)
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)))))))
(* (pow re 2) (+ 1 (/ (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))))))
(* -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))))))))
(* -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))))))
(+ 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)))))
(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))))))
(* 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)))))))
(* (pow im 2) (+ 1 (/ (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))))))
(* -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))))))))
(* -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))))))
Calls

6 calls:

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

simplify157.0ms (3.5%)

Memory
-26.1MiB live, 207.8MiB allocated; 23ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0186897
1569881
22107871
36713871
08116804
Stop Event
iter limit
node limit
Counts
51 → 49
Calls
Call 1
Inputs
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)))))
(pow im 2)
(+ (pow im 2) (pow re 2))
(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))))))
(pow re 2)
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)))))))
(* (pow re 2) (+ 1 (/ (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))))))
(* -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))))))))
(* -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))))))
(+ 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)))))
(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))))))
(* 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)))))))
(* (pow im 2) (+ 1 (/ (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))))))
(* -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))))))))
(* -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))))))
Outputs
im
(+ im (* 1/2 (/ (pow re 2) im)))
(fma.f64 (/.f64 #s(literal 1/2 binary64) im) (*.f64 re re) im)
(+ im (* (pow re 2) (+ (* -1/8 (/ (pow re 2) (pow im 3))) (* 1/2 (/ 1 im)))))
(fma.f64 (/.f64 (fma.f64 (/.f64 (/.f64 #s(literal -1/8 binary64) im) im) (*.f64 re re) #s(literal 1/2 binary64)) im) (*.f64 re re) 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)))))
(fma.f64 (pow.f64 re #s(literal 4 binary64)) (fma.f64 (*.f64 #s(literal 1/16 binary64) re) (/.f64 re (pow.f64 im #s(literal 5 binary64))) (/.f64 #s(literal -1/8 binary64) (pow.f64 im #s(literal 3 binary64)))) (fma.f64 (/.f64 #s(literal 1/2 binary64) im) (*.f64 re re) im))
(pow im 2)
(*.f64 im im)
(+ (pow im 2) (pow re 2))
(fma.f64 im im (*.f64 re re))
(log im)
(log.f64 im)
(+ (log im) (* 1/2 (/ (pow re 2) (pow im 2))))
(fma.f64 (/.f64 (/.f64 (*.f64 re re) im) im) #s(literal 1/2 binary64) (log.f64 im))
(+ (log im) (* (pow re 2) (+ (* -1/4 (/ (pow re 2) (pow im 4))) (* 1/2 (/ 1 (pow im 2))))))
(fma.f64 (/.f64 (pow.f64 re #s(literal 4 binary64)) (pow.f64 im #s(literal 4 binary64))) #s(literal -1/4 binary64) (fma.f64 (/.f64 (/.f64 (*.f64 re re) im) im) #s(literal 1/2 binary64) (log.f64 im)))
(+ (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))))))
(fma.f64 (pow.f64 re #s(literal 4 binary64)) (fma.f64 (*.f64 #s(literal 1/6 binary64) re) (/.f64 re (pow.f64 im #s(literal 6 binary64))) (/.f64 #s(literal -1/4 binary64) (pow.f64 im #s(literal 4 binary64)))) (fma.f64 (/.f64 (/.f64 (*.f64 re re) im) im) #s(literal 1/2 binary64) (log.f64 im)))
(pow re 2)
(*.f64 re re)
re
(* re (+ 1 (* 1/2 (/ (pow im 2) (pow re 2)))))
(fma.f64 (/.f64 re re) (*.f64 (/.f64 (*.f64 im im) re) #s(literal 1/2 binary64)) re)
(* re (+ 1 (+ (* -1/8 (/ (pow im 4) (pow re 4))) (* 1/2 (/ (pow im 2) (pow re 2))))))
(*.f64 (fma.f64 (pow.f64 im #s(literal 4 binary64)) (/.f64 #s(literal -1/8 binary64) (pow.f64 re #s(literal 4 binary64))) (fma.f64 (*.f64 #s(literal 1/2 binary64) im) (/.f64 (/.f64 im re) re) #s(literal 1 binary64))) 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 (fma.f64 (pow.f64 im #s(literal 6 binary64)) (/.f64 #s(literal 1/16 binary64) (pow.f64 re #s(literal 6 binary64))) (fma.f64 (pow.f64 im #s(literal 4 binary64)) (/.f64 #s(literal -1/8 binary64) (pow.f64 re #s(literal 4 binary64))) (fma.f64 (*.f64 #s(literal 1/2 binary64) im) (/.f64 (/.f64 im re) re) #s(literal 1 binary64)))) re)
(* (pow re 2) (+ 1 (/ (pow im 2) (pow re 2))))
(*.f64 (fma.f64 (/.f64 (/.f64 im re) re) im #s(literal 1 binary64)) (*.f64 re re))
(* -1 (log (/ 1 re)))
(log.f64 re)
(+ (* -1 (log (/ 1 re))) (* 1/2 (/ (pow im 2) (pow re 2))))
(fma.f64 (*.f64 #s(literal 1/2 binary64) im) (/.f64 (/.f64 im 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)))))
(fma.f64 (*.f64 #s(literal 1/2 binary64) im) (/.f64 (/.f64 im re) re) (fma.f64 (/.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 re #s(literal 4 binary64))) #s(literal -1/4 binary64) (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))))))
(fma.f64 (*.f64 #s(literal 1/2 binary64) im) (/.f64 (/.f64 im re) re) (fma.f64 (*.f64 #s(literal 1/720 binary64) (pow.f64 im #s(literal 6 binary64))) (/.f64 #s(literal 120 binary64) (pow.f64 re #s(literal 6 binary64))) (fma.f64 (/.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 re #s(literal 4 binary64))) #s(literal -1/4 binary64) (log.f64 re))))
(* -1 re)
(neg.f64 re)
(* -1 (* re (+ 1 (* 1/2 (/ (pow im 2) (pow re 2))))))
(*.f64 (fma.f64 (/.f64 (/.f64 #s(literal -1/2 binary64) re) re) (*.f64 im im) #s(literal -1 binary64)) re)
(* -1 (* re (+ 1 (+ (* -1/8 (/ (pow im 4) (pow re 4))) (* 1/2 (/ (pow im 2) (pow re 2)))))))
(*.f64 (neg.f64 re) (fma.f64 (pow.f64 im #s(literal 4 binary64)) (/.f64 #s(literal -1/8 binary64) (pow.f64 re #s(literal 4 binary64))) (fma.f64 (*.f64 #s(literal 1/2 binary64) im) (/.f64 (/.f64 im re) re) #s(literal 1 binary64))))
(* -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 (neg.f64 re) (fma.f64 (pow.f64 im #s(literal 6 binary64)) (/.f64 #s(literal 1/16 binary64) (pow.f64 re #s(literal 6 binary64))) (fma.f64 (pow.f64 im #s(literal 4 binary64)) (/.f64 #s(literal -1/8 binary64) (pow.f64 re #s(literal 4 binary64))) (fma.f64 (*.f64 #s(literal 1/2 binary64) im) (/.f64 (/.f64 im re) re) #s(literal 1 binary64)))))
(* -1 (log (/ -1 re)))
(neg.f64 (log.f64 (/.f64 #s(literal -1 binary64) re)))
(+ (* -1 (log (/ -1 re))) (* 1/2 (/ (pow im 2) (pow re 2))))
(fma.f64 (*.f64 (/.f64 (/.f64 im re) re) im) #s(literal 1/2 binary64) (neg.f64 (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)))))
(fma.f64 (fma.f64 (*.f64 #s(literal -1/4 binary64) im) (/.f64 im (pow.f64 re #s(literal 4 binary64))) (/.f64 (/.f64 #s(literal 1/2 binary64) re) re)) (*.f64 im im) (neg.f64 (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))))))
(fma.f64 (*.f64 (/.f64 #s(literal 120 binary64) (pow.f64 re #s(literal 6 binary64))) (pow.f64 im #s(literal 6 binary64))) #s(literal 1/720 binary64) (fma.f64 (fma.f64 (*.f64 #s(literal -1/4 binary64) im) (/.f64 im (pow.f64 re #s(literal 4 binary64))) (/.f64 (/.f64 #s(literal 1/2 binary64) re) re)) (*.f64 im im) (neg.f64 (log.f64 (/.f64 #s(literal -1 binary64) re)))))
(+ re (* 1/2 (/ (pow im 2) re)))
(fma.f64 (/.f64 #s(literal 1/2 binary64) re) (*.f64 im im) re)
(+ re (* (pow im 2) (+ (* -1/8 (/ (pow im 2) (pow re 3))) (* 1/2 (/ 1 re)))))
(fma.f64 (/.f64 (fma.f64 (/.f64 (/.f64 #s(literal -1/8 binary64) re) re) (*.f64 im im) #s(literal 1/2 binary64)) re) (*.f64 im im) 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)))))
(fma.f64 (fma.f64 (fma.f64 (*.f64 #s(literal 1/16 binary64) im) (/.f64 im (pow.f64 re #s(literal 5 binary64))) (/.f64 #s(literal -1/8 binary64) (pow.f64 re #s(literal 3 binary64)))) (*.f64 im im) (/.f64 #s(literal 1/2 binary64) re)) (*.f64 im im) re)
(log re)
(log.f64 re)
(+ (log re) (* 1/2 (/ (pow im 2) (pow re 2))))
(fma.f64 (*.f64 #s(literal 1/2 binary64) im) (/.f64 (/.f64 im re) re) (log.f64 re))
(+ (log re) (* (pow im 2) (+ (* -1/4 (/ (pow im 2) (pow re 4))) (* 1/2 (/ 1 (pow re 2))))))
(fma.f64 (*.f64 #s(literal 1/2 binary64) im) (/.f64 (/.f64 im re) re) (fma.f64 (/.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 re #s(literal 4 binary64))) #s(literal -1/4 binary64) (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))))))
(fma.f64 (fma.f64 (fma.f64 (*.f64 #s(literal 1/6 binary64) im) (/.f64 im (pow.f64 re #s(literal 6 binary64))) (/.f64 #s(literal -1/4 binary64) (pow.f64 re #s(literal 4 binary64)))) (*.f64 im im) (/.f64 (/.f64 #s(literal 1/2 binary64) re) re)) (*.f64 im im) (log.f64 re))
(* im (+ 1 (* 1/2 (/ (pow re 2) (pow im 2)))))
(*.f64 (fma.f64 (/.f64 (/.f64 #s(literal 1/2 binary64) im) im) (*.f64 re re) #s(literal 1 binary64)) im)
(* im (+ 1 (+ (* -1/8 (/ (pow re 4) (pow im 4))) (* 1/2 (/ (pow re 2) (pow im 2))))))
(*.f64 (fma.f64 (/.f64 (pow.f64 re #s(literal 4 binary64)) (pow.f64 im #s(literal 4 binary64))) #s(literal -1/8 binary64) (fma.f64 (/.f64 (/.f64 #s(literal 1/2 binary64) im) im) (*.f64 re re) #s(literal 1 binary64))) 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 (fma.f64 (pow.f64 re #s(literal 6 binary64)) (/.f64 #s(literal 1/16 binary64) (pow.f64 im #s(literal 6 binary64))) (fma.f64 (/.f64 (pow.f64 re #s(literal 4 binary64)) (pow.f64 im #s(literal 4 binary64))) #s(literal -1/8 binary64) (fma.f64 (/.f64 (/.f64 #s(literal 1/2 binary64) im) im) (*.f64 re re) #s(literal 1 binary64)))) im)
(* (pow im 2) (+ 1 (/ (pow re 2) (pow im 2))))
(*.f64 (fma.f64 (/.f64 (/.f64 (*.f64 re re) im) im) im im) im)
(* -1 (log (/ 1 im)))
(log.f64 im)
(+ (* -1 (log (/ 1 im))) (* 1/2 (/ (pow re 2) (pow im 2))))
(fma.f64 (/.f64 (/.f64 (*.f64 re re) im) im) #s(literal 1/2 binary64) (log.f64 im))
(+ (* -1 (log (/ 1 im))) (+ (* -1/4 (/ (pow re 4) (pow im 4))) (* 1/2 (/ (pow re 2) (pow im 2)))))
(fma.f64 (/.f64 (pow.f64 re #s(literal 4 binary64)) (pow.f64 im #s(literal 4 binary64))) #s(literal -1/4 binary64) (fma.f64 (/.f64 (/.f64 (*.f64 re re) im) im) #s(literal 1/2 binary64) (log.f64 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))))))
(fma.f64 (*.f64 #s(literal 1/720 binary64) (pow.f64 re #s(literal 6 binary64))) (/.f64 #s(literal 120 binary64) (pow.f64 im #s(literal 6 binary64))) (fma.f64 (/.f64 (pow.f64 re #s(literal 4 binary64)) (pow.f64 im #s(literal 4 binary64))) #s(literal -1/4 binary64) (fma.f64 (/.f64 (/.f64 (*.f64 re re) im) im) #s(literal 1/2 binary64) (log.f64 im))))
(* -1 im)
(neg.f64 im)
(* -1 (* im (+ 1 (* 1/2 (/ (pow re 2) (pow im 2))))))
(*.f64 (fma.f64 (/.f64 #s(literal -1/2 binary64) im) (/.f64 (*.f64 re re) im) #s(literal -1 binary64)) im)
(* -1 (* im (+ 1 (+ (* -1/8 (/ (pow re 4) (pow im 4))) (* 1/2 (/ (pow re 2) (pow im 2)))))))
(*.f64 (neg.f64 im) (fma.f64 (/.f64 (pow.f64 re #s(literal 4 binary64)) (pow.f64 im #s(literal 4 binary64))) #s(literal -1/8 binary64) (fma.f64 (/.f64 (/.f64 #s(literal 1/2 binary64) im) im) (*.f64 re re) #s(literal 1 binary64))))
(* -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 (neg.f64 im) (fma.f64 (pow.f64 re #s(literal 6 binary64)) (/.f64 #s(literal 1/16 binary64) (pow.f64 im #s(literal 6 binary64))) (fma.f64 (/.f64 (pow.f64 re #s(literal 4 binary64)) (pow.f64 im #s(literal 4 binary64))) #s(literal -1/8 binary64) (fma.f64 (/.f64 (/.f64 #s(literal 1/2 binary64) im) im) (*.f64 re re) #s(literal 1 binary64)))))
(* -1 (log (/ -1 im)))
(neg.f64 (log.f64 (/.f64 #s(literal -1 binary64) im)))
(+ (* -1 (log (/ -1 im))) (* 1/2 (/ (pow re 2) (pow im 2))))
(-.f64 (*.f64 (/.f64 (/.f64 (*.f64 re re) im) im) #s(literal 1/2 binary64)) (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)))))
(fma.f64 (/.f64 (pow.f64 re #s(literal 4 binary64)) (pow.f64 im #s(literal 4 binary64))) #s(literal -1/4 binary64) (-.f64 (*.f64 (/.f64 (/.f64 (*.f64 re re) im) im) #s(literal 1/2 binary64)) (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))))))
(fma.f64 (*.f64 (/.f64 #s(literal 120 binary64) (pow.f64 im #s(literal 6 binary64))) (pow.f64 re #s(literal 6 binary64))) #s(literal 1/720 binary64) (fma.f64 (/.f64 (pow.f64 re #s(literal 4 binary64)) (pow.f64 im #s(literal 4 binary64))) #s(literal -1/4 binary64) (-.f64 (*.f64 (/.f64 (/.f64 (*.f64 re re) im) im) #s(literal 1/2 binary64)) (log.f64 (/.f64 #s(literal -1 binary64) im)))))

rewrite100.0ms (2.2%)

Memory
18.5MiB live, 164.9MiB allocated; 14ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0730
01230
14130
234930
3590330
0805919
Stop Event
iter limit
node limit
iter limit
Counts
5 → 228
Calls
Call 1
Inputs
(sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))
(+.f64 (*.f64 re re) (*.f64 im im))
(log.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))))
(*.f64 re re)
(*.f64 im im)
Outputs
(*.f64 (pow.f64 (/.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 re #s(literal 4 binary64))) (-.f64 (pow.f64 im #s(literal 6 binary64)) (pow.f64 re #s(literal 6 binary64)))) #s(literal 1/2 binary64)) (hypot.f64 (fma.f64 im im (*.f64 re re)) (*.f64 im re)))
(*.f64 (pow.f64 (/.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 re #s(literal 4 binary64))) (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 re #s(literal 4 binary64)))) #s(literal 1/2 binary64)) (hypot.f64 im re))
(*.f64 (pow.f64 (/.f64 (-.f64 (pow.f64 im #s(literal 6 binary64)) (pow.f64 re #s(literal 6 binary64))) (-.f64 (pow.f64 re #s(literal 8 binary64)) (-.f64 (pow.f64 im #s(literal 8 binary64)) (pow.f64 (*.f64 im re) #s(literal 4 binary64))))) #s(literal 1/2 binary64)) (hypot.f64 (fma.f64 im im (*.f64 re re)) (*.f64 im re)))
(*.f64 (pow.f64 (/.f64 (-.f64 (pow.f64 im #s(literal 6 binary64)) (pow.f64 re #s(literal 6 binary64))) (fma.f64 (pow.f64 (fma.f64 im im (*.f64 re re)) #s(literal 3 binary64)) (pow.f64 im #s(literal 6 binary64)) (pow.f64 re #s(literal 12 binary64)))) #s(literal 1/2 binary64)) (sqrt.f64 (fma.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 (*.f64 im re) #s(literal 2 binary64))) (fma.f64 (fma.f64 im im (*.f64 re re)) (*.f64 im im) (pow.f64 re #s(literal 4 binary64))) (pow.f64 re #s(literal 8 binary64)))))
(*.f64 (pow.f64 (neg.f64 (neg.f64 (+.f64 im re))) #s(literal 1/2 binary64)) (sqrt.f64 (-.f64 (neg.f64 re) (neg.f64 im))))
(*.f64 (pow.f64 (neg.f64 (+.f64 (neg.f64 im) re)) #s(literal 1/2 binary64)) (sqrt.f64 (-.f64 (neg.f64 re) im)))
(*.f64 (sqrt.f64 (-.f64 (neg.f64 re) (neg.f64 im))) (sqrt.f64 (neg.f64 (+.f64 im re))))
(*.f64 (sqrt.f64 (neg.f64 (+.f64 im re))) (pow.f64 (neg.f64 (-.f64 (neg.f64 re) (neg.f64 im))) #s(literal 1/2 binary64)))
(*.f64 (sqrt.f64 (neg.f64 (+.f64 im re))) (pow.f64 (-.f64 (neg.f64 im) (neg.f64 re)) #s(literal 1/2 binary64)))
(*.f64 (sqrt.f64 (neg.f64 (+.f64 im re))) (sqrt.f64 (-.f64 (neg.f64 re) (neg.f64 im))))
(*.f64 (sqrt.f64 (neg.f64 (+.f64 im re))) (sqrt.f64 (-.f64 re im)))
(*.f64 (pow.f64 (*.f64 (fma.f64 im im (*.f64 re re)) (neg.f64 (+.f64 im re))) #s(literal 1/4 binary64)) (pow.f64 (-.f64 (neg.f64 re) (neg.f64 im)) #s(literal 1/4 binary64)))
(*.f64 (pow.f64 (*.f64 (fma.f64 im im (*.f64 re re)) (+.f64 (neg.f64 im) re)) #s(literal 1/4 binary64)) (pow.f64 (-.f64 (neg.f64 re) im) #s(literal 1/4 binary64)))
(*.f64 (pow.f64 (*.f64 (fma.f64 im im (*.f64 re re)) (+.f64 im re)) #s(literal 1/4 binary64)) (pow.f64 (-.f64 re im) #s(literal 1/4 binary64)))
(*.f64 (pow.f64 (fma.f64 (neg.f64 re) re (*.f64 (neg.f64 im) im)) #s(literal 1/4 binary64)) (pow.f64 (-.f64 (*.f64 (neg.f64 re) re) (*.f64 (neg.f64 im) im)) #s(literal 1/4 binary64)))
(*.f64 (pow.f64 (fma.f64 (neg.f64 im) im (*.f64 (neg.f64 re) re)) #s(literal 1/4 binary64)) (pow.f64 (-.f64 (*.f64 (neg.f64 im) im) (*.f64 (neg.f64 re) re)) #s(literal 1/4 binary64)))
(*.f64 (neg.f64 (pow.f64 (fma.f64 im im (*.f64 re re)) #s(literal 1/4 binary64))) (neg.f64 (pow.f64 (fma.f64 im im (*.f64 re re)) #s(literal 1/4 binary64))))
(*.f64 (fabs.f64 (pow.f64 (fma.f64 im im (*.f64 re re)) #s(literal 1/4 binary64))) (fabs.f64 (pow.f64 (fma.f64 im im (*.f64 re re)) #s(literal 1/4 binary64))))
(*.f64 (sqrt.f64 (-.f64 (neg.f64 re) im)) (sqrt.f64 (+.f64 (neg.f64 im) re)))
(*.f64 (sqrt.f64 (+.f64 (neg.f64 im) re)) (pow.f64 (neg.f64 (-.f64 (neg.f64 re) im)) #s(literal 1/2 binary64)))
(*.f64 (sqrt.f64 (+.f64 (neg.f64 im) re)) (pow.f64 (-.f64 (neg.f64 im) re) #s(literal 1/2 binary64)))
(*.f64 (sqrt.f64 (+.f64 (neg.f64 im) re)) (pow.f64 (-.f64 im (neg.f64 re)) #s(literal 1/2 binary64)))
(*.f64 (sqrt.f64 (+.f64 (neg.f64 im) re)) (sqrt.f64 (-.f64 (neg.f64 re) im)))
(*.f64 (sqrt.f64 (-.f64 re im)) (sqrt.f64 (+.f64 im re)))
(*.f64 (sqrt.f64 (+.f64 im re)) (pow.f64 (neg.f64 (-.f64 re im)) #s(literal 1/2 binary64)))
(*.f64 (sqrt.f64 (+.f64 im re)) (pow.f64 (-.f64 im re) #s(literal 1/2 binary64)))
(*.f64 (sqrt.f64 (+.f64 im re)) (sqrt.f64 (-.f64 re im)))
(*.f64 (pow.f64 (fma.f64 im im (*.f64 re re)) #s(literal 1/4 binary64)) (pow.f64 (-.f64 (*.f64 (neg.f64 re) re) (*.f64 im im)) #s(literal 1/4 binary64)))
(*.f64 (pow.f64 (fma.f64 im im (*.f64 re re)) #s(literal 1/4 binary64)) (pow.f64 (-.f64 (*.f64 (neg.f64 im) im) (*.f64 re re)) #s(literal 1/4 binary64)))
(*.f64 (pow.f64 (fma.f64 im im (*.f64 re re)) #s(literal 1/4 binary64)) (pow.f64 (fma.f64 im im (*.f64 re re)) #s(literal 1/4 binary64)))
(*.f64 (hypot.f64 (fma.f64 im im (*.f64 re re)) (*.f64 im re)) (pow.f64 (/.f64 (fma.f64 im im (*.f64 re re)) (fma.f64 (fma.f64 im im (*.f64 re re)) (*.f64 im im) (pow.f64 re #s(literal 4 binary64)))) #s(literal 1/2 binary64)))
(*.f64 (hypot.f64 im re) (pow.f64 (/.f64 (fma.f64 im im (*.f64 re re)) (fma.f64 im im (*.f64 re re))) #s(literal 1/2 binary64)))
(pow.f64 (neg.f64 (pow.f64 (fma.f64 im im (*.f64 re re)) #s(literal 1/4 binary64))) #s(literal 2 binary64))
(pow.f64 (fabs.f64 (pow.f64 (fma.f64 im im (*.f64 re re)) #s(literal 1/4 binary64))) #s(literal 2 binary64))
(pow.f64 (exp.f64 (log.f64 (fma.f64 im im (*.f64 re re)))) #s(literal 1/2 binary64))
(pow.f64 (pow.f64 (fma.f64 im im (*.f64 re re)) #s(literal 1/4 binary64)) #s(literal 2 binary64))
(pow.f64 (fma.f64 im im (*.f64 re re)) #s(literal 1/2 binary64))
(pow.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 re #s(literal 4 binary64))) #s(literal 1/4 binary64))
(/.f64 (neg.f64 (pow.f64 (hypot.f64 im re) #s(literal 2 binary64))) (neg.f64 (hypot.f64 im re)))
(/.f64 (neg.f64 (hypot.f64 (pow.f64 im #s(literal 3 binary64)) (pow.f64 re #s(literal 3 binary64)))) (neg.f64 (hypot.f64 (fma.f64 im im (*.f64 re re)) (*.f64 im re))))
(/.f64 (pow.f64 (hypot.f64 im re) #s(literal 2 binary64)) (hypot.f64 im re))
(/.f64 (hypot.f64 (pow.f64 im #s(literal 3 binary64)) (pow.f64 re #s(literal 3 binary64))) (hypot.f64 (fma.f64 im im (*.f64 re re)) (*.f64 im re)))
(sqrt.f64 (fma.f64 im im (*.f64 re re)))
(hypot.f64 (exp.f64 (log.f64 re)) (exp.f64 (log.f64 im)))
(hypot.f64 (exp.f64 (log.f64 re)) (neg.f64 im))
(hypot.f64 (exp.f64 (log.f64 re)) im)
(hypot.f64 (exp.f64 (log.f64 im)) (exp.f64 (log.f64 re)))
(hypot.f64 (exp.f64 (log.f64 im)) (neg.f64 re))
(hypot.f64 (exp.f64 (log.f64 im)) re)
(hypot.f64 (neg.f64 im) (exp.f64 (log.f64 re)))
(hypot.f64 (neg.f64 im) (neg.f64 re))
(hypot.f64 (neg.f64 im) re)
(hypot.f64 (neg.f64 re) (exp.f64 (log.f64 im)))
(hypot.f64 (neg.f64 re) (neg.f64 im))
(hypot.f64 (neg.f64 re) im)
(hypot.f64 im (exp.f64 (log.f64 re)))
(hypot.f64 im (neg.f64 re))
(hypot.f64 im re)
(hypot.f64 re (exp.f64 (log.f64 im)))
(hypot.f64 re (neg.f64 im))
(hypot.f64 re im)
(exp.f64 (*.f64 (log.f64 (exp.f64 (log.f64 (fma.f64 im im (*.f64 re re))))) #s(literal 1/2 binary64)))
(exp.f64 (*.f64 (log.f64 (pow.f64 (fma.f64 im im (*.f64 re re)) #s(literal 1/4 binary64))) #s(literal 2 binary64)))
(exp.f64 (*.f64 (log.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 re #s(literal 4 binary64)))) #s(literal 1/4 binary64)))
(exp.f64 (log.f64 (hypot.f64 im re)))
(+.f64 (cosh.f64 (log.f64 (hypot.f64 im re))) (sinh.f64 (log.f64 (hypot.f64 im re))))
(*.f64 (/.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 re #s(literal 4 binary64))) (-.f64 (pow.f64 im #s(literal 6 binary64)) (pow.f64 re #s(literal 6 binary64)))) (fma.f64 (fma.f64 im im (*.f64 re re)) (*.f64 im im) (pow.f64 re #s(literal 4 binary64))))
(*.f64 (/.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 re #s(literal 4 binary64))) (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 re #s(literal 4 binary64)))) (fma.f64 im im (*.f64 re re)))
(*.f64 (/.f64 (-.f64 (pow.f64 im #s(literal 6 binary64)) (pow.f64 re #s(literal 6 binary64))) (-.f64 (pow.f64 re #s(literal 8 binary64)) (-.f64 (pow.f64 im #s(literal 8 binary64)) (pow.f64 (*.f64 im re) #s(literal 4 binary64))))) (fma.f64 (fma.f64 im im (*.f64 re re)) (*.f64 im im) (pow.f64 re #s(literal 4 binary64))))
(*.f64 (/.f64 (-.f64 (pow.f64 im #s(literal 6 binary64)) (pow.f64 re #s(literal 6 binary64))) (fma.f64 (pow.f64 (fma.f64 im im (*.f64 re re)) #s(literal 3 binary64)) (pow.f64 im #s(literal 6 binary64)) (pow.f64 re #s(literal 12 binary64)))) (fma.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 (*.f64 im re) #s(literal 2 binary64))) (fma.f64 (fma.f64 im im (*.f64 re re)) (*.f64 im im) (pow.f64 re #s(literal 4 binary64))) (pow.f64 re #s(literal 8 binary64))))
(*.f64 (neg.f64 (neg.f64 (+.f64 im re))) (-.f64 (neg.f64 re) (neg.f64 im)))
(*.f64 (neg.f64 (+.f64 (neg.f64 im) re)) (-.f64 (neg.f64 re) im))
(*.f64 (-.f64 (neg.f64 re) (neg.f64 im)) (neg.f64 (+.f64 im re)))
(*.f64 (neg.f64 (+.f64 im re)) (neg.f64 (-.f64 (neg.f64 re) (neg.f64 im))))
(*.f64 (neg.f64 (+.f64 im re)) (-.f64 (neg.f64 im) (neg.f64 re)))
(*.f64 (neg.f64 (+.f64 im re)) (-.f64 (neg.f64 re) (neg.f64 im)))
(*.f64 (neg.f64 (+.f64 im re)) (-.f64 re im))
(*.f64 (-.f64 (neg.f64 re) im) (+.f64 (neg.f64 im) re))
(*.f64 (+.f64 (neg.f64 im) re) (neg.f64 (-.f64 (neg.f64 re) im)))
(*.f64 (+.f64 (neg.f64 im) re) (-.f64 (neg.f64 im) re))
(*.f64 (+.f64 (neg.f64 im) re) (-.f64 im (neg.f64 re)))
(*.f64 (+.f64 (neg.f64 im) re) (-.f64 (neg.f64 re) im))
(*.f64 (-.f64 re im) (+.f64 im re))
(*.f64 (+.f64 im re) (neg.f64 (-.f64 re im)))
(*.f64 (+.f64 im re) (-.f64 im re))
(*.f64 (+.f64 im re) (-.f64 re im))
(*.f64 (fma.f64 im im (*.f64 re re)) (/.f64 (fma.f64 im im (*.f64 re re)) (fma.f64 im im (*.f64 re re))))
(*.f64 (fma.f64 (fma.f64 im im (*.f64 re re)) (*.f64 im im) (pow.f64 re #s(literal 4 binary64))) (/.f64 (fma.f64 im im (*.f64 re re)) (fma.f64 (fma.f64 im im (*.f64 re re)) (*.f64 im im) (pow.f64 re #s(literal 4 binary64)))))
(/.f64 (/.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 re #s(literal 4 binary64))) (neg.f64 (+.f64 im re))) (-.f64 (neg.f64 re) (neg.f64 im)))
(/.f64 (/.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 re #s(literal 4 binary64))) (+.f64 (neg.f64 im) re)) (-.f64 (neg.f64 re) im))
(/.f64 (/.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 re #s(literal 4 binary64))) (+.f64 im re)) (-.f64 re im))
(/.f64 (-.f64 (pow.f64 (/.f64 (pow.f64 re #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re))) #s(literal 2 binary64)) (pow.f64 (/.f64 (pow.f64 im #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re))) #s(literal 2 binary64))) (fma.f64 im im (*.f64 re re)))
(/.f64 (-.f64 (pow.f64 (/.f64 (pow.f64 re #s(literal 6 binary64)) (fma.f64 (fma.f64 im im (*.f64 re re)) (*.f64 im im) (pow.f64 re #s(literal 4 binary64)))) #s(literal 2 binary64)) (pow.f64 (/.f64 (pow.f64 im #s(literal 6 binary64)) (fma.f64 (fma.f64 im im (*.f64 re re)) (*.f64 im im) (pow.f64 re #s(literal 4 binary64)))) #s(literal 2 binary64))) (fma.f64 im im (*.f64 re re)))
(/.f64 (-.f64 (pow.f64 (/.f64 (pow.f64 re #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re))) #s(literal 3 binary64)) (pow.f64 (/.f64 (pow.f64 im #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re))) #s(literal 3 binary64))) (+.f64 (pow.f64 (/.f64 (pow.f64 re #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re))) #s(literal 2 binary64)) (+.f64 (pow.f64 (/.f64 (pow.f64 im #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re))) #s(literal 2 binary64)) (*.f64 (/.f64 (pow.f64 re #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re))) (/.f64 (pow.f64 im #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re)))))))
(/.f64 (+.f64 (pow.f64 (/.f64 (pow.f64 re #s(literal 6 binary64)) (fma.f64 (fma.f64 im im (*.f64 re re)) (*.f64 im im) (pow.f64 re #s(literal 4 binary64)))) #s(literal 3 binary64)) (pow.f64 (/.f64 (pow.f64 im #s(literal 6 binary64)) (fma.f64 (fma.f64 im im (*.f64 re re)) (*.f64 im im) (pow.f64 re #s(literal 4 binary64)))) #s(literal 3 binary64))) (+.f64 (pow.f64 (/.f64 (pow.f64 re #s(literal 6 binary64)) (fma.f64 (fma.f64 im im (*.f64 re re)) (*.f64 im im) (pow.f64 re #s(literal 4 binary64)))) #s(literal 2 binary64)) (-.f64 (pow.f64 (/.f64 (pow.f64 im #s(literal 6 binary64)) (fma.f64 (fma.f64 im im (*.f64 re re)) (*.f64 im im) (pow.f64 re #s(literal 4 binary64)))) #s(literal 2 binary64)) (*.f64 (/.f64 (pow.f64 re #s(literal 6 binary64)) (fma.f64 (fma.f64 im im (*.f64 re re)) (*.f64 im im) (pow.f64 re #s(literal 4 binary64)))) (/.f64 (pow.f64 im #s(literal 6 binary64)) (fma.f64 (fma.f64 im im (*.f64 re re)) (*.f64 im im) (pow.f64 re #s(literal 4 binary64))))))))
(/.f64 (-.f64 (*.f64 (pow.f64 re #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re))) (*.f64 (fma.f64 im im (*.f64 re re)) (pow.f64 im #s(literal 4 binary64)))) (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 re #s(literal 4 binary64))))
(/.f64 (fma.f64 (pow.f64 re #s(literal 6 binary64)) (fma.f64 (fma.f64 im im (*.f64 re re)) (*.f64 im im) (pow.f64 re #s(literal 4 binary64))) (*.f64 (fma.f64 (fma.f64 im im (*.f64 re re)) (*.f64 im im) (pow.f64 re #s(literal 4 binary64))) (pow.f64 im #s(literal 6 binary64)))) (-.f64 (pow.f64 re #s(literal 8 binary64)) (-.f64 (pow.f64 im #s(literal 8 binary64)) (pow.f64 (*.f64 im re) #s(literal 4 binary64)))))
(/.f64 (-.f64 (pow.f64 re #s(literal 8 binary64)) (pow.f64 im #s(literal 8 binary64))) (*.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 re #s(literal 4 binary64))) (fma.f64 im im (*.f64 re re))))
(/.f64 (-.f64 (pow.f64 re #s(literal 12 binary64)) (pow.f64 im #s(literal 12 binary64))) (*.f64 (-.f64 (pow.f64 re #s(literal 8 binary64)) (-.f64 (pow.f64 im #s(literal 8 binary64)) (pow.f64 (*.f64 im re) #s(literal 4 binary64)))) (fma.f64 im im (*.f64 re re))))
(/.f64 (-.f64 (pow.f64 re #s(literal 12 binary64)) (pow.f64 im #s(literal 12 binary64))) (*.f64 (-.f64 (pow.f64 im #s(literal 6 binary64)) (pow.f64 re #s(literal 6 binary64))) (fma.f64 (fma.f64 im im (*.f64 re re)) (*.f64 im im) (pow.f64 re #s(literal 4 binary64)))))
(/.f64 (+.f64 (pow.f64 im #s(literal 18 binary64)) (pow.f64 re #s(literal 18 binary64))) (*.f64 (-.f64 (-.f64 (pow.f64 re #s(literal 12 binary64)) (pow.f64 im #s(literal 12 binary64))) (pow.f64 (*.f64 im re) #s(literal 6 binary64))) (fma.f64 (fma.f64 im im (*.f64 re re)) (*.f64 im im) (pow.f64 re #s(literal 4 binary64)))))
(/.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 re #s(literal 4 binary64))) (fma.f64 im im (*.f64 re re)))
(/.f64 (-.f64 (pow.f64 im #s(literal 6 binary64)) (pow.f64 re #s(literal 6 binary64))) (+.f64 (pow.f64 im #s(literal 4 binary64)) (+.f64 (pow.f64 re #s(literal 4 binary64)) (pow.f64 (*.f64 im re) #s(literal 2 binary64)))))
(/.f64 (-.f64 (pow.f64 im #s(literal 6 binary64)) (pow.f64 re #s(literal 6 binary64))) (fma.f64 (fma.f64 im im (*.f64 re re)) (*.f64 im im) (pow.f64 re #s(literal 4 binary64))))
(neg.f64 (fma.f64 (neg.f64 re) re (*.f64 (neg.f64 im) im)))
(neg.f64 (fma.f64 (neg.f64 im) im (*.f64 (neg.f64 re) re)))
(neg.f64 (fma.f64 im im (*.f64 re re)))
(fma.f64 (/.f64 (pow.f64 im #s(literal 6 binary64)) (-.f64 (pow.f64 re #s(literal 8 binary64)) (-.f64 (pow.f64 im #s(literal 8 binary64)) (pow.f64 (*.f64 im re) #s(literal 4 binary64))))) (fma.f64 (fma.f64 im im (*.f64 re re)) (*.f64 im im) (pow.f64 re #s(literal 4 binary64))) (/.f64 (pow.f64 re #s(literal 6 binary64)) (fma.f64 (fma.f64 im im (*.f64 re re)) (*.f64 im im) (pow.f64 re #s(literal 4 binary64)))))
(fma.f64 (/.f64 (pow.f64 im #s(literal 6 binary64)) (fma.f64 (pow.f64 (fma.f64 im im (*.f64 re re)) #s(literal 3 binary64)) (pow.f64 im #s(literal 6 binary64)) (pow.f64 re #s(literal 12 binary64)))) (fma.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 (*.f64 im re) #s(literal 2 binary64))) (fma.f64 (fma.f64 im im (*.f64 re re)) (*.f64 im im) (pow.f64 re #s(literal 4 binary64))) (pow.f64 re #s(literal 8 binary64))) (/.f64 (pow.f64 re #s(literal 6 binary64)) (fma.f64 (fma.f64 im im (*.f64 re re)) (*.f64 im im) (pow.f64 re #s(literal 4 binary64)))))
(fma.f64 (/.f64 (pow.f64 re #s(literal 4 binary64)) (-.f64 (pow.f64 im #s(literal 6 binary64)) (pow.f64 re #s(literal 6 binary64)))) (fma.f64 (fma.f64 im im (*.f64 re re)) (*.f64 im im) (pow.f64 re #s(literal 4 binary64))) (/.f64 (pow.f64 im #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re))))
(fma.f64 (/.f64 (pow.f64 re #s(literal 4 binary64)) (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 re #s(literal 4 binary64)))) (fma.f64 im im (*.f64 re re)) (/.f64 (pow.f64 im #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re))))
(fma.f64 (/.f64 (pow.f64 re #s(literal 6 binary64)) (-.f64 (pow.f64 re #s(literal 8 binary64)) (-.f64 (pow.f64 im #s(literal 8 binary64)) (pow.f64 (*.f64 im re) #s(literal 4 binary64))))) (fma.f64 (fma.f64 im im (*.f64 re re)) (*.f64 im im) (pow.f64 re #s(literal 4 binary64))) (/.f64 (pow.f64 im #s(literal 6 binary64)) (fma.f64 (fma.f64 im im (*.f64 re re)) (*.f64 im im) (pow.f64 re #s(literal 4 binary64)))))
(fma.f64 (/.f64 (pow.f64 re #s(literal 6 binary64)) (fma.f64 (pow.f64 (fma.f64 im im (*.f64 re re)) #s(literal 3 binary64)) (pow.f64 im #s(literal 6 binary64)) (pow.f64 re #s(literal 12 binary64)))) (fma.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 (*.f64 im re) #s(literal 2 binary64))) (fma.f64 (fma.f64 im im (*.f64 re re)) (*.f64 im im) (pow.f64 re #s(literal 4 binary64))) (pow.f64 re #s(literal 8 binary64))) (/.f64 (pow.f64 im #s(literal 6 binary64)) (fma.f64 (fma.f64 im im (*.f64 re re)) (*.f64 im im) (pow.f64 re #s(literal 4 binary64)))))
(fma.f64 (/.f64 (pow.f64 re #s(literal 3 binary64)) (neg.f64 (+.f64 im re))) (/.f64 (neg.f64 re) (-.f64 (neg.f64 re) (neg.f64 im))) (/.f64 (pow.f64 im #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re))))
(fma.f64 (/.f64 (pow.f64 re #s(literal 3 binary64)) (neg.f64 (+.f64 im re))) (/.f64 re (-.f64 (neg.f64 re) (neg.f64 im))) (/.f64 (pow.f64 im #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re))))
(fma.f64 (/.f64 (pow.f64 re #s(literal 3 binary64)) (+.f64 (neg.f64 im) re)) (/.f64 (neg.f64 re) (-.f64 (neg.f64 re) im)) (/.f64 (pow.f64 im #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re))))
(fma.f64 (/.f64 (pow.f64 re #s(literal 3 binary64)) (+.f64 (neg.f64 im) re)) (/.f64 re (-.f64 (neg.f64 re) im)) (/.f64 (pow.f64 im #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re))))
(fma.f64 (/.f64 (pow.f64 re #s(literal 3 binary64)) (+.f64 im re)) (/.f64 (neg.f64 re) (-.f64 re im)) (/.f64 (pow.f64 im #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re))))
(fma.f64 (/.f64 (pow.f64 re #s(literal 3 binary64)) (+.f64 im re)) (/.f64 re (-.f64 re im)) (/.f64 (pow.f64 im #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re))))
(fma.f64 (/.f64 (*.f64 (neg.f64 re) re) (neg.f64 (+.f64 im re))) (/.f64 (*.f64 (neg.f64 re) re) (-.f64 (neg.f64 re) (neg.f64 im))) (/.f64 (pow.f64 im #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re))))
(fma.f64 (/.f64 (*.f64 (neg.f64 re) re) (+.f64 (neg.f64 im) re)) (/.f64 (*.f64 (neg.f64 re) re) (-.f64 (neg.f64 re) im)) (/.f64 (pow.f64 im #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re))))
(fma.f64 (/.f64 (*.f64 (neg.f64 re) re) (+.f64 im re)) (/.f64 (*.f64 (neg.f64 re) re) (-.f64 re im)) (/.f64 (pow.f64 im #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re))))
(fma.f64 (/.f64 (neg.f64 re) (neg.f64 (+.f64 im re))) (/.f64 (pow.f64 re #s(literal 3 binary64)) (-.f64 (neg.f64 re) (neg.f64 im))) (/.f64 (pow.f64 im #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re))))
(fma.f64 (/.f64 (neg.f64 re) (+.f64 (neg.f64 im) re)) (/.f64 (pow.f64 re #s(literal 3 binary64)) (-.f64 (neg.f64 re) im)) (/.f64 (pow.f64 im #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re))))
(fma.f64 (/.f64 (neg.f64 re) (+.f64 im re)) (/.f64 (pow.f64 re #s(literal 3 binary64)) (-.f64 re im)) (/.f64 (pow.f64 im #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re))))
(fma.f64 (/.f64 (*.f64 re re) (neg.f64 (+.f64 im re))) (/.f64 (*.f64 re re) (-.f64 (neg.f64 re) (neg.f64 im))) (/.f64 (pow.f64 im #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re))))
(fma.f64 (/.f64 (*.f64 re re) (+.f64 (neg.f64 im) re)) (/.f64 (*.f64 re re) (-.f64 (neg.f64 re) im)) (/.f64 (pow.f64 im #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re))))
(fma.f64 (/.f64 (*.f64 re re) (+.f64 im re)) (/.f64 (*.f64 re re) (-.f64 re im)) (/.f64 (pow.f64 im #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re))))
(fma.f64 (/.f64 re (neg.f64 (+.f64 im re))) (/.f64 (pow.f64 re #s(literal 3 binary64)) (-.f64 (neg.f64 re) (neg.f64 im))) (/.f64 (pow.f64 im #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re))))
(fma.f64 (/.f64 re (+.f64 (neg.f64 im) re)) (/.f64 (pow.f64 re #s(literal 3 binary64)) (-.f64 (neg.f64 re) im)) (/.f64 (pow.f64 im #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re))))
(fma.f64 (/.f64 re (+.f64 im re)) (/.f64 (pow.f64 re #s(literal 3 binary64)) (-.f64 re im)) (/.f64 (pow.f64 im #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re))))
(fma.f64 (exp.f64 (log.f64 re)) (exp.f64 (log.f64 re)) (*.f64 (neg.f64 im) im))
(fma.f64 (exp.f64 (log.f64 re)) (exp.f64 (log.f64 re)) (*.f64 im im))
(fma.f64 (exp.f64 (log.f64 im)) (exp.f64 (log.f64 im)) (*.f64 (neg.f64 re) re))
(fma.f64 (exp.f64 (log.f64 im)) (exp.f64 (log.f64 im)) (*.f64 re re))
(fma.f64 (pow.f64 im #s(literal 3 binary64)) (/.f64 (pow.f64 im #s(literal 3 binary64)) (fma.f64 (fma.f64 im im (*.f64 re re)) (*.f64 im im) (pow.f64 re #s(literal 4 binary64)))) (/.f64 (pow.f64 re #s(literal 6 binary64)) (fma.f64 (fma.f64 im im (*.f64 re re)) (*.f64 im im) (pow.f64 re #s(literal 4 binary64)))))
(fma.f64 (pow.f64 re #s(literal 3 binary64)) (/.f64 (neg.f64 re) (fma.f64 im im (*.f64 re re))) (/.f64 (pow.f64 im #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re))))
(fma.f64 (pow.f64 re #s(literal 3 binary64)) (/.f64 re (fma.f64 im im (*.f64 re re))) (/.f64 (pow.f64 im #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re))))
(fma.f64 (pow.f64 re #s(literal 3 binary64)) (/.f64 (pow.f64 re #s(literal 3 binary64)) (fma.f64 (fma.f64 im im (*.f64 re re)) (*.f64 im im) (pow.f64 re #s(literal 4 binary64)))) (/.f64 (pow.f64 im #s(literal 6 binary64)) (fma.f64 (fma.f64 im im (*.f64 re re)) (*.f64 im im) (pow.f64 re #s(literal 4 binary64)))))
(fma.f64 (*.f64 (neg.f64 re) re) (/.f64 (*.f64 (neg.f64 re) re) (fma.f64 im im (*.f64 re re))) (/.f64 (pow.f64 im #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re))))
(fma.f64 (pow.f64 im #s(literal 4 binary64)) (/.f64 (*.f64 im im) (fma.f64 (fma.f64 im im (*.f64 re re)) (*.f64 im im) (pow.f64 re #s(literal 4 binary64)))) (/.f64 (pow.f64 re #s(literal 6 binary64)) (fma.f64 (fma.f64 im im (*.f64 re re)) (*.f64 im im) (pow.f64 re #s(literal 4 binary64)))))
(fma.f64 (pow.f64 re #s(literal 4 binary64)) (/.f64 (*.f64 re re) (fma.f64 (fma.f64 im im (*.f64 re re)) (*.f64 im im) (pow.f64 re #s(literal 4 binary64)))) (/.f64 (pow.f64 im #s(literal 6 binary64)) (fma.f64 (fma.f64 im im (*.f64 re re)) (*.f64 im im) (pow.f64 re #s(literal 4 binary64)))))
(fma.f64 (neg.f64 im) (neg.f64 im) (*.f64 (neg.f64 re) re))
(fma.f64 (neg.f64 im) (neg.f64 im) (*.f64 re re))
(fma.f64 (neg.f64 im) im (*.f64 re re))
(fma.f64 (neg.f64 re) (/.f64 (pow.f64 re #s(literal 3 binary64)) (fma.f64 im im (*.f64 re re))) (/.f64 (pow.f64 im #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re))))
(fma.f64 (neg.f64 re) (neg.f64 re) (*.f64 (neg.f64 im) im))
(fma.f64 (neg.f64 re) (neg.f64 re) (*.f64 im im))
(fma.f64 (neg.f64 re) re (*.f64 im im))
(fma.f64 (*.f64 im im) (/.f64 (pow.f64 im #s(literal 4 binary64)) (fma.f64 (fma.f64 im im (*.f64 re re)) (*.f64 im im) (pow.f64 re #s(literal 4 binary64)))) (/.f64 (pow.f64 re #s(literal 6 binary64)) (fma.f64 (fma.f64 im im (*.f64 re re)) (*.f64 im im) (pow.f64 re #s(literal 4 binary64)))))
(fma.f64 im (neg.f64 im) (*.f64 re re))
(fma.f64 im im (*.f64 (neg.f64 re) re))
(fma.f64 im im (*.f64 re re))
(fma.f64 (*.f64 re re) (/.f64 (*.f64 re re) (fma.f64 im im (*.f64 re re))) (/.f64 (pow.f64 im #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re))))
(fma.f64 (*.f64 re re) (/.f64 (pow.f64 re #s(literal 4 binary64)) (fma.f64 (fma.f64 im im (*.f64 re re)) (*.f64 im im) (pow.f64 re #s(literal 4 binary64)))) (/.f64 (pow.f64 im #s(literal 6 binary64)) (fma.f64 (fma.f64 im im (*.f64 re re)) (*.f64 im im) (pow.f64 re #s(literal 4 binary64)))))
(fma.f64 re (/.f64 (pow.f64 re #s(literal 3 binary64)) (fma.f64 im im (*.f64 re re))) (/.f64 (pow.f64 im #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re))))
(fma.f64 re (neg.f64 re) (*.f64 im im))
(fma.f64 re re (*.f64 (neg.f64 im) im))
(fma.f64 re re (*.f64 im im))
(-.f64 (/.f64 (pow.f64 re #s(literal 6 binary64)) (fma.f64 (fma.f64 im im (*.f64 re re)) (*.f64 im im) (pow.f64 re #s(literal 4 binary64)))) (/.f64 (pow.f64 im #s(literal 6 binary64)) (fma.f64 (fma.f64 im im (*.f64 re re)) (*.f64 im im) (pow.f64 re #s(literal 4 binary64)))))
(-.f64 (/.f64 (pow.f64 im #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re))) (/.f64 (pow.f64 re #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re))))
(-.f64 (/.f64 (pow.f64 re #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re))) (/.f64 (pow.f64 im #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re))))
(-.f64 (*.f64 im im) (*.f64 (neg.f64 re) re))
(-.f64 (*.f64 im im) (*.f64 re re))
(-.f64 (*.f64 re re) (*.f64 (neg.f64 im) im))
(-.f64 (*.f64 re re) (*.f64 im im))
(+.f64 (/.f64 (pow.f64 im #s(literal 6 binary64)) (fma.f64 (fma.f64 im im (*.f64 re re)) (*.f64 im im) (pow.f64 re #s(literal 4 binary64)))) (/.f64 (pow.f64 re #s(literal 6 binary64)) (fma.f64 (fma.f64 im im (*.f64 re re)) (*.f64 im im) (pow.f64 re #s(literal 4 binary64)))))
(+.f64 (/.f64 (pow.f64 re #s(literal 6 binary64)) (fma.f64 (fma.f64 im im (*.f64 re re)) (*.f64 im im) (pow.f64 re #s(literal 4 binary64)))) (/.f64 (pow.f64 im #s(literal 6 binary64)) (fma.f64 (fma.f64 im im (*.f64 re re)) (*.f64 im im) (pow.f64 re #s(literal 4 binary64)))))
(+.f64 (/.f64 (pow.f64 re #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re))) (/.f64 (pow.f64 im #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re))))
(+.f64 (*.f64 (neg.f64 re) re) (*.f64 im im))
(+.f64 (*.f64 (neg.f64 im) im) (*.f64 re re))
(+.f64 (*.f64 im im) (*.f64 (neg.f64 re) re))
(+.f64 (*.f64 im im) (*.f64 re re))
(+.f64 (*.f64 re re) (*.f64 (neg.f64 im) im))
(+.f64 (*.f64 re re) (*.f64 im im))
(*.f64 #s(literal 1/4 binary64) (log.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 re #s(literal 4 binary64)))))
(*.f64 (log.f64 (fma.f64 im im (*.f64 re re))) #s(literal 1/2 binary64))
(*.f64 #s(literal 2 binary64) (log.f64 (pow.f64 (fma.f64 im im (*.f64 re re)) #s(literal 1/4 binary64))))
(*.f64 #s(literal 1/2 binary64) (log.f64 (exp.f64 (log.f64 (fma.f64 im im (*.f64 re re))))))
(*.f64 #s(literal 1/2 binary64) (log.f64 (fma.f64 im im (*.f64 re re))))
(fma.f64 #s(literal 1/4 binary64) (log.f64 (fma.f64 im im (*.f64 re re))) (log.f64 (pow.f64 (fma.f64 im im (*.f64 re re)) #s(literal 1/4 binary64))))
(-.f64 (log.f64 (neg.f64 (pow.f64 (hypot.f64 im re) #s(literal 2 binary64)))) (log.f64 (neg.f64 (hypot.f64 im re))))
(-.f64 (log.f64 (neg.f64 (hypot.f64 (pow.f64 im #s(literal 3 binary64)) (pow.f64 re #s(literal 3 binary64))))) (log.f64 (neg.f64 (hypot.f64 (fma.f64 im im (*.f64 re re)) (*.f64 im re)))))
(-.f64 (log.f64 (pow.f64 (hypot.f64 im re) #s(literal 2 binary64))) (log.f64 (hypot.f64 im re)))
(-.f64 (log.f64 (hypot.f64 (pow.f64 im #s(literal 3 binary64)) (pow.f64 re #s(literal 3 binary64)))) (log.f64 (hypot.f64 (fma.f64 im im (*.f64 re re)) (*.f64 im re))))
(+.f64 (log.f64 (neg.f64 (pow.f64 (fma.f64 im im (*.f64 re re)) #s(literal 1/4 binary64)))) (log.f64 (neg.f64 (pow.f64 (fma.f64 im im (*.f64 re re)) #s(literal 1/4 binary64)))))
(+.f64 (log.f64 (fabs.f64 (pow.f64 (fma.f64 im im (*.f64 re re)) #s(literal 1/4 binary64)))) (log.f64 (fabs.f64 (pow.f64 (fma.f64 im im (*.f64 re re)) #s(literal 1/4 binary64)))))
(+.f64 (log.f64 (sqrt.f64 (neg.f64 (+.f64 im re)))) (log.f64 (sqrt.f64 (-.f64 (neg.f64 re) (neg.f64 im)))))
(+.f64 (log.f64 (sqrt.f64 (+.f64 (neg.f64 im) re))) (log.f64 (sqrt.f64 (-.f64 (neg.f64 re) im))))
(+.f64 (log.f64 (sqrt.f64 (+.f64 im re))) (log.f64 (sqrt.f64 (-.f64 re im))))
(+.f64 (log.f64 (pow.f64 (fma.f64 im im (*.f64 re re)) #s(literal 1/4 binary64))) (log.f64 (pow.f64 (fma.f64 im im (*.f64 re re)) #s(literal 1/4 binary64))))
(log.f64 (hypot.f64 im re))
(*.f64 (exp.f64 (log.f64 re)) (exp.f64 (log.f64 re)))
(*.f64 (neg.f64 re) (neg.f64 re))
(*.f64 re re)
(pow.f64 (exp.f64 (log.f64 re)) #s(literal 2 binary64))
(pow.f64 (pow.f64 re #s(literal 4 binary64)) #s(literal 1/2 binary64))
(pow.f64 (neg.f64 re) #s(literal 2 binary64))
(pow.f64 (*.f64 re re) #s(literal 1 binary64))
(pow.f64 re #s(literal 2 binary64))
(neg.f64 (*.f64 (neg.f64 re) re))
(sqrt.f64 (pow.f64 re #s(literal 4 binary64)))
(fabs.f64 (*.f64 (neg.f64 re) re))
(fabs.f64 (*.f64 re re))
(exp.f64 (*.f64 (log.f64 (exp.f64 (log.f64 re))) #s(literal 2 binary64)))
(exp.f64 (*.f64 (*.f64 (log.f64 re) #s(literal 2 binary64)) #s(literal 1 binary64)))
(exp.f64 (*.f64 (log.f64 (neg.f64 re)) #s(literal 2 binary64)))
(exp.f64 (*.f64 (log.f64 re) #s(literal 2 binary64)))
(+.f64 (cosh.f64 (*.f64 (log.f64 (neg.f64 re)) #s(literal 2 binary64))) (sinh.f64 (*.f64 (log.f64 (neg.f64 re)) #s(literal 2 binary64))))
(+.f64 (cosh.f64 (*.f64 (log.f64 re) #s(literal 2 binary64))) (sinh.f64 (*.f64 (log.f64 re) #s(literal 2 binary64))))
(*.f64 (exp.f64 (log.f64 im)) (exp.f64 (log.f64 im)))
(*.f64 (neg.f64 im) (neg.f64 im))
(*.f64 im im)
(pow.f64 (exp.f64 (log.f64 im)) #s(literal 2 binary64))
(pow.f64 (pow.f64 im #s(literal 4 binary64)) #s(literal 1/2 binary64))
(pow.f64 (neg.f64 im) #s(literal 2 binary64))
(pow.f64 (*.f64 im im) #s(literal 1 binary64))
(pow.f64 im #s(literal 2 binary64))
(neg.f64 (*.f64 (neg.f64 im) im))
(sqrt.f64 (pow.f64 im #s(literal 4 binary64)))
(fabs.f64 (*.f64 (neg.f64 im) im))
(fabs.f64 (*.f64 im im))
(exp.f64 (*.f64 (log.f64 (exp.f64 (log.f64 im))) #s(literal 2 binary64)))
(exp.f64 (*.f64 (*.f64 (log.f64 im) #s(literal 2 binary64)) #s(literal 1 binary64)))
(exp.f64 (*.f64 (log.f64 (neg.f64 im)) #s(literal 2 binary64)))
(exp.f64 (*.f64 (log.f64 im) #s(literal 2 binary64)))
(+.f64 (cosh.f64 (*.f64 (log.f64 (neg.f64 im)) #s(literal 2 binary64))) (sinh.f64 (*.f64 (log.f64 (neg.f64 im)) #s(literal 2 binary64))))
(+.f64 (cosh.f64 (*.f64 (log.f64 im) #s(literal 2 binary64))) (sinh.f64 (*.f64 (log.f64 im) #s(literal 2 binary64))))

eval45.0ms (1%)

Memory
14.4MiB live, 60.3MiB allocated; 6ms collecting garbage
Compiler

Compiled 5 364 to 1 061 computations (80.2% saved)

prune23.0ms (0.5%)

Memory
-28.0MiB live, 19.2MiB allocated; 3ms collecting garbage
Pruning

3 alts after pruning (3 fresh and 0 done)

PrunedKeptTotal
New2683271
Fresh000
Picked101
Done000
Total2693272
Accuracy
100.0%
Counts
272 → 3
Alt Table
Click to see full alt table
StatusAccuracyProgram
51.0%
(*.f64 (log.f64 (fma.f64 im im (*.f64 re re))) #s(literal 1/2 binary64))
100.0%
(log.f64 (hypot.f64 re im))
98.8%
#s(approx (log (sqrt (+ (* re re) (* im im)))) (log.f64 im))
Compiler

Compiled 25 to 20 computations (20% saved)

simplify5.0ms (0.1%)

Memory
12.5MiB live, 12.5MiB allocated; 0ms collecting garbage
Localize:

Found 8 expressions of interest:

NewMetricScoreProgram
cost-diff0
(*.f64 re re)
cost-diff0
(fma.f64 im im (*.f64 re re))
cost-diff0
(log.f64 (fma.f64 im im (*.f64 re re)))
cost-diff0
(*.f64 (log.f64 (fma.f64 im im (*.f64 re re))) #s(literal 1/2 binary64))
cost-diff0
(hypot.f64 re im)
cost-diff0
(log.f64 (hypot.f64 re im))
cost-diff0
(log.f64 im)
cost-diff0
#s(approx (log (sqrt (+ (* re re) (* im im)))) (log.f64 im))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01647
02347
13847
27847
313447
417347
017347
Stop Event
iter limit
saturated
iter limit
Calls
Call 1
Inputs
#s(approx (log (sqrt (+ (* re re) (* im im)))) (log.f64 im))
(log.f64 im)
im
(log.f64 (hypot.f64 re im))
(hypot.f64 re im)
re
im
(*.f64 (log.f64 (fma.f64 im im (*.f64 re re))) #s(literal 1/2 binary64))
(log.f64 (fma.f64 im im (*.f64 re re)))
(fma.f64 im im (*.f64 re re))
im
(*.f64 re re)
re
#s(literal 1/2 binary64)
Outputs
#s(approx (log (sqrt (+ (* re re) (* im im)))) (log.f64 im))
(log.f64 im)
im
(log.f64 (hypot.f64 re im))
(log.f64 (hypot.f64 im re))
(hypot.f64 re im)
(hypot.f64 im re)
re
im
(*.f64 (log.f64 (fma.f64 im im (*.f64 re re))) #s(literal 1/2 binary64))
(*.f64 #s(literal 1/2 binary64) (log.f64 (fma.f64 im im (*.f64 re re))))
(log.f64 (fma.f64 im im (*.f64 re re)))
(fma.f64 im im (*.f64 re re))
im
(*.f64 re re)
re
#s(literal 1/2 binary64)

localize65.0ms (1.4%)

Memory
2.0MiB live, 105.8MiB allocated; 13ms collecting garbage
Localize:

Found 8 expressions of interest:

NewMetricScoreProgram
accuracy0.0
(fma.f64 im im (*.f64 re re))
accuracy0.0
(*.f64 (log.f64 (fma.f64 im im (*.f64 re re))) #s(literal 1/2 binary64))
accuracy0.0
(*.f64 re re)
accuracy31.34789279054989
(log.f64 (fma.f64 im im (*.f64 re re)))
accuracy0.0
(hypot.f64 re im)
accuracy0.00390625
(log.f64 (hypot.f64 re im))
accuracy0.0
(log.f64 im)
accuracy0.7975914038592482
#s(approx (log (sqrt (+ (* re re) (* im im)))) (log.f64 im))
Samples
33.0ms256×0valid
Compiler

Compiled 64 to 13 computations (79.7% saved)

Precisions
Click to see histograms. Total time spent on operations: 25.0ms
ival-log: 13.0ms (52.6% of total)
ival-mult: 6.0ms (24.3% of total)
ival-hypot: 4.0ms (16.2% of total)
ival-add: 1.0ms (4% of total)
ival-true: 0.0ms (0% of total)
adjust: 0.0ms (0% of total)
exact: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

series77.0ms (1.7%)

Memory
10.0MiB live, 100.9MiB allocated; 9ms collecting garbage
Counts
8 → 88
Calls
Call 1
Inputs
#s(approx (log (sqrt (+ (* re re) (* im im)))) (log.f64 im))
(log.f64 im)
(log.f64 (hypot.f64 re im))
(hypot.f64 re im)
(*.f64 (log.f64 (fma.f64 im im (*.f64 re re))) #s(literal 1/2 binary64))
(log.f64 (fma.f64 im im (*.f64 re re)))
(fma.f64 im im (*.f64 re re))
(*.f64 re re)
Outputs
(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))))))
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)))))
(* 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))))))
(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)))))
(pow im 2)
(+ (pow im 2) (pow re 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))))))
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 (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))))))
(* -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)))))
(* (pow re 2) (+ 1 (/ (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))))))
(* -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))))))))
(+ (* -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))))))
(* -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 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))))))
(+ 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)))))
(* 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))))))
(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)))))
(* -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 (+ 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 (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))))))
(* -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) (+ 1 (/ (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))))))
(+ (log -1) (* -1 (log (/ -1 im))))
(* -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))))))))
(+ (* -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))))))
(* -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)))))
Calls

6 calls:

TimeVariablePointExpression
44.0ms
im
@0
((log (sqrt (+ (* re re) (* im im)))) (log im) (log (sqrt (+ (* re re) (* im im)))) (sqrt (+ (* re re) (* im im))) (* (log (+ (* im im) (* re re))) 1/2) (log (+ (* im im) (* re re))) (+ (* im im) (* re re)) (* re re))
20.0ms
im
@-inf
((log (sqrt (+ (* re re) (* im im)))) (log im) (log (sqrt (+ (* re re) (* im im)))) (sqrt (+ (* re re) (* im im))) (* (log (+ (* im im) (* re re))) 1/2) (log (+ (* im im) (* re re))) (+ (* im im) (* re re)) (* re re))
7.0ms
im
@inf
((log (sqrt (+ (* re re) (* im im)))) (log im) (log (sqrt (+ (* re re) (* im im)))) (sqrt (+ (* re re) (* im im))) (* (log (+ (* im im) (* re re))) 1/2) (log (+ (* im im) (* re re))) (+ (* im im) (* re re)) (* re re))
2.0ms
re
@0
((log (sqrt (+ (* re re) (* im im)))) (log im) (log (sqrt (+ (* re re) (* im im)))) (sqrt (+ (* re re) (* im im))) (* (log (+ (* im im) (* re re))) 1/2) (log (+ (* im im) (* re re))) (+ (* im im) (* re re)) (* re re))
1.0ms
re
@inf
((log (sqrt (+ (* re re) (* im im)))) (log im) (log (sqrt (+ (* re re) (* im im)))) (sqrt (+ (* re re) (* im im))) (* (log (+ (* im im) (* re re))) 1/2) (log (+ (* im im) (* re re))) (+ (* im im) (* re re)) (* re re))

simplify242.0ms (5.3%)

Memory
-2.3MiB live, 274.5MiB allocated; 51ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02611659
18011628
229451602
084491477
Stop Event
iter limit
node limit
Counts
88 → 86
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))))))
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)))))
(* 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))))))
(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)))))
(pow im 2)
(+ (pow im 2) (pow re 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))))))
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 (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))))))
(* -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)))))
(* (pow re 2) (+ 1 (/ (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))))))
(* -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))))))))
(+ (* -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))))))
(* -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 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))))))
(+ 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)))))
(* 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))))))
(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)))))
(* -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 (+ 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 (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))))))
(* -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) (+ 1 (/ (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))))))
(+ (log -1) (* -1 (log (/ -1 im))))
(* -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))))))))
(+ (* -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))))))
(* -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)))))
Outputs
(log im)
(log.f64 im)
(+ (log im) (* 1/2 (/ (pow re 2) (pow im 2))))
(fma.f64 (/.f64 (*.f64 #s(literal 1/2 binary64) re) im) (/.f64 re im) (log.f64 im))
(+ (log im) (* (pow re 2) (+ (* -1/4 (/ (pow re 2) (pow im 4))) (* 1/2 (/ 1 (pow im 2))))))
(fma.f64 (fma.f64 (*.f64 re (/.f64 re (pow.f64 im #s(literal 4 binary64)))) #s(literal -1/4 binary64) (/.f64 #s(literal 1/2 binary64) (*.f64 im im))) (*.f64 re re) (log.f64 im))
(+ (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))))))
(fma.f64 (pow.f64 re #s(literal 4 binary64)) (fma.f64 (*.f64 re (/.f64 re (pow.f64 im #s(literal 6 binary64)))) #s(literal 1/6 binary64) (/.f64 #s(literal -1/4 binary64) (pow.f64 im #s(literal 4 binary64)))) (fma.f64 (/.f64 (*.f64 #s(literal 1/2 binary64) re) im) (/.f64 re im) (log.f64 im)))
im
(+ im (* 1/2 (/ (pow re 2) im)))
(fma.f64 (/.f64 #s(literal 1/2 binary64) im) (*.f64 re re) im)
(+ im (* (pow re 2) (+ (* -1/8 (/ (pow re 2) (pow im 3))) (* 1/2 (/ 1 im)))))
(fma.f64 (/.f64 (fma.f64 (/.f64 #s(literal -1/8 binary64) im) (/.f64 (*.f64 re re) im) #s(literal 1/2 binary64)) im) (*.f64 re re) 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)))))
(fma.f64 (pow.f64 re #s(literal 4 binary64)) (fma.f64 (*.f64 re (/.f64 re (pow.f64 im #s(literal 5 binary64)))) #s(literal 1/16 binary64) (/.f64 #s(literal -1/8 binary64) (pow.f64 im #s(literal 3 binary64)))) (fma.f64 (/.f64 #s(literal 1/2 binary64) im) (*.f64 re re) im))
(* 1/2 (log (pow im 2)))
(*.f64 (log.f64 (*.f64 im im)) #s(literal 1/2 binary64))
(+ (* 1/2 (log (pow im 2))) (* 1/2 (/ (pow re 2) (pow im 2))))
(*.f64 (fma.f64 (/.f64 re im) (/.f64 re im) (log.f64 (*.f64 im im))) #s(literal 1/2 binary64))
(+ (* 1/2 (log (pow im 2))) (* (pow re 2) (+ (* -1/4 (/ (pow re 2) (pow im 4))) (* 1/2 (/ 1 (pow im 2))))))
(fma.f64 (fma.f64 (/.f64 re im) (/.f64 re im) (log.f64 (*.f64 im im))) #s(literal 1/2 binary64) (/.f64 (*.f64 (pow.f64 re #s(literal 4 binary64)) #s(literal -1/4 binary64)) (pow.f64 im #s(literal 4 binary64))))
(+ (* 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))))))
(fma.f64 (fma.f64 (/.f64 re im) (/.f64 re im) (log.f64 (*.f64 im im))) #s(literal 1/2 binary64) (*.f64 (pow.f64 re #s(literal 4 binary64)) (fma.f64 (*.f64 re (/.f64 re (pow.f64 im #s(literal 6 binary64)))) #s(literal 1/6 binary64) (/.f64 #s(literal -1/4 binary64) (pow.f64 im #s(literal 4 binary64))))))
(log (pow im 2))
(log.f64 (*.f64 im im))
(+ (log (pow im 2)) (/ (pow re 2) (pow im 2)))
(fma.f64 (/.f64 re im) (/.f64 re 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)))))
(fma.f64 (/.f64 (pow.f64 re #s(literal 4 binary64)) (pow.f64 im #s(literal 4 binary64))) #s(literal -1/2 binary64) (fma.f64 (/.f64 re im) (/.f64 re im) (log.f64 (*.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)))))
(fma.f64 (pow.f64 re #s(literal 4 binary64)) (fma.f64 #s(literal 1/3 binary64) (*.f64 re (/.f64 re (pow.f64 im #s(literal 6 binary64)))) (/.f64 #s(literal -1/2 binary64) (pow.f64 im #s(literal 4 binary64)))) (fma.f64 (/.f64 re im) (/.f64 re im) (log.f64 (*.f64 im im))))
(pow im 2)
(*.f64 im im)
(+ (pow im 2) (pow re 2))
(fma.f64 im im (*.f64 re re))
(pow re 2)
(*.f64 re re)
(* -1 (log (/ 1 re)))
(log.f64 re)
(+ (* -1 (log (/ 1 re))) (* 1/2 (/ (pow im 2) (pow re 2))))
(fma.f64 (/.f64 (*.f64 #s(literal 1/2 binary64) im) re) (/.f64 im re) (log.f64 re))
(+ (* -1 (log (/ 1 re))) (+ (* -1/4 (/ (pow im 4) (pow re 4))) (* 1/2 (/ (pow im 2) (pow re 2)))))
(fma.f64 (/.f64 (*.f64 #s(literal 1/2 binary64) im) re) (/.f64 im re) (fma.f64 (/.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 re #s(literal 4 binary64))) #s(literal -1/4 binary64) (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))))))
(fma.f64 (fma.f64 (*.f64 im (/.f64 im (pow.f64 re #s(literal 4 binary64)))) #s(literal -1/4 binary64) (/.f64 #s(literal 1/2 binary64) (*.f64 re re))) (*.f64 im im) (fma.f64 (*.f64 (pow.f64 im #s(literal 6 binary64)) (/.f64 #s(literal 120 binary64) (pow.f64 re #s(literal 6 binary64)))) #s(literal 1/720 binary64) (log.f64 re)))
re
(* re (+ 1 (* 1/2 (/ (pow im 2) (pow re 2)))))
(fma.f64 (/.f64 re re) (*.f64 (/.f64 (*.f64 im im) re) #s(literal 1/2 binary64)) re)
(* re (+ 1 (+ (* -1/8 (/ (pow im 4) (pow re 4))) (* 1/2 (/ (pow im 2) (pow re 2))))))
(fma.f64 (fma.f64 (/.f64 (*.f64 #s(literal 1/2 binary64) im) re) (/.f64 im re) (/.f64 (*.f64 #s(literal -1/8 binary64) (pow.f64 im #s(literal 4 binary64))) (pow.f64 re #s(literal 4 binary64)))) 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 (fma.f64 (/.f64 (pow.f64 im #s(literal 6 binary64)) (pow.f64 re #s(literal 6 binary64))) #s(literal 1/16 binary64) (fma.f64 (/.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 re #s(literal 4 binary64))) #s(literal -1/8 binary64) (fma.f64 (/.f64 (*.f64 #s(literal 1/2 binary64) im) re) (/.f64 im re) #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))))))
(fma.f64 (fma.f64 (*.f64 im (/.f64 im (pow.f64 re #s(literal 4 binary64)))) #s(literal -1/4 binary64) (/.f64 #s(literal 1/2 binary64) (*.f64 re re))) (*.f64 im im) (fma.f64 (/.f64 (pow.f64 im #s(literal 6 binary64)) (pow.f64 re #s(literal 6 binary64))) #s(literal 1/6 binary64) (log.f64 re)))
(* -2 (log (/ 1 re)))
(*.f64 (log.f64 re) #s(literal 2 binary64))
(+ (* -2 (log (/ 1 re))) (/ (pow im 2) (pow re 2)))
(fma.f64 (/.f64 im re) (/.f64 im re) (*.f64 (log.f64 re) #s(literal 2 binary64)))
(+ (* -2 (log (/ 1 re))) (+ (* -1/2 (/ (pow im 4) (pow re 4))) (/ (pow im 2) (pow re 2))))
(fma.f64 (log.f64 re) #s(literal 2 binary64) (fma.f64 (/.f64 im re) (/.f64 im re) (/.f64 (*.f64 #s(literal -1/2 binary64) (pow.f64 im #s(literal 4 binary64))) (pow.f64 re #s(literal 4 binary64)))))
(+ (* -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)))))
(fma.f64 (/.f64 im re) (/.f64 im re) (fma.f64 (log.f64 re) #s(literal 2 binary64) (fma.f64 (/.f64 (pow.f64 im #s(literal 6 binary64)) (pow.f64 re #s(literal 6 binary64))) #s(literal 1/3 binary64) (/.f64 (*.f64 #s(literal -1/2 binary64) (pow.f64 im #s(literal 4 binary64))) (pow.f64 re #s(literal 4 binary64))))))
(* (pow re 2) (+ 1 (/ (pow im 2) (pow re 2))))
(*.f64 (fma.f64 (/.f64 im re) (/.f64 im re) #s(literal 1 binary64)) (*.f64 re re))
(* -1 (log (/ -1 re)))
(neg.f64 (log.f64 (/.f64 #s(literal -1 binary64) re)))
(+ (* -1 (log (/ -1 re))) (* 1/2 (/ (pow im 2) (pow re 2))))
(fma.f64 (*.f64 (/.f64 im re) (/.f64 im re)) #s(literal 1/2 binary64) (neg.f64 (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)))))
(fma.f64 (fma.f64 (*.f64 im (/.f64 im (pow.f64 re #s(literal 4 binary64)))) #s(literal -1/4 binary64) (/.f64 #s(literal 1/2 binary64) (*.f64 re re))) (*.f64 im im) (neg.f64 (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))))))
(fma.f64 (*.f64 (pow.f64 im #s(literal 6 binary64)) (/.f64 #s(literal 120 binary64) (pow.f64 re #s(literal 6 binary64)))) #s(literal 1/720 binary64) (fma.f64 (fma.f64 (*.f64 im (/.f64 im (pow.f64 re #s(literal 4 binary64)))) #s(literal -1/4 binary64) (/.f64 #s(literal 1/2 binary64) (*.f64 re re))) (*.f64 im im) (neg.f64 (log.f64 (/.f64 #s(literal -1 binary64) re)))))
(* -1 re)
(neg.f64 re)
(* -1 (* re (+ 1 (* 1/2 (/ (pow im 2) (pow re 2))))))
(*.f64 (fma.f64 (/.f64 #s(literal -1/2 binary64) re) (/.f64 (*.f64 im im) re) #s(literal -1 binary64)) re)
(* -1 (* re (+ 1 (+ (* -1/8 (/ (pow im 4) (pow re 4))) (* 1/2 (/ (pow im 2) (pow re 2)))))))
(fma.f64 (fma.f64 (/.f64 (*.f64 #s(literal -1/2 binary64) im) re) (/.f64 im re) (/.f64 (*.f64 #s(literal 1/8 binary64) (pow.f64 im #s(literal 4 binary64))) (pow.f64 re #s(literal 4 binary64)))) re (neg.f64 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 (neg.f64 re) (fma.f64 (/.f64 (pow.f64 im #s(literal 6 binary64)) (pow.f64 re #s(literal 6 binary64))) #s(literal 1/16 binary64) (fma.f64 (/.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 re #s(literal 4 binary64))) #s(literal -1/8 binary64) (fma.f64 (/.f64 (*.f64 #s(literal 1/2 binary64) im) re) (/.f64 im re) #s(literal 1 binary64)))))
(+ (* -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))))))
(fma.f64 (/.f64 (pow.f64 im #s(literal 6 binary64)) (pow.f64 re #s(literal 6 binary64))) #s(literal 1/6 binary64) (fma.f64 (fma.f64 (*.f64 im (/.f64 im (pow.f64 re #s(literal 4 binary64)))) #s(literal -1/4 binary64) (/.f64 #s(literal 1/2 binary64) (*.f64 re re))) (*.f64 im im) (neg.f64 (log.f64 (/.f64 #s(literal -1 binary64) re)))))
(* -2 (log (/ -1 re)))
(*.f64 (log.f64 (/.f64 #s(literal -1 binary64) re)) #s(literal -2 binary64))
(+ (* -2 (log (/ -1 re))) (/ (pow im 2) (pow re 2)))
(fma.f64 (log.f64 (/.f64 #s(literal -1 binary64) re)) #s(literal -2 binary64) (*.f64 (/.f64 im re) (/.f64 im re)))
(+ (* -2 (log (/ -1 re))) (+ (* -1/2 (/ (pow im 4) (pow re 4))) (/ (pow im 2) (pow re 2))))
(fma.f64 (log.f64 (/.f64 #s(literal -1 binary64) re)) #s(literal -2 binary64) (fma.f64 (/.f64 im re) (/.f64 im re) (/.f64 (*.f64 #s(literal -1/2 binary64) (pow.f64 im #s(literal 4 binary64))) (pow.f64 re #s(literal 4 binary64)))))
(+ (* -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)))))
(fma.f64 (log.f64 (/.f64 #s(literal -1 binary64) re)) #s(literal -2 binary64) (fma.f64 (/.f64 (pow.f64 im #s(literal 6 binary64)) (pow.f64 re #s(literal 6 binary64))) #s(literal 1/3 binary64) (fma.f64 (/.f64 im re) (/.f64 im re) (/.f64 (*.f64 #s(literal -1/2 binary64) (pow.f64 im #s(literal 4 binary64))) (pow.f64 re #s(literal 4 binary64))))))
(log re)
(log.f64 re)
(+ (log re) (* 1/2 (/ (pow im 2) (pow re 2))))
(fma.f64 (/.f64 (*.f64 #s(literal 1/2 binary64) im) re) (/.f64 im re) (log.f64 re))
(+ (log re) (* (pow im 2) (+ (* -1/4 (/ (pow im 2) (pow re 4))) (* 1/2 (/ 1 (pow re 2))))))
(fma.f64 (/.f64 (*.f64 #s(literal 1/2 binary64) im) re) (/.f64 im re) (fma.f64 (/.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 re #s(literal 4 binary64))) #s(literal -1/4 binary64) (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))))))
(fma.f64 (fma.f64 (fma.f64 (*.f64 im (/.f64 im (pow.f64 re #s(literal 6 binary64)))) #s(literal 1/6 binary64) (/.f64 #s(literal -1/4 binary64) (pow.f64 re #s(literal 4 binary64)))) (*.f64 im im) (/.f64 #s(literal 1/2 binary64) (*.f64 re re))) (*.f64 im im) (log.f64 re))
(+ re (* 1/2 (/ (pow im 2) re)))
(fma.f64 (/.f64 #s(literal 1/2 binary64) re) (*.f64 im im) re)
(+ re (* (pow im 2) (+ (* -1/8 (/ (pow im 2) (pow re 3))) (* 1/2 (/ 1 re)))))
(fma.f64 (/.f64 (fma.f64 (/.f64 #s(literal -1/8 binary64) re) (/.f64 (*.f64 im im) re) #s(literal 1/2 binary64)) re) (*.f64 im im) 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)))))
(fma.f64 (fma.f64 (fma.f64 (*.f64 im (/.f64 im (pow.f64 re #s(literal 5 binary64)))) #s(literal 1/16 binary64) (/.f64 #s(literal -1/8 binary64) (pow.f64 re #s(literal 3 binary64)))) (*.f64 im im) (/.f64 #s(literal 1/2 binary64) re)) (*.f64 im im) re)
(* 1/2 (log (pow re 2)))
(*.f64 (log.f64 (*.f64 re re)) #s(literal 1/2 binary64))
(+ (* 1/2 (log (pow re 2))) (* 1/2 (/ (pow im 2) (pow re 2))))
(*.f64 (fma.f64 (/.f64 im re) (/.f64 im re) (log.f64 (*.f64 re re))) #s(literal 1/2 binary64))
(+ (* 1/2 (log (pow re 2))) (* (pow im 2) (+ (* -1/4 (/ (pow im 2) (pow re 4))) (* 1/2 (/ 1 (pow re 2))))))
(fma.f64 (fma.f64 (/.f64 im re) (/.f64 im re) (log.f64 (*.f64 re re))) #s(literal 1/2 binary64) (/.f64 (*.f64 (pow.f64 im #s(literal 4 binary64)) #s(literal -1/4 binary64)) (pow.f64 re #s(literal 4 binary64))))
(+ (* 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))))))
(fma.f64 (fma.f64 (/.f64 im re) (/.f64 im re) (log.f64 (*.f64 re re))) #s(literal 1/2 binary64) (*.f64 (fma.f64 (*.f64 im (/.f64 im (pow.f64 re #s(literal 6 binary64)))) #s(literal 1/6 binary64) (/.f64 #s(literal -1/4 binary64) (pow.f64 re #s(literal 4 binary64)))) (pow.f64 im #s(literal 4 binary64))))
(log (pow re 2))
(log.f64 (*.f64 re re))
(+ (log (pow re 2)) (/ (pow im 2) (pow re 2)))
(fma.f64 (/.f64 im re) (/.f64 im 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)))))
(fma.f64 (/.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 re #s(literal 4 binary64))) #s(literal -1/2 binary64) (fma.f64 (/.f64 im re) (/.f64 im re) (log.f64 (*.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)))))
(fma.f64 (fma.f64 (*.f64 im (/.f64 im (pow.f64 re #s(literal 6 binary64)))) #s(literal 1/3 binary64) (/.f64 #s(literal -1/2 binary64) (pow.f64 re #s(literal 4 binary64)))) (pow.f64 im #s(literal 4 binary64)) (fma.f64 (/.f64 im re) (/.f64 im re) (log.f64 (*.f64 re re))))
(* -1 (log (/ 1 im)))
(log.f64 im)
(+ (* -1 (log (/ 1 im))) (* 1/2 (/ (pow re 2) (pow im 2))))
(fma.f64 (/.f64 (*.f64 #s(literal 1/2 binary64) re) im) (/.f64 re im) (log.f64 im))
(+ (* -1 (log (/ 1 im))) (+ (* -1/4 (/ (pow re 4) (pow im 4))) (* 1/2 (/ (pow re 2) (pow im 2)))))
(fma.f64 (fma.f64 (*.f64 re (/.f64 re (pow.f64 im #s(literal 4 binary64)))) #s(literal -1/4 binary64) (/.f64 #s(literal 1/2 binary64) (*.f64 im im))) (*.f64 re re) (log.f64 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))))))
(fma.f64 (*.f64 (pow.f64 re #s(literal 6 binary64)) (/.f64 #s(literal 120 binary64) (pow.f64 im #s(literal 6 binary64)))) #s(literal 1/720 binary64) (fma.f64 (fma.f64 (*.f64 re (/.f64 re (pow.f64 im #s(literal 4 binary64)))) #s(literal -1/4 binary64) (/.f64 #s(literal 1/2 binary64) (*.f64 im im))) (*.f64 re re) (log.f64 im)))
(* im (+ 1 (* 1/2 (/ (pow re 2) (pow im 2)))))
(*.f64 (fma.f64 (/.f64 #s(literal 1/2 binary64) im) (/.f64 (*.f64 re re) im) #s(literal 1 binary64)) im)
(* im (+ 1 (+ (* -1/8 (/ (pow re 4) (pow im 4))) (* 1/2 (/ (pow re 2) (pow im 2))))))
(*.f64 (fma.f64 (/.f64 (pow.f64 re #s(literal 4 binary64)) (pow.f64 im #s(literal 4 binary64))) #s(literal -1/8 binary64) (fma.f64 (/.f64 #s(literal 1/2 binary64) im) (/.f64 (*.f64 re re) im) #s(literal 1 binary64))) 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 (fma.f64 (/.f64 (pow.f64 re #s(literal 6 binary64)) (pow.f64 im #s(literal 6 binary64))) #s(literal 1/16 binary64) (fma.f64 (/.f64 (pow.f64 re #s(literal 4 binary64)) (pow.f64 im #s(literal 4 binary64))) #s(literal -1/8 binary64) (fma.f64 (/.f64 #s(literal 1/2 binary64) im) (/.f64 (*.f64 re re) im) #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))))))
(fma.f64 (/.f64 (pow.f64 re #s(literal 6 binary64)) (pow.f64 im #s(literal 6 binary64))) #s(literal 1/6 binary64) (fma.f64 (fma.f64 (*.f64 re (/.f64 re (pow.f64 im #s(literal 4 binary64)))) #s(literal -1/4 binary64) (/.f64 #s(literal 1/2 binary64) (*.f64 im im))) (*.f64 re re) (log.f64 im)))
(* -2 (log (/ 1 im)))
(*.f64 #s(literal 2 binary64) (log.f64 im))
(+ (* -2 (log (/ 1 im))) (/ (pow re 2) (pow im 2)))
(fma.f64 (/.f64 re im) (/.f64 re im) (*.f64 #s(literal 2 binary64) (log.f64 im)))
(+ (* -2 (log (/ 1 im))) (+ (* -1/2 (/ (pow re 4) (pow im 4))) (/ (pow re 2) (pow im 2))))
(fma.f64 #s(literal 2 binary64) (log.f64 im) (fma.f64 (/.f64 re im) (/.f64 re im) (/.f64 (*.f64 (pow.f64 re #s(literal 4 binary64)) #s(literal -1/2 binary64)) (pow.f64 im #s(literal 4 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)))))
(fma.f64 (/.f64 re im) (/.f64 re im) (fma.f64 (/.f64 (pow.f64 re #s(literal 4 binary64)) (pow.f64 im #s(literal 4 binary64))) #s(literal -1/2 binary64) (fma.f64 #s(literal 2 binary64) (log.f64 im) (/.f64 (*.f64 (pow.f64 re #s(literal 6 binary64)) #s(literal 1/3 binary64)) (pow.f64 im #s(literal 6 binary64))))))
(* (pow im 2) (+ 1 (/ (pow re 2) (pow im 2))))
(*.f64 (*.f64 (fma.f64 (/.f64 re im) (/.f64 re im) #s(literal 1 binary64)) im) im)
(* -1 (log (/ -1 im)))
(neg.f64 (log.f64 (/.f64 #s(literal -1 binary64) im)))
(+ (* -1 (log (/ -1 im))) (* 1/2 (/ (pow re 2) (pow im 2))))
(fma.f64 (*.f64 (/.f64 re im) (/.f64 re im)) #s(literal 1/2 binary64) (neg.f64 (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)))))
(fma.f64 (/.f64 (pow.f64 re #s(literal 4 binary64)) (pow.f64 im #s(literal 4 binary64))) #s(literal -1/4 binary64) (fma.f64 (*.f64 (/.f64 re im) (/.f64 re im)) #s(literal 1/2 binary64) (neg.f64 (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))))))
(fma.f64 (*.f64 (pow.f64 re #s(literal 6 binary64)) (/.f64 #s(literal 120 binary64) (pow.f64 im #s(literal 6 binary64)))) #s(literal 1/720 binary64) (fma.f64 (/.f64 (pow.f64 re #s(literal 4 binary64)) (pow.f64 im #s(literal 4 binary64))) #s(literal -1/4 binary64) (fma.f64 (*.f64 (/.f64 re im) (/.f64 re im)) #s(literal 1/2 binary64) (neg.f64 (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)))
(* -1 im)
(neg.f64 im)
(* -1 (* im (+ 1 (* 1/2 (/ (pow re 2) (pow im 2))))))
(*.f64 (fma.f64 (/.f64 #s(literal -1/2 binary64) im) (/.f64 (*.f64 re re) im) #s(literal -1 binary64)) im)
(* -1 (* im (+ 1 (+ (* -1/8 (/ (pow re 4) (pow im 4))) (* 1/2 (/ (pow re 2) (pow im 2)))))))
(*.f64 (neg.f64 im) (fma.f64 (/.f64 (pow.f64 re #s(literal 4 binary64)) (pow.f64 im #s(literal 4 binary64))) #s(literal -1/8 binary64) (fma.f64 (/.f64 #s(literal 1/2 binary64) im) (/.f64 (*.f64 re re) im) #s(literal 1 binary64))))
(* -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 (neg.f64 im) (fma.f64 (/.f64 (pow.f64 re #s(literal 6 binary64)) (pow.f64 im #s(literal 6 binary64))) #s(literal 1/16 binary64) (fma.f64 (/.f64 (pow.f64 re #s(literal 4 binary64)) (pow.f64 im #s(literal 4 binary64))) #s(literal -1/8 binary64) (fma.f64 (/.f64 #s(literal 1/2 binary64) im) (/.f64 (*.f64 re re) im) #s(literal 1 binary64)))))
(+ (* -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))))))
(fma.f64 (/.f64 (pow.f64 re #s(literal 6 binary64)) (pow.f64 im #s(literal 6 binary64))) #s(literal 1/6 binary64) (fma.f64 (/.f64 (pow.f64 re #s(literal 4 binary64)) (pow.f64 im #s(literal 4 binary64))) #s(literal -1/4 binary64) (fma.f64 (*.f64 (/.f64 re im) (/.f64 re im)) #s(literal 1/2 binary64) (neg.f64 (log.f64 (/.f64 #s(literal -1 binary64) im))))))
(* -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)))
(fma.f64 (log.f64 (/.f64 #s(literal -1 binary64) im)) #s(literal -2 binary64) (*.f64 (/.f64 re im) (/.f64 re im)))
(+ (* -2 (log (/ -1 im))) (+ (* -1/2 (/ (pow re 4) (pow im 4))) (/ (pow re 2) (pow im 2))))
(fma.f64 (log.f64 (/.f64 #s(literal -1 binary64) im)) #s(literal -2 binary64) (fma.f64 (/.f64 re im) (/.f64 re im) (/.f64 (*.f64 (pow.f64 re #s(literal 4 binary64)) #s(literal -1/2 binary64)) (pow.f64 im #s(literal 4 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)))))
(fma.f64 (log.f64 (/.f64 #s(literal -1 binary64) im)) #s(literal -2 binary64) (fma.f64 (/.f64 (pow.f64 re #s(literal 6 binary64)) (pow.f64 im #s(literal 6 binary64))) #s(literal 1/3 binary64) (fma.f64 (/.f64 re im) (/.f64 re im) (/.f64 (*.f64 (pow.f64 re #s(literal 4 binary64)) #s(literal -1/2 binary64)) (pow.f64 im #s(literal 4 binary64))))))

rewrite84.0ms (1.9%)

Memory
25.7MiB live, 117.2MiB allocated; 6ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01641
02336
16336
252436
0835836
Stop Event
iter limit
node limit
iter limit
Counts
8 → 215
Calls
Call 1
Inputs
#s(approx (log (sqrt (+ (* re re) (* im im)))) (log.f64 im))
(log.f64 im)
(log.f64 (hypot.f64 re im))
(hypot.f64 re im)
(*.f64 (log.f64 (fma.f64 im im (*.f64 re re))) #s(literal 1/2 binary64))
(log.f64 (fma.f64 im im (*.f64 re re)))
(fma.f64 im im (*.f64 re re))
(*.f64 re re)
Outputs
#s(approx (log (sqrt (+ (* re re) (* im im)))) (log.f64 im))
(log.f64 im)
(*.f64 (log.f64 (fma.f64 im im (*.f64 re re))) #s(literal 1/2 binary64))
(*.f64 #s(literal 1/2 binary64) (log.f64 (fma.f64 im im (*.f64 re re))))
(-.f64 (log.f64 (*.f64 (hypot.f64 im re) (hypot.f64 im re))) (log.f64 (hypot.f64 im re)))
(-.f64 (log.f64 (hypot.f64 (pow.f64 im #s(literal 3 binary64)) (pow.f64 re #s(literal 3 binary64)))) (log.f64 (hypot.f64 (fma.f64 im im (*.f64 re re)) (*.f64 im re))))
(+.f64 (log.f64 (pow.f64 (fma.f64 im im (*.f64 re re)) #s(literal 1/4 binary64))) (log.f64 (pow.f64 (fma.f64 im im (*.f64 re re)) #s(literal 1/4 binary64))))
(log.f64 (hypot.f64 im re))
(*.f64 (neg.f64 (pow.f64 (fma.f64 im im (*.f64 re re)) #s(literal 1/4 binary64))) (neg.f64 (pow.f64 (fma.f64 im im (*.f64 re re)) #s(literal 1/4 binary64))))
(*.f64 (fabs.f64 (pow.f64 (fma.f64 im im (*.f64 re re)) #s(literal 1/4 binary64))) (fabs.f64 (pow.f64 (fma.f64 im im (*.f64 re re)) #s(literal 1/4 binary64))))
(*.f64 (sqrt.f64 (+.f64 (neg.f64 re) im)) (sqrt.f64 (-.f64 (neg.f64 re) im)))
(*.f64 (sqrt.f64 (+.f64 im re)) (sqrt.f64 (-.f64 im re)))
(*.f64 (sqrt.f64 (neg.f64 (+.f64 im re))) (sqrt.f64 (-.f64 (neg.f64 re) (neg.f64 im))))
(*.f64 (pow.f64 (fma.f64 im im (*.f64 re re)) #s(literal 1/4 binary64)) (pow.f64 (fma.f64 im im (*.f64 re re)) #s(literal 1/4 binary64)))
(pow.f64 (exp.f64 #s(literal 1/2 binary64)) (log.f64 (fma.f64 im im (*.f64 re re))))
(pow.f64 (exp.f64 (log.f64 (fma.f64 im im (*.f64 re re)))) #s(literal 1/2 binary64))
(pow.f64 (pow.f64 (fma.f64 im im (*.f64 re re)) #s(literal 1/4 binary64)) #s(literal 2 binary64))
(pow.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 re #s(literal 4 binary64))) #s(literal 1/4 binary64))
(pow.f64 (fma.f64 im im (*.f64 re re)) #s(literal 1/2 binary64))
(/.f64 (neg.f64 (*.f64 (hypot.f64 im re) (hypot.f64 im re))) (neg.f64 (hypot.f64 im re)))
(/.f64 (neg.f64 (hypot.f64 (pow.f64 im #s(literal 3 binary64)) (pow.f64 re #s(literal 3 binary64)))) (neg.f64 (hypot.f64 (fma.f64 im im (*.f64 re re)) (*.f64 im re))))
(/.f64 (*.f64 (hypot.f64 im re) (hypot.f64 im re)) (hypot.f64 im re))
(/.f64 (hypot.f64 (pow.f64 im #s(literal 3 binary64)) (pow.f64 re #s(literal 3 binary64))) (hypot.f64 (fma.f64 im im (*.f64 re re)) (*.f64 im re)))
(sqrt.f64 (fma.f64 im im (*.f64 re re)))
(hypot.f64 (exp.f64 (log.f64 re)) (exp.f64 (log.f64 im)))
(hypot.f64 (exp.f64 (log.f64 re)) (neg.f64 im))
(hypot.f64 (exp.f64 (log.f64 re)) im)
(hypot.f64 (exp.f64 (log.f64 im)) (exp.f64 (log.f64 re)))
(hypot.f64 (exp.f64 (log.f64 im)) (neg.f64 re))
(hypot.f64 (exp.f64 (log.f64 im)) re)
(hypot.f64 (neg.f64 re) (exp.f64 (log.f64 im)))
(hypot.f64 (neg.f64 re) (neg.f64 im))
(hypot.f64 (neg.f64 re) im)
(hypot.f64 (neg.f64 im) (exp.f64 (log.f64 re)))
(hypot.f64 (neg.f64 im) (neg.f64 re))
(hypot.f64 (neg.f64 im) re)
(hypot.f64 im (exp.f64 (log.f64 re)))
(hypot.f64 im (neg.f64 re))
(hypot.f64 im re)
(hypot.f64 re (exp.f64 (log.f64 im)))
(hypot.f64 re (neg.f64 im))
(hypot.f64 re im)
(exp.f64 (log.f64 (hypot.f64 im re)))
(+.f64 (cosh.f64 (log.f64 (hypot.f64 im re))) (sinh.f64 (log.f64 (hypot.f64 im re))))
(*.f64 (log.f64 (fma.f64 im im (*.f64 re re))) #s(literal 1/2 binary64))
(*.f64 #s(literal 1/2 binary64) (log.f64 (fma.f64 im im (*.f64 re re))))
(-.f64 (log.f64 (*.f64 (hypot.f64 im re) (hypot.f64 im re))) (log.f64 (hypot.f64 im re)))
(-.f64 (log.f64 (hypot.f64 (pow.f64 im #s(literal 3 binary64)) (pow.f64 re #s(literal 3 binary64)))) (log.f64 (hypot.f64 (fma.f64 im im (*.f64 re re)) (*.f64 im re))))
(+.f64 (log.f64 (pow.f64 (fma.f64 im im (*.f64 re re)) #s(literal 1/4 binary64))) (log.f64 (pow.f64 (fma.f64 im im (*.f64 re re)) #s(literal 1/4 binary64))))
(log.f64 (hypot.f64 im re))
(/.f64 (-.f64 (*.f64 (log.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 re #s(literal 4 binary64)))) (log.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 re #s(literal 4 binary64))))) (*.f64 (log.f64 (fma.f64 im im (*.f64 re re))) (log.f64 (fma.f64 im im (*.f64 re re))))) (+.f64 (log.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 re #s(literal 4 binary64)))) (log.f64 (fma.f64 im im (*.f64 re re)))))
(/.f64 (-.f64 (*.f64 (log.f64 (-.f64 (pow.f64 im #s(literal 6 binary64)) (pow.f64 re #s(literal 6 binary64)))) (log.f64 (-.f64 (pow.f64 im #s(literal 6 binary64)) (pow.f64 re #s(literal 6 binary64))))) (*.f64 (log.f64 (fma.f64 (fma.f64 im im (*.f64 re re)) (*.f64 re re) (pow.f64 im #s(literal 4 binary64)))) (log.f64 (fma.f64 (fma.f64 im im (*.f64 re re)) (*.f64 re re) (pow.f64 im #s(literal 4 binary64)))))) (+.f64 (log.f64 (-.f64 (pow.f64 im #s(literal 6 binary64)) (pow.f64 re #s(literal 6 binary64)))) (log.f64 (fma.f64 (fma.f64 im im (*.f64 re re)) (*.f64 re re) (pow.f64 im #s(literal 4 binary64))))))
(/.f64 (-.f64 (pow.f64 (log.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 re #s(literal 4 binary64)))) #s(literal 3 binary64)) (pow.f64 (log.f64 (fma.f64 im im (*.f64 re re))) #s(literal 3 binary64))) (fma.f64 (log.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 re #s(literal 4 binary64)))) (log.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 re #s(literal 4 binary64)))) (fma.f64 (log.f64 (fma.f64 im im (*.f64 re re))) (log.f64 (fma.f64 im im (*.f64 re re))) (*.f64 (log.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 re #s(literal 4 binary64)))) (log.f64 (fma.f64 im im (*.f64 re re)))))))
(/.f64 (-.f64 (pow.f64 (log.f64 (-.f64 (pow.f64 im #s(literal 6 binary64)) (pow.f64 re #s(literal 6 binary64)))) #s(literal 3 binary64)) (pow.f64 (log.f64 (fma.f64 (fma.f64 im im (*.f64 re re)) (*.f64 re re) (pow.f64 im #s(literal 4 binary64)))) #s(literal 3 binary64))) (fma.f64 (log.f64 (-.f64 (pow.f64 im #s(literal 6 binary64)) (pow.f64 re #s(literal 6 binary64)))) (log.f64 (-.f64 (pow.f64 im #s(literal 6 binary64)) (pow.f64 re #s(literal 6 binary64)))) (fma.f64 (log.f64 (fma.f64 (fma.f64 im im (*.f64 re re)) (*.f64 re re) (pow.f64 im #s(literal 4 binary64)))) (log.f64 (fma.f64 (fma.f64 im im (*.f64 re re)) (*.f64 re re) (pow.f64 im #s(literal 4 binary64)))) (*.f64 (log.f64 (-.f64 (pow.f64 im #s(literal 6 binary64)) (pow.f64 re #s(literal 6 binary64)))) (log.f64 (fma.f64 (fma.f64 im im (*.f64 re re)) (*.f64 re re) (pow.f64 im #s(literal 4 binary64))))))))
(-.f64 (log.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 re #s(literal 4 binary64)))) (log.f64 (fma.f64 im im (*.f64 re re))))
(-.f64 (log.f64 (-.f64 (pow.f64 im #s(literal 6 binary64)) (pow.f64 re #s(literal 6 binary64)))) (log.f64 (fma.f64 (fma.f64 im im (*.f64 re re)) (*.f64 re re) (pow.f64 im #s(literal 4 binary64)))))
(+.f64 (log.f64 (neg.f64 (+.f64 im re))) (log.f64 (-.f64 (neg.f64 re) (neg.f64 im))))
(+.f64 (log.f64 (+.f64 (neg.f64 re) im)) (log.f64 (-.f64 (neg.f64 re) im)))
(+.f64 (log.f64 (+.f64 im re)) (log.f64 (-.f64 im re)))
(log.f64 (fma.f64 im im (*.f64 re re)))
(*.f64 (/.f64 (-.f64 (pow.f64 im #s(literal 6 binary64)) (pow.f64 re #s(literal 6 binary64))) (-.f64 (pow.f64 im #s(literal 8 binary64)) (-.f64 (pow.f64 re #s(literal 8 binary64)) (pow.f64 (*.f64 im re) #s(literal 4 binary64))))) (fma.f64 (fma.f64 im im (*.f64 re re)) (*.f64 re re) (pow.f64 im #s(literal 4 binary64))))
(*.f64 (/.f64 (-.f64 (pow.f64 im #s(literal 6 binary64)) (pow.f64 re #s(literal 6 binary64))) (fma.f64 (pow.f64 re #s(literal 6 binary64)) (pow.f64 (fma.f64 im im (*.f64 re re)) #s(literal 3 binary64)) (pow.f64 im #s(literal 12 binary64)))) (fma.f64 (-.f64 (pow.f64 re #s(literal 4 binary64)) (pow.f64 (*.f64 im re) #s(literal 2 binary64))) (fma.f64 (fma.f64 im im (*.f64 re re)) (*.f64 re re) (pow.f64 im #s(literal 4 binary64))) (pow.f64 im #s(literal 8 binary64))))
(*.f64 (/.f64 (-.f64 (pow.f64 im #s(literal 6 binary64)) (pow.f64 re #s(literal 6 binary64))) (fma.f64 (pow.f64 im #s(literal 6 binary64)) (pow.f64 (fma.f64 im im (*.f64 re re)) #s(literal 3 binary64)) (pow.f64 re #s(literal 12 binary64)))) (fma.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 (*.f64 im re) #s(literal 2 binary64))) (fma.f64 (fma.f64 im im (*.f64 re re)) (*.f64 re re) (pow.f64 im #s(literal 4 binary64))) (pow.f64 re #s(literal 8 binary64))))
(*.f64 (/.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 re #s(literal 4 binary64))) (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 re #s(literal 4 binary64)))) (fma.f64 im im (*.f64 re re)))
(*.f64 (/.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 re #s(literal 4 binary64))) (-.f64 (pow.f64 im #s(literal 6 binary64)) (pow.f64 re #s(literal 6 binary64)))) (fma.f64 (fma.f64 im im (*.f64 re re)) (*.f64 re re) (pow.f64 im #s(literal 4 binary64))))
(*.f64 (neg.f64 (neg.f64 (+.f64 im re))) (-.f64 (neg.f64 re) (neg.f64 im)))
(*.f64 (neg.f64 (+.f64 (neg.f64 re) im)) (-.f64 (neg.f64 re) im))
(*.f64 (neg.f64 (+.f64 im re)) (neg.f64 (-.f64 (neg.f64 re) (neg.f64 im))))
(*.f64 (neg.f64 (+.f64 im re)) (-.f64 im re))
(*.f64 (neg.f64 (+.f64 im re)) (-.f64 (neg.f64 re) (neg.f64 im)))
(*.f64 (-.f64 (neg.f64 re) im) (+.f64 (neg.f64 re) im))
(*.f64 (-.f64 im re) (+.f64 im re))
(*.f64 (-.f64 (neg.f64 re) (neg.f64 im)) (neg.f64 (+.f64 im re)))
(*.f64 (+.f64 (neg.f64 re) im) (neg.f64 (-.f64 (neg.f64 re) im)))
(*.f64 (+.f64 (neg.f64 re) im) (-.f64 (neg.f64 re) im))
(*.f64 (+.f64 im re) (neg.f64 (-.f64 im re)))
(*.f64 (+.f64 im re) (-.f64 im re))
(*.f64 (fma.f64 (fma.f64 im im (*.f64 re re)) (*.f64 re re) (pow.f64 im #s(literal 4 binary64))) (/.f64 (fma.f64 im im (*.f64 re re)) (fma.f64 (fma.f64 im im (*.f64 re re)) (*.f64 re re) (pow.f64 im #s(literal 4 binary64)))))
(*.f64 (fma.f64 im im (*.f64 re re)) (/.f64 (fma.f64 im im (*.f64 re re)) (fma.f64 im im (*.f64 re re))))
(/.f64 (/.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 re #s(literal 4 binary64))) (neg.f64 (+.f64 im re))) (-.f64 (neg.f64 re) (neg.f64 im)))
(/.f64 (/.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 re #s(literal 4 binary64))) (+.f64 (neg.f64 re) im)) (-.f64 (neg.f64 re) im))
(/.f64 (/.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 re #s(literal 4 binary64))) (+.f64 im re)) (-.f64 im re))
(/.f64 (-.f64 (*.f64 (/.f64 (pow.f64 im #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re))) (/.f64 (pow.f64 im #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re)))) (*.f64 (/.f64 (pow.f64 re #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re))) (/.f64 (pow.f64 re #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re))))) (fma.f64 im im (*.f64 re re)))
(/.f64 (-.f64 (*.f64 (/.f64 (pow.f64 re #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re))) (/.f64 (pow.f64 re #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re)))) (*.f64 (/.f64 (pow.f64 im #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re))) (/.f64 (pow.f64 im #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re))))) (fma.f64 im im (*.f64 re re)))
(/.f64 (-.f64 (*.f64 (/.f64 (pow.f64 im #s(literal 6 binary64)) (fma.f64 (fma.f64 im im (*.f64 re re)) (*.f64 re re) (pow.f64 im #s(literal 4 binary64)))) (/.f64 (pow.f64 im #s(literal 6 binary64)) (fma.f64 (fma.f64 im im (*.f64 re re)) (*.f64 re re) (pow.f64 im #s(literal 4 binary64))))) (*.f64 (/.f64 (pow.f64 re #s(literal 6 binary64)) (fma.f64 (fma.f64 im im (*.f64 re re)) (*.f64 re re) (pow.f64 im #s(literal 4 binary64)))) (/.f64 (pow.f64 re #s(literal 6 binary64)) (fma.f64 (fma.f64 im im (*.f64 re re)) (*.f64 re re) (pow.f64 im #s(literal 4 binary64)))))) (fma.f64 im im (*.f64 re re)))
(/.f64 (-.f64 (*.f64 (/.f64 (pow.f64 re #s(literal 6 binary64)) (fma.f64 (fma.f64 im im (*.f64 re re)) (*.f64 re re) (pow.f64 im #s(literal 4 binary64)))) (/.f64 (pow.f64 re #s(literal 6 binary64)) (fma.f64 (fma.f64 im im (*.f64 re re)) (*.f64 re re) (pow.f64 im #s(literal 4 binary64))))) (*.f64 (/.f64 (pow.f64 im #s(literal 6 binary64)) (fma.f64 (fma.f64 im im (*.f64 re re)) (*.f64 re re) (pow.f64 im #s(literal 4 binary64)))) (/.f64 (pow.f64 im #s(literal 6 binary64)) (fma.f64 (fma.f64 im im (*.f64 re re)) (*.f64 re re) (pow.f64 im #s(literal 4 binary64)))))) (fma.f64 im im (*.f64 re re)))
(/.f64 (-.f64 (pow.f64 (/.f64 (pow.f64 im #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re))) #s(literal 3 binary64)) (pow.f64 (/.f64 (pow.f64 re #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re))) #s(literal 3 binary64))) (fma.f64 (/.f64 (pow.f64 im #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re))) (/.f64 (pow.f64 im #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re))) (fma.f64 (/.f64 (pow.f64 re #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re))) (/.f64 (pow.f64 re #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re))) (*.f64 (/.f64 (pow.f64 im #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re))) (/.f64 (pow.f64 re #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re)))))))
(/.f64 (-.f64 (pow.f64 (/.f64 (pow.f64 re #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re))) #s(literal 3 binary64)) (pow.f64 (/.f64 (pow.f64 im #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re))) #s(literal 3 binary64))) (fma.f64 (/.f64 (pow.f64 re #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re))) (/.f64 (pow.f64 re #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re))) (fma.f64 (/.f64 (pow.f64 im #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re))) (/.f64 (pow.f64 im #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re))) (*.f64 (/.f64 (pow.f64 re #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re))) (/.f64 (pow.f64 im #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re)))))))
(/.f64 (+.f64 (pow.f64 (/.f64 (pow.f64 im #s(literal 6 binary64)) (fma.f64 (fma.f64 im im (*.f64 re re)) (*.f64 re re) (pow.f64 im #s(literal 4 binary64)))) #s(literal 3 binary64)) (pow.f64 (/.f64 (pow.f64 re #s(literal 6 binary64)) (fma.f64 (fma.f64 im im (*.f64 re re)) (*.f64 re re) (pow.f64 im #s(literal 4 binary64)))) #s(literal 3 binary64))) (fma.f64 (/.f64 (pow.f64 im #s(literal 6 binary64)) (fma.f64 (fma.f64 im im (*.f64 re re)) (*.f64 re re) (pow.f64 im #s(literal 4 binary64)))) (/.f64 (pow.f64 im #s(literal 6 binary64)) (fma.f64 (fma.f64 im im (*.f64 re re)) (*.f64 re re) (pow.f64 im #s(literal 4 binary64)))) (-.f64 (*.f64 (/.f64 (pow.f64 re #s(literal 6 binary64)) (fma.f64 (fma.f64 im im (*.f64 re re)) (*.f64 re re) (pow.f64 im #s(literal 4 binary64)))) (/.f64 (pow.f64 re #s(literal 6 binary64)) (fma.f64 (fma.f64 im im (*.f64 re re)) (*.f64 re re) (pow.f64 im #s(literal 4 binary64))))) (*.f64 (/.f64 (pow.f64 im #s(literal 6 binary64)) (fma.f64 (fma.f64 im im (*.f64 re re)) (*.f64 re re) (pow.f64 im #s(literal 4 binary64)))) (/.f64 (pow.f64 re #s(literal 6 binary64)) (fma.f64 (fma.f64 im im (*.f64 re re)) (*.f64 re re) (pow.f64 im #s(literal 4 binary64))))))))
(/.f64 (+.f64 (pow.f64 (/.f64 (pow.f64 re #s(literal 6 binary64)) (fma.f64 (fma.f64 im im (*.f64 re re)) (*.f64 re re) (pow.f64 im #s(literal 4 binary64)))) #s(literal 3 binary64)) (pow.f64 (/.f64 (pow.f64 im #s(literal 6 binary64)) (fma.f64 (fma.f64 im im (*.f64 re re)) (*.f64 re re) (pow.f64 im #s(literal 4 binary64)))) #s(literal 3 binary64))) (fma.f64 (/.f64 (pow.f64 re #s(literal 6 binary64)) (fma.f64 (fma.f64 im im (*.f64 re re)) (*.f64 re re) (pow.f64 im #s(literal 4 binary64)))) (/.f64 (pow.f64 re #s(literal 6 binary64)) (fma.f64 (fma.f64 im im (*.f64 re re)) (*.f64 re re) (pow.f64 im #s(literal 4 binary64)))) (-.f64 (*.f64 (/.f64 (pow.f64 im #s(literal 6 binary64)) (fma.f64 (fma.f64 im im (*.f64 re re)) (*.f64 re re) (pow.f64 im #s(literal 4 binary64)))) (/.f64 (pow.f64 im #s(literal 6 binary64)) (fma.f64 (fma.f64 im im (*.f64 re re)) (*.f64 re re) (pow.f64 im #s(literal 4 binary64))))) (*.f64 (/.f64 (pow.f64 re #s(literal 6 binary64)) (fma.f64 (fma.f64 im im (*.f64 re re)) (*.f64 re re) (pow.f64 im #s(literal 4 binary64)))) (/.f64 (pow.f64 im #s(literal 6 binary64)) (fma.f64 (fma.f64 im im (*.f64 re re)) (*.f64 re re) (pow.f64 im #s(literal 4 binary64))))))))
(/.f64 (-.f64 (*.f64 (pow.f64 im #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re))) (*.f64 (fma.f64 im im (*.f64 re re)) (pow.f64 re #s(literal 4 binary64)))) (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 re #s(literal 4 binary64))))
(/.f64 (-.f64 (*.f64 (pow.f64 re #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re))) (*.f64 (fma.f64 im im (*.f64 re re)) (pow.f64 im #s(literal 4 binary64)))) (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 re #s(literal 4 binary64))))
(/.f64 (fma.f64 (pow.f64 im #s(literal 6 binary64)) (fma.f64 (fma.f64 im im (*.f64 re re)) (*.f64 re re) (pow.f64 im #s(literal 4 binary64))) (*.f64 (fma.f64 (fma.f64 im im (*.f64 re re)) (*.f64 re re) (pow.f64 im #s(literal 4 binary64))) (pow.f64 re #s(literal 6 binary64)))) (-.f64 (pow.f64 im #s(literal 8 binary64)) (-.f64 (pow.f64 re #s(literal 8 binary64)) (pow.f64 (*.f64 im re) #s(literal 4 binary64)))))
(/.f64 (fma.f64 (pow.f64 re #s(literal 6 binary64)) (fma.f64 (fma.f64 im im (*.f64 re re)) (*.f64 re re) (pow.f64 im #s(literal 4 binary64))) (*.f64 (fma.f64 (fma.f64 im im (*.f64 re re)) (*.f64 re re) (pow.f64 im #s(literal 4 binary64))) (pow.f64 im #s(literal 6 binary64)))) (-.f64 (pow.f64 im #s(literal 8 binary64)) (-.f64 (pow.f64 re #s(literal 8 binary64)) (pow.f64 (*.f64 im re) #s(literal 4 binary64)))))
(/.f64 (-.f64 (pow.f64 im #s(literal 8 binary64)) (pow.f64 re #s(literal 8 binary64))) (*.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 re #s(literal 4 binary64))) (fma.f64 im im (*.f64 re re))))
(/.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 re #s(literal 4 binary64))) (fma.f64 im im (*.f64 re re)))
(/.f64 (-.f64 (pow.f64 im #s(literal 12 binary64)) (pow.f64 re #s(literal 12 binary64))) (*.f64 (-.f64 (pow.f64 im #s(literal 6 binary64)) (pow.f64 re #s(literal 6 binary64))) (fma.f64 (fma.f64 im im (*.f64 re re)) (*.f64 re re) (pow.f64 im #s(literal 4 binary64)))))
(/.f64 (-.f64 (pow.f64 im #s(literal 12 binary64)) (pow.f64 re #s(literal 12 binary64))) (*.f64 (-.f64 (pow.f64 im #s(literal 8 binary64)) (-.f64 (pow.f64 re #s(literal 8 binary64)) (pow.f64 (*.f64 im re) #s(literal 4 binary64)))) (fma.f64 im im (*.f64 re re))))
(/.f64 (+.f64 (pow.f64 im #s(literal 18 binary64)) (pow.f64 re #s(literal 18 binary64))) (*.f64 (-.f64 (-.f64 (pow.f64 im #s(literal 12 binary64)) (pow.f64 re #s(literal 12 binary64))) (pow.f64 (*.f64 im re) #s(literal 6 binary64))) (fma.f64 (fma.f64 im im (*.f64 re re)) (*.f64 re re) (pow.f64 im #s(literal 4 binary64)))))
(/.f64 (-.f64 (pow.f64 im #s(literal 6 binary64)) (pow.f64 re #s(literal 6 binary64))) (fma.f64 (fma.f64 im im (*.f64 re re)) (*.f64 re re) (pow.f64 im #s(literal 4 binary64))))
(neg.f64 (fma.f64 (neg.f64 re) re (*.f64 (neg.f64 im) im)))
(neg.f64 (fma.f64 (neg.f64 im) im (*.f64 (neg.f64 re) re)))
(neg.f64 (fma.f64 im im (*.f64 re re)))
(fma.f64 (/.f64 (pow.f64 im #s(literal 4 binary64)) (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 re #s(literal 4 binary64)))) (fma.f64 im im (*.f64 re re)) (/.f64 (pow.f64 re #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re))))
(fma.f64 (/.f64 (pow.f64 re #s(literal 6 binary64)) (fma.f64 (pow.f64 im #s(literal 6 binary64)) (pow.f64 (fma.f64 im im (*.f64 re re)) #s(literal 3 binary64)) (pow.f64 re #s(literal 12 binary64)))) (fma.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 (*.f64 im re) #s(literal 2 binary64))) (fma.f64 (fma.f64 im im (*.f64 re re)) (*.f64 re re) (pow.f64 im #s(literal 4 binary64))) (pow.f64 re #s(literal 8 binary64))) (/.f64 (pow.f64 im #s(literal 6 binary64)) (fma.f64 (fma.f64 im im (*.f64 re re)) (*.f64 re re) (pow.f64 im #s(literal 4 binary64)))))
(fma.f64 (/.f64 (pow.f64 im #s(literal 6 binary64)) (-.f64 (pow.f64 im #s(literal 8 binary64)) (-.f64 (pow.f64 re #s(literal 8 binary64)) (pow.f64 (*.f64 im re) #s(literal 4 binary64))))) (fma.f64 (fma.f64 im im (*.f64 re re)) (*.f64 re re) (pow.f64 im #s(literal 4 binary64))) (/.f64 (pow.f64 re #s(literal 6 binary64)) (fma.f64 (fma.f64 im im (*.f64 re re)) (*.f64 re re) (pow.f64 im #s(literal 4 binary64)))))
(fma.f64 (/.f64 (pow.f64 im #s(literal 6 binary64)) (fma.f64 (pow.f64 re #s(literal 6 binary64)) (pow.f64 (fma.f64 im im (*.f64 re re)) #s(literal 3 binary64)) (pow.f64 im #s(literal 12 binary64)))) (fma.f64 (-.f64 (pow.f64 re #s(literal 4 binary64)) (pow.f64 (*.f64 im re) #s(literal 2 binary64))) (fma.f64 (fma.f64 im im (*.f64 re re)) (*.f64 re re) (pow.f64 im #s(literal 4 binary64))) (pow.f64 im #s(literal 8 binary64))) (/.f64 (pow.f64 re #s(literal 6 binary64)) (fma.f64 (fma.f64 im im (*.f64 re re)) (*.f64 re re) (pow.f64 im #s(literal 4 binary64)))))
(fma.f64 (/.f64 (pow.f64 re #s(literal 6 binary64)) (-.f64 (pow.f64 im #s(literal 8 binary64)) (-.f64 (pow.f64 re #s(literal 8 binary64)) (pow.f64 (*.f64 im re) #s(literal 4 binary64))))) (fma.f64 (fma.f64 im im (*.f64 re re)) (*.f64 re re) (pow.f64 im #s(literal 4 binary64))) (/.f64 (pow.f64 im #s(literal 6 binary64)) (fma.f64 (fma.f64 im im (*.f64 re re)) (*.f64 re re) (pow.f64 im #s(literal 4 binary64)))))
(fma.f64 (/.f64 (pow.f64 re #s(literal 6 binary64)) (fma.f64 (pow.f64 re #s(literal 6 binary64)) (pow.f64 (fma.f64 im im (*.f64 re re)) #s(literal 3 binary64)) (pow.f64 im #s(literal 12 binary64)))) (fma.f64 (-.f64 (pow.f64 re #s(literal 4 binary64)) (pow.f64 (*.f64 im re) #s(literal 2 binary64))) (fma.f64 (fma.f64 im im (*.f64 re re)) (*.f64 re re) (pow.f64 im #s(literal 4 binary64))) (pow.f64 im #s(literal 8 binary64))) (/.f64 (pow.f64 im #s(literal 6 binary64)) (fma.f64 (fma.f64 im im (*.f64 re re)) (*.f64 re re) (pow.f64 im #s(literal 4 binary64)))))
(fma.f64 (/.f64 (pow.f64 im #s(literal 4 binary64)) (-.f64 (pow.f64 im #s(literal 6 binary64)) (pow.f64 re #s(literal 6 binary64)))) (fma.f64 (fma.f64 im im (*.f64 re re)) (*.f64 re re) (pow.f64 im #s(literal 4 binary64))) (/.f64 (pow.f64 re #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re))))
(fma.f64 (/.f64 (pow.f64 re #s(literal 4 binary64)) (-.f64 (pow.f64 im #s(literal 6 binary64)) (pow.f64 re #s(literal 6 binary64)))) (fma.f64 (fma.f64 im im (*.f64 re re)) (*.f64 re re) (pow.f64 im #s(literal 4 binary64))) (/.f64 (pow.f64 im #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re))))
(fma.f64 (/.f64 (pow.f64 re #s(literal 4 binary64)) (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 re #s(literal 4 binary64)))) (fma.f64 im im (*.f64 re re)) (/.f64 (pow.f64 im #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re))))
(fma.f64 (/.f64 (pow.f64 im #s(literal 6 binary64)) (fma.f64 (pow.f64 im #s(literal 6 binary64)) (pow.f64 (fma.f64 im im (*.f64 re re)) #s(literal 3 binary64)) (pow.f64 re #s(literal 12 binary64)))) (fma.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 (*.f64 im re) #s(literal 2 binary64))) (fma.f64 (fma.f64 im im (*.f64 re re)) (*.f64 re re) (pow.f64 im #s(literal 4 binary64))) (pow.f64 re #s(literal 8 binary64))) (/.f64 (pow.f64 re #s(literal 6 binary64)) (fma.f64 (fma.f64 im im (*.f64 re re)) (*.f64 re re) (pow.f64 im #s(literal 4 binary64)))))
(fma.f64 (/.f64 (pow.f64 im #s(literal 3 binary64)) (+.f64 (neg.f64 re) im)) (/.f64 (neg.f64 im) (-.f64 (neg.f64 re) im)) (/.f64 (pow.f64 re #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re))))
(fma.f64 (/.f64 (pow.f64 im #s(literal 3 binary64)) (+.f64 (neg.f64 re) im)) (/.f64 im (-.f64 (neg.f64 re) im)) (/.f64 (pow.f64 re #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re))))
(fma.f64 (/.f64 (pow.f64 im #s(literal 3 binary64)) (+.f64 im re)) (/.f64 (neg.f64 im) (-.f64 im re)) (/.f64 (pow.f64 re #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re))))
(fma.f64 (/.f64 (pow.f64 im #s(literal 3 binary64)) (+.f64 im re)) (/.f64 im (-.f64 im re)) (/.f64 (pow.f64 re #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re))))
(fma.f64 (/.f64 (*.f64 (neg.f64 im) im) (+.f64 (neg.f64 re) im)) (/.f64 (*.f64 (neg.f64 im) im) (-.f64 (neg.f64 re) im)) (/.f64 (pow.f64 re #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re))))
(fma.f64 (/.f64 (*.f64 (neg.f64 im) im) (+.f64 im re)) (/.f64 (*.f64 (neg.f64 im) im) (-.f64 im re)) (/.f64 (pow.f64 re #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re))))
(fma.f64 (/.f64 (neg.f64 im) (+.f64 (neg.f64 re) im)) (/.f64 (pow.f64 im #s(literal 3 binary64)) (-.f64 (neg.f64 re) im)) (/.f64 (pow.f64 re #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re))))
(fma.f64 (/.f64 (neg.f64 im) (+.f64 im re)) (/.f64 (pow.f64 im #s(literal 3 binary64)) (-.f64 im re)) (/.f64 (pow.f64 re #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re))))
(fma.f64 (/.f64 (*.f64 im im) (+.f64 (neg.f64 re) im)) (/.f64 (*.f64 im im) (-.f64 (neg.f64 re) im)) (/.f64 (pow.f64 re #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re))))
(fma.f64 (/.f64 (*.f64 im im) (+.f64 im re)) (/.f64 (*.f64 im im) (-.f64 im re)) (/.f64 (pow.f64 re #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re))))
(fma.f64 (/.f64 im (+.f64 (neg.f64 re) im)) (/.f64 (pow.f64 im #s(literal 3 binary64)) (-.f64 (neg.f64 re) im)) (/.f64 (pow.f64 re #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re))))
(fma.f64 (/.f64 im (+.f64 im re)) (/.f64 (pow.f64 im #s(literal 3 binary64)) (-.f64 im re)) (/.f64 (pow.f64 re #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re))))
(fma.f64 (/.f64 (pow.f64 re #s(literal 3 binary64)) (neg.f64 (+.f64 im re))) (/.f64 (neg.f64 re) (-.f64 (neg.f64 re) (neg.f64 im))) (/.f64 (pow.f64 im #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re))))
(fma.f64 (/.f64 (pow.f64 re #s(literal 3 binary64)) (neg.f64 (+.f64 im re))) (/.f64 re (-.f64 (neg.f64 re) (neg.f64 im))) (/.f64 (pow.f64 im #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re))))
(fma.f64 (/.f64 (*.f64 (neg.f64 re) re) (neg.f64 (+.f64 im re))) (/.f64 (*.f64 (neg.f64 re) re) (-.f64 (neg.f64 re) (neg.f64 im))) (/.f64 (pow.f64 im #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re))))
(fma.f64 (/.f64 (neg.f64 re) (neg.f64 (+.f64 im re))) (/.f64 (pow.f64 re #s(literal 3 binary64)) (-.f64 (neg.f64 re) (neg.f64 im))) (/.f64 (pow.f64 im #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re))))
(fma.f64 (/.f64 (*.f64 re re) (neg.f64 (+.f64 im re))) (/.f64 (*.f64 re re) (-.f64 (neg.f64 re) (neg.f64 im))) (/.f64 (pow.f64 im #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re))))
(fma.f64 (/.f64 re (neg.f64 (+.f64 im re))) (/.f64 (pow.f64 re #s(literal 3 binary64)) (-.f64 (neg.f64 re) (neg.f64 im))) (/.f64 (pow.f64 im #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re))))
(fma.f64 (/.f64 (pow.f64 im #s(literal 3 binary64)) (neg.f64 (+.f64 im re))) (/.f64 (neg.f64 im) (-.f64 (neg.f64 re) (neg.f64 im))) (/.f64 (pow.f64 re #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re))))
(fma.f64 (/.f64 (pow.f64 im #s(literal 3 binary64)) (neg.f64 (+.f64 im re))) (/.f64 im (-.f64 (neg.f64 re) (neg.f64 im))) (/.f64 (pow.f64 re #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re))))
(fma.f64 (/.f64 (*.f64 (neg.f64 im) im) (neg.f64 (+.f64 im re))) (/.f64 (*.f64 (neg.f64 im) im) (-.f64 (neg.f64 re) (neg.f64 im))) (/.f64 (pow.f64 re #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re))))
(fma.f64 (/.f64 (neg.f64 im) (neg.f64 (+.f64 im re))) (/.f64 (pow.f64 im #s(literal 3 binary64)) (-.f64 (neg.f64 re) (neg.f64 im))) (/.f64 (pow.f64 re #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re))))
(fma.f64 (/.f64 (*.f64 im im) (neg.f64 (+.f64 im re))) (/.f64 (*.f64 im im) (-.f64 (neg.f64 re) (neg.f64 im))) (/.f64 (pow.f64 re #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re))))
(fma.f64 (/.f64 im (neg.f64 (+.f64 im re))) (/.f64 (pow.f64 im #s(literal 3 binary64)) (-.f64 (neg.f64 re) (neg.f64 im))) (/.f64 (pow.f64 re #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re))))
(fma.f64 (/.f64 (pow.f64 re #s(literal 3 binary64)) (+.f64 (neg.f64 re) im)) (/.f64 (neg.f64 re) (-.f64 (neg.f64 re) im)) (/.f64 (pow.f64 im #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re))))
(fma.f64 (/.f64 (pow.f64 re #s(literal 3 binary64)) (+.f64 (neg.f64 re) im)) (/.f64 re (-.f64 (neg.f64 re) im)) (/.f64 (pow.f64 im #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re))))
(fma.f64 (/.f64 (pow.f64 re #s(literal 3 binary64)) (+.f64 im re)) (/.f64 (neg.f64 re) (-.f64 im re)) (/.f64 (pow.f64 im #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re))))
(fma.f64 (/.f64 (pow.f64 re #s(literal 3 binary64)) (+.f64 im re)) (/.f64 re (-.f64 im re)) (/.f64 (pow.f64 im #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re))))
(fma.f64 (/.f64 (*.f64 (neg.f64 re) re) (+.f64 (neg.f64 re) im)) (/.f64 (*.f64 (neg.f64 re) re) (-.f64 (neg.f64 re) im)) (/.f64 (pow.f64 im #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re))))
(fma.f64 (/.f64 (*.f64 (neg.f64 re) re) (+.f64 im re)) (/.f64 (*.f64 (neg.f64 re) re) (-.f64 im re)) (/.f64 (pow.f64 im #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re))))
(fma.f64 (/.f64 (neg.f64 re) (+.f64 (neg.f64 re) im)) (/.f64 (pow.f64 re #s(literal 3 binary64)) (-.f64 (neg.f64 re) im)) (/.f64 (pow.f64 im #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re))))
(fma.f64 (/.f64 (neg.f64 re) (+.f64 im re)) (/.f64 (pow.f64 re #s(literal 3 binary64)) (-.f64 im re)) (/.f64 (pow.f64 im #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re))))
(fma.f64 (/.f64 (*.f64 re re) (+.f64 (neg.f64 re) im)) (/.f64 (*.f64 re re) (-.f64 (neg.f64 re) im)) (/.f64 (pow.f64 im #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re))))
(fma.f64 (/.f64 (*.f64 re re) (+.f64 im re)) (/.f64 (*.f64 re re) (-.f64 im re)) (/.f64 (pow.f64 im #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re))))
(fma.f64 (/.f64 re (+.f64 (neg.f64 re) im)) (/.f64 (pow.f64 re #s(literal 3 binary64)) (-.f64 (neg.f64 re) im)) (/.f64 (pow.f64 im #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re))))
(fma.f64 (/.f64 re (+.f64 im re)) (/.f64 (pow.f64 re #s(literal 3 binary64)) (-.f64 im re)) (/.f64 (pow.f64 im #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re))))
(fma.f64 (exp.f64 (log.f64 re)) (exp.f64 (log.f64 re)) (*.f64 (neg.f64 im) im))
(fma.f64 (exp.f64 (log.f64 re)) (exp.f64 (log.f64 re)) (*.f64 im im))
(fma.f64 (exp.f64 (log.f64 im)) (exp.f64 (log.f64 im)) (*.f64 (neg.f64 re) re))
(fma.f64 (exp.f64 (log.f64 im)) (exp.f64 (log.f64 im)) (*.f64 re re))
(fma.f64 (pow.f64 im #s(literal 3 binary64)) (/.f64 (neg.f64 im) (fma.f64 im im (*.f64 re re))) (/.f64 (pow.f64 re #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re))))
(fma.f64 (pow.f64 im #s(literal 3 binary64)) (/.f64 im (fma.f64 im im (*.f64 re re))) (/.f64 (pow.f64 re #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re))))
(fma.f64 (pow.f64 im #s(literal 3 binary64)) (/.f64 (pow.f64 im #s(literal 3 binary64)) (fma.f64 (fma.f64 im im (*.f64 re re)) (*.f64 re re) (pow.f64 im #s(literal 4 binary64)))) (/.f64 (pow.f64 re #s(literal 6 binary64)) (fma.f64 (fma.f64 im im (*.f64 re re)) (*.f64 re re) (pow.f64 im #s(literal 4 binary64)))))
(fma.f64 (pow.f64 re #s(literal 3 binary64)) (/.f64 (neg.f64 re) (fma.f64 im im (*.f64 re re))) (/.f64 (pow.f64 im #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re))))
(fma.f64 (pow.f64 re #s(literal 3 binary64)) (/.f64 re (fma.f64 im im (*.f64 re re))) (/.f64 (pow.f64 im #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re))))
(fma.f64 (pow.f64 re #s(literal 3 binary64)) (/.f64 (pow.f64 re #s(literal 3 binary64)) (fma.f64 (fma.f64 im im (*.f64 re re)) (*.f64 re re) (pow.f64 im #s(literal 4 binary64)))) (/.f64 (pow.f64 im #s(literal 6 binary64)) (fma.f64 (fma.f64 im im (*.f64 re re)) (*.f64 re re) (pow.f64 im #s(literal 4 binary64)))))
(fma.f64 (*.f64 (neg.f64 re) re) (/.f64 (*.f64 (neg.f64 re) re) (fma.f64 im im (*.f64 re re))) (/.f64 (pow.f64 im #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re))))
(fma.f64 (*.f64 (neg.f64 im) im) (/.f64 (*.f64 (neg.f64 im) im) (fma.f64 im im (*.f64 re re))) (/.f64 (pow.f64 re #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re))))
(fma.f64 (pow.f64 im #s(literal 4 binary64)) (/.f64 (*.f64 im im) (fma.f64 (fma.f64 im im (*.f64 re re)) (*.f64 re re) (pow.f64 im #s(literal 4 binary64)))) (/.f64 (pow.f64 re #s(literal 6 binary64)) (fma.f64 (fma.f64 im im (*.f64 re re)) (*.f64 re re) (pow.f64 im #s(literal 4 binary64)))))
(fma.f64 (pow.f64 re #s(literal 4 binary64)) (/.f64 (*.f64 re re) (fma.f64 (fma.f64 im im (*.f64 re re)) (*.f64 re re) (pow.f64 im #s(literal 4 binary64)))) (/.f64 (pow.f64 im #s(literal 6 binary64)) (fma.f64 (fma.f64 im im (*.f64 re re)) (*.f64 re re) (pow.f64 im #s(literal 4 binary64)))))
(fma.f64 (neg.f64 re) (/.f64 (pow.f64 re #s(literal 3 binary64)) (fma.f64 im im (*.f64 re re))) (/.f64 (pow.f64 im #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re))))
(fma.f64 (neg.f64 re) (neg.f64 re) (*.f64 (neg.f64 im) im))
(fma.f64 (neg.f64 re) (neg.f64 re) (*.f64 im im))
(fma.f64 (neg.f64 re) re (*.f64 im im))
(fma.f64 (neg.f64 im) (/.f64 (pow.f64 im #s(literal 3 binary64)) (fma.f64 im im (*.f64 re re))) (/.f64 (pow.f64 re #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re))))
(fma.f64 (neg.f64 im) (neg.f64 im) (*.f64 (neg.f64 re) re))
(fma.f64 (neg.f64 im) (neg.f64 im) (*.f64 re re))
(fma.f64 (neg.f64 im) im (*.f64 re re))
(fma.f64 (*.f64 re re) (/.f64 (*.f64 re re) (fma.f64 im im (*.f64 re re))) (/.f64 (pow.f64 im #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re))))
(fma.f64 (*.f64 re re) (/.f64 (pow.f64 re #s(literal 4 binary64)) (fma.f64 (fma.f64 im im (*.f64 re re)) (*.f64 re re) (pow.f64 im #s(literal 4 binary64)))) (/.f64 (pow.f64 im #s(literal 6 binary64)) (fma.f64 (fma.f64 im im (*.f64 re re)) (*.f64 re re) (pow.f64 im #s(literal 4 binary64)))))
(fma.f64 (*.f64 im im) (/.f64 (*.f64 im im) (fma.f64 im im (*.f64 re re))) (/.f64 (pow.f64 re #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re))))
(fma.f64 (*.f64 im im) (/.f64 (pow.f64 im #s(literal 4 binary64)) (fma.f64 (fma.f64 im im (*.f64 re re)) (*.f64 re re) (pow.f64 im #s(literal 4 binary64)))) (/.f64 (pow.f64 re #s(literal 6 binary64)) (fma.f64 (fma.f64 im im (*.f64 re re)) (*.f64 re re) (pow.f64 im #s(literal 4 binary64)))))
(fma.f64 im (/.f64 (pow.f64 im #s(literal 3 binary64)) (fma.f64 im im (*.f64 re re))) (/.f64 (pow.f64 re #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re))))
(fma.f64 im (neg.f64 im) (*.f64 re re))
(fma.f64 im im (*.f64 (neg.f64 re) re))
(fma.f64 im im (*.f64 re re))
(fma.f64 re (/.f64 (pow.f64 re #s(literal 3 binary64)) (fma.f64 im im (*.f64 re re))) (/.f64 (pow.f64 im #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re))))
(fma.f64 re (neg.f64 re) (*.f64 im im))
(fma.f64 re re (*.f64 (neg.f64 im) im))
(fma.f64 re re (*.f64 im im))
(-.f64 (/.f64 (pow.f64 im #s(literal 6 binary64)) (fma.f64 (fma.f64 im im (*.f64 re re)) (*.f64 re re) (pow.f64 im #s(literal 4 binary64)))) (/.f64 (pow.f64 re #s(literal 6 binary64)) (fma.f64 (fma.f64 im im (*.f64 re re)) (*.f64 re re) (pow.f64 im #s(literal 4 binary64)))))
(-.f64 (/.f64 (pow.f64 re #s(literal 6 binary64)) (fma.f64 (fma.f64 im im (*.f64 re re)) (*.f64 re re) (pow.f64 im #s(literal 4 binary64)))) (/.f64 (pow.f64 im #s(literal 6 binary64)) (fma.f64 (fma.f64 im im (*.f64 re re)) (*.f64 re re) (pow.f64 im #s(literal 4 binary64)))))
(-.f64 (/.f64 (pow.f64 im #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re))) (/.f64 (pow.f64 re #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re))))
(-.f64 (/.f64 (pow.f64 re #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re))) (/.f64 (pow.f64 im #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re))))
(-.f64 (*.f64 re re) (*.f64 (neg.f64 im) im))
(-.f64 (*.f64 re re) (*.f64 im im))
(-.f64 (*.f64 im im) (*.f64 (neg.f64 re) re))
(-.f64 (*.f64 im im) (*.f64 re re))
(+.f64 (/.f64 (pow.f64 im #s(literal 6 binary64)) (fma.f64 (fma.f64 im im (*.f64 re re)) (*.f64 re re) (pow.f64 im #s(literal 4 binary64)))) (/.f64 (pow.f64 re #s(literal 6 binary64)) (fma.f64 (fma.f64 im im (*.f64 re re)) (*.f64 re re) (pow.f64 im #s(literal 4 binary64)))))
(+.f64 (/.f64 (pow.f64 re #s(literal 6 binary64)) (fma.f64 (fma.f64 im im (*.f64 re re)) (*.f64 re re) (pow.f64 im #s(literal 4 binary64)))) (/.f64 (pow.f64 im #s(literal 6 binary64)) (fma.f64 (fma.f64 im im (*.f64 re re)) (*.f64 re re) (pow.f64 im #s(literal 4 binary64)))))
(+.f64 (/.f64 (pow.f64 im #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re))) (/.f64 (pow.f64 re #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re))))
(+.f64 (/.f64 (pow.f64 re #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re))) (/.f64 (pow.f64 im #s(literal 4 binary64)) (fma.f64 im im (*.f64 re re))))
(+.f64 (*.f64 (neg.f64 re) re) (*.f64 im im))
(+.f64 (*.f64 (neg.f64 im) im) (*.f64 re re))
(+.f64 (*.f64 re re) (*.f64 (neg.f64 im) im))
(+.f64 (*.f64 re re) (*.f64 im im))
(+.f64 (*.f64 im im) (*.f64 (neg.f64 re) re))
(+.f64 (*.f64 im im) (*.f64 re re))
(*.f64 (exp.f64 (log.f64 re)) (exp.f64 (log.f64 re)))
(*.f64 (neg.f64 re) (neg.f64 re))
(*.f64 re re)
(pow.f64 (exp.f64 (log.f64 re)) #s(literal 2 binary64))
(pow.f64 (neg.f64 re) #s(literal 2 binary64))
(pow.f64 (*.f64 re re) #s(literal 1 binary64))
(pow.f64 re #s(literal 2 binary64))
(neg.f64 (*.f64 (neg.f64 re) re))
(sqrt.f64 (pow.f64 re #s(literal 4 binary64)))
(fabs.f64 (*.f64 (neg.f64 re) re))
(fabs.f64 (*.f64 re re))
(exp.f64 (*.f64 (log.f64 (neg.f64 re)) #s(literal 2 binary64)))
(exp.f64 (*.f64 (log.f64 re) #s(literal 2 binary64)))
(+.f64 (cosh.f64 (*.f64 (log.f64 re) #s(literal 2 binary64))) (sinh.f64 (*.f64 (log.f64 re) #s(literal 2 binary64))))

eval63.0ms (1.4%)

Memory
-29.3MiB live, 100.3MiB allocated; 37ms collecting garbage
Compiler

Compiled 7 449 to 1 175 computations (84.2% saved)

prune5.0ms (0.1%)

Memory
25.3MiB live, 25.3MiB allocated; 0ms collecting garbage
Pruning

4 alts after pruning (1 fresh and 3 done)

PrunedKeptTotal
New2871288
Fresh000
Picked033
Done000
Total2874291
Accuracy
100.0%
Counts
291 → 4
Alt Table
Click to see full alt table
StatusAccuracyProgram
51.0%
(*.f64 (log.f64 (fma.f64 im im (*.f64 re re))) #s(literal 1/2 binary64))
100.0%
(log.f64 (hypot.f64 re im))
99.2%
#s(approx (log (sqrt (+ (* re re) (* im im)))) (fma.f64 (/.f64 (*.f64 #s(literal 1/2 binary64) re) im) (/.f64 re im) (log.f64 im)))
98.8%
#s(approx (log (sqrt (+ (* re re) (* im im)))) (log.f64 im))
Compiler

Compiled 46 to 34 computations (26.1% saved)

simplify35.0ms (0.8%)

Memory
13.4MiB live, 59.3MiB allocated; 10ms collecting garbage
Localize:

Found 4 expressions of interest:

NewMetricScoreProgram
cost-diff0
(*.f64 #s(literal 1/2 binary64) re)
cost-diff0
(/.f64 (*.f64 #s(literal 1/2 binary64) re) im)
cost-diff0
(fma.f64 (/.f64 (*.f64 #s(literal 1/2 binary64) re) im) (/.f64 re im) (log.f64 im))
cost-diff0
#s(approx (log (sqrt (+ (* re re) (* im im)))) (fma.f64 (/.f64 (*.f64 #s(literal 1/2 binary64) re) im) (/.f64 re im) (log.f64 im)))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01448
02048
13948
210148
321948
448748
5102048
6179848
7193648
0193643
Stop Event
iter limit
saturated
iter limit
Calls
Call 1
Inputs
#s(approx (log (sqrt (+ (* re re) (* im im)))) (fma.f64 (/.f64 (*.f64 #s(literal 1/2 binary64) re) im) (/.f64 re im) (log.f64 im)))
(fma.f64 (/.f64 (*.f64 #s(literal 1/2 binary64) re) im) (/.f64 re im) (log.f64 im))
(/.f64 (*.f64 #s(literal 1/2 binary64) re) im)
(*.f64 #s(literal 1/2 binary64) re)
#s(literal 1/2 binary64)
re
im
(/.f64 re im)
(log.f64 im)
Outputs
#s(approx (log (sqrt (+ (* re re) (* im im)))) (fma.f64 (/.f64 (*.f64 #s(literal 1/2 binary64) re) im) (/.f64 re im) (log.f64 im)))
#s(approx (log (sqrt (+ (* re re) (* im im)))) (fma.f64 (/.f64 (/.f64 #s(literal 1/2 binary64) im) im) (*.f64 re re) (log.f64 im)))
(fma.f64 (/.f64 (*.f64 #s(literal 1/2 binary64) re) im) (/.f64 re im) (log.f64 im))
(fma.f64 (/.f64 (/.f64 #s(literal 1/2 binary64) im) im) (*.f64 re re) (log.f64 im))
(/.f64 (*.f64 #s(literal 1/2 binary64) re) im)
(*.f64 #s(literal 1/2 binary64) re)
#s(literal 1/2 binary64)
re
im
(/.f64 re im)
(log.f64 im)

localize157.0ms (3.5%)

Memory
-32.2MiB live, 181.9MiB allocated; 140ms collecting garbage
Localize:

Found 4 expressions of interest:

NewMetricScoreProgram
accuracy0.0
(*.f64 #s(literal 1/2 binary64) re)
accuracy0.0
(log.f64 im)
accuracy0.0078125
(fma.f64 (/.f64 (*.f64 #s(literal 1/2 binary64) re) im) (/.f64 re im) (log.f64 im))
accuracy0.5029893607426722
#s(approx (log (sqrt (+ (* re re) (* im im)))) (fma.f64 (/.f64 (*.f64 #s(literal 1/2 binary64) re) im) (/.f64 re im) (log.f64 im)))
Samples
146.0ms256×0valid
Compiler

Compiled 39 to 13 computations (66.7% saved)

Precisions
Click to see histograms. Total time spent on operations: 138.0ms
ival-div: 74.0ms (53.7% of total)
ival-log: 55.0ms (39.9% of total)
ival-hypot: 4.0ms (2.9% of total)
ival-mult: 3.0ms (2.2% of total)
ival-add: 1.0ms (0.7% of total)
adjust: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)
ival-true: 0.0ms (0% of total)
exact: 0.0ms (0% of total)

series51.0ms (1.1%)

Memory
11.9MiB live, 111.6MiB allocated; 23ms collecting garbage
Counts
5 → 31
Calls
Call 1
Inputs
#s(approx (log (sqrt (+ (* re re) (* im im)))) (fma.f64 (/.f64 (*.f64 #s(literal 1/2 binary64) re) im) (/.f64 re im) (log.f64 im)))
(fma.f64 (/.f64 (*.f64 #s(literal 1/2 binary64) re) im) (/.f64 re im) (log.f64 im))
(/.f64 (*.f64 #s(literal 1/2 binary64) re) im)
(*.f64 #s(literal 1/2 binary64) re)
(log.f64 im)
Outputs
(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/2 (/ re im))
(* 1/2 re)
(* -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/2 (/ (pow re 2) (pow im 2)))
(* (pow re 2) (+ (* 1/2 (/ 1 (pow im 2))) (/ (log im) (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/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/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))))))
(+ (log -1) (* -1 (log (/ -1 im))))
(+ (log -1) (+ (* -1 (log (/ -1 im))) (* 1/2 (/ (pow re 2) (pow im 2)))))
Calls

6 calls:

TimeVariablePointExpression
17.0ms
re
@inf
((log (sqrt (+ (* re re) (* im im)))) (+ (* (/ (* 1/2 re) im) (/ re im)) (log im)) (/ (* 1/2 re) im) (* 1/2 re) (log im))
10.0ms
im
@inf
((log (sqrt (+ (* re re) (* im im)))) (+ (* (/ (* 1/2 re) im) (/ re im)) (log im)) (/ (* 1/2 re) im) (* 1/2 re) (log im))
8.0ms
im
@0
((log (sqrt (+ (* re re) (* im im)))) (+ (* (/ (* 1/2 re) im) (/ re im)) (log im)) (/ (* 1/2 re) im) (* 1/2 re) (log im))
8.0ms
im
@-inf
((log (sqrt (+ (* re re) (* im im)))) (+ (* (/ (* 1/2 re) im) (/ re im)) (log im)) (/ (* 1/2 re) im) (* 1/2 re) (log im))
5.0ms
re
@0
((log (sqrt (+ (* re re) (* im im)))) (+ (* (/ (* 1/2 re) im) (/ re im)) (log im)) (/ (* 1/2 re) im) (* 1/2 re) (log im))

simplify247.0ms (5.5%)

Memory
-30.8MiB live, 200.6MiB allocated; 24ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0117527
1321506
21069495
34653495
08386465
Stop Event
iter limit
node limit
Counts
31 → 31
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/2 (/ re im))
(* 1/2 re)
(* -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/2 (/ (pow re 2) (pow im 2)))
(* (pow re 2) (+ (* 1/2 (/ 1 (pow im 2))) (/ (log im) (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/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/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))))))
(+ (log -1) (* -1 (log (/ -1 im))))
(+ (log -1) (+ (* -1 (log (/ -1 im))) (* 1/2 (/ (pow re 2) (pow im 2)))))
Outputs
(log im)
(log.f64 im)
(+ (log im) (* 1/2 (/ (pow re 2) (pow im 2))))
(fma.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) (*.f64 im im)) re) re (log.f64 im))
(+ (log im) (* (pow re 2) (+ (* -1/4 (/ (pow re 2) (pow im 4))) (* 1/2 (/ 1 (pow im 2))))))
(fma.f64 (pow.f64 re #s(literal 4 binary64)) (/.f64 #s(literal -1/4 binary64) (pow.f64 im #s(literal 4 binary64))) (fma.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) (*.f64 im im)) re) re (log.f64 im)))
(+ (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))))))
(fma.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) (*.f64 im im)) re) re (fma.f64 (pow.f64 re #s(literal 4 binary64)) (fma.f64 (*.f64 #s(literal 1/6 binary64) re) (/.f64 re (pow.f64 im #s(literal 6 binary64))) (/.f64 #s(literal -1/4 binary64) (pow.f64 im #s(literal 4 binary64)))) (log.f64 im)))
(* 1/2 (/ re im))
(*.f64 (/.f64 re im) #s(literal 1/2 binary64))
(* 1/2 re)
(*.f64 #s(literal 1/2 binary64) re)
(* -1 (log (/ 1 re)))
(log.f64 re)
(+ (* -1 (log (/ 1 re))) (* 1/2 (/ (pow im 2) (pow re 2))))
(fma.f64 (*.f64 #s(literal 1/2 binary64) (/.f64 im re)) (/.f64 im re) (log.f64 re))
(+ (* -1 (log (/ 1 re))) (+ (* -1/4 (/ (pow im 4) (pow re 4))) (* 1/2 (/ (pow im 2) (pow re 2)))))
(fma.f64 (*.f64 #s(literal 1/2 binary64) (/.f64 im re)) (/.f64 im re) (fma.f64 (/.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 re #s(literal 4 binary64))) #s(literal -1/4 binary64) (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))))))
(fma.f64 (*.f64 #s(literal 1/2 binary64) (/.f64 im re)) (/.f64 im re) (+.f64 (fma.f64 (pow.f64 im #s(literal 4 binary64)) (/.f64 #s(literal -1/4 binary64) (pow.f64 re #s(literal 4 binary64))) (/.f64 (*.f64 (pow.f64 im #s(literal 6 binary64)) #s(literal 1/6 binary64)) (pow.f64 re #s(literal 6 binary64)))) (log.f64 re)))
(* 1/2 (/ (pow re 2) (pow im 2)))
(*.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) (*.f64 im im)) re) re)
(* (pow re 2) (+ (* 1/2 (/ 1 (pow im 2))) (/ (log im) (pow re 2))))
(*.f64 (-.f64 (/.f64 (/.f64 (log.f64 im) re) re) (/.f64 #s(literal -1/2 binary64) (*.f64 im im))) (*.f64 re re))
(* -1 (log (/ -1 re)))
(neg.f64 (log.f64 (/.f64 #s(literal -1 binary64) re)))
(+ (* -1 (log (/ -1 re))) (* 1/2 (/ (pow im 2) (pow re 2))))
(fma.f64 (*.f64 (/.f64 (/.f64 im re) re) im) #s(literal 1/2 binary64) (neg.f64 (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)))))
(neg.f64 (fma.f64 (fma.f64 (*.f64 #s(literal 1/4 binary64) im) (/.f64 im (pow.f64 re #s(literal 4 binary64))) (/.f64 #s(literal -1/2 binary64) (*.f64 re re))) (*.f64 im im) (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))))))
(fma.f64 (*.f64 (fma.f64 (*.f64 (/.f64 #s(literal -1/4 binary64) (pow.f64 re #s(literal 4 binary64))) im) im (/.f64 #s(literal 1/2 binary64) (*.f64 re re))) im) im (-.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))))
(log re)
(log.f64 re)
(+ (log re) (* 1/2 (/ (pow im 2) (pow re 2))))
(fma.f64 (*.f64 #s(literal 1/2 binary64) (/.f64 im re)) (/.f64 im re) (log.f64 re))
(+ (log re) (* (pow im 2) (+ (* -1/4 (/ (pow im 2) (pow re 4))) (* 1/2 (/ 1 (pow re 2))))))
(fma.f64 (*.f64 #s(literal 1/2 binary64) (/.f64 im re)) (/.f64 im re) (fma.f64 (/.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 re #s(literal 4 binary64))) #s(literal -1/4 binary64) (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))))))
(fma.f64 (*.f64 #s(literal 1/2 binary64) (/.f64 im re)) (/.f64 im re) (fma.f64 (fma.f64 (*.f64 #s(literal 1/6 binary64) im) (/.f64 im (pow.f64 re #s(literal 6 binary64))) (/.f64 #s(literal -1/4 binary64) (pow.f64 re #s(literal 4 binary64)))) (pow.f64 im #s(literal 4 binary64)) (log.f64 re)))
(/ (+ (* 1/2 (pow re 2)) (* (pow im 2) (log im))) (pow im 2))
(fma.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) (*.f64 im im)) re) re (log.f64 im))
(* -1 (log (/ 1 im)))
(log.f64 im)
(+ (* -1 (log (/ 1 im))) (* 1/2 (/ (pow re 2) (pow im 2))))
(fma.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) (*.f64 im im)) re) re (log.f64 im))
(+ (* -1 (log (/ 1 im))) (+ (* -1/4 (/ (pow re 4) (pow im 4))) (* 1/2 (/ (pow re 2) (pow im 2)))))
(fma.f64 (pow.f64 re #s(literal 4 binary64)) (/.f64 #s(literal -1/4 binary64) (pow.f64 im #s(literal 4 binary64))) (fma.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) (*.f64 im im)) re) re (log.f64 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))))))
(fma.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) (*.f64 im im)) re) re (+.f64 (fma.f64 (pow.f64 re #s(literal 4 binary64)) (/.f64 #s(literal -1/4 binary64) (pow.f64 im #s(literal 4 binary64))) (/.f64 (*.f64 (pow.f64 re #s(literal 6 binary64)) #s(literal 1/6 binary64)) (pow.f64 im #s(literal 6 binary64)))) (log.f64 im)))
(* -1 (log (/ -1 im)))
(neg.f64 (log.f64 (/.f64 #s(literal -1 binary64) im)))
(+ (* -1 (log (/ -1 im))) (* 1/2 (/ (pow re 2) (pow im 2))))
(fma.f64 (*.f64 (/.f64 (/.f64 re im) im) re) #s(literal 1/2 binary64) (neg.f64 (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)))))
(neg.f64 (fma.f64 (fma.f64 (*.f64 #s(literal 1/4 binary64) re) (/.f64 re (pow.f64 im #s(literal 4 binary64))) (/.f64 #s(literal -1/2 binary64) (*.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))))))
(fma.f64 (*.f64 (fma.f64 (*.f64 (/.f64 #s(literal -1/4 binary64) (pow.f64 im #s(literal 4 binary64))) re) re (/.f64 #s(literal 1/2 binary64) (*.f64 im im))) re) re (-.f64 (/.f64 (*.f64 (pow.f64 re #s(literal 6 binary64)) #s(literal 1/6 binary64)) (pow.f64 im #s(literal 6 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))) (* 1/2 (/ (pow re 2) (pow im 2)))))
(-.f64 (log.f64 #s(literal -1 binary64)) (fma.f64 (*.f64 (/.f64 #s(literal -1/2 binary64) (*.f64 im im)) re) re (log.f64 (/.f64 #s(literal -1 binary64) im))))

rewrite113.0ms (2.5%)

Memory
17.1MiB live, 115.9MiB allocated; 9ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01442
02042
17342
262640
0871033
Stop Event
iter limit
node limit
iter limit
Counts
5 → 58
Calls
Call 1
Inputs
#s(approx (log (sqrt (+ (* re re) (* im im)))) (fma.f64 (/.f64 (*.f64 #s(literal 1/2 binary64) re) im) (/.f64 re im) (log.f64 im)))
(fma.f64 (/.f64 (*.f64 #s(literal 1/2 binary64) re) im) (/.f64 re im) (log.f64 im))
(/.f64 (*.f64 #s(literal 1/2 binary64) re) im)
(*.f64 #s(literal 1/2 binary64) re)
(log.f64 im)
Outputs
#s(approx (log (sqrt (+ (* re re) (* im im)))) (fma.f64 #s(literal 1/2 binary64) (pow.f64 (/.f64 re im) #s(literal 2 binary64)) (log.f64 im)))
(/.f64 (-.f64 (*.f64 (/.f64 (*.f64 #s(literal 1/4 binary64) (pow.f64 (pow.f64 (/.f64 re im) #s(literal 2 binary64)) #s(literal 2 binary64))) (-.f64 (*.f64 #s(literal 1/2 binary64) (pow.f64 (/.f64 re im) #s(literal 2 binary64))) (log.f64 im))) (/.f64 (*.f64 #s(literal 1/4 binary64) (pow.f64 (pow.f64 (/.f64 re im) #s(literal 2 binary64)) #s(literal 2 binary64))) (-.f64 (*.f64 #s(literal 1/2 binary64) (pow.f64 (/.f64 re im) #s(literal 2 binary64))) (log.f64 im)))) (*.f64 (/.f64 (pow.f64 (log.f64 im) #s(literal 2 binary64)) (-.f64 (*.f64 #s(literal 1/2 binary64) (pow.f64 (/.f64 re im) #s(literal 2 binary64))) (log.f64 im))) (/.f64 (pow.f64 (log.f64 im) #s(literal 2 binary64)) (-.f64 (*.f64 #s(literal 1/2 binary64) (pow.f64 (/.f64 re im) #s(literal 2 binary64))) (log.f64 im))))) (+.f64 (/.f64 (*.f64 #s(literal 1/4 binary64) (pow.f64 (pow.f64 (/.f64 re im) #s(literal 2 binary64)) #s(literal 2 binary64))) (-.f64 (*.f64 #s(literal 1/2 binary64) (pow.f64 (/.f64 re im) #s(literal 2 binary64))) (log.f64 im))) (/.f64 (pow.f64 (log.f64 im) #s(literal 2 binary64)) (-.f64 (*.f64 #s(literal 1/2 binary64) (pow.f64 (/.f64 re im) #s(literal 2 binary64))) (log.f64 im)))))
(/.f64 (-.f64 (*.f64 (/.f64 (*.f64 #s(literal 1/8 binary64) (pow.f64 (pow.f64 (/.f64 re im) #s(literal 2 binary64)) #s(literal 3 binary64))) (fma.f64 #s(literal 1/4 binary64) (pow.f64 (pow.f64 (/.f64 re im) #s(literal 2 binary64)) #s(literal 2 binary64)) (*.f64 (log.f64 im) (-.f64 (log.f64 im) (*.f64 #s(literal 1/2 binary64) (pow.f64 (/.f64 re im) #s(literal 2 binary64))))))) (/.f64 (*.f64 #s(literal 1/8 binary64) (pow.f64 (pow.f64 (/.f64 re im) #s(literal 2 binary64)) #s(literal 3 binary64))) (fma.f64 #s(literal 1/4 binary64) (pow.f64 (pow.f64 (/.f64 re im) #s(literal 2 binary64)) #s(literal 2 binary64)) (*.f64 (log.f64 im) (-.f64 (log.f64 im) (*.f64 #s(literal 1/2 binary64) (pow.f64 (/.f64 re im) #s(literal 2 binary64)))))))) (*.f64 (/.f64 (pow.f64 (log.f64 im) #s(literal 3 binary64)) (fma.f64 #s(literal 1/4 binary64) (pow.f64 (pow.f64 (/.f64 re im) #s(literal 2 binary64)) #s(literal 2 binary64)) (*.f64 (log.f64 im) (-.f64 (log.f64 im) (*.f64 #s(literal 1/2 binary64) (pow.f64 (/.f64 re im) #s(literal 2 binary64))))))) (/.f64 (pow.f64 (log.f64 im) #s(literal 3 binary64)) (fma.f64 #s(literal 1/4 binary64) (pow.f64 (pow.f64 (/.f64 re im) #s(literal 2 binary64)) #s(literal 2 binary64)) (*.f64 (log.f64 im) (-.f64 (log.f64 im) (*.f64 #s(literal 1/2 binary64) (pow.f64 (/.f64 re im) #s(literal 2 binary64))))))))) (-.f64 (/.f64 (*.f64 #s(literal 1/8 binary64) (pow.f64 (pow.f64 (/.f64 re im) #s(literal 2 binary64)) #s(literal 3 binary64))) (fma.f64 #s(literal 1/4 binary64) (pow.f64 (pow.f64 (/.f64 re im) #s(literal 2 binary64)) #s(literal 2 binary64)) (*.f64 (log.f64 im) (-.f64 (log.f64 im) (*.f64 #s(literal 1/2 binary64) (pow.f64 (/.f64 re im) #s(literal 2 binary64))))))) (/.f64 (pow.f64 (log.f64 im) #s(literal 3 binary64)) (fma.f64 #s(literal 1/4 binary64) (pow.f64 (pow.f64 (/.f64 re im) #s(literal 2 binary64)) #s(literal 2 binary64)) (*.f64 (log.f64 im) (-.f64 (log.f64 im) (*.f64 #s(literal 1/2 binary64) (pow.f64 (/.f64 re im) #s(literal 2 binary64)))))))))
(/.f64 (-.f64 (pow.f64 (/.f64 (*.f64 #s(literal 1/4 binary64) (pow.f64 (pow.f64 (/.f64 re im) #s(literal 2 binary64)) #s(literal 2 binary64))) (-.f64 (*.f64 #s(literal 1/2 binary64) (pow.f64 (/.f64 re im) #s(literal 2 binary64))) (log.f64 im))) #s(literal 3 binary64)) (pow.f64 (/.f64 (pow.f64 (log.f64 im) #s(literal 2 binary64)) (-.f64 (*.f64 #s(literal 1/2 binary64) (pow.f64 (/.f64 re im) #s(literal 2 binary64))) (log.f64 im))) #s(literal 3 binary64))) (fma.f64 (/.f64 (*.f64 #s(literal 1/4 binary64) (pow.f64 (pow.f64 (/.f64 re im) #s(literal 2 binary64)) #s(literal 2 binary64))) (-.f64 (*.f64 #s(literal 1/2 binary64) (pow.f64 (/.f64 re im) #s(literal 2 binary64))) (log.f64 im))) (/.f64 (*.f64 #s(literal 1/4 binary64) (pow.f64 (pow.f64 (/.f64 re im) #s(literal 2 binary64)) #s(literal 2 binary64))) (-.f64 (*.f64 #s(literal 1/2 binary64) (pow.f64 (/.f64 re im) #s(literal 2 binary64))) (log.f64 im))) (fma.f64 (/.f64 (pow.f64 (log.f64 im) #s(literal 2 binary64)) (-.f64 (*.f64 #s(literal 1/2 binary64) (pow.f64 (/.f64 re im) #s(literal 2 binary64))) (log.f64 im))) (/.f64 (pow.f64 (log.f64 im) #s(literal 2 binary64)) (-.f64 (*.f64 #s(literal 1/2 binary64) (pow.f64 (/.f64 re im) #s(literal 2 binary64))) (log.f64 im))) (*.f64 (/.f64 (*.f64 #s(literal 1/4 binary64) (pow.f64 (pow.f64 (/.f64 re im) #s(literal 2 binary64)) #s(literal 2 binary64))) (-.f64 (*.f64 #s(literal 1/2 binary64) (pow.f64 (/.f64 re im) #s(literal 2 binary64))) (log.f64 im))) (/.f64 (pow.f64 (log.f64 im) #s(literal 2 binary64)) (-.f64 (*.f64 #s(literal 1/2 binary64) (pow.f64 (/.f64 re im) #s(literal 2 binary64))) (log.f64 im)))))))
(/.f64 (-.f64 (pow.f64 (log.f64 im) #s(literal 3 binary64)) (pow.f64 (*.f64 #s(literal -1/2 binary64) (pow.f64 (/.f64 re im) #s(literal 2 binary64))) #s(literal 3 binary64))) (fma.f64 (log.f64 im) (log.f64 im) (fma.f64 #s(literal 1/4 binary64) (pow.f64 (pow.f64 (/.f64 re im) #s(literal 2 binary64)) #s(literal 2 binary64)) (*.f64 (log.f64 im) (*.f64 #s(literal -1/2 binary64) (pow.f64 (/.f64 re im) #s(literal 2 binary64)))))))
(/.f64 (+.f64 (pow.f64 (/.f64 (*.f64 #s(literal 1/8 binary64) (pow.f64 (pow.f64 (/.f64 re im) #s(literal 2 binary64)) #s(literal 3 binary64))) (fma.f64 #s(literal 1/4 binary64) (pow.f64 (pow.f64 (/.f64 re im) #s(literal 2 binary64)) #s(literal 2 binary64)) (*.f64 (log.f64 im) (-.f64 (log.f64 im) (*.f64 #s(literal 1/2 binary64) (pow.f64 (/.f64 re im) #s(literal 2 binary64))))))) #s(literal 3 binary64)) (pow.f64 (/.f64 (pow.f64 (log.f64 im) #s(literal 3 binary64)) (fma.f64 #s(literal 1/4 binary64) (pow.f64 (pow.f64 (/.f64 re im) #s(literal 2 binary64)) #s(literal 2 binary64)) (*.f64 (log.f64 im) (-.f64 (log.f64 im) (*.f64 #s(literal 1/2 binary64) (pow.f64 (/.f64 re im) #s(literal 2 binary64))))))) #s(literal 3 binary64))) (fma.f64 (/.f64 (*.f64 #s(literal 1/8 binary64) (pow.f64 (pow.f64 (/.f64 re im) #s(literal 2 binary64)) #s(literal 3 binary64))) (fma.f64 #s(literal 1/4 binary64) (pow.f64 (pow.f64 (/.f64 re im) #s(literal 2 binary64)) #s(literal 2 binary64)) (*.f64 (log.f64 im) (-.f64 (log.f64 im) (*.f64 #s(literal 1/2 binary64) (pow.f64 (/.f64 re im) #s(literal 2 binary64))))))) (/.f64 (*.f64 #s(literal 1/8 binary64) (pow.f64 (pow.f64 (/.f64 re im) #s(literal 2 binary64)) #s(literal 3 binary64))) (fma.f64 #s(literal 1/4 binary64) (pow.f64 (pow.f64 (/.f64 re im) #s(literal 2 binary64)) #s(literal 2 binary64)) (*.f64 (log.f64 im) (-.f64 (log.f64 im) (*.f64 #s(literal 1/2 binary64) (pow.f64 (/.f64 re im) #s(literal 2 binary64))))))) (-.f64 (*.f64 (/.f64 (pow.f64 (log.f64 im) #s(literal 3 binary64)) (fma.f64 #s(literal 1/4 binary64) (pow.f64 (pow.f64 (/.f64 re im) #s(literal 2 binary64)) #s(literal 2 binary64)) (*.f64 (log.f64 im) (-.f64 (log.f64 im) (*.f64 #s(literal 1/2 binary64) (pow.f64 (/.f64 re im) #s(literal 2 binary64))))))) (/.f64 (pow.f64 (log.f64 im) #s(literal 3 binary64)) (fma.f64 #s(literal 1/4 binary64) (pow.f64 (pow.f64 (/.f64 re im) #s(literal 2 binary64)) #s(literal 2 binary64)) (*.f64 (log.f64 im) (-.f64 (log.f64 im) (*.f64 #s(literal 1/2 binary64) (pow.f64 (/.f64 re im) #s(literal 2 binary64)))))))) (*.f64 (/.f64 (*.f64 #s(literal 1/8 binary64) (pow.f64 (pow.f64 (/.f64 re im) #s(literal 2 binary64)) #s(literal 3 binary64))) (fma.f64 #s(literal 1/4 binary64) (pow.f64 (pow.f64 (/.f64 re im) #s(literal 2 binary64)) #s(literal 2 binary64)) (*.f64 (log.f64 im) (-.f64 (log.f64 im) (*.f64 #s(literal 1/2 binary64) (pow.f64 (/.f64 re im) #s(literal 2 binary64))))))) (/.f64 (pow.f64 (log.f64 im) #s(literal 3 binary64)) (fma.f64 #s(literal 1/4 binary64) (pow.f64 (pow.f64 (/.f64 re im) #s(literal 2 binary64)) #s(literal 2 binary64)) (*.f64 (log.f64 im) (-.f64 (log.f64 im) (*.f64 #s(literal 1/2 binary64) (pow.f64 (/.f64 re im) #s(literal 2 binary64)))))))))))
(/.f64 (neg.f64 (-.f64 (pow.f64 (log.f64 im) #s(literal 2 binary64)) (*.f64 #s(literal 1/4 binary64) (pow.f64 (pow.f64 (/.f64 re im) #s(literal 2 binary64)) #s(literal 2 binary64))))) (neg.f64 (-.f64 (log.f64 im) (*.f64 #s(literal 1/2 binary64) (pow.f64 (/.f64 re im) #s(literal 2 binary64))))))
(/.f64 (neg.f64 (neg.f64 (-.f64 (*.f64 #s(literal 1/4 binary64) (pow.f64 (pow.f64 (/.f64 re im) #s(literal 2 binary64)) #s(literal 2 binary64))) (pow.f64 (log.f64 im) #s(literal 2 binary64))))) (neg.f64 (neg.f64 (-.f64 (*.f64 #s(literal 1/2 binary64) (pow.f64 (/.f64 re im) #s(literal 2 binary64))) (log.f64 im)))))
(/.f64 (neg.f64 (neg.f64 (fma.f64 #s(literal 1/8 binary64) (pow.f64 (pow.f64 (/.f64 re im) #s(literal 2 binary64)) #s(literal 3 binary64)) (pow.f64 (log.f64 im) #s(literal 3 binary64))))) (neg.f64 (neg.f64 (fma.f64 #s(literal 1/4 binary64) (pow.f64 (pow.f64 (/.f64 re im) #s(literal 2 binary64)) #s(literal 2 binary64)) (*.f64 (log.f64 im) (-.f64 (log.f64 im) (*.f64 #s(literal 1/2 binary64) (pow.f64 (/.f64 re im) #s(literal 2 binary64)))))))))
(/.f64 (-.f64 (*.f64 (*.f64 #s(literal 1/4 binary64) (pow.f64 (pow.f64 (/.f64 re im) #s(literal 2 binary64)) #s(literal 2 binary64))) (-.f64 (*.f64 #s(literal 1/2 binary64) (pow.f64 (/.f64 re im) #s(literal 2 binary64))) (log.f64 im))) (*.f64 (-.f64 (*.f64 #s(literal 1/2 binary64) (pow.f64 (/.f64 re im) #s(literal 2 binary64))) (log.f64 im)) (pow.f64 (log.f64 im) #s(literal 2 binary64)))) (*.f64 (-.f64 (*.f64 #s(literal 1/2 binary64) (pow.f64 (/.f64 re im) #s(literal 2 binary64))) (log.f64 im)) (-.f64 (*.f64 #s(literal 1/2 binary64) (pow.f64 (/.f64 re im) #s(literal 2 binary64))) (log.f64 im))))
(/.f64 (fma.f64 (*.f64 #s(literal 1/8 binary64) (pow.f64 (pow.f64 (/.f64 re im) #s(literal 2 binary64)) #s(literal 3 binary64))) (fma.f64 #s(literal 1/4 binary64) (pow.f64 (pow.f64 (/.f64 re im) #s(literal 2 binary64)) #s(literal 2 binary64)) (*.f64 (log.f64 im) (-.f64 (log.f64 im) (*.f64 #s(literal 1/2 binary64) (pow.f64 (/.f64 re im) #s(literal 2 binary64)))))) (*.f64 (fma.f64 #s(literal 1/4 binary64) (pow.f64 (pow.f64 (/.f64 re im) #s(literal 2 binary64)) #s(literal 2 binary64)) (*.f64 (log.f64 im) (-.f64 (log.f64 im) (*.f64 #s(literal 1/2 binary64) (pow.f64 (/.f64 re im) #s(literal 2 binary64)))))) (pow.f64 (log.f64 im) #s(literal 3 binary64)))) (*.f64 (fma.f64 #s(literal 1/4 binary64) (pow.f64 (pow.f64 (/.f64 re im) #s(literal 2 binary64)) #s(literal 2 binary64)) (*.f64 (log.f64 im) (-.f64 (log.f64 im) (*.f64 #s(literal 1/2 binary64) (pow.f64 (/.f64 re im) #s(literal 2 binary64)))))) (fma.f64 #s(literal 1/4 binary64) (pow.f64 (pow.f64 (/.f64 re im) #s(literal 2 binary64)) #s(literal 2 binary64)) (*.f64 (log.f64 im) (-.f64 (log.f64 im) (*.f64 #s(literal 1/2 binary64) (pow.f64 (/.f64 re im) #s(literal 2 binary64))))))))
(/.f64 (-.f64 (pow.f64 (log.f64 im) #s(literal 2 binary64)) (*.f64 #s(literal 1/4 binary64) (pow.f64 (pow.f64 (/.f64 re im) #s(literal 2 binary64)) #s(literal 2 binary64)))) (-.f64 (log.f64 im) (*.f64 #s(literal 1/2 binary64) (pow.f64 (/.f64 re im) #s(literal 2 binary64)))))
(/.f64 (neg.f64 (-.f64 (*.f64 #s(literal 1/4 binary64) (pow.f64 (pow.f64 (/.f64 re im) #s(literal 2 binary64)) #s(literal 2 binary64))) (pow.f64 (log.f64 im) #s(literal 2 binary64)))) (neg.f64 (-.f64 (*.f64 #s(literal 1/2 binary64) (pow.f64 (/.f64 re im) #s(literal 2 binary64))) (log.f64 im))))
(/.f64 (neg.f64 (fma.f64 #s(literal 1/8 binary64) (pow.f64 (pow.f64 (/.f64 re im) #s(literal 2 binary64)) #s(literal 3 binary64)) (pow.f64 (log.f64 im) #s(literal 3 binary64)))) (neg.f64 (fma.f64 (log.f64 im) (log.f64 im) (fma.f64 #s(literal 1/4 binary64) (pow.f64 (pow.f64 (/.f64 re im) #s(literal 2 binary64)) #s(literal 2 binary64)) (*.f64 (*.f64 #s(literal -1/2 binary64) (pow.f64 (/.f64 re im) #s(literal 2 binary64))) (log.f64 im))))))
(/.f64 (neg.f64 (fma.f64 #s(literal 1/8 binary64) (pow.f64 (pow.f64 (/.f64 re im) #s(literal 2 binary64)) #s(literal 3 binary64)) (pow.f64 (log.f64 im) #s(literal 3 binary64)))) (neg.f64 (fma.f64 #s(literal 1/4 binary64) (pow.f64 (pow.f64 (/.f64 re im) #s(literal 2 binary64)) #s(literal 2 binary64)) (*.f64 (log.f64 im) (-.f64 (log.f64 im) (*.f64 #s(literal 1/2 binary64) (pow.f64 (/.f64 re im) #s(literal 2 binary64))))))))
(/.f64 (-.f64 (*.f64 #s(literal 1/4 binary64) (pow.f64 (pow.f64 (/.f64 re im) #s(literal 2 binary64)) #s(literal 2 binary64))) (pow.f64 (log.f64 im) #s(literal 2 binary64))) (-.f64 (*.f64 #s(literal 1/2 binary64) (pow.f64 (/.f64 re im) #s(literal 2 binary64))) (log.f64 im)))
(/.f64 (fma.f64 #s(literal 1/8 binary64) (pow.f64 (pow.f64 (/.f64 re im) #s(literal 2 binary64)) #s(literal 3 binary64)) (pow.f64 (log.f64 im) #s(literal 3 binary64))) (fma.f64 (log.f64 im) (log.f64 im) (fma.f64 #s(literal 1/4 binary64) (pow.f64 (pow.f64 (/.f64 re im) #s(literal 2 binary64)) #s(literal 2 binary64)) (*.f64 (*.f64 #s(literal -1/2 binary64) (pow.f64 (/.f64 re im) #s(literal 2 binary64))) (log.f64 im)))))
(/.f64 (fma.f64 #s(literal 1/8 binary64) (pow.f64 (pow.f64 (/.f64 re im) #s(literal 2 binary64)) #s(literal 3 binary64)) (pow.f64 (log.f64 im) #s(literal 3 binary64))) (fma.f64 #s(literal 1/4 binary64) (pow.f64 (pow.f64 (/.f64 re im) #s(literal 2 binary64)) #s(literal 2 binary64)) (*.f64 (log.f64 im) (-.f64 (log.f64 im) (*.f64 #s(literal 1/2 binary64) (pow.f64 (/.f64 re im) #s(literal 2 binary64)))))))
(neg.f64 (/.f64 (neg.f64 (-.f64 (*.f64 #s(literal 1/4 binary64) (pow.f64 (pow.f64 (/.f64 re im) #s(literal 2 binary64)) #s(literal 2 binary64))) (pow.f64 (log.f64 im) #s(literal 2 binary64)))) (-.f64 (*.f64 #s(literal 1/2 binary64) (pow.f64 (/.f64 re im) #s(literal 2 binary64))) (log.f64 im))))
(neg.f64 (/.f64 (neg.f64 (fma.f64 #s(literal 1/8 binary64) (pow.f64 (pow.f64 (/.f64 re im) #s(literal 2 binary64)) #s(literal 3 binary64)) (pow.f64 (log.f64 im) #s(literal 3 binary64)))) (fma.f64 #s(literal 1/4 binary64) (pow.f64 (pow.f64 (/.f64 re im) #s(literal 2 binary64)) #s(literal 2 binary64)) (*.f64 (log.f64 im) (-.f64 (log.f64 im) (*.f64 #s(literal 1/2 binary64) (pow.f64 (/.f64 re im) #s(literal 2 binary64))))))))
(neg.f64 (/.f64 (-.f64 (*.f64 #s(literal 1/4 binary64) (pow.f64 (pow.f64 (/.f64 re im) #s(literal 2 binary64)) #s(literal 2 binary64))) (pow.f64 (log.f64 im) #s(literal 2 binary64))) (neg.f64 (-.f64 (*.f64 #s(literal 1/2 binary64) (pow.f64 (/.f64 re im) #s(literal 2 binary64))) (log.f64 im)))))
(neg.f64 (/.f64 (fma.f64 #s(literal 1/8 binary64) (pow.f64 (pow.f64 (/.f64 re im) #s(literal 2 binary64)) #s(literal 3 binary64)) (pow.f64 (log.f64 im) #s(literal 3 binary64))) (neg.f64 (fma.f64 #s(literal 1/4 binary64) (pow.f64 (pow.f64 (/.f64 re im) #s(literal 2 binary64)) #s(literal 2 binary64)) (*.f64 (log.f64 im) (-.f64 (log.f64 im) (*.f64 #s(literal 1/2 binary64) (pow.f64 (/.f64 re im) #s(literal 2 binary64)))))))))
(fma.f64 (/.f64 #s(literal 1/2 binary64) (neg.f64 (neg.f64 im))) (/.f64 (*.f64 re re) (neg.f64 (neg.f64 im))) (log.f64 im))
(fma.f64 (/.f64 #s(literal 1/2 binary64) (neg.f64 im)) (/.f64 (*.f64 re re) (neg.f64 im)) (log.f64 im))
(fma.f64 (/.f64 #s(literal 1/2 binary64) im) (/.f64 (*.f64 re re) im) (log.f64 im))
(fma.f64 (*.f64 #s(literal -1/2 binary64) (/.f64 re im)) (/.f64 (neg.f64 re) im) (log.f64 im))
(fma.f64 (/.f64 (neg.f64 re) im) (*.f64 #s(literal -1/2 binary64) (/.f64 re im)) (log.f64 im))
(fma.f64 (/.f64 re im) (/.f64 (*.f64 #s(literal 1/2 binary64) re) im) (log.f64 im))
(fma.f64 (/.f64 (*.f64 #s(literal 1/2 binary64) re) im) (/.f64 re im) (log.f64 im))
(fma.f64 (*.f64 #s(literal 1/2 binary64) re) (/.f64 (/.f64 re im) im) (log.f64 im))
(fma.f64 (*.f64 #s(literal 1/2 binary64) re) (/.f64 re (*.f64 im im)) (log.f64 im))
(fma.f64 #s(literal 1/2 binary64) (pow.f64 (/.f64 re im) #s(literal 2 binary64)) (log.f64 im))
(-.f64 (/.f64 (pow.f64 (log.f64 im) #s(literal 2 binary64)) (-.f64 (log.f64 im) (*.f64 #s(literal 1/2 binary64) (pow.f64 (/.f64 re im) #s(literal 2 binary64))))) (/.f64 (*.f64 #s(literal 1/4 binary64) (pow.f64 (pow.f64 (/.f64 re im) #s(literal 2 binary64)) #s(literal 2 binary64))) (-.f64 (log.f64 im) (*.f64 #s(literal 1/2 binary64) (pow.f64 (/.f64 re im) #s(literal 2 binary64))))))
(-.f64 (/.f64 (*.f64 #s(literal 1/4 binary64) (pow.f64 (pow.f64 (/.f64 re im) #s(literal 2 binary64)) #s(literal 2 binary64))) (-.f64 (*.f64 #s(literal 1/2 binary64) (pow.f64 (/.f64 re im) #s(literal 2 binary64))) (log.f64 im))) (/.f64 (pow.f64 (log.f64 im) #s(literal 2 binary64)) (-.f64 (*.f64 #s(literal 1/2 binary64) (pow.f64 (/.f64 re im) #s(literal 2 binary64))) (log.f64 im))))
(-.f64 (log.f64 im) (*.f64 #s(literal -1/2 binary64) (pow.f64 (/.f64 re im) #s(literal 2 binary64))))
(+.f64 (/.f64 (pow.f64 (log.f64 im) #s(literal 3 binary64)) (fma.f64 (log.f64 im) (log.f64 im) (fma.f64 #s(literal 1/4 binary64) (pow.f64 (pow.f64 (/.f64 re im) #s(literal 2 binary64)) #s(literal 2 binary64)) (*.f64 (*.f64 #s(literal -1/2 binary64) (pow.f64 (/.f64 re im) #s(literal 2 binary64))) (log.f64 im))))) (/.f64 (*.f64 #s(literal 1/8 binary64) (pow.f64 (pow.f64 (/.f64 re im) #s(literal 2 binary64)) #s(literal 3 binary64))) (fma.f64 (log.f64 im) (log.f64 im) (fma.f64 #s(literal 1/4 binary64) (pow.f64 (pow.f64 (/.f64 re im) #s(literal 2 binary64)) #s(literal 2 binary64)) (*.f64 (*.f64 #s(literal -1/2 binary64) (pow.f64 (/.f64 re im) #s(literal 2 binary64))) (log.f64 im))))))
(+.f64 (/.f64 (*.f64 #s(literal 1/8 binary64) (pow.f64 (pow.f64 (/.f64 re im) #s(literal 2 binary64)) #s(literal 3 binary64))) (fma.f64 (log.f64 im) (log.f64 im) (fma.f64 #s(literal 1/4 binary64) (pow.f64 (pow.f64 (/.f64 re im) #s(literal 2 binary64)) #s(literal 2 binary64)) (*.f64 (*.f64 #s(literal -1/2 binary64) (pow.f64 (/.f64 re im) #s(literal 2 binary64))) (log.f64 im))))) (/.f64 (pow.f64 (log.f64 im) #s(literal 3 binary64)) (fma.f64 (log.f64 im) (log.f64 im) (fma.f64 #s(literal 1/4 binary64) (pow.f64 (pow.f64 (/.f64 re im) #s(literal 2 binary64)) #s(literal 2 binary64)) (*.f64 (*.f64 #s(literal -1/2 binary64) (pow.f64 (/.f64 re im) #s(literal 2 binary64))) (log.f64 im))))))
(+.f64 (/.f64 (pow.f64 (log.f64 im) #s(literal 3 binary64)) (fma.f64 #s(literal 1/4 binary64) (pow.f64 (pow.f64 (/.f64 re im) #s(literal 2 binary64)) #s(literal 2 binary64)) (*.f64 (log.f64 im) (-.f64 (log.f64 im) (*.f64 #s(literal 1/2 binary64) (pow.f64 (/.f64 re im) #s(literal 2 binary64))))))) (/.f64 (*.f64 #s(literal 1/8 binary64) (pow.f64 (pow.f64 (/.f64 re im) #s(literal 2 binary64)) #s(literal 3 binary64))) (fma.f64 #s(literal 1/4 binary64) (pow.f64 (pow.f64 (/.f64 re im) #s(literal 2 binary64)) #s(literal 2 binary64)) (*.f64 (log.f64 im) (-.f64 (log.f64 im) (*.f64 #s(literal 1/2 binary64) (pow.f64 (/.f64 re im) #s(literal 2 binary64))))))))
(+.f64 (/.f64 (*.f64 #s(literal 1/8 binary64) (pow.f64 (pow.f64 (/.f64 re im) #s(literal 2 binary64)) #s(literal 3 binary64))) (fma.f64 #s(literal 1/4 binary64) (pow.f64 (pow.f64 (/.f64 re im) #s(literal 2 binary64)) #s(literal 2 binary64)) (*.f64 (log.f64 im) (-.f64 (log.f64 im) (*.f64 #s(literal 1/2 binary64) (pow.f64 (/.f64 re im) #s(literal 2 binary64))))))) (/.f64 (pow.f64 (log.f64 im) #s(literal 3 binary64)) (fma.f64 #s(literal 1/4 binary64) (pow.f64 (pow.f64 (/.f64 re im) #s(literal 2 binary64)) #s(literal 2 binary64)) (*.f64 (log.f64 im) (-.f64 (log.f64 im) (*.f64 #s(literal 1/2 binary64) (pow.f64 (/.f64 re im) #s(literal 2 binary64))))))))
(+.f64 (/.f64 (*.f64 #s(literal 1/4 binary64) (pow.f64 (pow.f64 (/.f64 re im) #s(literal 2 binary64)) #s(literal 2 binary64))) (-.f64 (*.f64 #s(literal 1/2 binary64) (pow.f64 (/.f64 re im) #s(literal 2 binary64))) (log.f64 im))) (/.f64 (neg.f64 (pow.f64 (log.f64 im) #s(literal 2 binary64))) (-.f64 (*.f64 #s(literal 1/2 binary64) (pow.f64 (/.f64 re im) #s(literal 2 binary64))) (log.f64 im))))
(+.f64 (*.f64 #s(literal 1/2 binary64) (pow.f64 (/.f64 re im) #s(literal 2 binary64))) (log.f64 im))
(+.f64 (log.f64 im) (*.f64 #s(literal 1/2 binary64) (pow.f64 (/.f64 re im) #s(literal 2 binary64))))
(*.f64 (/.f64 re im) #s(literal 1/2 binary64))
(*.f64 #s(literal 1/2 binary64) (/.f64 re im))
(*.f64 re (/.f64 #s(literal 1/2 binary64) im))
(/.f64 (*.f64 #s(literal -1/2 binary64) re) (neg.f64 (neg.f64 (neg.f64 im))))
(/.f64 (*.f64 #s(literal -1/2 binary64) re) (neg.f64 im))
(/.f64 (*.f64 #s(literal 1/2 binary64) re) (neg.f64 (neg.f64 im)))
(/.f64 (*.f64 #s(literal 1/2 binary64) re) im)
(neg.f64 (*.f64 #s(literal -1/2 binary64) (/.f64 re im)))
(*.f64 #s(literal -1/2 binary64) (neg.f64 re))
(*.f64 (neg.f64 (neg.f64 re)) #s(literal 1/2 binary64))
(*.f64 (neg.f64 re) #s(literal -1/2 binary64))
(*.f64 #s(literal 1/2 binary64) (neg.f64 (neg.f64 re)))
(*.f64 #s(literal 1/2 binary64) re)
(*.f64 re #s(literal 1/2 binary64))
(neg.f64 (*.f64 #s(literal -1/2 binary64) re))
(log.f64 im)

eval10.0ms (0.2%)

Memory
23.2MiB live, 23.2MiB allocated; 0ms collecting garbage
Compiler

Compiled 3 364 to 366 computations (89.1% saved)

prune24.0ms (0.5%)

Memory
-37.7MiB live, 8.1MiB allocated; 5ms collecting garbage
Pruning

5 alts after pruning (1 fresh and 4 done)

PrunedKeptTotal
New82183
Fresh000
Picked011
Done033
Total82587
Accuracy
100.0%
Counts
87 → 5
Alt Table
Click to see full alt table
StatusAccuracyProgram
51.0%
(*.f64 (log.f64 (fma.f64 im im (*.f64 re re))) #s(literal 1/2 binary64))
100.0%
(log.f64 (hypot.f64 re im))
99.2%
#s(approx (log (sqrt (+ (* re re) (* im im)))) (fma.f64 (/.f64 (*.f64 #s(literal 1/2 binary64) re) im) (/.f64 re im) (log.f64 im)))
98.8%
#s(approx (log (sqrt (+ (* re re) (* im im)))) (log.f64 im))
3.0%
#s(approx (log (sqrt (+ (* re re) (* im im)))) #s(approx (+ (* (/ (* 1/2 re) im) (/ re im)) (log im)) (*.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) (*.f64 im im)) re) re)))
Compiler

Compiled 78 to 55 computations (29.5% saved)

simplify43.0ms (0.9%)

Memory
11.7MiB live, 56.7MiB allocated; 4ms collecting garbage
Localize:

Found 4 expressions of interest:

NewMetricScoreProgram
cost-diff0
(*.f64 (/.f64 #s(literal 1/2 binary64) (*.f64 im im)) re)
cost-diff0
(*.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) (*.f64 im im)) re) re)
cost-diff0
#s(approx (+ (* (/ (* 1/2 re) im) (/ re im)) (log im)) (*.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) (*.f64 im im)) re) re))
cost-diff0
#s(approx (log (sqrt (+ (* re re) (* im im)))) #s(approx (+ (* (/ (* 1/2 re) im) (/ re im)) (log im)) (*.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) (*.f64 im im)) re) re)))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02081
02481
14981
214481
342781
4123281
5197381
6205981
0205974
Stop Event
iter limit
saturated
iter limit
Calls
Call 1
Inputs
#s(approx (log (sqrt (+ (* re re) (* im im)))) #s(approx (+ (* (/ (* 1/2 re) im) (/ re im)) (log im)) (*.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) (*.f64 im im)) re) re)))
#s(approx (+ (* (/ (* 1/2 re) im) (/ re im)) (log im)) (*.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) (*.f64 im im)) re) re))
(*.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) (*.f64 im im)) re) re)
(*.f64 (/.f64 #s(literal 1/2 binary64) (*.f64 im im)) re)
(/.f64 #s(literal 1/2 binary64) (*.f64 im im))
#s(literal 1/2 binary64)
(*.f64 im im)
im
re
Outputs
#s(approx (log (sqrt (+ (* re re) (* im im)))) #s(approx (+ (* (/ (* 1/2 re) im) (/ re im)) (log im)) (*.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) (*.f64 im im)) re) re)))
#s(approx (log (sqrt (+ (* re re) (* im im)))) #s(approx (+ (* (/ (* 1/2 re) im) (/ re im)) (log im)) (*.f64 (/.f64 (/.f64 re im) im) (*.f64 #s(literal 1/2 binary64) re))))
#s(approx (+ (* (/ (* 1/2 re) im) (/ re im)) (log im)) (*.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) (*.f64 im im)) re) re))
#s(approx (+ (* (/ (* 1/2 re) im) (/ re im)) (log im)) (*.f64 (/.f64 (/.f64 re im) im) (*.f64 #s(literal 1/2 binary64) re)))
(*.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) (*.f64 im im)) re) re)
(*.f64 (/.f64 (/.f64 re im) im) (*.f64 #s(literal 1/2 binary64) re))
(*.f64 (/.f64 #s(literal 1/2 binary64) (*.f64 im im)) re)
(/.f64 #s(literal 1/2 binary64) (*.f64 im im))
#s(literal 1/2 binary64)
(*.f64 im im)
im
re

localize82.0ms (1.8%)

Memory
33.7MiB live, 79.5MiB allocated; 2ms collecting garbage
Localize:

Found 4 expressions of interest:

NewMetricScoreProgram
accuracy0.5029893607426722
#s(approx (log (sqrt (+ (* re re) (* im im)))) #s(approx (+ (* (/ (* 1/2 re) im) (/ re im)) (log im)) (*.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) (*.f64 im im)) re) re)))
accuracy4.2449832051552825
(*.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) (*.f64 im im)) re) re)
accuracy9.086675204596725
(*.f64 (/.f64 #s(literal 1/2 binary64) (*.f64 im im)) re)
accuracy61.80117984048851
#s(approx (+ (* (/ (* 1/2 re) im) (/ re im)) (log im)) (*.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) (*.f64 im im)) re) re))
Samples
73.0ms256×0valid
Compiler

Compiled 50 to 17 computations (66% saved)

Precisions
Click to see histograms. Total time spent on operations: 65.0ms
ival-hypot: 46.0ms (70.6% of total)
ival-mult: 7.0ms (10.7% of total)
ival-div: 5.0ms (7.7% of total)
ival-log: 5.0ms (7.7% of total)
ival-add: 1.0ms (1.5% of total)
adjust: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)
ival-true: 0.0ms (0% of total)
exact: 0.0ms (0% of total)

series103.0ms (2.3%)

Memory
-16.6MiB live, 83.0MiB allocated; 60ms collecting garbage
Counts
4 → 30
Calls
Call 1
Inputs
#s(approx (log (sqrt (+ (* re re) (* im im)))) #s(approx (+ (* (/ (* 1/2 re) im) (/ re im)) (log im)) (*.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) (*.f64 im im)) re) re)))
#s(approx (+ (* (/ (* 1/2 re) im) (/ re im)) (log im)) (*.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) (*.f64 im im)) re) re))
(*.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) (*.f64 im im)) re) re)
(*.f64 (/.f64 #s(literal 1/2 binary64) (*.f64 im im)) re)
Outputs
(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/2 (/ (pow re 2) (pow im 2)))
(* 1/2 (/ re (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))))))
(* (pow re 2) (+ (* 1/2 (/ 1 (pow im 2))) (/ (log im) (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/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/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))))))
(+ (log -1) (* -1 (log (/ -1 im))))
(+ (log -1) (+ (* -1 (log (/ -1 im))) (* 1/2 (/ (pow re 2) (pow im 2)))))
Calls

6 calls:

TimeVariablePointExpression
86.0ms
re
@0
((log (sqrt (+ (* re re) (* im im)))) (+ (* (/ (* 1/2 re) im) (/ re im)) (log im)) (* (* (/ 1/2 (* im im)) re) re) (* (/ 1/2 (* im im)) re))
6.0ms
re
@inf
((log (sqrt (+ (* re re) (* im im)))) (+ (* (/ (* 1/2 re) im) (/ re im)) (log im)) (* (* (/ 1/2 (* im im)) re) re) (* (/ 1/2 (* im im)) re))
3.0ms
im
@inf
((log (sqrt (+ (* re re) (* im im)))) (+ (* (/ (* 1/2 re) im) (/ re im)) (log im)) (* (* (/ 1/2 (* im im)) re) re) (* (/ 1/2 (* im im)) re))
3.0ms
im
@-inf
((log (sqrt (+ (* re re) (* im im)))) (+ (* (/ (* 1/2 re) im) (/ re im)) (log im)) (* (* (/ 1/2 (* im im)) re) re) (* (/ 1/2 (* im im)) re))
2.0ms
re
@-inf
((log (sqrt (+ (* re re) (* im im)))) (+ (* (/ (* 1/2 re) im) (/ re im)) (log im)) (* (* (/ 1/2 (* im im)) re) re) (* (/ 1/2 (* im im)) re))

simplify160.0ms (3.5%)

Memory
2.2MiB live, 231.8MiB allocated; 39ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0116526
1320505
21074494
34701494
08478464
Stop Event
iter limit
node limit
Counts
30 → 30
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/2 (/ (pow re 2) (pow im 2)))
(* 1/2 (/ re (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))))))
(* (pow re 2) (+ (* 1/2 (/ 1 (pow im 2))) (/ (log im) (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/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/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))))))
(+ (log -1) (* -1 (log (/ -1 im))))
(+ (log -1) (+ (* -1 (log (/ -1 im))) (* 1/2 (/ (pow re 2) (pow im 2)))))
Outputs
(log im)
(log.f64 im)
(+ (log im) (* 1/2 (/ (pow re 2) (pow im 2))))
(fma.f64 (*.f64 #s(literal 1/2 binary64) (/.f64 re im)) (/.f64 re im) (log.f64 im))
(+ (log im) (* (pow re 2) (+ (* -1/4 (/ (pow re 2) (pow im 4))) (* 1/2 (/ 1 (pow im 2))))))
(fma.f64 (pow.f64 re #s(literal 4 binary64)) (/.f64 #s(literal -1/4 binary64) (pow.f64 im #s(literal 4 binary64))) (fma.f64 (*.f64 #s(literal 1/2 binary64) (/.f64 re im)) (/.f64 re im) (log.f64 im)))
(+ (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))))))
(fma.f64 (*.f64 #s(literal 1/2 binary64) (/.f64 re im)) (/.f64 re im) (fma.f64 (pow.f64 re #s(literal 4 binary64)) (fma.f64 (*.f64 #s(literal 1/6 binary64) re) (/.f64 re (pow.f64 im #s(literal 6 binary64))) (/.f64 #s(literal -1/4 binary64) (pow.f64 im #s(literal 4 binary64)))) (log.f64 im)))
(* 1/2 (/ (pow re 2) (pow im 2)))
(*.f64 (*.f64 #s(literal 1/2 binary64) (/.f64 re im)) (/.f64 re im))
(* 1/2 (/ re (pow im 2)))
(*.f64 (/.f64 re (*.f64 im im)) #s(literal 1/2 binary64))
(* -1 (log (/ 1 re)))
(log.f64 re)
(+ (* -1 (log (/ 1 re))) (* 1/2 (/ (pow im 2) (pow re 2))))
(fma.f64 (*.f64 #s(literal 1/2 binary64) (/.f64 im re)) (/.f64 im re) (log.f64 re))
(+ (* -1 (log (/ 1 re))) (+ (* -1/4 (/ (pow im 4) (pow re 4))) (* 1/2 (/ (pow im 2) (pow re 2)))))
(fma.f64 (*.f64 #s(literal 1/2 binary64) (/.f64 im re)) (/.f64 im re) (fma.f64 (/.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 re #s(literal 4 binary64))) #s(literal -1/4 binary64) (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))))))
(fma.f64 (*.f64 #s(literal 1/2 binary64) (/.f64 im re)) (/.f64 im re) (+.f64 (fma.f64 (pow.f64 im #s(literal 4 binary64)) (/.f64 #s(literal -1/4 binary64) (pow.f64 re #s(literal 4 binary64))) (/.f64 (*.f64 (pow.f64 im #s(literal 6 binary64)) #s(literal 1/6 binary64)) (pow.f64 re #s(literal 6 binary64)))) (log.f64 re)))
(* (pow re 2) (+ (* 1/2 (/ 1 (pow im 2))) (/ (log im) (pow re 2))))
(*.f64 (-.f64 (/.f64 (/.f64 (log.f64 im) re) re) (/.f64 #s(literal -1/2 binary64) (*.f64 im im))) (*.f64 re re))
(* -1 (log (/ -1 re)))
(neg.f64 (log.f64 (/.f64 #s(literal -1 binary64) re)))
(+ (* -1 (log (/ -1 re))) (* 1/2 (/ (pow im 2) (pow re 2))))
(fma.f64 (*.f64 (/.f64 (/.f64 im re) re) im) #s(literal 1/2 binary64) (neg.f64 (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)))))
(neg.f64 (fma.f64 (fma.f64 (*.f64 #s(literal 1/4 binary64) im) (/.f64 im (pow.f64 re #s(literal 4 binary64))) (/.f64 #s(literal -1/2 binary64) (*.f64 re re))) (*.f64 im im) (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))))))
(fma.f64 (*.f64 (fma.f64 (*.f64 (/.f64 #s(literal -1/4 binary64) (pow.f64 re #s(literal 4 binary64))) im) im (/.f64 #s(literal 1/2 binary64) (*.f64 re re))) im) im (-.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))))
(log re)
(log.f64 re)
(+ (log re) (* 1/2 (/ (pow im 2) (pow re 2))))
(fma.f64 (*.f64 #s(literal 1/2 binary64) (/.f64 im re)) (/.f64 im re) (log.f64 re))
(+ (log re) (* (pow im 2) (+ (* -1/4 (/ (pow im 2) (pow re 4))) (* 1/2 (/ 1 (pow re 2))))))
(fma.f64 (*.f64 #s(literal 1/2 binary64) (/.f64 im re)) (/.f64 im re) (fma.f64 (/.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 re #s(literal 4 binary64))) #s(literal -1/4 binary64) (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))))))
(fma.f64 (*.f64 #s(literal 1/2 binary64) (/.f64 im re)) (/.f64 im re) (fma.f64 (fma.f64 (*.f64 #s(literal 1/6 binary64) im) (/.f64 im (pow.f64 re #s(literal 6 binary64))) (/.f64 #s(literal -1/4 binary64) (pow.f64 re #s(literal 4 binary64)))) (pow.f64 im #s(literal 4 binary64)) (log.f64 re)))
(/ (+ (* 1/2 (pow re 2)) (* (pow im 2) (log im))) (pow im 2))
(fma.f64 (*.f64 #s(literal 1/2 binary64) (/.f64 re im)) (/.f64 re im) (log.f64 im))
(* -1 (log (/ 1 im)))
(log.f64 im)
(+ (* -1 (log (/ 1 im))) (* 1/2 (/ (pow re 2) (pow im 2))))
(fma.f64 (*.f64 #s(literal 1/2 binary64) (/.f64 re im)) (/.f64 re im) (log.f64 im))
(+ (* -1 (log (/ 1 im))) (+ (* -1/4 (/ (pow re 4) (pow im 4))) (* 1/2 (/ (pow re 2) (pow im 2)))))
(fma.f64 (pow.f64 re #s(literal 4 binary64)) (/.f64 #s(literal -1/4 binary64) (pow.f64 im #s(literal 4 binary64))) (fma.f64 (*.f64 #s(literal 1/2 binary64) (/.f64 re im)) (/.f64 re im) (log.f64 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))))))
(fma.f64 (*.f64 #s(literal 1/2 binary64) (/.f64 re im)) (/.f64 re im) (+.f64 (fma.f64 (pow.f64 re #s(literal 4 binary64)) (/.f64 #s(literal -1/4 binary64) (pow.f64 im #s(literal 4 binary64))) (/.f64 (*.f64 (pow.f64 re #s(literal 6 binary64)) #s(literal 1/6 binary64)) (pow.f64 im #s(literal 6 binary64)))) (log.f64 im)))
(* -1 (log (/ -1 im)))
(neg.f64 (log.f64 (/.f64 #s(literal -1 binary64) im)))
(+ (* -1 (log (/ -1 im))) (* 1/2 (/ (pow re 2) (pow im 2))))
(fma.f64 (*.f64 (/.f64 re im) (/.f64 re im)) #s(literal 1/2 binary64) (neg.f64 (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)))))
(neg.f64 (fma.f64 (fma.f64 (*.f64 #s(literal 1/4 binary64) re) (/.f64 re (pow.f64 im #s(literal 4 binary64))) (/.f64 #s(literal -1/2 binary64) (*.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))))))
(fma.f64 (*.f64 (fma.f64 (*.f64 (/.f64 #s(literal -1/4 binary64) (pow.f64 im #s(literal 4 binary64))) re) re (/.f64 #s(literal 1/2 binary64) (*.f64 im im))) re) re (-.f64 (/.f64 (*.f64 (pow.f64 re #s(literal 6 binary64)) #s(literal 1/6 binary64)) (pow.f64 im #s(literal 6 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))) (* 1/2 (/ (pow re 2) (pow im 2)))))
(-.f64 (log.f64 #s(literal -1 binary64)) (fma.f64 (*.f64 (/.f64 #s(literal -1/2 binary64) (*.f64 im im)) re) re (log.f64 (/.f64 #s(literal -1 binary64) im))))

rewrite124.0ms (2.7%)

Memory
-6.4MiB live, 172.9MiB allocated; 57ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02070
02470
18770
268260
0898853
Stop Event
iter limit
node limit
iter limit
Counts
4 → 52
Calls
Call 1
Inputs
#s(approx (log (sqrt (+ (* re re) (* im im)))) #s(approx (+ (* (/ (* 1/2 re) im) (/ re im)) (log im)) (*.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) (*.f64 im im)) re) re)))
#s(approx (+ (* (/ (* 1/2 re) im) (/ re im)) (log im)) (*.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) (*.f64 im im)) re) re))
(*.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) (*.f64 im im)) re) re)
(*.f64 (/.f64 #s(literal 1/2 binary64) (*.f64 im im)) re)
Outputs
#s(approx (log (sqrt (+ (* re re) (* im im)))) #s(approx (+ (* (/ (* 1/2 re) im) (/ re im)) (log im)) (*.f64 (pow.f64 (/.f64 re im) #s(literal 2 binary64)) #s(literal 1/2 binary64))))
#s(approx (+ (* (/ (* 1/2 re) im) (/ re im)) (log im)) (*.f64 (pow.f64 (/.f64 re im) #s(literal 2 binary64)) #s(literal 1/2 binary64)))
(*.f64 (*.f64 re (/.f64 (neg.f64 re) im)) (/.f64 #s(literal -1/2 binary64) im))
(*.f64 (*.f64 (/.f64 re im) re) (/.f64 #s(literal 1/2 binary64) im))
(*.f64 (/.f64 (*.f64 #s(literal -1/2 binary64) re) (*.f64 im im)) (neg.f64 re))
(*.f64 (*.f64 #s(literal -1/2 binary64) (/.f64 re im)) (/.f64 (neg.f64 re) im))
(*.f64 (/.f64 (neg.f64 re) im) (*.f64 (/.f64 #s(literal -1/2 binary64) im) re))
(*.f64 (/.f64 (neg.f64 re) im) (*.f64 #s(literal -1/2 binary64) (/.f64 re im)))
(*.f64 (pow.f64 (/.f64 re im) #s(literal 2 binary64)) #s(literal 1/2 binary64))
(*.f64 (/.f64 #s(literal -1/2 binary64) im) (*.f64 (/.f64 (neg.f64 re) im) re))
(*.f64 (/.f64 #s(literal -1/2 binary64) im) (/.f64 (*.f64 re re) (neg.f64 im)))
(*.f64 (/.f64 #s(literal 1/2 binary64) im) (*.f64 (/.f64 re im) re))
(*.f64 (neg.f64 re) (*.f64 (neg.f64 re) (/.f64 #s(literal 1/2 binary64) (*.f64 im im))))
(*.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) (*.f64 im im)) re) re)
(*.f64 (/.f64 #s(literal 1/2 binary64) (*.f64 im im)) (*.f64 re re))
(*.f64 (/.f64 re im) (/.f64 (*.f64 #s(literal 1/2 binary64) re) im))
(*.f64 (/.f64 (*.f64 #s(literal 1/2 binary64) re) im) (/.f64 re im))
(*.f64 (*.f64 #s(literal 1/2 binary64) re) (/.f64 (/.f64 re im) im))
(*.f64 (*.f64 #s(literal 1/2 binary64) re) (/.f64 re (*.f64 im im)))
(*.f64 #s(literal 1/2 binary64) (*.f64 (/.f64 re (*.f64 im im)) re))
(*.f64 #s(literal 1/2 binary64) (*.f64 re (/.f64 (/.f64 re im) im)))
(*.f64 #s(literal 1/2 binary64) (*.f64 re (/.f64 re (*.f64 im im))))
(*.f64 #s(literal 1/2 binary64) (pow.f64 (/.f64 re im) #s(literal 2 binary64)))
(*.f64 (*.f64 re re) (/.f64 #s(literal 1/2 binary64) (*.f64 im im)))
(*.f64 re (*.f64 #s(literal 1/2 binary64) (/.f64 (/.f64 re im) im)))
(*.f64 re (*.f64 (/.f64 #s(literal 1/2 binary64) (*.f64 im im)) re))
(/.f64 (*.f64 (/.f64 #s(literal -1/2 binary64) im) (*.f64 re re)) (neg.f64 im))
(/.f64 (*.f64 (*.f64 re re) (/.f64 #s(literal -1/2 binary64) im)) (neg.f64 im))
(/.f64 (/.f64 (*.f64 #s(literal -1/2 binary64) (*.f64 re re)) im) (neg.f64 im))
(/.f64 (*.f64 #s(literal -1/2 binary64) (*.f64 re re)) (*.f64 (neg.f64 im) im))
(/.f64 (*.f64 (/.f64 (*.f64 #s(literal 1/2 binary64) re) im) re) im)
(/.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) re) re) (*.f64 im im))
(neg.f64 (*.f64 #s(literal -1/2 binary64) (pow.f64 (/.f64 re im) #s(literal 2 binary64))))
(*.f64 (/.f64 (neg.f64 re) im) (/.f64 #s(literal -1/2 binary64) im))
(*.f64 (/.f64 #s(literal -1/2 binary64) im) (/.f64 (neg.f64 re) im))
(*.f64 (/.f64 #s(literal 1/2 binary64) im) (/.f64 re im))
(*.f64 (/.f64 #s(literal 1/2 binary64) (*.f64 im im)) re)
(*.f64 (/.f64 re im) (/.f64 #s(literal 1/2 binary64) im))
(*.f64 #s(literal 1/2 binary64) (/.f64 re (*.f64 im im)))
(*.f64 re (/.f64 #s(literal 1/2 binary64) (*.f64 im im)))
(/.f64 (*.f64 (/.f64 #s(literal -1/2 binary64) im) re) (neg.f64 im))
(/.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) im) (neg.f64 re)) (neg.f64 im))
(/.f64 (*.f64 #s(literal -1/2 binary64) (/.f64 re im)) (neg.f64 im))
(/.f64 (*.f64 #s(literal -1/2 binary64) re) (*.f64 (neg.f64 im) im))
(/.f64 (/.f64 (*.f64 #s(literal 1/2 binary64) re) im) im)
(/.f64 (*.f64 #s(literal 1/2 binary64) re) (*.f64 im im))
(neg.f64 (/.f64 (*.f64 #s(literal -1/2 binary64) (/.f64 re im)) im))
(neg.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) im) (/.f64 (neg.f64 re) im)))
(neg.f64 (*.f64 re (/.f64 #s(literal -1/2 binary64) (*.f64 im im))))
(neg.f64 (*.f64 (/.f64 #s(literal -1/2 binary64) (*.f64 im im)) re))
(neg.f64 (*.f64 (/.f64 (neg.f64 re) im) (/.f64 #s(literal 1/2 binary64) im)))
(neg.f64 (/.f64 (*.f64 #s(literal -1/2 binary64) re) (*.f64 im im)))

eval8.0ms (0.2%)

Memory
18.5MiB live, 18.5MiB allocated; 0ms collecting garbage
Compiler

Compiled 2 419 to 347 computations (85.7% saved)

prune17.0ms (0.4%)

Memory
-7.7MiB live, 39.0MiB allocated; 2ms collecting garbage
Pruning

16 alts after pruning (11 fresh and 5 done)

PrunedKeptTotal
New651176
Fresh000
Picked011
Done044
Total651681
Accuracy
100.0%
Counts
81 → 16
Alt Table
Click to see full alt table
StatusAccuracyProgram
51.0%
(*.f64 (log.f64 (fma.f64 im im (*.f64 re re))) #s(literal 1/2 binary64))
100.0%
(log.f64 (hypot.f64 re im))
99.2%
#s(approx (log (sqrt (+ (* re re) (* im im)))) (fma.f64 (/.f64 (*.f64 #s(literal 1/2 binary64) re) im) (/.f64 re im) (log.f64 im)))
98.8%
#s(approx (log (sqrt (+ (* re re) (* im im)))) (log.f64 im))
3.3%
#s(approx (log (sqrt (+ (* re re) (* im im)))) #s(approx (+ (* (/ (* 1/2 re) im) (/ re im)) (log im)) (/.f64 (/.f64 (*.f64 #s(literal -1/2 binary64) (*.f64 re re)) im) (neg.f64 im))))
3.5%
#s(approx (log (sqrt (+ (* re re) (* im im)))) #s(approx (+ (* (/ (* 1/2 re) im) (/ re im)) (log im)) (/.f64 (*.f64 (/.f64 (*.f64 #s(literal 1/2 binary64) re) im) re) im)))
3.3%
#s(approx (log (sqrt (+ (* re re) (* im im)))) #s(approx (+ (* (/ (* 1/2 re) im) (/ re im)) (log im)) (/.f64 (*.f64 (/.f64 #s(literal -1/2 binary64) im) (*.f64 re re)) (neg.f64 im))))
2.8%
#s(approx (log (sqrt (+ (* re re) (* im im)))) #s(approx (+ (* (/ (* 1/2 re) im) (/ re im)) (log im)) (/.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) re) re) (*.f64 im im))))
3.4%
#s(approx (log (sqrt (+ (* re re) (* im im)))) #s(approx (+ (* (/ (* 1/2 re) im) (/ re im)) (log im)) (*.f64 (/.f64 (*.f64 (/.f64 #s(literal -1/2 binary64) im) re) (neg.f64 im)) re)))
3.4%
#s(approx (log (sqrt (+ (* re re) (* im im)))) #s(approx (+ (* (/ (* 1/2 re) im) (/ re im)) (log im)) (*.f64 (/.f64 (*.f64 #s(literal 1/2 binary64) re) im) (/.f64 re im))))
2.8%
#s(approx (log (sqrt (+ (* re re) (* im im)))) #s(approx (+ (* (/ (* 1/2 re) im) (/ re im)) (log im)) (*.f64 (/.f64 #s(literal 1/2 binary64) (*.f64 im im)) (*.f64 re re))))
3.5%
#s(approx (log (sqrt (+ (* re re) (* im im)))) #s(approx (+ (* (/ (* 1/2 re) im) (/ re im)) (log im)) (*.f64 (/.f64 #s(literal 1/2 binary64) im) (*.f64 (/.f64 re im) re))))
3.3%
#s(approx (log (sqrt (+ (* re re) (* im im)))) #s(approx (+ (* (/ (* 1/2 re) im) (/ re im)) (log im)) (*.f64 (/.f64 #s(literal -1/2 binary64) im) (/.f64 (*.f64 re re) (neg.f64 im)))))
3.4%
#s(approx (log (sqrt (+ (* re re) (* im im)))) #s(approx (+ (* (/ (* 1/2 re) im) (/ re im)) (log im)) (*.f64 (*.f64 (/.f64 re im) (/.f64 #s(literal 1/2 binary64) im)) re)))
3.0%
#s(approx (log (sqrt (+ (* re re) (* im im)))) #s(approx (+ (* (/ (* 1/2 re) im) (/ re im)) (log im)) (*.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) (*.f64 im im)) re) re)))
3.0%
#s(approx (log (sqrt (+ (* re re) (* im im)))) #s(approx (+ (* (/ (* 1/2 re) im) (/ re im)) (log im)) (*.f64 #s(literal 1/2 binary64) (*.f64 (/.f64 re (*.f64 im im)) re))))
Compiler

Compiled 877 to 376 computations (57.1% saved)

regimes56.0ms (1.2%)

Memory
22.6MiB live, 127.9MiB allocated; 17ms collecting garbage
Counts
17 → 1
Calls
Call 1
Inputs
#s(approx (log (sqrt (+ (* re re) (* im im)))) #s(approx (+ (* (/ (* 1/2 re) im) (/ re im)) (log im)) (*.f64 #s(literal 1/2 binary64) (*.f64 (/.f64 re (*.f64 im im)) re))))
#s(approx (log (sqrt (+ (* re re) (* im im)))) #s(approx (+ (* (/ (* 1/2 re) im) (/ re im)) (log im)) (*.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) (*.f64 im im)) re) re)))
#s(approx (log (sqrt (+ (* re re) (* im im)))) #s(approx (+ (* (/ (* 1/2 re) im) (/ re im)) (log im)) (*.f64 (/.f64 #s(literal 1/2 binary64) (*.f64 im im)) (*.f64 re re))))
#s(approx (log (sqrt (+ (* re re) (* im im)))) #s(approx (+ (* (/ (* 1/2 re) im) (/ re im)) (log im)) (/.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) re) re) (*.f64 im im))))
#s(approx (log (sqrt (+ (* re re) (* im im)))) #s(approx (+ (* (/ (* 1/2 re) im) (/ re im)) (log im)) (*.f64 (*.f64 (/.f64 re im) (/.f64 #s(literal 1/2 binary64) im)) re)))
#s(approx (log (sqrt (+ (* re re) (* im im)))) #s(approx (+ (* (/ (* 1/2 re) im) (/ re im)) (log im)) (*.f64 (/.f64 #s(literal 1/2 binary64) im) (*.f64 (/.f64 re im) re))))
#s(approx (log (sqrt (+ (* re re) (* im im)))) #s(approx (+ (* (/ (* 1/2 re) im) (/ re im)) (log im)) (*.f64 (/.f64 (*.f64 #s(literal 1/2 binary64) re) im) (/.f64 re im))))
#s(approx (log (sqrt (+ (* re re) (* im im)))) #s(approx (+ (* (/ (* 1/2 re) im) (/ re im)) (log im)) (/.f64 (*.f64 (/.f64 (*.f64 #s(literal 1/2 binary64) re) im) re) im)))
#s(approx (log (sqrt (+ (* re re) (* im im)))) #s(approx (+ (* (/ (* 1/2 re) im) (/ re im)) (log im)) (*.f64 (/.f64 #s(literal -1/2 binary64) im) (/.f64 (*.f64 re re) (neg.f64 im)))))
#s(approx (log (sqrt (+ (* re re) (* im im)))) #s(approx (+ (* (/ (* 1/2 re) im) (/ re im)) (log im)) (*.f64 (/.f64 (*.f64 (/.f64 #s(literal -1/2 binary64) im) re) (neg.f64 im)) re)))
#s(approx (log (sqrt (+ (* re re) (* im im)))) #s(approx (+ (* (/ (* 1/2 re) im) (/ re im)) (log im)) (/.f64 (*.f64 (/.f64 #s(literal -1/2 binary64) im) (*.f64 re re)) (neg.f64 im))))
#s(approx (log (sqrt (+ (* re re) (* im im)))) #s(approx (+ (* (/ (* 1/2 re) im) (/ re im)) (log im)) (/.f64 (/.f64 (*.f64 #s(literal -1/2 binary64) (*.f64 re re)) im) (neg.f64 im))))
#s(approx (log (sqrt (+ (* re re) (* im im)))) (log.f64 im))
(*.f64 (log.f64 (fma.f64 im im (*.f64 re re))) #s(literal 1/2 binary64))
(log.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))))
#s(approx (log (sqrt (+ (* re re) (* im im)))) (fma.f64 (/.f64 (*.f64 #s(literal 1/2 binary64) re) im) (/.f64 re im) (log.f64 im)))
(log.f64 (hypot.f64 re im))
Outputs
(log.f64 (hypot.f64 re im))
Calls

7 calls:

15.0ms
re
13.0ms
(log.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))))
7.0ms
(+.f64 (*.f64 re re) (*.f64 im im))
5.0ms
im
5.0ms
(*.f64 im im)
Results
AccuracySegmentsBranch
100.0%1(*.f64 im im)
100.0%1(*.f64 re re)
100.0%1(+.f64 (*.f64 re re) (*.f64 im im))
100.0%1(sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))
100.0%1(log.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))))
100.0%1re
100.0%1im
Compiler

Compiled 32 to 28 computations (12.5% saved)

regimes98.0ms (2.2%)

Memory
-15.3MiB live, 179.1MiB allocated; 52ms collecting garbage
Counts
16 → 1
Calls
Call 1
Inputs
#s(approx (log (sqrt (+ (* re re) (* im im)))) #s(approx (+ (* (/ (* 1/2 re) im) (/ re im)) (log im)) (*.f64 #s(literal 1/2 binary64) (*.f64 (/.f64 re (*.f64 im im)) re))))
#s(approx (log (sqrt (+ (* re re) (* im im)))) #s(approx (+ (* (/ (* 1/2 re) im) (/ re im)) (log im)) (*.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) (*.f64 im im)) re) re)))
#s(approx (log (sqrt (+ (* re re) (* im im)))) #s(approx (+ (* (/ (* 1/2 re) im) (/ re im)) (log im)) (*.f64 (/.f64 #s(literal 1/2 binary64) (*.f64 im im)) (*.f64 re re))))
#s(approx (log (sqrt (+ (* re re) (* im im)))) #s(approx (+ (* (/ (* 1/2 re) im) (/ re im)) (log im)) (/.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) re) re) (*.f64 im im))))
#s(approx (log (sqrt (+ (* re re) (* im im)))) #s(approx (+ (* (/ (* 1/2 re) im) (/ re im)) (log im)) (*.f64 (*.f64 (/.f64 re im) (/.f64 #s(literal 1/2 binary64) im)) re)))
#s(approx (log (sqrt (+ (* re re) (* im im)))) #s(approx (+ (* (/ (* 1/2 re) im) (/ re im)) (log im)) (*.f64 (/.f64 #s(literal 1/2 binary64) im) (*.f64 (/.f64 re im) re))))
#s(approx (log (sqrt (+ (* re re) (* im im)))) #s(approx (+ (* (/ (* 1/2 re) im) (/ re im)) (log im)) (*.f64 (/.f64 (*.f64 #s(literal 1/2 binary64) re) im) (/.f64 re im))))
#s(approx (log (sqrt (+ (* re re) (* im im)))) #s(approx (+ (* (/ (* 1/2 re) im) (/ re im)) (log im)) (/.f64 (*.f64 (/.f64 (*.f64 #s(literal 1/2 binary64) re) im) re) im)))
#s(approx (log (sqrt (+ (* re re) (* im im)))) #s(approx (+ (* (/ (* 1/2 re) im) (/ re im)) (log im)) (*.f64 (/.f64 #s(literal -1/2 binary64) im) (/.f64 (*.f64 re re) (neg.f64 im)))))
#s(approx (log (sqrt (+ (* re re) (* im im)))) #s(approx (+ (* (/ (* 1/2 re) im) (/ re im)) (log im)) (*.f64 (/.f64 (*.f64 (/.f64 #s(literal -1/2 binary64) im) re) (neg.f64 im)) re)))
#s(approx (log (sqrt (+ (* re re) (* im im)))) #s(approx (+ (* (/ (* 1/2 re) im) (/ re im)) (log im)) (/.f64 (*.f64 (/.f64 #s(literal -1/2 binary64) im) (*.f64 re re)) (neg.f64 im))))
#s(approx (log (sqrt (+ (* re re) (* im im)))) #s(approx (+ (* (/ (* 1/2 re) im) (/ re im)) (log im)) (/.f64 (/.f64 (*.f64 #s(literal -1/2 binary64) (*.f64 re re)) im) (neg.f64 im))))
#s(approx (log (sqrt (+ (* re re) (* im im)))) (log.f64 im))
(*.f64 (log.f64 (fma.f64 im im (*.f64 re re))) #s(literal 1/2 binary64))
(log.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))))
#s(approx (log (sqrt (+ (* re re) (* im im)))) (fma.f64 (/.f64 (*.f64 #s(literal 1/2 binary64) re) im) (/.f64 re im) (log.f64 im)))
Outputs
#s(approx (log (sqrt (+ (* re re) (* im im)))) (fma.f64 (/.f64 (*.f64 #s(literal 1/2 binary64) re) im) (/.f64 re im) (log.f64 im)))
Calls

7 calls:

61.0ms
(+.f64 (*.f64 re re) (*.f64 im im))
10.0ms
(log.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))))
5.0ms
im
5.0ms
re
4.0ms
(sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))
Results
AccuracySegmentsBranch
99.2%1(*.f64 im im)
99.2%1(*.f64 re re)
99.2%1(+.f64 (*.f64 re re) (*.f64 im im))
99.2%1(sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))
99.2%1(log.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))))
99.2%1re
99.2%1im
Compiler

Compiled 32 to 28 computations (12.5% saved)

regimes36.0ms (0.8%)

Memory
-9.0MiB live, 83.3MiB allocated; 6ms collecting garbage
Counts
15 → 1
Calls
Call 1
Inputs
#s(approx (log (sqrt (+ (* re re) (* im im)))) #s(approx (+ (* (/ (* 1/2 re) im) (/ re im)) (log im)) (*.f64 #s(literal 1/2 binary64) (*.f64 (/.f64 re (*.f64 im im)) re))))
#s(approx (log (sqrt (+ (* re re) (* im im)))) #s(approx (+ (* (/ (* 1/2 re) im) (/ re im)) (log im)) (*.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) (*.f64 im im)) re) re)))
#s(approx (log (sqrt (+ (* re re) (* im im)))) #s(approx (+ (* (/ (* 1/2 re) im) (/ re im)) (log im)) (*.f64 (/.f64 #s(literal 1/2 binary64) (*.f64 im im)) (*.f64 re re))))
#s(approx (log (sqrt (+ (* re re) (* im im)))) #s(approx (+ (* (/ (* 1/2 re) im) (/ re im)) (log im)) (/.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) re) re) (*.f64 im im))))
#s(approx (log (sqrt (+ (* re re) (* im im)))) #s(approx (+ (* (/ (* 1/2 re) im) (/ re im)) (log im)) (*.f64 (*.f64 (/.f64 re im) (/.f64 #s(literal 1/2 binary64) im)) re)))
#s(approx (log (sqrt (+ (* re re) (* im im)))) #s(approx (+ (* (/ (* 1/2 re) im) (/ re im)) (log im)) (*.f64 (/.f64 #s(literal 1/2 binary64) im) (*.f64 (/.f64 re im) re))))
#s(approx (log (sqrt (+ (* re re) (* im im)))) #s(approx (+ (* (/ (* 1/2 re) im) (/ re im)) (log im)) (*.f64 (/.f64 (*.f64 #s(literal 1/2 binary64) re) im) (/.f64 re im))))
#s(approx (log (sqrt (+ (* re re) (* im im)))) #s(approx (+ (* (/ (* 1/2 re) im) (/ re im)) (log im)) (/.f64 (*.f64 (/.f64 (*.f64 #s(literal 1/2 binary64) re) im) re) im)))
#s(approx (log (sqrt (+ (* re re) (* im im)))) #s(approx (+ (* (/ (* 1/2 re) im) (/ re im)) (log im)) (*.f64 (/.f64 #s(literal -1/2 binary64) im) (/.f64 (*.f64 re re) (neg.f64 im)))))
#s(approx (log (sqrt (+ (* re re) (* im im)))) #s(approx (+ (* (/ (* 1/2 re) im) (/ re im)) (log im)) (*.f64 (/.f64 (*.f64 (/.f64 #s(literal -1/2 binary64) im) re) (neg.f64 im)) re)))
#s(approx (log (sqrt (+ (* re re) (* im im)))) #s(approx (+ (* (/ (* 1/2 re) im) (/ re im)) (log im)) (/.f64 (*.f64 (/.f64 #s(literal -1/2 binary64) im) (*.f64 re re)) (neg.f64 im))))
#s(approx (log (sqrt (+ (* re re) (* im im)))) #s(approx (+ (* (/ (* 1/2 re) im) (/ re im)) (log im)) (/.f64 (/.f64 (*.f64 #s(literal -1/2 binary64) (*.f64 re re)) im) (neg.f64 im))))
#s(approx (log (sqrt (+ (* re re) (* im im)))) (log.f64 im))
(*.f64 (log.f64 (fma.f64 im im (*.f64 re re))) #s(literal 1/2 binary64))
(log.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))))
Outputs
#s(approx (log (sqrt (+ (* re re) (* im im)))) (log.f64 im))
Calls

7 calls:

6.0ms
(*.f64 re re)
6.0ms
im
5.0ms
re
4.0ms
(*.f64 im im)
4.0ms
(log.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))))
Results
AccuracySegmentsBranch
98.8%1(*.f64 im im)
98.8%1(*.f64 re re)
98.8%1(+.f64 (*.f64 re re) (*.f64 im im))
98.8%1(sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))
98.8%1(log.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))))
98.8%1re
98.8%1im
Compiler

Compiled 32 to 28 computations (12.5% saved)

regimes28.0ms (0.6%)

Memory
11.2MiB live, 64.7MiB allocated; 3ms collecting garbage
Counts
12 → 1
Calls
Call 1
Inputs
#s(approx (log (sqrt (+ (* re re) (* im im)))) #s(approx (+ (* (/ (* 1/2 re) im) (/ re im)) (log im)) (*.f64 #s(literal 1/2 binary64) (*.f64 (/.f64 re (*.f64 im im)) re))))
#s(approx (log (sqrt (+ (* re re) (* im im)))) #s(approx (+ (* (/ (* 1/2 re) im) (/ re im)) (log im)) (*.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) (*.f64 im im)) re) re)))
#s(approx (log (sqrt (+ (* re re) (* im im)))) #s(approx (+ (* (/ (* 1/2 re) im) (/ re im)) (log im)) (*.f64 (/.f64 #s(literal 1/2 binary64) (*.f64 im im)) (*.f64 re re))))
#s(approx (log (sqrt (+ (* re re) (* im im)))) #s(approx (+ (* (/ (* 1/2 re) im) (/ re im)) (log im)) (/.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) re) re) (*.f64 im im))))
#s(approx (log (sqrt (+ (* re re) (* im im)))) #s(approx (+ (* (/ (* 1/2 re) im) (/ re im)) (log im)) (*.f64 (*.f64 (/.f64 re im) (/.f64 #s(literal 1/2 binary64) im)) re)))
#s(approx (log (sqrt (+ (* re re) (* im im)))) #s(approx (+ (* (/ (* 1/2 re) im) (/ re im)) (log im)) (*.f64 (/.f64 #s(literal 1/2 binary64) im) (*.f64 (/.f64 re im) re))))
#s(approx (log (sqrt (+ (* re re) (* im im)))) #s(approx (+ (* (/ (* 1/2 re) im) (/ re im)) (log im)) (*.f64 (/.f64 (*.f64 #s(literal 1/2 binary64) re) im) (/.f64 re im))))
#s(approx (log (sqrt (+ (* re re) (* im im)))) #s(approx (+ (* (/ (* 1/2 re) im) (/ re im)) (log im)) (/.f64 (*.f64 (/.f64 (*.f64 #s(literal 1/2 binary64) re) im) re) im)))
#s(approx (log (sqrt (+ (* re re) (* im im)))) #s(approx (+ (* (/ (* 1/2 re) im) (/ re im)) (log im)) (*.f64 (/.f64 #s(literal -1/2 binary64) im) (/.f64 (*.f64 re re) (neg.f64 im)))))
#s(approx (log (sqrt (+ (* re re) (* im im)))) #s(approx (+ (* (/ (* 1/2 re) im) (/ re im)) (log im)) (*.f64 (/.f64 (*.f64 (/.f64 #s(literal -1/2 binary64) im) re) (neg.f64 im)) re)))
#s(approx (log (sqrt (+ (* re re) (* im im)))) #s(approx (+ (* (/ (* 1/2 re) im) (/ re im)) (log im)) (/.f64 (*.f64 (/.f64 #s(literal -1/2 binary64) im) (*.f64 re re)) (neg.f64 im))))
#s(approx (log (sqrt (+ (* re re) (* im im)))) #s(approx (+ (* (/ (* 1/2 re) im) (/ re im)) (log im)) (/.f64 (/.f64 (*.f64 #s(literal -1/2 binary64) (*.f64 re re)) im) (neg.f64 im))))
Outputs
#s(approx (log (sqrt (+ (* re re) (* im im)))) #s(approx (+ (* (/ (* 1/2 re) im) (/ re im)) (log im)) (*.f64 (/.f64 #s(literal 1/2 binary64) im) (*.f64 (/.f64 re im) re))))
Calls

7 calls:

5.0ms
(+.f64 (*.f64 re re) (*.f64 im im))
4.0ms
re
4.0ms
im
4.0ms
(log.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))))
4.0ms
(sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))
Results
AccuracySegmentsBranch
3.5%1re
3.5%1im
3.5%1(*.f64 im im)
3.5%1(*.f64 re re)
3.5%1(+.f64 (*.f64 re re) (*.f64 im im))
3.5%1(sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))
3.5%1(log.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))))
Compiler

Compiled 32 to 28 computations (12.5% saved)

regimes87.0ms (1.9%)

Memory
-20.4MiB live, 26.0MiB allocated; 3ms collecting garbage
Counts
5 → 1
Calls
Call 1
Inputs
#s(approx (log (sqrt (+ (* re re) (* im im)))) #s(approx (+ (* (/ (* 1/2 re) im) (/ re im)) (log im)) (*.f64 #s(literal 1/2 binary64) (*.f64 (/.f64 re (*.f64 im im)) re))))
#s(approx (log (sqrt (+ (* re re) (* im im)))) #s(approx (+ (* (/ (* 1/2 re) im) (/ re im)) (log im)) (*.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) (*.f64 im im)) re) re)))
#s(approx (log (sqrt (+ (* re re) (* im im)))) #s(approx (+ (* (/ (* 1/2 re) im) (/ re im)) (log im)) (*.f64 (/.f64 #s(literal 1/2 binary64) (*.f64 im im)) (*.f64 re re))))
#s(approx (log (sqrt (+ (* re re) (* im im)))) #s(approx (+ (* (/ (* 1/2 re) im) (/ re im)) (log im)) (/.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) re) re) (*.f64 im im))))
#s(approx (log (sqrt (+ (* re re) (* im im)))) #s(approx (+ (* (/ (* 1/2 re) im) (/ re im)) (log im)) (*.f64 (*.f64 (/.f64 re im) (/.f64 #s(literal 1/2 binary64) im)) re)))
Outputs
#s(approx (log (sqrt (+ (* re re) (* im im)))) #s(approx (+ (* (/ (* 1/2 re) im) (/ re im)) (log im)) (*.f64 (*.f64 (/.f64 re im) (/.f64 #s(literal 1/2 binary64) im)) re)))
Calls

7 calls:

74.0ms
(log.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))))
2.0ms
re
2.0ms
im
2.0ms
(sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))
2.0ms
(*.f64 im im)
Results
AccuracySegmentsBranch
3.4%1(*.f64 im im)
3.4%1(+.f64 (*.f64 re re) (*.f64 im im))
3.4%1(sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))
3.4%1(log.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))))
3.4%1im
3.4%1(*.f64 re re)
3.4%1re
Compiler

Compiled 32 to 28 computations (12.5% saved)

regimes13.0ms (0.3%)

Memory
31.1MiB live, 31.1MiB allocated; 0ms collecting garbage
Accuracy

Total -0.2b remaining (-0.3%)

Threshold costs -0.2b (-0.3%)

Counts
4 → 1
Calls
Call 1
Inputs
#s(approx (log (sqrt (+ (* re re) (* im im)))) #s(approx (+ (* (/ (* 1/2 re) im) (/ re im)) (log im)) (*.f64 #s(literal 1/2 binary64) (*.f64 (/.f64 re (*.f64 im im)) re))))
#s(approx (log (sqrt (+ (* re re) (* im im)))) #s(approx (+ (* (/ (* 1/2 re) im) (/ re im)) (log im)) (*.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) (*.f64 im im)) re) re)))
#s(approx (log (sqrt (+ (* re re) (* im im)))) #s(approx (+ (* (/ (* 1/2 re) im) (/ re im)) (log im)) (*.f64 (/.f64 #s(literal 1/2 binary64) (*.f64 im im)) (*.f64 re re))))
#s(approx (log (sqrt (+ (* re re) (* im im)))) #s(approx (+ (* (/ (* 1/2 re) im) (/ re im)) (log im)) (/.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) re) re) (*.f64 im im))))
Outputs
#s(approx (log (sqrt (+ (* re re) (* im im)))) #s(approx (+ (* (/ (* 1/2 re) im) (/ re im)) (log im)) (*.f64 #s(literal 1/2 binary64) (*.f64 (/.f64 re (*.f64 im im)) re))))
Calls

7 calls:

2.0ms
re
2.0ms
im
2.0ms
(log.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))))
2.0ms
(sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))
2.0ms
(*.f64 im im)
Results
AccuracySegmentsBranch
3.0%1(*.f64 im im)
3.0%1(+.f64 (*.f64 re re) (*.f64 im im))
3.0%1(sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))
3.0%1(log.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))))
3.0%1im
3.0%1(*.f64 re re)
3.0%1re
Compiler

Compiled 32 to 28 computations (12.5% saved)

simplify47.0ms (1%)

Memory
-6.2MiB live, 41.1MiB allocated; 1ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
038133
157133
2119133
3236133
4508133
51056133
61822133
71946133
Stop Event
saturated
Calls
Call 1
Inputs
(log.f64 (hypot.f64 re im))
#s(approx (log (sqrt (+ (* re re) (* im im)))) (fma.f64 (/.f64 (*.f64 #s(literal 1/2 binary64) re) im) (/.f64 re im) (log.f64 im)))
#s(approx (log (sqrt (+ (* re re) (* im im)))) (log.f64 im))
#s(approx (log (sqrt (+ (* re re) (* im im)))) #s(approx (+ (* (/ (* 1/2 re) im) (/ re im)) (log im)) (*.f64 (/.f64 #s(literal 1/2 binary64) im) (*.f64 (/.f64 re im) re))))
#s(approx (log (sqrt (+ (* re re) (* im im)))) #s(approx (+ (* (/ (* 1/2 re) im) (/ re im)) (log im)) (*.f64 (*.f64 (/.f64 re im) (/.f64 #s(literal 1/2 binary64) im)) re)))
#s(approx (log (sqrt (+ (* re re) (* im im)))) #s(approx (+ (* (/ (* 1/2 re) im) (/ re im)) (log im)) (*.f64 #s(literal 1/2 binary64) (*.f64 (/.f64 re (*.f64 im im)) re))))
Outputs
(log.f64 (hypot.f64 re im))
#s(approx (log (sqrt (+ (* re re) (* im im)))) (fma.f64 (/.f64 (*.f64 #s(literal 1/2 binary64) re) im) (/.f64 re im) (log.f64 im)))
#s(approx (log (sqrt (+ (* re re) (* im im)))) (log.f64 im))
#s(approx (log (sqrt (+ (* re re) (* im im)))) #s(approx (+ (* (/ (* 1/2 re) im) (/ re im)) (log im)) (*.f64 (/.f64 #s(literal 1/2 binary64) im) (*.f64 (/.f64 re im) re))))
#s(approx (log (sqrt (+ (* re re) (* im im)))) #s(approx (+ (* (/ (* 1/2 re) im) (/ re im)) (log im)) (*.f64 (*.f64 (/.f64 re im) (/.f64 #s(literal 1/2 binary64) im)) re)))
#s(approx (log (sqrt (+ (* re re) (* im im)))) #s(approx (+ (* (/ (* 1/2 re) im) (/ re im)) (log im)) (*.f64 #s(literal 1/2 binary64) (*.f64 (/.f64 re (*.f64 im im)) re))))

derivations848.0ms (18.8%)

Memory
-9.7MiB live, 646.5MiB allocated; 103ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02070
02470
18770
268260
0898853
0117527
1321506
21069495
34653495
08386465
02611659
18011628
229451602
084491477
0730
01230
14130
234930
3590330
0805919
0186897
1569881
22107871
36713871
08116804
Stop Event
fuel
iter limit
node limit
iter limit
node limit
iter limit
iter limit
node limit
iter limit
node limit
iter limit
node limit
iter limit
Compiler

Compiled 133 to 39 computations (70.7% saved)

preprocess35.0ms (0.8%)

Memory
36.4MiB live, 77.6MiB allocated; 14ms collecting garbage
Remove

(sort re im)

(abs re)

(abs im)

Compiler

Compiled 308 to 116 computations (62.3% saved)

end0.0ms (0%)

Memory
0.0MiB live, 0.0MiB allocated; 0ms collecting garbage

Profiling

Loading profile data...