math.cube on complex, real part

Time bar (total: 2.3s)

start0.0ms (0%)

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

analyze9.0ms (0.4%)

Memory
-42.5MiB live, 1.3MiB allocated; 10ms collecting garbage
Algorithm
search
Search
ProbabilityValidUnknownPreconditionInfiniteDomainCan'tIter
0%0%99.9%0.1%0%0%0%0
100%99.9%0%0.1%0%0%0%1
Compiler

Compiled 21 to 13 computations (38.1% saved)

sample931.0ms (40%)

Memory
55.9MiB live, 1 271.8MiB allocated; 184ms collecting garbage
Samples
586.0ms8 256×0valid
Precisions
Click to see histograms. Total time spent on operations: 357.0ms
ival-mult!: 306.0ms (85.7% of total)
ival-sub!: 33.0ms (9.2% of total)
ival-add!: 17.0ms (4.8% of total)
adjust: 2.0ms (0.6% of total)
Bogosity

explain211.0ms (9.1%)

Memory
-6.5MiB live, 241.8MiB allocated; 63ms collecting garbage
FPErrors
Click to see full error table
Ground TruthOverpredictionsExampleUnderpredictionsExampleSubexpression
200-0-(-.f64 (*.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) x.re) (*.f64 (+.f64 (*.f64 x.re x.im) (*.f64 x.im x.re)) x.im))
160-0-(*.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) x.re)
140-0-(-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))
00-0-(*.f64 x.re x.im)
00-0-(+.f64 (*.f64 x.re x.im) (*.f64 x.im x.re))
00-0-(*.f64 x.im x.im)
00-0-(*.f64 x.re x.re)
00-0-(*.f64 x.im x.re)
00-0-(*.f64 (+.f64 (*.f64 x.re x.im) (*.f64 x.im x.re)) x.im)
00-0-x.re
00-0-x.im
Explanations
Click to see full explanations table
OperatorSubexpressionExplanationCount
-.f64(-.f64 (*.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) x.re) (*.f64 (+.f64 (*.f64 x.re x.im) (*.f64 x.im x.re)) x.im))nan-rescue200
(*.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) x.re)overflow122
(*.f64 x.re x.re)overflow61
(-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))overflow121
(*.f64 x.im x.im)overflow74
(*.f64 (+.f64 (*.f64 x.re x.im) (*.f64 x.im x.re)) x.im)overflow73
(*.f64 x.im x.re)overflow37
(+.f64 (*.f64 x.re x.im) (*.f64 x.im x.re))overflow37
(*.f64 x.re x.im)overflow37
*.f64(*.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) x.re)n*o160
-.f64(-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))nan-rescue140
(*.f64 x.re x.re)overflow61
(*.f64 x.im x.im)overflow74
Confusion
Predicted +Predicted -
+440
-0212
Precision
1.0
Recall
1.0
Confusion?
Predicted +Predicted MaybePredicted -
+4400
-00212
Precision?
1.0
Recall?
1.0
Freqs
test
numberfreq
0212
138
26
Total Confusion?
Predicted +Predicted MaybePredicted -
+100
-000
Precision?
1.0
Recall?
1.0
Samples
35.0ms512×0valid
Compiler

Compiled 153 to 37 computations (75.8% saved)

Precisions
Click to see histograms. Total time spent on operations: 20.0ms
ival-mult!: 14.0ms (71.2% of total)
ival-sub!: 5.0ms (25.4% of total)
ival-add!: 1.0ms (5.1% of total)
adjust: 0.0ms (0% of total)

preprocess249.0ms (10.7%)

Memory
11.7MiB live, 342.6MiB allocated; 40ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
036118
1121104
2418102
3119067
4405766
01119
02019
14317
214017
348214
4138411
5469511
0874410
Stop Event
iter limit
node limit
iter limit
node limit
Calls
Call 1
Inputs
(-.f64 (*.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) x.re) (*.f64 (+.f64 (*.f64 x.re x.im) (*.f64 x.im x.re)) x.im))
Outputs
(-.f64 (*.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) x.re) (*.f64 (+.f64 (*.f64 x.re x.im) (*.f64 x.im x.re)) x.im))
(*.f64 (fma.f64 x.im (*.f64 x.im #s(literal -3 binary64)) (*.f64 x.re x.re)) x.re)
Symmetry

(abs x.im)

(negabs x.re)

Compiler

Compiled 19 to 11 computations (42.1% saved)

eval0.0ms (0%)

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

Compiled 0 to 2 computations (-∞% saved)

prune0.0ms (0%)

Memory
0.6MiB live, 0.6MiB allocated; 0ms collecting garbage
Alt Table
Click to see full alt table
StatusAccuracyProgram
83.2%
(-.f64 (*.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) x.re) (*.f64 (+.f64 (*.f64 x.re x.im) (*.f64 x.im x.re)) x.im))
Compiler

Compiled 19 to 11 computations (42.1% saved)

series24.0ms (1%)

Memory
-29.5MiB live, 16.9MiB allocated; 2ms collecting garbage
Counts
11 → 29
Calls
Call 1
Inputs
(-.f64 (*.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) x.re) (*.f64 (+.f64 (*.f64 x.re x.im) (*.f64 x.im x.re)) x.im))
(*.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) x.re)
(-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))
(*.f64 x.re x.re)
x.re
(*.f64 x.im x.im)
x.im
(*.f64 (+.f64 (*.f64 x.re x.im) (*.f64 x.im x.re)) x.im)
(+.f64 (*.f64 x.re x.im) (*.f64 x.im x.re))
(*.f64 x.re x.im)
(*.f64 x.im x.re)
Outputs
#s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) #s(hole binary64 (* x.re (- (* -1 (pow x.im 2)) (* 2 (pow x.im 2))))))
#s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) #s(hole binary64 (* x.re (- (+ (* -1 (pow x.im 2)) (pow x.re 2)) (* 2 (pow x.im 2))))))
#s(approx (* (- (* x.re x.re) (* x.im x.im)) x.re) #s(hole binary64 (* -1 (* (pow x.im 2) x.re))))
#s(approx (* (- (* x.re x.re) (* x.im x.im)) x.re) #s(hole binary64 (* x.re (+ (* -1 (pow x.im 2)) (pow x.re 2)))))
#s(approx (- (* x.re x.re) (* x.im x.im)) #s(hole binary64 (* -1 (pow x.im 2))))
#s(approx (- (* x.re x.re) (* x.im x.im)) #s(hole binary64 (- (pow x.re 2) (pow x.im 2))))
#s(approx (* x.re x.re) #s(hole binary64 (pow x.re 2)))
#s(approx x.re #s(hole binary64 x.re))
#s(approx (* (+ (* x.re x.im) (* x.im x.re)) x.im) #s(hole binary64 (* 2 (* (pow x.im 2) x.re))))
#s(approx (+ (* x.re x.im) (* x.im x.re)) #s(hole binary64 (* 2 (* x.im x.re))))
#s(approx (* x.re x.im) #s(hole binary64 (* x.im x.re)))
#s(approx (* x.im x.re) #s(hole binary64 (* x.im x.re)))
#s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) #s(hole binary64 (pow x.re 3)))
#s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) #s(hole binary64 (* (pow x.re 3) (+ 1 (* -1 (/ (+ (* 2 (pow x.im 2)) (pow x.im 2)) (pow x.re 2)))))))
#s(approx (* (- (* x.re x.re) (* x.im x.im)) x.re) #s(hole binary64 (pow x.re 3)))
#s(approx (* (- (* x.re x.re) (* x.im x.im)) x.re) #s(hole binary64 (* (pow x.re 3) (+ 1 (* -1 (/ (pow x.im 2) (pow x.re 2)))))))
#s(approx (- (* x.re x.re) (* x.im x.im)) #s(hole binary64 (pow x.re 2)))
#s(approx (- (* x.re x.re) (* x.im x.im)) #s(hole binary64 (* (pow x.re 2) (+ 1 (* -1 (/ (pow x.im 2) (pow x.re 2)))))))
#s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) #s(hole binary64 (* -1 (* (pow x.re 3) (- (/ (pow x.im 2) (pow x.re 2)) (+ 1 (* -2 (/ (pow x.im 2) (pow x.re 2)))))))))
#s(approx (* (- (* x.re x.re) (* x.im x.im)) x.re) #s(hole binary64 (* -1 (* (pow x.re 3) (- (/ (pow x.im 2) (pow x.re 2)) 1)))))
#s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) #s(hole binary64 (+ (* (pow x.im 2) (- (* -1 x.re) (* 2 x.re))) (pow x.re 3))))
#s(approx (* (- (* x.re x.re) (* x.im x.im)) x.re) #s(hole binary64 (+ (* -1 (* (pow x.im 2) x.re)) (pow x.re 3))))
#s(approx (- (* x.re x.re) (* x.im x.im)) #s(hole binary64 (+ (* -1 (pow x.im 2)) (pow x.re 2))))
#s(approx (* x.im x.im) #s(hole binary64 (pow x.im 2)))
#s(approx x.im #s(hole binary64 x.im))
#s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) #s(hole binary64 (* (pow x.im 2) (- (* -1 x.re) (* 2 x.re)))))
#s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) #s(hole binary64 (* (pow x.im 2) (- (+ (* -1 x.re) (/ (pow x.re 3) (pow x.im 2))) (* 2 x.re)))))
#s(approx (* (- (* x.re x.re) (* x.im x.im)) x.re) #s(hole binary64 (* (pow x.im 2) (+ (* -1 x.re) (/ (pow x.re 3) (pow x.im 2))))))
#s(approx (- (* x.re x.re) (* x.im x.im)) #s(hole binary64 (* (pow x.im 2) (- (/ (pow x.re 2) (pow x.im 2)) 1))))
Calls

6 calls:

TimeVariablePointExpression
13.0ms
x.im
@-inf
((- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (* (- (* x.re x.re) (* x.im x.im)) x.re) (- (* x.re x.re) (* x.im x.im)) (* x.re x.re) x.re (* x.im x.im) x.im (* (+ (* x.re x.im) (* x.im x.re)) x.im) (+ (* x.re x.im) (* x.im x.re)) (* x.re x.im) (* x.im x.re))
3.0ms
x.re
@inf
((- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (* (- (* x.re x.re) (* x.im x.im)) x.re) (- (* x.re x.re) (* x.im x.im)) (* x.re x.re) x.re (* x.im x.im) x.im (* (+ (* x.re x.im) (* x.im x.re)) x.im) (+ (* x.re x.im) (* x.im x.re)) (* x.re x.im) (* x.im x.re))
2.0ms
x.re
@0
((- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (* (- (* x.re x.re) (* x.im x.im)) x.re) (- (* x.re x.re) (* x.im x.im)) (* x.re x.re) x.re (* x.im x.im) x.im (* (+ (* x.re x.im) (* x.im x.re)) x.im) (+ (* x.re x.im) (* x.im x.re)) (* x.re x.im) (* x.im x.re))
2.0ms
x.re
@-inf
((- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (* (- (* x.re x.re) (* x.im x.im)) x.re) (- (* x.re x.re) (* x.im x.im)) (* x.re x.re) x.re (* x.im x.im) x.im (* (+ (* x.re x.im) (* x.im x.re)) x.im) (+ (* x.re x.im) (* x.im x.re)) (* x.re x.im) (* x.im x.re))
2.0ms
x.im
@inf
((- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (* (- (* x.re x.re) (* x.im x.im)) x.re) (- (* x.re x.re) (* x.im x.im)) (* x.re x.re) x.re (* x.im x.im) x.im (* (+ (* x.re x.im) (* x.im x.re)) x.im) (+ (* x.re x.im) (* x.im x.re)) (* x.re x.im) (* x.im x.re))

rewrite103.0ms (4.4%)

Memory
33.0MiB live, 79.1MiB allocated; 4ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0102660
0117603
0484597
Stop Event
iter limit
iter limit
iter limit
unsound
iter limit
Counts
40 → 75
Calls
Call 1
Inputs
(-.f64 (*.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) x.re) (*.f64 (+.f64 (*.f64 x.re x.im) (*.f64 x.im x.re)) x.im))
(*.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) x.re)
(-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))
(*.f64 x.re x.re)
x.re
(*.f64 x.im x.im)
x.im
(*.f64 (+.f64 (*.f64 x.re x.im) (*.f64 x.im x.re)) x.im)
(+.f64 (*.f64 x.re x.im) (*.f64 x.im x.re))
(*.f64 x.re x.im)
(*.f64 x.im x.re)
#s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) #s(hole binary64 (* x.re (- (* -1 (pow x.im 2)) (* 2 (pow x.im 2))))))
#s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) #s(hole binary64 (* x.re (- (+ (* -1 (pow x.im 2)) (pow x.re 2)) (* 2 (pow x.im 2))))))
#s(approx (* (- (* x.re x.re) (* x.im x.im)) x.re) #s(hole binary64 (* -1 (* (pow x.im 2) x.re))))
#s(approx (* (- (* x.re x.re) (* x.im x.im)) x.re) #s(hole binary64 (* x.re (+ (* -1 (pow x.im 2)) (pow x.re 2)))))
#s(approx (- (* x.re x.re) (* x.im x.im)) #s(hole binary64 (* -1 (pow x.im 2))))
#s(approx (- (* x.re x.re) (* x.im x.im)) #s(hole binary64 (- (pow x.re 2) (pow x.im 2))))
#s(approx (* x.re x.re) #s(hole binary64 (pow x.re 2)))
#s(approx x.re #s(hole binary64 x.re))
#s(approx (* (+ (* x.re x.im) (* x.im x.re)) x.im) #s(hole binary64 (* 2 (* (pow x.im 2) x.re))))
#s(approx (+ (* x.re x.im) (* x.im x.re)) #s(hole binary64 (* 2 (* x.im x.re))))
#s(approx (* x.re x.im) #s(hole binary64 (* x.im x.re)))
#s(approx (* x.im x.re) #s(hole binary64 (* x.im x.re)))
#s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) #s(hole binary64 (pow x.re 3)))
#s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) #s(hole binary64 (* (pow x.re 3) (+ 1 (* -1 (/ (+ (* 2 (pow x.im 2)) (pow x.im 2)) (pow x.re 2)))))))
#s(approx (* (- (* x.re x.re) (* x.im x.im)) x.re) #s(hole binary64 (pow x.re 3)))
#s(approx (* (- (* x.re x.re) (* x.im x.im)) x.re) #s(hole binary64 (* (pow x.re 3) (+ 1 (* -1 (/ (pow x.im 2) (pow x.re 2)))))))
#s(approx (- (* x.re x.re) (* x.im x.im)) #s(hole binary64 (pow x.re 2)))
#s(approx (- (* x.re x.re) (* x.im x.im)) #s(hole binary64 (* (pow x.re 2) (+ 1 (* -1 (/ (pow x.im 2) (pow x.re 2)))))))
#s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) #s(hole binary64 (* -1 (* (pow x.re 3) (- (/ (pow x.im 2) (pow x.re 2)) (+ 1 (* -2 (/ (pow x.im 2) (pow x.re 2)))))))))
#s(approx (* (- (* x.re x.re) (* x.im x.im)) x.re) #s(hole binary64 (* -1 (* (pow x.re 3) (- (/ (pow x.im 2) (pow x.re 2)) 1)))))
#s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) #s(hole binary64 (+ (* (pow x.im 2) (- (* -1 x.re) (* 2 x.re))) (pow x.re 3))))
#s(approx (* (- (* x.re x.re) (* x.im x.im)) x.re) #s(hole binary64 (+ (* -1 (* (pow x.im 2) x.re)) (pow x.re 3))))
#s(approx (- (* x.re x.re) (* x.im x.im)) #s(hole binary64 (+ (* -1 (pow x.im 2)) (pow x.re 2))))
#s(approx (* x.im x.im) #s(hole binary64 (pow x.im 2)))
#s(approx x.im #s(hole binary64 x.im))
#s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) #s(hole binary64 (* (pow x.im 2) (- (* -1 x.re) (* 2 x.re)))))
#s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) #s(hole binary64 (* (pow x.im 2) (- (+ (* -1 x.re) (/ (pow x.re 3) (pow x.im 2))) (* 2 x.re)))))
#s(approx (* (- (* x.re x.re) (* x.im x.im)) x.re) #s(hole binary64 (* (pow x.im 2) (+ (* -1 x.re) (/ (pow x.re 3) (pow x.im 2))))))
#s(approx (- (* x.re x.re) (* x.im x.im)) #s(hole binary64 (* (pow x.im 2) (- (/ (pow x.re 2) (pow x.im 2)) 1))))
Outputs
(/.f64 (-.f64 (*.f64 (*.f64 (*.f64 (+.f64 x.re x.im) (-.f64 x.re x.im)) x.re) (*.f64 (*.f64 (+.f64 x.re x.im) (-.f64 x.re x.im)) x.re)) (*.f64 (*.f64 (*.f64 #s(literal 2 binary64) (*.f64 x.im x.re)) x.im) (*.f64 (*.f64 #s(literal 2 binary64) (*.f64 x.im x.re)) x.im))) (fma.f64 (*.f64 (+.f64 x.re x.im) (-.f64 x.re x.im)) x.re (*.f64 (*.f64 #s(literal 2 binary64) (*.f64 x.im x.re)) x.im)))
(/.f64 (-.f64 (pow.f64 (*.f64 (*.f64 (+.f64 x.re x.im) (-.f64 x.re x.im)) x.re) #s(literal 3 binary64)) (pow.f64 (*.f64 (*.f64 #s(literal 2 binary64) (*.f64 x.im x.re)) x.im) #s(literal 3 binary64))) (fma.f64 (*.f64 (*.f64 (+.f64 x.re x.im) (-.f64 x.re x.im)) x.re) (*.f64 (*.f64 (+.f64 x.re x.im) (-.f64 x.re x.im)) x.re) (fma.f64 (*.f64 (*.f64 #s(literal 2 binary64) (*.f64 x.im x.re)) x.im) (*.f64 (*.f64 #s(literal 2 binary64) (*.f64 x.im x.re)) x.im) (*.f64 (*.f64 (*.f64 (+.f64 x.re x.im) (-.f64 x.re x.im)) x.re) (*.f64 (*.f64 #s(literal 2 binary64) (*.f64 x.im x.re)) x.im)))))
(fma.f64 (*.f64 (+.f64 x.re x.im) (-.f64 x.re x.im)) x.re (*.f64 (neg.f64 (*.f64 #s(literal 2 binary64) (*.f64 x.im x.re))) x.im))
(fma.f64 x.re (*.f64 (+.f64 x.re x.im) (-.f64 x.re x.im)) (*.f64 (neg.f64 (*.f64 #s(literal 2 binary64) (*.f64 x.im x.re))) x.im))
(-.f64 (*.f64 (*.f64 (+.f64 x.re x.im) (-.f64 x.re x.im)) x.re) (*.f64 (*.f64 #s(literal 2 binary64) (*.f64 x.im x.re)) x.im))
(+.f64 (*.f64 (*.f64 (+.f64 x.re x.im) (-.f64 x.re x.im)) x.re) (*.f64 (neg.f64 (*.f64 #s(literal 2 binary64) (*.f64 x.im x.re))) x.im))
(*.f64 (*.f64 (+.f64 x.re x.im) (-.f64 x.re x.im)) x.re)
(*.f64 x.re (*.f64 (+.f64 x.re x.im) (-.f64 x.re x.im)))
(*.f64 (+.f64 x.re x.im) (-.f64 x.re x.im))
(/.f64 (-.f64 (*.f64 (*.f64 x.re x.re) (*.f64 x.re x.re)) (*.f64 (*.f64 x.im x.im) (*.f64 x.im x.im))) (fma.f64 x.re x.re (*.f64 x.im x.im)))
(/.f64 (-.f64 (pow.f64 (*.f64 x.re x.re) #s(literal 3 binary64)) (pow.f64 (*.f64 x.im x.im) #s(literal 3 binary64))) (fma.f64 (*.f64 x.re x.re) (*.f64 x.re x.re) (fma.f64 (*.f64 x.im x.im) (*.f64 x.im x.im) (*.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))))
(fma.f64 (pow.f64 x.re #s(literal 1 binary64)) (pow.f64 x.re #s(literal 1 binary64)) (*.f64 (neg.f64 x.im) x.im))
(fma.f64 (fabs.f64 x.re) (fabs.f64 x.re) (*.f64 (neg.f64 x.im) x.im))
(fma.f64 (neg.f64 x.re) (neg.f64 x.re) (*.f64 (neg.f64 x.im) x.im))
(fma.f64 x.re x.re (*.f64 (neg.f64 x.im) x.im))
(-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))
(+.f64 (*.f64 x.re x.re) (*.f64 (neg.f64 x.im) x.im))
(*.f64 (pow.f64 x.re #s(literal 1 binary64)) (pow.f64 x.re #s(literal 1 binary64)))
(*.f64 (fabs.f64 x.re) (fabs.f64 x.re))
(*.f64 (neg.f64 x.re) (neg.f64 x.re))
(*.f64 x.re x.re)
(pow.f64 x.re #s(literal 2 binary64))
(exp.f64 (*.f64 (log.f64 x.re) #s(literal 2 binary64)))
x.re
(*.f64 (pow.f64 x.im #s(literal 1 binary64)) (pow.f64 x.im #s(literal 1 binary64)))
(*.f64 (neg.f64 x.im) (neg.f64 x.im))
(*.f64 (fabs.f64 x.im) (fabs.f64 x.im))
(*.f64 x.im x.im)
(pow.f64 x.im #s(literal 2 binary64))
(exp.f64 (*.f64 (log.f64 x.im) #s(literal 2 binary64)))
x.im
(*.f64 (*.f64 #s(literal 2 binary64) (*.f64 x.im x.re)) x.im)
(*.f64 x.im (*.f64 #s(literal 2 binary64) (*.f64 x.im x.re)))
(*.f64 (*.f64 #s(literal 2 binary64) x.im) x.re)
(*.f64 #s(literal 2 binary64) (*.f64 x.im x.re))
(*.f64 (*.f64 x.im x.re) #s(literal 2 binary64))
(/.f64 (-.f64 (*.f64 (*.f64 x.im x.re) (*.f64 x.im x.re)) (*.f64 (*.f64 x.im x.re) (*.f64 x.im x.re))) (-.f64 (*.f64 x.im x.re) (*.f64 x.im x.re)))
(/.f64 (+.f64 (pow.f64 (*.f64 x.im x.re) #s(literal 3 binary64)) (pow.f64 (*.f64 x.im x.re) #s(literal 3 binary64))) (fma.f64 (*.f64 x.im x.re) (*.f64 x.im x.re) (-.f64 (*.f64 (*.f64 x.im x.re) (*.f64 x.im x.re)) (*.f64 (*.f64 x.im x.re) (*.f64 x.im x.re)))))
(fma.f64 x.im x.re (*.f64 x.im x.re))
(fma.f64 x.re x.im (*.f64 x.im x.re))
(-.f64 (*.f64 x.im x.re) (*.f64 (neg.f64 x.im) x.re))
(+.f64 (*.f64 x.im x.re) (*.f64 x.im x.re))
(*.f64 x.im x.re)
(*.f64 x.re x.im)
(*.f64 x.im x.re)
(*.f64 x.re x.im)
#s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (*.f64 (*.f64 (*.f64 x.im x.im) #s(literal -3 binary64)) x.re))
#s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (*.f64 (-.f64 (fma.f64 x.re x.re (neg.f64 (*.f64 x.im x.im))) (*.f64 (*.f64 x.im x.im) #s(literal 2 binary64))) x.re))
#s(approx (* (- (* x.re x.re) (* x.im x.im)) x.re) (*.f64 (neg.f64 (*.f64 x.im x.im)) x.re))
#s(approx (* (- (* x.re x.re) (* x.im x.im)) x.re) (*.f64 (fma.f64 x.re x.re (neg.f64 (*.f64 x.im x.im))) x.re))
#s(approx (- (* x.re x.re) (* x.im x.im)) (neg.f64 (*.f64 x.im x.im)))
#s(approx (- (* x.re x.re) (* x.im x.im)) (*.f64 (+.f64 x.re x.im) (-.f64 x.re x.im)))
#s(approx (* x.re x.re) (*.f64 x.re x.re))
#s(approx x.re x.re)
#s(approx (* (+ (* x.re x.im) (* x.im x.re)) x.im) (*.f64 (*.f64 (*.f64 x.im x.im) x.re) #s(literal 2 binary64)))
#s(approx (+ (* x.re x.im) (* x.im x.re)) (*.f64 #s(literal 2 binary64) (*.f64 x.im x.re)))
#s(approx (* x.re x.im) (*.f64 x.im x.re))
#s(approx (* x.re x.im) (*.f64 x.im x.re))
#s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (pow.f64 x.re #s(literal 3 binary64)))
#s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (*.f64 (fma.f64 (/.f64 (*.f64 #s(literal 3 binary64) (*.f64 x.im x.im)) (*.f64 x.re x.re)) #s(literal -1 binary64) #s(literal 1 binary64)) (pow.f64 x.re #s(literal 3 binary64))))
#s(approx (* (- (* x.re x.re) (* x.im x.im)) x.re) (pow.f64 x.re #s(literal 3 binary64)))
#s(approx (* (- (* x.re x.re) (* x.im x.im)) x.re) (*.f64 (fma.f64 (/.f64 (*.f64 x.im x.im) (*.f64 x.re x.re)) #s(literal -1 binary64) #s(literal 1 binary64)) (pow.f64 x.re #s(literal 3 binary64))))
#s(approx (- (* x.re x.re) (* x.im x.im)) (*.f64 x.re x.re))
#s(approx (- (* x.re x.re) (* x.im x.im)) (*.f64 (fma.f64 (/.f64 (*.f64 x.im x.im) (*.f64 x.re x.re)) #s(literal -1 binary64) #s(literal 1 binary64)) (*.f64 x.re x.re)))
#s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (neg.f64 (*.f64 (-.f64 (/.f64 (*.f64 x.im x.im) (*.f64 x.re x.re)) (fma.f64 #s(literal -2 binary64) (/.f64 (*.f64 x.im x.im) (*.f64 x.re x.re)) #s(literal 1 binary64))) (pow.f64 x.re #s(literal 3 binary64)))))
#s(approx (* (- (* x.re x.re) (* x.im x.im)) x.re) (neg.f64 (*.f64 (-.f64 (/.f64 (*.f64 x.im x.im) (*.f64 x.re x.re)) #s(literal 1 binary64)) (pow.f64 x.re #s(literal 3 binary64)))))
#s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (fma.f64 (*.f64 x.re #s(literal -3 binary64)) (*.f64 x.im x.im) (pow.f64 x.re #s(literal 3 binary64))))
#s(approx (* (- (* x.re x.re) (* x.im x.im)) x.re) (*.f64 (fma.f64 x.re x.re (neg.f64 (*.f64 x.im x.im))) x.re))
#s(approx (- (* x.re x.re) (* x.im x.im)) (fma.f64 x.re x.re (neg.f64 (*.f64 x.im x.im))))
#s(approx (* x.im x.im) (*.f64 x.im x.im))
#s(approx x.im x.im)
#s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (*.f64 (*.f64 x.re #s(literal -3 binary64)) (*.f64 x.im x.im)))
#s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (*.f64 (-.f64 (+.f64 (/.f64 (pow.f64 x.re #s(literal 3 binary64)) (*.f64 x.im x.im)) (neg.f64 x.re)) (*.f64 #s(literal 2 binary64) x.re)) (*.f64 x.im x.im)))
#s(approx (* (- (* x.re x.re) (* x.im x.im)) x.re) (*.f64 (+.f64 (/.f64 (pow.f64 x.re #s(literal 3 binary64)) (*.f64 x.im x.im)) (neg.f64 x.re)) (*.f64 x.im x.im)))
#s(approx (- (* x.re x.re) (* x.im x.im)) (*.f64 (-.f64 (/.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) #s(literal 1 binary64)) (*.f64 x.im x.im)))

eval13.0ms (0.5%)

Memory
-18.5MiB live, 24.9MiB allocated; 8ms collecting garbage
Compiler

Compiled 2 108 to 302 computations (85.7% saved)

prune5.0ms (0.2%)

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

7 alts after pruning (7 fresh and 0 done)

PrunedKeptTotal
New80787
Fresh000
Picked101
Done000
Total81788
Accuracy
95.0%
Counts
88 → 7
Alt Table
Click to see full alt table
StatusAccuracyProgram
86.3%
(fma.f64 (*.f64 (+.f64 x.re x.im) (-.f64 x.re x.im)) x.re (*.f64 (neg.f64 (*.f64 #s(literal 2 binary64) (*.f64 x.im x.re))) x.im))
64.1%
(-.f64 (*.f64 #s(approx (- (* x.re x.re) (* x.im x.im)) (*.f64 x.re x.re)) x.re) (*.f64 (+.f64 (*.f64 x.re x.im) (*.f64 x.im x.re)) x.im))
55.2%
(-.f64 (*.f64 #s(approx (- (* x.re x.re) (* x.im x.im)) (neg.f64 (*.f64 x.im x.im))) x.re) (*.f64 (+.f64 (*.f64 x.re x.im) (*.f64 x.im x.re)) x.im))
53.2%
#s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (pow.f64 x.re #s(literal 3 binary64)))
91.7%
#s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (*.f64 (-.f64 (fma.f64 x.re x.re (neg.f64 (*.f64 x.im x.im))) (*.f64 (*.f64 x.im x.im) #s(literal 2 binary64))) x.re))
55.2%
#s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (*.f64 (*.f64 (*.f64 x.im x.im) #s(literal -3 binary64)) x.re))
55.2%
#s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (*.f64 (*.f64 x.re #s(literal -3 binary64)) (*.f64 x.im x.im)))
Compiler

Compiled 352 to 206 computations (41.5% saved)

series27.0ms (1.1%)

Memory
-3.4MiB live, 48.4MiB allocated; 18ms collecting garbage
Counts
28 → 56
Calls
Call 1
Inputs
#s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (*.f64 (-.f64 (fma.f64 x.re x.re (neg.f64 (*.f64 x.im x.im))) (*.f64 (*.f64 x.im x.im) #s(literal 2 binary64))) x.re))
(*.f64 (-.f64 (fma.f64 x.re x.re (neg.f64 (*.f64 x.im x.im))) (*.f64 (*.f64 x.im x.im) #s(literal 2 binary64))) x.re)
(-.f64 (fma.f64 x.re x.re (neg.f64 (*.f64 x.im x.im))) (*.f64 (*.f64 x.im x.im) #s(literal 2 binary64)))
(fma.f64 x.re x.re (neg.f64 (*.f64 x.im x.im)))
x.re
(neg.f64 (*.f64 x.im x.im))
(*.f64 x.im x.im)
x.im
(*.f64 (*.f64 x.im x.im) #s(literal 2 binary64))
#s(literal 2 binary64)
#s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (*.f64 (*.f64 x.re #s(literal -3 binary64)) (*.f64 x.im x.im)))
(*.f64 (*.f64 x.re #s(literal -3 binary64)) (*.f64 x.im x.im))
(*.f64 x.re #s(literal -3 binary64))
#s(literal -3 binary64)
#s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (*.f64 (*.f64 (*.f64 x.im x.im) #s(literal -3 binary64)) x.re))
(*.f64 (*.f64 (*.f64 x.im x.im) #s(literal -3 binary64)) x.re)
(*.f64 (*.f64 x.im x.im) #s(literal -3 binary64))
(-.f64 (*.f64 #s(approx (- (* x.re x.re) (* x.im x.im)) (*.f64 x.re x.re)) x.re) (*.f64 (+.f64 (*.f64 x.re x.im) (*.f64 x.im x.re)) x.im))
(*.f64 #s(approx (- (* x.re x.re) (* x.im x.im)) (*.f64 x.re x.re)) x.re)
#s(approx (- (* x.re x.re) (* x.im x.im)) (*.f64 x.re x.re))
(*.f64 x.re x.re)
(*.f64 (+.f64 (*.f64 x.re x.im) (*.f64 x.im x.re)) x.im)
(+.f64 (*.f64 x.re x.im) (*.f64 x.im x.re))
(*.f64 x.re x.im)
(*.f64 x.im x.re)
(-.f64 (*.f64 #s(approx (- (* x.re x.re) (* x.im x.im)) (neg.f64 (*.f64 x.im x.im))) x.re) (*.f64 (+.f64 (*.f64 x.re x.im) (*.f64 x.im x.re)) x.im))
(*.f64 #s(approx (- (* x.re x.re) (* x.im x.im)) (neg.f64 (*.f64 x.im x.im))) x.re)
#s(approx (- (* x.re x.re) (* x.im x.im)) (neg.f64 (*.f64 x.im x.im)))
Outputs
#s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) #s(hole binary64 (* x.re (- (* -1 (pow x.im 2)) (* 2 (pow x.im 2))))))
#s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) #s(hole binary64 (* x.re (- (+ (* -1 (pow x.im 2)) (pow x.re 2)) (* 2 (pow x.im 2))))))
#s(approx (* (- (+ (* x.re x.re) (neg (* x.im x.im))) (* (* x.im x.im) 2)) x.re) #s(hole binary64 (* -1 (* x.re (+ (* 2 (pow x.im 2)) (pow x.im 2))))))
#s(approx (* (- (+ (* x.re x.re) (neg (* x.im x.im))) (* (* x.im x.im) 2)) x.re) #s(hole binary64 (* x.re (+ (* -1 (+ (* 2 (pow x.im 2)) (pow x.im 2))) (pow x.re 2)))))
#s(approx (- (+ (* x.re x.re) (neg (* x.im x.im))) (* (* x.im x.im) 2)) #s(hole binary64 (* -1 (+ (* 2 (pow x.im 2)) (pow x.im 2)))))
#s(approx (- (+ (* x.re x.re) (neg (* x.im x.im))) (* (* x.im x.im) 2)) #s(hole binary64 (- (pow x.re 2) (+ (* 2 (pow x.im 2)) (pow x.im 2)))))
#s(approx (+ (* x.re x.re) (neg (* x.im x.im))) #s(hole binary64 (* -1 (pow x.im 2))))
#s(approx (+ (* x.re x.re) (neg (* x.im x.im))) #s(hole binary64 (- (pow x.re 2) (pow x.im 2))))
#s(approx x.re #s(hole binary64 x.re))
#s(approx (* (* x.re -3) (* x.im x.im)) #s(hole binary64 (* -3 (* (pow x.im 2) x.re))))
#s(approx (* x.re -3) #s(hole binary64 (* -3 x.re)))
#s(approx (* (* (* x.im x.im) -3) x.re) #s(hole binary64 (* -3 (* (pow x.im 2) x.re))))
#s(approx (* (- (* x.re x.re) (* x.im x.im)) x.re) #s(hole binary64 (* -1 (* (pow x.im 2) x.re))))
#s(approx (* (- (* x.re x.re) (* x.im x.im)) x.re) #s(hole binary64 (* x.re (+ (* -1 (pow x.im 2)) (pow x.re 2)))))
#s(approx (- (* x.re x.re) (* x.im x.im)) #s(hole binary64 (* -1 (pow x.im 2))))
#s(approx (- (* x.re x.re) (* x.im x.im)) #s(hole binary64 (- (pow x.re 2) (pow x.im 2))))
#s(approx (* x.re x.re) #s(hole binary64 (pow x.re 2)))
#s(approx (* (+ (* x.re x.im) (* x.im x.re)) x.im) #s(hole binary64 (* 2 (* (pow x.im 2) x.re))))
#s(approx (+ (* x.re x.im) (* x.im x.re)) #s(hole binary64 (* 2 (* x.im x.re))))
#s(approx (* x.re x.im) #s(hole binary64 (* x.im x.re)))
#s(approx (* x.im x.re) #s(hole binary64 (* x.im x.re)))
#s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) #s(hole binary64 (pow x.re 3)))
#s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) #s(hole binary64 (* (pow x.re 3) (+ 1 (* -1 (/ (+ (* 2 (pow x.im 2)) (pow x.im 2)) (pow x.re 2)))))))
#s(approx (* (- (+ (* x.re x.re) (neg (* x.im x.im))) (* (* x.im x.im) 2)) x.re) #s(hole binary64 (pow x.re 3)))
#s(approx (* (- (+ (* x.re x.re) (neg (* x.im x.im))) (* (* x.im x.im) 2)) x.re) #s(hole binary64 (* (pow x.re 3) (+ 1 (* -1 (/ (+ (* 2 (pow x.im 2)) (pow x.im 2)) (pow x.re 2)))))))
#s(approx (- (+ (* x.re x.re) (neg (* x.im x.im))) (* (* x.im x.im) 2)) #s(hole binary64 (pow x.re 2)))
#s(approx (- (+ (* x.re x.re) (neg (* x.im x.im))) (* (* x.im x.im) 2)) #s(hole binary64 (* (pow x.re 2) (+ 1 (* -1 (/ (+ (* 2 (pow x.im 2)) (pow x.im 2)) (pow x.re 2)))))))
#s(approx (+ (* x.re x.re) (neg (* x.im x.im))) #s(hole binary64 (pow x.re 2)))
#s(approx (+ (* x.re x.re) (neg (* x.im x.im))) #s(hole binary64 (* (pow x.re 2) (+ 1 (* -1 (/ (pow x.im 2) (pow x.re 2)))))))
#s(approx (* (- (* x.re x.re) (* x.im x.im)) x.re) #s(hole binary64 (pow x.re 3)))
#s(approx (* (- (* x.re x.re) (* x.im x.im)) x.re) #s(hole binary64 (* (pow x.re 3) (+ 1 (* -1 (/ (pow x.im 2) (pow x.re 2)))))))
#s(approx (- (* x.re x.re) (* x.im x.im)) #s(hole binary64 (pow x.re 2)))
#s(approx (- (* x.re x.re) (* x.im x.im)) #s(hole binary64 (* (pow x.re 2) (+ 1 (* -1 (/ (pow x.im 2) (pow x.re 2)))))))
#s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) #s(hole binary64 (* -1 (* (pow x.re 3) (- (/ (pow x.im 2) (pow x.re 2)) (+ 1 (* -2 (/ (pow x.im 2) (pow x.re 2)))))))))
#s(approx (* (- (+ (* x.re x.re) (neg (* x.im x.im))) (* (* x.im x.im) 2)) x.re) #s(hole binary64 (* -1 (* (pow x.re 3) (- (+ (* 2 (/ (pow x.im 2) (pow x.re 2))) (/ (pow x.im 2) (pow x.re 2))) 1)))))
#s(approx (* (- (* x.re x.re) (* x.im x.im)) x.re) #s(hole binary64 (* -1 (* (pow x.re 3) (- (/ (pow x.im 2) (pow x.re 2)) 1)))))
#s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) #s(hole binary64 (+ (* (pow x.im 2) (- (* -1 x.re) (* 2 x.re))) (pow x.re 3))))
#s(approx (* (- (+ (* x.re x.re) (neg (* x.im x.im))) (* (* x.im x.im) 2)) x.re) #s(hole binary64 (+ (* -3 (* (pow x.im 2) x.re)) (pow x.re 3))))
#s(approx (- (+ (* x.re x.re) (neg (* x.im x.im))) (* (* x.im x.im) 2)) #s(hole binary64 (+ (* -3 (pow x.im 2)) (pow x.re 2))))
#s(approx (+ (* x.re x.re) (neg (* x.im x.im))) #s(hole binary64 (+ (* -1 (pow x.im 2)) (pow x.re 2))))
#s(approx (neg (* x.im x.im)) #s(hole binary64 (* -1 (pow x.im 2))))
#s(approx (* x.im x.im) #s(hole binary64 (pow x.im 2)))
#s(approx x.im #s(hole binary64 x.im))
#s(approx (* (* x.im x.im) 2) #s(hole binary64 (* 2 (pow x.im 2))))
#s(approx (* (* x.im x.im) -3) #s(hole binary64 (* -3 (pow x.im 2))))
#s(approx (* (- (* x.re x.re) (* x.im x.im)) x.re) #s(hole binary64 (+ (* -1 (* (pow x.im 2) x.re)) (pow x.re 3))))
#s(approx (- (* x.re x.re) (* x.im x.im)) #s(hole binary64 (+ (* -1 (pow x.im 2)) (pow x.re 2))))
#s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) #s(hole binary64 (* (pow x.im 2) (- (* -1 x.re) (* 2 x.re)))))
#s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) #s(hole binary64 (* (pow x.im 2) (- (+ (* -1 x.re) (/ (pow x.re 3) (pow x.im 2))) (* 2 x.re)))))
#s(approx (* (- (+ (* x.re x.re) (neg (* x.im x.im))) (* (* x.im x.im) 2)) x.re) #s(hole binary64 (* -3 (* (pow x.im 2) x.re))))
#s(approx (* (- (+ (* x.re x.re) (neg (* x.im x.im))) (* (* x.im x.im) 2)) x.re) #s(hole binary64 (* (pow x.im 2) (+ (* -3 x.re) (/ (pow x.re 3) (pow x.im 2))))))
#s(approx (- (+ (* x.re x.re) (neg (* x.im x.im))) (* (* x.im x.im) 2)) #s(hole binary64 (* -3 (pow x.im 2))))
#s(approx (- (+ (* x.re x.re) (neg (* x.im x.im))) (* (* x.im x.im) 2)) #s(hole binary64 (* (pow x.im 2) (- (/ (pow x.re 2) (pow x.im 2)) 3))))
#s(approx (+ (* x.re x.re) (neg (* x.im x.im))) #s(hole binary64 (* (pow x.im 2) (- (/ (pow x.re 2) (pow x.im 2)) 1))))
#s(approx (* (- (* x.re x.re) (* x.im x.im)) x.re) #s(hole binary64 (* (pow x.im 2) (+ (* -1 x.re) (/ (pow x.re 3) (pow x.im 2))))))
#s(approx (- (* x.re x.re) (* x.im x.im)) #s(hole binary64 (* (pow x.im 2) (- (/ (pow x.re 2) (pow x.im 2)) 1))))
Calls

6 calls:

TimeVariablePointExpression
4.0ms
x.im
@0
((- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (* (- (+ (* x.re x.re) (neg (* x.im x.im))) (* (* x.im x.im) 2)) x.re) (- (+ (* x.re x.re) (neg (* x.im x.im))) (* (* x.im x.im) 2)) (+ (* x.re x.re) (neg (* x.im x.im))) x.re (neg (* x.im x.im)) (* x.im x.im) x.im (* (* x.im x.im) 2) 2 (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (* (* x.re -3) (* x.im x.im)) (* x.re -3) -3 (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (* (* (* x.im x.im) -3) x.re) (* (* x.im x.im) -3) (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (* (- (* x.re x.re) (* x.im x.im)) x.re) (- (* x.re x.re) (* x.im x.im)) (* x.re x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im) (+ (* x.re x.im) (* x.im x.re)) (* x.re x.im) (* x.im x.re) (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (* (- (* x.re x.re) (* x.im x.im)) x.re) (- (* x.re x.re) (* x.im x.im)))
3.0ms
x.re
@-inf
((- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (* (- (+ (* x.re x.re) (neg (* x.im x.im))) (* (* x.im x.im) 2)) x.re) (- (+ (* x.re x.re) (neg (* x.im x.im))) (* (* x.im x.im) 2)) (+ (* x.re x.re) (neg (* x.im x.im))) x.re (neg (* x.im x.im)) (* x.im x.im) x.im (* (* x.im x.im) 2) 2 (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (* (* x.re -3) (* x.im x.im)) (* x.re -3) -3 (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (* (* (* x.im x.im) -3) x.re) (* (* x.im x.im) -3) (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (* (- (* x.re x.re) (* x.im x.im)) x.re) (- (* x.re x.re) (* x.im x.im)) (* x.re x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im) (+ (* x.re x.im) (* x.im x.re)) (* x.re x.im) (* x.im x.re) (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (* (- (* x.re x.re) (* x.im x.im)) x.re) (- (* x.re x.re) (* x.im x.im)))
3.0ms
x.re
@inf
((- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (* (- (+ (* x.re x.re) (neg (* x.im x.im))) (* (* x.im x.im) 2)) x.re) (- (+ (* x.re x.re) (neg (* x.im x.im))) (* (* x.im x.im) 2)) (+ (* x.re x.re) (neg (* x.im x.im))) x.re (neg (* x.im x.im)) (* x.im x.im) x.im (* (* x.im x.im) 2) 2 (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (* (* x.re -3) (* x.im x.im)) (* x.re -3) -3 (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (* (* (* x.im x.im) -3) x.re) (* (* x.im x.im) -3) (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (* (- (* x.re x.re) (* x.im x.im)) x.re) (- (* x.re x.re) (* x.im x.im)) (* x.re x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im) (+ (* x.re x.im) (* x.im x.re)) (* x.re x.im) (* x.im x.re) (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (* (- (* x.re x.re) (* x.im x.im)) x.re) (- (* x.re x.re) (* x.im x.im)))
3.0ms
x.im
@inf
((- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (* (- (+ (* x.re x.re) (neg (* x.im x.im))) (* (* x.im x.im) 2)) x.re) (- (+ (* x.re x.re) (neg (* x.im x.im))) (* (* x.im x.im) 2)) (+ (* x.re x.re) (neg (* x.im x.im))) x.re (neg (* x.im x.im)) (* x.im x.im) x.im (* (* x.im x.im) 2) 2 (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (* (* x.re -3) (* x.im x.im)) (* x.re -3) -3 (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (* (* (* x.im x.im) -3) x.re) (* (* x.im x.im) -3) (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (* (- (* x.re x.re) (* x.im x.im)) x.re) (- (* x.re x.re) (* x.im x.im)) (* x.re x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im) (+ (* x.re x.im) (* x.im x.re)) (* x.re x.im) (* x.im x.re) (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (* (- (* x.re x.re) (* x.im x.im)) x.re) (- (* x.re x.re) (* x.im x.im)))
3.0ms
x.im
@-inf
((- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (* (- (+ (* x.re x.re) (neg (* x.im x.im))) (* (* x.im x.im) 2)) x.re) (- (+ (* x.re x.re) (neg (* x.im x.im))) (* (* x.im x.im) 2)) (+ (* x.re x.re) (neg (* x.im x.im))) x.re (neg (* x.im x.im)) (* x.im x.im) x.im (* (* x.im x.im) 2) 2 (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (* (* x.re -3) (* x.im x.im)) (* x.re -3) -3 (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (* (* (* x.im x.im) -3) x.re) (* (* x.im x.im) -3) (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (* (- (* x.re x.re) (* x.im x.im)) x.re) (- (* x.re x.re) (* x.im x.im)) (* x.re x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im) (+ (* x.re x.im) (* x.im x.re)) (* x.re x.im) (* x.im x.re) (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (* (- (* x.re x.re) (* x.im x.im)) x.re) (- (* x.re x.re) (* x.im x.im)))

rewrite55.0ms (2.4%)

Memory
-3.1MiB live, 84.9MiB allocated; 11ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01751461
02081273
08141248
Stop Event
iter limit
iter limit
node limit
iter limit
Counts
84 → 197
Calls
Call 1
Inputs
#s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (*.f64 (-.f64 (fma.f64 x.re x.re (neg.f64 (*.f64 x.im x.im))) (*.f64 (*.f64 x.im x.im) #s(literal 2 binary64))) x.re))
(*.f64 (-.f64 (fma.f64 x.re x.re (neg.f64 (*.f64 x.im x.im))) (*.f64 (*.f64 x.im x.im) #s(literal 2 binary64))) x.re)
(-.f64 (fma.f64 x.re x.re (neg.f64 (*.f64 x.im x.im))) (*.f64 (*.f64 x.im x.im) #s(literal 2 binary64)))
(fma.f64 x.re x.re (neg.f64 (*.f64 x.im x.im)))
x.re
(neg.f64 (*.f64 x.im x.im))
(*.f64 x.im x.im)
x.im
(*.f64 (*.f64 x.im x.im) #s(literal 2 binary64))
#s(literal 2 binary64)
#s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (*.f64 (*.f64 x.re #s(literal -3 binary64)) (*.f64 x.im x.im)))
(*.f64 (*.f64 x.re #s(literal -3 binary64)) (*.f64 x.im x.im))
(*.f64 x.re #s(literal -3 binary64))
#s(literal -3 binary64)
#s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (*.f64 (*.f64 (*.f64 x.im x.im) #s(literal -3 binary64)) x.re))
(*.f64 (*.f64 (*.f64 x.im x.im) #s(literal -3 binary64)) x.re)
(*.f64 (*.f64 x.im x.im) #s(literal -3 binary64))
(-.f64 (*.f64 #s(approx (- (* x.re x.re) (* x.im x.im)) (*.f64 x.re x.re)) x.re) (*.f64 (+.f64 (*.f64 x.re x.im) (*.f64 x.im x.re)) x.im))
(*.f64 #s(approx (- (* x.re x.re) (* x.im x.im)) (*.f64 x.re x.re)) x.re)
#s(approx (- (* x.re x.re) (* x.im x.im)) (*.f64 x.re x.re))
(*.f64 x.re x.re)
(*.f64 (+.f64 (*.f64 x.re x.im) (*.f64 x.im x.re)) x.im)
(+.f64 (*.f64 x.re x.im) (*.f64 x.im x.re))
(*.f64 x.re x.im)
(*.f64 x.im x.re)
(-.f64 (*.f64 #s(approx (- (* x.re x.re) (* x.im x.im)) (neg.f64 (*.f64 x.im x.im))) x.re) (*.f64 (+.f64 (*.f64 x.re x.im) (*.f64 x.im x.re)) x.im))
(*.f64 #s(approx (- (* x.re x.re) (* x.im x.im)) (neg.f64 (*.f64 x.im x.im))) x.re)
#s(approx (- (* x.re x.re) (* x.im x.im)) (neg.f64 (*.f64 x.im x.im)))
#s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) #s(hole binary64 (* x.re (- (* -1 (pow x.im 2)) (* 2 (pow x.im 2))))))
#s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) #s(hole binary64 (* x.re (- (+ (* -1 (pow x.im 2)) (pow x.re 2)) (* 2 (pow x.im 2))))))
#s(approx (* (- (+ (* x.re x.re) (neg (* x.im x.im))) (* (* x.im x.im) 2)) x.re) #s(hole binary64 (* -1 (* x.re (+ (* 2 (pow x.im 2)) (pow x.im 2))))))
#s(approx (* (- (+ (* x.re x.re) (neg (* x.im x.im))) (* (* x.im x.im) 2)) x.re) #s(hole binary64 (* x.re (+ (* -1 (+ (* 2 (pow x.im 2)) (pow x.im 2))) (pow x.re 2)))))
#s(approx (- (+ (* x.re x.re) (neg (* x.im x.im))) (* (* x.im x.im) 2)) #s(hole binary64 (* -1 (+ (* 2 (pow x.im 2)) (pow x.im 2)))))
#s(approx (- (+ (* x.re x.re) (neg (* x.im x.im))) (* (* x.im x.im) 2)) #s(hole binary64 (- (pow x.re 2) (+ (* 2 (pow x.im 2)) (pow x.im 2)))))
#s(approx (+ (* x.re x.re) (neg (* x.im x.im))) #s(hole binary64 (* -1 (pow x.im 2))))
#s(approx (+ (* x.re x.re) (neg (* x.im x.im))) #s(hole binary64 (- (pow x.re 2) (pow x.im 2))))
#s(approx x.re #s(hole binary64 x.re))
#s(approx (* (* x.re -3) (* x.im x.im)) #s(hole binary64 (* -3 (* (pow x.im 2) x.re))))
#s(approx (* x.re -3) #s(hole binary64 (* -3 x.re)))
#s(approx (* (* (* x.im x.im) -3) x.re) #s(hole binary64 (* -3 (* (pow x.im 2) x.re))))
#s(approx (* (- (* x.re x.re) (* x.im x.im)) x.re) #s(hole binary64 (* -1 (* (pow x.im 2) x.re))))
#s(approx (* (- (* x.re x.re) (* x.im x.im)) x.re) #s(hole binary64 (* x.re (+ (* -1 (pow x.im 2)) (pow x.re 2)))))
#s(approx (- (* x.re x.re) (* x.im x.im)) #s(hole binary64 (* -1 (pow x.im 2))))
#s(approx (- (* x.re x.re) (* x.im x.im)) #s(hole binary64 (- (pow x.re 2) (pow x.im 2))))
#s(approx (* x.re x.re) #s(hole binary64 (pow x.re 2)))
#s(approx (* (+ (* x.re x.im) (* x.im x.re)) x.im) #s(hole binary64 (* 2 (* (pow x.im 2) x.re))))
#s(approx (+ (* x.re x.im) (* x.im x.re)) #s(hole binary64 (* 2 (* x.im x.re))))
#s(approx (* x.re x.im) #s(hole binary64 (* x.im x.re)))
#s(approx (* x.im x.re) #s(hole binary64 (* x.im x.re)))
#s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) #s(hole binary64 (pow x.re 3)))
#s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) #s(hole binary64 (* (pow x.re 3) (+ 1 (* -1 (/ (+ (* 2 (pow x.im 2)) (pow x.im 2)) (pow x.re 2)))))))
#s(approx (* (- (+ (* x.re x.re) (neg (* x.im x.im))) (* (* x.im x.im) 2)) x.re) #s(hole binary64 (pow x.re 3)))
#s(approx (* (- (+ (* x.re x.re) (neg (* x.im x.im))) (* (* x.im x.im) 2)) x.re) #s(hole binary64 (* (pow x.re 3) (+ 1 (* -1 (/ (+ (* 2 (pow x.im 2)) (pow x.im 2)) (pow x.re 2)))))))
#s(approx (- (+ (* x.re x.re) (neg (* x.im x.im))) (* (* x.im x.im) 2)) #s(hole binary64 (pow x.re 2)))
#s(approx (- (+ (* x.re x.re) (neg (* x.im x.im))) (* (* x.im x.im) 2)) #s(hole binary64 (* (pow x.re 2) (+ 1 (* -1 (/ (+ (* 2 (pow x.im 2)) (pow x.im 2)) (pow x.re 2)))))))
#s(approx (+ (* x.re x.re) (neg (* x.im x.im))) #s(hole binary64 (pow x.re 2)))
#s(approx (+ (* x.re x.re) (neg (* x.im x.im))) #s(hole binary64 (* (pow x.re 2) (+ 1 (* -1 (/ (pow x.im 2) (pow x.re 2)))))))
#s(approx (* (- (* x.re x.re) (* x.im x.im)) x.re) #s(hole binary64 (pow x.re 3)))
#s(approx (* (- (* x.re x.re) (* x.im x.im)) x.re) #s(hole binary64 (* (pow x.re 3) (+ 1 (* -1 (/ (pow x.im 2) (pow x.re 2)))))))
#s(approx (- (* x.re x.re) (* x.im x.im)) #s(hole binary64 (pow x.re 2)))
#s(approx (- (* x.re x.re) (* x.im x.im)) #s(hole binary64 (* (pow x.re 2) (+ 1 (* -1 (/ (pow x.im 2) (pow x.re 2)))))))
#s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) #s(hole binary64 (* -1 (* (pow x.re 3) (- (/ (pow x.im 2) (pow x.re 2)) (+ 1 (* -2 (/ (pow x.im 2) (pow x.re 2)))))))))
#s(approx (* (- (+ (* x.re x.re) (neg (* x.im x.im))) (* (* x.im x.im) 2)) x.re) #s(hole binary64 (* -1 (* (pow x.re 3) (- (+ (* 2 (/ (pow x.im 2) (pow x.re 2))) (/ (pow x.im 2) (pow x.re 2))) 1)))))
#s(approx (* (- (* x.re x.re) (* x.im x.im)) x.re) #s(hole binary64 (* -1 (* (pow x.re 3) (- (/ (pow x.im 2) (pow x.re 2)) 1)))))
#s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) #s(hole binary64 (+ (* (pow x.im 2) (- (* -1 x.re) (* 2 x.re))) (pow x.re 3))))
#s(approx (* (- (+ (* x.re x.re) (neg (* x.im x.im))) (* (* x.im x.im) 2)) x.re) #s(hole binary64 (+ (* -3 (* (pow x.im 2) x.re)) (pow x.re 3))))
#s(approx (- (+ (* x.re x.re) (neg (* x.im x.im))) (* (* x.im x.im) 2)) #s(hole binary64 (+ (* -3 (pow x.im 2)) (pow x.re 2))))
#s(approx (+ (* x.re x.re) (neg (* x.im x.im))) #s(hole binary64 (+ (* -1 (pow x.im 2)) (pow x.re 2))))
#s(approx (neg (* x.im x.im)) #s(hole binary64 (* -1 (pow x.im 2))))
#s(approx (* x.im x.im) #s(hole binary64 (pow x.im 2)))
#s(approx x.im #s(hole binary64 x.im))
#s(approx (* (* x.im x.im) 2) #s(hole binary64 (* 2 (pow x.im 2))))
#s(approx (* (* x.im x.im) -3) #s(hole binary64 (* -3 (pow x.im 2))))
#s(approx (* (- (* x.re x.re) (* x.im x.im)) x.re) #s(hole binary64 (+ (* -1 (* (pow x.im 2) x.re)) (pow x.re 3))))
#s(approx (- (* x.re x.re) (* x.im x.im)) #s(hole binary64 (+ (* -1 (pow x.im 2)) (pow x.re 2))))
#s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) #s(hole binary64 (* (pow x.im 2) (- (* -1 x.re) (* 2 x.re)))))
#s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) #s(hole binary64 (* (pow x.im 2) (- (+ (* -1 x.re) (/ (pow x.re 3) (pow x.im 2))) (* 2 x.re)))))
#s(approx (* (- (+ (* x.re x.re) (neg (* x.im x.im))) (* (* x.im x.im) 2)) x.re) #s(hole binary64 (* -3 (* (pow x.im 2) x.re))))
#s(approx (* (- (+ (* x.re x.re) (neg (* x.im x.im))) (* (* x.im x.im) 2)) x.re) #s(hole binary64 (* (pow x.im 2) (+ (* -3 x.re) (/ (pow x.re 3) (pow x.im 2))))))
#s(approx (- (+ (* x.re x.re) (neg (* x.im x.im))) (* (* x.im x.im) 2)) #s(hole binary64 (* -3 (pow x.im 2))))
#s(approx (- (+ (* x.re x.re) (neg (* x.im x.im))) (* (* x.im x.im) 2)) #s(hole binary64 (* (pow x.im 2) (- (/ (pow x.re 2) (pow x.im 2)) 3))))
#s(approx (+ (* x.re x.re) (neg (* x.im x.im))) #s(hole binary64 (* (pow x.im 2) (- (/ (pow x.re 2) (pow x.im 2)) 1))))
#s(approx (* (- (* x.re x.re) (* x.im x.im)) x.re) #s(hole binary64 (* (pow x.im 2) (+ (* -1 x.re) (/ (pow x.re 3) (pow x.im 2))))))
#s(approx (- (* x.re x.re) (* x.im x.im)) #s(hole binary64 (* (pow x.im 2) (- (/ (pow x.re 2) (pow x.im 2)) 1))))
Outputs
#s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (*.f64 (fma.f64 (*.f64 x.im x.im) #s(literal -3 binary64) (*.f64 x.re x.re)) x.re))
(*.f64 (fma.f64 (*.f64 x.im x.im) #s(literal -3 binary64) (*.f64 x.re x.re)) x.re)
(*.f64 x.re (fma.f64 (*.f64 x.im x.im) #s(literal -3 binary64) (*.f64 x.re x.re)))
(/.f64 (-.f64 (*.f64 (*.f64 (+.f64 x.re x.im) (-.f64 x.re x.im)) (*.f64 (+.f64 x.re x.im) (-.f64 x.re x.im))) (*.f64 (*.f64 (*.f64 x.im x.im) #s(literal 2 binary64)) (*.f64 (*.f64 x.im x.im) #s(literal 2 binary64)))) (fma.f64 (+.f64 x.re x.im) (-.f64 x.re x.im) (*.f64 (*.f64 x.im x.im) #s(literal 2 binary64))))
(/.f64 (-.f64 (*.f64 (*.f64 (*.f64 x.im x.im) #s(literal -3 binary64)) (*.f64 (*.f64 x.im x.im) #s(literal -3 binary64))) (*.f64 (*.f64 x.re x.re) (*.f64 x.re x.re))) (-.f64 (*.f64 (*.f64 x.im x.im) #s(literal -3 binary64)) (*.f64 x.re x.re)))
(/.f64 (-.f64 (pow.f64 (*.f64 (+.f64 x.re x.im) (-.f64 x.re x.im)) #s(literal 3 binary64)) (pow.f64 (*.f64 (*.f64 x.im x.im) #s(literal 2 binary64)) #s(literal 3 binary64))) (fma.f64 (*.f64 (+.f64 x.re x.im) (-.f64 x.re x.im)) (*.f64 (+.f64 x.re x.im) (-.f64 x.re x.im)) (fma.f64 (*.f64 (*.f64 x.im x.im) #s(literal 2 binary64)) (*.f64 (*.f64 x.im x.im) #s(literal 2 binary64)) (*.f64 (*.f64 (+.f64 x.re x.im) (-.f64 x.re x.im)) (*.f64 (*.f64 x.im x.im) #s(literal 2 binary64))))))
(/.f64 (+.f64 (pow.f64 (*.f64 (*.f64 x.im x.im) #s(literal -3 binary64)) #s(literal 3 binary64)) (pow.f64 (*.f64 x.re x.re) #s(literal 3 binary64))) (fma.f64 (*.f64 (*.f64 x.im x.im) #s(literal -3 binary64)) (*.f64 (*.f64 x.im x.im) #s(literal -3 binary64)) (-.f64 (*.f64 (*.f64 x.re x.re) (*.f64 x.re x.re)) (*.f64 (*.f64 (*.f64 x.im x.im) #s(literal -3 binary64)) (*.f64 x.re x.re)))))
(fma.f64 (+.f64 x.re x.im) (-.f64 x.re x.im) (*.f64 #s(literal -2 binary64) (*.f64 x.im x.im)))
(fma.f64 (+.f64 x.re x.im) (-.f64 x.re x.im) (*.f64 (*.f64 (neg.f64 x.im) x.im) #s(literal 2 binary64)))
(fma.f64 (pow.f64 x.re #s(literal 1 binary64)) (pow.f64 x.re #s(literal 1 binary64)) (*.f64 (*.f64 x.im x.im) #s(literal -3 binary64)))
(fma.f64 (neg.f64 x.im) x.im (-.f64 (*.f64 x.re x.re) (*.f64 (*.f64 x.im x.im) #s(literal 2 binary64))))
(fma.f64 (fabs.f64 x.re) (fabs.f64 x.re) (*.f64 (*.f64 x.im x.im) #s(literal -3 binary64)))
(fma.f64 (neg.f64 x.re) (neg.f64 x.re) (*.f64 (*.f64 x.im x.im) #s(literal -3 binary64)))
(fma.f64 (*.f64 x.im x.im) #s(literal -1 binary64) (-.f64 (*.f64 x.re x.re) (*.f64 (*.f64 x.im x.im) #s(literal 2 binary64))))
(fma.f64 (*.f64 x.im x.im) #s(literal -3 binary64) (*.f64 x.re x.re))
(fma.f64 #s(literal -1 binary64) (*.f64 x.im x.im) (-.f64 (*.f64 x.re x.re) (*.f64 (*.f64 x.im x.im) #s(literal 2 binary64))))
(fma.f64 #s(literal -3 binary64) (*.f64 x.im x.im) (*.f64 x.re x.re))
(fma.f64 x.im (*.f64 x.im #s(literal -3 binary64)) (*.f64 x.re x.re))
(fma.f64 x.im (neg.f64 x.im) (-.f64 (*.f64 x.re x.re) (*.f64 (*.f64 x.im x.im) #s(literal 2 binary64))))
(fma.f64 x.re x.re (*.f64 (*.f64 x.im x.im) #s(literal -3 binary64)))
(-.f64 (*.f64 (+.f64 x.re x.im) (-.f64 x.re x.im)) (*.f64 (*.f64 x.im x.im) #s(literal 2 binary64)))
(+.f64 (*.f64 (*.f64 x.im x.im) #s(literal -3 binary64)) (*.f64 x.re x.re))
(+.f64 (*.f64 (+.f64 x.re x.im) (-.f64 x.re x.im)) (*.f64 #s(literal -2 binary64) (*.f64 x.im x.im)))
(+.f64 (*.f64 (+.f64 x.re x.im) (-.f64 x.re x.im)) (*.f64 (*.f64 (neg.f64 x.im) x.im) #s(literal 2 binary64)))
(+.f64 (*.f64 x.re x.re) (*.f64 (*.f64 x.im x.im) #s(literal -3 binary64)))
(+.f64 (*.f64 (neg.f64 x.im) x.im) (-.f64 (*.f64 x.re x.re) (*.f64 (*.f64 x.im x.im) #s(literal 2 binary64))))
(*.f64 (+.f64 x.re x.im) (-.f64 x.re x.im))
(/.f64 (-.f64 (*.f64 (*.f64 x.re x.re) (*.f64 x.re x.re)) (*.f64 (*.f64 x.im x.im) (*.f64 x.im x.im))) (fma.f64 x.re x.re (*.f64 x.im x.im)))
(/.f64 (-.f64 (*.f64 (*.f64 x.re x.re) (*.f64 x.re x.re)) (*.f64 (*.f64 (neg.f64 x.im) x.im) (*.f64 (neg.f64 x.im) x.im))) (-.f64 (*.f64 x.re x.re) (*.f64 (neg.f64 x.im) x.im)))
(/.f64 (-.f64 (*.f64 (*.f64 (neg.f64 x.im) x.im) (*.f64 (neg.f64 x.im) x.im)) (*.f64 (*.f64 x.re x.re) (*.f64 x.re x.re))) (-.f64 (*.f64 (neg.f64 x.im) x.im) (*.f64 x.re x.re)))
(/.f64 (-.f64 (pow.f64 (*.f64 x.re x.re) #s(literal 3 binary64)) (pow.f64 (*.f64 x.im x.im) #s(literal 3 binary64))) (fma.f64 (*.f64 x.re x.re) (*.f64 x.re x.re) (fma.f64 (*.f64 x.im x.im) (*.f64 x.im x.im) (*.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))))
(/.f64 (+.f64 (pow.f64 (*.f64 x.re x.re) #s(literal 3 binary64)) (pow.f64 (*.f64 (neg.f64 x.im) x.im) #s(literal 3 binary64))) (fma.f64 (*.f64 x.re x.re) (*.f64 x.re x.re) (-.f64 (*.f64 (*.f64 (neg.f64 x.im) x.im) (*.f64 (neg.f64 x.im) x.im)) (*.f64 (*.f64 x.re x.re) (*.f64 (neg.f64 x.im) x.im)))))
(/.f64 (+.f64 (pow.f64 (*.f64 (neg.f64 x.im) x.im) #s(literal 3 binary64)) (pow.f64 (*.f64 x.re x.re) #s(literal 3 binary64))) (fma.f64 (*.f64 (neg.f64 x.im) x.im) (*.f64 (neg.f64 x.im) x.im) (-.f64 (*.f64 (*.f64 x.re x.re) (*.f64 x.re x.re)) (*.f64 (*.f64 (neg.f64 x.im) x.im) (*.f64 x.re x.re)))))
(fma.f64 (pow.f64 x.re #s(literal 1 binary64)) (pow.f64 x.re #s(literal 1 binary64)) (*.f64 (neg.f64 x.im) x.im))
(fma.f64 (neg.f64 x.im) x.im (*.f64 x.re x.re))
(fma.f64 (fabs.f64 x.re) (fabs.f64 x.re) (*.f64 (neg.f64 x.im) x.im))
(fma.f64 (neg.f64 x.re) (neg.f64 x.re) (*.f64 (neg.f64 x.im) x.im))
(fma.f64 (*.f64 x.im x.im) #s(literal -1 binary64) (*.f64 x.re x.re))
(fma.f64 #s(literal -1 binary64) (*.f64 x.im x.im) (*.f64 x.re x.re))
(fma.f64 x.im (neg.f64 x.im) (*.f64 x.re x.re))
(fma.f64 x.re x.re (*.f64 (neg.f64 x.im) x.im))
(-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))
(+.f64 (*.f64 x.re x.re) (*.f64 (neg.f64 x.im) x.im))
(+.f64 (*.f64 (neg.f64 x.im) x.im) (*.f64 x.re x.re))
x.re
(*.f64 (neg.f64 x.im) x.im)
(*.f64 (*.f64 x.im x.im) #s(literal -1 binary64))
(*.f64 #s(literal -1 binary64) (*.f64 x.im x.im))
(*.f64 x.im (neg.f64 x.im))
(neg.f64 (*.f64 x.im x.im))
(*.f64 (pow.f64 x.im #s(literal 1 binary64)) (pow.f64 x.im #s(literal 1 binary64)))
(*.f64 (neg.f64 x.im) (neg.f64 x.im))
(*.f64 (fabs.f64 x.im) (fabs.f64 x.im))
(*.f64 x.im x.im)
(pow.f64 x.im #s(literal 2 binary64))
(exp.f64 (*.f64 (log.f64 x.im) #s(literal 2 binary64)))
x.im
(*.f64 (*.f64 x.im x.im) #s(literal 2 binary64))
(*.f64 #s(literal 2 binary64) (*.f64 x.im x.im))
(*.f64 x.im (*.f64 x.im #s(literal 2 binary64)))
(fma.f64 (pow.f64 x.im #s(literal 1 binary64)) (pow.f64 x.im #s(literal 1 binary64)) (*.f64 x.im x.im))
(fma.f64 (neg.f64 x.im) (neg.f64 x.im) (*.f64 x.im x.im))
(fma.f64 (fabs.f64 x.im) (fabs.f64 x.im) (*.f64 x.im x.im))
(fma.f64 x.im x.im (*.f64 x.im x.im))
(+.f64 (*.f64 x.im x.im) (*.f64 x.im x.im))
#s(literal 2 binary64)
#s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (*.f64 (*.f64 (*.f64 x.im x.im) x.re) #s(literal -3 binary64)))
(*.f64 (*.f64 (*.f64 #s(literal -3 binary64) x.re) x.im) x.im)
(*.f64 (*.f64 (*.f64 x.im x.im) #s(literal -3 binary64)) x.re)
(*.f64 (*.f64 #s(literal -3 binary64) x.re) (*.f64 x.im x.im))
(*.f64 (*.f64 (*.f64 x.im x.im) x.re) #s(literal -3 binary64))
(*.f64 (*.f64 x.im x.im) (*.f64 #s(literal -3 binary64) x.re))
(*.f64 #s(literal -3 binary64) (*.f64 (*.f64 x.im x.im) x.re))
(*.f64 x.re (*.f64 (*.f64 x.im x.im) #s(literal -3 binary64)))
(*.f64 #s(literal -3 binary64) x.re)
(*.f64 x.re #s(literal -3 binary64))
(/.f64 (-.f64 (*.f64 x.re x.re) (*.f64 (*.f64 #s(literal 2 binary64) x.re) (*.f64 #s(literal 2 binary64) x.re))) (fma.f64 #s(literal -1 binary64) x.re (*.f64 #s(literal 2 binary64) x.re)))
(/.f64 (-.f64 (pow.f64 (neg.f64 x.re) #s(literal 3 binary64)) (pow.f64 (*.f64 #s(literal 2 binary64) x.re) #s(literal 3 binary64))) (fma.f64 x.re x.re (fma.f64 (*.f64 #s(literal 2 binary64) x.re) (*.f64 #s(literal 2 binary64) x.re) (*.f64 (neg.f64 x.re) (*.f64 #s(literal 2 binary64) x.re)))))
(fma.f64 #s(literal -1 binary64) x.re (*.f64 #s(literal -2 binary64) x.re))
(fma.f64 x.re #s(literal -1 binary64) (*.f64 #s(literal -2 binary64) x.re))
(-.f64 (neg.f64 x.re) (*.f64 #s(literal 2 binary64) x.re))
(+.f64 (neg.f64 x.re) (*.f64 #s(literal -2 binary64) x.re))
#s(literal -3 binary64)
#s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (*.f64 (*.f64 (*.f64 x.im x.im) x.re) #s(literal -3 binary64)))
(*.f64 (*.f64 (*.f64 #s(literal -3 binary64) x.re) x.im) x.im)
(*.f64 (*.f64 (*.f64 x.im x.im) #s(literal -3 binary64)) x.re)
(*.f64 (*.f64 #s(literal -3 binary64) x.re) (*.f64 x.im x.im))
(*.f64 (*.f64 (*.f64 x.im x.im) x.re) #s(literal -3 binary64))
(*.f64 (*.f64 x.im x.im) (*.f64 #s(literal -3 binary64) x.re))
(*.f64 #s(literal -3 binary64) (*.f64 (*.f64 x.im x.im) x.re))
(*.f64 x.re (*.f64 (*.f64 x.im x.im) #s(literal -3 binary64)))
(*.f64 (*.f64 x.im x.im) #s(literal -3 binary64))
(*.f64 #s(literal -3 binary64) (*.f64 x.im x.im))
(*.f64 x.im (*.f64 x.im #s(literal -3 binary64)))
(/.f64 (-.f64 (*.f64 (*.f64 (neg.f64 x.im) x.im) (*.f64 (neg.f64 x.im) x.im)) (*.f64 (*.f64 (*.f64 x.im x.im) #s(literal 2 binary64)) (*.f64 (*.f64 x.im x.im) #s(literal 2 binary64)))) (fma.f64 (neg.f64 x.im) x.im (*.f64 (*.f64 x.im x.im) #s(literal 2 binary64))))
(/.f64 (-.f64 (pow.f64 (*.f64 (neg.f64 x.im) x.im) #s(literal 3 binary64)) (pow.f64 (*.f64 (*.f64 x.im x.im) #s(literal 2 binary64)) #s(literal 3 binary64))) (fma.f64 (*.f64 (neg.f64 x.im) x.im) (*.f64 (neg.f64 x.im) x.im) (fma.f64 (*.f64 (*.f64 x.im x.im) #s(literal 2 binary64)) (*.f64 (*.f64 x.im x.im) #s(literal 2 binary64)) (*.f64 (*.f64 (neg.f64 x.im) x.im) (*.f64 (*.f64 x.im x.im) #s(literal 2 binary64))))))
(fma.f64 (neg.f64 x.im) x.im (*.f64 #s(literal -2 binary64) (*.f64 x.im x.im)))
(fma.f64 (*.f64 x.im x.im) #s(literal -1 binary64) (*.f64 #s(literal -2 binary64) (*.f64 x.im x.im)))
(fma.f64 #s(literal -1 binary64) (*.f64 x.im x.im) (*.f64 #s(literal -2 binary64) (*.f64 x.im x.im)))
(fma.f64 x.im (neg.f64 x.im) (*.f64 #s(literal -2 binary64) (*.f64 x.im x.im)))
(-.f64 (*.f64 (neg.f64 x.im) x.im) (*.f64 (*.f64 x.im x.im) #s(literal 2 binary64)))
(+.f64 (*.f64 (neg.f64 x.im) x.im) (*.f64 #s(literal -2 binary64) (*.f64 x.im x.im)))
(/.f64 (-.f64 (*.f64 (*.f64 #s(approx (+ (* x.re x.re) (neg (* x.im x.im))) (*.f64 x.re x.re)) x.re) (*.f64 #s(approx (+ (* x.re x.re) (neg (* x.im x.im))) (*.f64 x.re x.re)) x.re)) (*.f64 (*.f64 (*.f64 #s(literal 2 binary64) (*.f64 x.im x.re)) x.im) (*.f64 (*.f64 #s(literal 2 binary64) (*.f64 x.im x.re)) x.im))) (fma.f64 #s(approx (+ (* x.re x.re) (neg (* x.im x.im))) (*.f64 x.re x.re)) x.re (*.f64 (*.f64 #s(literal 2 binary64) (*.f64 x.im x.re)) x.im)))
(/.f64 (-.f64 (pow.f64 (*.f64 #s(approx (+ (* x.re x.re) (neg (* x.im x.im))) (*.f64 x.re x.re)) x.re) #s(literal 3 binary64)) (pow.f64 (*.f64 (*.f64 #s(literal 2 binary64) (*.f64 x.im x.re)) x.im) #s(literal 3 binary64))) (fma.f64 (*.f64 #s(approx (+ (* x.re x.re) (neg (* x.im x.im))) (*.f64 x.re x.re)) x.re) (*.f64 #s(approx (+ (* x.re x.re) (neg (* x.im x.im))) (*.f64 x.re x.re)) x.re) (fma.f64 (*.f64 (*.f64 #s(literal 2 binary64) (*.f64 x.im x.re)) x.im) (*.f64 (*.f64 #s(literal 2 binary64) (*.f64 x.im x.re)) x.im) (*.f64 (*.f64 #s(approx (+ (* x.re x.re) (neg (* x.im x.im))) (*.f64 x.re x.re)) x.re) (*.f64 (*.f64 #s(literal 2 binary64) (*.f64 x.im x.re)) x.im)))))
(fma.f64 #s(approx (+ (* x.re x.re) (neg (* x.im x.im))) (*.f64 x.re x.re)) x.re (*.f64 (neg.f64 (*.f64 #s(literal 2 binary64) (*.f64 x.im x.re))) x.im))
(fma.f64 x.re #s(approx (+ (* x.re x.re) (neg (* x.im x.im))) (*.f64 x.re x.re)) (*.f64 (neg.f64 (*.f64 #s(literal 2 binary64) (*.f64 x.im x.re))) x.im))
(-.f64 (*.f64 #s(approx (+ (* x.re x.re) (neg (* x.im x.im))) (*.f64 x.re x.re)) x.re) (*.f64 (*.f64 #s(literal 2 binary64) (*.f64 x.im x.re)) x.im))
(+.f64 (*.f64 #s(approx (+ (* x.re x.re) (neg (* x.im x.im))) (*.f64 x.re x.re)) x.re) (*.f64 (neg.f64 (*.f64 #s(literal 2 binary64) (*.f64 x.im x.re))) x.im))
(*.f64 #s(approx (+ (* x.re x.re) (neg (* x.im x.im))) (*.f64 x.re x.re)) x.re)
(*.f64 x.re #s(approx (+ (* x.re x.re) (neg (* x.im x.im))) (*.f64 x.re x.re)))
#s(approx (+ (* x.re x.re) (neg (* x.im x.im))) (*.f64 x.re x.re))
(*.f64 (pow.f64 x.re #s(literal 1 binary64)) (pow.f64 x.re #s(literal 1 binary64)))
(*.f64 (fabs.f64 x.re) (fabs.f64 x.re))
(*.f64 (neg.f64 x.re) (neg.f64 x.re))
(*.f64 x.re x.re)
(pow.f64 x.re #s(literal 2 binary64))
(exp.f64 (*.f64 (log.f64 x.re) #s(literal 2 binary64)))
(*.f64 (*.f64 #s(literal 2 binary64) (*.f64 x.im x.re)) x.im)
(*.f64 x.im (*.f64 #s(literal 2 binary64) (*.f64 x.im x.re)))
(*.f64 (*.f64 #s(literal 2 binary64) x.im) x.re)
(*.f64 #s(literal 2 binary64) (*.f64 x.im x.re))
(*.f64 (*.f64 x.im x.re) #s(literal 2 binary64))
(/.f64 (-.f64 (*.f64 (*.f64 x.im x.re) (*.f64 x.im x.re)) (*.f64 (*.f64 x.im x.re) (*.f64 x.im x.re))) (-.f64 (*.f64 x.im x.re) (*.f64 x.im x.re)))
(/.f64 (+.f64 (pow.f64 (*.f64 x.im x.re) #s(literal 3 binary64)) (pow.f64 (*.f64 x.im x.re) #s(literal 3 binary64))) (fma.f64 (*.f64 x.im x.re) (*.f64 x.im x.re) (-.f64 (*.f64 (*.f64 x.im x.re) (*.f64 x.im x.re)) (*.f64 (*.f64 x.im x.re) (*.f64 x.im x.re)))))
(fma.f64 x.im x.re (*.f64 x.im x.re))
(fma.f64 x.re x.im (*.f64 x.im x.re))
(-.f64 (*.f64 x.im x.re) (*.f64 (neg.f64 x.im) x.re))
(+.f64 (*.f64 x.im x.re) (*.f64 x.im x.re))
(*.f64 x.im x.re)
(*.f64 x.re x.im)
(*.f64 x.im x.re)
(*.f64 x.re x.im)
(/.f64 (-.f64 (*.f64 (*.f64 #s(approx (+ (* x.re x.re) (neg (* x.im x.im))) (*.f64 (neg.f64 x.im) x.im)) x.re) (*.f64 #s(approx (+ (* x.re x.re) (neg (* x.im x.im))) (*.f64 (neg.f64 x.im) x.im)) x.re)) (*.f64 (*.f64 (*.f64 #s(literal 2 binary64) (*.f64 x.im x.re)) x.im) (*.f64 (*.f64 #s(literal 2 binary64) (*.f64 x.im x.re)) x.im))) (fma.f64 #s(approx (+ (* x.re x.re) (neg (* x.im x.im))) (*.f64 (neg.f64 x.im) x.im)) x.re (*.f64 (*.f64 #s(literal 2 binary64) (*.f64 x.im x.re)) x.im)))
(/.f64 (-.f64 (pow.f64 (*.f64 #s(approx (+ (* x.re x.re) (neg (* x.im x.im))) (*.f64 (neg.f64 x.im) x.im)) x.re) #s(literal 3 binary64)) (pow.f64 (*.f64 (*.f64 #s(literal 2 binary64) (*.f64 x.im x.re)) x.im) #s(literal 3 binary64))) (fma.f64 (*.f64 #s(approx (+ (* x.re x.re) (neg (* x.im x.im))) (*.f64 (neg.f64 x.im) x.im)) x.re) (*.f64 #s(approx (+ (* x.re x.re) (neg (* x.im x.im))) (*.f64 (neg.f64 x.im) x.im)) x.re) (fma.f64 (*.f64 (*.f64 #s(literal 2 binary64) (*.f64 x.im x.re)) x.im) (*.f64 (*.f64 #s(literal 2 binary64) (*.f64 x.im x.re)) x.im) (*.f64 (*.f64 #s(approx (+ (* x.re x.re) (neg (* x.im x.im))) (*.f64 (neg.f64 x.im) x.im)) x.re) (*.f64 (*.f64 #s(literal 2 binary64) (*.f64 x.im x.re)) x.im)))))
(fma.f64 #s(approx (+ (* x.re x.re) (neg (* x.im x.im))) (*.f64 (neg.f64 x.im) x.im)) x.re (*.f64 (neg.f64 (*.f64 #s(literal 2 binary64) (*.f64 x.im x.re))) x.im))
(fma.f64 x.re #s(approx (+ (* x.re x.re) (neg (* x.im x.im))) (*.f64 (neg.f64 x.im) x.im)) (*.f64 (neg.f64 (*.f64 #s(literal 2 binary64) (*.f64 x.im x.re))) x.im))
(-.f64 (*.f64 #s(approx (+ (* x.re x.re) (neg (* x.im x.im))) (*.f64 (neg.f64 x.im) x.im)) x.re) (*.f64 (*.f64 #s(literal 2 binary64) (*.f64 x.im x.re)) x.im))
(+.f64 (*.f64 #s(approx (+ (* x.re x.re) (neg (* x.im x.im))) (*.f64 (neg.f64 x.im) x.im)) x.re) (*.f64 (neg.f64 (*.f64 #s(literal 2 binary64) (*.f64 x.im x.re))) x.im))
(*.f64 #s(approx (+ (* x.re x.re) (neg (* x.im x.im))) (*.f64 (neg.f64 x.im) x.im)) x.re)
(*.f64 x.re #s(approx (+ (* x.re x.re) (neg (* x.im x.im))) (*.f64 (neg.f64 x.im) x.im)))
#s(approx (+ (* x.re x.re) (neg (* x.im x.im))) (*.f64 (neg.f64 x.im) x.im))
#s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (*.f64 (*.f64 (*.f64 x.im x.im) x.re) #s(literal -3 binary64)))
#s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (*.f64 (fma.f64 (*.f64 x.im x.im) #s(literal -3 binary64) (*.f64 x.re x.re)) x.re))
#s(approx (* (- (+ (* x.re x.re) (neg (* x.im x.im))) (* (* x.im x.im) 2)) x.re) (*.f64 (neg.f64 x.re) (*.f64 #s(literal 3 binary64) (*.f64 x.im x.im))))
#s(approx (* (- (+ (* x.re x.re) (neg (* x.im x.im))) (* (* x.im x.im) 2)) x.re) (*.f64 (fma.f64 x.re x.re (neg.f64 (*.f64 #s(literal 3 binary64) (*.f64 x.im x.im)))) x.re))
#s(approx (- (+ (* x.re x.re) (neg (* x.im x.im))) (* (* x.im x.im) 2)) (neg.f64 (*.f64 #s(literal 3 binary64) (*.f64 x.im x.im))))
#s(approx (- (+ (* x.re x.re) (neg (* x.im x.im))) (* (* x.im x.im) 2)) (-.f64 (*.f64 x.re x.re) (*.f64 #s(literal 3 binary64) (*.f64 x.im x.im))))
#s(approx (+ (* x.re x.re) (neg (* x.im x.im))) (*.f64 (neg.f64 x.im) x.im))
#s(approx (+ (* x.re x.re) (neg (* x.im x.im))) (*.f64 (+.f64 x.re x.im) (-.f64 x.re x.im)))
#s(approx x.re x.re)
#s(approx (* (* (* x.im x.im) -3) x.re) (*.f64 (*.f64 (*.f64 x.im x.im) x.re) #s(literal -3 binary64)))
#s(approx (* x.re -3) (*.f64 #s(literal -3 binary64) x.re))
#s(approx (* (* (* x.im x.im) -3) x.re) (*.f64 (*.f64 (*.f64 x.im x.im) x.re) #s(literal -3 binary64)))
#s(approx (* (- (* x.re x.re) (* x.im x.im)) x.re) (*.f64 (*.f64 (neg.f64 x.im) x.im) x.re))
#s(approx (* (- (* x.re x.re) (* x.im x.im)) x.re) (*.f64 (*.f64 (+.f64 x.re x.im) (-.f64 x.re x.im)) x.re))
#s(approx (+ (* x.re x.re) (neg (* x.im x.im))) (*.f64 (neg.f64 x.im) x.im))
#s(approx (+ (* x.re x.re) (neg (* x.im x.im))) (*.f64 (+.f64 x.re x.im) (-.f64 x.re x.im)))
#s(approx (* x.re x.re) (*.f64 x.re x.re))
#s(approx (* (+ (* x.re x.im) (* x.im x.re)) x.im) (*.f64 (*.f64 (*.f64 x.im x.im) x.re) #s(literal 2 binary64)))
#s(approx (+ (* x.re x.im) (* x.im x.re)) (*.f64 #s(literal 2 binary64) (*.f64 x.im x.re)))
#s(approx (* x.im x.re) (*.f64 x.im x.re))
#s(approx (* x.im x.re) (*.f64 x.im x.re))
#s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (pow.f64 x.re #s(literal 3 binary64)))
#s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (*.f64 (fma.f64 (/.f64 (*.f64 #s(literal 3 binary64) (*.f64 x.im x.im)) (*.f64 x.re x.re)) #s(literal -1 binary64) #s(literal 1 binary64)) (pow.f64 x.re #s(literal 3 binary64))))
#s(approx (* (- (+ (* x.re x.re) (neg (* x.im x.im))) (* (* x.im x.im) 2)) x.re) (pow.f64 x.re #s(literal 3 binary64)))
#s(approx (* (- (+ (* x.re x.re) (neg (* x.im x.im))) (* (* x.im x.im) 2)) x.re) (*.f64 (fma.f64 (/.f64 (*.f64 #s(literal 3 binary64) (*.f64 x.im x.im)) (*.f64 x.re x.re)) #s(literal -1 binary64) #s(literal 1 binary64)) (pow.f64 x.re #s(literal 3 binary64))))
#s(approx (- (+ (* x.re x.re) (neg (* x.im x.im))) (* (* x.im x.im) 2)) (*.f64 x.re x.re))
#s(approx (- (+ (* x.re x.re) (neg (* x.im x.im))) (* (* x.im x.im) 2)) (*.f64 (fma.f64 (/.f64 (*.f64 #s(literal 3 binary64) (*.f64 x.im x.im)) (*.f64 x.re x.re)) #s(literal -1 binary64) #s(literal 1 binary64)) (*.f64 x.re x.re)))
#s(approx (+ (* x.re x.re) (neg (* x.im x.im))) (*.f64 x.re x.re))
#s(approx (+ (* x.re x.re) (neg (* x.im x.im))) (*.f64 (fma.f64 (/.f64 (*.f64 x.im x.im) (*.f64 x.re x.re)) #s(literal -1 binary64) #s(literal 1 binary64)) (*.f64 x.re x.re)))
#s(approx (* (- (* x.re x.re) (* x.im x.im)) x.re) (pow.f64 x.re #s(literal 3 binary64)))
#s(approx (* (- (* x.re x.re) (* x.im x.im)) x.re) (*.f64 (fma.f64 (/.f64 (*.f64 x.im x.im) (*.f64 x.re x.re)) #s(literal -1 binary64) #s(literal 1 binary64)) (pow.f64 x.re #s(literal 3 binary64))))
#s(approx (+ (* x.re x.re) (neg (* x.im x.im))) (*.f64 x.re x.re))
#s(approx (+ (* x.re x.re) (neg (* x.im x.im))) (*.f64 (fma.f64 (/.f64 (*.f64 x.im x.im) (*.f64 x.re x.re)) #s(literal -1 binary64) #s(literal 1 binary64)) (*.f64 x.re x.re)))
#s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (neg.f64 (*.f64 (-.f64 (/.f64 (*.f64 x.im x.im) (*.f64 x.re x.re)) (fma.f64 #s(literal -2 binary64) (/.f64 (*.f64 x.im x.im) (*.f64 x.re x.re)) #s(literal 1 binary64))) (pow.f64 x.re #s(literal 3 binary64)))))
#s(approx (* (- (+ (* x.re x.re) (neg (* x.im x.im))) (* (* x.im x.im) 2)) x.re) (neg.f64 (*.f64 (-.f64 (/.f64 (*.f64 #s(literal 3 binary64) (*.f64 x.im x.im)) (*.f64 x.re x.re)) #s(literal 1 binary64)) (pow.f64 x.re #s(literal 3 binary64)))))
#s(approx (* (- (* x.re x.re) (* x.im x.im)) x.re) (neg.f64 (*.f64 (-.f64 (/.f64 (*.f64 x.im x.im) (*.f64 x.re x.re)) #s(literal 1 binary64)) (pow.f64 x.re #s(literal 3 binary64)))))
#s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (fma.f64 (*.f64 (*.f64 x.im x.im) x.re) #s(literal -3 binary64) (pow.f64 x.re #s(literal 3 binary64))))
#s(approx (* (- (+ (* x.re x.re) (neg (* x.im x.im))) (* (* x.im x.im) 2)) x.re) (fma.f64 (*.f64 (*.f64 x.im x.im) x.re) #s(literal -3 binary64) (pow.f64 x.re #s(literal 3 binary64))))
#s(approx (- (+ (* x.re x.re) (neg (* x.im x.im))) (* (* x.im x.im) 2)) (fma.f64 (*.f64 x.im x.im) #s(literal -3 binary64) (*.f64 x.re x.re)))
#s(approx (+ (* x.re x.re) (neg (* x.im x.im))) (*.f64 (+.f64 x.re x.im) (-.f64 x.re x.im)))
#s(approx (neg (* x.im x.im)) (*.f64 (neg.f64 x.im) x.im))
#s(approx (* x.im x.im) (*.f64 x.im x.im))
#s(approx x.im x.im)
#s(approx (* (* x.im x.im) 2) (*.f64 (*.f64 x.im x.im) #s(literal 2 binary64)))
#s(approx (* (* x.im x.im) -3) (*.f64 (*.f64 x.im x.im) #s(literal -3 binary64)))
#s(approx (* (- (* x.re x.re) (* x.im x.im)) x.re) (*.f64 (*.f64 (+.f64 x.re x.im) (-.f64 x.re x.im)) x.re))
#s(approx (+ (* x.re x.re) (neg (* x.im x.im))) (*.f64 (+.f64 x.re x.im) (-.f64 x.re x.im)))
#s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (*.f64 (*.f64 (*.f64 x.im x.im) x.re) #s(literal -3 binary64)))
#s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (*.f64 (-.f64 (+.f64 (/.f64 (pow.f64 x.re #s(literal 3 binary64)) (*.f64 x.im x.im)) (neg.f64 x.re)) (*.f64 #s(literal 2 binary64) x.re)) (*.f64 x.im x.im)))
#s(approx (* (- (+ (* x.re x.re) (neg (* x.im x.im))) (* (* x.im x.im) 2)) x.re) (*.f64 (*.f64 (*.f64 x.im x.im) x.re) #s(literal -3 binary64)))
#s(approx (* (- (+ (* x.re x.re) (neg (* x.im x.im))) (* (* x.im x.im) 2)) x.re) (*.f64 (fma.f64 #s(literal -3 binary64) x.re (/.f64 (pow.f64 x.re #s(literal 3 binary64)) (*.f64 x.im x.im))) (*.f64 x.im x.im)))
#s(approx (- (+ (* x.re x.re) (neg (* x.im x.im))) (* (* x.im x.im) 2)) (*.f64 (*.f64 x.im x.im) #s(literal -3 binary64)))
#s(approx (- (+ (* x.re x.re) (neg (* x.im x.im))) (* (* x.im x.im) 2)) (*.f64 (-.f64 (/.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) #s(literal 3 binary64)) (*.f64 x.im x.im)))
#s(approx (+ (* x.re x.re) (neg (* x.im x.im))) (*.f64 (-.f64 (/.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) #s(literal 1 binary64)) (*.f64 x.im x.im)))
#s(approx (* (- (* x.re x.re) (* x.im x.im)) x.re) (*.f64 (+.f64 (/.f64 (pow.f64 x.re #s(literal 3 binary64)) (*.f64 x.im x.im)) (neg.f64 x.re)) (*.f64 x.im x.im)))
#s(approx (+ (* x.re x.re) (neg (* x.im x.im))) (*.f64 (-.f64 (/.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) #s(literal 1 binary64)) (*.f64 x.im x.im)))

eval28.0ms (1.2%)

Memory
33.4MiB live, 79.5MiB allocated; 4ms collecting garbage
Compiler

Compiled 9 135 to 834 computations (90.9% saved)

prune123.0ms (5.3%)

Memory
-25.1MiB live, 136.0MiB allocated; 113ms collecting garbage
Pruning

9 alts after pruning (8 fresh and 1 done)

PrunedKeptTotal
New2707277
Fresh112
Picked415
Done000
Total2759284
Accuracy
100.0%
Counts
284 → 9
Alt Table
Click to see full alt table
StatusAccuracyProgram
55.2%
(fma.f64 #s(approx (+ (* x.re x.re) (neg (* x.im x.im))) (*.f64 (neg.f64 x.im) x.im)) x.re (*.f64 (neg.f64 (*.f64 #s(literal 2 binary64) (*.f64 x.im x.re))) x.im))
53.2%
#s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (pow.f64 x.re #s(literal 3 binary64)))
88.5%
#s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (*.f64 (fma.f64 (*.f64 x.im x.im) #s(literal -3 binary64) (*.f64 x.re x.re)) x.re))
90.9%
#s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (*.f64 (fma.f64 x.im (*.f64 x.im #s(literal -3 binary64)) (*.f64 x.re x.re)) x.re))
55.2%
#s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (*.f64 (*.f64 (*.f64 x.im x.im) x.re) #s(literal -3 binary64)))
60.9%
#s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (*.f64 (*.f64 (*.f64 #s(literal -3 binary64) x.re) x.im) x.im))
55.2%
#s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (*.f64 (*.f64 x.re #s(literal -3 binary64)) (*.f64 x.im x.im)))
55.1%
#s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (*.f64 (*.f64 x.im (*.f64 x.im #s(literal -3 binary64))) x.re))
53.1%
#s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (*.f64 #s(approx (- (+ (* x.re x.re) (neg (* x.im x.im))) (* (* x.im x.im) 2)) (*.f64 x.re x.re)) x.re))
Compiler

Compiled 481 to 278 computations (42.2% saved)

series18.0ms (0.8%)

Memory
-2.5MiB live, 43.6MiB allocated; 4ms collecting garbage
Counts
22 → 56
Calls
Call 1
Inputs
#s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (*.f64 (fma.f64 x.im (*.f64 x.im #s(literal -3 binary64)) (*.f64 x.re x.re)) x.re))
(*.f64 (fma.f64 x.im (*.f64 x.im #s(literal -3 binary64)) (*.f64 x.re x.re)) x.re)
(fma.f64 x.im (*.f64 x.im #s(literal -3 binary64)) (*.f64 x.re x.re))
x.im
(*.f64 x.im #s(literal -3 binary64))
#s(literal -3 binary64)
(*.f64 x.re x.re)
x.re
#s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (*.f64 #s(approx (- (+ (* x.re x.re) (neg (* x.im x.im))) (* (* x.im x.im) 2)) (*.f64 x.re x.re)) x.re))
(*.f64 #s(approx (- (+ (* x.re x.re) (neg (* x.im x.im))) (* (* x.im x.im) 2)) (*.f64 x.re x.re)) x.re)
#s(approx (- (+ (* x.re x.re) (neg (* x.im x.im))) (* (* x.im x.im) 2)) (*.f64 x.re x.re))
#s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (*.f64 (*.f64 (*.f64 #s(literal -3 binary64) x.re) x.im) x.im))
(*.f64 (*.f64 (*.f64 #s(literal -3 binary64) x.re) x.im) x.im)
(*.f64 (*.f64 #s(literal -3 binary64) x.re) x.im)
(*.f64 #s(literal -3 binary64) x.re)
#s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (*.f64 (fma.f64 (*.f64 x.im x.im) #s(literal -3 binary64) (*.f64 x.re x.re)) x.re))
(*.f64 (fma.f64 (*.f64 x.im x.im) #s(literal -3 binary64) (*.f64 x.re x.re)) x.re)
(fma.f64 (*.f64 x.im x.im) #s(literal -3 binary64) (*.f64 x.re x.re))
(*.f64 x.im x.im)
#s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (pow.f64 x.re #s(literal 3 binary64)))
(pow.f64 x.re #s(literal 3 binary64))
#s(literal 3 binary64)
Outputs
#s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) #s(hole binary64 (* x.re (- (* -1 (pow x.im 2)) (* 2 (pow x.im 2))))))
#s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) #s(hole binary64 (* x.re (- (+ (* -1 (pow x.im 2)) (pow x.re 2)) (* 2 (pow x.im 2))))))
#s(approx (* (+ (* x.im (* x.im -3)) (* x.re x.re)) x.re) #s(hole binary64 (* -3 (* (pow x.im 2) x.re))))
#s(approx (* (+ (* x.im (* x.im -3)) (* x.re x.re)) x.re) #s(hole binary64 (* x.re (+ (* -3 (pow x.im 2)) (pow x.re 2)))))
#s(approx (+ (* x.im (* x.im -3)) (* x.re x.re)) #s(hole binary64 (* -3 (pow x.im 2))))
#s(approx (+ (* x.im (* x.im -3)) (* x.re x.re)) #s(hole binary64 (+ (* -3 (pow x.im 2)) (pow x.re 2))))
#s(approx (* x.re x.re) #s(hole binary64 (pow x.re 2)))
#s(approx x.re #s(hole binary64 x.re))
#s(approx (* (- (+ (* x.re x.re) (neg (* x.im x.im))) (* (* x.im x.im) 2)) x.re) #s(hole binary64 (* -1 (* x.re (+ (* 2 (pow x.im 2)) (pow x.im 2))))))
#s(approx (* (- (+ (* x.re x.re) (neg (* x.im x.im))) (* (* x.im x.im) 2)) x.re) #s(hole binary64 (* x.re (+ (* -1 (+ (* 2 (pow x.im 2)) (pow x.im 2))) (pow x.re 2)))))
#s(approx (- (+ (* x.re x.re) (neg (* x.im x.im))) (* (* x.im x.im) 2)) #s(hole binary64 (* -1 (+ (* 2 (pow x.im 2)) (pow x.im 2)))))
#s(approx (- (+ (* x.re x.re) (neg (* x.im x.im))) (* (* x.im x.im) 2)) #s(hole binary64 (- (pow x.re 2) (+ (* 2 (pow x.im 2)) (pow x.im 2)))))
#s(approx (* (* (* -3 x.re) x.im) x.im) #s(hole binary64 (* -3 (* (pow x.im 2) x.re))))
#s(approx (* (* -3 x.re) x.im) #s(hole binary64 (* -3 (* x.im x.re))))
#s(approx (* -3 x.re) #s(hole binary64 (* -3 x.re)))
#s(approx (* (+ (* (* x.im x.im) -3) (* x.re x.re)) x.re) #s(hole binary64 (* -3 (* (pow x.im 2) x.re))))
#s(approx (* (+ (* (* x.im x.im) -3) (* x.re x.re)) x.re) #s(hole binary64 (* x.re (+ (* -3 (pow x.im 2)) (pow x.re 2)))))
#s(approx (+ (* (* x.im x.im) -3) (* x.re x.re)) #s(hole binary64 (* -3 (pow x.im 2))))
#s(approx (+ (* (* x.im x.im) -3) (* x.re x.re)) #s(hole binary64 (+ (* -3 (pow x.im 2)) (pow x.re 2))))
#s(approx (pow x.re 3) #s(hole binary64 (pow x.re 3)))
#s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) #s(hole binary64 (pow x.re 3)))
#s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) #s(hole binary64 (* (pow x.re 3) (+ 1 (* -1 (/ (+ (* 2 (pow x.im 2)) (pow x.im 2)) (pow x.re 2)))))))
#s(approx (* (+ (* x.im (* x.im -3)) (* x.re x.re)) x.re) #s(hole binary64 (pow x.re 3)))
#s(approx (* (+ (* x.im (* x.im -3)) (* x.re x.re)) x.re) #s(hole binary64 (* (pow x.re 3) (+ 1 (* -3 (/ (pow x.im 2) (pow x.re 2)))))))
#s(approx (+ (* x.im (* x.im -3)) (* x.re x.re)) #s(hole binary64 (pow x.re 2)))
#s(approx (+ (* x.im (* x.im -3)) (* x.re x.re)) #s(hole binary64 (* (pow x.re 2) (+ 1 (* -3 (/ (pow x.im 2) (pow x.re 2)))))))
#s(approx (* (- (+ (* x.re x.re) (neg (* x.im x.im))) (* (* x.im x.im) 2)) x.re) #s(hole binary64 (pow x.re 3)))
#s(approx (* (- (+ (* x.re x.re) (neg (* x.im x.im))) (* (* x.im x.im) 2)) x.re) #s(hole binary64 (* (pow x.re 3) (+ 1 (* -1 (/ (+ (* 2 (pow x.im 2)) (pow x.im 2)) (pow x.re 2)))))))
#s(approx (- (+ (* x.re x.re) (neg (* x.im x.im))) (* (* x.im x.im) 2)) #s(hole binary64 (pow x.re 2)))
#s(approx (- (+ (* x.re x.re) (neg (* x.im x.im))) (* (* x.im x.im) 2)) #s(hole binary64 (* (pow x.re 2) (+ 1 (* -1 (/ (+ (* 2 (pow x.im 2)) (pow x.im 2)) (pow x.re 2)))))))
#s(approx (* (+ (* (* x.im x.im) -3) (* x.re x.re)) x.re) #s(hole binary64 (pow x.re 3)))
#s(approx (* (+ (* (* x.im x.im) -3) (* x.re x.re)) x.re) #s(hole binary64 (* (pow x.re 3) (+ 1 (* -3 (/ (pow x.im 2) (pow x.re 2)))))))
#s(approx (+ (* (* x.im x.im) -3) (* x.re x.re)) #s(hole binary64 (pow x.re 2)))
#s(approx (+ (* (* x.im x.im) -3) (* x.re x.re)) #s(hole binary64 (* (pow x.re 2) (+ 1 (* -3 (/ (pow x.im 2) (pow x.re 2)))))))
#s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) #s(hole binary64 (* -1 (* (pow x.re 3) (- (/ (pow x.im 2) (pow x.re 2)) (+ 1 (* -2 (/ (pow x.im 2) (pow x.re 2)))))))))
#s(approx (* (+ (* x.im (* x.im -3)) (* x.re x.re)) x.re) #s(hole binary64 (* -1 (* (pow x.re 3) (- (* 3 (/ (pow x.im 2) (pow x.re 2))) 1)))))
#s(approx (* (- (+ (* x.re x.re) (neg (* x.im x.im))) (* (* x.im x.im) 2)) x.re) #s(hole binary64 (* -1 (* (pow x.re 3) (- (+ (* 2 (/ (pow x.im 2) (pow x.re 2))) (/ (pow x.im 2) (pow x.re 2))) 1)))))
#s(approx (* (+ (* (* x.im x.im) -3) (* x.re x.re)) x.re) #s(hole binary64 (* -1 (* (pow x.re 3) (- (* 3 (/ (pow x.im 2) (pow x.re 2))) 1)))))
#s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) #s(hole binary64 (+ (* (pow x.im 2) (- (* -1 x.re) (* 2 x.re))) (pow x.re 3))))
#s(approx (* (+ (* x.im (* x.im -3)) (* x.re x.re)) x.re) #s(hole binary64 (+ (* -3 (* (pow x.im 2) x.re)) (pow x.re 3))))
#s(approx x.im #s(hole binary64 x.im))
#s(approx (* x.im -3) #s(hole binary64 (* -3 x.im)))
#s(approx (* (- (+ (* x.re x.re) (neg (* x.im x.im))) (* (* x.im x.im) 2)) x.re) #s(hole binary64 (+ (* -3 (* (pow x.im 2) x.re)) (pow x.re 3))))
#s(approx (- (+ (* x.re x.re) (neg (* x.im x.im))) (* (* x.im x.im) 2)) #s(hole binary64 (+ (* -3 (pow x.im 2)) (pow x.re 2))))
#s(approx (* (+ (* (* x.im x.im) -3) (* x.re x.re)) x.re) #s(hole binary64 (+ (* -3 (* (pow x.im 2) x.re)) (pow x.re 3))))
#s(approx (* x.im x.im) #s(hole binary64 (pow x.im 2)))
#s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) #s(hole binary64 (* (pow x.im 2) (- (* -1 x.re) (* 2 x.re)))))
#s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) #s(hole binary64 (* (pow x.im 2) (- (+ (* -1 x.re) (/ (pow x.re 3) (pow x.im 2))) (* 2 x.re)))))
#s(approx (* (+ (* x.im (* x.im -3)) (* x.re x.re)) x.re) #s(hole binary64 (* (pow x.im 2) (+ (* -3 x.re) (/ (pow x.re 3) (pow x.im 2))))))
#s(approx (+ (* x.im (* x.im -3)) (* x.re x.re)) #s(hole binary64 (* (pow x.im 2) (- (/ (pow x.re 2) (pow x.im 2)) 3))))
#s(approx (* (- (+ (* x.re x.re) (neg (* x.im x.im))) (* (* x.im x.im) 2)) x.re) #s(hole binary64 (* -3 (* (pow x.im 2) x.re))))
#s(approx (* (- (+ (* x.re x.re) (neg (* x.im x.im))) (* (* x.im x.im) 2)) x.re) #s(hole binary64 (* (pow x.im 2) (+ (* -3 x.re) (/ (pow x.re 3) (pow x.im 2))))))
#s(approx (- (+ (* x.re x.re) (neg (* x.im x.im))) (* (* x.im x.im) 2)) #s(hole binary64 (* -3 (pow x.im 2))))
#s(approx (- (+ (* x.re x.re) (neg (* x.im x.im))) (* (* x.im x.im) 2)) #s(hole binary64 (* (pow x.im 2) (- (/ (pow x.re 2) (pow x.im 2)) 3))))
#s(approx (* (+ (* (* x.im x.im) -3) (* x.re x.re)) x.re) #s(hole binary64 (* (pow x.im 2) (+ (* -3 x.re) (/ (pow x.re 3) (pow x.im 2))))))
#s(approx (+ (* (* x.im x.im) -3) (* x.re x.re)) #s(hole binary64 (* (pow x.im 2) (- (/ (pow x.re 2) (pow x.im 2)) 3))))
Calls

6 calls:

TimeVariablePointExpression
5.0ms
x.re
@inf
((- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (* (+ (* x.im (* x.im -3)) (* x.re x.re)) x.re) (+ (* x.im (* x.im -3)) (* x.re x.re)) x.im (* x.im -3) -3 (* x.re x.re) x.re (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (* (- (+ (* x.re x.re) (neg (* x.im x.im))) (* (* x.im x.im) 2)) x.re) (- (+ (* x.re x.re) (neg (* x.im x.im))) (* (* x.im x.im) 2)) (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (* (* (* -3 x.re) x.im) x.im) (* (* -3 x.re) x.im) (* -3 x.re) (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (* (+ (* (* x.im x.im) -3) (* x.re x.re)) x.re) (+ (* (* x.im x.im) -3) (* x.re x.re)) (* x.im x.im) (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (pow x.re 3) 3)
3.0ms
x.re
@-inf
((- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (* (+ (* x.im (* x.im -3)) (* x.re x.re)) x.re) (+ (* x.im (* x.im -3)) (* x.re x.re)) x.im (* x.im -3) -3 (* x.re x.re) x.re (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (* (- (+ (* x.re x.re) (neg (* x.im x.im))) (* (* x.im x.im) 2)) x.re) (- (+ (* x.re x.re) (neg (* x.im x.im))) (* (* x.im x.im) 2)) (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (* (* (* -3 x.re) x.im) x.im) (* (* -3 x.re) x.im) (* -3 x.re) (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (* (+ (* (* x.im x.im) -3) (* x.re x.re)) x.re) (+ (* (* x.im x.im) -3) (* x.re x.re)) (* x.im x.im) (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (pow x.re 3) 3)
3.0ms
x.re
@0
((- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (* (+ (* x.im (* x.im -3)) (* x.re x.re)) x.re) (+ (* x.im (* x.im -3)) (* x.re x.re)) x.im (* x.im -3) -3 (* x.re x.re) x.re (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (* (- (+ (* x.re x.re) (neg (* x.im x.im))) (* (* x.im x.im) 2)) x.re) (- (+ (* x.re x.re) (neg (* x.im x.im))) (* (* x.im x.im) 2)) (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (* (* (* -3 x.re) x.im) x.im) (* (* -3 x.re) x.im) (* -3 x.re) (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (* (+ (* (* x.im x.im) -3) (* x.re x.re)) x.re) (+ (* (* x.im x.im) -3) (* x.re x.re)) (* x.im x.im) (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (pow x.re 3) 3)
2.0ms
x.im
@-inf
((- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (* (+ (* x.im (* x.im -3)) (* x.re x.re)) x.re) (+ (* x.im (* x.im -3)) (* x.re x.re)) x.im (* x.im -3) -3 (* x.re x.re) x.re (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (* (- (+ (* x.re x.re) (neg (* x.im x.im))) (* (* x.im x.im) 2)) x.re) (- (+ (* x.re x.re) (neg (* x.im x.im))) (* (* x.im x.im) 2)) (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (* (* (* -3 x.re) x.im) x.im) (* (* -3 x.re) x.im) (* -3 x.re) (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (* (+ (* (* x.im x.im) -3) (* x.re x.re)) x.re) (+ (* (* x.im x.im) -3) (* x.re x.re)) (* x.im x.im) (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (pow x.re 3) 3)
2.0ms
x.im
@inf
((- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (* (+ (* x.im (* x.im -3)) (* x.re x.re)) x.re) (+ (* x.im (* x.im -3)) (* x.re x.re)) x.im (* x.im -3) -3 (* x.re x.re) x.re (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (* (- (+ (* x.re x.re) (neg (* x.im x.im))) (* (* x.im x.im) 2)) x.re) (- (+ (* x.re x.re) (neg (* x.im x.im))) (* (* x.im x.im) 2)) (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (* (* (* -3 x.re) x.im) x.im) (* (* -3 x.re) x.im) (* -3 x.re) (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (* (+ (* (* x.im x.im) -3) (* x.re x.re)) x.re) (+ (* (* x.im x.im) -3) (* x.re x.re)) (* x.im x.im) (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (pow x.re 3) 3)

rewrite58.0ms (2.5%)

Memory
0.8MiB live, 51.2MiB allocated; 10ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01691526
01831342
07671319
Stop Event
iter limit
iter limit
node limit
iter limit
Counts
78 → 180
Calls
Call 1
Inputs
#s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (*.f64 (fma.f64 x.im (*.f64 x.im #s(literal -3 binary64)) (*.f64 x.re x.re)) x.re))
(*.f64 (fma.f64 x.im (*.f64 x.im #s(literal -3 binary64)) (*.f64 x.re x.re)) x.re)
(fma.f64 x.im (*.f64 x.im #s(literal -3 binary64)) (*.f64 x.re x.re))
x.im
(*.f64 x.im #s(literal -3 binary64))
#s(literal -3 binary64)
(*.f64 x.re x.re)
x.re
#s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (*.f64 #s(approx (- (+ (* x.re x.re) (neg (* x.im x.im))) (* (* x.im x.im) 2)) (*.f64 x.re x.re)) x.re))
(*.f64 #s(approx (- (+ (* x.re x.re) (neg (* x.im x.im))) (* (* x.im x.im) 2)) (*.f64 x.re x.re)) x.re)
#s(approx (- (+ (* x.re x.re) (neg (* x.im x.im))) (* (* x.im x.im) 2)) (*.f64 x.re x.re))
#s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (*.f64 (*.f64 (*.f64 #s(literal -3 binary64) x.re) x.im) x.im))
(*.f64 (*.f64 (*.f64 #s(literal -3 binary64) x.re) x.im) x.im)
(*.f64 (*.f64 #s(literal -3 binary64) x.re) x.im)
(*.f64 #s(literal -3 binary64) x.re)
#s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (*.f64 (fma.f64 (*.f64 x.im x.im) #s(literal -3 binary64) (*.f64 x.re x.re)) x.re))
(*.f64 (fma.f64 (*.f64 x.im x.im) #s(literal -3 binary64) (*.f64 x.re x.re)) x.re)
(fma.f64 (*.f64 x.im x.im) #s(literal -3 binary64) (*.f64 x.re x.re))
(*.f64 x.im x.im)
#s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (pow.f64 x.re #s(literal 3 binary64)))
(pow.f64 x.re #s(literal 3 binary64))
#s(literal 3 binary64)
#s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) #s(hole binary64 (* x.re (- (* -1 (pow x.im 2)) (* 2 (pow x.im 2))))))
#s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) #s(hole binary64 (* x.re (- (+ (* -1 (pow x.im 2)) (pow x.re 2)) (* 2 (pow x.im 2))))))
#s(approx (* (+ (* x.im (* x.im -3)) (* x.re x.re)) x.re) #s(hole binary64 (* -3 (* (pow x.im 2) x.re))))
#s(approx (* (+ (* x.im (* x.im -3)) (* x.re x.re)) x.re) #s(hole binary64 (* x.re (+ (* -3 (pow x.im 2)) (pow x.re 2)))))
#s(approx (+ (* x.im (* x.im -3)) (* x.re x.re)) #s(hole binary64 (* -3 (pow x.im 2))))
#s(approx (+ (* x.im (* x.im -3)) (* x.re x.re)) #s(hole binary64 (+ (* -3 (pow x.im 2)) (pow x.re 2))))
#s(approx (* x.re x.re) #s(hole binary64 (pow x.re 2)))
#s(approx x.re #s(hole binary64 x.re))
#s(approx (* (- (+ (* x.re x.re) (neg (* x.im x.im))) (* (* x.im x.im) 2)) x.re) #s(hole binary64 (* -1 (* x.re (+ (* 2 (pow x.im 2)) (pow x.im 2))))))
#s(approx (* (- (+ (* x.re x.re) (neg (* x.im x.im))) (* (* x.im x.im) 2)) x.re) #s(hole binary64 (* x.re (+ (* -1 (+ (* 2 (pow x.im 2)) (pow x.im 2))) (pow x.re 2)))))
#s(approx (- (+ (* x.re x.re) (neg (* x.im x.im))) (* (* x.im x.im) 2)) #s(hole binary64 (* -1 (+ (* 2 (pow x.im 2)) (pow x.im 2)))))
#s(approx (- (+ (* x.re x.re) (neg (* x.im x.im))) (* (* x.im x.im) 2)) #s(hole binary64 (- (pow x.re 2) (+ (* 2 (pow x.im 2)) (pow x.im 2)))))
#s(approx (* (* (* -3 x.re) x.im) x.im) #s(hole binary64 (* -3 (* (pow x.im 2) x.re))))
#s(approx (* (* -3 x.re) x.im) #s(hole binary64 (* -3 (* x.im x.re))))
#s(approx (* -3 x.re) #s(hole binary64 (* -3 x.re)))
#s(approx (* (+ (* (* x.im x.im) -3) (* x.re x.re)) x.re) #s(hole binary64 (* -3 (* (pow x.im 2) x.re))))
#s(approx (* (+ (* (* x.im x.im) -3) (* x.re x.re)) x.re) #s(hole binary64 (* x.re (+ (* -3 (pow x.im 2)) (pow x.re 2)))))
#s(approx (+ (* (* x.im x.im) -3) (* x.re x.re)) #s(hole binary64 (* -3 (pow x.im 2))))
#s(approx (+ (* (* x.im x.im) -3) (* x.re x.re)) #s(hole binary64 (+ (* -3 (pow x.im 2)) (pow x.re 2))))
#s(approx (pow x.re 3) #s(hole binary64 (pow x.re 3)))
#s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) #s(hole binary64 (pow x.re 3)))
#s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) #s(hole binary64 (* (pow x.re 3) (+ 1 (* -1 (/ (+ (* 2 (pow x.im 2)) (pow x.im 2)) (pow x.re 2)))))))
#s(approx (* (+ (* x.im (* x.im -3)) (* x.re x.re)) x.re) #s(hole binary64 (pow x.re 3)))
#s(approx (* (+ (* x.im (* x.im -3)) (* x.re x.re)) x.re) #s(hole binary64 (* (pow x.re 3) (+ 1 (* -3 (/ (pow x.im 2) (pow x.re 2)))))))
#s(approx (+ (* x.im (* x.im -3)) (* x.re x.re)) #s(hole binary64 (pow x.re 2)))
#s(approx (+ (* x.im (* x.im -3)) (* x.re x.re)) #s(hole binary64 (* (pow x.re 2) (+ 1 (* -3 (/ (pow x.im 2) (pow x.re 2)))))))
#s(approx (* (- (+ (* x.re x.re) (neg (* x.im x.im))) (* (* x.im x.im) 2)) x.re) #s(hole binary64 (pow x.re 3)))
#s(approx (* (- (+ (* x.re x.re) (neg (* x.im x.im))) (* (* x.im x.im) 2)) x.re) #s(hole binary64 (* (pow x.re 3) (+ 1 (* -1 (/ (+ (* 2 (pow x.im 2)) (pow x.im 2)) (pow x.re 2)))))))
#s(approx (- (+ (* x.re x.re) (neg (* x.im x.im))) (* (* x.im x.im) 2)) #s(hole binary64 (pow x.re 2)))
#s(approx (- (+ (* x.re x.re) (neg (* x.im x.im))) (* (* x.im x.im) 2)) #s(hole binary64 (* (pow x.re 2) (+ 1 (* -1 (/ (+ (* 2 (pow x.im 2)) (pow x.im 2)) (pow x.re 2)))))))
#s(approx (* (+ (* (* x.im x.im) -3) (* x.re x.re)) x.re) #s(hole binary64 (pow x.re 3)))
#s(approx (* (+ (* (* x.im x.im) -3) (* x.re x.re)) x.re) #s(hole binary64 (* (pow x.re 3) (+ 1 (* -3 (/ (pow x.im 2) (pow x.re 2)))))))
#s(approx (+ (* (* x.im x.im) -3) (* x.re x.re)) #s(hole binary64 (pow x.re 2)))
#s(approx (+ (* (* x.im x.im) -3) (* x.re x.re)) #s(hole binary64 (* (pow x.re 2) (+ 1 (* -3 (/ (pow x.im 2) (pow x.re 2)))))))
#s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) #s(hole binary64 (* -1 (* (pow x.re 3) (- (/ (pow x.im 2) (pow x.re 2)) (+ 1 (* -2 (/ (pow x.im 2) (pow x.re 2)))))))))
#s(approx (* (+ (* x.im (* x.im -3)) (* x.re x.re)) x.re) #s(hole binary64 (* -1 (* (pow x.re 3) (- (* 3 (/ (pow x.im 2) (pow x.re 2))) 1)))))
#s(approx (* (- (+ (* x.re x.re) (neg (* x.im x.im))) (* (* x.im x.im) 2)) x.re) #s(hole binary64 (* -1 (* (pow x.re 3) (- (+ (* 2 (/ (pow x.im 2) (pow x.re 2))) (/ (pow x.im 2) (pow x.re 2))) 1)))))
#s(approx (* (+ (* (* x.im x.im) -3) (* x.re x.re)) x.re) #s(hole binary64 (* -1 (* (pow x.re 3) (- (* 3 (/ (pow x.im 2) (pow x.re 2))) 1)))))
#s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) #s(hole binary64 (+ (* (pow x.im 2) (- (* -1 x.re) (* 2 x.re))) (pow x.re 3))))
#s(approx (* (+ (* x.im (* x.im -3)) (* x.re x.re)) x.re) #s(hole binary64 (+ (* -3 (* (pow x.im 2) x.re)) (pow x.re 3))))
#s(approx x.im #s(hole binary64 x.im))
#s(approx (* x.im -3) #s(hole binary64 (* -3 x.im)))
#s(approx (* (- (+ (* x.re x.re) (neg (* x.im x.im))) (* (* x.im x.im) 2)) x.re) #s(hole binary64 (+ (* -3 (* (pow x.im 2) x.re)) (pow x.re 3))))
#s(approx (- (+ (* x.re x.re) (neg (* x.im x.im))) (* (* x.im x.im) 2)) #s(hole binary64 (+ (* -3 (pow x.im 2)) (pow x.re 2))))
#s(approx (* (+ (* (* x.im x.im) -3) (* x.re x.re)) x.re) #s(hole binary64 (+ (* -3 (* (pow x.im 2) x.re)) (pow x.re 3))))
#s(approx (* x.im x.im) #s(hole binary64 (pow x.im 2)))
#s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) #s(hole binary64 (* (pow x.im 2) (- (* -1 x.re) (* 2 x.re)))))
#s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) #s(hole binary64 (* (pow x.im 2) (- (+ (* -1 x.re) (/ (pow x.re 3) (pow x.im 2))) (* 2 x.re)))))
#s(approx (* (+ (* x.im (* x.im -3)) (* x.re x.re)) x.re) #s(hole binary64 (* (pow x.im 2) (+ (* -3 x.re) (/ (pow x.re 3) (pow x.im 2))))))
#s(approx (+ (* x.im (* x.im -3)) (* x.re x.re)) #s(hole binary64 (* (pow x.im 2) (- (/ (pow x.re 2) (pow x.im 2)) 3))))
#s(approx (* (- (+ (* x.re x.re) (neg (* x.im x.im))) (* (* x.im x.im) 2)) x.re) #s(hole binary64 (* -3 (* (pow x.im 2) x.re))))
#s(approx (* (- (+ (* x.re x.re) (neg (* x.im x.im))) (* (* x.im x.im) 2)) x.re) #s(hole binary64 (* (pow x.im 2) (+ (* -3 x.re) (/ (pow x.re 3) (pow x.im 2))))))
#s(approx (- (+ (* x.re x.re) (neg (* x.im x.im))) (* (* x.im x.im) 2)) #s(hole binary64 (* -3 (pow x.im 2))))
#s(approx (- (+ (* x.re x.re) (neg (* x.im x.im))) (* (* x.im x.im) 2)) #s(hole binary64 (* (pow x.im 2) (- (/ (pow x.re 2) (pow x.im 2)) 3))))
#s(approx (* (+ (* (* x.im x.im) -3) (* x.re x.re)) x.re) #s(hole binary64 (* (pow x.im 2) (+ (* -3 x.re) (/ (pow x.re 3) (pow x.im 2))))))
#s(approx (+ (* (* x.im x.im) -3) (* x.re x.re)) #s(hole binary64 (* (pow x.im 2) (- (/ (pow x.re 2) (pow x.im 2)) 3))))
Outputs
#s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (*.f64 (fma.f64 (*.f64 #s(literal -3 binary64) x.im) x.im (*.f64 x.re x.re)) x.re))
(*.f64 (fma.f64 (*.f64 #s(literal -3 binary64) x.im) x.im (*.f64 x.re x.re)) x.re)
(*.f64 x.re (fma.f64 (*.f64 #s(literal -3 binary64) x.im) x.im (*.f64 x.re x.re)))
(/.f64 (-.f64 (*.f64 (*.f64 (*.f64 (*.f64 x.im x.im) x.re) #s(literal -3 binary64)) (*.f64 (*.f64 (*.f64 x.im x.im) x.re) #s(literal -3 binary64))) (*.f64 (pow.f64 x.re #s(literal 3 binary64)) (pow.f64 x.re #s(literal 3 binary64)))) (-.f64 (*.f64 (*.f64 (*.f64 x.im x.im) x.re) #s(literal -3 binary64)) (pow.f64 x.re #s(literal 3 binary64))))
(/.f64 (+.f64 (pow.f64 (*.f64 (*.f64 (*.f64 x.im x.im) x.re) #s(literal -3 binary64)) #s(literal 3 binary64)) (pow.f64 (pow.f64 x.re #s(literal 3 binary64)) #s(literal 3 binary64))) (fma.f64 (*.f64 (*.f64 (*.f64 x.im x.im) x.re) #s(literal -3 binary64)) (*.f64 (*.f64 (*.f64 x.im x.im) x.re) #s(literal -3 binary64)) (-.f64 (*.f64 (pow.f64 x.re #s(literal 3 binary64)) (pow.f64 x.re #s(literal 3 binary64))) (*.f64 (*.f64 (*.f64 (*.f64 x.im x.im) x.re) #s(literal -3 binary64)) (pow.f64 x.re #s(literal 3 binary64))))))
(fma.f64 (pow.f64 x.re #s(literal 3/2 binary64)) (pow.f64 x.re #s(literal 3/2 binary64)) (*.f64 (*.f64 (*.f64 x.im x.im) x.re) #s(literal -3 binary64)))
(fma.f64 (*.f64 (*.f64 x.im x.im) x.re) #s(literal -3 binary64) (pow.f64 x.re #s(literal 3 binary64)))
(fma.f64 (*.f64 (*.f64 #s(literal -3 binary64) x.im) x.im) x.re (pow.f64 x.re #s(literal 3 binary64)))
(fma.f64 (*.f64 x.re x.re) x.re (*.f64 (*.f64 (*.f64 x.im x.im) x.re) #s(literal -3 binary64)))
(fma.f64 #s(literal -3 binary64) (*.f64 (*.f64 x.im x.im) x.re) (pow.f64 x.re #s(literal 3 binary64)))
(fma.f64 x.re (*.f64 (*.f64 #s(literal -3 binary64) x.im) x.im) (pow.f64 x.re #s(literal 3 binary64)))
(fma.f64 x.re (*.f64 x.re x.re) (*.f64 (*.f64 (*.f64 x.im x.im) x.re) #s(literal -3 binary64)))
(+.f64 (pow.f64 x.re #s(literal 3 binary64)) (*.f64 (*.f64 (*.f64 x.im x.im) x.re) #s(literal -3 binary64)))
(+.f64 (*.f64 (*.f64 (*.f64 x.im x.im) x.re) #s(literal -3 binary64)) (pow.f64 x.re #s(literal 3 binary64)))
(/.f64 (-.f64 (*.f64 (*.f64 (+.f64 x.re x.im) (-.f64 x.re x.im)) (*.f64 (+.f64 x.re x.im) (-.f64 x.re x.im))) (*.f64 (*.f64 (*.f64 x.im x.im) #s(literal 2 binary64)) (*.f64 (*.f64 x.im x.im) #s(literal 2 binary64)))) (fma.f64 (+.f64 x.re x.im) (-.f64 x.re x.im) (*.f64 (*.f64 x.im x.im) #s(literal 2 binary64))))
(/.f64 (-.f64 (*.f64 (*.f64 (*.f64 #s(literal -3 binary64) x.im) x.im) (*.f64 (*.f64 #s(literal -3 binary64) x.im) x.im)) (*.f64 (*.f64 x.re x.re) (*.f64 x.re x.re))) (-.f64 (*.f64 (*.f64 #s(literal -3 binary64) x.im) x.im) (*.f64 x.re x.re)))
(/.f64 (-.f64 (pow.f64 (*.f64 (+.f64 x.re x.im) (-.f64 x.re x.im)) #s(literal 3 binary64)) (pow.f64 (*.f64 (*.f64 x.im x.im) #s(literal 2 binary64)) #s(literal 3 binary64))) (fma.f64 (*.f64 (+.f64 x.re x.im) (-.f64 x.re x.im)) (*.f64 (+.f64 x.re x.im) (-.f64 x.re x.im)) (fma.f64 (*.f64 (*.f64 x.im x.im) #s(literal 2 binary64)) (*.f64 (*.f64 x.im x.im) #s(literal 2 binary64)) (*.f64 (*.f64 (+.f64 x.re x.im) (-.f64 x.re x.im)) (*.f64 (*.f64 x.im x.im) #s(literal 2 binary64))))))
(/.f64 (+.f64 (pow.f64 (*.f64 (*.f64 #s(literal -3 binary64) x.im) x.im) #s(literal 3 binary64)) (pow.f64 (*.f64 x.re x.re) #s(literal 3 binary64))) (fma.f64 (*.f64 (*.f64 #s(literal -3 binary64) x.im) x.im) (*.f64 (*.f64 #s(literal -3 binary64) x.im) x.im) (-.f64 (*.f64 (*.f64 x.re x.re) (*.f64 x.re x.re)) (*.f64 (*.f64 (*.f64 #s(literal -3 binary64) x.im) x.im) (*.f64 x.re x.re)))))
(fma.f64 (+.f64 x.re x.im) (-.f64 x.re x.im) (*.f64 (*.f64 (neg.f64 x.im) x.im) #s(literal 2 binary64)))
(fma.f64 (+.f64 x.re x.im) (-.f64 x.re x.im) (*.f64 #s(literal -2 binary64) (*.f64 x.im x.im)))
(fma.f64 (pow.f64 x.re #s(literal 1 binary64)) (pow.f64 x.re #s(literal 1 binary64)) (*.f64 (*.f64 #s(literal -3 binary64) x.im) x.im))
(fma.f64 (neg.f64 x.im) x.im (-.f64 (*.f64 x.re x.re) (*.f64 (*.f64 x.im x.im) #s(literal 2 binary64))))
(fma.f64 (fabs.f64 x.re) (fabs.f64 x.re) (*.f64 (*.f64 #s(literal -3 binary64) x.im) x.im))
(fma.f64 (neg.f64 x.re) (neg.f64 x.re) (*.f64 (*.f64 #s(literal -3 binary64) x.im) x.im))
(fma.f64 (*.f64 #s(literal -3 binary64) x.im) x.im (*.f64 x.re x.re))
(fma.f64 (*.f64 x.im x.im) #s(literal -1 binary64) (-.f64 (*.f64 x.re x.re) (*.f64 (*.f64 x.im x.im) #s(literal 2 binary64))))
(fma.f64 (*.f64 x.im x.im) #s(literal -3 binary64) (*.f64 x.re x.re))
(fma.f64 #s(literal -1 binary64) (*.f64 x.im x.im) (-.f64 (*.f64 x.re x.re) (*.f64 (*.f64 x.im x.im) #s(literal 2 binary64))))
(fma.f64 #s(literal -3 binary64) (*.f64 x.im x.im) (*.f64 x.re x.re))
(fma.f64 x.im (neg.f64 x.im) (-.f64 (*.f64 x.re x.re) (*.f64 (*.f64 x.im x.im) #s(literal 2 binary64))))
(fma.f64 x.im (*.f64 #s(literal -3 binary64) x.im) (*.f64 x.re x.re))
(fma.f64 x.re x.re (*.f64 (*.f64 #s(literal -3 binary64) x.im) x.im))
(-.f64 (*.f64 (*.f64 #s(literal -3 binary64) x.im) x.im) (*.f64 (neg.f64 x.re) x.re))
(-.f64 (*.f64 (+.f64 x.re x.im) (-.f64 x.re x.im)) (*.f64 (*.f64 x.im x.im) #s(literal 2 binary64)))
(+.f64 (*.f64 (*.f64 #s(literal -3 binary64) x.im) x.im) (*.f64 x.re x.re))
(+.f64 (*.f64 x.re x.re) (*.f64 (*.f64 #s(literal -3 binary64) x.im) x.im))
(+.f64 (*.f64 (neg.f64 x.im) x.im) (-.f64 (*.f64 x.re x.re) (*.f64 (*.f64 x.im x.im) #s(literal 2 binary64))))
(+.f64 (*.f64 (+.f64 x.re x.im) (-.f64 x.re x.im)) (*.f64 (*.f64 (neg.f64 x.im) x.im) #s(literal 2 binary64)))
(+.f64 (*.f64 (+.f64 x.re x.im) (-.f64 x.re x.im)) (*.f64 #s(literal -2 binary64) (*.f64 x.im x.im)))
x.im
(*.f64 #s(literal -3 binary64) x.im)
(*.f64 x.im #s(literal -3 binary64))
#s(literal -3 binary64)
(*.f64 (pow.f64 x.re #s(literal 1 binary64)) (pow.f64 x.re #s(literal 1 binary64)))
(*.f64 (fabs.f64 x.re) (fabs.f64 x.re))
(*.f64 (neg.f64 x.re) (neg.f64 x.re))
(*.f64 x.re x.re)
(pow.f64 x.re #s(literal 2 binary64))
(exp.f64 (*.f64 (log.f64 x.re) #s(literal 2 binary64)))
x.re
#s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (*.f64 #s(approx (- (+ (* x.re x.re) (neg (* x.im x.im))) (* (* x.im x.im) 2)) (*.f64 x.re x.re)) x.re))
(*.f64 #s(approx (- (+ (* x.re x.re) (neg (* x.im x.im))) (* (* x.im x.im) 2)) (*.f64 x.re x.re)) x.re)
(*.f64 x.re #s(approx (- (+ (* x.re x.re) (neg (* x.im x.im))) (* (* x.im x.im) 2)) (*.f64 x.re x.re)))
#s(approx (- (+ (* x.re x.re) (neg (* x.im x.im))) (* (* x.im x.im) 2)) (*.f64 x.re x.re))
#s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (*.f64 (*.f64 (*.f64 #s(literal -3 binary64) x.re) x.im) x.im))
(*.f64 (*.f64 (*.f64 #s(literal -3 binary64) x.re) x.im) x.im)
(*.f64 (*.f64 #s(literal -3 binary64) x.re) (*.f64 x.im x.im))
(*.f64 (*.f64 x.im x.im) (*.f64 #s(literal -3 binary64) x.re))
(*.f64 x.im (*.f64 (*.f64 #s(literal -3 binary64) x.re) x.im))
(*.f64 (*.f64 #s(literal -3 binary64) x.re) x.im)
(*.f64 (*.f64 #s(literal -3 binary64) x.im) x.re)
(*.f64 #s(literal -3 binary64) (*.f64 x.im x.re))
(*.f64 (*.f64 x.im x.re) #s(literal -3 binary64))
(*.f64 x.im (*.f64 #s(literal -3 binary64) x.re))
(*.f64 #s(literal -3 binary64) x.re)
(*.f64 x.re #s(literal -3 binary64))
(/.f64 (-.f64 (*.f64 x.re x.re) (*.f64 (*.f64 #s(literal 2 binary64) x.re) (*.f64 #s(literal 2 binary64) x.re))) (fma.f64 #s(literal -1 binary64) x.re (*.f64 #s(literal 2 binary64) x.re)))
(/.f64 (-.f64 (pow.f64 (neg.f64 x.re) #s(literal 3 binary64)) (pow.f64 (*.f64 #s(literal 2 binary64) x.re) #s(literal 3 binary64))) (fma.f64 x.re x.re (fma.f64 (*.f64 #s(literal 2 binary64) x.re) (*.f64 #s(literal 2 binary64) x.re) (*.f64 (neg.f64 x.re) (*.f64 #s(literal 2 binary64) x.re)))))
(fma.f64 #s(literal -1 binary64) x.re (*.f64 #s(literal -2 binary64) x.re))
(fma.f64 x.re #s(literal -1 binary64) (*.f64 #s(literal -2 binary64) x.re))
(-.f64 (neg.f64 x.re) (*.f64 #s(literal 2 binary64) x.re))
(+.f64 (neg.f64 x.re) (*.f64 #s(literal -2 binary64) x.re))
#s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (*.f64 (fma.f64 (*.f64 #s(literal -3 binary64) x.im) x.im (*.f64 x.re x.re)) x.re))
(*.f64 (fma.f64 (*.f64 #s(literal -3 binary64) x.im) x.im (*.f64 x.re x.re)) x.re)
(*.f64 x.re (fma.f64 (*.f64 #s(literal -3 binary64) x.im) x.im (*.f64 x.re x.re)))
(/.f64 (-.f64 (*.f64 (*.f64 (*.f64 (*.f64 x.im x.im) x.re) #s(literal -3 binary64)) (*.f64 (*.f64 (*.f64 x.im x.im) x.re) #s(literal -3 binary64))) (*.f64 (pow.f64 x.re #s(literal 3 binary64)) (pow.f64 x.re #s(literal 3 binary64)))) (-.f64 (*.f64 (*.f64 (*.f64 x.im x.im) x.re) #s(literal -3 binary64)) (pow.f64 x.re #s(literal 3 binary64))))
(/.f64 (+.f64 (pow.f64 (*.f64 (*.f64 (*.f64 x.im x.im) x.re) #s(literal -3 binary64)) #s(literal 3 binary64)) (pow.f64 (pow.f64 x.re #s(literal 3 binary64)) #s(literal 3 binary64))) (fma.f64 (*.f64 (*.f64 (*.f64 x.im x.im) x.re) #s(literal -3 binary64)) (*.f64 (*.f64 (*.f64 x.im x.im) x.re) #s(literal -3 binary64)) (-.f64 (*.f64 (pow.f64 x.re #s(literal 3 binary64)) (pow.f64 x.re #s(literal 3 binary64))) (*.f64 (*.f64 (*.f64 (*.f64 x.im x.im) x.re) #s(literal -3 binary64)) (pow.f64 x.re #s(literal 3 binary64))))))
(fma.f64 (pow.f64 x.re #s(literal 3/2 binary64)) (pow.f64 x.re #s(literal 3/2 binary64)) (*.f64 (*.f64 (*.f64 x.im x.im) x.re) #s(literal -3 binary64)))
(fma.f64 (*.f64 (*.f64 x.im x.im) x.re) #s(literal -3 binary64) (pow.f64 x.re #s(literal 3 binary64)))
(fma.f64 (*.f64 (*.f64 #s(literal -3 binary64) x.im) x.im) x.re (pow.f64 x.re #s(literal 3 binary64)))
(fma.f64 (*.f64 x.re x.re) x.re (*.f64 (*.f64 (*.f64 x.im x.im) x.re) #s(literal -3 binary64)))
(fma.f64 #s(literal -3 binary64) (*.f64 (*.f64 x.im x.im) x.re) (pow.f64 x.re #s(literal 3 binary64)))
(fma.f64 x.re (*.f64 (*.f64 #s(literal -3 binary64) x.im) x.im) (pow.f64 x.re #s(literal 3 binary64)))
(fma.f64 x.re (*.f64 x.re x.re) (*.f64 (*.f64 (*.f64 x.im x.im) x.re) #s(literal -3 binary64)))
(+.f64 (pow.f64 x.re #s(literal 3 binary64)) (*.f64 (*.f64 (*.f64 x.im x.im) x.re) #s(literal -3 binary64)))
(+.f64 (*.f64 (*.f64 (*.f64 x.im x.im) x.re) #s(literal -3 binary64)) (pow.f64 x.re #s(literal 3 binary64)))
(/.f64 (-.f64 (*.f64 (*.f64 (+.f64 x.re x.im) (-.f64 x.re x.im)) (*.f64 (+.f64 x.re x.im) (-.f64 x.re x.im))) (*.f64 (*.f64 (*.f64 x.im x.im) #s(literal 2 binary64)) (*.f64 (*.f64 x.im x.im) #s(literal 2 binary64)))) (fma.f64 (+.f64 x.re x.im) (-.f64 x.re x.im) (*.f64 (*.f64 x.im x.im) #s(literal 2 binary64))))
(/.f64 (-.f64 (*.f64 (*.f64 (*.f64 #s(literal -3 binary64) x.im) x.im) (*.f64 (*.f64 #s(literal -3 binary64) x.im) x.im)) (*.f64 (*.f64 x.re x.re) (*.f64 x.re x.re))) (-.f64 (*.f64 (*.f64 #s(literal -3 binary64) x.im) x.im) (*.f64 x.re x.re)))
(/.f64 (-.f64 (pow.f64 (*.f64 (+.f64 x.re x.im) (-.f64 x.re x.im)) #s(literal 3 binary64)) (pow.f64 (*.f64 (*.f64 x.im x.im) #s(literal 2 binary64)) #s(literal 3 binary64))) (fma.f64 (*.f64 (+.f64 x.re x.im) (-.f64 x.re x.im)) (*.f64 (+.f64 x.re x.im) (-.f64 x.re x.im)) (fma.f64 (*.f64 (*.f64 x.im x.im) #s(literal 2 binary64)) (*.f64 (*.f64 x.im x.im) #s(literal 2 binary64)) (*.f64 (*.f64 (+.f64 x.re x.im) (-.f64 x.re x.im)) (*.f64 (*.f64 x.im x.im) #s(literal 2 binary64))))))
(/.f64 (+.f64 (pow.f64 (*.f64 (*.f64 #s(literal -3 binary64) x.im) x.im) #s(literal 3 binary64)) (pow.f64 (*.f64 x.re x.re) #s(literal 3 binary64))) (fma.f64 (*.f64 (*.f64 #s(literal -3 binary64) x.im) x.im) (*.f64 (*.f64 #s(literal -3 binary64) x.im) x.im) (-.f64 (*.f64 (*.f64 x.re x.re) (*.f64 x.re x.re)) (*.f64 (*.f64 (*.f64 #s(literal -3 binary64) x.im) x.im) (*.f64 x.re x.re)))))
(fma.f64 (+.f64 x.re x.im) (-.f64 x.re x.im) (*.f64 (*.f64 (neg.f64 x.im) x.im) #s(literal 2 binary64)))
(fma.f64 (+.f64 x.re x.im) (-.f64 x.re x.im) (*.f64 #s(literal -2 binary64) (*.f64 x.im x.im)))
(fma.f64 (pow.f64 x.re #s(literal 1 binary64)) (pow.f64 x.re #s(literal 1 binary64)) (*.f64 (*.f64 #s(literal -3 binary64) x.im) x.im))
(fma.f64 (neg.f64 x.im) x.im (-.f64 (*.f64 x.re x.re) (*.f64 (*.f64 x.im x.im) #s(literal 2 binary64))))
(fma.f64 (fabs.f64 x.re) (fabs.f64 x.re) (*.f64 (*.f64 #s(literal -3 binary64) x.im) x.im))
(fma.f64 (neg.f64 x.re) (neg.f64 x.re) (*.f64 (*.f64 #s(literal -3 binary64) x.im) x.im))
(fma.f64 (*.f64 #s(literal -3 binary64) x.im) x.im (*.f64 x.re x.re))
(fma.f64 (*.f64 x.im x.im) #s(literal -1 binary64) (-.f64 (*.f64 x.re x.re) (*.f64 (*.f64 x.im x.im) #s(literal 2 binary64))))
(fma.f64 (*.f64 x.im x.im) #s(literal -3 binary64) (*.f64 x.re x.re))
(fma.f64 #s(literal -1 binary64) (*.f64 x.im x.im) (-.f64 (*.f64 x.re x.re) (*.f64 (*.f64 x.im x.im) #s(literal 2 binary64))))
(fma.f64 #s(literal -3 binary64) (*.f64 x.im x.im) (*.f64 x.re x.re))
(fma.f64 x.im (neg.f64 x.im) (-.f64 (*.f64 x.re x.re) (*.f64 (*.f64 x.im x.im) #s(literal 2 binary64))))
(fma.f64 x.im (*.f64 #s(literal -3 binary64) x.im) (*.f64 x.re x.re))
(fma.f64 x.re x.re (*.f64 (*.f64 #s(literal -3 binary64) x.im) x.im))
(-.f64 (*.f64 (*.f64 #s(literal -3 binary64) x.im) x.im) (*.f64 (neg.f64 x.re) x.re))
(-.f64 (*.f64 (+.f64 x.re x.im) (-.f64 x.re x.im)) (*.f64 (*.f64 x.im x.im) #s(literal 2 binary64)))
(+.f64 (*.f64 (*.f64 #s(literal -3 binary64) x.im) x.im) (*.f64 x.re x.re))
(+.f64 (*.f64 x.re x.re) (*.f64 (*.f64 #s(literal -3 binary64) x.im) x.im))
(+.f64 (*.f64 (neg.f64 x.im) x.im) (-.f64 (*.f64 x.re x.re) (*.f64 (*.f64 x.im x.im) #s(literal 2 binary64))))
(+.f64 (*.f64 (+.f64 x.re x.im) (-.f64 x.re x.im)) (*.f64 (*.f64 (neg.f64 x.im) x.im) #s(literal 2 binary64)))
(+.f64 (*.f64 (+.f64 x.re x.im) (-.f64 x.re x.im)) (*.f64 #s(literal -2 binary64) (*.f64 x.im x.im)))
(*.f64 (pow.f64 x.im #s(literal 1 binary64)) (pow.f64 x.im #s(literal 1 binary64)))
(*.f64 (neg.f64 x.im) (neg.f64 x.im))
(*.f64 (fabs.f64 x.im) (fabs.f64 x.im))
(*.f64 x.im x.im)
(pow.f64 x.im #s(literal 2 binary64))
(exp.f64 (*.f64 (log.f64 x.im) #s(literal 2 binary64)))
#s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (pow.f64 x.re #s(literal 3 binary64)))
(*.f64 (pow.f64 x.re #s(literal 3/2 binary64)) (pow.f64 x.re #s(literal 3/2 binary64)))
(*.f64 (*.f64 x.re x.re) x.re)
(*.f64 x.re (*.f64 x.re x.re))
(pow.f64 x.re #s(literal 3 binary64))
(exp.f64 (*.f64 (log.f64 x.re) #s(literal 3 binary64)))
#s(literal 3 binary64)
#s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (*.f64 (*.f64 (*.f64 x.im x.im) x.re) #s(literal -3 binary64)))
#s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (*.f64 (fma.f64 (*.f64 #s(literal -3 binary64) x.im) x.im (*.f64 x.re x.re)) x.re))
#s(approx (* (- (+ (* x.re x.re) (neg (* x.im x.im))) (* (* x.im x.im) 2)) x.re) (*.f64 (*.f64 (*.f64 x.im x.im) x.re) #s(literal -3 binary64)))
#s(approx (* (- (+ (* x.re x.re) (neg (* x.im x.im))) (* (* x.im x.im) 2)) x.re) (*.f64 (fma.f64 (*.f64 #s(literal -3 binary64) x.im) x.im (*.f64 x.re x.re)) x.re))
#s(approx (- (+ (* x.re x.re) (neg (* x.im x.im))) (* (* x.im x.im) 2)) (*.f64 (*.f64 #s(literal -3 binary64) x.im) x.im))
#s(approx (- (+ (* x.re x.re) (neg (* x.im x.im))) (* (* x.im x.im) 2)) (fma.f64 (*.f64 #s(literal -3 binary64) x.im) x.im (*.f64 x.re x.re)))
#s(approx (* x.re x.re) (*.f64 x.re x.re))
#s(approx x.re x.re)
#s(approx (* (- (+ (* x.re x.re) (neg (* x.im x.im))) (* (* x.im x.im) 2)) x.re) (*.f64 (neg.f64 x.re) (*.f64 #s(literal 3 binary64) (*.f64 x.im x.im))))
#s(approx (* (- (+ (* x.re x.re) (neg (* x.im x.im))) (* (* x.im x.im) 2)) x.re) (*.f64 (fma.f64 x.re x.re (neg.f64 (*.f64 #s(literal 3 binary64) (*.f64 x.im x.im)))) x.re))
#s(approx (- (+ (* x.re x.re) (neg (* x.im x.im))) (* (* x.im x.im) 2)) (neg.f64 (*.f64 #s(literal 3 binary64) (*.f64 x.im x.im))))
#s(approx (- (+ (* x.re x.re) (neg (* x.im x.im))) (* (* x.im x.im) 2)) (-.f64 (*.f64 x.re x.re) (*.f64 #s(literal 3 binary64) (*.f64 x.im x.im))))
#s(approx (* (* (* -3 x.re) x.im) x.im) (*.f64 (*.f64 (*.f64 x.im x.im) x.re) #s(literal -3 binary64)))
#s(approx (* (* -3 x.re) x.im) (*.f64 (*.f64 #s(literal -3 binary64) x.re) x.im))
#s(approx (* -3 x.re) (*.f64 #s(literal -3 binary64) x.re))
#s(approx (* (- (+ (* x.re x.re) (neg (* x.im x.im))) (* (* x.im x.im) 2)) x.re) (*.f64 (*.f64 (*.f64 x.im x.im) x.re) #s(literal -3 binary64)))
#s(approx (* (- (+ (* x.re x.re) (neg (* x.im x.im))) (* (* x.im x.im) 2)) x.re) (*.f64 (fma.f64 (*.f64 #s(literal -3 binary64) x.im) x.im (*.f64 x.re x.re)) x.re))
#s(approx (- (+ (* x.re x.re) (neg (* x.im x.im))) (* (* x.im x.im) 2)) (*.f64 (*.f64 #s(literal -3 binary64) x.im) x.im))
#s(approx (- (+ (* x.re x.re) (neg (* x.im x.im))) (* (* x.im x.im) 2)) (fma.f64 (*.f64 #s(literal -3 binary64) x.im) x.im (*.f64 x.re x.re)))
#s(approx (pow x.re 3) (pow.f64 x.re #s(literal 3 binary64)))
#s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (pow.f64 x.re #s(literal 3 binary64)))
#s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (*.f64 (fma.f64 (/.f64 (*.f64 #s(literal 3 binary64) (*.f64 x.im x.im)) (*.f64 x.re x.re)) #s(literal -1 binary64) #s(literal 1 binary64)) (pow.f64 x.re #s(literal 3 binary64))))
#s(approx (* (- (+ (* x.re x.re) (neg (* x.im x.im))) (* (* x.im x.im) 2)) x.re) (pow.f64 x.re #s(literal 3 binary64)))
#s(approx (* (- (+ (* x.re x.re) (neg (* x.im x.im))) (* (* x.im x.im) 2)) x.re) (*.f64 (fma.f64 (/.f64 (*.f64 x.im x.im) (*.f64 x.re x.re)) #s(literal -3 binary64) #s(literal 1 binary64)) (pow.f64 x.re #s(literal 3 binary64))))
#s(approx (- (+ (* x.re x.re) (neg (* x.im x.im))) (* (* x.im x.im) 2)) (*.f64 x.re x.re))
#s(approx (- (+ (* x.re x.re) (neg (* x.im x.im))) (* (* x.im x.im) 2)) (*.f64 (fma.f64 (/.f64 (*.f64 x.im x.im) (*.f64 x.re x.re)) #s(literal -3 binary64) #s(literal 1 binary64)) (*.f64 x.re x.re)))
#s(approx (* (- (+ (* x.re x.re) (neg (* x.im x.im))) (* (* x.im x.im) 2)) x.re) (pow.f64 x.re #s(literal 3 binary64)))
#s(approx (* (- (+ (* x.re x.re) (neg (* x.im x.im))) (* (* x.im x.im) 2)) x.re) (*.f64 (fma.f64 (/.f64 (*.f64 #s(literal 3 binary64) (*.f64 x.im x.im)) (*.f64 x.re x.re)) #s(literal -1 binary64) #s(literal 1 binary64)) (pow.f64 x.re #s(literal 3 binary64))))
#s(approx (- (+ (* x.re x.re) (neg (* x.im x.im))) (* (* x.im x.im) 2)) (*.f64 x.re x.re))
#s(approx (- (+ (* x.re x.re) (neg (* x.im x.im))) (* (* x.im x.im) 2)) (*.f64 (fma.f64 (/.f64 (*.f64 #s(literal 3 binary64) (*.f64 x.im x.im)) (*.f64 x.re x.re)) #s(literal -1 binary64) #s(literal 1 binary64)) (*.f64 x.re x.re)))
#s(approx (* (- (+ (* x.re x.re) (neg (* x.im x.im))) (* (* x.im x.im) 2)) x.re) (pow.f64 x.re #s(literal 3 binary64)))
#s(approx (* (- (+ (* x.re x.re) (neg (* x.im x.im))) (* (* x.im x.im) 2)) x.re) (*.f64 (fma.f64 (/.f64 (*.f64 x.im x.im) (*.f64 x.re x.re)) #s(literal -3 binary64) #s(literal 1 binary64)) (pow.f64 x.re #s(literal 3 binary64))))
#s(approx (- (+ (* x.re x.re) (neg (* x.im x.im))) (* (* x.im x.im) 2)) (*.f64 x.re x.re))
#s(approx (- (+ (* x.re x.re) (neg (* x.im x.im))) (* (* x.im x.im) 2)) (*.f64 (fma.f64 (/.f64 (*.f64 x.im x.im) (*.f64 x.re x.re)) #s(literal -3 binary64) #s(literal 1 binary64)) (*.f64 x.re x.re)))
#s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (neg.f64 (*.f64 (-.f64 (/.f64 (*.f64 x.im x.im) (*.f64 x.re x.re)) (fma.f64 #s(literal -2 binary64) (/.f64 (*.f64 x.im x.im) (*.f64 x.re x.re)) #s(literal 1 binary64))) (pow.f64 x.re #s(literal 3 binary64)))))
#s(approx (* (- (+ (* x.re x.re) (neg (* x.im x.im))) (* (* x.im x.im) 2)) x.re) (neg.f64 (*.f64 (-.f64 (/.f64 (*.f64 #s(literal 3 binary64) (*.f64 x.im x.im)) (*.f64 x.re x.re)) #s(literal 1 binary64)) (pow.f64 x.re #s(literal 3 binary64)))))
#s(approx (* (- (+ (* x.re x.re) (neg (* x.im x.im))) (* (* x.im x.im) 2)) x.re) (neg.f64 (*.f64 (-.f64 (/.f64 (*.f64 #s(literal 3 binary64) (*.f64 x.im x.im)) (*.f64 x.re x.re)) #s(literal 1 binary64)) (pow.f64 x.re #s(literal 3 binary64)))))
#s(approx (* (- (+ (* x.re x.re) (neg (* x.im x.im))) (* (* x.im x.im) 2)) x.re) (neg.f64 (*.f64 (-.f64 (/.f64 (*.f64 #s(literal 3 binary64) (*.f64 x.im x.im)) (*.f64 x.re x.re)) #s(literal 1 binary64)) (pow.f64 x.re #s(literal 3 binary64)))))
#s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (fma.f64 (*.f64 (*.f64 #s(literal -3 binary64) x.re) x.im) x.im (pow.f64 x.re #s(literal 3 binary64))))
#s(approx (* (- (+ (* x.re x.re) (neg (* x.im x.im))) (* (* x.im x.im) 2)) x.re) (*.f64 (fma.f64 (*.f64 #s(literal -3 binary64) x.im) x.im (*.f64 x.re x.re)) x.re))
#s(approx x.im x.im)
#s(approx (* x.im -3) (*.f64 #s(literal -3 binary64) x.im))
#s(approx (* (- (+ (* x.re x.re) (neg (* x.im x.im))) (* (* x.im x.im) 2)) x.re) (*.f64 (fma.f64 (*.f64 #s(literal -3 binary64) x.im) x.im (*.f64 x.re x.re)) x.re))
#s(approx (- (+ (* x.re x.re) (neg (* x.im x.im))) (* (* x.im x.im) 2)) (fma.f64 (*.f64 #s(literal -3 binary64) x.im) x.im (*.f64 x.re x.re)))
#s(approx (* (- (+ (* x.re x.re) (neg (* x.im x.im))) (* (* x.im x.im) 2)) x.re) (*.f64 (fma.f64 (*.f64 #s(literal -3 binary64) x.im) x.im (*.f64 x.re x.re)) x.re))
#s(approx (* x.im x.im) (*.f64 x.im x.im))
#s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (*.f64 (*.f64 (*.f64 #s(literal -3 binary64) x.re) x.im) x.im))
#s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (*.f64 (-.f64 (+.f64 (/.f64 (pow.f64 x.re #s(literal 3 binary64)) (*.f64 x.im x.im)) (neg.f64 x.re)) (*.f64 #s(literal 2 binary64) x.re)) (*.f64 x.im x.im)))
#s(approx (* (- (+ (* x.re x.re) (neg (* x.im x.im))) (* (* x.im x.im) 2)) x.re) (*.f64 (fma.f64 #s(literal -3 binary64) x.re (/.f64 (pow.f64 x.re #s(literal 3 binary64)) (*.f64 x.im x.im))) (*.f64 x.im x.im)))
#s(approx (- (+ (* x.re x.re) (neg (* x.im x.im))) (* (* x.im x.im) 2)) (*.f64 (-.f64 (/.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) #s(literal 3 binary64)) (*.f64 x.im x.im)))
#s(approx (* (- (+ (* x.re x.re) (neg (* x.im x.im))) (* (* x.im x.im) 2)) x.re) (*.f64 (*.f64 (*.f64 x.im x.im) x.re) #s(literal -3 binary64)))
#s(approx (* (- (+ (* x.re x.re) (neg (* x.im x.im))) (* (* x.im x.im) 2)) x.re) (*.f64 (fma.f64 #s(literal -3 binary64) x.re (/.f64 (pow.f64 x.re #s(literal 3 binary64)) (*.f64 x.im x.im))) (*.f64 x.im x.im)))
#s(approx (- (+ (* x.re x.re) (neg (* x.im x.im))) (* (* x.im x.im) 2)) (*.f64 (*.f64 #s(literal -3 binary64) x.im) x.im))
#s(approx (- (+ (* x.re x.re) (neg (* x.im x.im))) (* (* x.im x.im) 2)) (*.f64 (-.f64 (/.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) #s(literal 3 binary64)) (*.f64 x.im x.im)))
#s(approx (* (- (+ (* x.re x.re) (neg (* x.im x.im))) (* (* x.im x.im) 2)) x.re) (*.f64 (fma.f64 #s(literal -3 binary64) x.re (/.f64 (pow.f64 x.re #s(literal 3 binary64)) (*.f64 x.im x.im))) (*.f64 x.im x.im)))
#s(approx (- (+ (* x.re x.re) (neg (* x.im x.im))) (* (* x.im x.im) 2)) (*.f64 (-.f64 (/.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) #s(literal 3 binary64)) (*.f64 x.im x.im)))

eval41.0ms (1.8%)

Memory
-0.7MiB live, 45.1MiB allocated; 5ms collecting garbage
Compiler

Compiled 5 605 to 496 computations (91.2% saved)

prune19.0ms (0.8%)

Memory
-2.2MiB live, 42.3MiB allocated; 6ms collecting garbage
Pruning

9 alts after pruning (3 fresh and 6 done)

PrunedKeptTotal
New1601161
Fresh123
Picked055
Done011
Total1619170
Accuracy
100.0%
Counts
170 → 9
Alt Table
Click to see full alt table
StatusAccuracyProgram
55.2%
(fma.f64 #s(approx (+ (* x.re x.re) (neg (* x.im x.im))) (*.f64 (neg.f64 x.im) x.im)) x.re (*.f64 (neg.f64 (*.f64 #s(literal 2 binary64) (*.f64 x.im x.re))) x.im))
53.2%
#s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (pow.f64 x.re #s(literal 3 binary64)))
88.5%
#s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (*.f64 (fma.f64 (*.f64 x.im x.im) #s(literal -3 binary64) (*.f64 x.re x.re)) x.re))
90.9%
#s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (*.f64 (fma.f64 x.im (*.f64 x.im #s(literal -3 binary64)) (*.f64 x.re x.re)) x.re))
55.2%
#s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (*.f64 (*.f64 (*.f64 x.im x.im) x.re) #s(literal -3 binary64)))
60.9%
#s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (*.f64 (*.f64 (*.f64 #s(literal -3 binary64) x.re) x.im) x.im))
60.9%
#s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (*.f64 (*.f64 (*.f64 #s(literal -3 binary64) x.im) x.re) x.im))
55.2%
#s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (*.f64 (*.f64 x.re #s(literal -3 binary64)) (*.f64 x.im x.im)))
53.1%
#s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (*.f64 #s(approx (- (+ (* x.re x.re) (neg (* x.im x.im))) (* (* x.im x.im) 2)) (*.f64 x.re x.re)) x.re))
Compiler

Compiled 254 to 147 computations (42.1% saved)

series17.0ms (0.7%)

Memory
-9.2MiB live, 35.8MiB allocated; 5ms collecting garbage
Counts
20 → 36
Calls
Call 1
Inputs
#s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (*.f64 (*.f64 (*.f64 #s(literal -3 binary64) x.im) x.re) x.im))
(*.f64 (*.f64 (*.f64 #s(literal -3 binary64) x.im) x.re) x.im)
(*.f64 (*.f64 #s(literal -3 binary64) x.im) x.re)
(*.f64 #s(literal -3 binary64) x.im)
#s(literal -3 binary64)
x.im
x.re
#s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (*.f64 (*.f64 (*.f64 x.im x.im) x.re) #s(literal -3 binary64)))
(*.f64 (*.f64 (*.f64 x.im x.im) x.re) #s(literal -3 binary64))
(*.f64 (*.f64 x.im x.im) x.re)
(*.f64 x.im x.im)
(fma.f64 #s(approx (+ (* x.re x.re) (neg (* x.im x.im))) (*.f64 (neg.f64 x.im) x.im)) x.re (*.f64 (neg.f64 (*.f64 #s(literal 2 binary64) (*.f64 x.im x.re))) x.im))
#s(approx (+ (* x.re x.re) (neg (* x.im x.im))) (*.f64 (neg.f64 x.im) x.im))
(*.f64 (neg.f64 x.im) x.im)
(neg.f64 x.im)
(*.f64 (neg.f64 (*.f64 #s(literal 2 binary64) (*.f64 x.im x.re))) x.im)
(neg.f64 (*.f64 #s(literal 2 binary64) (*.f64 x.im x.re)))
(*.f64 #s(literal 2 binary64) (*.f64 x.im x.re))
#s(literal 2 binary64)
(*.f64 x.im x.re)
Outputs
#s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) #s(hole binary64 (* x.re (- (* -1 (pow x.im 2)) (* 2 (pow x.im 2))))))
#s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) #s(hole binary64 (* x.re (- (+ (* -1 (pow x.im 2)) (pow x.re 2)) (* 2 (pow x.im 2))))))
#s(approx (* (* (* -3 x.im) x.re) x.im) #s(hole binary64 (* -3 (* (pow x.im 2) x.re))))
#s(approx (* (* -3 x.im) x.re) #s(hole binary64 (* -3 (* x.im x.re))))
#s(approx x.re #s(hole binary64 x.re))
#s(approx (* (* (* x.im x.im) x.re) -3) #s(hole binary64 (* -3 (* (pow x.im 2) x.re))))
#s(approx (* (* x.im x.im) x.re) #s(hole binary64 (* (pow x.im 2) x.re)))
#s(approx (+ (* (+ (* x.re x.re) (neg (* x.im x.im))) x.re) (* (neg (* 2 (* x.im x.re))) x.im)) #s(hole binary64 (* x.re (+ (* -2 (pow x.im 2)) (* -1 (pow x.im 2))))))
#s(approx (+ (* (+ (* x.re x.re) (neg (* x.im x.im))) x.re) (* (neg (* 2 (* x.im x.re))) x.im)) #s(hole binary64 (* x.re (+ (* -2 (pow x.im 2)) (+ (* -1 (pow x.im 2)) (pow x.re 2))))))
#s(approx (+ (* x.re x.re) (neg (* x.im x.im))) #s(hole binary64 (* -1 (pow x.im 2))))
#s(approx (+ (* x.re x.re) (neg (* x.im x.im))) #s(hole binary64 (- (pow x.re 2) (pow x.im 2))))
#s(approx (* (neg (* 2 (* x.im x.re))) x.im) #s(hole binary64 (* -2 (* (pow x.im 2) x.re))))
#s(approx (neg (* 2 (* x.im x.re))) #s(hole binary64 (* -2 (* x.im x.re))))
#s(approx (* 2 (* x.im x.re)) #s(hole binary64 (* 2 (* x.im x.re))))
#s(approx (* x.im x.re) #s(hole binary64 (* x.im x.re)))
#s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) #s(hole binary64 (pow x.re 3)))
#s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) #s(hole binary64 (* (pow x.re 3) (+ 1 (* -1 (/ (+ (* 2 (pow x.im 2)) (pow x.im 2)) (pow x.re 2)))))))
#s(approx (+ (* (+ (* x.re x.re) (neg (* x.im x.im))) x.re) (* (neg (* 2 (* x.im x.re))) x.im)) #s(hole binary64 (pow x.re 3)))
#s(approx (+ (* (+ (* x.re x.re) (neg (* x.im x.im))) x.re) (* (neg (* 2 (* x.im x.re))) x.im)) #s(hole binary64 (* (pow x.re 3) (- (+ 1 (* -2 (/ (pow x.im 2) (pow x.re 2)))) (/ (pow x.im 2) (pow x.re 2))))))
#s(approx (+ (* x.re x.re) (neg (* x.im x.im))) #s(hole binary64 (pow x.re 2)))
#s(approx (+ (* x.re x.re) (neg (* x.im x.im))) #s(hole binary64 (* (pow x.re 2) (+ 1 (* -1 (/ (pow x.im 2) (pow x.re 2)))))))
#s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) #s(hole binary64 (* -1 (* (pow x.re 3) (- (/ (pow x.im 2) (pow x.re 2)) (+ 1 (* -2 (/ (pow x.im 2) (pow x.re 2)))))))))
#s(approx (+ (* (+ (* x.re x.re) (neg (* x.im x.im))) x.re) (* (neg (* 2 (* x.im x.re))) x.im)) #s(hole binary64 (* -1 (* (pow x.re 3) (- (+ (* 2 (/ (pow x.im 2) (pow x.re 2))) (/ (pow x.im 2) (pow x.re 2))) 1)))))
#s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) #s(hole binary64 (+ (* (pow x.im 2) (- (* -1 x.re) (* 2 x.re))) (pow x.re 3))))
#s(approx (* -3 x.im) #s(hole binary64 (* -3 x.im)))
#s(approx x.im #s(hole binary64 x.im))
#s(approx (* x.im x.im) #s(hole binary64 (pow x.im 2)))
#s(approx (+ (* (+ (* x.re x.re) (neg (* x.im x.im))) x.re) (* (neg (* 2 (* x.im x.re))) x.im)) #s(hole binary64 (+ (* (pow x.im 2) (+ (* -2 x.re) (* -1 x.re))) (pow x.re 3))))
#s(approx (+ (* x.re x.re) (neg (* x.im x.im))) #s(hole binary64 (+ (* -1 (pow x.im 2)) (pow x.re 2))))
#s(approx (* (neg x.im) x.im) #s(hole binary64 (* -1 (pow x.im 2))))
#s(approx (neg x.im) #s(hole binary64 (* -1 x.im)))
#s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) #s(hole binary64 (* (pow x.im 2) (- (* -1 x.re) (* 2 x.re)))))
#s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) #s(hole binary64 (* (pow x.im 2) (- (+ (* -1 x.re) (/ (pow x.re 3) (pow x.im 2))) (* 2 x.re)))))
#s(approx (+ (* (+ (* x.re x.re) (neg (* x.im x.im))) x.re) (* (neg (* 2 (* x.im x.re))) x.im)) #s(hole binary64 (* (pow x.im 2) (+ (* -2 x.re) (* -1 x.re)))))
#s(approx (+ (* (+ (* x.re x.re) (neg (* x.im x.im))) x.re) (* (neg (* 2 (* x.im x.re))) x.im)) #s(hole binary64 (* (pow x.im 2) (+ (* -2 x.re) (+ (* -1 x.re) (/ (pow x.re 3) (pow x.im 2)))))))
#s(approx (+ (* x.re x.re) (neg (* x.im x.im))) #s(hole binary64 (* (pow x.im 2) (- (/ (pow x.re 2) (pow x.im 2)) 1))))
Calls

6 calls:

TimeVariablePointExpression
5.0ms
x.im
@inf
((- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (* (* (* -3 x.im) x.re) x.im) (* (* -3 x.im) x.re) (* -3 x.im) -3 x.im x.re (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (* (* (* x.im x.im) x.re) -3) (* (* x.im x.im) x.re) (* x.im x.im) (+ (* (+ (* x.re x.re) (neg (* x.im x.im))) x.re) (* (neg (* 2 (* x.im x.re))) x.im)) (+ (* x.re x.re) (neg (* x.im x.im))) (* (neg x.im) x.im) (neg x.im) (* (neg (* 2 (* x.im x.re))) x.im) (neg (* 2 (* x.im x.re))) (* 2 (* x.im x.re)) 2 (* x.im x.re))
3.0ms
x.im
@-inf
((- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (* (* (* -3 x.im) x.re) x.im) (* (* -3 x.im) x.re) (* -3 x.im) -3 x.im x.re (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (* (* (* x.im x.im) x.re) -3) (* (* x.im x.im) x.re) (* x.im x.im) (+ (* (+ (* x.re x.re) (neg (* x.im x.im))) x.re) (* (neg (* 2 (* x.im x.re))) x.im)) (+ (* x.re x.re) (neg (* x.im x.im))) (* (neg x.im) x.im) (neg x.im) (* (neg (* 2 (* x.im x.re))) x.im) (neg (* 2 (* x.im x.re))) (* 2 (* x.im x.re)) 2 (* x.im x.re))
2.0ms
x.re
@-inf
((- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (* (* (* -3 x.im) x.re) x.im) (* (* -3 x.im) x.re) (* -3 x.im) -3 x.im x.re (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (* (* (* x.im x.im) x.re) -3) (* (* x.im x.im) x.re) (* x.im x.im) (+ (* (+ (* x.re x.re) (neg (* x.im x.im))) x.re) (* (neg (* 2 (* x.im x.re))) x.im)) (+ (* x.re x.re) (neg (* x.im x.im))) (* (neg x.im) x.im) (neg x.im) (* (neg (* 2 (* x.im x.re))) x.im) (neg (* 2 (* x.im x.re))) (* 2 (* x.im x.re)) 2 (* x.im x.re))
2.0ms
x.re
@inf
((- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (* (* (* -3 x.im) x.re) x.im) (* (* -3 x.im) x.re) (* -3 x.im) -3 x.im x.re (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (* (* (* x.im x.im) x.re) -3) (* (* x.im x.im) x.re) (* x.im x.im) (+ (* (+ (* x.re x.re) (neg (* x.im x.im))) x.re) (* (neg (* 2 (* x.im x.re))) x.im)) (+ (* x.re x.re) (neg (* x.im x.im))) (* (neg x.im) x.im) (neg x.im) (* (neg (* 2 (* x.im x.re))) x.im) (neg (* 2 (* x.im x.re))) (* 2 (* x.im x.re)) 2 (* x.im x.re))
2.0ms
x.im
@0
((- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (* (* (* -3 x.im) x.re) x.im) (* (* -3 x.im) x.re) (* -3 x.im) -3 x.im x.re (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (* (* (* x.im x.im) x.re) -3) (* (* x.im x.im) x.re) (* x.im x.im) (+ (* (+ (* x.re x.re) (neg (* x.im x.im))) x.re) (* (neg (* 2 (* x.im x.re))) x.im)) (+ (* x.re x.re) (neg (* x.im x.im))) (* (neg x.im) x.im) (neg x.im) (* (neg (* 2 (* x.im x.re))) x.im) (neg (* 2 (* x.im x.re))) (* 2 (* x.im x.re)) 2 (* x.im x.re))

rewrite51.0ms (2.2%)

Memory
2.0MiB live, 99.7MiB allocated; 12ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0144962
0163844
0708818
Stop Event
iter limit
iter limit
node limit
iter limit
Counts
56 → 107
Calls
Call 1
Inputs
#s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (*.f64 (*.f64 (*.f64 #s(literal -3 binary64) x.im) x.re) x.im))
(*.f64 (*.f64 (*.f64 #s(literal -3 binary64) x.im) x.re) x.im)
(*.f64 (*.f64 #s(literal -3 binary64) x.im) x.re)
(*.f64 #s(literal -3 binary64) x.im)
#s(literal -3 binary64)
x.im
x.re
#s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (*.f64 (*.f64 (*.f64 x.im x.im) x.re) #s(literal -3 binary64)))
(*.f64 (*.f64 (*.f64 x.im x.im) x.re) #s(literal -3 binary64))
(*.f64 (*.f64 x.im x.im) x.re)
(*.f64 x.im x.im)
(fma.f64 #s(approx (+ (* x.re x.re) (neg (* x.im x.im))) (*.f64 (neg.f64 x.im) x.im)) x.re (*.f64 (neg.f64 (*.f64 #s(literal 2 binary64) (*.f64 x.im x.re))) x.im))
#s(approx (+ (* x.re x.re) (neg (* x.im x.im))) (*.f64 (neg.f64 x.im) x.im))
(*.f64 (neg.f64 x.im) x.im)
(neg.f64 x.im)
(*.f64 (neg.f64 (*.f64 #s(literal 2 binary64) (*.f64 x.im x.re))) x.im)
(neg.f64 (*.f64 #s(literal 2 binary64) (*.f64 x.im x.re)))
(*.f64 #s(literal 2 binary64) (*.f64 x.im x.re))
#s(literal 2 binary64)
(*.f64 x.im x.re)
#s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) #s(hole binary64 (* x.re (- (* -1 (pow x.im 2)) (* 2 (pow x.im 2))))))
#s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) #s(hole binary64 (* x.re (- (+ (* -1 (pow x.im 2)) (pow x.re 2)) (* 2 (pow x.im 2))))))
#s(approx (* (* (* -3 x.im) x.re) x.im) #s(hole binary64 (* -3 (* (pow x.im 2) x.re))))
#s(approx (* (* -3 x.im) x.re) #s(hole binary64 (* -3 (* x.im x.re))))
#s(approx x.re #s(hole binary64 x.re))
#s(approx (* (* (* x.im x.im) x.re) -3) #s(hole binary64 (* -3 (* (pow x.im 2) x.re))))
#s(approx (* (* x.im x.im) x.re) #s(hole binary64 (* (pow x.im 2) x.re)))
#s(approx (+ (* (+ (* x.re x.re) (neg (* x.im x.im))) x.re) (* (neg (* 2 (* x.im x.re))) x.im)) #s(hole binary64 (* x.re (+ (* -2 (pow x.im 2)) (* -1 (pow x.im 2))))))
#s(approx (+ (* (+ (* x.re x.re) (neg (* x.im x.im))) x.re) (* (neg (* 2 (* x.im x.re))) x.im)) #s(hole binary64 (* x.re (+ (* -2 (pow x.im 2)) (+ (* -1 (pow x.im 2)) (pow x.re 2))))))
#s(approx (+ (* x.re x.re) (neg (* x.im x.im))) #s(hole binary64 (* -1 (pow x.im 2))))
#s(approx (+ (* x.re x.re) (neg (* x.im x.im))) #s(hole binary64 (- (pow x.re 2) (pow x.im 2))))
#s(approx (* (neg (* 2 (* x.im x.re))) x.im) #s(hole binary64 (* -2 (* (pow x.im 2) x.re))))
#s(approx (neg (* 2 (* x.im x.re))) #s(hole binary64 (* -2 (* x.im x.re))))
#s(approx (* 2 (* x.im x.re)) #s(hole binary64 (* 2 (* x.im x.re))))
#s(approx (* x.im x.re) #s(hole binary64 (* x.im x.re)))
#s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) #s(hole binary64 (pow x.re 3)))
#s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) #s(hole binary64 (* (pow x.re 3) (+ 1 (* -1 (/ (+ (* 2 (pow x.im 2)) (pow x.im 2)) (pow x.re 2)))))))
#s(approx (+ (* (+ (* x.re x.re) (neg (* x.im x.im))) x.re) (* (neg (* 2 (* x.im x.re))) x.im)) #s(hole binary64 (pow x.re 3)))
#s(approx (+ (* (+ (* x.re x.re) (neg (* x.im x.im))) x.re) (* (neg (* 2 (* x.im x.re))) x.im)) #s(hole binary64 (* (pow x.re 3) (- (+ 1 (* -2 (/ (pow x.im 2) (pow x.re 2)))) (/ (pow x.im 2) (pow x.re 2))))))
#s(approx (+ (* x.re x.re) (neg (* x.im x.im))) #s(hole binary64 (pow x.re 2)))
#s(approx (+ (* x.re x.re) (neg (* x.im x.im))) #s(hole binary64 (* (pow x.re 2) (+ 1 (* -1 (/ (pow x.im 2) (pow x.re 2)))))))
#s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) #s(hole binary64 (* -1 (* (pow x.re 3) (- (/ (pow x.im 2) (pow x.re 2)) (+ 1 (* -2 (/ (pow x.im 2) (pow x.re 2)))))))))
#s(approx (+ (* (+ (* x.re x.re) (neg (* x.im x.im))) x.re) (* (neg (* 2 (* x.im x.re))) x.im)) #s(hole binary64 (* -1 (* (pow x.re 3) (- (+ (* 2 (/ (pow x.im 2) (pow x.re 2))) (/ (pow x.im 2) (pow x.re 2))) 1)))))
#s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) #s(hole binary64 (+ (* (pow x.im 2) (- (* -1 x.re) (* 2 x.re))) (pow x.re 3))))
#s(approx (* -3 x.im) #s(hole binary64 (* -3 x.im)))
#s(approx x.im #s(hole binary64 x.im))
#s(approx (* x.im x.im) #s(hole binary64 (pow x.im 2)))
#s(approx (+ (* (+ (* x.re x.re) (neg (* x.im x.im))) x.re) (* (neg (* 2 (* x.im x.re))) x.im)) #s(hole binary64 (+ (* (pow x.im 2) (+ (* -2 x.re) (* -1 x.re))) (pow x.re 3))))
#s(approx (+ (* x.re x.re) (neg (* x.im x.im))) #s(hole binary64 (+ (* -1 (pow x.im 2)) (pow x.re 2))))
#s(approx (* (neg x.im) x.im) #s(hole binary64 (* -1 (pow x.im 2))))
#s(approx (neg x.im) #s(hole binary64 (* -1 x.im)))
#s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) #s(hole binary64 (* (pow x.im 2) (- (* -1 x.re) (* 2 x.re)))))
#s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) #s(hole binary64 (* (pow x.im 2) (- (+ (* -1 x.re) (/ (pow x.re 3) (pow x.im 2))) (* 2 x.re)))))
#s(approx (+ (* (+ (* x.re x.re) (neg (* x.im x.im))) x.re) (* (neg (* 2 (* x.im x.re))) x.im)) #s(hole binary64 (* (pow x.im 2) (+ (* -2 x.re) (* -1 x.re)))))
#s(approx (+ (* (+ (* x.re x.re) (neg (* x.im x.im))) x.re) (* (neg (* 2 (* x.im x.re))) x.im)) #s(hole binary64 (* (pow x.im 2) (+ (* -2 x.re) (+ (* -1 x.re) (/ (pow x.re 3) (pow x.im 2)))))))
#s(approx (+ (* x.re x.re) (neg (* x.im x.im))) #s(hole binary64 (* (pow x.im 2) (- (/ (pow x.re 2) (pow x.im 2)) 1))))
Outputs
#s(approx (+ (* (+ (* x.re x.re) (neg (* x.im x.im))) x.re) (* (neg (* 2 (* x.im x.re))) x.im)) (*.f64 (*.f64 (*.f64 #s(literal -3 binary64) x.im) x.re) x.im))
(*.f64 (*.f64 (*.f64 #s(literal -3 binary64) x.im) x.re) x.im)
(*.f64 (*.f64 #s(literal -3 binary64) x.im) (*.f64 x.im x.re))
(*.f64 x.im (*.f64 (*.f64 #s(literal -3 binary64) x.im) x.re))
(*.f64 (*.f64 #s(literal -3 binary64) x.im) x.re)
(*.f64 #s(literal -3 binary64) (*.f64 x.im x.re))
(*.f64 (*.f64 x.im x.re) #s(literal -3 binary64))
(*.f64 x.re (*.f64 #s(literal -3 binary64) x.im))
(*.f64 #s(literal -3 binary64) x.im)
(*.f64 x.im #s(literal -3 binary64))
#s(literal -3 binary64)
x.im
x.re
#s(approx (+ (* (+ (* x.re x.re) (neg (* x.im x.im))) x.re) (* (neg (* 2 (* x.im x.re))) x.im)) (*.f64 (*.f64 (*.f64 x.im x.im) x.re) #s(literal -3 binary64)))
(*.f64 (*.f64 #s(literal -3 binary64) (*.f64 x.im x.im)) x.re)
(*.f64 (*.f64 x.re #s(literal -3 binary64)) (*.f64 x.im x.im))
(*.f64 (*.f64 (*.f64 x.im x.im) x.re) #s(literal -3 binary64))
(*.f64 (*.f64 x.im x.im) (*.f64 x.re #s(literal -3 binary64)))
(*.f64 #s(literal -3 binary64) (*.f64 (*.f64 x.im x.im) x.re))
(fma.f64 (*.f64 #s(literal -2 binary64) x.re) (*.f64 x.im x.im) (*.f64 (neg.f64 x.re) (*.f64 x.im x.im)))
(fma.f64 (*.f64 x.im x.im) (*.f64 #s(literal -2 binary64) x.re) (*.f64 (*.f64 x.im x.im) (neg.f64 x.re)))
(+.f64 (*.f64 (*.f64 #s(literal -2 binary64) x.re) (*.f64 x.im x.im)) (*.f64 (neg.f64 x.re) (*.f64 x.im x.im)))
(+.f64 (*.f64 (*.f64 x.im x.im) (*.f64 #s(literal -2 binary64) x.re)) (*.f64 (*.f64 x.im x.im) (neg.f64 x.re)))
(*.f64 (*.f64 x.im x.im) x.re)
(*.f64 x.im (*.f64 x.im x.re))
(*.f64 x.re (*.f64 x.im x.im))
(*.f64 (pow.f64 x.im #s(literal 1 binary64)) (pow.f64 x.im #s(literal 1 binary64)))
(*.f64 (fabs.f64 x.im) (fabs.f64 x.im))
(*.f64 (neg.f64 x.im) (neg.f64 x.im))
(*.f64 x.im x.im)
(pow.f64 x.im #s(literal 2 binary64))
(exp.f64 (*.f64 (log.f64 x.im) #s(literal 2 binary64)))
(/.f64 (-.f64 (*.f64 (*.f64 #s(approx (+ (* x.re x.re) (neg (* x.im x.im))) (*.f64 (neg.f64 x.im) x.im)) x.re) (*.f64 #s(approx (+ (* x.re x.re) (neg (* x.im x.im))) (*.f64 (neg.f64 x.im) x.im)) x.re)) (*.f64 (*.f64 (*.f64 #s(literal -2 binary64) (*.f64 x.im x.re)) x.im) (*.f64 (*.f64 #s(literal -2 binary64) (*.f64 x.im x.re)) x.im))) (-.f64 (*.f64 #s(approx (+ (* x.re x.re) (neg (* x.im x.im))) (*.f64 (neg.f64 x.im) x.im)) x.re) (*.f64 (*.f64 #s(literal -2 binary64) (*.f64 x.im x.re)) x.im)))
(/.f64 (+.f64 (pow.f64 (*.f64 #s(approx (+ (* x.re x.re) (neg (* x.im x.im))) (*.f64 (neg.f64 x.im) x.im)) x.re) #s(literal 3 binary64)) (pow.f64 (*.f64 (*.f64 #s(literal -2 binary64) (*.f64 x.im x.re)) x.im) #s(literal 3 binary64))) (fma.f64 (*.f64 #s(approx (+ (* x.re x.re) (neg (* x.im x.im))) (*.f64 (neg.f64 x.im) x.im)) x.re) (*.f64 #s(approx (+ (* x.re x.re) (neg (* x.im x.im))) (*.f64 (neg.f64 x.im) x.im)) x.re) (-.f64 (*.f64 (*.f64 (*.f64 #s(literal -2 binary64) (*.f64 x.im x.re)) x.im) (*.f64 (*.f64 #s(literal -2 binary64) (*.f64 x.im x.re)) x.im)) (*.f64 (*.f64 #s(approx (+ (* x.re x.re) (neg (* x.im x.im))) (*.f64 (neg.f64 x.im) x.im)) x.re) (*.f64 (*.f64 #s(literal -2 binary64) (*.f64 x.im x.re)) x.im)))))
(fma.f64 (*.f64 #s(literal -2 binary64) (*.f64 x.im x.re)) x.im (*.f64 #s(approx (+ (* x.re x.re) (neg (* x.im x.im))) (*.f64 (neg.f64 x.im) x.im)) x.re))
(fma.f64 #s(approx (+ (* x.re x.re) (neg (* x.im x.im))) (*.f64 (neg.f64 x.im) x.im)) x.re (*.f64 (*.f64 #s(literal -2 binary64) (*.f64 x.im x.re)) x.im))
(fma.f64 x.im (*.f64 #s(literal -2 binary64) (*.f64 x.im x.re)) (*.f64 #s(approx (+ (* x.re x.re) (neg (* x.im x.im))) (*.f64 (neg.f64 x.im) x.im)) x.re))
(fma.f64 x.re #s(approx (+ (* x.re x.re) (neg (* x.im x.im))) (*.f64 (neg.f64 x.im) x.im)) (*.f64 (*.f64 #s(literal -2 binary64) (*.f64 x.im x.re)) x.im))
(-.f64 (*.f64 #s(approx (+ (* x.re x.re) (neg (* x.im x.im))) (*.f64 (neg.f64 x.im) x.im)) x.re) (*.f64 (neg.f64 (*.f64 #s(literal -2 binary64) (*.f64 x.im x.re))) x.im))
(-.f64 (*.f64 #s(approx (+ (* x.re x.re) (neg (* x.im x.im))) (*.f64 (neg.f64 x.im) x.im)) x.re) (*.f64 (*.f64 #s(literal 2 binary64) (*.f64 x.im x.re)) x.im))
(+.f64 (*.f64 #s(approx (+ (* x.re x.re) (neg (* x.im x.im))) (*.f64 (neg.f64 x.im) x.im)) x.re) (*.f64 (*.f64 #s(literal -2 binary64) (*.f64 x.im x.re)) x.im))
(+.f64 (*.f64 (*.f64 #s(literal -2 binary64) (*.f64 x.im x.re)) x.im) (*.f64 #s(approx (+ (* x.re x.re) (neg (* x.im x.im))) (*.f64 (neg.f64 x.im) x.im)) x.re))
#s(approx (+ (* x.re x.re) (neg (* x.im x.im))) (*.f64 (neg.f64 x.im) x.im))
(*.f64 (neg.f64 x.im) x.im)
(*.f64 (*.f64 x.im x.im) #s(literal -1 binary64))
(*.f64 #s(literal -1 binary64) (*.f64 x.im x.im))
(*.f64 x.im (neg.f64 x.im))
(neg.f64 (*.f64 x.im x.im))
(*.f64 #s(literal -1 binary64) x.im)
(*.f64 x.im #s(literal -1 binary64))
(neg.f64 x.im)
(*.f64 (*.f64 #s(literal -2 binary64) (*.f64 x.im x.re)) x.im)
(*.f64 x.im (*.f64 #s(literal -2 binary64) (*.f64 x.im x.re)))
(neg.f64 (*.f64 (*.f64 #s(literal 2 binary64) (*.f64 x.im x.re)) x.im))
(*.f64 (*.f64 #s(literal -2 binary64) x.im) x.re)
(*.f64 #s(literal -2 binary64) (*.f64 x.im x.re))
(*.f64 #s(literal 2 binary64) (neg.f64 (*.f64 x.im x.re)))
(*.f64 (*.f64 x.im x.re) #s(literal -2 binary64))
(neg.f64 (*.f64 #s(literal 2 binary64) (*.f64 x.im x.re)))
(*.f64 (*.f64 #s(literal 2 binary64) x.im) x.re)
(*.f64 #s(literal 2 binary64) (*.f64 x.im x.re))
(*.f64 (*.f64 x.im x.re) #s(literal 2 binary64))
(/.f64 (-.f64 (*.f64 (*.f64 x.im x.re) (*.f64 x.im x.re)) (*.f64 (*.f64 x.im x.re) (*.f64 x.im x.re))) (-.f64 (*.f64 x.im x.re) (*.f64 x.im x.re)))
(/.f64 (+.f64 (pow.f64 (*.f64 x.im x.re) #s(literal 3 binary64)) (pow.f64 (*.f64 x.im x.re) #s(literal 3 binary64))) (fma.f64 (*.f64 x.im x.re) (*.f64 x.im x.re) (-.f64 (*.f64 (*.f64 x.im x.re) (*.f64 x.im x.re)) (*.f64 (*.f64 x.im x.re) (*.f64 x.im x.re)))))
(fma.f64 x.im x.re (*.f64 x.im x.re))
(fma.f64 x.re x.im (*.f64 x.im x.re))
(-.f64 (*.f64 x.im x.re) (*.f64 (neg.f64 x.im) x.re))
(+.f64 (*.f64 x.im x.re) (*.f64 x.im x.re))
#s(literal 2 binary64)
(*.f64 x.im x.re)
(*.f64 x.re x.im)
#s(approx (+ (* (+ (* x.re x.re) (neg (* x.im x.im))) x.re) (* (neg (* 2 (* x.im x.re))) x.im)) (*.f64 (*.f64 (*.f64 x.im x.im) #s(literal -3 binary64)) x.re))
#s(approx (+ (* (+ (* x.re x.re) (neg (* x.im x.im))) x.re) (* (neg (* 2 (* x.im x.re))) x.im)) (*.f64 (fma.f64 (*.f64 x.im x.im) #s(literal -3 binary64) (*.f64 x.re x.re)) x.re))
#s(approx (* (* (* -3 x.im) x.re) x.im) (*.f64 (*.f64 (*.f64 x.im x.im) x.re) #s(literal -3 binary64)))
#s(approx (* (* -3 x.im) x.re) (*.f64 (*.f64 #s(literal -3 binary64) x.im) x.re))
#s(approx x.re x.re)
#s(approx (* (* (* x.im x.im) x.re) -3) (*.f64 (*.f64 (*.f64 x.im x.im) x.re) #s(literal -3 binary64)))
#s(approx (* (* x.im x.im) x.re) (*.f64 (*.f64 x.im x.im) x.re))
#s(approx (+ (* (+ (* x.re x.re) (neg (* x.im x.im))) x.re) (* (neg (* 2 (* x.im x.re))) x.im)) (*.f64 (*.f64 (*.f64 x.im x.im) #s(literal -3 binary64)) x.re))
#s(approx (+ (* (+ (* x.re x.re) (neg (* x.im x.im))) x.re) (* (neg (* 2 (* x.im x.re))) x.im)) (*.f64 (fma.f64 (*.f64 x.im x.im) #s(literal -3 binary64) (*.f64 x.re x.re)) x.re))
#s(approx (+ (* x.re x.re) (neg (* x.im x.im))) (*.f64 (neg.f64 x.im) x.im))
#s(approx (+ (* x.re x.re) (neg (* x.im x.im))) (*.f64 (+.f64 x.re x.im) (-.f64 x.re x.im)))
#s(approx (* (neg (* 2 (* x.im x.re))) x.im) (*.f64 (*.f64 #s(literal -2 binary64) (*.f64 x.im x.im)) x.re))
#s(approx (neg (* 2 (* x.im x.re))) (*.f64 #s(literal -2 binary64) (*.f64 x.im x.re)))
#s(approx (* 2 (* x.im x.re)) (*.f64 #s(literal 2 binary64) (*.f64 x.im x.re)))
#s(approx (* x.im x.re) (*.f64 x.im x.re))
#s(approx (+ (* (+ (* x.re x.re) (neg (* x.im x.im))) x.re) (* (neg (* 2 (* x.im x.re))) x.im)) (pow.f64 x.re #s(literal 3 binary64)))
#s(approx (+ (* (+ (* x.re x.re) (neg (* x.im x.im))) x.re) (* (neg (* 2 (* x.im x.re))) x.im)) (*.f64 (fma.f64 (/.f64 (*.f64 #s(literal 3 binary64) (*.f64 x.im x.im)) (*.f64 x.re x.re)) #s(literal -1 binary64) #s(literal 1 binary64)) (pow.f64 x.re #s(literal 3 binary64))))
#s(approx (+ (* (+ (* x.re x.re) (neg (* x.im x.im))) x.re) (* (neg (* 2 (* x.im x.re))) x.im)) (pow.f64 x.re #s(literal 3 binary64)))
#s(approx (+ (* (+ (* x.re x.re) (neg (* x.im x.im))) x.re) (* (neg (* 2 (* x.im x.re))) x.im)) (*.f64 (-.f64 (fma.f64 (/.f64 (*.f64 x.im x.im) (*.f64 x.re x.re)) #s(literal -2 binary64) #s(literal 1 binary64)) (/.f64 (*.f64 x.im x.im) (*.f64 x.re x.re))) (pow.f64 x.re #s(literal 3 binary64))))
#s(approx (+ (* x.re x.re) (neg (* x.im x.im))) (*.f64 x.re x.re))
#s(approx (+ (* x.re x.re) (neg (* x.im x.im))) (*.f64 (fma.f64 (/.f64 (*.f64 x.im x.im) (*.f64 x.re x.re)) #s(literal -1 binary64) #s(literal 1 binary64)) (*.f64 x.re x.re)))
#s(approx (+ (* (+ (* x.re x.re) (neg (* x.im x.im))) x.re) (* (neg (* 2 (* x.im x.re))) x.im)) (neg.f64 (*.f64 (-.f64 (/.f64 (*.f64 x.im x.im) (*.f64 x.re x.re)) (fma.f64 (/.f64 (*.f64 x.im x.im) (*.f64 x.re x.re)) #s(literal -2 binary64) #s(literal 1 binary64))) (pow.f64 x.re #s(literal 3 binary64)))))
#s(approx (+ (* (+ (* x.re x.re) (neg (* x.im x.im))) x.re) (* (neg (* 2 (* x.im x.re))) x.im)) (neg.f64 (*.f64 (-.f64 (/.f64 (*.f64 #s(literal 3 binary64) (*.f64 x.im x.im)) (*.f64 x.re x.re)) #s(literal 1 binary64)) (pow.f64 x.re #s(literal 3 binary64)))))
#s(approx (+ (* (+ (* x.re x.re) (neg (* x.im x.im))) x.re) (* (neg (* 2 (* x.im x.re))) x.im)) (fma.f64 (*.f64 (*.f64 x.im x.im) x.re) #s(literal -3 binary64) (pow.f64 x.re #s(literal 3 binary64))))
#s(approx (* -3 x.im) (*.f64 #s(literal -3 binary64) x.im))
#s(approx x.im x.im)
#s(approx (* x.im x.im) (*.f64 x.im x.im))
#s(approx (+ (* (+ (* x.re x.re) (neg (* x.im x.im))) x.re) (* (neg (* 2 (* x.im x.re))) x.im)) (fma.f64 (*.f64 (*.f64 x.im x.im) x.re) #s(literal -3 binary64) (pow.f64 x.re #s(literal 3 binary64))))
#s(approx (+ (* x.re x.re) (neg (* x.im x.im))) (*.f64 (+.f64 x.re x.im) (-.f64 x.re x.im)))
#s(approx (* (neg x.im) x.im) (*.f64 (neg.f64 x.im) x.im))
#s(approx (neg x.im) (neg.f64 x.im))
#s(approx (+ (* (+ (* x.re x.re) (neg (* x.im x.im))) x.re) (* (neg (* 2 (* x.im x.re))) x.im)) (*.f64 (*.f64 (*.f64 x.im x.im) x.re) #s(literal -3 binary64)))
#s(approx (+ (* (+ (* x.re x.re) (neg (* x.im x.im))) x.re) (* (neg (* 2 (* x.im x.re))) x.im)) (*.f64 (fma.f64 x.re #s(literal -3 binary64) (/.f64 (pow.f64 x.re #s(literal 3 binary64)) (*.f64 x.im x.im))) (*.f64 x.im x.im)))
#s(approx (+ (* (+ (* x.re x.re) (neg (* x.im x.im))) x.re) (* (neg (* 2 (* x.im x.re))) x.im)) (*.f64 (*.f64 (*.f64 x.im x.im) x.re) #s(literal -3 binary64)))
#s(approx (+ (* (+ (* x.re x.re) (neg (* x.im x.im))) x.re) (* (neg (* 2 (* x.im x.re))) x.im)) (*.f64 (fma.f64 x.re #s(literal -3 binary64) (/.f64 (pow.f64 x.re #s(literal 3 binary64)) (*.f64 x.im x.im))) (*.f64 x.im x.im)))
#s(approx (+ (* x.re x.re) (neg (* x.im x.im))) (*.f64 (-.f64 (/.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) #s(literal 1 binary64)) (*.f64 x.im x.im)))

eval13.0ms (0.6%)

Memory
-3.6MiB live, 42.7MiB allocated; 3ms collecting garbage
Compiler

Compiled 3 349 to 360 computations (89.3% saved)

prune23.0ms (1%)

Memory
15.7MiB live, 62.0MiB allocated; 2ms collecting garbage
Pruning

7 alts after pruning (1 fresh and 6 done)

PrunedKeptTotal
New1181119
Fresh000
Picked213
Done156
Total1217128
Accuracy
100.0%
Counts
128 → 7
Alt Table
Click to see full alt table
StatusAccuracyProgram
53.2%
#s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (pow.f64 x.re #s(literal 3 binary64)))
88.5%
#s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (*.f64 (fma.f64 (*.f64 x.im x.im) #s(literal -3 binary64) (*.f64 x.re x.re)) x.re))
90.9%
#s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (*.f64 (fma.f64 x.im (*.f64 x.im #s(literal -3 binary64)) (*.f64 x.re x.re)) x.re))
55.2%
#s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (*.f64 (*.f64 (*.f64 x.im x.im) x.re) #s(literal -3 binary64)))
60.9%
#s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (*.f64 (*.f64 (*.f64 #s(literal -3 binary64) x.re) x.im) x.im))
60.9%
#s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (*.f64 (*.f64 #s(literal -3 binary64) x.im) (*.f64 x.im x.re)))
53.1%
#s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (*.f64 #s(approx (- (+ (* x.re x.re) (neg (* x.im x.im))) (* (* x.im x.im) 2)) (*.f64 x.re x.re)) x.re))
Compiler

Compiled 657 to 201 computations (69.4% saved)

regimes19.0ms (0.8%)

Memory
-5.0MiB live, 46.8MiB allocated; 6ms collecting garbage
Counts
17 → 3
Calls
Call 1
Inputs
#s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (*.f64 #s(approx (- (+ (* x.re x.re) (neg (* x.im x.im))) (* (* x.im x.im) 2)) (*.f64 x.re x.re)) x.re))
#s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (*.f64 (*.f64 #s(literal -3 binary64) x.im) (*.f64 x.im x.re)))
#s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (*.f64 (*.f64 x.im (*.f64 x.im #s(literal -3 binary64))) x.re))
#s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (*.f64 (*.f64 x.re #s(literal -3 binary64)) (*.f64 x.im x.im)))
#s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (*.f64 (*.f64 (*.f64 #s(literal -3 binary64) x.im) x.re) x.im))
#s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (*.f64 (*.f64 (*.f64 #s(literal -3 binary64) x.re) x.im) x.im))
#s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (*.f64 (*.f64 (*.f64 x.im x.im) #s(literal -3 binary64)) x.re))
#s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (*.f64 (*.f64 (*.f64 x.im x.im) x.re) #s(literal -3 binary64)))
#s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (*.f64 (fma.f64 x.im (*.f64 x.im #s(literal -3 binary64)) (*.f64 x.re x.re)) x.re))
#s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (*.f64 (fma.f64 (*.f64 x.im x.im) #s(literal -3 binary64) (*.f64 x.re x.re)) x.re))
(fma.f64 #s(approx (+ (* x.re x.re) (neg (* x.im x.im))) (*.f64 (neg.f64 x.im) x.im)) x.re (*.f64 (neg.f64 (*.f64 #s(literal 2 binary64) (*.f64 x.im x.re))) x.im))
#s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (*.f64 (-.f64 (fma.f64 x.re x.re (neg.f64 (*.f64 x.im x.im))) (*.f64 (*.f64 x.im x.im) #s(literal 2 binary64))) x.re))
(-.f64 (*.f64 #s(approx (- (* x.re x.re) (* x.im x.im)) (*.f64 x.re x.re)) x.re) (*.f64 (+.f64 (*.f64 x.re x.im) (*.f64 x.im x.re)) x.im))
(-.f64 (*.f64 #s(approx (- (* x.re x.re) (* x.im x.im)) (neg.f64 (*.f64 x.im x.im))) x.re) (*.f64 (+.f64 (*.f64 x.re x.im) (*.f64 x.im x.re)) x.im))
(fma.f64 (*.f64 (+.f64 x.re x.im) (-.f64 x.re x.im)) x.re (*.f64 (neg.f64 (*.f64 #s(literal 2 binary64) (*.f64 x.im x.re))) x.im))
(-.f64 (*.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) x.re) (*.f64 (+.f64 (*.f64 x.re x.im) (*.f64 x.im x.re)) x.im))
#s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (pow.f64 x.re #s(literal 3 binary64)))
Outputs
#s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (*.f64 (*.f64 (*.f64 #s(literal -3 binary64) x.re) x.im) x.im))
#s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (*.f64 (-.f64 (fma.f64 x.re x.re (neg.f64 (*.f64 x.im x.im))) (*.f64 (*.f64 x.im x.im) #s(literal 2 binary64))) x.re))
#s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (*.f64 #s(approx (- (+ (* x.re x.re) (neg (* x.im x.im))) (* (* x.im x.im) 2)) (*.f64 x.re x.re)) x.re))
Calls

3 calls:

9.0ms
x.re
5.0ms
x.im
4.0ms
(-.f64 (*.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) x.re) (*.f64 (+.f64 (*.f64 x.re x.im) (*.f64 x.im x.re)) x.im))
Results
AccuracySegmentsBranch
97.5%2(-.f64 (*.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) x.re) (*.f64 (+.f64 (*.f64 x.re x.im) (*.f64 x.im x.re)) x.im))
99.1%3x.re
97.4%2x.im
Compiler

Compiled 21 to 15 computations (28.6% saved)

regimes13.0ms (0.6%)

Memory
-17.0MiB live, 29.2MiB allocated; 4ms collecting garbage
Counts
11 → 2
Calls
Call 1
Inputs
#s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (*.f64 #s(approx (- (+ (* x.re x.re) (neg (* x.im x.im))) (* (* x.im x.im) 2)) (*.f64 x.re x.re)) x.re))
#s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (*.f64 (*.f64 #s(literal -3 binary64) x.im) (*.f64 x.im x.re)))
#s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (*.f64 (*.f64 x.im (*.f64 x.im #s(literal -3 binary64))) x.re))
#s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (*.f64 (*.f64 x.re #s(literal -3 binary64)) (*.f64 x.im x.im)))
#s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (*.f64 (*.f64 (*.f64 #s(literal -3 binary64) x.im) x.re) x.im))
#s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (*.f64 (*.f64 (*.f64 #s(literal -3 binary64) x.re) x.im) x.im))
#s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (*.f64 (*.f64 (*.f64 x.im x.im) #s(literal -3 binary64)) x.re))
#s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (*.f64 (*.f64 (*.f64 x.im x.im) x.re) #s(literal -3 binary64)))
#s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (*.f64 (fma.f64 x.im (*.f64 x.im #s(literal -3 binary64)) (*.f64 x.re x.re)) x.re))
#s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (*.f64 (fma.f64 (*.f64 x.im x.im) #s(literal -3 binary64) (*.f64 x.re x.re)) x.re))
(fma.f64 #s(approx (+ (* x.re x.re) (neg (* x.im x.im))) (*.f64 (neg.f64 x.im) x.im)) x.re (*.f64 (neg.f64 (*.f64 #s(literal 2 binary64) (*.f64 x.im x.re))) x.im))
Outputs
#s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (*.f64 (fma.f64 x.im (*.f64 x.im #s(literal -3 binary64)) (*.f64 x.re x.re)) x.re))
#s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (*.f64 (*.f64 (*.f64 #s(literal -3 binary64) x.re) x.im) x.im))
Calls

3 calls:

6.0ms
x.im
3.0ms
x.re
3.0ms
(-.f64 (*.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) x.re) (*.f64 (+.f64 (*.f64 x.re x.im) (*.f64 x.im x.re)) x.im))
Results
AccuracySegmentsBranch
97.4%2x.im
96.7%2(-.f64 (*.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) x.re) (*.f64 (+.f64 (*.f64 x.re x.im) (*.f64 x.im x.re)) x.im))
96.3%2x.re
Compiler

Compiled 21 to 15 computations (28.6% saved)

regimes8.0ms (0.4%)

Memory
24.1MiB live, 24.1MiB allocated; 0ms collecting garbage
Counts
8 → 2
Calls
Call 1
Inputs
#s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (*.f64 #s(approx (- (+ (* x.re x.re) (neg (* x.im x.im))) (* (* x.im x.im) 2)) (*.f64 x.re x.re)) x.re))
#s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (*.f64 (*.f64 #s(literal -3 binary64) x.im) (*.f64 x.im x.re)))
#s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (*.f64 (*.f64 x.im (*.f64 x.im #s(literal -3 binary64))) x.re))
#s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (*.f64 (*.f64 x.re #s(literal -3 binary64)) (*.f64 x.im x.im)))
#s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (*.f64 (*.f64 (*.f64 #s(literal -3 binary64) x.im) x.re) x.im))
#s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (*.f64 (*.f64 (*.f64 #s(literal -3 binary64) x.re) x.im) x.im))
#s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (*.f64 (*.f64 (*.f64 x.im x.im) #s(literal -3 binary64)) x.re))
#s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (*.f64 (*.f64 (*.f64 x.im x.im) x.re) #s(literal -3 binary64)))
Outputs
#s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (*.f64 (*.f64 (*.f64 #s(literal -3 binary64) x.re) x.im) x.im))
#s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (*.f64 #s(approx (- (+ (* x.re x.re) (neg (* x.im x.im))) (* (* x.im x.im) 2)) (*.f64 x.re x.re)) x.re))
Calls

3 calls:

3.0ms
x.re
3.0ms
x.im
2.0ms
(-.f64 (*.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) x.re) (*.f64 (+.f64 (*.f64 x.re x.im) (*.f64 x.im x.re)) x.im))
Results
AccuracySegmentsBranch
81.9%2x.re
96.0%2(-.f64 (*.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) x.re) (*.f64 (+.f64 (*.f64 x.re x.im) (*.f64 x.im x.re)) x.im))
85.5%2x.im
Compiler

Compiled 21 to 15 computations (28.6% saved)

regimes2.0ms (0.1%)

Memory
8.0MiB live, 8.0MiB allocated; 0ms collecting garbage
Counts
5 → 2
Calls
Call 1
Inputs
#s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (*.f64 #s(approx (- (+ (* x.re x.re) (neg (* x.im x.im))) (* (* x.im x.im) 2)) (*.f64 x.re x.re)) x.re))
#s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (*.f64 (*.f64 #s(literal -3 binary64) x.im) (*.f64 x.im x.re)))
#s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (*.f64 (*.f64 x.im (*.f64 x.im #s(literal -3 binary64))) x.re))
#s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (*.f64 (*.f64 x.re #s(literal -3 binary64)) (*.f64 x.im x.im)))
#s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (*.f64 (*.f64 (*.f64 #s(literal -3 binary64) x.im) x.re) x.im))
Outputs
#s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (*.f64 (*.f64 (*.f64 #s(literal -3 binary64) x.im) x.re) x.im))
#s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (*.f64 #s(approx (- (+ (* x.re x.re) (neg (* x.im x.im))) (* (* x.im x.im) 2)) (*.f64 x.re x.re)) x.re))
Calls

1 calls:

2.0ms
(-.f64 (*.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) x.re) (*.f64 (+.f64 (*.f64 x.re x.im) (*.f64 x.im x.re)) x.im))
Results
AccuracySegmentsBranch
96.0%2(-.f64 (*.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) x.re) (*.f64 (+.f64 (*.f64 x.re x.im) (*.f64 x.im x.re)) x.im))
Compiler

Compiled 19 to 11 computations (42.1% saved)

regimes2.0ms (0.1%)

Memory
6.8MiB live, 6.8MiB allocated; 0ms collecting garbage
Counts
4 → 2
Calls
Call 1
Inputs
#s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (*.f64 #s(approx (- (+ (* x.re x.re) (neg (* x.im x.im))) (* (* x.im x.im) 2)) (*.f64 x.re x.re)) x.re))
#s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (*.f64 (*.f64 #s(literal -3 binary64) x.im) (*.f64 x.im x.re)))
#s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (*.f64 (*.f64 x.im (*.f64 x.im #s(literal -3 binary64))) x.re))
#s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (*.f64 (*.f64 x.re #s(literal -3 binary64)) (*.f64 x.im x.im)))
Outputs
#s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (*.f64 (*.f64 #s(literal -3 binary64) x.im) (*.f64 x.im x.re)))
#s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (*.f64 #s(approx (- (+ (* x.re x.re) (neg (* x.im x.im))) (* (* x.im x.im) 2)) (*.f64 x.re x.re)) x.re))
Calls

1 calls:

2.0ms
(-.f64 (*.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) x.re) (*.f64 (+.f64 (*.f64 x.re x.im) (*.f64 x.im x.re)) x.im))
Results
AccuracySegmentsBranch
95.9%2(-.f64 (*.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) x.re) (*.f64 (+.f64 (*.f64 x.re x.im) (*.f64 x.im x.re)) x.im))
Compiler

Compiled 19 to 11 computations (42.1% saved)

regimes5.0ms (0.2%)

Memory
-36.9MiB live, 8.9MiB allocated; 3ms collecting garbage
Accuracy

Total -0.0b remaining (-0%)

Threshold costs -0b (-0%)

Counts
1 → 1
Calls
Call 1
Inputs
#s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (*.f64 #s(approx (- (+ (* x.re x.re) (neg (* x.im x.im))) (* (* x.im x.im) 2)) (*.f64 x.re x.re)) x.re))
Outputs
#s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (*.f64 #s(approx (- (+ (* x.re x.re) (neg (* x.im x.im))) (* (* x.im x.im) 2)) (*.f64 x.re x.re)) x.re))
Calls

3 calls:

3.0ms
(-.f64 (*.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) x.re) (*.f64 (+.f64 (*.f64 x.re x.im) (*.f64 x.im x.re)) x.im))
1.0ms
x.im
1.0ms
x.re
Results
AccuracySegmentsBranch
53.1%1x.re
53.1%1x.im
53.1%1(-.f64 (*.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) x.re) (*.f64 (+.f64 (*.f64 x.re x.im) (*.f64 x.im x.re)) x.im))
Compiler

Compiled 21 to 15 computations (28.6% saved)

bsearch24.0ms (1%)

Memory
2.1MiB live, 47.8MiB allocated; 4ms collecting garbage
Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
Steps
TimeLeftRight
13.0ms
8.885966257787743e+206
1.858107199263244e+208
9.0ms
3.621498223194055e-130
1.5778254946759265e-129
Samples
11.0ms208×0valid
Compiler

Compiled 919 to 525 computations (42.9% saved)

Precisions
Click to see histograms. Total time spent on operations: 6.0ms
ival-mult!: 5.0ms (79.1% of total)
ival-sub!: 1.0ms (15.8% of total)
adjust: 0.0ms (0% of total)
ival-add!: 0.0ms (0% of total)

bsearch15.0ms (0.6%)

Memory
36.1MiB live, 36.1MiB allocated; 0ms collecting garbage
Algorithm
binary-search
Stop Event
narrow-enough
Steps
TimeLeftRight
13.0ms
1.2708894462275255e+150
5.3576920560383715e+157
Samples
8.0ms144×0valid
Compiler

Compiled 535 to 331 computations (38.1% saved)

Precisions
Click to see histograms. Total time spent on operations: 4.0ms
ival-mult!: 4.0ms (90.2% of total)
ival-sub!: 1.0ms (22.6% of total)
adjust: 0.0ms (0% of total)
ival-add!: 0.0ms (0% of total)

bsearch0.0ms (0%)

Memory
1.2MiB live, 1.2MiB allocated; 0ms collecting garbage
Algorithm
left-value
Steps
TimeLeftRight
0.0ms
-6.067437e-318
0.0
Compiler

Compiled 22 to 16 computations (27.3% saved)

bsearch0.0ms (0%)

Memory
1.0MiB live, 1.0MiB allocated; 0ms collecting garbage
Algorithm
left-value
Steps
TimeLeftRight
0.0ms
-6.067437e-318
0.0
Compiler

Compiled 22 to 16 computations (27.3% saved)

bsearch0.0ms (0%)

Memory
1.0MiB live, 1.0MiB allocated; 0ms collecting garbage
Algorithm
left-value
Steps
TimeLeftRight
0.0ms
-6.067437e-318
0.0
Compiler

Compiled 22 to 16 computations (27.3% saved)

simplify66.0ms (2.8%)

Memory
-9.2MiB live, 92.8MiB allocated; 23ms collecting garbage
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
063473
1116444
2288439
3967391
42966391
56629391
Stop Event
node limit
Calls
Call 1
Inputs
(if (<=.f64 x.re #s(literal 1209677563247447/780437137578998057845399307448291576437149535666242787714789239906342934704941405030076525765872992789956732780351655723861993919822071326572544 binary64)) #s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (*.f64 (*.f64 (*.f64 #s(literal -3 binary64) x.re) x.im) x.im)) (if (<=.f64 x.re #s(literal 8000000000000000311148620408707107450458979943616161066744190560615303543150791741046397248630216110986116824955297063308253648912755004932321469377701515228354766901009355483565316464612475697545779253084160 binary64)) #s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (*.f64 (-.f64 (fma.f64 x.re x.re (neg.f64 (*.f64 x.im x.im))) (*.f64 (*.f64 x.im x.im) #s(literal 2 binary64))) x.re)) #s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (*.f64 #s(approx (- (+ (* x.re x.re) (neg (* x.im x.im))) (* (* x.im x.im) 2)) (*.f64 x.re x.re)) x.re))))
(if (<=.f64 x.im #s(literal 7999999999999999997867224032985229958844312152947493490286721504194957436179390093383358076516537267549355030592229680163140752753032241761064126878056448 binary64)) #s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (*.f64 (fma.f64 x.im (*.f64 x.im #s(literal -3 binary64)) (*.f64 x.re x.re)) x.re)) #s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (*.f64 (*.f64 (*.f64 #s(literal -3 binary64) x.re) x.im) x.im)))
(if (<=.f64 (-.f64 (*.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) x.re) (*.f64 (+.f64 (*.f64 x.re x.im) (*.f64 x.im x.re)) x.im)) #s(literal -1012011/202402253307310618352495346718917307049556649764142118356901358027430339567995346891960383701437124495187077864316811911389808737385793476867013399940738509921517424276566361364466907742093216341239767678472745068562007483424692698618103355649159556340810056512358769552333414615230502532186327508646006263307707741093494784 binary64)) #s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (*.f64 (*.f64 (*.f64 #s(literal -3 binary64) x.re) x.im) x.im)) #s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (*.f64 #s(approx (- (+ (* x.re x.re) (neg (* x.im x.im))) (* (* x.im x.im) 2)) (*.f64 x.re x.re)) x.re)))
(if (<=.f64 (-.f64 (*.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) x.re) (*.f64 (+.f64 (*.f64 x.re x.im) (*.f64 x.im x.re)) x.im)) #s(literal -1012011/202402253307310618352495346718917307049556649764142118356901358027430339567995346891960383701437124495187077864316811911389808737385793476867013399940738509921517424276566361364466907742093216341239767678472745068562007483424692698618103355649159556340810056512358769552333414615230502532186327508646006263307707741093494784 binary64)) #s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (*.f64 (*.f64 (*.f64 #s(literal -3 binary64) x.im) x.re) x.im)) #s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (*.f64 #s(approx (- (+ (* x.re x.re) (neg (* x.im x.im))) (* (* x.im x.im) 2)) (*.f64 x.re x.re)) x.re)))
(if (<=.f64 (-.f64 (*.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) x.re) (*.f64 (+.f64 (*.f64 x.re x.im) (*.f64 x.im x.re)) x.im)) #s(literal -1012011/202402253307310618352495346718917307049556649764142118356901358027430339567995346891960383701437124495187077864316811911389808737385793476867013399940738509921517424276566361364466907742093216341239767678472745068562007483424692698618103355649159556340810056512358769552333414615230502532186327508646006263307707741093494784 binary64)) #s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (*.f64 (*.f64 #s(literal -3 binary64) x.im) (*.f64 x.im x.re))) #s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (*.f64 #s(approx (- (+ (* x.re x.re) (neg (* x.im x.im))) (* (* x.im x.im) 2)) (*.f64 x.re x.re)) x.re)))
#s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (*.f64 #s(approx (- (+ (* x.re x.re) (neg (* x.im x.im))) (* (* x.im x.im) 2)) (*.f64 x.re x.re)) x.re))
Outputs
(if (<=.f64 x.re #s(literal 1209677563247447/780437137578998057845399307448291576437149535666242787714789239906342934704941405030076525765872992789956732780351655723861993919822071326572544 binary64)) #s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (*.f64 (*.f64 (*.f64 #s(literal -3 binary64) x.re) x.im) x.im)) (if (<=.f64 x.re #s(literal 8000000000000000311148620408707107450458979943616161066744190560615303543150791741046397248630216110986116824955297063308253648912755004932321469377701515228354766901009355483565316464612475697545779253084160 binary64)) #s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (*.f64 (-.f64 (fma.f64 x.re x.re (neg.f64 (*.f64 x.im x.im))) (*.f64 (*.f64 x.im x.im) #s(literal 2 binary64))) x.re)) #s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (*.f64 #s(approx (- (+ (* x.re x.re) (neg (* x.im x.im))) (* (* x.im x.im) 2)) (*.f64 x.re x.re)) x.re))))
(if (<=.f64 x.re #s(literal 1209677563247447/780437137578998057845399307448291576437149535666242787714789239906342934704941405030076525765872992789956732780351655723861993919822071326572544 binary64)) #s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (*.f64 (*.f64 (*.f64 #s(literal -3 binary64) x.re) x.im) x.im)) (if (<=.f64 x.re #s(literal 8000000000000000311148620408707107450458979943616161066744190560615303543150791741046397248630216110986116824955297063308253648912755004932321469377701515228354766901009355483565316464612475697545779253084160 binary64)) #s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (*.f64 (-.f64 (fma.f64 x.re x.re (*.f64 (neg.f64 x.im) x.im)) (*.f64 (*.f64 x.im x.im) #s(literal 2 binary64))) x.re)) #s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (*.f64 #s(approx (- (+ (* x.re x.re) (neg (* x.im x.im))) (* (* x.im x.im) 2)) (*.f64 x.re x.re)) x.re))))
(if (<=.f64 x.im #s(literal 7999999999999999997867224032985229958844312152947493490286721504194957436179390093383358076516537267549355030592229680163140752753032241761064126878056448 binary64)) #s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (*.f64 (fma.f64 x.im (*.f64 x.im #s(literal -3 binary64)) (*.f64 x.re x.re)) x.re)) #s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (*.f64 (*.f64 (*.f64 #s(literal -3 binary64) x.re) x.im) x.im)))
(if (<=.f64 (-.f64 (*.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) x.re) (*.f64 (+.f64 (*.f64 x.re x.im) (*.f64 x.im x.re)) x.im)) #s(literal -1012011/202402253307310618352495346718917307049556649764142118356901358027430339567995346891960383701437124495187077864316811911389808737385793476867013399940738509921517424276566361364466907742093216341239767678472745068562007483424692698618103355649159556340810056512358769552333414615230502532186327508646006263307707741093494784 binary64)) #s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (*.f64 (*.f64 (*.f64 #s(literal -3 binary64) x.re) x.im) x.im)) #s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (*.f64 #s(approx (- (+ (* x.re x.re) (neg (* x.im x.im))) (* (* x.im x.im) 2)) (*.f64 x.re x.re)) x.re)))
(if (<=.f64 (-.f64 (*.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) x.re) (*.f64 (+.f64 (*.f64 x.re x.im) (*.f64 x.im x.re)) x.im)) #s(literal -1012011/202402253307310618352495346718917307049556649764142118356901358027430339567995346891960383701437124495187077864316811911389808737385793476867013399940738509921517424276566361364466907742093216341239767678472745068562007483424692698618103355649159556340810056512358769552333414615230502532186327508646006263307707741093494784 binary64)) #s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (*.f64 (*.f64 (*.f64 #s(literal -3 binary64) x.im) x.re) x.im)) #s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (*.f64 #s(approx (- (+ (* x.re x.re) (neg (* x.im x.im))) (* (* x.im x.im) 2)) (*.f64 x.re x.re)) x.re)))
(if (<=.f64 (-.f64 (*.f64 (-.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)) x.re) (*.f64 (+.f64 (*.f64 x.re x.im) (*.f64 x.im x.re)) x.im)) #s(literal -1012011/202402253307310618352495346718917307049556649764142118356901358027430339567995346891960383701437124495187077864316811911389808737385793476867013399940738509921517424276566361364466907742093216341239767678472745068562007483424692698618103355649159556340810056512358769552333414615230502532186327508646006263307707741093494784 binary64)) #s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (*.f64 (*.f64 #s(literal -3 binary64) x.im) (*.f64 x.im x.re))) #s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (*.f64 #s(approx (- (+ (* x.re x.re) (neg (* x.im x.im))) (* (* x.im x.im) 2)) (*.f64 x.re x.re)) x.re)))
#s(approx (- (* (- (* x.re x.re) (* x.im x.im)) x.re) (* (+ (* x.re x.im) (* x.im x.re)) x.im)) (*.f64 #s(approx (- (+ (* x.re x.re) (neg (* x.im x.im))) (* (* x.im x.im) 2)) (*.f64 x.re x.re)) x.re))

derivations15.0ms (0.7%)

Memory
-20.0MiB live, 27.2MiB allocated; 2ms collecting garbage
Stop Event
fuel
Compiler

Compiled 478 to 65 computations (86.4% saved)

preprocess138.0ms (5.9%)

Memory
7.4MiB live, 296.0MiB allocated; 24ms collecting garbage
Remove

(negabs x.re)

(abs x.im)

Compiler

Compiled 3 816 to 1 280 computations (66.5% saved)

end0.0ms (0%)

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

Profiling

Loading profile data...