Graphics.Rendering.Chart.Drawing:drawTextsR from Chart-1.5.3

Time bar (total: 5.2s)

analyze0.0ms (0%)

Memory
0.4MiB live, 0.4MiB allocated
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 11 to 10 computations (9.1% saved)

sample855.0ms (16.4%)

Memory
21.8MiB live, 1 119.4MiB allocated
Samples
455.0ms8 256×0valid
Precisions
Click to see histograms. Total time spent on operations: 261.0ms
ival-mult: 154.0ms (59.1% of total)
ival-sub: 56.0ms (21.5% of total)
ival-add: 37.0ms (14.2% of total)
ival-true: 6.0ms (2.3% of total)
exact: 5.0ms (1.9% of total)
ival-assert: 3.0ms (1.2% of total)
Bogosity

preprocess108.0ms (2.1%)

Memory
-71.8MiB live, 62.6MiB allocated
Algorithm
egg-herbie
Rules
608×lower-fma.f64
608×lower-fma.f32
390×distribute-rgt-in
370×unsub-neg
314×sub-neg
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
03290
18083
217881
348266
4108364
5186664
6229264
7235464
8236264
9236264
089
0129
1209
2279
3397
4507
5687
61117
71827
83707
95807
106707
116807
06807
Stop Event
iter limit
saturated
iter limit
saturated
Calls
Call 1
Inputs
(+.f64 (*.f64 x y) (*.f64 (-.f64 x #s(literal 1 binary64)) z))
Outputs
(+.f64 (*.f64 x y) (*.f64 (-.f64 x #s(literal 1 binary64)) z))
(-.f64 (*.f64 x (+.f64 y z)) z)

explain94.0ms (1.8%)

Memory
12.7MiB live, 130.8MiB allocated
FPErrors
Click to see full error table
Ground TruthOverpredictionsExampleUnderpredictionsExampleSubexpression
70-0-(+.f64 (*.f64 x y) (*.f64 (-.f64 x #s(literal 1 binary64)) z))
00-0-(*.f64 (-.f64 x #s(literal 1 binary64)) z)
00-0-y
00-0-(-.f64 x #s(literal 1 binary64))
00-0-#s(literal 1 binary64)
00-0-z
00-0-(*.f64 x y)
00-0-x
Explanations
Click to see full explanations table
OperatorSubexpressionExplanationCount
+.f64(+.f64 (*.f64 x y) (*.f64 (-.f64 x #s(literal 1 binary64)) z))nan-rescue70
(*.f64 x y)overflow38
(*.f64 (-.f64 x #s(literal 1 binary64)) z)overflow41
Confusion
Predicted +Predicted -
+70
-0249
Precision
1.0
Recall
1.0
Confusion?
Predicted +Predicted MaybePredicted -
+700
-00249
Precision?
1.0
Recall?
1.0
Freqs
test
numberfreq
0249
17
Total Confusion?
Predicted +Predicted MaybePredicted -
+100
-000
Precision?
1.0
Recall?
1.0
Samples
30.0ms512×0valid
Compiler

Compiled 76 to 36 computations (52.6% saved)

Precisions
Click to see histograms. Total time spent on operations: 15.0ms
ival-mult: 7.0ms (46.4% of total)
ival-add: 5.0ms (33.1% of total)
ival-sub: 3.0ms (19.9% of total)
ival-true: 0.0ms (0% of total)
exact: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

eval0.0ms (0%)

Memory
0.4MiB live, 0.4MiB allocated
Compiler

Compiled 3 to 3 computations (0% saved)

prune1.0ms (0%)

Memory
1.4MiB live, 1.4MiB allocated
Alt Table
Click to see full alt table
StatusAccuracyProgram
97.3%
(+.f64 (*.f64 x y) (*.f64 (-.f64 x #s(literal 1 binary64)) z))
Compiler

Compiled 12 to 8 computations (33.3% saved)

simplify32.0ms (0.6%)

Memory
12.0MiB live, 47.8MiB allocated
Algorithm
egg-herbie
Localize:

Found 4 expressions of interest:

NewMetricScoreProgram
cost-diff0
(-.f64 x #s(literal 1 binary64))
cost-diff0
(*.f64 (-.f64 x #s(literal 1 binary64)) z)
cost-diff0
(*.f64 x y)
cost-diff320
(+.f64 (*.f64 x y) (*.f64 (-.f64 x #s(literal 1 binary64)) z))
Rules
608×lower-fma.f64
608×lower-fma.f32
240×lower-*.f32
236×lower-*.f64
152×lower-+.f32
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
0824
01224
12024
22724
33922
45022
56822
611122
718222
837022
958022
1067022
1168022
068022
Stop Event
iter limit
saturated
iter limit
Calls
Call 1
Inputs
(+.f64 (*.f64 x y) (*.f64 (-.f64 x #s(literal 1 binary64)) z))
(*.f64 x y)
x
y
(*.f64 (-.f64 x #s(literal 1 binary64)) z)
(-.f64 x #s(literal 1 binary64))
#s(literal 1 binary64)
z
Outputs
(+.f64 (*.f64 x y) (*.f64 (-.f64 x #s(literal 1 binary64)) z))
(-.f64 (*.f64 x (+.f64 y z)) z)
(*.f64 x y)
x
y
(*.f64 (-.f64 x #s(literal 1 binary64)) z)
(-.f64 (*.f64 x z) z)
(-.f64 x #s(literal 1 binary64))
(+.f64 x #s(literal -1 binary64))
#s(literal 1 binary64)
z

localize22.0ms (0.4%)

Memory
0.5MiB live, 38.9MiB allocated
Localize:

Found 4 expressions of interest:

NewMetricScoreProgram
accuracy100.0%
(-.f64 x #s(literal 1 binary64))
accuracy100.0%
(*.f64 x y)
accuracy100.0%
(*.f64 (-.f64 x #s(literal 1 binary64)) z)
accuracy97.7%
(+.f64 (*.f64 x y) (*.f64 (-.f64 x #s(literal 1 binary64)) z))
Samples
15.0ms256×0valid
Compiler

Compiled 26 to 10 computations (61.5% saved)

Precisions
Click to see histograms. Total time spent on operations: 7.0ms
ival-mult: 4.0ms (56.1% of total)
ival-sub: 1.0ms (14% of total)
ival-add: 1.0ms (14% of total)
ival-true: 0.0ms (0% of total)
exact: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

series6.0ms (0.1%)

Memory
10.0MiB live, 10.0MiB allocated
Counts
4 → 96
Calls
Call 1
Inputs
#<alt (+.f64 (*.f64 x y) (*.f64 (-.f64 x #s(literal 1 binary64)) z))>
#<alt (*.f64 x y)>
#<alt (*.f64 (-.f64 x #s(literal 1 binary64)) z)>
#<alt (-.f64 x #s(literal 1 binary64))>
Outputs
#<alt (* -1 z)>
#<alt (+ (* -1 z) (* x (+ y z)))>
#<alt (+ (* -1 z) (* x (+ y z)))>
#<alt (+ (* -1 z) (* x (+ y z)))>
#<alt (* x (+ y z))>
#<alt (* x (+ y (+ z (* -1 (/ z x)))))>
#<alt (* x (+ y (+ z (* -1 (/ z x)))))>
#<alt (* x (+ y (+ z (* -1 (/ z x)))))>
#<alt (* -1 (* x (+ (* -1 y) (* -1 z))))>
#<alt (* -1 (* x (+ (* -1 y) (+ (* -1 z) (/ z x)))))>
#<alt (* -1 (* x (+ (* -1 y) (+ (* -1 z) (/ z x)))))>
#<alt (* -1 (* x (+ (* -1 y) (+ (* -1 z) (/ z x)))))>
#<alt (* z (- x 1))>
#<alt (+ (* x y) (* z (- x 1)))>
#<alt (+ (* x y) (* z (- x 1)))>
#<alt (+ (* x y) (* z (- x 1)))>
#<alt (* x y)>
#<alt (* y (+ x (/ (* z (- x 1)) y)))>
#<alt (* y (+ x (/ (* z (- x 1)) y)))>
#<alt (* y (+ x (/ (* z (- x 1)) y)))>
#<alt (* x y)>
#<alt (* -1 (* y (+ (* -1 x) (* -1 (/ (* z (- x 1)) y)))))>
#<alt (* -1 (* y (+ (* -1 x) (* -1 (/ (* z (- x 1)) y)))))>
#<alt (* -1 (* y (+ (* -1 x) (* -1 (/ (* z (- x 1)) y)))))>
#<alt (* x y)>
#<alt (+ (* x y) (* z (- x 1)))>
#<alt (+ (* x y) (* z (- x 1)))>
#<alt (+ (* x y) (* z (- x 1)))>
#<alt (* z (- x 1))>
#<alt (* z (- (+ x (/ (* x y) z)) 1))>
#<alt (* z (- (+ x (/ (* x y) z)) 1))>
#<alt (* z (- (+ x (/ (* x y) z)) 1))>
#<alt (* z (- x 1))>
#<alt (* -1 (* z (+ (* -1 (- x 1)) (* -1 (/ (* x y) z)))))>
#<alt (* -1 (* z (+ (* -1 (- x 1)) (* -1 (/ (* x y) z)))))>
#<alt (* -1 (* z (+ (* -1 (- x 1)) (* -1 (/ (* x y) z)))))>
#<alt (* x y)>
#<alt (* x y)>
#<alt (* x y)>
#<alt (* x y)>
#<alt (* x y)>
#<alt (* x y)>
#<alt (* x y)>
#<alt (* x y)>
#<alt (* x y)>
#<alt (* x y)>
#<alt (* x y)>
#<alt (* x y)>
#<alt (* x y)>
#<alt (* x y)>
#<alt (* x y)>
#<alt (* x y)>
#<alt (* x y)>
#<alt (* x y)>
#<alt (* x y)>
#<alt (* x y)>
#<alt (* x y)>
#<alt (* x y)>
#<alt (* x y)>
#<alt (* x y)>
#<alt (* -1 z)>
#<alt (+ (* -1 z) (* x z))>
#<alt (+ (* -1 z) (* x z))>
#<alt (+ (* -1 z) (* x z))>
#<alt (* x z)>
#<alt (* x (+ z (* -1 (/ z x))))>
#<alt (* x (+ z (* -1 (/ z x))))>
#<alt (* x (+ z (* -1 (/ z x))))>
#<alt (* x z)>
#<alt (* -1 (* x (+ (* -1 z) (/ z x))))>
#<alt (* -1 (* x (+ (* -1 z) (/ z x))))>
#<alt (* -1 (* x (+ (* -1 z) (/ z x))))>
#<alt (* z (- x 1))>
#<alt (* z (- x 1))>
#<alt (* z (- x 1))>
#<alt (* z (- x 1))>
#<alt (* z (- x 1))>
#<alt (* z (- x 1))>
#<alt (* z (- x 1))>
#<alt (* z (- x 1))>
#<alt (* z (- x 1))>
#<alt (* z (- x 1))>
#<alt (* z (- x 1))>
#<alt (* z (- x 1))>
#<alt -1>
#<alt (- x 1)>
#<alt (- x 1)>
#<alt (- x 1)>
#<alt x>
#<alt (* x (- 1 (/ 1 x)))>
#<alt (* x (- 1 (/ 1 x)))>
#<alt (* x (- 1 (/ 1 x)))>
#<alt x>
#<alt (* -1 (* x (- (/ 1 x) 1)))>
#<alt (* -1 (* x (- (/ 1 x) 1)))>
#<alt (* -1 (* x (- (/ 1 x) 1)))>
Calls

24 calls:

TimeVariablePointExpression
1.0ms
x
@-inf
(+ (* x y) (* (- x 1) z))
1.0ms
x
@inf
(+ (* x y) (* (- x 1) z))
1.0ms
x
@0
(* x y)
0.0ms
x
@0
(+ (* x y) (* (- x 1) z))
0.0ms
z
@-inf
(+ (* x y) (* (- x 1) z))

simplify235.0ms (4.5%)

Memory
6.5MiB live, 354.8MiB allocated
Algorithm
egg-herbie
Rules
9 326×lower-fma.f64
9 326×lower-fma.f32
3 218×lower-*.f64
3 218×lower-*.f32
1 186×lower-/.f32
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
054467
1180440
2532440
31344440
44419440
08070440
Stop Event
iter limit
node limit
Counts
96 → 94
Calls
Call 1
Inputs
(* -1 z)
(+ (* -1 z) (* x (+ y z)))
(+ (* -1 z) (* x (+ y z)))
(+ (* -1 z) (* x (+ y z)))
(* x (+ y z))
(* x (+ y (+ z (* -1 (/ z x)))))
(* x (+ y (+ z (* -1 (/ z x)))))
(* x (+ y (+ z (* -1 (/ z x)))))
(* -1 (* x (+ (* -1 y) (* -1 z))))
(* -1 (* x (+ (* -1 y) (+ (* -1 z) (/ z x)))))
(* -1 (* x (+ (* -1 y) (+ (* -1 z) (/ z x)))))
(* -1 (* x (+ (* -1 y) (+ (* -1 z) (/ z x)))))
(* z (- x 1))
(+ (* x y) (* z (- x 1)))
(+ (* x y) (* z (- x 1)))
(+ (* x y) (* z (- x 1)))
(* x y)
(* y (+ x (/ (* z (- x 1)) y)))
(* y (+ x (/ (* z (- x 1)) y)))
(* y (+ x (/ (* z (- x 1)) y)))
(* x y)
(* -1 (* y (+ (* -1 x) (* -1 (/ (* z (- x 1)) y)))))
(* -1 (* y (+ (* -1 x) (* -1 (/ (* z (- x 1)) y)))))
(* -1 (* y (+ (* -1 x) (* -1 (/ (* z (- x 1)) y)))))
(* x y)
(+ (* x y) (* z (- x 1)))
(+ (* x y) (* z (- x 1)))
(+ (* x y) (* z (- x 1)))
(* z (- x 1))
(* z (- (+ x (/ (* x y) z)) 1))
(* z (- (+ x (/ (* x y) z)) 1))
(* z (- (+ x (/ (* x y) z)) 1))
(* z (- x 1))
(* -1 (* z (+ (* -1 (- x 1)) (* -1 (/ (* x y) z)))))
(* -1 (* z (+ (* -1 (- x 1)) (* -1 (/ (* x y) z)))))
(* -1 (* z (+ (* -1 (- x 1)) (* -1 (/ (* x y) z)))))
(* x y)
(* x y)
(* x y)
(* x y)
(* x y)
(* x y)
(* x y)
(* x y)
(* x y)
(* x y)
(* x y)
(* x y)
(* x y)
(* x y)
(* x y)
(* x y)
(* x y)
(* x y)
(* x y)
(* x y)
(* x y)
(* x y)
(* x y)
(* x y)
(* -1 z)
(+ (* -1 z) (* x z))
(+ (* -1 z) (* x z))
(+ (* -1 z) (* x z))
(* x z)
(* x (+ z (* -1 (/ z x))))
(* x (+ z (* -1 (/ z x))))
(* x (+ z (* -1 (/ z x))))
(* x z)
(* -1 (* x (+ (* -1 z) (/ z x))))
(* -1 (* x (+ (* -1 z) (/ z x))))
(* -1 (* x (+ (* -1 z) (/ z x))))
(* z (- x 1))
(* z (- x 1))
(* z (- x 1))
(* z (- x 1))
(* z (- x 1))
(* z (- x 1))
(* z (- x 1))
(* z (- x 1))
(* z (- x 1))
(* z (- x 1))
(* z (- x 1))
(* z (- x 1))
-1
(- x 1)
(- x 1)
(- x 1)
x
(* x (- 1 (/ 1 x)))
(* x (- 1 (/ 1 x)))
(* x (- 1 (/ 1 x)))
x
(* -1 (* x (- (/ 1 x) 1)))
(* -1 (* x (- (/ 1 x) 1)))
(* -1 (* x (- (/ 1 x) 1)))
Outputs
(* -1 z)
(neg.f64 z)
(+ (* -1 z) (* x (+ y z)))
(fma.f64 x (+.f64 z y) (neg.f64 z))
(+ (* -1 z) (* x (+ y z)))
(fma.f64 x (+.f64 z y) (neg.f64 z))
(+ (* -1 z) (* x (+ y z)))
(fma.f64 x (+.f64 z y) (neg.f64 z))
(* x (+ y z))
(*.f64 x (+.f64 z y))
(* x (+ y (+ z (* -1 (/ z x)))))
(fma.f64 x (+.f64 z y) (neg.f64 z))
(* x (+ y (+ z (* -1 (/ z x)))))
(fma.f64 x (+.f64 z y) (neg.f64 z))
(* x (+ y (+ z (* -1 (/ z x)))))
(fma.f64 x (+.f64 z y) (neg.f64 z))
(* -1 (* x (+ (* -1 y) (* -1 z))))
(*.f64 x (+.f64 z y))
(* -1 (* x (+ (* -1 y) (+ (* -1 z) (/ z x)))))
(fma.f64 x (+.f64 z y) (neg.f64 z))
(* -1 (* x (+ (* -1 y) (+ (* -1 z) (/ z x)))))
(fma.f64 x (+.f64 z y) (neg.f64 z))
(* -1 (* x (+ (* -1 y) (+ (* -1 z) (/ z x)))))
(fma.f64 x (+.f64 z y) (neg.f64 z))
(* z (- x 1))
(fma.f64 z x (neg.f64 z))
(+ (* x y) (* z (- x 1)))
(fma.f64 x (+.f64 z y) (neg.f64 z))
(+ (* x y) (* z (- x 1)))
(fma.f64 x (+.f64 z y) (neg.f64 z))
(+ (* x y) (* z (- x 1)))
(fma.f64 x (+.f64 z y) (neg.f64 z))
(* x y)
(*.f64 x y)
(* y (+ x (/ (* z (- x 1)) y)))
(fma.f64 x (+.f64 z y) (neg.f64 z))
(* y (+ x (/ (* z (- x 1)) y)))
(fma.f64 x (+.f64 z y) (neg.f64 z))
(* y (+ x (/ (* z (- x 1)) y)))
(fma.f64 x (+.f64 z y) (neg.f64 z))
(* x y)
(*.f64 x y)
(* -1 (* y (+ (* -1 x) (* -1 (/ (* z (- x 1)) y)))))
(fma.f64 x (+.f64 z y) (neg.f64 z))
(* -1 (* y (+ (* -1 x) (* -1 (/ (* z (- x 1)) y)))))
(fma.f64 x (+.f64 z y) (neg.f64 z))
(* -1 (* y (+ (* -1 x) (* -1 (/ (* z (- x 1)) y)))))
(fma.f64 x (+.f64 z y) (neg.f64 z))
(* x y)
(*.f64 x y)
(+ (* x y) (* z (- x 1)))
(fma.f64 x (+.f64 z y) (neg.f64 z))
(+ (* x y) (* z (- x 1)))
(fma.f64 x (+.f64 z y) (neg.f64 z))
(+ (* x y) (* z (- x 1)))
(fma.f64 x (+.f64 z y) (neg.f64 z))
(* z (- x 1))
(fma.f64 z x (neg.f64 z))
(* z (- (+ x (/ (* x y) z)) 1))
(fma.f64 x (+.f64 z y) (neg.f64 z))
(* z (- (+ x (/ (* x y) z)) 1))
(fma.f64 x (+.f64 z y) (neg.f64 z))
(* z (- (+ x (/ (* x y) z)) 1))
(fma.f64 x (+.f64 z y) (neg.f64 z))
(* z (- x 1))
(fma.f64 z x (neg.f64 z))
(* -1 (* z (+ (* -1 (- x 1)) (* -1 (/ (* x y) z)))))
(fma.f64 x (+.f64 z y) (neg.f64 z))
(* -1 (* z (+ (* -1 (- x 1)) (* -1 (/ (* x y) z)))))
(fma.f64 x (+.f64 z y) (neg.f64 z))
(* -1 (* z (+ (* -1 (- x 1)) (* -1 (/ (* x y) z)))))
(fma.f64 x (+.f64 z y) (neg.f64 z))
(* x y)
(*.f64 x y)
(* x y)
(*.f64 x y)
(* x y)
(*.f64 x y)
(* x y)
(*.f64 x y)
(* x y)
(*.f64 x y)
(* x y)
(*.f64 x y)
(* x y)
(*.f64 x y)
(* x y)
(*.f64 x y)
(* x y)
(*.f64 x y)
(* x y)
(*.f64 x y)
(* x y)
(*.f64 x y)
(* x y)
(*.f64 x y)
(* x y)
(*.f64 x y)
(* x y)
(*.f64 x y)
(* x y)
(*.f64 x y)
(* x y)
(*.f64 x y)
(* x y)
(*.f64 x y)
(* x y)
(*.f64 x y)
(* x y)
(*.f64 x y)
(* x y)
(*.f64 x y)
(* x y)
(*.f64 x y)
(* x y)
(*.f64 x y)
(* x y)
(*.f64 x y)
(* x y)
(*.f64 x y)
(* -1 z)
(neg.f64 z)
(+ (* -1 z) (* x z))
(fma.f64 z x (neg.f64 z))
(+ (* -1 z) (* x z))
(fma.f64 z x (neg.f64 z))
(+ (* -1 z) (* x z))
(fma.f64 z x (neg.f64 z))
(* x z)
(*.f64 z x)
(* x (+ z (* -1 (/ z x))))
(fma.f64 z x (neg.f64 z))
(* x (+ z (* -1 (/ z x))))
(fma.f64 z x (neg.f64 z))
(* x (+ z (* -1 (/ z x))))
(fma.f64 z x (neg.f64 z))
(* x z)
(*.f64 z x)
(* -1 (* x (+ (* -1 z) (/ z x))))
(fma.f64 z x (neg.f64 z))
(* -1 (* x (+ (* -1 z) (/ z x))))
(fma.f64 z x (neg.f64 z))
(* -1 (* x (+ (* -1 z) (/ z x))))
(fma.f64 z x (neg.f64 z))
(* z (- x 1))
(fma.f64 z x (neg.f64 z))
(* z (- x 1))
(fma.f64 z x (neg.f64 z))
(* z (- x 1))
(fma.f64 z x (neg.f64 z))
(* z (- x 1))
(fma.f64 z x (neg.f64 z))
(* z (- x 1))
(fma.f64 z x (neg.f64 z))
(* z (- x 1))
(fma.f64 z x (neg.f64 z))
(* z (- x 1))
(fma.f64 z x (neg.f64 z))
(* z (- x 1))
(fma.f64 z x (neg.f64 z))
(* z (- x 1))
(fma.f64 z x (neg.f64 z))
(* z (- x 1))
(fma.f64 z x (neg.f64 z))
(* z (- x 1))
(fma.f64 z x (neg.f64 z))
(* z (- x 1))
(fma.f64 z x (neg.f64 z))
-1
#s(literal -1 binary64)
(- x 1)
(+.f64 #s(literal -1 binary64) x)
(- x 1)
(+.f64 #s(literal -1 binary64) x)
(- x 1)
(+.f64 #s(literal -1 binary64) x)
x
(* x (- 1 (/ 1 x)))
(+.f64 #s(literal -1 binary64) x)
(* x (- 1 (/ 1 x)))
(+.f64 #s(literal -1 binary64) x)
(* x (- 1 (/ 1 x)))
(+.f64 #s(literal -1 binary64) x)
x
(* -1 (* x (- (/ 1 x) 1)))
(+.f64 #s(literal -1 binary64) x)
(* -1 (* x (- (/ 1 x) 1)))
(+.f64 #s(literal -1 binary64) x)
(* -1 (* x (- (/ 1 x) 1)))
(+.f64 #s(literal -1 binary64) x)

rewrite486.0ms (9.3%)

Memory
-3.5MiB live, 584.9MiB allocated
Algorithm
batch-egg-rewrite
Rules
6 732×lower-*.f32
6 728×lower-*.f64
4 784×lower-fma.f64
4 784×lower-fma.f32
4 232×lower-/.f64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0820
01220
14520
231120
3385420
01040919
Stop Event
iter limit
node limit
iter limit
Counts
4 → 280
Calls
Call 1
Inputs
(+.f64 (*.f64 x y) (*.f64 (-.f64 x #s(literal 1 binary64)) z))
(*.f64 x y)
(*.f64 (-.f64 x #s(literal 1 binary64)) z)
(-.f64 x #s(literal 1 binary64))
Outputs
(+.f64 (*.f64 x y) (*.f64 (+.f64 x #s(literal -1 binary64)) z))
(+.f64 (*.f64 (+.f64 x #s(literal -1 binary64)) z) (*.f64 x y))
(+.f64 (/.f64 (*.f64 x (*.f64 x (*.f64 y y))) (fma.f64 x y (*.f64 z (-.f64 #s(literal 1 binary64) x)))) (neg.f64 (/.f64 (*.f64 (+.f64 x #s(literal -1 binary64)) (*.f64 z (*.f64 (+.f64 x #s(literal -1 binary64)) z))) (fma.f64 x y (*.f64 z (-.f64 #s(literal 1 binary64) x))))))
(+.f64 (*.f64 x z) (+.f64 (neg.f64 z) (*.f64 x y)))
(+.f64 (fma.f64 x y (*.f64 x z)) (neg.f64 z))
(exp.f64 (*.f64 (log.f64 (/.f64 #s(literal 1 binary64) (fma.f64 (+.f64 x #s(literal -1 binary64)) z (*.f64 x y)))) #s(literal -1 binary64)))
(-.f64 (/.f64 (*.f64 x (*.f64 x (*.f64 y y))) (fma.f64 x y (*.f64 z (-.f64 #s(literal 1 binary64) x)))) (/.f64 (*.f64 (+.f64 x #s(literal -1 binary64)) (*.f64 z (*.f64 (+.f64 x #s(literal -1 binary64)) z))) (fma.f64 x y (*.f64 z (-.f64 #s(literal 1 binary64) x)))))
(-.f64 (/.f64 (*.f64 (+.f64 x #s(literal -1 binary64)) (*.f64 z (*.f64 (+.f64 x #s(literal -1 binary64)) z))) (-.f64 (*.f64 (+.f64 x #s(literal -1 binary64)) z) (*.f64 x y))) (/.f64 (*.f64 x (*.f64 x (*.f64 y y))) (-.f64 (*.f64 (+.f64 x #s(literal -1 binary64)) z) (*.f64 x y))))
(fma.f64 x y (*.f64 (+.f64 x #s(literal -1 binary64)) z))
(fma.f64 x z (+.f64 (neg.f64 z) (*.f64 x y)))
(fma.f64 x (*.f64 #s(literal 1 binary64) z) (+.f64 (neg.f64 z) (*.f64 x y)))
(fma.f64 x (*.f64 #s(literal 1 binary64) y) (*.f64 (+.f64 x #s(literal -1 binary64)) z))
(fma.f64 x (/.f64 (*.f64 x (*.f64 y y)) (fma.f64 x y (*.f64 z (-.f64 #s(literal 1 binary64) x)))) (neg.f64 (/.f64 (*.f64 (+.f64 x #s(literal -1 binary64)) (*.f64 z (*.f64 (+.f64 x #s(literal -1 binary64)) z))) (fma.f64 x y (*.f64 z (-.f64 #s(literal 1 binary64) x))))))
(fma.f64 x (exp.f64 (log.f64 y)) (*.f64 (+.f64 x #s(literal -1 binary64)) z))
(fma.f64 y x (*.f64 (+.f64 x #s(literal -1 binary64)) z))
(fma.f64 y (/.f64 (*.f64 x (*.f64 x y)) (fma.f64 x y (*.f64 z (-.f64 #s(literal 1 binary64) x)))) (neg.f64 (/.f64 (*.f64 (+.f64 x #s(literal -1 binary64)) (*.f64 z (*.f64 (+.f64 x #s(literal -1 binary64)) z))) (fma.f64 x y (*.f64 z (-.f64 #s(literal 1 binary64) x))))))
(fma.f64 (*.f64 x y) #s(literal 1 binary64) (*.f64 (+.f64 x #s(literal -1 binary64)) z))
(fma.f64 (*.f64 x y) (/.f64 (*.f64 x y) (fma.f64 x y (*.f64 z (-.f64 #s(literal 1 binary64) x)))) (neg.f64 (/.f64 (*.f64 (+.f64 x #s(literal -1 binary64)) (*.f64 z (*.f64 (+.f64 x #s(literal -1 binary64)) z))) (fma.f64 x y (*.f64 z (-.f64 #s(literal 1 binary64) x))))))
(fma.f64 #s(literal 1 binary64) (*.f64 x y) (*.f64 (+.f64 x #s(literal -1 binary64)) z))
(fma.f64 #s(literal 1 binary64) (*.f64 x z) (+.f64 (neg.f64 z) (*.f64 x y)))
(fma.f64 (+.f64 x #s(literal -1 binary64)) z (*.f64 x y))
(fma.f64 (+.f64 x #s(literal -1 binary64)) (/.f64 z #s(literal 1 binary64)) (*.f64 x y))
(fma.f64 z x (+.f64 (neg.f64 z) (*.f64 x y)))
(fma.f64 z (+.f64 x #s(literal -1 binary64)) (*.f64 x y))
(fma.f64 (*.f64 x (*.f64 x (*.f64 y y))) (/.f64 #s(literal 1 binary64) (fma.f64 x y (*.f64 z (-.f64 #s(literal 1 binary64) x)))) (neg.f64 (/.f64 (*.f64 (+.f64 x #s(literal -1 binary64)) (*.f64 z (*.f64 (+.f64 x #s(literal -1 binary64)) z))) (fma.f64 x y (*.f64 z (-.f64 #s(literal 1 binary64) x))))))
(fma.f64 (fma.f64 x (*.f64 x x) #s(literal -1 binary64)) (*.f64 (/.f64 #s(literal 1 binary64) (+.f64 x (fma.f64 x x #s(literal 1 binary64)))) z) (*.f64 x y))
(fma.f64 (fma.f64 x (*.f64 x x) #s(literal -1 binary64)) (/.f64 z (+.f64 x (fma.f64 x x #s(literal 1 binary64)))) (*.f64 x y))
(fma.f64 (*.f64 x x) (/.f64 (*.f64 y y) (fma.f64 x y (*.f64 z (-.f64 #s(literal 1 binary64) x)))) (neg.f64 (/.f64 (*.f64 (+.f64 x #s(literal -1 binary64)) (*.f64 z (*.f64 (+.f64 x #s(literal -1 binary64)) z))) (fma.f64 x y (*.f64 z (-.f64 #s(literal 1 binary64) x))))))
(fma.f64 (fma.f64 x x #s(literal -1 binary64)) (/.f64 z (+.f64 x #s(literal 1 binary64))) (*.f64 x y))
(fma.f64 (fma.f64 x x #s(literal -1 binary64)) (*.f64 (/.f64 #s(literal 1 binary64) (+.f64 x #s(literal 1 binary64))) z) (*.f64 x y))
(fma.f64 (*.f64 y y) (/.f64 (*.f64 x x) (fma.f64 x y (*.f64 z (-.f64 #s(literal 1 binary64) x)))) (neg.f64 (/.f64 (*.f64 (+.f64 x #s(literal -1 binary64)) (*.f64 z (*.f64 (+.f64 x #s(literal -1 binary64)) z))) (fma.f64 x y (*.f64 z (-.f64 #s(literal 1 binary64) x))))))
(fma.f64 (*.f64 x z) #s(literal 1 binary64) (+.f64 (neg.f64 z) (*.f64 x y)))
(fma.f64 (*.f64 x (*.f64 y y)) (/.f64 x (fma.f64 x y (*.f64 z (-.f64 #s(literal 1 binary64) x)))) (neg.f64 (/.f64 (*.f64 (+.f64 x #s(literal -1 binary64)) (*.f64 z (*.f64 (+.f64 x #s(literal -1 binary64)) z))) (fma.f64 x y (*.f64 z (-.f64 #s(literal 1 binary64) x))))))
(fma.f64 (*.f64 x (*.f64 x y)) (/.f64 y (fma.f64 x y (*.f64 z (-.f64 #s(literal 1 binary64) x)))) (neg.f64 (/.f64 (*.f64 (+.f64 x #s(literal -1 binary64)) (*.f64 z (*.f64 (+.f64 x #s(literal -1 binary64)) z))) (fma.f64 x y (*.f64 z (-.f64 #s(literal 1 binary64) x))))))
(fma.f64 (*.f64 z (fma.f64 x (*.f64 x x) #s(literal -1 binary64))) (/.f64 #s(literal 1 binary64) (+.f64 x (fma.f64 x x #s(literal 1 binary64)))) (*.f64 x y))
(fma.f64 (*.f64 z (fma.f64 x x #s(literal -1 binary64))) (/.f64 #s(literal 1 binary64) (+.f64 x #s(literal 1 binary64))) (*.f64 x y))
(fma.f64 (/.f64 z (+.f64 x #s(literal 1 binary64))) (/.f64 (fma.f64 x x #s(literal -1 binary64)) #s(literal 1 binary64)) (*.f64 x y))
(fma.f64 (*.f64 y #s(literal 1 binary64)) x (*.f64 (+.f64 x #s(literal -1 binary64)) z))
(fma.f64 (*.f64 z #s(literal 1 binary64)) x (+.f64 (neg.f64 z) (*.f64 x y)))
(fma.f64 (/.f64 (*.f64 x (*.f64 x (*.f64 y y))) (*.f64 (fma.f64 (+.f64 x #s(literal -1 binary64)) z (*.f64 x y)) (fma.f64 x y (*.f64 z (-.f64 #s(literal 1 binary64) x))))) (fma.f64 (+.f64 x #s(literal -1 binary64)) z (*.f64 x y)) (neg.f64 (/.f64 (*.f64 (+.f64 x #s(literal -1 binary64)) (*.f64 z (*.f64 (+.f64 x #s(literal -1 binary64)) z))) (fma.f64 x y (*.f64 z (-.f64 #s(literal 1 binary64) x))))))
(fma.f64 (/.f64 (*.f64 x (*.f64 x (*.f64 y y))) (fma.f64 x (*.f64 y (*.f64 x (*.f64 x (*.f64 y y)))) (*.f64 (*.f64 (+.f64 x #s(literal -1 binary64)) (*.f64 z (*.f64 (+.f64 x #s(literal -1 binary64)) z))) (*.f64 z (-.f64 #s(literal 1 binary64) x))))) (fma.f64 x (*.f64 x (*.f64 y y)) (*.f64 (*.f64 (+.f64 x #s(literal -1 binary64)) z) (fma.f64 (+.f64 x #s(literal -1 binary64)) z (*.f64 x y)))) (neg.f64 (/.f64 (*.f64 (+.f64 x #s(literal -1 binary64)) (*.f64 z (*.f64 (+.f64 x #s(literal -1 binary64)) z))) (fma.f64 x y (*.f64 z (-.f64 #s(literal 1 binary64) x))))))
(fma.f64 (/.f64 (*.f64 z (fma.f64 x (*.f64 x x) #s(literal -1 binary64))) (fma.f64 (+.f64 x #s(literal 1 binary64)) (*.f64 (+.f64 x #s(literal 1 binary64)) (+.f64 x #s(literal 1 binary64))) (*.f64 (*.f64 x (*.f64 x x)) (*.f64 x (*.f64 x x))))) (fma.f64 (+.f64 x #s(literal 1 binary64)) (-.f64 (+.f64 x #s(literal 1 binary64)) (*.f64 x x)) (*.f64 x (*.f64 x (*.f64 x x)))) (*.f64 x y))
(fma.f64 (/.f64 (*.f64 z (fma.f64 x (*.f64 x x) #s(literal -1 binary64))) (*.f64 (+.f64 x (fma.f64 x x #s(literal 1 binary64))) (-.f64 (fma.f64 x x #s(literal -1 binary64)) x))) (-.f64 (fma.f64 x x #s(literal -1 binary64)) x) (*.f64 x y))
(fma.f64 (/.f64 (*.f64 z (fma.f64 x x #s(literal -1 binary64))) (fma.f64 x x #s(literal -1 binary64))) (+.f64 x #s(literal -1 binary64)) (*.f64 x y))
(fma.f64 (/.f64 (*.f64 z (fma.f64 x x #s(literal -1 binary64))) (fma.f64 x (*.f64 x x) #s(literal 1 binary64))) (fma.f64 x x (-.f64 #s(literal 1 binary64) x)) (*.f64 x y))
(fma.f64 (/.f64 (*.f64 z (fma.f64 x x #s(literal -1 binary64))) (-.f64 #s(literal 1 binary64) (*.f64 x x))) (-.f64 #s(literal 1 binary64) x) (*.f64 x y))
(fma.f64 (exp.f64 (log.f64 y)) x (*.f64 (+.f64 x #s(literal -1 binary64)) z))
(fma.f64 (exp.f64 (log.f64 (+.f64 x #s(literal -1 binary64)))) (exp.f64 (log.f64 z)) (*.f64 x y))
(fma.f64 (exp.f64 (log.f64 z)) (exp.f64 (log.f64 (+.f64 x #s(literal -1 binary64)))) (*.f64 x y))
(neg.f64 (/.f64 (fma.f64 x (*.f64 y (*.f64 x (*.f64 x (*.f64 y y)))) (*.f64 (*.f64 (+.f64 x #s(literal -1 binary64)) z) (*.f64 (+.f64 x #s(literal -1 binary64)) (*.f64 z (*.f64 (+.f64 x #s(literal -1 binary64)) z))))) (neg.f64 (fma.f64 x (*.f64 x (*.f64 y y)) (*.f64 z (*.f64 (+.f64 x #s(literal -1 binary64)) (-.f64 (*.f64 (+.f64 x #s(literal -1 binary64)) z) (*.f64 x y))))))))
(neg.f64 (/.f64 (*.f64 (fma.f64 (+.f64 x #s(literal -1 binary64)) z (*.f64 x y)) (fma.f64 x y (*.f64 z (-.f64 #s(literal 1 binary64) x)))) (neg.f64 (fma.f64 x y (*.f64 z (-.f64 #s(literal 1 binary64) x))))))
(neg.f64 (/.f64 (fma.f64 (*.f64 (+.f64 x #s(literal -1 binary64)) (*.f64 z (*.f64 (+.f64 x #s(literal -1 binary64)) z))) (*.f64 z (-.f64 #s(literal 1 binary64) x)) (neg.f64 (*.f64 (*.f64 x (*.f64 x x)) (*.f64 y (*.f64 y y))))) (fma.f64 x (*.f64 x (*.f64 y y)) (*.f64 z (*.f64 (+.f64 x #s(literal -1 binary64)) (-.f64 (*.f64 (+.f64 x #s(literal -1 binary64)) z) (*.f64 x y)))))))
(neg.f64 (/.f64 (*.f64 (fma.f64 (+.f64 x #s(literal -1 binary64)) z (*.f64 x y)) (neg.f64 (fma.f64 x y (*.f64 z (-.f64 #s(literal 1 binary64) x))))) (fma.f64 x y (*.f64 z (-.f64 #s(literal 1 binary64) x)))))
(/.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) (fma.f64 (+.f64 x #s(literal -1 binary64)) z (*.f64 x y))))
(/.f64 #s(literal 1 binary64) (/.f64 (/.f64 #s(literal 1 binary64) (fma.f64 (+.f64 x #s(literal -1 binary64)) z (*.f64 x y))) #s(literal 1 binary64)))
(/.f64 #s(literal 1 binary64) (/.f64 (-.f64 (*.f64 (+.f64 x #s(literal -1 binary64)) z) (*.f64 x y)) (*.f64 (fma.f64 (+.f64 x #s(literal -1 binary64)) z (*.f64 x y)) (-.f64 (*.f64 (+.f64 x #s(literal -1 binary64)) z) (*.f64 x y)))))
(/.f64 (fma.f64 x (*.f64 y (*.f64 x (*.f64 x (*.f64 y y)))) (*.f64 (*.f64 (+.f64 x #s(literal -1 binary64)) z) (*.f64 (+.f64 x #s(literal -1 binary64)) (*.f64 z (*.f64 (+.f64 x #s(literal -1 binary64)) z))))) (fma.f64 x (*.f64 x (*.f64 y y)) (*.f64 z (*.f64 (+.f64 x #s(literal -1 binary64)) (-.f64 (*.f64 (+.f64 x #s(literal -1 binary64)) z) (*.f64 x y))))))
(/.f64 #s(literal -1 binary64) (neg.f64 (/.f64 #s(literal 1 binary64) (fma.f64 (+.f64 x #s(literal -1 binary64)) z (*.f64 x y)))))
(/.f64 (*.f64 (fma.f64 (+.f64 x #s(literal -1 binary64)) z (*.f64 x y)) (fma.f64 x y (*.f64 z (-.f64 #s(literal 1 binary64) x)))) (fma.f64 x y (*.f64 z (-.f64 #s(literal 1 binary64) x))))
(/.f64 (fma.f64 (*.f64 (+.f64 x #s(literal -1 binary64)) (*.f64 z (*.f64 (+.f64 x #s(literal -1 binary64)) z))) (*.f64 z (-.f64 #s(literal 1 binary64) x)) (neg.f64 (*.f64 (*.f64 x (*.f64 x x)) (*.f64 y (*.f64 y y))))) (neg.f64 (fma.f64 x (*.f64 x (*.f64 y y)) (*.f64 z (*.f64 (+.f64 x #s(literal -1 binary64)) (-.f64 (*.f64 (+.f64 x #s(literal -1 binary64)) z) (*.f64 x y)))))))
(/.f64 (*.f64 (fma.f64 (+.f64 x #s(literal -1 binary64)) z (*.f64 x y)) (neg.f64 (fma.f64 x y (*.f64 z (-.f64 #s(literal 1 binary64) x))))) (neg.f64 (fma.f64 x y (*.f64 z (-.f64 #s(literal 1 binary64) x)))))
(/.f64 (fma.f64 (*.f64 (*.f64 x (*.f64 x x)) (*.f64 y (*.f64 y y))) (*.f64 (*.f64 x y) (*.f64 (*.f64 (*.f64 x (*.f64 x x)) (*.f64 y (*.f64 y y))) (*.f64 x (*.f64 x (*.f64 y y))))) (pow.f64 (*.f64 (+.f64 x #s(literal -1 binary64)) z) #s(literal 9 binary64))) (*.f64 (fma.f64 x (*.f64 x (*.f64 y y)) (*.f64 z (*.f64 (+.f64 x #s(literal -1 binary64)) (-.f64 (*.f64 (+.f64 x #s(literal -1 binary64)) z) (*.f64 x y))))) (fma.f64 (*.f64 x y) (*.f64 (*.f64 (*.f64 x (*.f64 x x)) (*.f64 y (*.f64 y y))) (*.f64 x (*.f64 x (*.f64 y y)))) (*.f64 (*.f64 (*.f64 (+.f64 x #s(literal -1 binary64)) z) (*.f64 (+.f64 x #s(literal -1 binary64)) (*.f64 z (*.f64 (+.f64 x #s(literal -1 binary64)) z)))) (-.f64 (*.f64 (*.f64 (+.f64 x #s(literal -1 binary64)) z) (*.f64 (+.f64 x #s(literal -1 binary64)) (*.f64 z (*.f64 (+.f64 x #s(literal -1 binary64)) z)))) (*.f64 (*.f64 x (*.f64 x x)) (*.f64 y (*.f64 y y))))))))
(/.f64 (*.f64 (fma.f64 (+.f64 x #s(literal -1 binary64)) z (*.f64 x y)) (-.f64 (*.f64 (+.f64 x #s(literal -1 binary64)) z) (*.f64 x y))) (-.f64 (*.f64 (+.f64 x #s(literal -1 binary64)) z) (*.f64 x y)))
(/.f64 (*.f64 (fma.f64 x (*.f64 y (*.f64 x (*.f64 x (*.f64 y y)))) (*.f64 (*.f64 (+.f64 x #s(literal -1 binary64)) z) (*.f64 (+.f64 x #s(literal -1 binary64)) (*.f64 z (*.f64 (+.f64 x #s(literal -1 binary64)) z))))) (fma.f64 x (*.f64 y (*.f64 x (*.f64 x (*.f64 y y)))) (*.f64 (*.f64 (+.f64 x #s(literal -1 binary64)) (*.f64 z (*.f64 (+.f64 x #s(literal -1 binary64)) z))) (*.f64 z (-.f64 #s(literal 1 binary64) x))))) (*.f64 (fma.f64 x (*.f64 x (*.f64 y y)) (*.f64 z (*.f64 (+.f64 x #s(literal -1 binary64)) (-.f64 (*.f64 (+.f64 x #s(literal -1 binary64)) z) (*.f64 x y))))) (fma.f64 x (*.f64 y (*.f64 x (*.f64 x (*.f64 y y)))) (*.f64 (*.f64 (+.f64 x #s(literal -1 binary64)) (*.f64 z (*.f64 (+.f64 x #s(literal -1 binary64)) z))) (*.f64 z (-.f64 #s(literal 1 binary64) x))))))
(/.f64 (*.f64 (fma.f64 x (*.f64 y (*.f64 x (*.f64 x (*.f64 y y)))) (*.f64 (*.f64 (+.f64 x #s(literal -1 binary64)) z) (*.f64 (+.f64 x #s(literal -1 binary64)) (*.f64 z (*.f64 (+.f64 x #s(literal -1 binary64)) z))))) (fma.f64 x (*.f64 y (*.f64 x (*.f64 x (*.f64 y y)))) (*.f64 (*.f64 (+.f64 x #s(literal -1 binary64)) (*.f64 z (*.f64 (+.f64 x #s(literal -1 binary64)) z))) (*.f64 z (-.f64 #s(literal 1 binary64) x))))) (*.f64 (fma.f64 x y (*.f64 z (-.f64 #s(literal 1 binary64) x))) (fma.f64 x (*.f64 (*.f64 x (*.f64 y y)) (*.f64 x (*.f64 x (*.f64 y y)))) (*.f64 (*.f64 (+.f64 x #s(literal -1 binary64)) (*.f64 z (*.f64 (+.f64 x #s(literal -1 binary64)) z))) (fma.f64 x (*.f64 x (*.f64 y y)) (*.f64 (+.f64 x #s(literal -1 binary64)) (*.f64 z (*.f64 (+.f64 x #s(literal -1 binary64)) z))))))))
(/.f64 (*.f64 (fma.f64 x (*.f64 x (*.f64 y y)) (*.f64 (+.f64 x #s(literal -1 binary64)) (*.f64 z (*.f64 (+.f64 x #s(literal -1 binary64)) z)))) (*.f64 (fma.f64 (+.f64 x #s(literal -1 binary64)) z (*.f64 x y)) (fma.f64 x y (*.f64 z (-.f64 #s(literal 1 binary64) x))))) (*.f64 (fma.f64 x y (*.f64 z (-.f64 #s(literal 1 binary64) x))) (fma.f64 x (*.f64 x (*.f64 y y)) (*.f64 (+.f64 x #s(literal -1 binary64)) (*.f64 z (*.f64 (+.f64 x #s(literal -1 binary64)) z))))))
(/.f64 (-.f64 (*.f64 (*.f64 x (*.f64 x (*.f64 y y))) (fma.f64 x y (*.f64 z (-.f64 #s(literal 1 binary64) x)))) (*.f64 (fma.f64 x y (*.f64 z (-.f64 #s(literal 1 binary64) x))) (*.f64 (+.f64 x #s(literal -1 binary64)) (*.f64 z (*.f64 (+.f64 x #s(literal -1 binary64)) z))))) (*.f64 (fma.f64 x y (*.f64 z (-.f64 #s(literal 1 binary64) x))) (fma.f64 x y (*.f64 z (-.f64 #s(literal 1 binary64) x)))))
(/.f64 (*.f64 (fma.f64 (*.f64 (*.f64 x (*.f64 x x)) (*.f64 y (*.f64 y y))) (*.f64 (*.f64 x y) (*.f64 (*.f64 (*.f64 x (*.f64 x x)) (*.f64 y (*.f64 y y))) (*.f64 x (*.f64 x (*.f64 y y))))) (pow.f64 (*.f64 (+.f64 x #s(literal -1 binary64)) z) #s(literal 9 binary64))) #s(literal 1 binary64)) (*.f64 (fma.f64 (*.f64 x y) (*.f64 (*.f64 (*.f64 x (*.f64 x x)) (*.f64 y (*.f64 y y))) (*.f64 x (*.f64 x (*.f64 y y)))) (*.f64 (*.f64 (*.f64 (+.f64 x #s(literal -1 binary64)) z) (*.f64 (+.f64 x #s(literal -1 binary64)) (*.f64 z (*.f64 (+.f64 x #s(literal -1 binary64)) z)))) (-.f64 (*.f64 (*.f64 (+.f64 x #s(literal -1 binary64)) z) (*.f64 (+.f64 x #s(literal -1 binary64)) (*.f64 z (*.f64 (+.f64 x #s(literal -1 binary64)) z)))) (*.f64 (*.f64 x (*.f64 x x)) (*.f64 y (*.f64 y y)))))) (fma.f64 x (*.f64 x (*.f64 y y)) (*.f64 z (*.f64 (+.f64 x #s(literal -1 binary64)) (-.f64 (*.f64 (+.f64 x #s(literal -1 binary64)) z) (*.f64 x y)))))))
(/.f64 (*.f64 (*.f64 (fma.f64 x (*.f64 y (*.f64 x (*.f64 x (*.f64 y y)))) (*.f64 (*.f64 (+.f64 x #s(literal -1 binary64)) z) (*.f64 (+.f64 x #s(literal -1 binary64)) (*.f64 z (*.f64 (+.f64 x #s(literal -1 binary64)) z))))) (fma.f64 x (*.f64 y (*.f64 x (*.f64 x (*.f64 y y)))) (*.f64 (*.f64 (+.f64 x #s(literal -1 binary64)) (*.f64 z (*.f64 (+.f64 x #s(literal -1 binary64)) z))) (*.f64 z (-.f64 #s(literal 1 binary64) x))))) #s(literal 1 binary64)) (*.f64 (fma.f64 x (*.f64 y (*.f64 x (*.f64 x (*.f64 y y)))) (*.f64 (*.f64 (+.f64 x #s(literal -1 binary64)) (*.f64 z (*.f64 (+.f64 x #s(literal -1 binary64)) z))) (*.f64 z (-.f64 #s(literal 1 binary64) x)))) (fma.f64 x (*.f64 x (*.f64 y y)) (*.f64 z (*.f64 (+.f64 x #s(literal -1 binary64)) (-.f64 (*.f64 (+.f64 x #s(literal -1 binary64)) z) (*.f64 x y)))))))
(/.f64 (*.f64 (*.f64 (fma.f64 x (*.f64 y (*.f64 x (*.f64 x (*.f64 y y)))) (*.f64 (*.f64 (+.f64 x #s(literal -1 binary64)) z) (*.f64 (+.f64 x #s(literal -1 binary64)) (*.f64 z (*.f64 (+.f64 x #s(literal -1 binary64)) z))))) (fma.f64 x (*.f64 y (*.f64 x (*.f64 x (*.f64 y y)))) (*.f64 (*.f64 (+.f64 x #s(literal -1 binary64)) (*.f64 z (*.f64 (+.f64 x #s(literal -1 binary64)) z))) (*.f64 z (-.f64 #s(literal 1 binary64) x))))) #s(literal 1 binary64)) (*.f64 (fma.f64 x (*.f64 (*.f64 x (*.f64 y y)) (*.f64 x (*.f64 x (*.f64 y y)))) (*.f64 (*.f64 (+.f64 x #s(literal -1 binary64)) (*.f64 z (*.f64 (+.f64 x #s(literal -1 binary64)) z))) (fma.f64 x (*.f64 x (*.f64 y y)) (*.f64 (+.f64 x #s(literal -1 binary64)) (*.f64 z (*.f64 (+.f64 x #s(literal -1 binary64)) z)))))) (fma.f64 x y (*.f64 z (-.f64 #s(literal 1 binary64) x)))))
(/.f64 (*.f64 (*.f64 (fma.f64 x (*.f64 x (*.f64 y y)) (*.f64 (+.f64 x #s(literal -1 binary64)) (*.f64 z (*.f64 (+.f64 x #s(literal -1 binary64)) z)))) (*.f64 (fma.f64 (+.f64 x #s(literal -1 binary64)) z (*.f64 x y)) (fma.f64 x y (*.f64 z (-.f64 #s(literal 1 binary64) x))))) #s(literal 1 binary64)) (*.f64 (fma.f64 x (*.f64 x (*.f64 y y)) (*.f64 (+.f64 x #s(literal -1 binary64)) (*.f64 z (*.f64 (+.f64 x #s(literal -1 binary64)) z)))) (fma.f64 x y (*.f64 z (-.f64 #s(literal 1 binary64) x)))))
(/.f64 (neg.f64 (fma.f64 (*.f64 (+.f64 x #s(literal -1 binary64)) (*.f64 z (*.f64 (+.f64 x #s(literal -1 binary64)) z))) (*.f64 z (-.f64 #s(literal 1 binary64) x)) (neg.f64 (*.f64 (*.f64 x (*.f64 x x)) (*.f64 y (*.f64 y y)))))) (neg.f64 (neg.f64 (fma.f64 x (*.f64 x (*.f64 y y)) (*.f64 z (*.f64 (+.f64 x #s(literal -1 binary64)) (-.f64 (*.f64 (+.f64 x #s(literal -1 binary64)) z) (*.f64 x y))))))))
(/.f64 (neg.f64 (*.f64 (fma.f64 (+.f64 x #s(literal -1 binary64)) z (*.f64 x y)) (neg.f64 (fma.f64 x y (*.f64 z (-.f64 #s(literal 1 binary64) x)))))) (neg.f64 (neg.f64 (fma.f64 x y (*.f64 z (-.f64 #s(literal 1 binary64) x))))))
(/.f64 (neg.f64 (*.f64 (fma.f64 (+.f64 x #s(literal -1 binary64)) z (*.f64 x y)) (-.f64 (*.f64 (+.f64 x #s(literal -1 binary64)) z) (*.f64 x y)))) (neg.f64 (-.f64 (*.f64 (+.f64 x #s(literal -1 binary64)) z) (*.f64 x y))))
(/.f64 (-.f64 (*.f64 (/.f64 (*.f64 x (*.f64 x (*.f64 y y))) (fma.f64 x y (*.f64 z (-.f64 #s(literal 1 binary64) x)))) (*.f64 (/.f64 (*.f64 x (*.f64 x (*.f64 y y))) (fma.f64 x y (*.f64 z (-.f64 #s(literal 1 binary64) x)))) (/.f64 (*.f64 x (*.f64 x (*.f64 y y))) (fma.f64 x y (*.f64 z (-.f64 #s(literal 1 binary64) x)))))) (pow.f64 (/.f64 (*.f64 (+.f64 x #s(literal -1 binary64)) (*.f64 z (*.f64 (+.f64 x #s(literal -1 binary64)) z))) (fma.f64 x y (*.f64 z (-.f64 #s(literal 1 binary64) x)))) #s(literal 3 binary64))) (fma.f64 (/.f64 (*.f64 x (*.f64 x (*.f64 y y))) (fma.f64 x y (*.f64 z (-.f64 #s(literal 1 binary64) x)))) (/.f64 (*.f64 x (*.f64 x (*.f64 y y))) (fma.f64 x y (*.f64 z (-.f64 #s(literal 1 binary64) x)))) (fma.f64 (/.f64 (*.f64 (+.f64 x #s(literal -1 binary64)) (*.f64 z (*.f64 (+.f64 x #s(literal -1 binary64)) z))) (fma.f64 x y (*.f64 z (-.f64 #s(literal 1 binary64) x)))) (/.f64 (*.f64 (+.f64 x #s(literal -1 binary64)) (*.f64 z (*.f64 (+.f64 x #s(literal -1 binary64)) z))) (fma.f64 x y (*.f64 z (-.f64 #s(literal 1 binary64) x)))) (*.f64 (/.f64 (*.f64 x (*.f64 x (*.f64 y y))) (fma.f64 x y (*.f64 z (-.f64 #s(literal 1 binary64) x)))) (/.f64 (*.f64 (+.f64 x #s(literal -1 binary64)) (*.f64 z (*.f64 (+.f64 x #s(literal -1 binary64)) z))) (fma.f64 x y (*.f64 z (-.f64 #s(literal 1 binary64) x))))))))
(/.f64 (-.f64 (*.f64 (/.f64 (*.f64 x (*.f64 x (*.f64 y y))) (fma.f64 x y (*.f64 z (-.f64 #s(literal 1 binary64) x)))) (/.f64 (*.f64 x (*.f64 x (*.f64 y y))) (fma.f64 x y (*.f64 z (-.f64 #s(literal 1 binary64) x))))) (*.f64 (/.f64 (*.f64 (+.f64 x #s(literal -1 binary64)) (*.f64 z (*.f64 (+.f64 x #s(literal -1 binary64)) z))) (fma.f64 x y (*.f64 z (-.f64 #s(literal 1 binary64) x)))) (/.f64 (*.f64 (+.f64 x #s(literal -1 binary64)) (*.f64 z (*.f64 (+.f64 x #s(literal -1 binary64)) z))) (fma.f64 x y (*.f64 z (-.f64 #s(literal 1 binary64) x)))))) (fma.f64 (*.f64 x y) (/.f64 (*.f64 x y) (fma.f64 x y (*.f64 z (-.f64 #s(literal 1 binary64) x)))) (/.f64 (*.f64 (+.f64 x #s(literal -1 binary64)) (*.f64 z (*.f64 (+.f64 x #s(literal -1 binary64)) z))) (fma.f64 x y (*.f64 z (-.f64 #s(literal 1 binary64) x))))))
(/.f64 (*.f64 (fma.f64 x (*.f64 y (*.f64 x (*.f64 x (*.f64 y y)))) (*.f64 (*.f64 (+.f64 x #s(literal -1 binary64)) z) (*.f64 (+.f64 x #s(literal -1 binary64)) (*.f64 z (*.f64 (+.f64 x #s(literal -1 binary64)) z))))) #s(literal 1 binary64)) (fma.f64 x (*.f64 x (*.f64 y y)) (*.f64 z (*.f64 (+.f64 x #s(literal -1 binary64)) (-.f64 (*.f64 (+.f64 x #s(literal -1 binary64)) z) (*.f64 x y))))))
(/.f64 (*.f64 (fma.f64 (*.f64 (*.f64 x (*.f64 x x)) (*.f64 y (*.f64 y y))) (*.f64 (*.f64 x y) (*.f64 (*.f64 (*.f64 x (*.f64 x x)) (*.f64 y (*.f64 y y))) (*.f64 x (*.f64 x (*.f64 y y))))) (pow.f64 (*.f64 (+.f64 x #s(literal -1 binary64)) z) #s(literal 9 binary64))) (/.f64 #s(literal 1 binary64) (fma.f64 x (*.f64 x (*.f64 y y)) (*.f64 z (*.f64 (+.f64 x #s(literal -1 binary64)) (-.f64 (*.f64 (+.f64 x #s(literal -1 binary64)) z) (*.f64 x y))))))) (fma.f64 (*.f64 x y) (*.f64 (*.f64 (*.f64 x (*.f64 x x)) (*.f64 y (*.f64 y y))) (*.f64 x (*.f64 x (*.f64 y y)))) (*.f64 (*.f64 (*.f64 (+.f64 x #s(literal -1 binary64)) z) (*.f64 (+.f64 x #s(literal -1 binary64)) (*.f64 z (*.f64 (+.f64 x #s(literal -1 binary64)) z)))) (-.f64 (*.f64 (*.f64 (+.f64 x #s(literal -1 binary64)) z) (*.f64 (+.f64 x #s(literal -1 binary64)) (*.f64 z (*.f64 (+.f64 x #s(literal -1 binary64)) z)))) (*.f64 (*.f64 x (*.f64 x x)) (*.f64 y (*.f64 y y)))))))
(/.f64 (*.f64 (*.f64 (fma.f64 x (*.f64 y (*.f64 x (*.f64 x (*.f64 y y)))) (*.f64 (*.f64 (+.f64 x #s(literal -1 binary64)) z) (*.f64 (+.f64 x #s(literal -1 binary64)) (*.f64 z (*.f64 (+.f64 x #s(literal -1 binary64)) z))))) (fma.f64 x (*.f64 y (*.f64 x (*.f64 x (*.f64 y y)))) (*.f64 (*.f64 (+.f64 x #s(literal -1 binary64)) (*.f64 z (*.f64 (+.f64 x #s(literal -1 binary64)) z))) (*.f64 z (-.f64 #s(literal 1 binary64) x))))) (/.f64 #s(literal 1 binary64) (fma.f64 x (*.f64 x (*.f64 y y)) (*.f64 z (*.f64 (+.f64 x #s(literal -1 binary64)) (-.f64 (*.f64 (+.f64 x #s(literal -1 binary64)) z) (*.f64 x y))))))) (fma.f64 x (*.f64 y (*.f64 x (*.f64 x (*.f64 y y)))) (*.f64 (*.f64 (+.f64 x #s(literal -1 binary64)) (*.f64 z (*.f64 (+.f64 x #s(literal -1 binary64)) z))) (*.f64 z (-.f64 #s(literal 1 binary64) x)))))
(/.f64 (*.f64 (*.f64 (fma.f64 x (*.f64 y (*.f64 x (*.f64 x (*.f64 y y)))) (*.f64 (*.f64 (+.f64 x #s(literal -1 binary64)) z) (*.f64 (+.f64 x #s(literal -1 binary64)) (*.f64 z (*.f64 (+.f64 x #s(literal -1 binary64)) z))))) (fma.f64 x (*.f64 y (*.f64 x (*.f64 x (*.f64 y y)))) (*.f64 (*.f64 (+.f64 x #s(literal -1 binary64)) (*.f64 z (*.f64 (+.f64 x #s(literal -1 binary64)) z))) (*.f64 z (-.f64 #s(literal 1 binary64) x))))) (/.f64 #s(literal 1 binary64) (fma.f64 x y (*.f64 z (-.f64 #s(literal 1 binary64) x))))) (fma.f64 x (*.f64 (*.f64 x (*.f64 y y)) (*.f64 x (*.f64 x (*.f64 y y)))) (*.f64 (*.f64 (+.f64 x #s(literal -1 binary64)) (*.f64 z (*.f64 (+.f64 x #s(literal -1 binary64)) z))) (fma.f64 x (*.f64 x (*.f64 y y)) (*.f64 (+.f64 x #s(literal -1 binary64)) (*.f64 z (*.f64 (+.f64 x #s(literal -1 binary64)) z)))))))
(/.f64 (*.f64 (*.f64 (fma.f64 x (*.f64 x (*.f64 y y)) (*.f64 (+.f64 x #s(literal -1 binary64)) (*.f64 z (*.f64 (+.f64 x #s(literal -1 binary64)) z)))) (*.f64 (fma.f64 (+.f64 x #s(literal -1 binary64)) z (*.f64 x y)) (fma.f64 x y (*.f64 z (-.f64 #s(literal 1 binary64) x))))) (/.f64 #s(literal 1 binary64) (fma.f64 x y (*.f64 z (-.f64 #s(literal 1 binary64) x))))) (fma.f64 x (*.f64 x (*.f64 y y)) (*.f64 (+.f64 x #s(literal -1 binary64)) (*.f64 z (*.f64 (+.f64 x #s(literal -1 binary64)) z)))))
(/.f64 (-.f64 (neg.f64 (*.f64 x (*.f64 x (*.f64 y y)))) (*.f64 (*.f64 (+.f64 x #s(literal -1 binary64)) z) (*.f64 z (-.f64 #s(literal 1 binary64) x)))) (neg.f64 (fma.f64 x y (*.f64 z (-.f64 #s(literal 1 binary64) x)))))
(/.f64 (-.f64 (*.f64 #s(literal 1 binary64) (/.f64 (fma.f64 x y (*.f64 z (-.f64 #s(literal 1 binary64) x))) (*.f64 (+.f64 x #s(literal -1 binary64)) (*.f64 z (*.f64 (+.f64 x #s(literal -1 binary64)) z))))) (*.f64 (/.f64 (fma.f64 x y (*.f64 z (-.f64 #s(literal 1 binary64) x))) (*.f64 x (*.f64 x (*.f64 y y)))) #s(literal 1 binary64))) (*.f64 (/.f64 (fma.f64 x y (*.f64 z (-.f64 #s(literal 1 binary64) x))) (*.f64 x (*.f64 x (*.f64 y y)))) (/.f64 (fma.f64 x y (*.f64 z (-.f64 #s(literal 1 binary64) x))) (*.f64 (+.f64 x #s(literal -1 binary64)) (*.f64 z (*.f64 (+.f64 x #s(literal -1 binary64)) z))))))
(/.f64 (-.f64 (*.f64 #s(literal 1 binary64) (fma.f64 x y (*.f64 z (-.f64 #s(literal 1 binary64) x)))) (*.f64 (/.f64 (fma.f64 x y (*.f64 z (-.f64 #s(literal 1 binary64) x))) (*.f64 x (*.f64 x (*.f64 y y)))) (*.f64 (+.f64 x #s(literal -1 binary64)) (*.f64 z (*.f64 (+.f64 x #s(literal -1 binary64)) z))))) (*.f64 (/.f64 (fma.f64 x y (*.f64 z (-.f64 #s(literal 1 binary64) x))) (*.f64 x (*.f64 x (*.f64 y y)))) (fma.f64 x y (*.f64 z (-.f64 #s(literal 1 binary64) x)))))
(/.f64 (-.f64 (*.f64 #s(literal 1 binary64) (neg.f64 (fma.f64 x y (*.f64 z (-.f64 #s(literal 1 binary64) x))))) (*.f64 (/.f64 (fma.f64 x y (*.f64 z (-.f64 #s(literal 1 binary64) x))) (*.f64 x (*.f64 x (*.f64 y y)))) (*.f64 (*.f64 (+.f64 x #s(literal -1 binary64)) z) (*.f64 z (-.f64 #s(literal 1 binary64) x))))) (*.f64 (/.f64 (fma.f64 x y (*.f64 z (-.f64 #s(literal 1 binary64) x))) (*.f64 x (*.f64 x (*.f64 y y)))) (neg.f64 (fma.f64 x y (*.f64 z (-.f64 #s(literal 1 binary64) x))))))
(/.f64 (-.f64 (*.f64 (*.f64 x (*.f64 x (*.f64 y y))) (/.f64 (fma.f64 x y (*.f64 z (-.f64 #s(literal 1 binary64) x))) (*.f64 (+.f64 x #s(literal -1 binary64)) (*.f64 z (*.f64 (+.f64 x #s(literal -1 binary64)) z))))) (*.f64 (fma.f64 x y (*.f64 z (-.f64 #s(literal 1 binary64) x))) #s(literal 1 binary64))) (*.f64 (fma.f64 x y (*.f64 z (-.f64 #s(literal 1 binary64) x))) (/.f64 (fma.f64 x y (*.f64 z (-.f64 #s(literal 1 binary64) x))) (*.f64 (+.f64 x #s(literal -1 binary64)) (*.f64 z (*.f64 (+.f64 x #s(literal -1 binary64)) z))))))
(/.f64 (-.f64 (*.f64 (*.f64 x (*.f64 x (*.f64 y y))) (neg.f64 (fma.f64 x y (*.f64 z (-.f64 #s(literal 1 binary64) x))))) (*.f64 (fma.f64 x y (*.f64 z (-.f64 #s(literal 1 binary64) x))) (*.f64 (*.f64 (+.f64 x #s(literal -1 binary64)) z) (*.f64 z (-.f64 #s(literal 1 binary64) x))))) (*.f64 (fma.f64 x y (*.f64 z (-.f64 #s(literal 1 binary64) x))) (neg.f64 (fma.f64 x y (*.f64 z (-.f64 #s(literal 1 binary64) x))))))
(/.f64 (-.f64 (*.f64 (neg.f64 (*.f64 x (*.f64 x (*.f64 y y)))) (/.f64 (fma.f64 x y (*.f64 z (-.f64 #s(literal 1 binary64) x))) (*.f64 (+.f64 x #s(literal -1 binary64)) (*.f64 z (*.f64 (+.f64 x #s(literal -1 binary64)) z))))) (*.f64 (neg.f64 (fma.f64 x y (*.f64 z (-.f64 #s(literal 1 binary64) x)))) #s(literal 1 binary64))) (*.f64 (neg.f64 (fma.f64 x y (*.f64 z (-.f64 #s(literal 1 binary64) x)))) (/.f64 (fma.f64 x y (*.f64 z (-.f64 #s(literal 1 binary64) x))) (*.f64 (+.f64 x #s(literal -1 binary64)) (*.f64 z (*.f64 (+.f64 x #s(literal -1 binary64)) z))))))
(/.f64 (-.f64 (*.f64 (neg.f64 (*.f64 x (*.f64 x (*.f64 y y)))) (fma.f64 x y (*.f64 z (-.f64 #s(literal 1 binary64) x)))) (*.f64 (neg.f64 (fma.f64 x y (*.f64 z (-.f64 #s(literal 1 binary64) x)))) (*.f64 (+.f64 x #s(literal -1 binary64)) (*.f64 z (*.f64 (+.f64 x #s(literal -1 binary64)) z))))) (*.f64 (neg.f64 (fma.f64 x y (*.f64 z (-.f64 #s(literal 1 binary64) x)))) (fma.f64 x y (*.f64 z (-.f64 #s(literal 1 binary64) x)))))
(/.f64 (-.f64 (*.f64 (neg.f64 (*.f64 x (*.f64 x (*.f64 y y)))) (neg.f64 (fma.f64 x y (*.f64 z (-.f64 #s(literal 1 binary64) x))))) (*.f64 (neg.f64 (fma.f64 x y (*.f64 z (-.f64 #s(literal 1 binary64) x)))) (*.f64 (*.f64 (+.f64 x #s(literal -1 binary64)) z) (*.f64 z (-.f64 #s(literal 1 binary64) x))))) (*.f64 (neg.f64 (fma.f64 x y (*.f64 z (-.f64 #s(literal 1 binary64) x)))) (neg.f64 (fma.f64 x y (*.f64 z (-.f64 #s(literal 1 binary64) x))))))
(/.f64 (-.f64 (*.f64 (*.f64 (+.f64 x #s(literal -1 binary64)) (*.f64 z (*.f64 (+.f64 x #s(literal -1 binary64)) z))) (-.f64 (*.f64 (+.f64 x #s(literal -1 binary64)) z) (*.f64 x y))) (*.f64 (-.f64 (*.f64 (+.f64 x #s(literal -1 binary64)) z) (*.f64 x y)) (*.f64 x (*.f64 x (*.f64 y y))))) (*.f64 (-.f64 (*.f64 (+.f64 x #s(literal -1 binary64)) z) (*.f64 x y)) (-.f64 (*.f64 (+.f64 x #s(literal -1 binary64)) z) (*.f64 x y))))
(pow.f64 (/.f64 #s(literal 1 binary64) (fma.f64 (+.f64 x #s(literal -1 binary64)) z (*.f64 x y))) #s(literal -1 binary64))
(pow.f64 (/.f64 (/.f64 #s(literal 1 binary64) (fma.f64 (+.f64 x #s(literal -1 binary64)) z (*.f64 x y))) #s(literal 1 binary64)) #s(literal -1 binary64))
(pow.f64 (/.f64 (-.f64 (*.f64 (+.f64 x #s(literal -1 binary64)) z) (*.f64 x y)) (*.f64 (fma.f64 (+.f64 x #s(literal -1 binary64)) z (*.f64 x y)) (-.f64 (*.f64 (+.f64 x #s(literal -1 binary64)) z) (*.f64 x y)))) #s(literal -1 binary64))
(*.f64 #s(literal 1 binary64) (fma.f64 (+.f64 x #s(literal -1 binary64)) z (*.f64 x y)))
(*.f64 (fma.f64 (+.f64 x #s(literal -1 binary64)) z (*.f64 x y)) (*.f64 (fma.f64 x y (*.f64 z (-.f64 #s(literal 1 binary64) x))) (/.f64 #s(literal 1 binary64) (fma.f64 x y (*.f64 z (-.f64 #s(literal 1 binary64) x))))))
(*.f64 (fma.f64 (+.f64 x #s(literal -1 binary64)) z (*.f64 x y)) (/.f64 (fma.f64 x y (*.f64 z (-.f64 #s(literal 1 binary64) x))) (fma.f64 x y (*.f64 z (-.f64 #s(literal 1 binary64) x)))))
(*.f64 (fma.f64 x (*.f64 y (*.f64 x (*.f64 x (*.f64 y y)))) (*.f64 (*.f64 (+.f64 x #s(literal -1 binary64)) z) (*.f64 (+.f64 x #s(literal -1 binary64)) (*.f64 z (*.f64 (+.f64 x #s(literal -1 binary64)) z))))) (/.f64 #s(literal 1 binary64) (fma.f64 x (*.f64 x (*.f64 y y)) (*.f64 z (*.f64 (+.f64 x #s(literal -1 binary64)) (-.f64 (*.f64 (+.f64 x #s(literal -1 binary64)) z) (*.f64 x y)))))))
(*.f64 (fma.f64 x (*.f64 x (*.f64 y y)) (*.f64 z (*.f64 (+.f64 x #s(literal -1 binary64)) (-.f64 (*.f64 (+.f64 x #s(literal -1 binary64)) z) (*.f64 x y))))) (*.f64 (fma.f64 (+.f64 x #s(literal -1 binary64)) z (*.f64 x y)) (/.f64 #s(literal 1 binary64) (fma.f64 x (*.f64 x (*.f64 y y)) (*.f64 z (*.f64 (+.f64 x #s(literal -1 binary64)) (-.f64 (*.f64 (+.f64 x #s(literal -1 binary64)) z) (*.f64 x y))))))))
(*.f64 (fma.f64 x (*.f64 x (*.f64 y y)) (*.f64 z (*.f64 (+.f64 x #s(literal -1 binary64)) (-.f64 (*.f64 (+.f64 x #s(literal -1 binary64)) z) (*.f64 x y))))) (/.f64 (fma.f64 (+.f64 x #s(literal -1 binary64)) z (*.f64 x y)) (fma.f64 x (*.f64 x (*.f64 y y)) (*.f64 z (*.f64 (+.f64 x #s(literal -1 binary64)) (-.f64 (*.f64 (+.f64 x #s(literal -1 binary64)) z) (*.f64 x y)))))))
(*.f64 (*.f64 (fma.f64 (+.f64 x #s(literal -1 binary64)) z (*.f64 x y)) (fma.f64 x y (*.f64 z (-.f64 #s(literal 1 binary64) x)))) (/.f64 #s(literal 1 binary64) (fma.f64 x y (*.f64 z (-.f64 #s(literal 1 binary64) x)))))
(*.f64 (fma.f64 (*.f64 (+.f64 x #s(literal -1 binary64)) (*.f64 z (*.f64 (+.f64 x #s(literal -1 binary64)) z))) (*.f64 z (-.f64 #s(literal 1 binary64) x)) (neg.f64 (*.f64 (*.f64 x (*.f64 x x)) (*.f64 y (*.f64 y y))))) (/.f64 #s(literal 1 binary64) (neg.f64 (fma.f64 x (*.f64 x (*.f64 y y)) (*.f64 z (*.f64 (+.f64 x #s(literal -1 binary64)) (-.f64 (*.f64 (+.f64 x #s(literal -1 binary64)) z) (*.f64 x y))))))))
(*.f64 (*.f64 (fma.f64 (+.f64 x #s(literal -1 binary64)) z (*.f64 x y)) (neg.f64 (fma.f64 x y (*.f64 z (-.f64 #s(literal 1 binary64) x))))) (/.f64 #s(literal 1 binary64) (neg.f64 (fma.f64 x y (*.f64 z (-.f64 #s(literal 1 binary64) x))))))
(*.f64 (/.f64 #s(literal 1 binary64) (fma.f64 x (*.f64 x (*.f64 y y)) (*.f64 z (*.f64 (+.f64 x #s(literal -1 binary64)) (-.f64 (*.f64 (+.f64 x #s(literal -1 binary64)) z) (*.f64 x y)))))) (fma.f64 x (*.f64 y (*.f64 x (*.f64 x (*.f64 y y)))) (*.f64 (*.f64 (+.f64 x #s(literal -1 binary64)) z) (*.f64 (+.f64 x #s(literal -1 binary64)) (*.f64 z (*.f64 (+.f64 x #s(literal -1 binary64)) z))))))
(*.f64 (/.f64 #s(literal 1 binary64) (fma.f64 x y (*.f64 z (-.f64 #s(literal 1 binary64) x)))) (*.f64 (fma.f64 (+.f64 x #s(literal -1 binary64)) z (*.f64 x y)) (fma.f64 x y (*.f64 z (-.f64 #s(literal 1 binary64) x)))))
(*.f64 (*.f64 (fma.f64 (+.f64 x #s(literal -1 binary64)) z (*.f64 x y)) (-.f64 (*.f64 (+.f64 x #s(literal -1 binary64)) z) (*.f64 x y))) (/.f64 #s(literal 1 binary64) (-.f64 (*.f64 (+.f64 x #s(literal -1 binary64)) z) (*.f64 x y))))
(*.f64 (/.f64 (*.f64 (fma.f64 (+.f64 x #s(literal -1 binary64)) z (*.f64 x y)) (fma.f64 x y (*.f64 z (-.f64 #s(literal 1 binary64) x)))) (*.f64 (fma.f64 (+.f64 x #s(literal -1 binary64)) z (*.f64 x y)) (fma.f64 x y (*.f64 z (-.f64 #s(literal 1 binary64) x))))) (fma.f64 (+.f64 x #s(literal -1 binary64)) z (*.f64 x y)))
(*.f64 (/.f64 (fma.f64 x (*.f64 y (*.f64 x (*.f64 x (*.f64 y y)))) (*.f64 (*.f64 (+.f64 x #s(literal -1 binary64)) z) (*.f64 (+.f64 x #s(literal -1 binary64)) (*.f64 z (*.f64 (+.f64 x #s(literal -1 binary64)) z))))) (fma.f64 (*.f64 (*.f64 (+.f64 x #s(literal -1 binary64)) z) (*.f64 (+.f64 x #s(literal -1 binary64)) (*.f64 z (*.f64 (+.f64 x #s(literal -1 binary64)) z)))) (*.f64 (-.f64 (*.f64 (+.f64 x #s(literal -1 binary64)) z) (*.f64 x y)) (*.f64 (-.f64 (*.f64 (+.f64 x #s(literal -1 binary64)) z) (*.f64 x y)) (-.f64 (*.f64 (+.f64 x #s(literal -1 binary64)) z) (*.f64 x y)))) (*.f64 (*.f64 x y) (*.f64 (*.f64 (*.f64 x (*.f64 x x)) (*.f64 y (*.f64 y y))) (*.f64 x (*.f64 x (*.f64 y y))))))) (fma.f64 (*.f64 z (*.f64 (+.f64 x #s(literal -1 binary64)) (-.f64 (*.f64 (+.f64 x #s(literal -1 binary64)) z) (*.f64 x y)))) (-.f64 (*.f64 z (*.f64 (+.f64 x #s(literal -1 binary64)) (-.f64 (*.f64 (+.f64 x #s(literal -1 binary64)) z) (*.f64 x y)))) (*.f64 x (*.f64 x (*.f64 y y)))) (*.f64 (*.f64 x y) (*.f64 (*.f64 x (*.f64 x x)) (*.f64 y (*.f64 y y))))))
(*.f64 (/.f64 (fma.f64 x (*.f64 y (*.f64 x (*.f64 x (*.f64 y y)))) (*.f64 (*.f64 (+.f64 x #s(literal -1 binary64)) z) (*.f64 (+.f64 x #s(literal -1 binary64)) (*.f64 z (*.f64 (+.f64 x #s(literal -1 binary64)) z))))) (*.f64 (fma.f64 x (*.f64 x (*.f64 y y)) (*.f64 z (*.f64 (+.f64 x #s(literal -1 binary64)) (-.f64 (*.f64 (+.f64 x #s(literal -1 binary64)) z) (*.f64 x y))))) (fma.f64 x (*.f64 x (*.f64 y y)) (*.f64 (*.f64 z (-.f64 #s(literal 1 binary64) x)) (-.f64 (*.f64 (+.f64 x #s(literal -1 binary64)) z) (*.f64 x y)))))) (fma.f64 x (*.f64 x (*.f64 y y)) (*.f64 (*.f64 z (-.f64 #s(literal 1 binary64) x)) (-.f64 (*.f64 (+.f64 x #s(literal -1 binary64)) z) (*.f64 x y)))))
(*.f64 (/.f64 (*.f64 (fma.f64 (+.f64 x #s(literal -1 binary64)) z (*.f64 x y)) (fma.f64 x y (*.f64 z (-.f64 #s(literal 1 binary64) x)))) (fma.f64 x (*.f64 y (*.f64 x (*.f64 x (*.f64 y y)))) (*.f64 (*.f64 (+.f64 x #s(literal -1 binary64)) (*.f64 z (*.f64 (+.f64 x #s(literal -1 binary64)) z))) (*.f64 z (-.f64 #s(literal 1 binary64) x))))) (fma.f64 x (*.f64 x (*.f64 y y)) (*.f64 (*.f64 (+.f64 x #s(literal -1 binary64)) z) (fma.f64 (+.f64 x #s(literal -1 binary64)) z (*.f64 x y)))))
(exp.f64 (log.f64 (*.f64 x y)))
(exp.f64 (*.f64 (log.f64 (*.f64 x y)) #s(literal 1 binary64)))
(pow.f64 (*.f64 x y) #s(literal 1 binary64))
(*.f64 x y)
(*.f64 x (*.f64 #s(literal 1 binary64) y))
(*.f64 x (exp.f64 (log.f64 y)))
(*.f64 y x)
(*.f64 (*.f64 x y) #s(literal 1 binary64))
(*.f64 #s(literal 1 binary64) (*.f64 x y))
(*.f64 (*.f64 y #s(literal 1 binary64)) x)
(*.f64 (exp.f64 (log.f64 y)) x)
(+.f64 (*.f64 x z) (neg.f64 z))
(+.f64 (neg.f64 z) (*.f64 x z))
(exp.f64 (log.f64 (*.f64 (+.f64 x #s(literal -1 binary64)) z)))
(exp.f64 (*.f64 (log.f64 (*.f64 (+.f64 x #s(literal -1 binary64)) z)) #s(literal 1 binary64)))
(fma.f64 x z (neg.f64 z))
(fma.f64 x (*.f64 #s(literal 1 binary64) z) (neg.f64 z))
(fma.f64 #s(literal 1 binary64) (*.f64 x z) (neg.f64 z))
(fma.f64 z x (neg.f64 z))
(fma.f64 z #s(literal -1 binary64) (*.f64 x z))
(fma.f64 #s(literal -1 binary64) z (*.f64 x z))
(fma.f64 (*.f64 x z) #s(literal 1 binary64) (neg.f64 z))
(fma.f64 (*.f64 z #s(literal 1 binary64)) x (neg.f64 z))
(/.f64 #s(literal 1 binary64) (/.f64 (+.f64 x (fma.f64 x x #s(literal 1 binary64))) (*.f64 z (fma.f64 x (*.f64 x x) #s(literal -1 binary64)))))
(/.f64 #s(literal 1 binary64) (/.f64 (+.f64 x #s(literal 1 binary64)) (*.f64 z (fma.f64 x x #s(literal -1 binary64)))))
(/.f64 z (/.f64 #s(literal 1 binary64) (+.f64 x #s(literal -1 binary64))))
(/.f64 (*.f64 (+.f64 x #s(literal -1 binary64)) z) #s(literal 1 binary64))
(/.f64 (*.f64 z (fma.f64 x (*.f64 x x) #s(literal -1 binary64))) (+.f64 x (fma.f64 x x #s(literal 1 binary64))))
(/.f64 (*.f64 z (fma.f64 x (*.f64 x x) #s(literal -1 binary64))) (-.f64 (fma.f64 x x #s(literal 1 binary64)) (*.f64 x #s(literal -1 binary64))))
(/.f64 (*.f64 z (fma.f64 x x #s(literal -1 binary64))) (+.f64 x #s(literal 1 binary64)))
(/.f64 (neg.f64 (*.f64 z (fma.f64 x (*.f64 x x) #s(literal -1 binary64)))) (neg.f64 (+.f64 x (fma.f64 x x #s(literal 1 binary64)))))
(/.f64 (neg.f64 (*.f64 z (fma.f64 x x #s(literal -1 binary64)))) (+.f64 #s(literal -1 binary64) (neg.f64 x)))
(/.f64 (fma.f64 (*.f64 x (*.f64 x x)) (*.f64 z (*.f64 z z)) (neg.f64 (*.f64 z (*.f64 z z)))) (fma.f64 (*.f64 x z) (*.f64 x z) (-.f64 (*.f64 z z) (*.f64 (*.f64 x z) (neg.f64 z)))))
(/.f64 (-.f64 (*.f64 (*.f64 x z) (*.f64 x z)) (*.f64 z z)) (-.f64 (*.f64 x z) (neg.f64 z)))
(/.f64 (*.f64 z #s(literal 1 binary64)) (/.f64 #s(literal 1 binary64) (+.f64 x #s(literal -1 binary64))))
(/.f64 (*.f64 #s(literal 1 binary64) z) (/.f64 #s(literal 1 binary64) (+.f64 x #s(literal -1 binary64))))
(/.f64 (*.f64 z (neg.f64 (fma.f64 x (*.f64 x x) #s(literal -1 binary64)))) (neg.f64 (+.f64 x (fma.f64 x x #s(literal 1 binary64)))))
(/.f64 (*.f64 z (neg.f64 (fma.f64 x x #s(literal -1 binary64)))) (+.f64 #s(literal -1 binary64) (neg.f64 x)))
(/.f64 (*.f64 (neg.f64 (fma.f64 x (*.f64 x x) #s(literal -1 binary64))) z) (neg.f64 (+.f64 x (fma.f64 x x #s(literal 1 binary64)))))
(/.f64 (*.f64 (neg.f64 (fma.f64 x x #s(literal -1 binary64))) z) (+.f64 #s(literal -1 binary64) (neg.f64 x)))
(/.f64 (exp.f64 (log.f64 (*.f64 z (fma.f64 x (*.f64 x x) #s(literal -1 binary64))))) (exp.f64 (log1p.f64 (+.f64 x (*.f64 x x)))))
(/.f64 (exp.f64 (log.f64 (*.f64 z (fma.f64 x x #s(literal -1 binary64))))) (exp.f64 (log1p.f64 x)))
(pow.f64 (*.f64 (+.f64 x #s(literal -1 binary64)) z) #s(literal 1 binary64))
(pow.f64 (/.f64 (+.f64 x (fma.f64 x x #s(literal 1 binary64))) (*.f64 z (fma.f64 x (*.f64 x x) #s(literal -1 binary64)))) #s(literal -1 binary64))
(pow.f64 (/.f64 (+.f64 x #s(literal 1 binary64)) (*.f64 z (fma.f64 x x #s(literal -1 binary64)))) #s(literal -1 binary64))
(*.f64 (+.f64 x #s(literal -1 binary64)) z)
(*.f64 (+.f64 x #s(literal -1 binary64)) (/.f64 z #s(literal 1 binary64)))
(*.f64 z (+.f64 x #s(literal -1 binary64)))
(*.f64 (fma.f64 x (*.f64 x x) #s(literal -1 binary64)) (*.f64 (/.f64 #s(literal 1 binary64) (+.f64 x (fma.f64 x x #s(literal 1 binary64)))) z))
(*.f64 (fma.f64 x (*.f64 x x) #s(literal -1 binary64)) (/.f64 z (+.f64 x (fma.f64 x x #s(literal 1 binary64)))))
(*.f64 (fma.f64 x x #s(literal -1 binary64)) (/.f64 z (+.f64 x #s(literal 1 binary64))))
(*.f64 (fma.f64 x x #s(literal -1 binary64)) (*.f64 (/.f64 #s(literal 1 binary64) (+.f64 x #s(literal 1 binary64))) z))
(*.f64 (*.f64 z (fma.f64 x (*.f64 x x) #s(literal -1 binary64))) (/.f64 #s(literal 1 binary64) (+.f64 x (fma.f64 x x #s(literal 1 binary64)))))
(*.f64 (*.f64 z (fma.f64 x x #s(literal -1 binary64))) (/.f64 #s(literal 1 binary64) (+.f64 x #s(literal 1 binary64))))
(*.f64 (/.f64 z (+.f64 x #s(literal 1 binary64))) (/.f64 (fma.f64 x x #s(literal -1 binary64)) #s(literal 1 binary64)))
(*.f64 (/.f64 (*.f64 z (fma.f64 x (*.f64 x x) #s(literal -1 binary64))) (fma.f64 (+.f64 x #s(literal 1 binary64)) (*.f64 (+.f64 x #s(literal 1 binary64)) (+.f64 x #s(literal 1 binary64))) (*.f64 (*.f64 x (*.f64 x x)) (*.f64 x (*.f64 x x))))) (fma.f64 (+.f64 x #s(literal 1 binary64)) (-.f64 (+.f64 x #s(literal 1 binary64)) (*.f64 x x)) (*.f64 x (*.f64 x (*.f64 x x)))))
(*.f64 (/.f64 (*.f64 z (fma.f64 x (*.f64 x x) #s(literal -1 binary64))) (*.f64 (+.f64 x (fma.f64 x x #s(literal 1 binary64))) (-.f64 (fma.f64 x x #s(literal -1 binary64)) x))) (-.f64 (fma.f64 x x #s(literal -1 binary64)) x))
(*.f64 (/.f64 (*.f64 z (fma.f64 x x #s(literal -1 binary64))) (fma.f64 x x #s(literal -1 binary64))) (+.f64 x #s(literal -1 binary64)))
(*.f64 (/.f64 (*.f64 z (fma.f64 x x #s(literal -1 binary64))) (fma.f64 x (*.f64 x x) #s(literal 1 binary64))) (fma.f64 x x (-.f64 #s(literal 1 binary64) x)))
(*.f64 (/.f64 (*.f64 z (fma.f64 x x #s(literal -1 binary64))) (-.f64 #s(literal 1 binary64) (*.f64 x x))) (-.f64 #s(literal 1 binary64) x))
(*.f64 (exp.f64 (log.f64 (+.f64 x #s(literal -1 binary64)))) (exp.f64 (log.f64 z)))
(*.f64 (exp.f64 (log.f64 z)) (exp.f64 (log.f64 (+.f64 x #s(literal -1 binary64)))))
(+.f64 x #s(literal -1 binary64))
(+.f64 #s(literal -1 binary64) x)
(+.f64 (/.f64 (*.f64 x (*.f64 x x)) (+.f64 x (fma.f64 x x #s(literal 1 binary64)))) (neg.f64 (/.f64 #s(literal 1 binary64) (+.f64 x (fma.f64 x x #s(literal 1 binary64))))))
(+.f64 (/.f64 (*.f64 x x) (+.f64 x #s(literal 1 binary64))) (neg.f64 (/.f64 #s(literal 1 binary64) (+.f64 x #s(literal 1 binary64)))))
(exp.f64 (*.f64 (log.f64 (/.f64 #s(literal 1 binary64) (+.f64 x #s(literal -1 binary64)))) #s(literal -1 binary64)))
(-.f64 x #s(literal 1 binary64))
(-.f64 (/.f64 (*.f64 x (*.f64 x x)) (+.f64 x (fma.f64 x x #s(literal 1 binary64)))) (/.f64 #s(literal 1 binary64) (+.f64 x (fma.f64 x x #s(literal 1 binary64)))))
(-.f64 (/.f64 (*.f64 x x) (+.f64 x #s(literal 1 binary64))) (/.f64 #s(literal 1 binary64) (+.f64 x #s(literal 1 binary64))))
(-.f64 (/.f64 (*.f64 x (*.f64 x x)) (-.f64 (fma.f64 x x #s(literal 1 binary64)) (*.f64 x #s(literal -1 binary64)))) (/.f64 #s(literal 1 binary64) (-.f64 (fma.f64 x x #s(literal 1 binary64)) (*.f64 x #s(literal -1 binary64)))))
(expm1.f64 (log.f64 x))
(expm1.f64 (*.f64 (log.f64 x) #s(literal 1 binary64)))
(fma.f64 x #s(literal 1 binary64) #s(literal -1 binary64))
(fma.f64 x (/.f64 x (+.f64 x #s(literal 1 binary64))) (neg.f64 (/.f64 #s(literal 1 binary64) (+.f64 x #s(literal 1 binary64)))))
(fma.f64 x (/.f64 (*.f64 x x) (+.f64 x (fma.f64 x x #s(literal 1 binary64)))) (neg.f64 (/.f64 #s(literal 1 binary64) (+.f64 x (fma.f64 x x #s(literal 1 binary64))))))
(fma.f64 #s(literal 1 binary64) x #s(literal -1 binary64))
(fma.f64 (*.f64 x (*.f64 x x)) (/.f64 #s(literal 1 binary64) (+.f64 x (fma.f64 x x #s(literal 1 binary64)))) (neg.f64 (/.f64 #s(literal 1 binary64) (+.f64 x (fma.f64 x x #s(literal 1 binary64))))))
(fma.f64 (*.f64 x x) (/.f64 #s(literal 1 binary64) (+.f64 x #s(literal 1 binary64))) (neg.f64 (/.f64 #s(literal 1 binary64) (+.f64 x #s(literal 1 binary64)))))
(fma.f64 (*.f64 x x) (/.f64 x (+.f64 x (fma.f64 x x #s(literal 1 binary64)))) (neg.f64 (/.f64 #s(literal 1 binary64) (+.f64 x (fma.f64 x x #s(literal 1 binary64))))))
(fma.f64 (pow.f64 x #s(literal 3/2 binary64)) (/.f64 (pow.f64 x #s(literal 3/2 binary64)) (+.f64 x (fma.f64 x x #s(literal 1 binary64)))) (neg.f64 (/.f64 #s(literal 1 binary64) (+.f64 x (fma.f64 x x #s(literal 1 binary64))))))
(fma.f64 (/.f64 x (+.f64 x #s(literal 1 binary64))) (/.f64 x #s(literal 1 binary64)) (neg.f64 (/.f64 #s(literal 1 binary64) (+.f64 x #s(literal 1 binary64)))))
(fma.f64 (/.f64 (*.f64 x (*.f64 x x)) (fma.f64 (+.f64 x #s(literal 1 binary64)) (*.f64 (+.f64 x #s(literal 1 binary64)) (+.f64 x #s(literal 1 binary64))) (*.f64 (*.f64 x (*.f64 x x)) (*.f64 x (*.f64 x x))))) (fma.f64 (+.f64 x #s(literal 1 binary64)) (-.f64 (+.f64 x #s(literal 1 binary64)) (*.f64 x x)) (*.f64 x (*.f64 x (*.f64 x x)))) (neg.f64 (/.f64 #s(literal 1 binary64) (+.f64 x (fma.f64 x x #s(literal 1 binary64))))))
(fma.f64 (/.f64 (*.f64 x (*.f64 x x)) (*.f64 (+.f64 x (fma.f64 x x #s(literal 1 binary64))) (-.f64 (fma.f64 x x #s(literal -1 binary64)) x))) (-.f64 (fma.f64 x x #s(literal -1 binary64)) x) (neg.f64 (/.f64 #s(literal 1 binary64) (+.f64 x (fma.f64 x x #s(literal 1 binary64))))))
(fma.f64 (/.f64 (*.f64 x x) (fma.f64 x x #s(literal -1 binary64))) (+.f64 x #s(literal -1 binary64)) (neg.f64 (/.f64 #s(literal 1 binary64) (+.f64 x #s(literal 1 binary64)))))
(fma.f64 (/.f64 (*.f64 x x) (fma.f64 x (*.f64 x x) #s(literal 1 binary64))) (fma.f64 x x (-.f64 #s(literal 1 binary64) x)) (neg.f64 (/.f64 #s(literal 1 binary64) (+.f64 x #s(literal 1 binary64)))))
(fma.f64 (/.f64 (*.f64 x x) (-.f64 #s(literal 1 binary64) (*.f64 x x))) (-.f64 #s(literal 1 binary64) x) (neg.f64 (/.f64 #s(literal 1 binary64) (+.f64 x #s(literal 1 binary64)))))
(neg.f64 (-.f64 #s(literal 1 binary64) x))
(/.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) (+.f64 x #s(literal -1 binary64))))
(/.f64 #s(literal 1 binary64) (/.f64 (/.f64 #s(literal 1 binary64) (+.f64 x #s(literal -1 binary64))) #s(literal 1 binary64)))
(/.f64 #s(literal 1 binary64) (/.f64 (-.f64 (fma.f64 x x #s(literal 1 binary64)) (*.f64 x #s(literal -1 binary64))) (fma.f64 x (*.f64 x x) #s(literal -1 binary64))))
(/.f64 (+.f64 x #s(literal -1 binary64)) #s(literal 1 binary64))
(/.f64 (fma.f64 x (*.f64 x x) #s(literal -1 binary64)) (+.f64 x (fma.f64 x x #s(literal 1 binary64))))
(/.f64 (fma.f64 x (*.f64 x x) #s(literal -1 binary64)) (-.f64 (fma.f64 x x #s(literal 1 binary64)) (*.f64 x #s(literal -1 binary64))))
(/.f64 (fma.f64 x (*.f64 x x) #s(literal -1 binary64)) (+.f64 #s(literal 1 binary64) (-.f64 (*.f64 x x) (*.f64 x #s(literal -1 binary64)))))
(/.f64 #s(literal -1 binary64) (neg.f64 (/.f64 #s(literal 1 binary64) (+.f64 x #s(literal -1 binary64)))))
(/.f64 (fma.f64 x x #s(literal -1 binary64)) (+.f64 x #s(literal 1 binary64)))
(/.f64 (neg.f64 (fma.f64 x (*.f64 x x) #s(literal -1 binary64))) (neg.f64 (+.f64 x (fma.f64 x x #s(literal 1 binary64)))))
(/.f64 (neg.f64 (fma.f64 x (*.f64 x x) #s(literal -1 binary64))) (neg.f64 (-.f64 (fma.f64 x x #s(literal 1 binary64)) (*.f64 x #s(literal -1 binary64)))))
(/.f64 (neg.f64 (fma.f64 x x #s(literal -1 binary64))) (+.f64 #s(literal -1 binary64) (neg.f64 x)))
(/.f64 (fma.f64 (*.f64 x (*.f64 x x)) (*.f64 (*.f64 x (*.f64 x x)) (*.f64 x (*.f64 x x))) #s(literal -1 binary64)) (*.f64 (+.f64 x (fma.f64 x x #s(literal 1 binary64))) (fma.f64 x (*.f64 (*.f64 x (*.f64 x x)) (*.f64 x x)) (fma.f64 x (*.f64 x x) #s(literal 1 binary64)))))
(/.f64 (fma.f64 (*.f64 x (*.f64 x x)) (*.f64 (*.f64 x (*.f64 x x)) (*.f64 x (*.f64 x x))) #s(literal -1 binary64)) (*.f64 (-.f64 (fma.f64 x x #s(literal 1 binary64)) (*.f64 x #s(literal -1 binary64))) (fma.f64 x (*.f64 (*.f64 x (*.f64 x x)) (*.f64 x x)) (fma.f64 x (*.f64 x x) #s(literal 1 binary64)))))
(/.f64 (fma.f64 (*.f64 x (*.f64 x x)) (*.f64 x (*.f64 x x)) #s(literal -1 binary64)) (*.f64 (+.f64 x (fma.f64 x x #s(literal 1 binary64))) (fma.f64 x (*.f64 x x) #s(literal 1 binary64))))
(/.f64 (fma.f64 (*.f64 x (*.f64 x x)) (*.f64 x (*.f64 x x)) #s(literal -1 binary64)) (*.f64 (-.f64 (fma.f64 x x #s(literal 1 binary64)) (*.f64 x #s(literal -1 binary64))) (fma.f64 x (*.f64 x x) #s(literal 1 binary64))))
(/.f64 (fma.f64 (*.f64 x (*.f64 x x)) (*.f64 x (*.f64 x x)) #s(literal -1 binary64)) (*.f64 (+.f64 x #s(literal 1 binary64)) (fma.f64 x (*.f64 x (*.f64 x x)) (fma.f64 x x #s(literal 1 binary64)))))
(/.f64 (-.f64 #s(literal 1 binary64) (*.f64 x x)) (-.f64 #s(literal -1 binary64) x))
(/.f64 (fma.f64 x (*.f64 x (*.f64 x x)) #s(literal -1 binary64)) (*.f64 (+.f64 x #s(literal 1 binary64)) (fma.f64 x x #s(literal 1 binary64))))
(/.f64 (-.f64 (*.f64 (*.f64 x (*.f64 x x)) (+.f64 x (fma.f64 x x #s(literal 1 binary64)))) (*.f64 (+.f64 x (fma.f64 x x #s(literal 1 binary64))) #s(literal 1 binary64))) (*.f64 (+.f64 x (fma.f64 x x #s(literal 1 binary64))) (+.f64 x (fma.f64 x x #s(literal 1 binary64)))))
(/.f64 (-.f64 (*.f64 x (*.f64 x (+.f64 x #s(literal 1 binary64)))) (+.f64 x #s(literal 1 binary64))) (*.f64 (+.f64 x #s(literal 1 binary64)) (+.f64 x #s(literal 1 binary64))))
(/.f64 (*.f64 (fma.f64 x (*.f64 x x) #s(literal -1 binary64)) #s(literal 1 binary64)) (+.f64 x (fma.f64 x x #s(literal 1 binary64))))
(/.f64 (*.f64 (fma.f64 x x #s(literal -1 binary64)) #s(literal 1 binary64)) (+.f64 x #s(literal 1 binary64)))
(/.f64 (*.f64 (fma.f64 (*.f64 x (*.f64 x x)) (*.f64 (*.f64 x (*.f64 x x)) (*.f64 x (*.f64 x x))) #s(literal -1 binary64)) #s(literal 1 binary64)) (*.f64 (fma.f64 x (*.f64 (*.f64 x (*.f64 x x)) (*.f64 x x)) (fma.f64 x (*.f64 x x) #s(literal 1 binary64))) (+.f64 x (fma.f64 x x #s(literal 1 binary64)))))
(/.f64 (*.f64 (fma.f64 (*.f64 x (*.f64 x x)) (*.f64 x (*.f64 x x)) #s(literal -1 binary64)) #s(literal 1 binary64)) (*.f64 (fma.f64 x (*.f64 x x) #s(literal 1 binary64)) (+.f64 x (fma.f64 x x #s(literal 1 binary64)))))
(/.f64 (*.f64 (fma.f64 (*.f64 x (*.f64 x x)) (*.f64 x (*.f64 x x)) #s(literal -1 binary64)) #s(literal 1 binary64)) (*.f64 (fma.f64 x (*.f64 x (*.f64 x x)) (fma.f64 x x #s(literal 1 binary64))) (+.f64 x #s(literal 1 binary64))))
(/.f64 (*.f64 (fma.f64 x (*.f64 x (*.f64 x x)) #s(literal -1 binary64)) #s(literal 1 binary64)) (*.f64 (fma.f64 x x #s(literal 1 binary64)) (+.f64 x #s(literal 1 binary64))))
(/.f64 (neg.f64 (neg.f64 (fma.f64 x (*.f64 x x) #s(literal -1 binary64)))) (neg.f64 (neg.f64 (+.f64 x (fma.f64 x x #s(literal 1 binary64))))))
(/.f64 (neg.f64 (neg.f64 (fma.f64 x x #s(literal -1 binary64)))) (neg.f64 (+.f64 #s(literal -1 binary64) (neg.f64 x))))
(/.f64 (-.f64 (/.f64 (*.f64 (*.f64 x (*.f64 x x)) (*.f64 (*.f64 x (*.f64 x x)) (*.f64 x (*.f64 x x)))) (*.f64 (+.f64 x (fma.f64 x x #s(literal 1 binary64))) (*.f64 (+.f64 x (fma.f64 x x #s(literal 1 binary64))) (+.f64 x (fma.f64 x x #s(literal 1 binary64)))))) (/.f64 #s(literal 1 binary64) (*.f64 (+.f64 x (fma.f64 x x #s(literal 1 binary64))) (*.f64 (+.f64 x (fma.f64 x x #s(literal 1 binary64))) (+.f64 x (fma.f64 x x #s(literal 1 binary64))))))) (fma.f64 (/.f64 (*.f64 x (*.f64 x x)) (+.f64 x (fma.f64 x x #s(literal 1 binary64)))) (/.f64 (*.f64 x (*.f64 x x)) (+.f64 x (fma.f64 x x #s(literal 1 binary64)))) (fma.f64 (/.f64 #s(literal 1 binary64) (+.f64 x (fma.f64 x x #s(literal 1 binary64)))) (/.f64 #s(literal 1 binary64) (+.f64 x (fma.f64 x x #s(literal 1 binary64)))) (*.f64 (/.f64 (*.f64 x (*.f64 x x)) (+.f64 x (fma.f64 x x #s(literal 1 binary64)))) (/.f64 #s(literal 1 binary64) (+.f64 x (fma.f64 x x #s(literal 1 binary64))))))))
(/.f64 (-.f64 (/.f64 (*.f64 (*.f64 x (*.f64 x x)) (*.f64 x (*.f64 x x))) (*.f64 (+.f64 x #s(literal 1 binary64)) (*.f64 (+.f64 x #s(literal 1 binary64)) (+.f64 x #s(literal 1 binary64))))) (/.f64 #s(literal 1 binary64) (*.f64 (+.f64 x #s(literal 1 binary64)) (*.f64 (+.f64 x #s(literal 1 binary64)) (+.f64 x #s(literal 1 binary64)))))) (fma.f64 (/.f64 (*.f64 x x) (+.f64 x #s(literal 1 binary64))) (/.f64 (*.f64 x x) (+.f64 x #s(literal 1 binary64))) (fma.f64 (/.f64 #s(literal 1 binary64) (+.f64 x #s(literal 1 binary64))) (/.f64 #s(literal 1 binary64) (+.f64 x #s(literal 1 binary64))) (*.f64 (/.f64 (*.f64 x x) (+.f64 x #s(literal 1 binary64))) (/.f64 #s(literal 1 binary64) (+.f64 x #s(literal 1 binary64)))))))
(/.f64 (-.f64 (*.f64 (/.f64 (*.f64 x (*.f64 x x)) (+.f64 x (fma.f64 x x #s(literal 1 binary64)))) (/.f64 (*.f64 x (*.f64 x x)) (+.f64 x (fma.f64 x x #s(literal 1 binary64))))) (*.f64 (/.f64 #s(literal 1 binary64) (+.f64 x (fma.f64 x x #s(literal 1 binary64)))) (/.f64 #s(literal 1 binary64) (+.f64 x (fma.f64 x x #s(literal 1 binary64)))))) (fma.f64 x (/.f64 (*.f64 x x) (+.f64 x (fma.f64 x x #s(literal 1 binary64)))) (/.f64 #s(literal 1 binary64) (+.f64 x (fma.f64 x x #s(literal 1 binary64))))))
(/.f64 (-.f64 (*.f64 (/.f64 (*.f64 x x) (+.f64 x #s(literal 1 binary64))) (/.f64 (*.f64 x x) (+.f64 x #s(literal 1 binary64)))) (*.f64 (/.f64 #s(literal 1 binary64) (+.f64 x #s(literal 1 binary64))) (/.f64 #s(literal 1 binary64) (+.f64 x #s(literal 1 binary64))))) (fma.f64 x (/.f64 x (+.f64 x #s(literal 1 binary64))) (/.f64 #s(literal 1 binary64) (+.f64 x #s(literal 1 binary64)))))
(/.f64 (*.f64 (fma.f64 (*.f64 x (*.f64 x x)) (*.f64 (*.f64 x (*.f64 x x)) (*.f64 x (*.f64 x x))) #s(literal -1 binary64)) (/.f64 #s(literal 1 binary64) (+.f64 x (fma.f64 x x #s(literal 1 binary64))))) (fma.f64 x (*.f64 (*.f64 x (*.f64 x x)) (*.f64 x x)) (fma.f64 x (*.f64 x x) #s(literal 1 binary64))))
(/.f64 (*.f64 (fma.f64 (*.f64 x (*.f64 x x)) (*.f64 x (*.f64 x x)) #s(literal -1 binary64)) (/.f64 #s(literal 1 binary64) (+.f64 x (fma.f64 x x #s(literal 1 binary64))))) (fma.f64 x (*.f64 x x) #s(literal 1 binary64)))
(/.f64 (*.f64 (fma.f64 (*.f64 x (*.f64 x x)) (*.f64 x (*.f64 x x)) #s(literal -1 binary64)) (/.f64 #s(literal 1 binary64) (+.f64 x #s(literal 1 binary64)))) (fma.f64 x (*.f64 x (*.f64 x x)) (fma.f64 x x #s(literal 1 binary64))))
(/.f64 (*.f64 (fma.f64 x (*.f64 x (*.f64 x x)) #s(literal -1 binary64)) (/.f64 #s(literal 1 binary64) (+.f64 x #s(literal 1 binary64)))) (fma.f64 x x #s(literal 1 binary64)))
(/.f64 (-.f64 (neg.f64 (*.f64 x (*.f64 x x))) #s(literal -1 binary64)) (neg.f64 (+.f64 x (fma.f64 x x #s(literal 1 binary64)))))
(/.f64 (-.f64 (neg.f64 (*.f64 x x)) #s(literal -1 binary64)) (+.f64 #s(literal -1 binary64) (neg.f64 x)))
(/.f64 (-.f64 (*.f64 #s(literal 1 binary64) (+.f64 x (fma.f64 x x #s(literal 1 binary64)))) (*.f64 (/.f64 (+.f64 x (fma.f64 x x #s(literal 1 binary64))) (*.f64 x (*.f64 x x))) #s(literal 1 binary64))) (*.f64 (/.f64 (+.f64 x (fma.f64 x x #s(literal 1 binary64))) (*.f64 x (*.f64 x x))) (+.f64 x (fma.f64 x x #s(literal 1 binary64)))))
(/.f64 (-.f64 (*.f64 #s(literal 1 binary64) (/.f64 (+.f64 x (fma.f64 x x #s(literal 1 binary64))) #s(literal 1 binary64))) (*.f64 (/.f64 (+.f64 x (fma.f64 x x #s(literal 1 binary64))) (*.f64 x (*.f64 x x))) #s(literal 1 binary64))) (*.f64 (/.f64 (+.f64 x (fma.f64 x x #s(literal 1 binary64))) (*.f64 x (*.f64 x x))) (/.f64 (+.f64 x (fma.f64 x x #s(literal 1 binary64))) #s(literal 1 binary64))))
(/.f64 (-.f64 (*.f64 #s(literal 1 binary64) (neg.f64 (+.f64 x (fma.f64 x x #s(literal 1 binary64))))) (*.f64 (/.f64 (+.f64 x (fma.f64 x x #s(literal 1 binary64))) (*.f64 x (*.f64 x x))) #s(literal -1 binary64))) (*.f64 (/.f64 (+.f64 x (fma.f64 x x #s(literal 1 binary64))) (*.f64 x (*.f64 x x))) (neg.f64 (+.f64 x (fma.f64 x x #s(literal 1 binary64))))))
(/.f64 (-.f64 (*.f64 (*.f64 x (*.f64 x x)) (/.f64 (+.f64 x (fma.f64 x x #s(literal 1 binary64))) #s(literal 1 binary64))) (*.f64 (+.f64 x (fma.f64 x x #s(literal 1 binary64))) #s(literal 1 binary64))) (*.f64 (+.f64 x (fma.f64 x x #s(literal 1 binary64))) (/.f64 (+.f64 x (fma.f64 x x #s(literal 1 binary64))) #s(literal 1 binary64))))
(/.f64 (-.f64 (*.f64 (*.f64 x (*.f64 x x)) (neg.f64 (+.f64 x (fma.f64 x x #s(literal 1 binary64))))) (*.f64 (+.f64 x (fma.f64 x x #s(literal 1 binary64))) #s(literal -1 binary64))) (*.f64 (+.f64 x (fma.f64 x x #s(literal 1 binary64))) (neg.f64 (+.f64 x (fma.f64 x x #s(literal 1 binary64))))))
(/.f64 (-.f64 (*.f64 (neg.f64 (*.f64 x (*.f64 x x))) (+.f64 x (fma.f64 x x #s(literal 1 binary64)))) (*.f64 (neg.f64 (+.f64 x (fma.f64 x x #s(literal 1 binary64)))) #s(literal 1 binary64))) (*.f64 (neg.f64 (+.f64 x (fma.f64 x x #s(literal 1 binary64)))) (+.f64 x (fma.f64 x x #s(literal 1 binary64)))))
(/.f64 (-.f64 (*.f64 (neg.f64 (*.f64 x (*.f64 x x))) (/.f64 (+.f64 x (fma.f64 x x #s(literal 1 binary64))) #s(literal 1 binary64))) (*.f64 (neg.f64 (+.f64 x (fma.f64 x x #s(literal 1 binary64)))) #s(literal 1 binary64))) (*.f64 (neg.f64 (+.f64 x (fma.f64 x x #s(literal 1 binary64)))) (/.f64 (+.f64 x (fma.f64 x x #s(literal 1 binary64))) #s(literal 1 binary64))))
(/.f64 (-.f64 (*.f64 (neg.f64 (*.f64 x (*.f64 x x))) (neg.f64 (+.f64 x (fma.f64 x x #s(literal 1 binary64))))) (*.f64 (neg.f64 (+.f64 x (fma.f64 x x #s(literal 1 binary64)))) #s(literal -1 binary64))) (*.f64 (+.f64 x (fma.f64 x x #s(literal 1 binary64))) (+.f64 x (fma.f64 x x #s(literal 1 binary64)))))
(/.f64 (-.f64 (+.f64 x #s(literal 1 binary64)) (*.f64 (/.f64 (+.f64 x #s(literal 1 binary64)) (*.f64 x x)) #s(literal 1 binary64))) (*.f64 (/.f64 (+.f64 x #s(literal 1 binary64)) (*.f64 x x)) (+.f64 x #s(literal 1 binary64))))
(/.f64 (-.f64 (*.f64 #s(literal 1 binary64) (/.f64 (+.f64 x #s(literal 1 binary64)) #s(literal 1 binary64))) (*.f64 (/.f64 (+.f64 x #s(literal 1 binary64)) (*.f64 x x)) #s(literal 1 binary64))) (*.f64 (/.f64 (+.f64 x #s(literal 1 binary64)) (*.f64 x x)) (/.f64 (+.f64 x #s(literal 1 binary64)) #s(literal 1 binary64))))
(/.f64 (-.f64 (*.f64 #s(literal 1 binary64) (+.f64 #s(literal -1 binary64) (neg.f64 x))) (*.f64 (/.f64 (+.f64 x #s(literal 1 binary64)) (*.f64 x x)) #s(literal -1 binary64))) (*.f64 (/.f64 (+.f64 x #s(literal 1 binary64)) (*.f64 x x)) (+.f64 #s(literal -1 binary64) (neg.f64 x))))
(/.f64 (-.f64 #s(literal 1 binary64) (*.f64 (/.f64 (+.f64 x #s(literal 1 binary64)) (*.f64 x x)) (/.f64 #s(literal 1 binary64) (+.f64 x #s(literal 1 binary64))))) (*.f64 (/.f64 (+.f64 x #s(literal 1 binary64)) (*.f64 x x)) #s(literal 1 binary64)))
(/.f64 (-.f64 (*.f64 (*.f64 x x) (/.f64 (+.f64 x #s(literal 1 binary64)) #s(literal 1 binary64))) (+.f64 x #s(literal 1 binary64))) (*.f64 (+.f64 x #s(literal 1 binary64)) (/.f64 (+.f64 x #s(literal 1 binary64)) #s(literal 1 binary64))))
(/.f64 (-.f64 (*.f64 (*.f64 x x) (+.f64 #s(literal -1 binary64) (neg.f64 x))) (+.f64 #s(literal -1 binary64) (neg.f64 x))) (*.f64 (+.f64 x #s(literal 1 binary64)) (+.f64 #s(literal -1 binary64) (neg.f64 x))))
(/.f64 (-.f64 (*.f64 x x) (*.f64 (+.f64 x #s(literal 1 binary64)) (/.f64 #s(literal 1 binary64) (+.f64 x #s(literal 1 binary64))))) (+.f64 x #s(literal 1 binary64)))
(/.f64 (-.f64 (*.f64 (/.f64 (*.f64 x x) (+.f64 x #s(literal 1 binary64))) (+.f64 x #s(literal 1 binary64))) #s(literal 1 binary64)) (+.f64 x #s(literal 1 binary64)))
(/.f64 (-.f64 (*.f64 (/.f64 (*.f64 x x) (+.f64 x #s(literal 1 binary64))) (/.f64 (+.f64 x #s(literal 1 binary64)) #s(literal 1 binary64))) #s(literal 1 binary64)) (*.f64 #s(literal 1 binary64) (/.f64 (+.f64 x #s(literal 1 binary64)) #s(literal 1 binary64))))
(/.f64 (-.f64 (*.f64 (/.f64 (*.f64 x x) (+.f64 x #s(literal 1 binary64))) (+.f64 #s(literal -1 binary64) (neg.f64 x))) #s(literal -1 binary64)) (*.f64 #s(literal 1 binary64) (+.f64 #s(literal -1 binary64) (neg.f64 x))))
(/.f64 (-.f64 (*.f64 (/.f64 (*.f64 x x) (+.f64 x #s(literal 1 binary64))) #s(literal 1 binary64)) (/.f64 #s(literal 1 binary64) (+.f64 x #s(literal 1 binary64)))) #s(literal 1 binary64))
(/.f64 (-.f64 (*.f64 (neg.f64 (*.f64 x x)) (+.f64 x #s(literal 1 binary64))) (+.f64 #s(literal -1 binary64) (neg.f64 x))) (*.f64 (+.f64 #s(literal -1 binary64) (neg.f64 x)) (+.f64 x #s(literal 1 binary64))))
(/.f64 (-.f64 (*.f64 (neg.f64 (*.f64 x x)) (/.f64 (+.f64 x #s(literal 1 binary64)) #s(literal 1 binary64))) (+.f64 #s(literal -1 binary64) (neg.f64 x))) (*.f64 (+.f64 #s(literal -1 binary64) (neg.f64 x)) (/.f64 (+.f64 x #s(literal 1 binary64)) #s(literal 1 binary64))))
(/.f64 (-.f64 (*.f64 (neg.f64 (*.f64 x x)) (+.f64 #s(literal -1 binary64) (neg.f64 x))) (*.f64 (+.f64 #s(literal -1 binary64) (neg.f64 x)) #s(literal -1 binary64))) (*.f64 (+.f64 x #s(literal 1 binary64)) (+.f64 x #s(literal 1 binary64))))
(/.f64 (-.f64 (*.f64 (neg.f64 (*.f64 x x)) #s(literal 1 binary64)) (*.f64 (+.f64 #s(literal -1 binary64) (neg.f64 x)) (/.f64 #s(literal 1 binary64) (+.f64 x #s(literal 1 binary64))))) (+.f64 #s(literal -1 binary64) (neg.f64 x)))
(/.f64 (-.f64 (*.f64 (*.f64 x (*.f64 x x)) (-.f64 (fma.f64 x x #s(literal 1 binary64)) (*.f64 x #s(literal -1 binary64)))) (*.f64 (-.f64 (fma.f64 x x #s(literal 1 binary64)) (*.f64 x #s(literal -1 binary64))) #s(literal 1 binary64))) (*.f64 (-.f64 (fma.f64 x x #s(literal 1 binary64)) (*.f64 x #s(literal -1 binary64))) (-.f64 (fma.f64 x x #s(literal 1 binary64)) (*.f64 x #s(literal -1 binary64)))))
(pow.f64 (/.f64 #s(literal 1 binary64) (+.f64 x #s(literal -1 binary64))) #s(literal -1 binary64))
(pow.f64 (/.f64 (/.f64 #s(literal 1 binary64) (+.f64 x #s(literal -1 binary64))) #s(literal 1 binary64)) #s(literal -1 binary64))
(pow.f64 (/.f64 (-.f64 (fma.f64 x x #s(literal 1 binary64)) (*.f64 x #s(literal -1 binary64))) (fma.f64 x (*.f64 x x) #s(literal -1 binary64))) #s(literal -1 binary64))
(*.f64 #s(literal 1 binary64) (+.f64 x #s(literal -1 binary64)))
(*.f64 (fma.f64 x (*.f64 x x) #s(literal -1 binary64)) (/.f64 #s(literal 1 binary64) (+.f64 x (fma.f64 x x #s(literal 1 binary64)))))
(*.f64 (fma.f64 x (*.f64 x x) #s(literal -1 binary64)) (/.f64 #s(literal 1 binary64) (-.f64 (fma.f64 x x #s(literal 1 binary64)) (*.f64 x #s(literal -1 binary64)))))
(*.f64 (fma.f64 x x #s(literal -1 binary64)) (/.f64 #s(literal 1 binary64) (+.f64 x #s(literal 1 binary64))))
(*.f64 (+.f64 x #s(literal 1 binary64)) (*.f64 (+.f64 x #s(literal -1 binary64)) (/.f64 #s(literal 1 binary64) (+.f64 x #s(literal 1 binary64)))))
(*.f64 (+.f64 x #s(literal 1 binary64)) (/.f64 (+.f64 x #s(literal -1 binary64)) (+.f64 x #s(literal 1 binary64))))
(*.f64 (neg.f64 (fma.f64 x (*.f64 x x) #s(literal -1 binary64))) (/.f64 #s(literal 1 binary64) (neg.f64 (+.f64 x (fma.f64 x x #s(literal 1 binary64))))))
(*.f64 (neg.f64 (fma.f64 x x #s(literal -1 binary64))) (/.f64 #s(literal 1 binary64) (+.f64 #s(literal -1 binary64) (neg.f64 x))))
(*.f64 (/.f64 #s(literal 1 binary64) (+.f64 x (fma.f64 x x #s(literal 1 binary64)))) (fma.f64 x (*.f64 x x) #s(literal -1 binary64)))
(*.f64 (/.f64 #s(literal 1 binary64) (+.f64 x #s(literal 1 binary64))) (fma.f64 x x #s(literal -1 binary64)))
(*.f64 (/.f64 (+.f64 x #s(literal 1 binary64)) (+.f64 x #s(literal 1 binary64))) (+.f64 x #s(literal -1 binary64)))
(*.f64 (/.f64 (fma.f64 x x #s(literal -1 binary64)) (fma.f64 x x #s(literal -1 binary64))) (+.f64 x #s(literal -1 binary64)))
(*.f64 (/.f64 (fma.f64 x (*.f64 x x) #s(literal -1 binary64)) (fma.f64 (+.f64 x #s(literal 1 binary64)) (*.f64 (+.f64 x #s(literal 1 binary64)) (+.f64 x #s(literal 1 binary64))) (*.f64 (*.f64 x (*.f64 x x)) (*.f64 x (*.f64 x x))))) (fma.f64 (+.f64 x #s(literal 1 binary64)) (-.f64 (+.f64 x #s(literal 1 binary64)) (*.f64 x x)) (*.f64 x (*.f64 x (*.f64 x x)))))
(*.f64 (/.f64 (fma.f64 x (*.f64 x x) #s(literal -1 binary64)) (*.f64 (+.f64 x (fma.f64 x x #s(literal 1 binary64))) (-.f64 (fma.f64 x x #s(literal -1 binary64)) x))) (-.f64 (fma.f64 x x #s(literal -1 binary64)) x))
(*.f64 (/.f64 (fma.f64 x x #s(literal -1 binary64)) (fma.f64 x (*.f64 x x) #s(literal 1 binary64))) (fma.f64 x x (-.f64 #s(literal 1 binary64) x)))
(*.f64 (/.f64 (fma.f64 x x #s(literal -1 binary64)) (-.f64 #s(literal 1 binary64) (*.f64 x x))) (-.f64 #s(literal 1 binary64) x))

eval71.0ms (1.4%)

Memory
-22.6MiB live, 112.1MiB allocated
Compiler

Compiled 9 642 to 997 computations (89.7% saved)

prune75.0ms (1.4%)

Memory
4.2MiB live, 125.1MiB allocated
Pruning

5 alts after pruning (5 fresh and 0 done)

PrunedKeptTotal
New3695374
Fresh000
Picked101
Done000
Total3705375
Accuracy
100.0%
Counts
375 → 5
Alt Table
Click to see full alt table
StatusAccuracyProgram
75.5%
(+.f64 (*.f64 x y) #s(approx (* (- x 1) z) (neg.f64 z)))
61.9%
#s(approx (+ (* x y) (* (- x 1) z)) (fma.f64 z x (neg.f64 z)))
67.6%
#s(approx (+ (* x y) (* (- x 1) z)) (*.f64 x (+.f64 z y)))
43.9%
#s(approx (+ (* x y) (* (- x 1) z)) (*.f64 x y))
34.2%
#s(approx (+ (* x y) (* (- x 1) z)) (neg.f64 z))
Compiler

Compiled 82 to 48 computations (41.5% saved)

simplify60.0ms (1.2%)

Memory
29.7MiB live, 67.8MiB allocated
Algorithm
egg-herbie
Localize:

Found 14 expressions of interest:

NewMetricScoreProgram
cost-diff0
(neg.f64 z)
cost-diff0
(fma.f64 z x (neg.f64 z))
cost-diff0
#s(approx (+ (* x y) (* (- x 1) z)) (fma.f64 z x (neg.f64 z)))
cost-diff0
(+.f64 z y)
cost-diff0
(*.f64 x (+.f64 z y))
cost-diff0
#s(approx (+ (* x y) (* (- x 1) z)) (*.f64 x (+.f64 z y)))
cost-diff0
(*.f64 x y)
cost-diff0
#s(approx (+ (* x y) (* (- x 1) z)) (*.f64 x y))
cost-diff0
(neg.f64 z)
cost-diff0
#s(approx (+ (* x y) (* (- x 1) z)) (neg.f64 z))
cost-diff0
(neg.f64 z)
cost-diff0
#s(approx (* (- x 1) z) (neg.f64 z))
cost-diff0
(*.f64 x y)
cost-diff128
(+.f64 (*.f64 x y) #s(approx (* (- x 1) z) (neg.f64 z)))
Rules
688×lower-fma.f32
686×lower-fma.f64
272×lower-*.f32
268×lower-*.f64
176×lower--.f64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
019111
026111
145111
256103
383103
4143103
5280103
6479103
7657103
8715103
9725103
10745103
11752103
12754103
0754102
Stop Event
iter limit
saturated
iter limit
Calls
Call 1
Inputs
(+.f64 (*.f64 x y) #s(approx (* (- x 1) z) (neg.f64 z)))
(*.f64 x y)
x
y
#s(approx (* (- x 1) z) (neg.f64 z))
(neg.f64 z)
z
#s(approx (+ (* x y) (* (- x 1) z)) (neg.f64 z))
(neg.f64 z)
z
#s(approx (+ (* x y) (* (- x 1) z)) (*.f64 x y))
(*.f64 x y)
x
y
#s(approx (+ (* x y) (* (- x 1) z)) (*.f64 x (+.f64 z y)))
(*.f64 x (+.f64 z y))
x
(+.f64 z y)
z
y
#s(approx (+ (* x y) (* (- x 1) z)) (fma.f64 z x (neg.f64 z)))
(fma.f64 z x (neg.f64 z))
z
x
(neg.f64 z)
Outputs
(+.f64 (*.f64 x y) #s(approx (* (- x 1) z) (neg.f64 z)))
(fma.f64 x y #s(approx (* (- x 1) z) (neg.f64 z)))
(*.f64 x y)
x
y
#s(approx (* (- x 1) z) (neg.f64 z))
(neg.f64 z)
z
#s(approx (+ (* x y) (* (- x 1) z)) (neg.f64 z))
(neg.f64 z)
z
#s(approx (+ (* x y) (* (- x 1) z)) (*.f64 x y))
(*.f64 x y)
x
y
#s(approx (+ (* x y) (* (- x 1) z)) (*.f64 x (+.f64 z y)))
#s(approx (+ (* x y) (* (- x 1) z)) (*.f64 x (+.f64 y z)))
(*.f64 x (+.f64 z y))
(*.f64 x (+.f64 y z))
x
(+.f64 z y)
(+.f64 y z)
z
y
#s(approx (+ (* x y) (* (- x 1) z)) (fma.f64 z x (neg.f64 z)))
#s(approx (+ (* x y) (* (- x 1) z)) (-.f64 (*.f64 x z) z))
(fma.f64 z x (neg.f64 z))
(-.f64 (*.f64 x z) z)
z
x
(neg.f64 z)

localize54.0ms (1%)

Memory
-4.7MiB live, 109.5MiB allocated
Localize:

Found 14 expressions of interest:

NewMetricScoreProgram
accuracy100.0%
(fma.f64 z x (neg.f64 z))
accuracy100.0%
(neg.f64 z)
accuracy61.9%
#s(approx (+ (* x y) (* (- x 1) z)) (fma.f64 z x (neg.f64 z)))
accuracy100.0%
(+.f64 z y)
accuracy100.0%
(*.f64 x (+.f64 z y))
accuracy67.6%
#s(approx (+ (* x y) (* (- x 1) z)) (*.f64 x (+.f64 z y)))
accuracy100.0%
(*.f64 x y)
accuracy43.9%
#s(approx (+ (* x y) (* (- x 1) z)) (*.f64 x y))
accuracy100.0%
(neg.f64 z)
accuracy34.2%
#s(approx (+ (* x y) (* (- x 1) z)) (neg.f64 z))
accuracy100.0%
(*.f64 x y)
accuracy100.0%
(neg.f64 z)
accuracy97.7%
(+.f64 (*.f64 x y) #s(approx (* (- x 1) z) (neg.f64 z)))
accuracy48.4%
#s(approx (* (- x 1) z) (neg.f64 z))
Samples
29.0ms256×0valid
Compiler

Compiled 89 to 15 computations (83.1% saved)

Precisions
Click to see histograms. Total time spent on operations: 13.0ms
ival-mult: 7.0ms (54.8% of total)
ival-add: 3.0ms (23.5% of total)
ival-sub: 1.0ms (7.8% of total)
ival-neg: 1.0ms (7.8% of total)
ival-true: 0.0ms (0% of total)
exact: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

series11.0ms (0.2%)

Memory
-15.9MiB live, 21.1MiB allocated
Counts
11 → 324
Calls
Call 1
Inputs
#<alt (+.f64 (*.f64 x y) #s(approx (* (- x 1) z) (neg.f64 z)))>
#<alt (*.f64 x y)>
#<alt #s(approx (* (- x 1) z) (neg.f64 z))>
#<alt (neg.f64 z)>
#<alt #s(approx (+ (* x y) (* (- x 1) z)) (neg.f64 z))>
#<alt #s(approx (+ (* x y) (* (- x 1) z)) (*.f64 x y))>
#<alt #s(approx (+ (* x y) (* (- x 1) z)) (*.f64 x (+.f64 z y)))>
#<alt (*.f64 x (+.f64 z y))>
#<alt (+.f64 z y)>
#<alt #s(approx (+ (* x y) (* (- x 1) z)) (fma.f64 z x (neg.f64 z)))>
#<alt (fma.f64 z x (neg.f64 z))>
Outputs
#<alt (* -1 z)>
#<alt (+ (* -1 z) (* x (+ y z)))>
#<alt (+ (* -1 z) (* x (+ y z)))>
#<alt (+ (* -1 z) (* x (+ y z)))>
#<alt (* x (+ y z))>
#<alt (* x (+ y (+ z (* -1 (/ z x)))))>
#<alt (* x (+ y (+ z (* -1 (/ z x)))))>
#<alt (* x (+ y (+ z (* -1 (/ z x)))))>
#<alt (* -1 (* x (+ (* -1 y) (* -1 z))))>
#<alt (* -1 (* x (+ (* -1 y) (+ (* -1 z) (/ z x)))))>
#<alt (* -1 (* x (+ (* -1 y) (+ (* -1 z) (/ z x)))))>
#<alt (* -1 (* x (+ (* -1 y) (+ (* -1 z) (/ z x)))))>
#<alt (* z (- x 1))>
#<alt (+ (* x y) (* z (- x 1)))>
#<alt (+ (* x y) (* z (- x 1)))>
#<alt (+ (* x y) (* z (- x 1)))>
#<alt (* x y)>
#<alt (* y (+ x (/ (* z (- x 1)) y)))>
#<alt (* y (+ x (/ (* z (- x 1)) y)))>
#<alt (* y (+ x (/ (* z (- x 1)) y)))>
#<alt (* x y)>
#<alt (* -1 (* y (+ (* -1 x) (* -1 (/ (* z (- x 1)) y)))))>
#<alt (* -1 (* y (+ (* -1 x) (* -1 (/ (* z (- x 1)) y)))))>
#<alt (* -1 (* y (+ (* -1 x) (* -1 (/ (* z (- x 1)) y)))))>
#<alt (* x y)>
#<alt (+ (* x y) (* z (- x 1)))>
#<alt (+ (* x y) (* z (- x 1)))>
#<alt (+ (* x y) (* z (- x 1)))>
#<alt (* z (- x 1))>
#<alt (* z (- (+ x (/ (* x y) z)) 1))>
#<alt (* z (- (+ x (/ (* x y) z)) 1))>
#<alt (* z (- (+ x (/ (* x y) z)) 1))>
#<alt (* z (- x 1))>
#<alt (* -1 (* z (+ (* -1 (- x 1)) (* -1 (/ (* x y) z)))))>
#<alt (* -1 (* z (+ (* -1 (- x 1)) (* -1 (/ (* x y) z)))))>
#<alt (* -1 (* z (+ (* -1 (- x 1)) (* -1 (/ (* x y) z)))))>
#<alt (* x y)>
#<alt (* x y)>
#<alt (* x y)>
#<alt (* x y)>
#<alt (* x y)>
#<alt (* x y)>
#<alt (* x y)>
#<alt (* x y)>
#<alt (* x y)>
#<alt (* x y)>
#<alt (* x y)>
#<alt (* x y)>
#<alt (* x y)>
#<alt (* x y)>
#<alt (* x y)>
#<alt (* x y)>
#<alt (* x y)>
#<alt (* x y)>
#<alt (* x y)>
#<alt (* x y)>
#<alt (* x y)>
#<alt (* x y)>
#<alt (* x y)>
#<alt (* x y)>
#<alt (* -1 z)>
#<alt (+ (* -1 z) (* x z))>
#<alt (+ (* -1 z) (* x z))>
#<alt (+ (* -1 z) (* x z))>
#<alt (* x z)>
#<alt (* x (+ z (* -1 (/ z x))))>
#<alt (* x (+ z (* -1 (/ z x))))>
#<alt (* x (+ z (* -1 (/ z x))))>
#<alt (* x z)>
#<alt (* -1 (* x (+ (* -1 z) (/ z x))))>
#<alt (* -1 (* x (+ (* -1 z) (/ z x))))>
#<alt (* -1 (* x (+ (* -1 z) (/ z x))))>
#<alt (* z (- x 1))>
#<alt (* z (- x 1))>
#<alt (* z (- x 1))>
#<alt (* z (- x 1))>
#<alt (* z (- x 1))>
#<alt (* z (- x 1))>
#<alt (* z (- x 1))>
#<alt (* z (- x 1))>
#<alt (* z (- x 1))>
#<alt (* z (- x 1))>
#<alt (* z (- x 1))>
#<alt (* z (- x 1))>
#<alt (* -1 z)>
#<alt (* -1 z)>
#<alt (* -1 z)>
#<alt (* -1 z)>
#<alt (* -1 z)>
#<alt (* -1 z)>
#<alt (* -1 z)>
#<alt (* -1 z)>
#<alt (* -1 z)>
#<alt (* -1 z)>
#<alt (* -1 z)>
#<alt (* -1 z)>
#<alt (* -1 z)>
#<alt (+ (* -1 z) (* x (+ y z)))>
#<alt (+ (* -1 z) (* x (+ y z)))>
#<alt (+ (* -1 z) (* x (+ y z)))>
#<alt (* x (+ y z))>
#<alt (* x (+ y (+ z (* -1 (/ z x)))))>
#<alt (* x (+ y (+ z (* -1 (/ z x)))))>
#<alt (* x (+ y (+ z (* -1 (/ z x)))))>
#<alt (* -1 (* x (+ (* -1 y) (* -1 z))))>
#<alt (* -1 (* x (+ (* -1 y) (+ (* -1 z) (/ z x)))))>
#<alt (* -1 (* x (+ (* -1 y) (+ (* -1 z) (/ z x)))))>
#<alt (* -1 (* x (+ (* -1 y) (+ (* -1 z) (/ z x)))))>
#<alt (* z (- x 1))>
#<alt (+ (* x y) (* z (- x 1)))>
#<alt (+ (* x y) (* z (- x 1)))>
#<alt (+ (* x y) (* z (- x 1)))>
#<alt (* x y)>
#<alt (* y (+ x (/ (* z (- x 1)) y)))>
#<alt (* y (+ x (/ (* z (- x 1)) y)))>
#<alt (* y (+ x (/ (* z (- x 1)) y)))>
#<alt (* x y)>
#<alt (* -1 (* y (+ (* -1 x) (* -1 (/ (* z (- x 1)) y)))))>
#<alt (* -1 (* y (+ (* -1 x) (* -1 (/ (* z (- x 1)) y)))))>
#<alt (* -1 (* y (+ (* -1 x) (* -1 (/ (* z (- x 1)) y)))))>
#<alt (* x y)>
#<alt (+ (* x y) (* z (- x 1)))>
#<alt (+ (* x y) (* z (- x 1)))>
#<alt (+ (* x y) (* z (- x 1)))>
#<alt (* z (- x 1))>
#<alt (* z (- (+ x (/ (* x y) z)) 1))>
#<alt (* z (- (+ x (/ (* x y) z)) 1))>
#<alt (* z (- (+ x (/ (* x y) z)) 1))>
#<alt (* z (- x 1))>
#<alt (* -1 (* z (+ (* -1 (- x 1)) (* -1 (/ (* x y) z)))))>
#<alt (* -1 (* z (+ (* -1 (- x 1)) (* -1 (/ (* x y) z)))))>
#<alt (* -1 (* z (+ (* -1 (- x 1)) (* -1 (/ (* x y) z)))))>
#<alt (* -1 z)>
#<alt (+ (* -1 z) (* x (+ y z)))>
#<alt (+ (* -1 z) (* x (+ y z)))>
#<alt (+ (* -1 z) (* x (+ y z)))>
#<alt (* x (+ y z))>
#<alt (* x (+ y (+ z (* -1 (/ z x)))))>
#<alt (* x (+ y (+ z (* -1 (/ z x)))))>
#<alt (* x (+ y (+ z (* -1 (/ z x)))))>
#<alt (* -1 (* x (+ (* -1 y) (* -1 z))))>
#<alt (* -1 (* x (+ (* -1 y) (+ (* -1 z) (/ z x)))))>
#<alt (* -1 (* x (+ (* -1 y) (+ (* -1 z) (/ z x)))))>
#<alt (* -1 (* x (+ (* -1 y) (+ (* -1 z) (/ z x)))))>
#<alt (* z (- x 1))>
#<alt (+ (* x y) (* z (- x 1)))>
#<alt (+ (* x y) (* z (- x 1)))>
#<alt (+ (* x y) (* z (- x 1)))>
#<alt (* x y)>
#<alt (* y (+ x (/ (* z (- x 1)) y)))>
#<alt (* y (+ x (/ (* z (- x 1)) y)))>
#<alt (* y (+ x (/ (* z (- x 1)) y)))>
#<alt (* x y)>
#<alt (* -1 (* y (+ (* -1 x) (* -1 (/ (* z (- x 1)) y)))))>
#<alt (* -1 (* y (+ (* -1 x) (* -1 (/ (* z (- x 1)) y)))))>
#<alt (* -1 (* y (+ (* -1 x) (* -1 (/ (* z (- x 1)) y)))))>
#<alt (* x y)>
#<alt (+ (* x y) (* z (- x 1)))>
#<alt (+ (* x y) (* z (- x 1)))>
#<alt (+ (* x y) (* z (- x 1)))>
#<alt (* z (- x 1))>
#<alt (* z (- (+ x (/ (* x y) z)) 1))>
#<alt (* z (- (+ x (/ (* x y) z)) 1))>
#<alt (* z (- (+ x (/ (* x y) z)) 1))>
#<alt (* z (- x 1))>
#<alt (* -1 (* z (+ (* -1 (- x 1)) (* -1 (/ (* x y) z)))))>
#<alt (* -1 (* z (+ (* -1 (- x 1)) (* -1 (/ (* x y) z)))))>
#<alt (* -1 (* z (+ (* -1 (- x 1)) (* -1 (/ (* x y) z)))))>
#<alt (* -1 z)>
#<alt (+ (* -1 z) (* x (+ y z)))>
#<alt (+ (* -1 z) (* x (+ y z)))>
#<alt (+ (* -1 z) (* x (+ y z)))>
#<alt (* x (+ y z))>
#<alt (* x (+ y (+ z (* -1 (/ z x)))))>
#<alt (* x (+ y (+ z (* -1 (/ z x)))))>
#<alt (* x (+ y (+ z (* -1 (/ z x)))))>
#<alt (* -1 (* x (+ (* -1 y) (* -1 z))))>
#<alt (* -1 (* x (+ (* -1 y) (+ (* -1 z) (/ z x)))))>
#<alt (* -1 (* x (+ (* -1 y) (+ (* -1 z) (/ z x)))))>
#<alt (* -1 (* x (+ (* -1 y) (+ (* -1 z) (/ z x)))))>
#<alt (* z (- x 1))>
#<alt (+ (* x y) (* z (- x 1)))>
#<alt (+ (* x y) (* z (- x 1)))>
#<alt (+ (* x y) (* z (- x 1)))>
#<alt (* x y)>
#<alt (* y (+ x (/ (* z (- x 1)) y)))>
#<alt (* y (+ x (/ (* z (- x 1)) y)))>
#<alt (* y (+ x (/ (* z (- x 1)) y)))>
#<alt (* x y)>
#<alt (* -1 (* y (+ (* -1 x) (* -1 (/ (* z (- x 1)) y)))))>
#<alt (* -1 (* y (+ (* -1 x) (* -1 (/ (* z (- x 1)) y)))))>
#<alt (* -1 (* y (+ (* -1 x) (* -1 (/ (* z (- x 1)) y)))))>
#<alt (* x y)>
#<alt (+ (* x y) (* z (- x 1)))>
#<alt (+ (* x y) (* z (- x 1)))>
#<alt (+ (* x y) (* z (- x 1)))>
#<alt (* z (- x 1))>
#<alt (* z (- (+ x (/ (* x y) z)) 1))>
#<alt (* z (- (+ x (/ (* x y) z)) 1))>
#<alt (* z (- (+ x (/ (* x y) z)) 1))>
#<alt (* z (- x 1))>
#<alt (* -1 (* z (+ (* -1 (- x 1)) (* -1 (/ (* x y) z)))))>
#<alt (* -1 (* z (+ (* -1 (- x 1)) (* -1 (/ (* x y) z)))))>
#<alt (* -1 (* z (+ (* -1 (- x 1)) (* -1 (/ (* x y) z)))))>
#<alt (* x (+ y z))>
#<alt (* x (+ y z))>
#<alt (* x (+ y z))>
#<alt (* x (+ y z))>
#<alt (* x (+ y z))>
#<alt (* x (+ y z))>
#<alt (* x (+ y z))>
#<alt (* x (+ y z))>
#<alt (* x (+ y z))>
#<alt (* x (+ y z))>
#<alt (* x (+ y z))>
#<alt (* x (+ y z))>
#<alt (* x y)>
#<alt (+ (* x y) (* x z))>
#<alt (+ (* x y) (* x z))>
#<alt (+ (* x y) (* x z))>
#<alt (* x z)>
#<alt (* z (+ x (/ (* x y) z)))>
#<alt (* z (+ x (/ (* x y) z)))>
#<alt (* z (+ x (/ (* x y) z)))>
#<alt (* x z)>
#<alt (* -1 (* z (+ (* -1 x) (* -1 (/ (* x y) z)))))>
#<alt (* -1 (* z (+ (* -1 x) (* -1 (/ (* x y) z)))))>
#<alt (* -1 (* z (+ (* -1 x) (* -1 (/ (* x y) z)))))>
#<alt (* x z)>
#<alt (+ (* x y) (* x z))>
#<alt (+ (* x y) (* x z))>
#<alt (+ (* x y) (* x z))>
#<alt (* x y)>
#<alt (* y (+ x (/ (* x z) y)))>
#<alt (* y (+ x (/ (* x z) y)))>
#<alt (* y (+ x (/ (* x z) y)))>
#<alt (* x y)>
#<alt (* -1 (* y (+ (* -1 x) (* -1 (/ (* x z) y)))))>
#<alt (* -1 (* y (+ (* -1 x) (* -1 (/ (* x z) y)))))>
#<alt (* -1 (* y (+ (* -1 x) (* -1 (/ (* x z) y)))))>
#<alt y>
#<alt (+ y z)>
#<alt (+ y z)>
#<alt (+ y z)>
#<alt z>
#<alt (* z (+ 1 (/ y z)))>
#<alt (* z (+ 1 (/ y z)))>
#<alt (* z (+ 1 (/ y z)))>
#<alt z>
#<alt (* -1 (* z (- (* -1 (/ y z)) 1)))>
#<alt (* -1 (* z (- (* -1 (/ y z)) 1)))>
#<alt (* -1 (* z (- (* -1 (/ y z)) 1)))>
#<alt z>
#<alt (+ y z)>
#<alt (+ y z)>
#<alt (+ y z)>
#<alt y>
#<alt (* y (+ 1 (/ z y)))>
#<alt (* y (+ 1 (/ z y)))>
#<alt (* y (+ 1 (/ z y)))>
#<alt y>
#<alt (* -1 (* y (- (* -1 (/ z y)) 1)))>
#<alt (* -1 (* y (- (* -1 (/ z y)) 1)))>
#<alt (* -1 (* y (- (* -1 (/ z y)) 1)))>
#<alt (* -1 z)>
#<alt (+ (* -1 z) (* x (+ y z)))>
#<alt (+ (* -1 z) (* x (+ y z)))>
#<alt (+ (* -1 z) (* x (+ y z)))>
#<alt (* x (+ y z))>
#<alt (* x (+ y (+ z (* -1 (/ z x)))))>
#<alt (* x (+ y (+ z (* -1 (/ z x)))))>
#<alt (* x (+ y (+ z (* -1 (/ z x)))))>
#<alt (* -1 (* x (+ (* -1 y) (* -1 z))))>
#<alt (* -1 (* x (+ (* -1 y) (+ (* -1 z) (/ z x)))))>
#<alt (* -1 (* x (+ (* -1 y) (+ (* -1 z) (/ z x)))))>
#<alt (* -1 (* x (+ (* -1 y) (+ (* -1 z) (/ z x)))))>
#<alt (* z (- x 1))>
#<alt (+ (* x y) (* z (- x 1)))>
#<alt (+ (* x y) (* z (- x 1)))>
#<alt (+ (* x y) (* z (- x 1)))>
#<alt (* x y)>
#<alt (* y (+ x (/ (* z (- x 1)) y)))>
#<alt (* y (+ x (/ (* z (- x 1)) y)))>
#<alt (* y (+ x (/ (* z (- x 1)) y)))>
#<alt (* x y)>
#<alt (* -1 (* y (+ (* -1 x) (* -1 (/ (* z (- x 1)) y)))))>
#<alt (* -1 (* y (+ (* -1 x) (* -1 (/ (* z (- x 1)) y)))))>
#<alt (* -1 (* y (+ (* -1 x) (* -1 (/ (* z (- x 1)) y)))))>
#<alt (* x y)>
#<alt (+ (* x y) (* z (- x 1)))>
#<alt (+ (* x y) (* z (- x 1)))>
#<alt (+ (* x y) (* z (- x 1)))>
#<alt (* z (- x 1))>
#<alt (* z (- (+ x (/ (* x y) z)) 1))>
#<alt (* z (- (+ x (/ (* x y) z)) 1))>
#<alt (* z (- (+ x (/ (* x y) z)) 1))>
#<alt (* z (- x 1))>
#<alt (* -1 (* z (+ (* -1 (- x 1)) (* -1 (/ (* x y) z)))))>
#<alt (* -1 (* z (+ (* -1 (- x 1)) (* -1 (/ (* x y) z)))))>
#<alt (* -1 (* z (+ (* -1 (- x 1)) (* -1 (/ (* x y) z)))))>
#<alt (* z (- x 1))>
#<alt (* z (- x 1))>
#<alt (* z (- x 1))>
#<alt (* z (- x 1))>
#<alt (* z (- x 1))>
#<alt (* z (- x 1))>
#<alt (* z (- x 1))>
#<alt (* z (- x 1))>
#<alt (* -1 (* z (+ 1 (* -1 x))))>
#<alt (* -1 (* z (+ 1 (* -1 x))))>
#<alt (* -1 (* z (+ 1 (* -1 x))))>
#<alt (* -1 (* z (+ 1 (* -1 x))))>
#<alt (* -1 z)>
#<alt (- (* x z) z)>
#<alt (- (* x z) z)>
#<alt (- (* x z) z)>
#<alt (* x z)>
#<alt (* x (+ z (* -1 (/ z x))))>
#<alt (* x (+ z (* -1 (/ z x))))>
#<alt (* x (+ z (* -1 (/ z x))))>
#<alt (* x z)>
#<alt (* -1 (* x (+ (* -1 z) (/ z x))))>
#<alt (* -1 (* x (+ (* -1 z) (/ z x))))>
#<alt (* -1 (* x (+ (* -1 z) (/ z x))))>
Calls

81 calls:

TimeVariablePointExpression
1.0ms
x
@inf
(+ (* z x) (neg z))
0.0ms
x
@0
(* x (+ z y))
0.0ms
x
@inf
(* x (+ z y))
0.0ms
y
@inf
(* x (+ z y))
0.0ms
z
@0
(+ (* z x) (neg z))

simplify267.0ms (5.1%)

Memory
40.8MiB live, 386.9MiB allocated
Algorithm
egg-herbie
Rules
6 090×lower-fma.f64
6 090×lower-fma.f32
2 290×lower-*.f64
2 290×lower-*.f32
2 180×div-sub
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
0781810
12731675
27861675
321941675
443281675
557631675
666021675
777111675
081391675
Stop Event
iter limit
node limit
Counts
324 → 318
Calls
Call 1
Inputs
(* -1 z)
(+ (* -1 z) (* x (+ y z)))
(+ (* -1 z) (* x (+ y z)))
(+ (* -1 z) (* x (+ y z)))
(* x (+ y z))
(* x (+ y (+ z (* -1 (/ z x)))))
(* x (+ y (+ z (* -1 (/ z x)))))
(* x (+ y (+ z (* -1 (/ z x)))))
(* -1 (* x (+ (* -1 y) (* -1 z))))
(* -1 (* x (+ (* -1 y) (+ (* -1 z) (/ z x)))))
(* -1 (* x (+ (* -1 y) (+ (* -1 z) (/ z x)))))
(* -1 (* x (+ (* -1 y) (+ (* -1 z) (/ z x)))))
(* z (- x 1))
(+ (* x y) (* z (- x 1)))
(+ (* x y) (* z (- x 1)))
(+ (* x y) (* z (- x 1)))
(* x y)
(* y (+ x (/ (* z (- x 1)) y)))
(* y (+ x (/ (* z (- x 1)) y)))
(* y (+ x (/ (* z (- x 1)) y)))
(* x y)
(* -1 (* y (+ (* -1 x) (* -1 (/ (* z (- x 1)) y)))))
(* -1 (* y (+ (* -1 x) (* -1 (/ (* z (- x 1)) y)))))
(* -1 (* y (+ (* -1 x) (* -1 (/ (* z (- x 1)) y)))))
(* x y)
(+ (* x y) (* z (- x 1)))
(+ (* x y) (* z (- x 1)))
(+ (* x y) (* z (- x 1)))
(* z (- x 1))
(* z (- (+ x (/ (* x y) z)) 1))
(* z (- (+ x (/ (* x y) z)) 1))
(* z (- (+ x (/ (* x y) z)) 1))
(* z (- x 1))
(* -1 (* z (+ (* -1 (- x 1)) (* -1 (/ (* x y) z)))))
(* -1 (* z (+ (* -1 (- x 1)) (* -1 (/ (* x y) z)))))
(* -1 (* z (+ (* -1 (- x 1)) (* -1 (/ (* x y) z)))))
(* x y)
(* x y)
(* x y)
(* x y)
(* x y)
(* x y)
(* x y)
(* x y)
(* x y)
(* x y)
(* x y)
(* x y)
(* x y)
(* x y)
(* x y)
(* x y)
(* x y)
(* x y)
(* x y)
(* x y)
(* x y)
(* x y)
(* x y)
(* x y)
(* -1 z)
(+ (* -1 z) (* x z))
(+ (* -1 z) (* x z))
(+ (* -1 z) (* x z))
(* x z)
(* x (+ z (* -1 (/ z x))))
(* x (+ z (* -1 (/ z x))))
(* x (+ z (* -1 (/ z x))))
(* x z)
(* -1 (* x (+ (* -1 z) (/ z x))))
(* -1 (* x (+ (* -1 z) (/ z x))))
(* -1 (* x (+ (* -1 z) (/ z x))))
(* z (- x 1))
(* z (- x 1))
(* z (- x 1))
(* z (- x 1))
(* z (- x 1))
(* z (- x 1))
(* z (- x 1))
(* z (- x 1))
(* z (- x 1))
(* z (- x 1))
(* z (- x 1))
(* z (- x 1))
(* -1 z)
(* -1 z)
(* -1 z)
(* -1 z)
(* -1 z)
(* -1 z)
(* -1 z)
(* -1 z)
(* -1 z)
(* -1 z)
(* -1 z)
(* -1 z)
(* -1 z)
(+ (* -1 z) (* x (+ y z)))
(+ (* -1 z) (* x (+ y z)))
(+ (* -1 z) (* x (+ y z)))
(* x (+ y z))
(* x (+ y (+ z (* -1 (/ z x)))))
(* x (+ y (+ z (* -1 (/ z x)))))
(* x (+ y (+ z (* -1 (/ z x)))))
(* -1 (* x (+ (* -1 y) (* -1 z))))
(* -1 (* x (+ (* -1 y) (+ (* -1 z) (/ z x)))))
(* -1 (* x (+ (* -1 y) (+ (* -1 z) (/ z x)))))
(* -1 (* x (+ (* -1 y) (+ (* -1 z) (/ z x)))))
(* z (- x 1))
(+ (* x y) (* z (- x 1)))
(+ (* x y) (* z (- x 1)))
(+ (* x y) (* z (- x 1)))
(* x y)
(* y (+ x (/ (* z (- x 1)) y)))
(* y (+ x (/ (* z (- x 1)) y)))
(* y (+ x (/ (* z (- x 1)) y)))
(* x y)
(* -1 (* y (+ (* -1 x) (* -1 (/ (* z (- x 1)) y)))))
(* -1 (* y (+ (* -1 x) (* -1 (/ (* z (- x 1)) y)))))
(* -1 (* y (+ (* -1 x) (* -1 (/ (* z (- x 1)) y)))))
(* x y)
(+ (* x y) (* z (- x 1)))
(+ (* x y) (* z (- x 1)))
(+ (* x y) (* z (- x 1)))
(* z (- x 1))
(* z (- (+ x (/ (* x y) z)) 1))
(* z (- (+ x (/ (* x y) z)) 1))
(* z (- (+ x (/ (* x y) z)) 1))
(* z (- x 1))
(* -1 (* z (+ (* -1 (- x 1)) (* -1 (/ (* x y) z)))))
(* -1 (* z (+ (* -1 (- x 1)) (* -1 (/ (* x y) z)))))
(* -1 (* z (+ (* -1 (- x 1)) (* -1 (/ (* x y) z)))))
(* -1 z)
(+ (* -1 z) (* x (+ y z)))
(+ (* -1 z) (* x (+ y z)))
(+ (* -1 z) (* x (+ y z)))
(* x (+ y z))
(* x (+ y (+ z (* -1 (/ z x)))))
(* x (+ y (+ z (* -1 (/ z x)))))
(* x (+ y (+ z (* -1 (/ z x)))))
(* -1 (* x (+ (* -1 y) (* -1 z))))
(* -1 (* x (+ (* -1 y) (+ (* -1 z) (/ z x)))))
(* -1 (* x (+ (* -1 y) (+ (* -1 z) (/ z x)))))
(* -1 (* x (+ (* -1 y) (+ (* -1 z) (/ z x)))))
(* z (- x 1))
(+ (* x y) (* z (- x 1)))
(+ (* x y) (* z (- x 1)))
(+ (* x y) (* z (- x 1)))
(* x y)
(* y (+ x (/ (* z (- x 1)) y)))
(* y (+ x (/ (* z (- x 1)) y)))
(* y (+ x (/ (* z (- x 1)) y)))
(* x y)
(* -1 (* y (+ (* -1 x) (* -1 (/ (* z (- x 1)) y)))))
(* -1 (* y (+ (* -1 x) (* -1 (/ (* z (- x 1)) y)))))
(* -1 (* y (+ (* -1 x) (* -1 (/ (* z (- x 1)) y)))))
(* x y)
(+ (* x y) (* z (- x 1)))
(+ (* x y) (* z (- x 1)))
(+ (* x y) (* z (- x 1)))
(* z (- x 1))
(* z (- (+ x (/ (* x y) z)) 1))
(* z (- (+ x (/ (* x y) z)) 1))
(* z (- (+ x (/ (* x y) z)) 1))
(* z (- x 1))
(* -1 (* z (+ (* -1 (- x 1)) (* -1 (/ (* x y) z)))))
(* -1 (* z (+ (* -1 (- x 1)) (* -1 (/ (* x y) z)))))
(* -1 (* z (+ (* -1 (- x 1)) (* -1 (/ (* x y) z)))))
(* -1 z)
(+ (* -1 z) (* x (+ y z)))
(+ (* -1 z) (* x (+ y z)))
(+ (* -1 z) (* x (+ y z)))
(* x (+ y z))
(* x (+ y (+ z (* -1 (/ z x)))))
(* x (+ y (+ z (* -1 (/ z x)))))
(* x (+ y (+ z (* -1 (/ z x)))))
(* -1 (* x (+ (* -1 y) (* -1 z))))
(* -1 (* x (+ (* -1 y) (+ (* -1 z) (/ z x)))))
(* -1 (* x (+ (* -1 y) (+ (* -1 z) (/ z x)))))
(* -1 (* x (+ (* -1 y) (+ (* -1 z) (/ z x)))))
(* z (- x 1))
(+ (* x y) (* z (- x 1)))
(+ (* x y) (* z (- x 1)))
(+ (* x y) (* z (- x 1)))
(* x y)
(* y (+ x (/ (* z (- x 1)) y)))
(* y (+ x (/ (* z (- x 1)) y)))
(* y (+ x (/ (* z (- x 1)) y)))
(* x y)
(* -1 (* y (+ (* -1 x) (* -1 (/ (* z (- x 1)) y)))))
(* -1 (* y (+ (* -1 x) (* -1 (/ (* z (- x 1)) y)))))
(* -1 (* y (+ (* -1 x) (* -1 (/ (* z (- x 1)) y)))))
(* x y)
(+ (* x y) (* z (- x 1)))
(+ (* x y) (* z (- x 1)))
(+ (* x y) (* z (- x 1)))
(* z (- x 1))
(* z (- (+ x (/ (* x y) z)) 1))
(* z (- (+ x (/ (* x y) z)) 1))
(* z (- (+ x (/ (* x y) z)) 1))
(* z (- x 1))
(* -1 (* z (+ (* -1 (- x 1)) (* -1 (/ (* x y) z)))))
(* -1 (* z (+ (* -1 (- x 1)) (* -1 (/ (* x y) z)))))
(* -1 (* z (+ (* -1 (- x 1)) (* -1 (/ (* x y) z)))))
(* x (+ y z))
(* x (+ y z))
(* x (+ y z))
(* x (+ y z))
(* x (+ y z))
(* x (+ y z))
(* x (+ y z))
(* x (+ y z))
(* x (+ y z))
(* x (+ y z))
(* x (+ y z))
(* x (+ y z))
(* x y)
(+ (* x y) (* x z))
(+ (* x y) (* x z))
(+ (* x y) (* x z))
(* x z)
(* z (+ x (/ (* x y) z)))
(* z (+ x (/ (* x y) z)))
(* z (+ x (/ (* x y) z)))
(* x z)
(* -1 (* z (+ (* -1 x) (* -1 (/ (* x y) z)))))
(* -1 (* z (+ (* -1 x) (* -1 (/ (* x y) z)))))
(* -1 (* z (+ (* -1 x) (* -1 (/ (* x y) z)))))
(* x z)
(+ (* x y) (* x z))
(+ (* x y) (* x z))
(+ (* x y) (* x z))
(* x y)
(* y (+ x (/ (* x z) y)))
(* y (+ x (/ (* x z) y)))
(* y (+ x (/ (* x z) y)))
(* x y)
(* -1 (* y (+ (* -1 x) (* -1 (/ (* x z) y)))))
(* -1 (* y (+ (* -1 x) (* -1 (/ (* x z) y)))))
(* -1 (* y (+ (* -1 x) (* -1 (/ (* x z) y)))))
y
(+ y z)
(+ y z)
(+ y z)
z
(* z (+ 1 (/ y z)))
(* z (+ 1 (/ y z)))
(* z (+ 1 (/ y z)))
z
(* -1 (* z (- (* -1 (/ y z)) 1)))
(* -1 (* z (- (* -1 (/ y z)) 1)))
(* -1 (* z (- (* -1 (/ y z)) 1)))
z
(+ y z)
(+ y z)
(+ y z)
y
(* y (+ 1 (/ z y)))
(* y (+ 1 (/ z y)))
(* y (+ 1 (/ z y)))
y
(* -1 (* y (- (* -1 (/ z y)) 1)))
(* -1 (* y (- (* -1 (/ z y)) 1)))
(* -1 (* y (- (* -1 (/ z y)) 1)))
(* -1 z)
(+ (* -1 z) (* x (+ y z)))
(+ (* -1 z) (* x (+ y z)))
(+ (* -1 z) (* x (+ y z)))
(* x (+ y z))
(* x (+ y (+ z (* -1 (/ z x)))))
(* x (+ y (+ z (* -1 (/ z x)))))
(* x (+ y (+ z (* -1 (/ z x)))))
(* -1 (* x (+ (* -1 y) (* -1 z))))
(* -1 (* x (+ (* -1 y) (+ (* -1 z) (/ z x)))))
(* -1 (* x (+ (* -1 y) (+ (* -1 z) (/ z x)))))
(* -1 (* x (+ (* -1 y) (+ (* -1 z) (/ z x)))))
(* z (- x 1))
(+ (* x y) (* z (- x 1)))
(+ (* x y) (* z (- x 1)))
(+ (* x y) (* z (- x 1)))
(* x y)
(* y (+ x (/ (* z (- x 1)) y)))
(* y (+ x (/ (* z (- x 1)) y)))
(* y (+ x (/ (* z (- x 1)) y)))
(* x y)
(* -1 (* y (+ (* -1 x) (* -1 (/ (* z (- x 1)) y)))))
(* -1 (* y (+ (* -1 x) (* -1 (/ (* z (- x 1)) y)))))
(* -1 (* y (+ (* -1 x) (* -1 (/ (* z (- x 1)) y)))))
(* x y)
(+ (* x y) (* z (- x 1)))
(+ (* x y) (* z (- x 1)))
(+ (* x y) (* z (- x 1)))
(* z (- x 1))
(* z (- (+ x (/ (* x y) z)) 1))
(* z (- (+ x (/ (* x y) z)) 1))
(* z (- (+ x (/ (* x y) z)) 1))
(* z (- x 1))
(* -1 (* z (+ (* -1 (- x 1)) (* -1 (/ (* x y) z)))))
(* -1 (* z (+ (* -1 (- x 1)) (* -1 (/ (* x y) z)))))
(* -1 (* z (+ (* -1 (- x 1)) (* -1 (/ (* x y) z)))))
(* z (- x 1))
(* z (- x 1))
(* z (- x 1))
(* z (- x 1))
(* z (- x 1))
(* z (- x 1))
(* z (- x 1))
(* z (- x 1))
(* -1 (* z (+ 1 (* -1 x))))
(* -1 (* z (+ 1 (* -1 x))))
(* -1 (* z (+ 1 (* -1 x))))
(* -1 (* z (+ 1 (* -1 x))))
(* -1 z)
(- (* x z) z)
(- (* x z) z)
(- (* x z) z)
(* x z)
(* x (+ z (* -1 (/ z x))))
(* x (+ z (* -1 (/ z x))))
(* x (+ z (* -1 (/ z x))))
(* x z)
(* -1 (* x (+ (* -1 z) (/ z x))))
(* -1 (* x (+ (* -1 z) (/ z x))))
(* -1 (* x (+ (* -1 z) (/ z x))))
Outputs
(* -1 z)
(neg.f64 z)
(+ (* -1 z) (* x (+ y z)))
(fma.f64 x (+.f64 z y) (neg.f64 z))
(+ (* -1 z) (* x (+ y z)))
(fma.f64 x (+.f64 z y) (neg.f64 z))
(+ (* -1 z) (* x (+ y z)))
(fma.f64 x (+.f64 z y) (neg.f64 z))
(* x (+ y z))
(*.f64 x (+.f64 z y))
(* x (+ y (+ z (* -1 (/ z x)))))
(fma.f64 x (+.f64 z y) (neg.f64 z))
(* x (+ y (+ z (* -1 (/ z x)))))
(fma.f64 x (+.f64 z y) (neg.f64 z))
(* x (+ y (+ z (* -1 (/ z x)))))
(fma.f64 x (+.f64 z y) (neg.f64 z))
(* -1 (* x (+ (* -1 y) (* -1 z))))
(*.f64 x (+.f64 z y))
(* -1 (* x (+ (* -1 y) (+ (* -1 z) (/ z x)))))
(fma.f64 x (+.f64 z y) (neg.f64 z))
(* -1 (* x (+ (* -1 y) (+ (* -1 z) (/ z x)))))
(fma.f64 x (+.f64 z y) (neg.f64 z))
(* -1 (* x (+ (* -1 y) (+ (* -1 z) (/ z x)))))
(fma.f64 x (+.f64 z y) (neg.f64 z))
(* z (- x 1))
(-.f64 (*.f64 z x) z)
(+ (* x y) (* z (- x 1)))
(fma.f64 x (+.f64 z y) (neg.f64 z))
(+ (* x y) (* z (- x 1)))
(fma.f64 x (+.f64 z y) (neg.f64 z))
(+ (* x y) (* z (- x 1)))
(fma.f64 x (+.f64 z y) (neg.f64 z))
(* x y)
(*.f64 x y)
(* y (+ x (/ (* z (- x 1)) y)))
(fma.f64 x (+.f64 z y) (neg.f64 z))
(* y (+ x (/ (* z (- x 1)) y)))
(fma.f64 x (+.f64 z y) (neg.f64 z))
(* y (+ x (/ (* z (- x 1)) y)))
(fma.f64 x (+.f64 z y) (neg.f64 z))
(* x y)
(*.f64 x y)
(* -1 (* y (+ (* -1 x) (* -1 (/ (* z (- x 1)) y)))))
(fma.f64 x (+.f64 z y) (neg.f64 z))
(* -1 (* y (+ (* -1 x) (* -1 (/ (* z (- x 1)) y)))))
(fma.f64 x (+.f64 z y) (neg.f64 z))
(* -1 (* y (+ (* -1 x) (* -1 (/ (* z (- x 1)) y)))))
(fma.f64 x (+.f64 z y) (neg.f64 z))
(* x y)
(*.f64 x y)
(+ (* x y) (* z (- x 1)))
(fma.f64 x (+.f64 z y) (neg.f64 z))
(+ (* x y) (* z (- x 1)))
(fma.f64 x (+.f64 z y) (neg.f64 z))
(+ (* x y) (* z (- x 1)))
(fma.f64 x (+.f64 z y) (neg.f64 z))
(* z (- x 1))
(-.f64 (*.f64 z x) z)
(* z (- (+ x (/ (* x y) z)) 1))
(fma.f64 x (+.f64 z y) (neg.f64 z))
(* z (- (+ x (/ (* x y) z)) 1))
(fma.f64 x (+.f64 z y) (neg.f64 z))
(* z (- (+ x (/ (* x y) z)) 1))
(fma.f64 x (+.f64 z y) (neg.f64 z))
(* z (- x 1))
(-.f64 (*.f64 z x) z)
(* -1 (* z (+ (* -1 (- x 1)) (* -1 (/ (* x y) z)))))
(fma.f64 x (+.f64 z y) (neg.f64 z))
(* -1 (* z (+ (* -1 (- x 1)) (* -1 (/ (* x y) z)))))
(fma.f64 x (+.f64 z y) (neg.f64 z))
(* -1 (* z (+ (* -1 (- x 1)) (* -1 (/ (* x y) z)))))
(fma.f64 x (+.f64 z y) (neg.f64 z))
(* x y)
(*.f64 x y)
(* x y)
(*.f64 x y)
(* x y)
(*.f64 x y)
(* x y)
(*.f64 x y)
(* x y)
(*.f64 x y)
(* x y)
(*.f64 x y)
(* x y)
(*.f64 x y)
(* x y)
(*.f64 x y)
(* x y)
(*.f64 x y)
(* x y)
(*.f64 x y)
(* x y)
(*.f64 x y)
(* x y)
(*.f64 x y)
(* x y)
(*.f64 x y)
(* x y)
(*.f64 x y)
(* x y)
(*.f64 x y)
(* x y)
(*.f64 x y)
(* x y)
(*.f64 x y)
(* x y)
(*.f64 x y)
(* x y)
(*.f64 x y)
(* x y)
(*.f64 x y)
(* x y)
(*.f64 x y)
(* x y)
(*.f64 x y)
(* x y)
(*.f64 x y)
(* x y)
(*.f64 x y)
(* -1 z)
(neg.f64 z)
(+ (* -1 z) (* x z))
(-.f64 (*.f64 z x) z)
(+ (* -1 z) (* x z))
(-.f64 (*.f64 z x) z)
(+ (* -1 z) (* x z))
(-.f64 (*.f64 z x) z)
(* x z)
(*.f64 z x)
(* x (+ z (* -1 (/ z x))))
(-.f64 (*.f64 z x) z)
(* x (+ z (* -1 (/ z x))))
(-.f64 (*.f64 z x) z)
(* x (+ z (* -1 (/ z x))))
(-.f64 (*.f64 z x) z)
(* x z)
(*.f64 z x)
(* -1 (* x (+ (* -1 z) (/ z x))))
(-.f64 (*.f64 z x) z)
(* -1 (* x (+ (* -1 z) (/ z x))))
(-.f64 (*.f64 z x) z)
(* -1 (* x (+ (* -1 z) (/ z x))))
(-.f64 (*.f64 z x) z)
(* z (- x 1))
(-.f64 (*.f64 z x) z)
(* z (- x 1))
(-.f64 (*.f64 z x) z)
(* z (- x 1))
(-.f64 (*.f64 z x) z)
(* z (- x 1))
(-.f64 (*.f64 z x) z)
(* z (- x 1))
(-.f64 (*.f64 z x) z)
(* z (- x 1))
(-.f64 (*.f64 z x) z)
(* z (- x 1))
(-.f64 (*.f64 z x) z)
(* z (- x 1))
(-.f64 (*.f64 z x) z)
(* z (- x 1))
(-.f64 (*.f64 z x) z)
(* z (- x 1))
(-.f64 (*.f64 z x) z)
(* z (- x 1))
(-.f64 (*.f64 z x) z)
(* z (- x 1))
(-.f64 (*.f64 z x) z)
(* -1 z)
(neg.f64 z)
(* -1 z)
(neg.f64 z)
(* -1 z)
(neg.f64 z)
(* -1 z)
(neg.f64 z)
(* -1 z)
(neg.f64 z)
(* -1 z)
(neg.f64 z)
(* -1 z)
(neg.f64 z)
(* -1 z)
(neg.f64 z)
(* -1 z)
(neg.f64 z)
(* -1 z)
(neg.f64 z)
(* -1 z)
(neg.f64 z)
(* -1 z)
(neg.f64 z)
(* -1 z)
(neg.f64 z)
(+ (* -1 z) (* x (+ y z)))
(fma.f64 x (+.f64 z y) (neg.f64 z))
(+ (* -1 z) (* x (+ y z)))
(fma.f64 x (+.f64 z y) (neg.f64 z))
(+ (* -1 z) (* x (+ y z)))
(fma.f64 x (+.f64 z y) (neg.f64 z))
(* x (+ y z))
(*.f64 x (+.f64 z y))
(* x (+ y (+ z (* -1 (/ z x)))))
(fma.f64 x (+.f64 z y) (neg.f64 z))
(* x (+ y (+ z (* -1 (/ z x)))))
(fma.f64 x (+.f64 z y) (neg.f64 z))
(* x (+ y (+ z (* -1 (/ z x)))))
(fma.f64 x (+.f64 z y) (neg.f64 z))
(* -1 (* x (+ (* -1 y) (* -1 z))))
(*.f64 x (+.f64 z y))
(* -1 (* x (+ (* -1 y) (+ (* -1 z) (/ z x)))))
(fma.f64 x (+.f64 z y) (neg.f64 z))
(* -1 (* x (+ (* -1 y) (+ (* -1 z) (/ z x)))))
(fma.f64 x (+.f64 z y) (neg.f64 z))
(* -1 (* x (+ (* -1 y) (+ (* -1 z) (/ z x)))))
(fma.f64 x (+.f64 z y) (neg.f64 z))
(* z (- x 1))
(-.f64 (*.f64 z x) z)
(+ (* x y) (* z (- x 1)))
(fma.f64 x (+.f64 z y) (neg.f64 z))
(+ (* x y) (* z (- x 1)))
(fma.f64 x (+.f64 z y) (neg.f64 z))
(+ (* x y) (* z (- x 1)))
(fma.f64 x (+.f64 z y) (neg.f64 z))
(* x y)
(*.f64 x y)
(* y (+ x (/ (* z (- x 1)) y)))
(fma.f64 x (+.f64 z y) (neg.f64 z))
(* y (+ x (/ (* z (- x 1)) y)))
(fma.f64 x (+.f64 z y) (neg.f64 z))
(* y (+ x (/ (* z (- x 1)) y)))
(fma.f64 x (+.f64 z y) (neg.f64 z))
(* x y)
(*.f64 x y)
(* -1 (* y (+ (* -1 x) (* -1 (/ (* z (- x 1)) y)))))
(fma.f64 x (+.f64 z y) (neg.f64 z))
(* -1 (* y (+ (* -1 x) (* -1 (/ (* z (- x 1)) y)))))
(fma.f64 x (+.f64 z y) (neg.f64 z))
(* -1 (* y (+ (* -1 x) (* -1 (/ (* z (- x 1)) y)))))
(fma.f64 x (+.f64 z y) (neg.f64 z))
(* x y)
(*.f64 x y)
(+ (* x y) (* z (- x 1)))
(fma.f64 x (+.f64 z y) (neg.f64 z))
(+ (* x y) (* z (- x 1)))
(fma.f64 x (+.f64 z y) (neg.f64 z))
(+ (* x y) (* z (- x 1)))
(fma.f64 x (+.f64 z y) (neg.f64 z))
(* z (- x 1))
(-.f64 (*.f64 z x) z)
(* z (- (+ x (/ (* x y) z)) 1))
(fma.f64 x (+.f64 z y) (neg.f64 z))
(* z (- (+ x (/ (* x y) z)) 1))
(fma.f64 x (+.f64 z y) (neg.f64 z))
(* z (- (+ x (/ (* x y) z)) 1))
(fma.f64 x (+.f64 z y) (neg.f64 z))
(* z (- x 1))
(-.f64 (*.f64 z x) z)
(* -1 (* z (+ (* -1 (- x 1)) (* -1 (/ (* x y) z)))))
(fma.f64 x (+.f64 z y) (neg.f64 z))
(* -1 (* z (+ (* -1 (- x 1)) (* -1 (/ (* x y) z)))))
(fma.f64 x (+.f64 z y) (neg.f64 z))
(* -1 (* z (+ (* -1 (- x 1)) (* -1 (/ (* x y) z)))))
(fma.f64 x (+.f64 z y) (neg.f64 z))
(* -1 z)
(neg.f64 z)
(+ (* -1 z) (* x (+ y z)))
(fma.f64 x (+.f64 z y) (neg.f64 z))
(+ (* -1 z) (* x (+ y z)))
(fma.f64 x (+.f64 z y) (neg.f64 z))
(+ (* -1 z) (* x (+ y z)))
(fma.f64 x (+.f64 z y) (neg.f64 z))
(* x (+ y z))
(*.f64 x (+.f64 z y))
(* x (+ y (+ z (* -1 (/ z x)))))
(fma.f64 x (+.f64 z y) (neg.f64 z))
(* x (+ y (+ z (* -1 (/ z x)))))
(fma.f64 x (+.f64 z y) (neg.f64 z))
(* x (+ y (+ z (* -1 (/ z x)))))
(fma.f64 x (+.f64 z y) (neg.f64 z))
(* -1 (* x (+ (* -1 y) (* -1 z))))
(*.f64 x (+.f64 z y))
(* -1 (* x (+ (* -1 y) (+ (* -1 z) (/ z x)))))
(fma.f64 x (+.f64 z y) (neg.f64 z))
(* -1 (* x (+ (* -1 y) (+ (* -1 z) (/ z x)))))
(fma.f64 x (+.f64 z y) (neg.f64 z))
(* -1 (* x (+ (* -1 y) (+ (* -1 z) (/ z x)))))
(fma.f64 x (+.f64 z y) (neg.f64 z))
(* z (- x 1))
(-.f64 (*.f64 z x) z)
(+ (* x y) (* z (- x 1)))
(fma.f64 x (+.f64 z y) (neg.f64 z))
(+ (* x y) (* z (- x 1)))
(fma.f64 x (+.f64 z y) (neg.f64 z))
(+ (* x y) (* z (- x 1)))
(fma.f64 x (+.f64 z y) (neg.f64 z))
(* x y)
(*.f64 x y)
(* y (+ x (/ (* z (- x 1)) y)))
(fma.f64 x (+.f64 z y) (neg.f64 z))
(* y (+ x (/ (* z (- x 1)) y)))
(fma.f64 x (+.f64 z y) (neg.f64 z))
(* y (+ x (/ (* z (- x 1)) y)))
(fma.f64 x (+.f64 z y) (neg.f64 z))
(* x y)
(*.f64 x y)
(* -1 (* y (+ (* -1 x) (* -1 (/ (* z (- x 1)) y)))))
(fma.f64 x (+.f64 z y) (neg.f64 z))
(* -1 (* y (+ (* -1 x) (* -1 (/ (* z (- x 1)) y)))))
(fma.f64 x (+.f64 z y) (neg.f64 z))
(* -1 (* y (+ (* -1 x) (* -1 (/ (* z (- x 1)) y)))))
(fma.f64 x (+.f64 z y) (neg.f64 z))
(* x y)
(*.f64 x y)
(+ (* x y) (* z (- x 1)))
(fma.f64 x (+.f64 z y) (neg.f64 z))
(+ (* x y) (* z (- x 1)))
(fma.f64 x (+.f64 z y) (neg.f64 z))
(+ (* x y) (* z (- x 1)))
(fma.f64 x (+.f64 z y) (neg.f64 z))
(* z (- x 1))
(-.f64 (*.f64 z x) z)
(* z (- (+ x (/ (* x y) z)) 1))
(fma.f64 x (+.f64 z y) (neg.f64 z))
(* z (- (+ x (/ (* x y) z)) 1))
(fma.f64 x (+.f64 z y) (neg.f64 z))
(* z (- (+ x (/ (* x y) z)) 1))
(fma.f64 x (+.f64 z y) (neg.f64 z))
(* z (- x 1))
(-.f64 (*.f64 z x) z)
(* -1 (* z (+ (* -1 (- x 1)) (* -1 (/ (* x y) z)))))
(fma.f64 x (+.f64 z y) (neg.f64 z))
(* -1 (* z (+ (* -1 (- x 1)) (* -1 (/ (* x y) z)))))
(fma.f64 x (+.f64 z y) (neg.f64 z))
(* -1 (* z (+ (* -1 (- x 1)) (* -1 (/ (* x y) z)))))
(fma.f64 x (+.f64 z y) (neg.f64 z))
(* -1 z)
(neg.f64 z)
(+ (* -1 z) (* x (+ y z)))
(fma.f64 x (+.f64 z y) (neg.f64 z))
(+ (* -1 z) (* x (+ y z)))
(fma.f64 x (+.f64 z y) (neg.f64 z))
(+ (* -1 z) (* x (+ y z)))
(fma.f64 x (+.f64 z y) (neg.f64 z))
(* x (+ y z))
(*.f64 x (+.f64 z y))
(* x (+ y (+ z (* -1 (/ z x)))))
(fma.f64 x (+.f64 z y) (neg.f64 z))
(* x (+ y (+ z (* -1 (/ z x)))))
(fma.f64 x (+.f64 z y) (neg.f64 z))
(* x (+ y (+ z (* -1 (/ z x)))))
(fma.f64 x (+.f64 z y) (neg.f64 z))
(* -1 (* x (+ (* -1 y) (* -1 z))))
(*.f64 x (+.f64 z y))
(* -1 (* x (+ (* -1 y) (+ (* -1 z) (/ z x)))))
(fma.f64 x (+.f64 z y) (neg.f64 z))
(* -1 (* x (+ (* -1 y) (+ (* -1 z) (/ z x)))))
(fma.f64 x (+.f64 z y) (neg.f64 z))
(* -1 (* x (+ (* -1 y) (+ (* -1 z) (/ z x)))))
(fma.f64 x (+.f64 z y) (neg.f64 z))
(* z (- x 1))
(-.f64 (*.f64 z x) z)
(+ (* x y) (* z (- x 1)))
(fma.f64 x (+.f64 z y) (neg.f64 z))
(+ (* x y) (* z (- x 1)))
(fma.f64 x (+.f64 z y) (neg.f64 z))
(+ (* x y) (* z (- x 1)))
(fma.f64 x (+.f64 z y) (neg.f64 z))
(* x y)
(*.f64 x y)
(* y (+ x (/ (* z (- x 1)) y)))
(fma.f64 x (+.f64 z y) (neg.f64 z))
(* y (+ x (/ (* z (- x 1)) y)))
(fma.f64 x (+.f64 z y) (neg.f64 z))
(* y (+ x (/ (* z (- x 1)) y)))
(fma.f64 x (+.f64 z y) (neg.f64 z))
(* x y)
(*.f64 x y)
(* -1 (* y (+ (* -1 x) (* -1 (/ (* z (- x 1)) y)))))
(fma.f64 x (+.f64 z y) (neg.f64 z))
(* -1 (* y (+ (* -1 x) (* -1 (/ (* z (- x 1)) y)))))
(fma.f64 x (+.f64 z y) (neg.f64 z))
(* -1 (* y (+ (* -1 x) (* -1 (/ (* z (- x 1)) y)))))
(fma.f64 x (+.f64 z y) (neg.f64 z))
(* x y)
(*.f64 x y)
(+ (* x y) (* z (- x 1)))
(fma.f64 x (+.f64 z y) (neg.f64 z))
(+ (* x y) (* z (- x 1)))
(fma.f64 x (+.f64 z y) (neg.f64 z))
(+ (* x y) (* z (- x 1)))
(fma.f64 x (+.f64 z y) (neg.f64 z))
(* z (- x 1))
(-.f64 (*.f64 z x) z)
(* z (- (+ x (/ (* x y) z)) 1))
(fma.f64 x (+.f64 z y) (neg.f64 z))
(* z (- (+ x (/ (* x y) z)) 1))
(fma.f64 x (+.f64 z y) (neg.f64 z))
(* z (- (+ x (/ (* x y) z)) 1))
(fma.f64 x (+.f64 z y) (neg.f64 z))
(* z (- x 1))
(-.f64 (*.f64 z x) z)
(* -1 (* z (+ (* -1 (- x 1)) (* -1 (/ (* x y) z)))))
(fma.f64 x (+.f64 z y) (neg.f64 z))
(* -1 (* z (+ (* -1 (- x 1)) (* -1 (/ (* x y) z)))))
(fma.f64 x (+.f64 z y) (neg.f64 z))
(* -1 (* z (+ (* -1 (- x 1)) (* -1 (/ (* x y) z)))))
(fma.f64 x (+.f64 z y) (neg.f64 z))
(* x (+ y z))
(*.f64 x (+.f64 z y))
(* x (+ y z))
(*.f64 x (+.f64 z y))
(* x (+ y z))
(*.f64 x (+.f64 z y))
(* x (+ y z))
(*.f64 x (+.f64 z y))
(* x (+ y z))
(*.f64 x (+.f64 z y))
(* x (+ y z))
(*.f64 x (+.f64 z y))
(* x (+ y z))
(*.f64 x (+.f64 z y))
(* x (+ y z))
(*.f64 x (+.f64 z y))
(* x (+ y z))
(*.f64 x (+.f64 z y))
(* x (+ y z))
(*.f64 x (+.f64 z y))
(* x (+ y z))
(*.f64 x (+.f64 z y))
(* x (+ y z))
(*.f64 x (+.f64 z y))
(* x y)
(*.f64 x y)
(+ (* x y) (* x z))
(*.f64 x (+.f64 z y))
(+ (* x y) (* x z))
(*.f64 x (+.f64 z y))
(+ (* x y) (* x z))
(*.f64 x (+.f64 z y))
(* x z)
(*.f64 z x)
(* z (+ x (/ (* x y) z)))
(*.f64 x (+.f64 z y))
(* z (+ x (/ (* x y) z)))
(*.f64 x (+.f64 z y))
(* z (+ x (/ (* x y) z)))
(*.f64 x (+.f64 z y))
(* x z)
(*.f64 z x)
(* -1 (* z (+ (* -1 x) (* -1 (/ (* x y) z)))))
(*.f64 x (+.f64 z y))
(* -1 (* z (+ (* -1 x) (* -1 (/ (* x y) z)))))
(*.f64 x (+.f64 z y))
(* -1 (* z (+ (* -1 x) (* -1 (/ (* x y) z)))))
(*.f64 x (+.f64 z y))
(* x z)
(*.f64 z x)
(+ (* x y) (* x z))
(*.f64 x (+.f64 z y))
(+ (* x y) (* x z))
(*.f64 x (+.f64 z y))
(+ (* x y) (* x z))
(*.f64 x (+.f64 z y))
(* x y)
(*.f64 x y)
(* y (+ x (/ (* x z) y)))
(*.f64 x (+.f64 z y))
(* y (+ x (/ (* x z) y)))
(*.f64 x (+.f64 z y))
(* y (+ x (/ (* x z) y)))
(*.f64 x (+.f64 z y))
(* x y)
(*.f64 x y)
(* -1 (* y (+ (* -1 x) (* -1 (/ (* x z) y)))))
(*.f64 x (+.f64 z y))
(* -1 (* y (+ (* -1 x) (* -1 (/ (* x z) y)))))
(*.f64 x (+.f64 z y))
(* -1 (* y (+ (* -1 x) (* -1 (/ (* x z) y)))))
(*.f64 x (+.f64 z y))
y
(+ y z)
(+.f64 z y)
(+ y z)
(+.f64 z y)
(+ y z)
(+.f64 z y)
z
(* z (+ 1 (/ y z)))
(+.f64 z y)
(* z (+ 1 (/ y z)))
(+.f64 z y)
(* z (+ 1 (/ y z)))
(+.f64 z y)
z
(* -1 (* z (- (* -1 (/ y z)) 1)))
(+.f64 z y)
(* -1 (* z (- (* -1 (/ y z)) 1)))
(+.f64 z y)
(* -1 (* z (- (* -1 (/ y z)) 1)))
(+.f64 z y)
z
(+ y z)
(+.f64 z y)
(+ y z)
(+.f64 z y)
(+ y z)
(+.f64 z y)
y
(* y (+ 1 (/ z y)))
(+.f64 z y)
(* y (+ 1 (/ z y)))
(+.f64 z y)
(* y (+ 1 (/ z y)))
(+.f64 z y)
y
(* -1 (* y (- (* -1 (/ z y)) 1)))
(+.f64 z y)
(* -1 (* y (- (* -1 (/ z y)) 1)))
(+.f64 z y)
(* -1 (* y (- (* -1 (/ z y)) 1)))
(+.f64 z y)
(* -1 z)
(neg.f64 z)
(+ (* -1 z) (* x (+ y z)))
(fma.f64 x (+.f64 z y) (neg.f64 z))
(+ (* -1 z) (* x (+ y z)))
(fma.f64 x (+.f64 z y) (neg.f64 z))
(+ (* -1 z) (* x (+ y z)))
(fma.f64 x (+.f64 z y) (neg.f64 z))
(* x (+ y z))
(*.f64 x (+.f64 z y))
(* x (+ y (+ z (* -1 (/ z x)))))
(fma.f64 x (+.f64 z y) (neg.f64 z))
(* x (+ y (+ z (* -1 (/ z x)))))
(fma.f64 x (+.f64 z y) (neg.f64 z))
(* x (+ y (+ z (* -1 (/ z x)))))
(fma.f64 x (+.f64 z y) (neg.f64 z))
(* -1 (* x (+ (* -1 y) (* -1 z))))
(*.f64 x (+.f64 z y))
(* -1 (* x (+ (* -1 y) (+ (* -1 z) (/ z x)))))
(fma.f64 x (+.f64 z y) (neg.f64 z))
(* -1 (* x (+ (* -1 y) (+ (* -1 z) (/ z x)))))
(fma.f64 x (+.f64 z y) (neg.f64 z))
(* -1 (* x (+ (* -1 y) (+ (* -1 z) (/ z x)))))
(fma.f64 x (+.f64 z y) (neg.f64 z))
(* z (- x 1))
(-.f64 (*.f64 z x) z)
(+ (* x y) (* z (- x 1)))
(fma.f64 x (+.f64 z y) (neg.f64 z))
(+ (* x y) (* z (- x 1)))
(fma.f64 x (+.f64 z y) (neg.f64 z))
(+ (* x y) (* z (- x 1)))
(fma.f64 x (+.f64 z y) (neg.f64 z))
(* x y)
(*.f64 x y)
(* y (+ x (/ (* z (- x 1)) y)))
(fma.f64 x (+.f64 z y) (neg.f64 z))
(* y (+ x (/ (* z (- x 1)) y)))
(fma.f64 x (+.f64 z y) (neg.f64 z))
(* y (+ x (/ (* z (- x 1)) y)))
(fma.f64 x (+.f64 z y) (neg.f64 z))
(* x y)
(*.f64 x y)
(* -1 (* y (+ (* -1 x) (* -1 (/ (* z (- x 1)) y)))))
(fma.f64 x (+.f64 z y) (neg.f64 z))
(* -1 (* y (+ (* -1 x) (* -1 (/ (* z (- x 1)) y)))))
(fma.f64 x (+.f64 z y) (neg.f64 z))
(* -1 (* y (+ (* -1 x) (* -1 (/ (* z (- x 1)) y)))))
(fma.f64 x (+.f64 z y) (neg.f64 z))
(* x y)
(*.f64 x y)
(+ (* x y) (* z (- x 1)))
(fma.f64 x (+.f64 z y) (neg.f64 z))
(+ (* x y) (* z (- x 1)))
(fma.f64 x (+.f64 z y) (neg.f64 z))
(+ (* x y) (* z (- x 1)))
(fma.f64 x (+.f64 z y) (neg.f64 z))
(* z (- x 1))
(-.f64 (*.f64 z x) z)
(* z (- (+ x (/ (* x y) z)) 1))
(fma.f64 x (+.f64 z y) (neg.f64 z))
(* z (- (+ x (/ (* x y) z)) 1))
(fma.f64 x (+.f64 z y) (neg.f64 z))
(* z (- (+ x (/ (* x y) z)) 1))
(fma.f64 x (+.f64 z y) (neg.f64 z))
(* z (- x 1))
(-.f64 (*.f64 z x) z)
(* -1 (* z (+ (* -1 (- x 1)) (* -1 (/ (* x y) z)))))
(fma.f64 x (+.f64 z y) (neg.f64 z))
(* -1 (* z (+ (* -1 (- x 1)) (* -1 (/ (* x y) z)))))
(fma.f64 x (+.f64 z y) (neg.f64 z))
(* -1 (* z (+ (* -1 (- x 1)) (* -1 (/ (* x y) z)))))
(fma.f64 x (+.f64 z y) (neg.f64 z))
(* z (- x 1))
(-.f64 (*.f64 z x) z)
(* z (- x 1))
(-.f64 (*.f64 z x) z)
(* z (- x 1))
(-.f64 (*.f64 z x) z)
(* z (- x 1))
(-.f64 (*.f64 z x) z)
(* z (- x 1))
(-.f64 (*.f64 z x) z)
(* z (- x 1))
(-.f64 (*.f64 z x) z)
(* z (- x 1))
(-.f64 (*.f64 z x) z)
(* z (- x 1))
(-.f64 (*.f64 z x) z)
(* -1 (* z (+ 1 (* -1 x))))
(-.f64 (*.f64 z x) z)
(* -1 (* z (+ 1 (* -1 x))))
(-.f64 (*.f64 z x) z)
(* -1 (* z (+ 1 (* -1 x))))
(-.f64 (*.f64 z x) z)
(* -1 (* z (+ 1 (* -1 x))))
(-.f64 (*.f64 z x) z)
(* -1 z)
(neg.f64 z)
(- (* x z) z)
(-.f64 (*.f64 z x) z)
(- (* x z) z)
(-.f64 (*.f64 z x) z)
(- (* x z) z)
(-.f64 (*.f64 z x) z)
(* x z)
(*.f64 z x)
(* x (+ z (* -1 (/ z x))))
(-.f64 (*.f64 z x) z)
(* x (+ z (* -1 (/ z x))))
(-.f64 (*.f64 z x) z)
(* x (+ z (* -1 (/ z x))))
(-.f64 (*.f64 z x) z)
(* x z)
(*.f64 z x)
(* -1 (* x (+ (* -1 z) (/ z x))))
(-.f64 (*.f64 z x) z)
(* -1 (* x (+ (* -1 z) (/ z x))))
(-.f64 (*.f64 z x) z)
(* -1 (* x (+ (* -1 z) (/ z x))))
(-.f64 (*.f64 z x) z)

rewrite363.0ms (7%)

Memory
-28.5MiB live, 627.9MiB allocated
Algorithm
batch-egg-rewrite
Rules
9 348×lower-fma.f32
9 346×lower-fma.f64
4 900×lower-*.f32
4 896×lower-*.f64
3 054×lower-/.f64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01993
02693
110493
275277
0972072
Stop Event
iter limit
node limit
iter limit
Counts
11 → 305
Calls
Call 1
Inputs
(+.f64 (*.f64 x y) #s(approx (* (- x 1) z) (neg.f64 z)))
(*.f64 x y)
#s(approx (* (- x 1) z) (neg.f64 z))
(neg.f64 z)
#s(approx (+ (* x y) (* (- x 1) z)) (neg.f64 z))
#s(approx (+ (* x y) (* (- x 1) z)) (*.f64 x y))
#s(approx (+ (* x y) (* (- x 1) z)) (*.f64 x (+.f64 z y)))
(*.f64 x (+.f64 z y))
(+.f64 z y)
#s(approx (+ (* x y) (* (- x 1) z)) (fma.f64 z x (neg.f64 z)))
(fma.f64 z x (neg.f64 z))
Outputs
(+.f64 (*.f64 x y) #s(approx (* (- x 1) z) z))
(+.f64 #s(approx (* (- x 1) z) z) (*.f64 x y))
(+.f64 (/.f64 (*.f64 x (*.f64 x (*.f64 y y))) (-.f64 (*.f64 x y) #s(approx (* (- x 1) z) z))) (neg.f64 (/.f64 (*.f64 #s(approx (* (- x 1) z) z) #s(approx (* (- x 1) z) z)) (-.f64 (*.f64 x y) #s(approx (* (- x 1) z) z)))))
(-.f64 (/.f64 (*.f64 x (*.f64 x (*.f64 y y))) (-.f64 (*.f64 x y) #s(approx (* (- x 1) z) z))) (/.f64 (*.f64 #s(approx (* (- x 1) z) z) #s(approx (* (- x 1) z) z)) (-.f64 (*.f64 x y) #s(approx (* (- x 1) z) z))))
(-.f64 (/.f64 (*.f64 #s(approx (* (- x 1) z) z) #s(approx (* (- x 1) z) z)) (-.f64 #s(approx (* (- x 1) z) z) (*.f64 x y))) (/.f64 (*.f64 x (*.f64 x (*.f64 y y))) (-.f64 #s(approx (* (- x 1) z) z) (*.f64 x y))))
(fma.f64 x y #s(approx (* (- x 1) z) z))
(fma.f64 x (*.f64 #s(literal 1 binary64) y) #s(approx (* (- x 1) z) z))
(fma.f64 y x #s(approx (* (- x 1) z) z))
(fma.f64 (*.f64 x y) #s(literal 1 binary64) #s(approx (* (- x 1) z) z))
(fma.f64 #s(literal 1 binary64) (*.f64 x y) #s(approx (* (- x 1) z) z))
(fma.f64 (*.f64 x (*.f64 x (*.f64 y y))) (/.f64 #s(literal 1 binary64) (-.f64 (*.f64 x y) #s(approx (* (- x 1) z) z))) (neg.f64 (/.f64 (*.f64 #s(approx (* (- x 1) z) z) #s(approx (* (- x 1) z) z)) (-.f64 (*.f64 x y) #s(approx (* (- x 1) z) z)))))
(fma.f64 (*.f64 y #s(literal 1 binary64)) x #s(approx (* (- x 1) z) z))
(neg.f64 (/.f64 (*.f64 (fma.f64 #s(approx (* (- x 1) z) z) #s(approx (* (- x 1) z) z) (*.f64 (*.f64 x y) (-.f64 (*.f64 x y) #s(approx (* (- x 1) z) z)))) (fma.f64 x y #s(approx (* (- x 1) z) z))) (neg.f64 (fma.f64 #s(approx (* (- x 1) z) z) (-.f64 #s(approx (* (- x 1) z) z) (*.f64 x y)) (*.f64 x (*.f64 x (*.f64 y y)))))))
(neg.f64 (/.f64 (*.f64 (fma.f64 x y #s(approx (* (- x 1) z) z)) (-.f64 (*.f64 x y) #s(approx (* (- x 1) z) z))) (neg.f64 (-.f64 (*.f64 x y) #s(approx (* (- x 1) z) z)))))
(neg.f64 (/.f64 (neg.f64 (*.f64 (fma.f64 #s(approx (* (- x 1) z) z) #s(approx (* (- x 1) z) z) (*.f64 (*.f64 x y) (-.f64 (*.f64 x y) #s(approx (* (- x 1) z) z)))) (fma.f64 x y #s(approx (* (- x 1) z) z)))) (fma.f64 #s(approx (* (- x 1) z) z) (-.f64 #s(approx (* (- x 1) z) z) (*.f64 x y)) (*.f64 x (*.f64 x (*.f64 y y))))))
(neg.f64 (/.f64 (neg.f64 (*.f64 (fma.f64 x y #s(approx (* (- x 1) z) z)) (-.f64 (*.f64 x y) #s(approx (* (- x 1) z) z)))) (-.f64 (*.f64 x y) #s(approx (* (- x 1) z) z))))
(/.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) (fma.f64 x y #s(approx (* (- x 1) z) z))))
(/.f64 #s(literal 1 binary64) (/.f64 (/.f64 #s(literal 1 binary64) (fma.f64 x y #s(approx (* (- x 1) z) z))) #s(literal 1 binary64)))
(/.f64 #s(literal 1 binary64) (/.f64 (fma.f64 #s(approx (* (- x 1) z) z) #s(approx (* (- x 1) z) z) (*.f64 (*.f64 x y) (-.f64 (*.f64 x y) #s(approx (* (- x 1) z) z)))) (*.f64 (fma.f64 #s(approx (* (- x 1) z) z) #s(approx (* (- x 1) z) z) (*.f64 (*.f64 x y) (-.f64 (*.f64 x y) #s(approx (* (- x 1) z) z)))) (fma.f64 x y #s(approx (* (- x 1) z) z)))))
(/.f64 #s(literal 1 binary64) (/.f64 (-.f64 #s(approx (* (- x 1) z) z) (*.f64 x y)) (*.f64 (fma.f64 x y #s(approx (* (- x 1) z) z)) (-.f64 #s(approx (* (- x 1) z) z) (*.f64 x y)))))
(/.f64 (*.f64 (fma.f64 #s(approx (* (- x 1) z) z) #s(approx (* (- x 1) z) z) (*.f64 (*.f64 x y) (-.f64 (*.f64 x y) #s(approx (* (- x 1) z) z)))) (fma.f64 x y #s(approx (* (- x 1) z) z))) (fma.f64 #s(approx (* (- x 1) z) z) (-.f64 #s(approx (* (- x 1) z) z) (*.f64 x y)) (*.f64 x (*.f64 x (*.f64 y y)))))
(/.f64 (*.f64 (fma.f64 #s(approx (* (- x 1) z) z) #s(approx (* (- x 1) z) z) (*.f64 (*.f64 x y) (-.f64 (*.f64 x y) #s(approx (* (- x 1) z) z)))) (fma.f64 x y #s(approx (* (- x 1) z) z))) (fma.f64 #s(approx (* (- x 1) z) z) #s(approx (* (- x 1) z) z) (*.f64 (*.f64 x y) (-.f64 (*.f64 x y) #s(approx (* (- x 1) z) z)))))
(/.f64 #s(literal -1 binary64) (neg.f64 (/.f64 #s(literal 1 binary64) (fma.f64 x y #s(approx (* (- x 1) z) z)))))
(/.f64 (*.f64 (fma.f64 x y #s(approx (* (- x 1) z) z)) (-.f64 (*.f64 x y) #s(approx (* (- x 1) z) z))) (-.f64 (*.f64 x y) #s(approx (* (- x 1) z) z)))
(/.f64 (neg.f64 (*.f64 (fma.f64 #s(approx (* (- x 1) z) z) #s(approx (* (- x 1) z) z) (*.f64 (*.f64 x y) (-.f64 (*.f64 x y) #s(approx (* (- x 1) z) z)))) (fma.f64 x y #s(approx (* (- x 1) z) z)))) (neg.f64 (fma.f64 #s(approx (* (- x 1) z) z) (-.f64 #s(approx (* (- x 1) z) z) (*.f64 x y)) (*.f64 x (*.f64 x (*.f64 y y))))))
(/.f64 (neg.f64 (*.f64 (fma.f64 #s(approx (* (- x 1) z) z) #s(approx (* (- x 1) z) z) (*.f64 (*.f64 x y) (-.f64 (*.f64 x y) #s(approx (* (- x 1) z) z)))) (fma.f64 x y #s(approx (* (- x 1) z) z)))) (neg.f64 (fma.f64 #s(approx (* (- x 1) z) z) #s(approx (* (- x 1) z) z) (*.f64 (*.f64 x y) (-.f64 (*.f64 x y) #s(approx (* (- x 1) z) z))))))
(/.f64 (neg.f64 (*.f64 (fma.f64 x y #s(approx (* (- x 1) z) z)) (-.f64 (*.f64 x y) #s(approx (* (- x 1) z) z)))) (neg.f64 (-.f64 (*.f64 x y) #s(approx (* (- x 1) z) z))))
(/.f64 (*.f64 (fma.f64 x y #s(approx (* (- x 1) z) z)) (-.f64 #s(approx (* (- x 1) z) z) (*.f64 x y))) (-.f64 #s(approx (* (- x 1) z) z) (*.f64 x y)))
(/.f64 (-.f64 (*.f64 (*.f64 x (*.f64 x (*.f64 y y))) (-.f64 (*.f64 x y) #s(approx (* (- x 1) z) z))) (*.f64 (-.f64 (*.f64 x y) #s(approx (* (- x 1) z) z)) (*.f64 #s(approx (* (- x 1) z) z) #s(approx (* (- x 1) z) z)))) (*.f64 (-.f64 (*.f64 x y) #s(approx (* (- x 1) z) z)) (-.f64 (*.f64 x y) #s(approx (* (- x 1) z) z))))
(/.f64 (*.f64 (fma.f64 (*.f64 (*.f64 x (*.f64 y y)) (*.f64 x (*.f64 x y))) (*.f64 (*.f64 (*.f64 x (*.f64 y y)) (*.f64 x (*.f64 x y))) (*.f64 (*.f64 x (*.f64 y y)) (*.f64 x (*.f64 x y)))) (*.f64 (*.f64 #s(approx (* (- x 1) z) z) (*.f64 #s(approx (* (- x 1) z) z) #s(approx (* (- x 1) z) z))) (*.f64 (*.f64 #s(approx (* (- x 1) z) z) (*.f64 #s(approx (* (- x 1) z) z) #s(approx (* (- x 1) z) z))) (*.f64 #s(approx (* (- x 1) z) z) (*.f64 #s(approx (* (- x 1) z) z) #s(approx (* (- x 1) z) z)))))) #s(literal 1 binary64)) (*.f64 (fma.f64 (*.f64 x y) (*.f64 (*.f64 x (*.f64 x (*.f64 y y))) (*.f64 (*.f64 x (*.f64 y y)) (*.f64 x (*.f64 x y)))) (*.f64 (*.f64 #s(approx (* (- x 1) z) z) (*.f64 #s(approx (* (- x 1) z) z) #s(approx (* (- x 1) z) z))) (-.f64 (*.f64 #s(approx (* (- x 1) z) z) (*.f64 #s(approx (* (- x 1) z) z) #s(approx (* (- x 1) z) z))) (*.f64 (*.f64 x (*.f64 y y)) (*.f64 x (*.f64 x y)))))) (fma.f64 #s(approx (* (- x 1) z) z) (-.f64 #s(approx (* (- x 1) z) z) (*.f64 x y)) (*.f64 x (*.f64 x (*.f64 y y))))))
(/.f64 (*.f64 (*.f64 (*.f64 (fma.f64 #s(approx (* (- x 1) z) z) #s(approx (* (- x 1) z) z) (*.f64 (*.f64 x y) (-.f64 (*.f64 x y) #s(approx (* (- x 1) z) z)))) (fma.f64 x y #s(approx (* (- x 1) z) z))) (-.f64 (*.f64 (*.f64 x (*.f64 y y)) (*.f64 x (*.f64 x y))) (*.f64 #s(approx (* (- x 1) z) z) (*.f64 #s(approx (* (- x 1) z) z) #s(approx (* (- x 1) z) z))))) #s(literal 1 binary64)) (*.f64 (-.f64 (*.f64 (*.f64 x (*.f64 y y)) (*.f64 x (*.f64 x y))) (*.f64 #s(approx (* (- x 1) z) z) (*.f64 #s(approx (* (- x 1) z) z) #s(approx (* (- x 1) z) z)))) (fma.f64 #s(approx (* (- x 1) z) z) (-.f64 #s(approx (* (- x 1) z) z) (*.f64 x y)) (*.f64 x (*.f64 x (*.f64 y y))))))
(/.f64 (*.f64 (*.f64 (*.f64 (fma.f64 #s(approx (* (- x 1) z) z) #s(approx (* (- x 1) z) z) (*.f64 (*.f64 x y) (-.f64 (*.f64 x y) #s(approx (* (- x 1) z) z)))) (fma.f64 x y #s(approx (* (- x 1) z) z))) (-.f64 (*.f64 (*.f64 x (*.f64 y y)) (*.f64 x (*.f64 x y))) (*.f64 #s(approx (* (- x 1) z) z) (*.f64 #s(approx (* (- x 1) z) z) #s(approx (* (- x 1) z) z))))) #s(literal 1 binary64)) (*.f64 (fma.f64 x (*.f64 (*.f64 x (*.f64 y y)) (*.f64 x (*.f64 x (*.f64 y y)))) (*.f64 (*.f64 #s(approx (* (- x 1) z) z) #s(approx (* (- x 1) z) z)) (fma.f64 #s(approx (* (- x 1) z) z) #s(approx (* (- x 1) z) z) (*.f64 x (*.f64 x (*.f64 y y)))))) (-.f64 (*.f64 x y) #s(approx (* (- x 1) z) z))))
(/.f64 (*.f64 (*.f64 (fma.f64 x (*.f64 x (*.f64 y y)) (*.f64 #s(approx (* (- x 1) z) z) #s(approx (* (- x 1) z) z))) (*.f64 (fma.f64 x y #s(approx (* (- x 1) z) z)) (-.f64 (*.f64 x y) #s(approx (* (- x 1) z) z)))) #s(literal 1 binary64)) (*.f64 (fma.f64 x (*.f64 x (*.f64 y y)) (*.f64 #s(approx (* (- x 1) z) z) #s(approx (* (- x 1) z) z))) (-.f64 (*.f64 x y) #s(approx (* (- x 1) z) z))))
(/.f64 (neg.f64 (neg.f64 (*.f64 (fma.f64 #s(approx (* (- x 1) z) z) #s(approx (* (- x 1) z) z) (*.f64 (*.f64 x y) (-.f64 (*.f64 x y) #s(approx (* (- x 1) z) z)))) (fma.f64 x y #s(approx (* (- x 1) z) z))))) (neg.f64 (neg.f64 (fma.f64 #s(approx (* (- x 1) z) z) (-.f64 #s(approx (* (- x 1) z) z) (*.f64 x y)) (*.f64 x (*.f64 x (*.f64 y y)))))))
(/.f64 (neg.f64 (neg.f64 (*.f64 (fma.f64 x y #s(approx (* (- x 1) z) z)) (-.f64 (*.f64 x y) #s(approx (* (- x 1) z) z))))) (neg.f64 (neg.f64 (-.f64 (*.f64 x y) #s(approx (* (- x 1) z) z)))))
(/.f64 (neg.f64 (*.f64 (fma.f64 x y #s(approx (* (- x 1) z) z)) (-.f64 #s(approx (* (- x 1) z) z) (*.f64 x y)))) (neg.f64 (-.f64 #s(approx (* (- x 1) z) z) (*.f64 x y))))
(/.f64 (-.f64 (pow.f64 (/.f64 (*.f64 x (*.f64 x (*.f64 y y))) (-.f64 (*.f64 x y) #s(approx (* (- x 1) z) z))) #s(literal 3 binary64)) (pow.f64 (/.f64 (*.f64 #s(approx (* (- x 1) z) z) #s(approx (* (- x 1) z) z)) (-.f64 (*.f64 x y) #s(approx (* (- x 1) z) z))) #s(literal 3 binary64))) (fma.f64 (/.f64 (*.f64 x (*.f64 x (*.f64 y y))) (-.f64 (*.f64 x y) #s(approx (* (- x 1) z) z))) (/.f64 (*.f64 x (*.f64 x (*.f64 y y))) (-.f64 (*.f64 x y) #s(approx (* (- x 1) z) z))) (fma.f64 (/.f64 (*.f64 #s(approx (* (- x 1) z) z) #s(approx (* (- x 1) z) z)) (-.f64 (*.f64 x y) #s(approx (* (- x 1) z) z))) (/.f64 (*.f64 #s(approx (* (- x 1) z) z) #s(approx (* (- x 1) z) z)) (-.f64 (*.f64 x y) #s(approx (* (- x 1) z) z))) (*.f64 (/.f64 (*.f64 x (*.f64 x (*.f64 y y))) (-.f64 (*.f64 x y) #s(approx (* (- x 1) z) z))) (/.f64 (*.f64 #s(approx (* (- x 1) z) z) #s(approx (* (- x 1) z) z)) (-.f64 (*.f64 x y) #s(approx (* (- x 1) z) z)))))))
(/.f64 (-.f64 (*.f64 (/.f64 (*.f64 x (*.f64 x (*.f64 y y))) (-.f64 (*.f64 x y) #s(approx (* (- x 1) z) z))) (/.f64 (*.f64 x (*.f64 x (*.f64 y y))) (-.f64 (*.f64 x y) #s(approx (* (- x 1) z) z)))) (*.f64 (/.f64 (*.f64 #s(approx (* (- x 1) z) z) #s(approx (* (- x 1) z) z)) (-.f64 (*.f64 x y) #s(approx (* (- x 1) z) z))) (/.f64 (*.f64 #s(approx (* (- x 1) z) z) #s(approx (* (- x 1) z) z)) (-.f64 (*.f64 x y) #s(approx (* (- x 1) z) z))))) (+.f64 (/.f64 (*.f64 x (*.f64 x (*.f64 y y))) (-.f64 (*.f64 x y) #s(approx (* (- x 1) z) z))) (/.f64 (*.f64 #s(approx (* (- x 1) z) z) #s(approx (* (- x 1) z) z)) (-.f64 (*.f64 x y) #s(approx (* (- x 1) z) z)))))
(/.f64 (*.f64 (*.f64 (fma.f64 #s(approx (* (- x 1) z) z) #s(approx (* (- x 1) z) z) (*.f64 (*.f64 x y) (-.f64 (*.f64 x y) #s(approx (* (- x 1) z) z)))) (fma.f64 x y #s(approx (* (- x 1) z) z))) #s(literal 1 binary64)) (fma.f64 #s(approx (* (- x 1) z) z) (-.f64 #s(approx (* (- x 1) z) z) (*.f64 x y)) (*.f64 x (*.f64 x (*.f64 y y)))))
(/.f64 (*.f64 (*.f64 (fma.f64 x y #s(approx (* (- x 1) z) z)) (-.f64 (*.f64 x y) #s(approx (* (- x 1) z) z))) #s(literal 1 binary64)) (-.f64 (*.f64 x y) #s(approx (* (- x 1) z) z)))
(pow.f64 (/.f64 #s(literal 1 binary64) (fma.f64 x y #s(approx (* (- x 1) z) z))) #s(literal -1 binary64))
(*.f64 #s(literal 1 binary64) (fma.f64 x y #s(approx (* (- x 1) z) z)))
(*.f64 (fma.f64 x y #s(approx (* (- x 1) z) z)) (*.f64 (-.f64 (*.f64 x y) #s(approx (* (- x 1) z) z)) (/.f64 #s(literal 1 binary64) (-.f64 (*.f64 x y) #s(approx (* (- x 1) z) z)))))
(*.f64 (*.f64 (fma.f64 #s(approx (* (- x 1) z) z) #s(approx (* (- x 1) z) z) (*.f64 (*.f64 x y) (-.f64 (*.f64 x y) #s(approx (* (- x 1) z) z)))) (fma.f64 x y #s(approx (* (- x 1) z) z))) (/.f64 #s(literal 1 binary64) (fma.f64 #s(approx (* (- x 1) z) z) (-.f64 #s(approx (* (- x 1) z) z) (*.f64 x y)) (*.f64 x (*.f64 x (*.f64 y y))))))
(*.f64 (*.f64 (fma.f64 #s(approx (* (- x 1) z) z) #s(approx (* (- x 1) z) z) (*.f64 (*.f64 x y) (-.f64 (*.f64 x y) #s(approx (* (- x 1) z) z)))) (fma.f64 x y #s(approx (* (- x 1) z) z))) (/.f64 #s(literal 1 binary64) (fma.f64 #s(approx (* (- x 1) z) z) #s(approx (* (- x 1) z) z) (*.f64 (*.f64 x y) (-.f64 (*.f64 x y) #s(approx (* (- x 1) z) z))))))
(*.f64 (fma.f64 #s(approx (* (- x 1) z) z) (-.f64 #s(approx (* (- x 1) z) z) (*.f64 x y)) (*.f64 x (*.f64 x (*.f64 y y)))) (*.f64 (fma.f64 x y #s(approx (* (- x 1) z) z)) (/.f64 #s(literal 1 binary64) (fma.f64 #s(approx (* (- x 1) z) z) (-.f64 #s(approx (* (- x 1) z) z) (*.f64 x y)) (*.f64 x (*.f64 x (*.f64 y y)))))))
(*.f64 (*.f64 (fma.f64 x y #s(approx (* (- x 1) z) z)) (-.f64 (*.f64 x y) #s(approx (* (- x 1) z) z))) (/.f64 #s(literal 1 binary64) (-.f64 (*.f64 x y) #s(approx (* (- x 1) z) z))))
(*.f64 (neg.f64 (*.f64 (fma.f64 #s(approx (* (- x 1) z) z) #s(approx (* (- x 1) z) z) (*.f64 (*.f64 x y) (-.f64 (*.f64 x y) #s(approx (* (- x 1) z) z)))) (fma.f64 x y #s(approx (* (- x 1) z) z)))) (/.f64 #s(literal 1 binary64) (neg.f64 (fma.f64 #s(approx (* (- x 1) z) z) (-.f64 #s(approx (* (- x 1) z) z) (*.f64 x y)) (*.f64 x (*.f64 x (*.f64 y y)))))))
(*.f64 (neg.f64 (*.f64 (fma.f64 x y #s(approx (* (- x 1) z) z)) (-.f64 (*.f64 x y) #s(approx (* (- x 1) z) z)))) (/.f64 #s(literal 1 binary64) (neg.f64 (-.f64 (*.f64 x y) #s(approx (* (- x 1) z) z)))))
(*.f64 (*.f64 (fma.f64 x y #s(approx (* (- x 1) z) z)) (-.f64 #s(approx (* (- x 1) z) z) (*.f64 x y))) (/.f64 #s(literal 1 binary64) (-.f64 #s(approx (* (- x 1) z) z) (*.f64 x y))))
(*.f64 x y)
(*.f64 x (*.f64 #s(literal 1 binary64) y))
(*.f64 y x)
(*.f64 (*.f64 x y) #s(literal 1 binary64))
(*.f64 #s(literal 1 binary64) (*.f64 x y))
(*.f64 (*.f64 y #s(literal 1 binary64)) x)
#s(approx (* (- x 1) z) z)
z
(+.f64 #s(literal 0 binary64) z)
(-.f64 #s(literal 0 binary64) z)
(-.f64 (/.f64 #s(literal 0 binary64) (fma.f64 z z #s(literal 0 binary64))) z)
(-.f64 (/.f64 #s(literal 0 binary64) z) z)
(neg.f64 z)
(/.f64 #s(literal 1 binary64) (/.f64 (fma.f64 z z #s(literal 0 binary64)) (*.f64 z (*.f64 z z))))
(/.f64 #s(literal 1 binary64) (/.f64 z (*.f64 z z)))
(/.f64 (*.f64 z z) z)
(/.f64 (*.f64 z (*.f64 z z)) (fma.f64 z z #s(literal 0 binary64)))
(/.f64 (*.f64 z (*.f64 z z)) (neg.f64 (fma.f64 z z #s(literal 0 binary64))))
(/.f64 (*.f64 z (*.f64 z z)) (+.f64 #s(literal 0 binary64) (-.f64 (*.f64 z z) #s(literal 0 binary64))))
(*.f64 #s(literal 1 binary64) z)
(*.f64 z #s(literal 1 binary64))
(*.f64 z #s(literal -1 binary64))
(*.f64 (*.f64 z z) (/.f64 #s(literal 1 binary64) z))
(*.f64 (*.f64 z (*.f64 z z)) (/.f64 #s(literal 1 binary64) (fma.f64 z z #s(literal 0 binary64))))
(*.f64 #s(literal -1 binary64) z)
#s(approx (+ (* x y) (* (- x 1) z)) z)
#s(approx (+ (* x y) (* (- x 1) z)) (*.f64 x y))
#s(approx (+ (* x y) (* (- x 1) z)) (*.f64 x (+.f64 y z)))
(+.f64 (*.f64 x y) (*.f64 x z))
(+.f64 (*.f64 x z) (*.f64 x y))
(-.f64 (/.f64 (*.f64 x (*.f64 x (*.f64 z z))) (*.f64 x (-.f64 z y))) (/.f64 (*.f64 x (*.f64 x (*.f64 y y))) (*.f64 x (-.f64 z y))))
(fma.f64 x y (*.f64 x z))
(fma.f64 x z (*.f64 x y))
(fma.f64 x (*.f64 #s(literal 1 binary64) y) (*.f64 x z))
(fma.f64 y x (*.f64 x z))
(fma.f64 (*.f64 x y) #s(literal 1 binary64) (*.f64 x z))
(fma.f64 #s(literal 1 binary64) (*.f64 x y) (*.f64 x z))
(fma.f64 #s(literal 1 binary64) (*.f64 x z) (*.f64 x y))
(fma.f64 z x (*.f64 x y))
(fma.f64 z (*.f64 x #s(literal -1 binary64)) (*.f64 x y))
(fma.f64 z (neg.f64 x) (*.f64 x y))
(fma.f64 (*.f64 x z) #s(literal 1 binary64) (*.f64 x y))
(fma.f64 (*.f64 x z) #s(literal -1 binary64) (*.f64 x y))
(fma.f64 #s(literal -1 binary64) (*.f64 x z) (*.f64 x y))
(fma.f64 (*.f64 x #s(literal -1 binary64)) z (*.f64 x y))
(fma.f64 (neg.f64 x) z (*.f64 x y))
(fma.f64 (*.f64 y #s(literal 1 binary64)) x (*.f64 x z))
(/.f64 x (/.f64 #s(literal 1 binary64) (+.f64 y z)))
(/.f64 #s(literal 1 binary64) (/.f64 (fma.f64 x (*.f64 x (*.f64 z z)) (*.f64 (*.f64 x y) (-.f64 (*.f64 x y) (*.f64 x z)))) (*.f64 (*.f64 x (*.f64 x x)) (fma.f64 y (*.f64 y y) (*.f64 z (*.f64 z z))))))
(/.f64 #s(literal 1 binary64) (/.f64 (*.f64 x (-.f64 z y)) (*.f64 (*.f64 x (+.f64 y z)) (*.f64 x (-.f64 z y)))))
(/.f64 #s(literal 1 binary64) (/.f64 (fma.f64 y (+.f64 y z) (*.f64 z z)) (*.f64 x (fma.f64 y (*.f64 y y) (*.f64 z (*.f64 z z))))))
(/.f64 #s(literal 1 binary64) (/.f64 (-.f64 z y) (*.f64 (*.f64 x (+.f64 y z)) (-.f64 z y))))
(/.f64 #s(literal 1 binary64) (/.f64 (fma.f64 y (+.f64 y z) (*.f64 z z)) (*.f64 (fma.f64 y (*.f64 y y) (*.f64 z (*.f64 z z))) x)))
(/.f64 #s(literal 1 binary64) (/.f64 (-.f64 z y) (*.f64 (+.f64 y z) (*.f64 (-.f64 z y) x))))
(/.f64 (*.f64 (*.f64 x (*.f64 x x)) (fma.f64 y (*.f64 y y) (*.f64 z (*.f64 z z)))) (fma.f64 x (*.f64 x (*.f64 z z)) (*.f64 (*.f64 x y) (-.f64 (*.f64 x y) (*.f64 x z)))))
(/.f64 (*.f64 (*.f64 x (+.f64 y z)) (*.f64 x (-.f64 z y))) (*.f64 x (-.f64 z y)))
(/.f64 (*.f64 x (fma.f64 y (*.f64 y y) (*.f64 z (*.f64 z z)))) (fma.f64 y (+.f64 y z) (*.f64 z z)))
(/.f64 (*.f64 (*.f64 x (+.f64 y z)) (-.f64 z y)) (-.f64 z y))
(/.f64 (*.f64 (fma.f64 y (*.f64 y y) (*.f64 z (*.f64 z z))) x) (fma.f64 y (+.f64 y z) (*.f64 z z)))
(/.f64 (*.f64 (+.f64 y z) (*.f64 (-.f64 z y) x)) (-.f64 z y))
(/.f64 (neg.f64 (*.f64 (*.f64 x (*.f64 x x)) (fma.f64 y (*.f64 y y) (*.f64 z (*.f64 z z))))) (neg.f64 (fma.f64 x (*.f64 x (*.f64 z z)) (*.f64 (*.f64 x y) (-.f64 (*.f64 x y) (*.f64 x z))))))
(/.f64 (neg.f64 (*.f64 (*.f64 x (+.f64 y z)) (*.f64 x (-.f64 z y)))) (neg.f64 (*.f64 x (-.f64 z y))))
(/.f64 (neg.f64 (*.f64 x (fma.f64 y (*.f64 y y) (*.f64 z (*.f64 z z))))) (-.f64 (*.f64 z z) (*.f64 y (+.f64 y z))))
(/.f64 (neg.f64 (*.f64 (*.f64 x (+.f64 y z)) (-.f64 z y))) (+.f64 y z))
(/.f64 (neg.f64 (*.f64 (fma.f64 y (*.f64 y y) (*.f64 z (*.f64 z z))) x)) (-.f64 (*.f64 z z) (*.f64 y (+.f64 y z))))
(/.f64 (neg.f64 (*.f64 (+.f64 y z) (*.f64 (-.f64 z y) x))) (+.f64 y z))
(/.f64 (fma.f64 x (*.f64 y (*.f64 x (*.f64 x (*.f64 y y)))) (*.f64 z (*.f64 x (*.f64 x (*.f64 x (*.f64 z z)))))) (fma.f64 x (*.f64 x (*.f64 y y)) (-.f64 (*.f64 x (*.f64 x (*.f64 z z))) (*.f64 (*.f64 x y) (*.f64 x z)))))
(/.f64 (-.f64 (*.f64 x (*.f64 x (*.f64 y y))) (*.f64 x (*.f64 x (*.f64 z z)))) (-.f64 (*.f64 x y) (*.f64 x z)))
(/.f64 (*.f64 x (*.f64 (fma.f64 y (+.f64 y z) (*.f64 z z)) (-.f64 z y))) (-.f64 (*.f64 z z) (*.f64 y (+.f64 y z))))
(/.f64 (*.f64 x (fma.f64 y y (*.f64 z z))) (+.f64 y z))
(*.f64 x (+.f64 y z))
(*.f64 #s(literal 1 binary64) (*.f64 x (+.f64 y z)))
(*.f64 (+.f64 y z) x)
(*.f64 (*.f64 x (+.f64 y z)) #s(literal 1 binary64))
(*.f64 (fma.f64 y (*.f64 y y) (*.f64 z (*.f64 z z))) (*.f64 (/.f64 #s(literal 1 binary64) (fma.f64 y (+.f64 y z) (*.f64 z z))) x))
(*.f64 (*.f64 (+.f64 y z) (-.f64 z y)) (*.f64 (/.f64 #s(literal 1 binary64) (-.f64 z y)) x))
(*.f64 (*.f64 (*.f64 x (*.f64 x x)) (fma.f64 y (*.f64 y y) (*.f64 z (*.f64 z z)))) (/.f64 #s(literal 1 binary64) (fma.f64 x (*.f64 x (*.f64 z z)) (*.f64 (*.f64 x y) (-.f64 (*.f64 x y) (*.f64 x z))))))
(*.f64 (*.f64 (*.f64 x (+.f64 y z)) (*.f64 x (-.f64 z y))) (/.f64 #s(literal 1 binary64) (*.f64 x (-.f64 z y))))
(*.f64 (*.f64 x (fma.f64 y (*.f64 y y) (*.f64 z (*.f64 z z)))) (/.f64 #s(literal 1 binary64) (fma.f64 y (+.f64 y z) (*.f64 z z))))
(*.f64 (*.f64 (*.f64 x (+.f64 y z)) (-.f64 z y)) (/.f64 #s(literal 1 binary64) (-.f64 z y)))
(*.f64 (*.f64 (fma.f64 y (*.f64 y y) (*.f64 z (*.f64 z z))) x) (/.f64 #s(literal 1 binary64) (fma.f64 y (+.f64 y z) (*.f64 z z))))
(*.f64 (*.f64 (+.f64 y z) (*.f64 (-.f64 z y) x)) (/.f64 #s(literal 1 binary64) (-.f64 z y)))
(*.f64 (*.f64 (+.f64 y z) #s(literal 1 binary64)) x)
(+.f64 y z)
(+.f64 z y)
(+.f64 z (neg.f64 (neg.f64 y)))
(+.f64 (/.f64 (*.f64 z z) (+.f64 y z)) (neg.f64 (/.f64 (*.f64 y y) (-.f64 z y))))
(-.f64 y z)
(-.f64 #s(literal 0 binary64) (-.f64 z y))
(-.f64 (/.f64 (*.f64 z z) (+.f64 y z)) (/.f64 (*.f64 y y) (-.f64 z y)))
(-.f64 (/.f64 (*.f64 y y) (+.f64 y z)) (/.f64 (*.f64 z z) (+.f64 y z)))
(fma.f64 #s(literal 1 binary64) z y)
(fma.f64 #s(literal 1 binary64) z (neg.f64 (neg.f64 y)))
(fma.f64 z #s(literal 1 binary64) y)
(fma.f64 z #s(literal 1 binary64) (neg.f64 (neg.f64 y)))
(fma.f64 z #s(literal -1 binary64) y)
(fma.f64 z #s(literal -1 binary64) (neg.f64 (neg.f64 y)))
(fma.f64 (*.f64 z z) (/.f64 #s(literal 1 binary64) (-.f64 z y)) (neg.f64 (/.f64 (*.f64 y y) (-.f64 z y))))
(fma.f64 (*.f64 z z) (/.f64 #s(literal 1 binary64) z) y)
(fma.f64 (*.f64 z z) (/.f64 #s(literal 1 binary64) z) (neg.f64 (neg.f64 y)))
(fma.f64 (*.f64 z (*.f64 z z)) (/.f64 #s(literal 1 binary64) (fma.f64 z z #s(literal 0 binary64))) y)
(fma.f64 (*.f64 z (*.f64 z z)) (/.f64 #s(literal 1 binary64) (fma.f64 z z #s(literal 0 binary64))) (neg.f64 (neg.f64 y)))
(fma.f64 #s(literal -1 binary64) z y)
(fma.f64 #s(literal -1 binary64) z (neg.f64 (neg.f64 y)))
(neg.f64 (-.f64 z y))
(neg.f64 (/.f64 (fma.f64 y (*.f64 y y) (*.f64 z (*.f64 z z))) (-.f64 (*.f64 z z) (*.f64 y (+.f64 y z)))))
(neg.f64 (/.f64 (fma.f64 y y (*.f64 z z)) (-.f64 z y)))
(/.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) (+.f64 y z)))
(/.f64 #s(literal 1 binary64) (/.f64 (/.f64 #s(literal 1 binary64) (+.f64 y z)) #s(literal 1 binary64)))
(/.f64 (fma.f64 y (*.f64 y y) (*.f64 z (*.f64 z z))) (fma.f64 y (+.f64 y z) (*.f64 z z)))
(/.f64 #s(literal -1 binary64) (neg.f64 (/.f64 #s(literal 1 binary64) (+.f64 y z))))
(/.f64 (*.f64 (+.f64 y z) (-.f64 z y)) (-.f64 z y))
(/.f64 (*.f64 (+.f64 y z) (-.f64 z y)) (neg.f64 (+.f64 y z)))
(/.f64 (*.f64 (fma.f64 y (+.f64 y z) (*.f64 z z)) (-.f64 z y)) (-.f64 (*.f64 z z) (*.f64 y (+.f64 y z))))
(/.f64 (fma.f64 y y (*.f64 z z)) (+.f64 y z))
(/.f64 (-.f64 (*.f64 (*.f64 z z) (-.f64 z y)) (*.f64 (-.f64 z y) (*.f64 y y))) (*.f64 (-.f64 z y) (-.f64 z y)))
(/.f64 (*.f64 (fma.f64 (*.f64 z (*.f64 z z)) (*.f64 (*.f64 z z) (*.f64 (*.f64 z z) (*.f64 z z))) (*.f64 (*.f64 y (*.f64 y y)) (*.f64 (*.f64 y (*.f64 y y)) (*.f64 y (*.f64 y y))))) #s(literal 1 binary64)) (*.f64 (fma.f64 z (*.f64 (*.f64 z z) (*.f64 z (*.f64 z z))) (*.f64 (*.f64 y (*.f64 y y)) (-.f64 (*.f64 y (*.f64 y y)) (*.f64 z (*.f64 z z))))) (fma.f64 y (+.f64 y z) (*.f64 z z))))
(/.f64 (*.f64 (*.f64 (fma.f64 y (*.f64 y y) (*.f64 z (*.f64 z z))) (*.f64 (fma.f64 y (+.f64 y z) (*.f64 z z)) (-.f64 z y))) #s(literal 1 binary64)) (*.f64 (*.f64 (fma.f64 y (+.f64 y z) (*.f64 z z)) (-.f64 z y)) (fma.f64 y (+.f64 y z) (*.f64 z z))))
(/.f64 (*.f64 (*.f64 (fma.f64 y (*.f64 y y) (*.f64 z (*.f64 z z))) (*.f64 (fma.f64 y (+.f64 y z) (*.f64 z z)) (-.f64 z y))) #s(literal 1 binary64)) (*.f64 (fma.f64 z (*.f64 z (*.f64 z z)) (*.f64 (*.f64 y y) (fma.f64 y y (*.f64 z z)))) (-.f64 z y)))
(/.f64 (*.f64 (*.f64 (fma.f64 y y (*.f64 z z)) (*.f64 (+.f64 y z) (-.f64 z y))) #s(literal 1 binary64)) (*.f64 (fma.f64 y y (*.f64 z z)) (-.f64 z y)))
(/.f64 (neg.f64 (*.f64 (fma.f64 y (+.f64 y z) (*.f64 z z)) (-.f64 z y))) (fma.f64 y (+.f64 y z) (*.f64 z z)))
(/.f64 (neg.f64 (*.f64 (fma.f64 y (+.f64 y z) (*.f64 z z)) (-.f64 z y))) (neg.f64 (-.f64 (*.f64 z z) (*.f64 y (+.f64 y z)))))
(/.f64 (-.f64 (pow.f64 (/.f64 (*.f64 z z) (+.f64 y z)) #s(literal 3 binary64)) (pow.f64 (/.f64 (*.f64 y y) (-.f64 z y)) #s(literal 3 binary64))) (fma.f64 (/.f64 (*.f64 z z) (+.f64 y z)) (/.f64 (*.f64 z z) (+.f64 y z)) (fma.f64 (/.f64 (*.f64 y y) (-.f64 z y)) (/.f64 (*.f64 y y) (-.f64 z y)) (*.f64 (/.f64 (*.f64 z z) (+.f64 y z)) (/.f64 (*.f64 y y) (-.f64 z y))))))
(/.f64 (-.f64 (*.f64 y (*.f64 y y)) (*.f64 z (*.f64 z z))) (fma.f64 y (+.f64 y z) (*.f64 z z)))
(/.f64 (-.f64 (*.f64 (/.f64 (*.f64 z z) (+.f64 y z)) (/.f64 (*.f64 z z) (+.f64 y z))) (*.f64 (/.f64 (*.f64 y y) (-.f64 z y)) (/.f64 (*.f64 y y) (-.f64 z y)))) (+.f64 (/.f64 (*.f64 z z) (+.f64 y z)) (/.f64 (*.f64 y y) (-.f64 z y))))
(/.f64 (*.f64 (fma.f64 y (*.f64 y y) (*.f64 z (*.f64 z z))) #s(literal 1 binary64)) (fma.f64 y (+.f64 y z) (*.f64 z z)))
(/.f64 (*.f64 (*.f64 (+.f64 y z) (-.f64 z y)) #s(literal 1 binary64)) (-.f64 z y))
(pow.f64 (/.f64 #s(literal 1 binary64) (+.f64 y z)) #s(literal -1 binary64))
(*.f64 #s(literal 1 binary64) (+.f64 y z))
(*.f64 (+.f64 y z) (*.f64 (-.f64 z y) (/.f64 #s(literal 1 binary64) (-.f64 z y))))
(*.f64 (fma.f64 y (*.f64 y y) (*.f64 z (*.f64 z z))) (/.f64 #s(literal 1 binary64) (fma.f64 y (+.f64 y z) (*.f64 z z))))
(*.f64 (fma.f64 y (+.f64 y z) (*.f64 z z)) (*.f64 (+.f64 y z) (/.f64 #s(literal 1 binary64) (fma.f64 y (+.f64 y z) (*.f64 z z)))))
(*.f64 #s(literal -1 binary64) (-.f64 z y))
(*.f64 (*.f64 (+.f64 y z) (-.f64 z y)) (/.f64 #s(literal 1 binary64) (-.f64 z y)))
(*.f64 (*.f64 (fma.f64 y (+.f64 y z) (*.f64 z z)) (-.f64 z y)) (/.f64 #s(literal 1 binary64) (-.f64 (*.f64 z z) (*.f64 y (+.f64 y z)))))
(*.f64 (fma.f64 y y (*.f64 z z)) (/.f64 #s(literal 1 binary64) (+.f64 y z)))
#s(approx (+ (* x y) (* (- x 1) z)) (fma.f64 x z z))
(+.f64 z (*.f64 x z))
(+.f64 (*.f64 x z) z)
(+.f64 #s(literal 0 binary64) (fma.f64 x z z))
(+.f64 (*.f64 (*.f64 x z) (/.f64 x (+.f64 x #s(literal 1 binary64)))) (/.f64 (*.f64 z z) (fma.f64 x z z)))
(-.f64 z (*.f64 x z))
(-.f64 (*.f64 x z) z)
(-.f64 #s(literal 0 binary64) (fma.f64 x z z))
(-.f64 (*.f64 (*.f64 x z) (/.f64 x (+.f64 x #s(literal 1 binary64)))) (/.f64 (*.f64 z z) (fma.f64 x z z)))
(-.f64 (/.f64 (*.f64 z z) (fma.f64 x z z)) (*.f64 (*.f64 x z) (/.f64 x (+.f64 x #s(literal 1 binary64)))))
(-.f64 (/.f64 (*.f64 z (*.f64 x (*.f64 x (*.f64 x (*.f64 z z))))) (fma.f64 z z (*.f64 (*.f64 x z) (fma.f64 x z z)))) (/.f64 (*.f64 z (*.f64 z z)) (fma.f64 z z (*.f64 (*.f64 x z) (fma.f64 x z z)))))
(fma.f64 x z z)
(fma.f64 #s(literal 1 binary64) z (*.f64 x z))
(fma.f64 #s(literal 1 binary64) (*.f64 x z) z)
(fma.f64 z x z)
(fma.f64 z #s(literal 1 binary64) (*.f64 x z))
(fma.f64 z #s(literal -1 binary64) (*.f64 x z))
(fma.f64 z (/.f64 (*.f64 x x) (+.f64 x #s(literal 1 binary64))) (/.f64 (*.f64 z z) (fma.f64 x z z)))
(fma.f64 z (*.f64 x #s(literal -1 binary64)) z)
(fma.f64 z (neg.f64 x) z)
(fma.f64 (*.f64 x z) #s(literal 1 binary64) z)
(fma.f64 (*.f64 x z) #s(literal -1 binary64) z)
(fma.f64 (*.f64 x z) (/.f64 x (+.f64 x #s(literal 1 binary64))) (/.f64 (*.f64 z z) (fma.f64 x z z)))
(fma.f64 (*.f64 x (*.f64 x (*.f64 z z))) (/.f64 #s(literal 1 binary64) (fma.f64 x z z)) (/.f64 (*.f64 z z) (fma.f64 x z z)))
(fma.f64 (*.f64 z z) (/.f64 #s(literal 1 binary64) z) (*.f64 x z))
(fma.f64 (*.f64 z (*.f64 z z)) (/.f64 #s(literal 1 binary64) (fma.f64 z z #s(literal 0 binary64))) (*.f64 x z))
(fma.f64 #s(literal -1 binary64) z (*.f64 x z))
(fma.f64 #s(literal -1 binary64) (*.f64 x z) z)
(fma.f64 (*.f64 x #s(literal -1 binary64)) z z)
(fma.f64 (/.f64 x z) (/.f64 (*.f64 x (*.f64 z z)) (+.f64 x #s(literal 1 binary64))) (/.f64 (*.f64 z z) (fma.f64 x z z)))
(fma.f64 (/.f64 z z) (/.f64 (*.f64 x (*.f64 x z)) (+.f64 x #s(literal 1 binary64))) (/.f64 (*.f64 z z) (fma.f64 x z z)))
(fma.f64 (/.f64 (*.f64 x z) z) (/.f64 (*.f64 x z) (+.f64 x #s(literal 1 binary64))) (/.f64 (*.f64 z z) (fma.f64 x z z)))
(fma.f64 (/.f64 (*.f64 x x) z) (/.f64 (*.f64 z z) (+.f64 x #s(literal 1 binary64))) (/.f64 (*.f64 z z) (fma.f64 x z z)))
(fma.f64 (/.f64 (*.f64 x (*.f64 x z)) z) (/.f64 z (+.f64 x #s(literal 1 binary64))) (/.f64 (*.f64 z z) (fma.f64 x z z)))
(fma.f64 (neg.f64 x) z z)
(neg.f64 (fma.f64 x z z))
(/.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) (fma.f64 x z z)))
(/.f64 #s(literal 1 binary64) (neg.f64 (/.f64 #s(literal 1 binary64) (fma.f64 x z z))))
(/.f64 #s(literal 1 binary64) (/.f64 (/.f64 #s(literal 1 binary64) (fma.f64 x z z)) #s(literal 1 binary64)))
(/.f64 #s(literal 1 binary64) (/.f64 (+.f64 (fma.f64 x x #s(literal 1 binary64)) x) (fma.f64 z (*.f64 x (*.f64 x x)) z)))
(/.f64 #s(literal 1 binary64) (/.f64 (+.f64 x #s(literal 1 binary64)) (fma.f64 x (*.f64 x z) z)))
(/.f64 #s(literal 1 binary64) (/.f64 (+.f64 (fma.f64 x x #s(literal 1 binary64)) x) (*.f64 (fma.f64 x (*.f64 x x) #s(literal -1 binary64)) z)))
(/.f64 #s(literal 1 binary64) (/.f64 (+.f64 x #s(literal 1 binary64)) (*.f64 (fma.f64 x x #s(literal -1 binary64)) z)))
(/.f64 z (/.f64 #s(literal 1 binary64) (+.f64 x #s(literal -1 binary64))))
(/.f64 (*.f64 (*.f64 z (*.f64 z z)) (fma.f64 x (*.f64 x x) #s(literal -1 binary64))) (fma.f64 z z (*.f64 (*.f64 x z) (fma.f64 x z z))))
(/.f64 (*.f64 (*.f64 z (*.f64 z z)) (fma.f64 x (*.f64 x x) #s(literal -1 binary64))) (*.f64 (fma.f64 z z #s(literal 0 binary64)) (+.f64 (fma.f64 x x #s(literal 1 binary64)) x)))
(/.f64 (*.f64 (*.f64 z (*.f64 z z)) (fma.f64 x (*.f64 x x) #s(literal -1 binary64))) (*.f64 (fma.f64 z z #s(literal 0 binary64)) (-.f64 (fma.f64 x x #s(literal 1 binary64)) (*.f64 x #s(literal -1 binary64)))))
(/.f64 (*.f64 z z) (*.f64 z (/.f64 #s(literal 1 binary64) (+.f64 x #s(literal -1 binary64)))))
(/.f64 (*.f64 z (fma.f64 x (*.f64 x z) z)) (fma.f64 x z z))
(/.f64 #s(literal -1 binary64) (/.f64 #s(literal 1 binary64) (fma.f64 x z z)))
(/.f64 #s(literal -1 binary64) (neg.f64 (/.f64 #s(literal 1 binary64) (fma.f64 x z z))))
(/.f64 (fma.f64 z (*.f64 x (*.f64 x x)) z) (+.f64 (fma.f64 x x #s(literal 1 binary64)) x))
(/.f64 (fma.f64 z (*.f64 x (*.f64 x x)) z) (neg.f64 (+.f64 (fma.f64 x x #s(literal 1 binary64)) x)))
(/.f64 (fma.f64 z (*.f64 x (*.f64 x x)) z) (-.f64 (fma.f64 x x #s(literal 1 binary64)) (*.f64 x #s(literal -1 binary64))))
(/.f64 (fma.f64 x (*.f64 x z) z) (+.f64 x #s(literal 1 binary64)))
(/.f64 (fma.f64 x (*.f64 x z) z) (+.f64 #s(literal -1 binary64) (neg.f64 x)))
(/.f64 (*.f64 (fma.f64 x (*.f64 x x) #s(literal -1 binary64)) z) (+.f64 (fma.f64 x x #s(literal 1 binary64)) x))
(/.f64 (*.f64 (fma.f64 x (*.f64 x x) #s(literal -1 binary64)) z) (neg.f64 (+.f64 (fma.f64 x x #s(literal 1 binary64)) x)))
(/.f64 (*.f64 (fma.f64 x x #s(literal -1 binary64)) z) (+.f64 x #s(literal 1 binary64)))
(/.f64 (*.f64 (fma.f64 x x #s(literal -1 binary64)) z) (+.f64 #s(literal -1 binary64) (neg.f64 x)))
(/.f64 (-.f64 (*.f64 (*.f64 x (*.f64 x (*.f64 z z))) (fma.f64 x z z)) (*.f64 (fma.f64 x z z) (*.f64 z z))) (*.f64 z (fma.f64 x (*.f64 x z) z)))
(/.f64 (*.f64 (fma.f64 (*.f64 z (*.f64 x (*.f64 x (*.f64 x (*.f64 z z))))) (*.f64 (*.f64 z (*.f64 x (*.f64 x (*.f64 x (*.f64 z z))))) (*.f64 z (*.f64 x (*.f64 x (*.f64 x (*.f64 z z)))))) (*.f64 (*.f64 z (*.f64 z z)) (*.f64 (*.f64 z z) (*.f64 (*.f64 z z) (*.f64 z z))))) #s(literal 1 binary64)) (*.f64 (-.f64 (*.f64 (*.f64 (*.f64 z (*.f64 z z)) (fma.f64 x (*.f64 x x) #s(literal -1 binary64))) (*.f64 (*.f64 z (*.f64 z z)) (fma.f64 x (*.f64 x x) #s(literal -1 binary64)))) (*.f64 (*.f64 z (*.f64 x (*.f64 x (*.f64 x (*.f64 z z))))) (*.f64 z (*.f64 z z)))) (fma.f64 z z (*.f64 (*.f64 x z) (fma.f64 x z z)))))
(/.f64 (*.f64 (*.f64 (*.f64 (*.f64 z (*.f64 z z)) (fma.f64 x (*.f64 x x) #s(literal -1 binary64))) (*.f64 (*.f64 z (*.f64 z z)) (fma.f64 x (*.f64 x x) #s(literal -1 binary64)))) #s(literal 1 binary64)) (*.f64 (*.f64 (*.f64 z (*.f64 z z)) (fma.f64 x (*.f64 x x) #s(literal -1 binary64))) (fma.f64 z z (*.f64 (*.f64 x z) (fma.f64 x z z)))))
(/.f64 (*.f64 (*.f64 (*.f64 (*.f64 z (*.f64 z z)) (fma.f64 x (*.f64 x x) #s(literal -1 binary64))) (*.f64 (*.f64 z (*.f64 z z)) (fma.f64 x (*.f64 x x) #s(literal -1 binary64)))) #s(literal 1 binary64)) (*.f64 (*.f64 (fma.f64 z z (*.f64 (*.f64 x z) (fma.f64 x z z))) (fma.f64 z z (*.f64 (*.f64 x z) (fma.f64 x z z)))) (fma.f64 x z z)))
(/.f64 (*.f64 (*.f64 z (*.f64 (fma.f64 x (*.f64 x z) z) (*.f64 z (fma.f64 x (*.f64 x z) z)))) #s(literal 1 binary64)) (*.f64 (fma.f64 x z z) (*.f64 z (fma.f64 x (*.f64 x z) z))))
(/.f64 (*.f64 (*.f64 (*.f64 z (*.f64 z z)) (fma.f64 x (*.f64 x x) #s(literal -1 binary64))) #s(literal 1 binary64)) (fma.f64 z z (*.f64 (*.f64 x z) (fma.f64 x z z))))
(/.f64 (*.f64 (*.f64 z (fma.f64 x (*.f64 x z) z)) #s(literal 1 binary64)) (fma.f64 x z z))
(/.f64 (*.f64 (*.f64 z (*.f64 z z)) #s(literal 1 binary64)) (*.f64 (fma.f64 z z #s(literal 0 binary64)) (/.f64 #s(literal 1 binary64) (+.f64 x #s(literal -1 binary64)))))
(/.f64 (*.f64 (*.f64 z (*.f64 z z)) (fma.f64 x x #s(literal -1 binary64))) (*.f64 (fma.f64 z z #s(literal 0 binary64)) (+.f64 x #s(literal 1 binary64))))
(/.f64 (*.f64 (*.f64 z (*.f64 z z)) (neg.f64 (fma.f64 x (*.f64 x x) #s(literal -1 binary64)))) (*.f64 (fma.f64 z z #s(literal 0 binary64)) (neg.f64 (+.f64 (fma.f64 x x #s(literal 1 binary64)) x))))
(/.f64 (*.f64 (*.f64 z (*.f64 z z)) (neg.f64 (fma.f64 x x #s(literal -1 binary64)))) (*.f64 (fma.f64 z z #s(literal 0 binary64)) (+.f64 #s(literal -1 binary64) (neg.f64 x))))
(/.f64 (*.f64 (*.f64 z z) (fma.f64 x (*.f64 x x) #s(literal -1 binary64))) (*.f64 z (+.f64 (fma.f64 x x #s(literal 1 binary64)) x)))
(/.f64 (*.f64 (*.f64 z z) (fma.f64 x (*.f64 x x) #s(literal -1 binary64))) (*.f64 z (-.f64 (fma.f64 x x #s(literal 1 binary64)) (*.f64 x #s(literal -1 binary64)))))
(/.f64 (*.f64 (*.f64 z z) (neg.f64 (fma.f64 x (*.f64 x x) #s(literal -1 binary64)))) (*.f64 z (neg.f64 (+.f64 (fma.f64 x x #s(literal 1 binary64)) x))))
(/.f64 (*.f64 (*.f64 z z) (neg.f64 (fma.f64 x x #s(literal -1 binary64)))) (fma.f64 x z z))
(/.f64 (neg.f64 (fma.f64 z (*.f64 x (*.f64 x x)) z)) (+.f64 (fma.f64 x x #s(literal 1 binary64)) x))
(/.f64 (neg.f64 (fma.f64 z (*.f64 x (*.f64 x x)) z)) (neg.f64 (+.f64 (fma.f64 x x #s(literal 1 binary64)) x)))
(/.f64 (neg.f64 (fma.f64 x (*.f64 x z) z)) (+.f64 x #s(literal 1 binary64)))
(/.f64 (neg.f64 (fma.f64 x (*.f64 x z) z)) (+.f64 #s(literal -1 binary64) (neg.f64 x)))
(/.f64 (neg.f64 (*.f64 (fma.f64 x (*.f64 x x) #s(literal -1 binary64)) z)) (+.f64 (fma.f64 x x #s(literal 1 binary64)) x))
(/.f64 (neg.f64 (*.f64 (fma.f64 x (*.f64 x x) #s(literal -1 binary64)) z)) (neg.f64 (+.f64 (fma.f64 x x #s(literal 1 binary64)) x)))
(/.f64 (neg.f64 (*.f64 (fma.f64 x x #s(literal -1 binary64)) z)) (+.f64 x #s(literal 1 binary64)))
(/.f64 (neg.f64 (*.f64 (fma.f64 x x #s(literal -1 binary64)) z)) (+.f64 #s(literal -1 binary64) (neg.f64 x)))
(/.f64 (-.f64 #s(literal 0 binary64) (*.f64 (fma.f64 x z z) (*.f64 z (fma.f64 x (*.f64 x z) z)))) (+.f64 #s(literal 0 binary64) (fma.f64 z (fma.f64 x (*.f64 x z) z) (*.f64 #s(literal 0 binary64) (fma.f64 x z z)))))
(/.f64 (-.f64 (pow.f64 (*.f64 (*.f64 x z) (/.f64 x (+.f64 x #s(literal 1 binary64)))) #s(literal 3 binary64)) (pow.f64 (/.f64 (*.f64 z z) (fma.f64 x z z)) #s(literal 3 binary64))) (fma.f64 (*.f64 (*.f64 x z) (/.f64 x (+.f64 x #s(literal 1 binary64)))) (*.f64 (*.f64 x z) (/.f64 x (+.f64 x #s(literal 1 binary64)))) (fma.f64 (/.f64 (*.f64 z z) (fma.f64 x z z)) (/.f64 (*.f64 z z) (fma.f64 x z z)) (*.f64 (*.f64 (*.f64 x z) (/.f64 x (+.f64 x #s(literal 1 binary64)))) (/.f64 (*.f64 z z) (fma.f64 x z z))))))
(/.f64 (-.f64 (*.f64 z (*.f64 z z)) (*.f64 z (*.f64 x (*.f64 x (*.f64 x (*.f64 z z)))))) (fma.f64 z z (*.f64 (*.f64 x z) (fma.f64 x z z))))
(/.f64 (-.f64 (*.f64 (*.f64 (*.f64 x z) (/.f64 x (+.f64 x #s(literal 1 binary64)))) (*.f64 (*.f64 x z) (/.f64 x (+.f64 x #s(literal 1 binary64))))) (*.f64 (/.f64 (*.f64 z z) (fma.f64 x z z)) (/.f64 (*.f64 z z) (fma.f64 x z z)))) (fma.f64 x z z))
(/.f64 (*.f64 z (neg.f64 (fma.f64 x (*.f64 x x) #s(literal -1 binary64)))) (neg.f64 (+.f64 (fma.f64 x x #s(literal 1 binary64)) x)))
(/.f64 (*.f64 z (neg.f64 (fma.f64 x x #s(literal -1 binary64)))) (+.f64 #s(literal -1 binary64) (neg.f64 x)))
(pow.f64 (/.f64 #s(literal 1 binary64) (fma.f64 x z z)) #s(literal -1 binary64))
(*.f64 #s(literal 1 binary64) (fma.f64 x z z))
(*.f64 (+.f64 x #s(literal -1 binary64)) z)
(*.f64 (+.f64 x #s(literal -1 binary64)) (/.f64 z #s(literal 1 binary64)))
(*.f64 z (+.f64 x #s(literal -1 binary64)))
(*.f64 z (+.f64 x #s(literal 1 binary64)))
(*.f64 z (+.f64 #s(literal -1 binary64) (neg.f64 x)))
(*.f64 z (-.f64 #s(literal 1 binary64) x))
(*.f64 z (-.f64 #s(literal -1 binary64) x))
(*.f64 (fma.f64 x z z) (*.f64 (fma.f64 x z z) (/.f64 #s(literal 1 binary64) (fma.f64 x z z))))
(*.f64 (*.f64 (*.f64 z (*.f64 z z)) (fma.f64 x (*.f64 x x) #s(literal -1 binary64))) (/.f64 #s(literal 1 binary64) (fma.f64 z z (*.f64 (*.f64 x z) (fma.f64 x z z)))))
(*.f64 (*.f64 (*.f64 z (*.f64 z z)) (fma.f64 x (*.f64 x x) #s(literal -1 binary64))) (neg.f64 (/.f64 #s(literal 1 binary64) (fma.f64 z z (*.f64 (*.f64 x z) (fma.f64 x z z))))))
(*.f64 (fma.f64 z z (*.f64 (*.f64 x z) (fma.f64 x z z))) (*.f64 (fma.f64 x z z) (/.f64 #s(literal 1 binary64) (fma.f64 z z (*.f64 (*.f64 x z) (fma.f64 x z z))))))
(*.f64 (*.f64 z (fma.f64 x (*.f64 x z) z)) (/.f64 #s(literal 1 binary64) (fma.f64 x z z)))
(*.f64 (*.f64 z (fma.f64 x (*.f64 x z) z)) (neg.f64 (/.f64 #s(literal 1 binary64) (fma.f64 x z z))))
(*.f64 (fma.f64 x (*.f64 x x) #s(literal -1 binary64)) (*.f64 (/.f64 #s(literal 1 binary64) (+.f64 (fma.f64 x x #s(literal 1 binary64)) x)) z))
(*.f64 #s(literal -1 binary64) (fma.f64 x z z))
(*.f64 (fma.f64 x x #s(literal -1 binary64)) (*.f64 (/.f64 #s(literal 1 binary64) (+.f64 x #s(literal 1 binary64))) z))
(*.f64 (+.f64 x #s(literal 1 binary64)) z)
(*.f64 (/.f64 #s(literal 1 binary64) (fma.f64 x z z)) (*.f64 z (fma.f64 x (*.f64 x z) z)))
(*.f64 (-.f64 #s(literal 1 binary64) x) z)
(*.f64 (fma.f64 z (*.f64 x (*.f64 x x)) z) (/.f64 #s(literal 1 binary64) (+.f64 (fma.f64 x x #s(literal 1 binary64)) x)))
(*.f64 (fma.f64 x (*.f64 x z) z) (/.f64 #s(literal 1 binary64) (+.f64 x #s(literal 1 binary64))))
(*.f64 (*.f64 (fma.f64 x (*.f64 x x) #s(literal -1 binary64)) z) (/.f64 #s(literal 1 binary64) (+.f64 (fma.f64 x x #s(literal 1 binary64)) x)))
(*.f64 (*.f64 (fma.f64 x x #s(literal -1 binary64)) z) (/.f64 #s(literal 1 binary64) (+.f64 x #s(literal 1 binary64))))
(*.f64 (/.f64 (fma.f64 x z z) (+.f64 x #s(literal -1 binary64))) (/.f64 (fma.f64 x z z) z))
(*.f64 (/.f64 (fma.f64 x z z) z) (/.f64 (fma.f64 x z z) (+.f64 x #s(literal -1 binary64))))
(*.f64 (/.f64 (fma.f64 x z z) z) (/.f64 (fma.f64 x z z) (+.f64 x #s(literal 1 binary64))))
(*.f64 (/.f64 (fma.f64 x z z) (*.f64 (*.f64 z (*.f64 z z)) (fma.f64 x (*.f64 x x) #s(literal -1 binary64)))) (/.f64 (fma.f64 x z z) (/.f64 #s(literal 1 binary64) (fma.f64 z z (*.f64 (*.f64 x z) (fma.f64 x z z))))))
(*.f64 (/.f64 z (+.f64 x #s(literal 1 binary64))) (/.f64 (fma.f64 x x #s(literal -1 binary64)) #s(literal 1 binary64)))

eval75.0ms (1.4%)

Memory
16.5MiB live, 206.0MiB allocated
Compiler

Compiled 8 766 to 733 computations (91.6% saved)

prune142.0ms (2.7%)

Memory
-1.4MiB live, 116.9MiB allocated
Pruning

7 alts after pruning (2 fresh and 5 done)

PrunedKeptTotal
New7112713
Fresh000
Picked055
Done000
Total7117718
Accuracy
100.0%
Counts
718 → 7
Alt Table
Click to see full alt table
StatusAccuracyProgram
75.5%
(+.f64 (*.f64 x y) #s(approx (* (- x 1) z) (neg.f64 z)))
61.9%
#s(approx (+ (* x y) (* (- x 1) z)) (fma.f64 z x (neg.f64 z)))
67.6%
#s(approx (+ (* x y) (* (- x 1) z)) (*.f64 x (+.f64 z y)))
43.9%
#s(approx (+ (* x y) (* (- x 1) z)) (*.f64 x y))
34.2%
#s(approx (+ (* x y) (* (- x 1) z)) (neg.f64 z))
30.0%
#s(approx (+ (* x y) (* (- x 1) z)) #s(approx (+ (* z x) (neg z)) (*.f64 z x)))
2.6%
#s(approx (+ (* x y) (* (- x 1) z)) z)
Compiler

Compiled 54 to 31 computations (42.6% saved)

simplify33.0ms (0.6%)

Memory
17.9MiB live, 54.9MiB allocated
Algorithm
egg-herbie
Localize:

Found 4 expressions of interest:

NewMetricScoreProgram
cost-diff0
(*.f64 z x)
cost-diff0
#s(approx (+ (* z x) (neg z)) (*.f64 z x))
cost-diff0
#s(approx (+ (* x y) (* (- x 1) z)) #s(approx (+ (* z x) (neg z)) (*.f64 z x)))
cost-diff0
#s(approx (+ (* x y) (* (- x 1) z)) z)
Rules
608×lower-fma.f64
608×lower-fma.f32
240×lower-*.f32
238×lower-*.f64
158×cancel-sign-sub-inv
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01547
01645
12945
23945
36841
413241
526341
646341
764641
867641
967841
067841
Stop Event
iter limit
saturated
iter limit
Calls
Call 1
Inputs
#s(approx (+ (* x y) (* (- x 1) z)) z)
z
#s(approx (+ (* x y) (* (- x 1) z)) #s(approx (+ (* z x) (neg z)) (*.f64 z x)))
#s(approx (+ (* z x) (neg z)) (*.f64 z x))
(*.f64 z x)
z
x
Outputs
#s(approx (+ (* x y) (* (- x 1) z)) z)
z
#s(approx (+ (* x y) (* (- x 1) z)) #s(approx (+ (* z x) (neg z)) (*.f64 z x)))
#s(approx (+ (* x y) (* (- x 1) z)) #s(approx (+ (* z x) (neg z)) (*.f64 x z)))
#s(approx (+ (* z x) (neg z)) (*.f64 z x))
#s(approx (+ (* z x) (neg z)) (*.f64 x z))
(*.f64 z x)
(*.f64 x z)
z
x

localize43.0ms (0.8%)

Memory
7.8MiB live, 79.6MiB allocated
Localize:

Found 4 expressions of interest:

NewMetricScoreProgram
accuracy100.0%
(*.f64 z x)
accuracy61.9%
#s(approx (+ (* x y) (* (- x 1) z)) #s(approx (+ (* z x) (neg z)) (*.f64 z x)))
accuracy52.9%
#s(approx (+ (* z x) (neg z)) (*.f64 z x))
accuracy2.6%
#s(approx (+ (* x y) (* (- x 1) z)) z)
Samples
33.0ms256×0valid
Compiler

Compiled 32 to 13 computations (59.4% saved)

Precisions
Click to see histograms. Total time spent on operations: 19.0ms
ival-add: 9.0ms (47.3% of total)
ival-mult: 8.0ms (42% of total)
ival-sub: 1.0ms (5.3% of total)
ival-neg: 1.0ms (5.3% of total)
ival-true: 0.0ms (0% of total)
exact: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

series2.0ms (0%)

Memory
5.2MiB live, 5.2MiB allocated
Counts
4 → 120
Calls
Call 1
Inputs
#<alt #s(approx (+ (* x y) (* (- x 1) z)) z)>
#<alt #s(approx (+ (* x y) (* (- x 1) z)) #s(approx (+ (* z x) (neg z)) (*.f64 z x)))>
#<alt #s(approx (+ (* z x) (neg z)) (*.f64 z x))>
#<alt (*.f64 z x)>
Outputs
#<alt (* -1 z)>
#<alt (+ (* -1 z) (* x (+ y z)))>
#<alt (+ (* -1 z) (* x (+ y z)))>
#<alt (+ (* -1 z) (* x (+ y z)))>
#<alt (* x (+ y z))>
#<alt (* x (+ y (+ z (* -1 (/ z x)))))>
#<alt (* x (+ y (+ z (* -1 (/ z x)))))>
#<alt (* x (+ y (+ z (* -1 (/ z x)))))>
#<alt (* -1 (* x (+ (* -1 y) (* -1 z))))>
#<alt (* -1 (* x (+ (* -1 y) (+ (* -1 z) (/ z x)))))>
#<alt (* -1 (* x (+ (* -1 y) (+ (* -1 z) (/ z x)))))>
#<alt (* -1 (* x (+ (* -1 y) (+ (* -1 z) (/ z x)))))>
#<alt (* z (- x 1))>
#<alt (+ (* x y) (* z (- x 1)))>
#<alt (+ (* x y) (* z (- x 1)))>
#<alt (+ (* x y) (* z (- x 1)))>
#<alt (* x y)>
#<alt (* y (+ x (/ (* z (- x 1)) y)))>
#<alt (* y (+ x (/ (* z (- x 1)) y)))>
#<alt (* y (+ x (/ (* z (- x 1)) y)))>
#<alt (* x y)>
#<alt (* -1 (* y (+ (* -1 x) (* -1 (/ (* z (- x 1)) y)))))>
#<alt (* -1 (* y (+ (* -1 x) (* -1 (/ (* z (- x 1)) y)))))>
#<alt (* -1 (* y (+ (* -1 x) (* -1 (/ (* z (- x 1)) y)))))>
#<alt (* x y)>
#<alt (+ (* x y) (* z (- x 1)))>
#<alt (+ (* x y) (* z (- x 1)))>
#<alt (+ (* x y) (* z (- x 1)))>
#<alt (* z (- x 1))>
#<alt (* z (- (+ x (/ (* x y) z)) 1))>
#<alt (* z (- (+ x (/ (* x y) z)) 1))>
#<alt (* z (- (+ x (/ (* x y) z)) 1))>
#<alt (* z (- x 1))>
#<alt (* -1 (* z (+ (* -1 (- x 1)) (* -1 (/ (* x y) z)))))>
#<alt (* -1 (* z (+ (* -1 (- x 1)) (* -1 (/ (* x y) z)))))>
#<alt (* -1 (* z (+ (* -1 (- x 1)) (* -1 (/ (* x y) z)))))>
#<alt (* -1 z)>
#<alt (+ (* -1 z) (* x (+ y z)))>
#<alt (+ (* -1 z) (* x (+ y z)))>
#<alt (+ (* -1 z) (* x (+ y z)))>
#<alt (* x (+ y z))>
#<alt (* x (+ y (+ z (* -1 (/ z x)))))>
#<alt (* x (+ y (+ z (* -1 (/ z x)))))>
#<alt (* x (+ y (+ z (* -1 (/ z x)))))>
#<alt (* -1 (* x (+ (* -1 y) (* -1 z))))>
#<alt (* -1 (* x (+ (* -1 y) (+ (* -1 z) (/ z x)))))>
#<alt (* -1 (* x (+ (* -1 y) (+ (* -1 z) (/ z x)))))>
#<alt (* -1 (* x (+ (* -1 y) (+ (* -1 z) (/ z x)))))>
#<alt (* z (- x 1))>
#<alt (+ (* x y) (* z (- x 1)))>
#<alt (+ (* x y) (* z (- x 1)))>
#<alt (+ (* x y) (* z (- x 1)))>
#<alt (* x y)>
#<alt (* y (+ x (/ (* z (- x 1)) y)))>
#<alt (* y (+ x (/ (* z (- x 1)) y)))>
#<alt (* y (+ x (/ (* z (- x 1)) y)))>
#<alt (* x y)>
#<alt (* -1 (* y (+ (* -1 x) (* -1 (/ (* z (- x 1)) y)))))>
#<alt (* -1 (* y (+ (* -1 x) (* -1 (/ (* z (- x 1)) y)))))>
#<alt (* -1 (* y (+ (* -1 x) (* -1 (/ (* z (- x 1)) y)))))>
#<alt (* x y)>
#<alt (+ (* x y) (* z (- x 1)))>
#<alt (+ (* x y) (* z (- x 1)))>
#<alt (+ (* x y) (* z (- x 1)))>
#<alt (* z (- x 1))>
#<alt (* z (- (+ x (/ (* x y) z)) 1))>
#<alt (* z (- (+ x (/ (* x y) z)) 1))>
#<alt (* z (- (+ x (/ (* x y) z)) 1))>
#<alt (* z (- x 1))>
#<alt (* -1 (* z (+ (* -1 (- x 1)) (* -1 (/ (* x y) z)))))>
#<alt (* -1 (* z (+ (* -1 (- x 1)) (* -1 (/ (* x y) z)))))>
#<alt (* -1 (* z (+ (* -1 (- x 1)) (* -1 (/ (* x y) z)))))>
#<alt (* z (- x 1))>
#<alt (* z (- x 1))>
#<alt (* z (- x 1))>
#<alt (* z (- x 1))>
#<alt (* z (- x 1))>
#<alt (* z (- x 1))>
#<alt (* z (- x 1))>
#<alt (* z (- x 1))>
#<alt (* -1 (* z (+ 1 (* -1 x))))>
#<alt (* -1 (* z (+ 1 (* -1 x))))>
#<alt (* -1 (* z (+ 1 (* -1 x))))>
#<alt (* -1 (* z (+ 1 (* -1 x))))>
#<alt (* -1 z)>
#<alt (- (* x z) z)>
#<alt (- (* x z) z)>
#<alt (- (* x z) z)>
#<alt (* x z)>
#<alt (* x (+ z (* -1 (/ z x))))>
#<alt (* x (+ z (* -1 (/ z x))))>
#<alt (* x (+ z (* -1 (/ z x))))>
#<alt (* x z)>
#<alt (* -1 (* x (+ (* -1 z) (/ z x))))>
#<alt (* -1 (* x (+ (* -1 z) (/ z x))))>
#<alt (* -1 (* x (+ (* -1 z) (/ z x))))>
#<alt (* x z)>
#<alt (* x z)>
#<alt (* x z)>
#<alt (* x z)>
#<alt (* x z)>
#<alt (* x z)>
#<alt (* x z)>
#<alt (* x z)>
#<alt (* x z)>
#<alt (* x z)>
#<alt (* x z)>
#<alt (* x z)>
#<alt (* x z)>
#<alt (* x z)>
#<alt (* x z)>
#<alt (* x z)>
#<alt (* x z)>
#<alt (* x z)>
#<alt (* x z)>
#<alt (* x z)>
#<alt (* x z)>
#<alt (* x z)>
#<alt (* x z)>
#<alt (* x z)>
Calls

30 calls:

TimeVariablePointExpression
0.0ms
x
@0
(* z x)
0.0ms
x
@inf
(* z x)
0.0ms
x
@-inf
(* z x)
0.0ms
x
@0
(+ (* x y) (* (- x 1) z))
0.0ms
x
@0
(+ (* x y) (* (- x 1) z))

simplify257.0ms (4.9%)

Memory
-38.5MiB live, 368.2MiB allocated
Algorithm
egg-herbie
Rules
6 444×lower-fma.f64
6 444×lower-fma.f32
2 098×lower-*.f64
2 098×lower-*.f32
1 140×lower-+.f64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
051689
1179635
2527635
31499635
43927635
55893635
67849635
08038635
Stop Event
iter limit
node limit
Counts
120 → 120
Calls
Call 1
Inputs
(* -1 z)
(+ (* -1 z) (* x (+ y z)))
(+ (* -1 z) (* x (+ y z)))
(+ (* -1 z) (* x (+ y z)))
(* x (+ y z))
(* x (+ y (+ z (* -1 (/ z x)))))
(* x (+ y (+ z (* -1 (/ z x)))))
(* x (+ y (+ z (* -1 (/ z x)))))
(* -1 (* x (+ (* -1 y) (* -1 z))))
(* -1 (* x (+ (* -1 y) (+ (* -1 z) (/ z x)))))
(* -1 (* x (+ (* -1 y) (+ (* -1 z) (/ z x)))))
(* -1 (* x (+ (* -1 y) (+ (* -1 z) (/ z x)))))
(* z (- x 1))
(+ (* x y) (* z (- x 1)))
(+ (* x y) (* z (- x 1)))
(+ (* x y) (* z (- x 1)))
(* x y)
(* y (+ x (/ (* z (- x 1)) y)))
(* y (+ x (/ (* z (- x 1)) y)))
(* y (+ x (/ (* z (- x 1)) y)))
(* x y)
(* -1 (* y (+ (* -1 x) (* -1 (/ (* z (- x 1)) y)))))
(* -1 (* y (+ (* -1 x) (* -1 (/ (* z (- x 1)) y)))))
(* -1 (* y (+ (* -1 x) (* -1 (/ (* z (- x 1)) y)))))
(* x y)
(+ (* x y) (* z (- x 1)))
(+ (* x y) (* z (- x 1)))
(+ (* x y) (* z (- x 1)))
(* z (- x 1))
(* z (- (+ x (/ (* x y) z)) 1))
(* z (- (+ x (/ (* x y) z)) 1))
(* z (- (+ x (/ (* x y) z)) 1))
(* z (- x 1))
(* -1 (* z (+ (* -1 (- x 1)) (* -1 (/ (* x y) z)))))
(* -1 (* z (+ (* -1 (- x 1)) (* -1 (/ (* x y) z)))))
(* -1 (* z (+ (* -1 (- x 1)) (* -1 (/ (* x y) z)))))
(* -1 z)
(+ (* -1 z) (* x (+ y z)))
(+ (* -1 z) (* x (+ y z)))
(+ (* -1 z) (* x (+ y z)))
(* x (+ y z))
(* x (+ y (+ z (* -1 (/ z x)))))
(* x (+ y (+ z (* -1 (/ z x)))))
(* x (+ y (+ z (* -1 (/ z x)))))
(* -1 (* x (+ (* -1 y) (* -1 z))))
(* -1 (* x (+ (* -1 y) (+ (* -1 z) (/ z x)))))
(* -1 (* x (+ (* -1 y) (+ (* -1 z) (/ z x)))))
(* -1 (* x (+ (* -1 y) (+ (* -1 z) (/ z x)))))
(* z (- x 1))
(+ (* x y) (* z (- x 1)))
(+ (* x y) (* z (- x 1)))
(+ (* x y) (* z (- x 1)))
(* x y)
(* y (+ x (/ (* z (- x 1)) y)))
(* y (+ x (/ (* z (- x 1)) y)))
(* y (+ x (/ (* z (- x 1)) y)))
(* x y)
(* -1 (* y (+ (* -1 x) (* -1 (/ (* z (- x 1)) y)))))
(* -1 (* y (+ (* -1 x) (* -1 (/ (* z (- x 1)) y)))))
(* -1 (* y (+ (* -1 x) (* -1 (/ (* z (- x 1)) y)))))
(* x y)
(+ (* x y) (* z (- x 1)))
(+ (* x y) (* z (- x 1)))
(+ (* x y) (* z (- x 1)))
(* z (- x 1))
(* z (- (+ x (/ (* x y) z)) 1))
(* z (- (+ x (/ (* x y) z)) 1))
(* z (- (+ x (/ (* x y) z)) 1))
(* z (- x 1))
(* -1 (* z (+ (* -1 (- x 1)) (* -1 (/ (* x y) z)))))
(* -1 (* z (+ (* -1 (- x 1)) (* -1 (/ (* x y) z)))))
(* -1 (* z (+ (* -1 (- x 1)) (* -1 (/ (* x y) z)))))
(* z (- x 1))
(* z (- x 1))
(* z (- x 1))
(* z (- x 1))
(* z (- x 1))
(* z (- x 1))
(* z (- x 1))
(* z (- x 1))
(* -1 (* z (+ 1 (* -1 x))))
(* -1 (* z (+ 1 (* -1 x))))
(* -1 (* z (+ 1 (* -1 x))))
(* -1 (* z (+ 1 (* -1 x))))
(* -1 z)
(- (* x z) z)
(- (* x z) z)
(- (* x z) z)
(* x z)
(* x (+ z (* -1 (/ z x))))
(* x (+ z (* -1 (/ z x))))
(* x (+ z (* -1 (/ z x))))
(* x z)
(* -1 (* x (+ (* -1 z) (/ z x))))
(* -1 (* x (+ (* -1 z) (/ z x))))
(* -1 (* x (+ (* -1 z) (/ z x))))
(* x z)
(* x z)
(* x z)
(* x z)
(* x z)
(* x z)
(* x z)
(* x z)
(* x z)
(* x z)
(* x z)
(* x z)
(* x z)
(* x z)
(* x z)
(* x z)
(* x z)
(* x z)
(* x z)
(* x z)
(* x z)
(* x z)
(* x z)
(* x z)
Outputs
(* -1 z)
(neg.f64 z)
(+ (* -1 z) (* x (+ y z)))
(-.f64 (*.f64 x (+.f64 z y)) z)
(+ (* -1 z) (* x (+ y z)))
(-.f64 (*.f64 x (+.f64 z y)) z)
(+ (* -1 z) (* x (+ y z)))
(-.f64 (*.f64 x (+.f64 z y)) z)
(* x (+ y z))
(*.f64 x (+.f64 z y))
(* x (+ y (+ z (* -1 (/ z x)))))
(-.f64 (*.f64 x (+.f64 z y)) z)
(* x (+ y (+ z (* -1 (/ z x)))))
(-.f64 (*.f64 x (+.f64 z y)) z)
(* x (+ y (+ z (* -1 (/ z x)))))
(-.f64 (*.f64 x (+.f64 z y)) z)
(* -1 (* x (+ (* -1 y) (* -1 z))))
(*.f64 x (+.f64 z y))
(* -1 (* x (+ (* -1 y) (+ (* -1 z) (/ z x)))))
(-.f64 (*.f64 x (+.f64 z y)) z)
(* -1 (* x (+ (* -1 y) (+ (* -1 z) (/ z x)))))
(-.f64 (*.f64 x (+.f64 z y)) z)
(* -1 (* x (+ (* -1 y) (+ (* -1 z) (/ z x)))))
(-.f64 (*.f64 x (+.f64 z y)) z)
(* z (- x 1))
(-.f64 (*.f64 z x) z)
(+ (* x y) (* z (- x 1)))
(-.f64 (*.f64 x (+.f64 z y)) z)
(+ (* x y) (* z (- x 1)))
(-.f64 (*.f64 x (+.f64 z y)) z)
(+ (* x y) (* z (- x 1)))
(-.f64 (*.f64 x (+.f64 z y)) z)
(* x y)
(*.f64 x y)
(* y (+ x (/ (* z (- x 1)) y)))
(-.f64 (*.f64 x (+.f64 z y)) z)
(* y (+ x (/ (* z (- x 1)) y)))
(-.f64 (*.f64 x (+.f64 z y)) z)
(* y (+ x (/ (* z (- x 1)) y)))
(-.f64 (*.f64 x (+.f64 z y)) z)
(* x y)
(*.f64 x y)
(* -1 (* y (+ (* -1 x) (* -1 (/ (* z (- x 1)) y)))))
(-.f64 (*.f64 x (+.f64 z y)) z)
(* -1 (* y (+ (* -1 x) (* -1 (/ (* z (- x 1)) y)))))
(-.f64 (*.f64 x (+.f64 z y)) z)
(* -1 (* y (+ (* -1 x) (* -1 (/ (* z (- x 1)) y)))))
(-.f64 (*.f64 x (+.f64 z y)) z)
(* x y)
(*.f64 x y)
(+ (* x y) (* z (- x 1)))
(-.f64 (*.f64 x (+.f64 z y)) z)
(+ (* x y) (* z (- x 1)))
(-.f64 (*.f64 x (+.f64 z y)) z)
(+ (* x y) (* z (- x 1)))
(-.f64 (*.f64 x (+.f64 z y)) z)
(* z (- x 1))
(-.f64 (*.f64 z x) z)
(* z (- (+ x (/ (* x y) z)) 1))
(-.f64 (*.f64 x (+.f64 z y)) z)
(* z (- (+ x (/ (* x y) z)) 1))
(-.f64 (*.f64 x (+.f64 z y)) z)
(* z (- (+ x (/ (* x y) z)) 1))
(-.f64 (*.f64 x (+.f64 z y)) z)
(* z (- x 1))
(-.f64 (*.f64 z x) z)
(* -1 (* z (+ (* -1 (- x 1)) (* -1 (/ (* x y) z)))))
(-.f64 (*.f64 x (+.f64 z y)) z)
(* -1 (* z (+ (* -1 (- x 1)) (* -1 (/ (* x y) z)))))
(-.f64 (*.f64 x (+.f64 z y)) z)
(* -1 (* z (+ (* -1 (- x 1)) (* -1 (/ (* x y) z)))))
(-.f64 (*.f64 x (+.f64 z y)) z)
(* -1 z)
(neg.f64 z)
(+ (* -1 z) (* x (+ y z)))
(-.f64 (*.f64 x (+.f64 z y)) z)
(+ (* -1 z) (* x (+ y z)))
(-.f64 (*.f64 x (+.f64 z y)) z)
(+ (* -1 z) (* x (+ y z)))
(-.f64 (*.f64 x (+.f64 z y)) z)
(* x (+ y z))
(*.f64 x (+.f64 z y))
(* x (+ y (+ z (* -1 (/ z x)))))
(-.f64 (*.f64 x (+.f64 z y)) z)
(* x (+ y (+ z (* -1 (/ z x)))))
(-.f64 (*.f64 x (+.f64 z y)) z)
(* x (+ y (+ z (* -1 (/ z x)))))
(-.f64 (*.f64 x (+.f64 z y)) z)
(* -1 (* x (+ (* -1 y) (* -1 z))))
(*.f64 x (+.f64 z y))
(* -1 (* x (+ (* -1 y) (+ (* -1 z) (/ z x)))))
(-.f64 (*.f64 x (+.f64 z y)) z)
(* -1 (* x (+ (* -1 y) (+ (* -1 z) (/ z x)))))
(-.f64 (*.f64 x (+.f64 z y)) z)
(* -1 (* x (+ (* -1 y) (+ (* -1 z) (/ z x)))))
(-.f64 (*.f64 x (+.f64 z y)) z)
(* z (- x 1))
(-.f64 (*.f64 z x) z)
(+ (* x y) (* z (- x 1)))
(-.f64 (*.f64 x (+.f64 z y)) z)
(+ (* x y) (* z (- x 1)))
(-.f64 (*.f64 x (+.f64 z y)) z)
(+ (* x y) (* z (- x 1)))
(-.f64 (*.f64 x (+.f64 z y)) z)
(* x y)
(*.f64 x y)
(* y (+ x (/ (* z (- x 1)) y)))
(-.f64 (*.f64 x (+.f64 z y)) z)
(* y (+ x (/ (* z (- x 1)) y)))
(-.f64 (*.f64 x (+.f64 z y)) z)
(* y (+ x (/ (* z (- x 1)) y)))
(-.f64 (*.f64 x (+.f64 z y)) z)
(* x y)
(*.f64 x y)
(* -1 (* y (+ (* -1 x) (* -1 (/ (* z (- x 1)) y)))))
(-.f64 (*.f64 x (+.f64 z y)) z)
(* -1 (* y (+ (* -1 x) (* -1 (/ (* z (- x 1)) y)))))
(-.f64 (*.f64 x (+.f64 z y)) z)
(* -1 (* y (+ (* -1 x) (* -1 (/ (* z (- x 1)) y)))))
(-.f64 (*.f64 x (+.f64 z y)) z)
(* x y)
(*.f64 x y)
(+ (* x y) (* z (- x 1)))
(-.f64 (*.f64 x (+.f64 z y)) z)
(+ (* x y) (* z (- x 1)))
(-.f64 (*.f64 x (+.f64 z y)) z)
(+ (* x y) (* z (- x 1)))
(-.f64 (*.f64 x (+.f64 z y)) z)
(* z (- x 1))
(-.f64 (*.f64 z x) z)
(* z (- (+ x (/ (* x y) z)) 1))
(-.f64 (*.f64 x (+.f64 z y)) z)
(* z (- (+ x (/ (* x y) z)) 1))
(-.f64 (*.f64 x (+.f64 z y)) z)
(* z (- (+ x (/ (* x y) z)) 1))
(-.f64 (*.f64 x (+.f64 z y)) z)
(* z (- x 1))
(-.f64 (*.f64 z x) z)
(* -1 (* z (+ (* -1 (- x 1)) (* -1 (/ (* x y) z)))))
(-.f64 (*.f64 x (+.f64 z y)) z)
(* -1 (* z (+ (* -1 (- x 1)) (* -1 (/ (* x y) z)))))
(-.f64 (*.f64 x (+.f64 z y)) z)
(* -1 (* z (+ (* -1 (- x 1)) (* -1 (/ (* x y) z)))))
(-.f64 (*.f64 x (+.f64 z y)) z)
(* z (- x 1))
(-.f64 (*.f64 z x) z)
(* z (- x 1))
(-.f64 (*.f64 z x) z)
(* z (- x 1))
(-.f64 (*.f64 z x) z)
(* z (- x 1))
(-.f64 (*.f64 z x) z)
(* z (- x 1))
(-.f64 (*.f64 z x) z)
(* z (- x 1))
(-.f64 (*.f64 z x) z)
(* z (- x 1))
(-.f64 (*.f64 z x) z)
(* z (- x 1))
(-.f64 (*.f64 z x) z)
(* -1 (* z (+ 1 (* -1 x))))
(-.f64 (*.f64 z x) z)
(* -1 (* z (+ 1 (* -1 x))))
(-.f64 (*.f64 z x) z)
(* -1 (* z (+ 1 (* -1 x))))
(-.f64 (*.f64 z x) z)
(* -1 (* z (+ 1 (* -1 x))))
(-.f64 (*.f64 z x) z)
(* -1 z)
(neg.f64 z)
(- (* x z) z)
(-.f64 (*.f64 z x) z)
(- (* x z) z)
(-.f64 (*.f64 z x) z)
(- (* x z) z)
(-.f64 (*.f64 z x) z)
(* x z)
(*.f64 z x)
(* x (+ z (* -1 (/ z x))))
(-.f64 (*.f64 z x) z)
(* x (+ z (* -1 (/ z x))))
(-.f64 (*.f64 z x) z)
(* x (+ z (* -1 (/ z x))))
(-.f64 (*.f64 z x) z)
(* x z)
(*.f64 z x)
(* -1 (* x (+ (* -1 z) (/ z x))))
(-.f64 (*.f64 z x) z)
(* -1 (* x (+ (* -1 z) (/ z x))))
(-.f64 (*.f64 z x) z)
(* -1 (* x (+ (* -1 z) (/ z x))))
(-.f64 (*.f64 z x) z)
(* x z)
(*.f64 z x)
(* x z)
(*.f64 z x)
(* x z)
(*.f64 z x)
(* x z)
(*.f64 z x)
(* x z)
(*.f64 z x)
(* x z)
(*.f64 z x)
(* x z)
(*.f64 z x)
(* x z)
(*.f64 z x)
(* x z)
(*.f64 z x)
(* x z)
(*.f64 z x)
(* x z)
(*.f64 z x)
(* x z)
(*.f64 z x)
(* x z)
(*.f64 z x)
(* x z)
(*.f64 z x)
(* x z)
(*.f64 z x)
(* x z)
(*.f64 z x)
(* x z)
(*.f64 z x)
(* x z)
(*.f64 z x)
(* x z)
(*.f64 z x)
(* x z)
(*.f64 z x)
(* x z)
(*.f64 z x)
(* x z)
(*.f64 z x)
(* x z)
(*.f64 z x)
(* x z)
(*.f64 z x)

rewrite634.0ms (12.2%)

Memory
18.6MiB live, 463.4MiB allocated
Algorithm
batch-egg-rewrite
Rules
7 970×lower-fma.f64
7 970×lower-fma.f32
4 596×lower-*.f32
4 594×lower-*.f64
2 762×lower-/.f64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01544
01642
16642
249442
3726542
0872940
Stop Event
iter limit
node limit
iter limit
Counts
4 → 17
Calls
Call 1
Inputs
#s(approx (+ (* x y) (* (- x 1) z)) z)
#s(approx (+ (* x y) (* (- x 1) z)) #s(approx (+ (* z x) (neg z)) (*.f64 z x)))
#s(approx (+ (* z x) (neg z)) (*.f64 z x))
(*.f64 z x)
Outputs
#s(approx (+ (* x y) (* (- x 1) z)) z)
#s(approx (+ (* x y) (* (- x 1) z)) #s(approx (+ (* z x) (neg z)) (*.f64 x z)))
#s(approx (+ (* z x) (neg z)) (*.f64 x z))
(+.f64 (*.f64 x z) #s(literal 0 binary64))
(+.f64 #s(literal 0 binary64) (*.f64 x z))
(-.f64 (*.f64 x z) #s(literal 0 binary64))
(fma.f64 x z #s(literal 0 binary64))
(fma.f64 #s(literal 1 binary64) (*.f64 x z) #s(literal 0 binary64))
(fma.f64 z x #s(literal 0 binary64))
(fma.f64 (*.f64 x z) #s(literal 1 binary64) #s(literal 0 binary64))
(/.f64 (fma.f64 x (*.f64 z (*.f64 x (*.f64 x (*.f64 z z)))) #s(literal 0 binary64)) (fma.f64 x (*.f64 x (*.f64 z z)) (-.f64 #s(literal 0 binary64) (*.f64 (*.f64 x z) #s(literal 0 binary64)))))
(/.f64 (-.f64 (*.f64 (*.f64 (*.f64 x (*.f64 x (*.f64 z z))) z) x) #s(literal 0 binary64)) (fma.f64 x (*.f64 x (*.f64 z z)) (+.f64 #s(literal 0 binary64) (*.f64 (*.f64 x z) #s(literal 0 binary64)))))
(/.f64 (-.f64 (*.f64 x (*.f64 x (*.f64 z z))) #s(literal 0 binary64)) (*.f64 x z))
(*.f64 x z)
(*.f64 #s(literal 1 binary64) (*.f64 x z))
(*.f64 z x)
(*.f64 (*.f64 x z) #s(literal 1 binary64))

eval23.0ms (0.4%)

Memory
-19.3MiB live, 18.9MiB allocated
Compiler

Compiled 989 to 39 computations (96.1% saved)

prune6.0ms (0.1%)

Memory
9.5MiB live, 9.5MiB allocated
Pruning

7 alts after pruning (0 fresh and 7 done)

PrunedKeptTotal
New1370137
Fresh000
Picked022
Done055
Total1377144
Accuracy
100.0%
Counts
144 → 7
Alt Table
Click to see full alt table
StatusAccuracyProgram
75.5%
(+.f64 (*.f64 x y) #s(approx (* (- x 1) z) (neg.f64 z)))
61.9%
#s(approx (+ (* x y) (* (- x 1) z)) (fma.f64 z x (neg.f64 z)))
67.6%
#s(approx (+ (* x y) (* (- x 1) z)) (*.f64 x (+.f64 z y)))
43.9%
#s(approx (+ (* x y) (* (- x 1) z)) (*.f64 x y))
34.2%
#s(approx (+ (* x y) (* (- x 1) z)) (neg.f64 z))
30.0%
#s(approx (+ (* x y) (* (- x 1) z)) #s(approx (+ (* z x) (neg z)) (*.f64 z x)))
2.6%
#s(approx (+ (* x y) (* (- x 1) z)) z)
Compiler

Compiled 99 to 45 computations (54.5% saved)

regimes14.0ms (0.3%)

Memory
14.8MiB live, 14.8MiB allocated
Counts
8 → 2
Calls
Call 1
Inputs
#s(approx (+ (* x y) (* (- x 1) z)) z)
#s(approx (+ (* x y) (* (- x 1) z)) (neg.f64 z))
#s(approx (+ (* x y) (* (- x 1) z)) #s(approx (+ (* z x) (neg z)) (*.f64 z x)))
#s(approx (+ (* x y) (* (- x 1) z)) (*.f64 x y))
#s(approx (+ (* x y) (* (- x 1) z)) (*.f64 x (+.f64 z y)))
#s(approx (+ (* x y) (* (- x 1) z)) (fma.f64 z x (neg.f64 z)))
(+.f64 (*.f64 x y) #s(approx (* (- x 1) z) (neg.f64 z)))
(+.f64 (*.f64 x y) (*.f64 (-.f64 x #s(literal 1 binary64)) z))
Outputs
(+.f64 (*.f64 x y) (*.f64 (-.f64 x #s(literal 1 binary64)) z))
#s(approx (+ (* x y) (* (- x 1) z)) (*.f64 x (+.f64 z y)))
Calls

4 calls:

3.0ms
z
3.0ms
y
3.0ms
x
3.0ms
(+.f64 (*.f64 x y) (*.f64 (-.f64 x #s(literal 1 binary64)) z))
Results
AccuracySegmentsBranch
99.2%2x
97.3%1y
97.3%1z
100.0%2(+.f64 (*.f64 x y) (*.f64 (-.f64 x #s(literal 1 binary64)) z))
Compiler

Compiled 24 to 17 computations (29.2% saved)

regimes21.0ms (0.4%)

Memory
-31.9MiB live, 12.5MiB allocated
Counts
7 → 3
Calls
Call 1
Inputs
#s(approx (+ (* x y) (* (- x 1) z)) z)
#s(approx (+ (* x y) (* (- x 1) z)) (neg.f64 z))
#s(approx (+ (* x y) (* (- x 1) z)) #s(approx (+ (* z x) (neg z)) (*.f64 z x)))
#s(approx (+ (* x y) (* (- x 1) z)) (*.f64 x y))
#s(approx (+ (* x y) (* (- x 1) z)) (*.f64 x (+.f64 z y)))
#s(approx (+ (* x y) (* (- x 1) z)) (fma.f64 z x (neg.f64 z)))
(+.f64 (*.f64 x y) #s(approx (* (- x 1) z) (neg.f64 z)))
Outputs
#s(approx (+ (* x y) (* (- x 1) z)) (*.f64 x (+.f64 z y)))
(+.f64 (*.f64 x y) #s(approx (* (- x 1) z) (neg.f64 z)))
#s(approx (+ (* x y) (* (- x 1) z)) (*.f64 x (+.f64 z y)))
Calls

4 calls:

11.0ms
z
3.0ms
y
3.0ms
x
3.0ms
(+.f64 (*.f64 x y) (*.f64 (-.f64 x #s(literal 1 binary64)) z))
Results
AccuracySegmentsBranch
88.0%3y
88.5%3z
98.8%3x
87.3%3(+.f64 (*.f64 x y) (*.f64 (-.f64 x #s(literal 1 binary64)) z))
Compiler

Compiled 24 to 17 computations (29.2% saved)

regimes12.0ms (0.2%)

Memory
25.7MiB live, 25.7MiB allocated
Counts
6 → 3
Calls
Call 1
Inputs
#s(approx (+ (* x y) (* (- x 1) z)) z)
#s(approx (+ (* x y) (* (- x 1) z)) (neg.f64 z))
#s(approx (+ (* x y) (* (- x 1) z)) #s(approx (+ (* z x) (neg z)) (*.f64 z x)))
#s(approx (+ (* x y) (* (- x 1) z)) (*.f64 x y))
#s(approx (+ (* x y) (* (- x 1) z)) (*.f64 x (+.f64 z y)))
#s(approx (+ (* x y) (* (- x 1) z)) (fma.f64 z x (neg.f64 z)))
Outputs
#s(approx (+ (* x y) (* (- x 1) z)) (*.f64 x (+.f64 z y)))
#s(approx (+ (* x y) (* (- x 1) z)) (neg.f64 z))
#s(approx (+ (* x y) (* (- x 1) z)) (*.f64 x (+.f64 z y)))
Calls

4 calls:

3.0ms
x
3.0ms
z
3.0ms
y
3.0ms
(+.f64 (*.f64 x y) (*.f64 (-.f64 x #s(literal 1 binary64)) z))
Results
AccuracySegmentsBranch
78.3%5(+.f64 (*.f64 x y) (*.f64 (-.f64 x #s(literal 1 binary64)) z))
83.5%3y
83.5%3z
86.6%3x
Compiler

Compiled 24 to 17 computations (29.2% saved)

regimes10.0ms (0.2%)

Memory
-9.6MiB live, 28.9MiB allocated
Counts
4 → 5
Calls
Call 1
Inputs
#s(approx (+ (* x y) (* (- x 1) z)) z)
#s(approx (+ (* x y) (* (- x 1) z)) (neg.f64 z))
#s(approx (+ (* x y) (* (- x 1) z)) #s(approx (+ (* z x) (neg z)) (*.f64 z x)))
#s(approx (+ (* x y) (* (- x 1) z)) (*.f64 x y))
Outputs
#s(approx (+ (* x y) (* (- x 1) z)) #s(approx (+ (* z x) (neg z)) (*.f64 z x)))
#s(approx (+ (* x y) (* (- x 1) z)) (*.f64 x y))
#s(approx (+ (* x y) (* (- x 1) z)) (neg.f64 z))
#s(approx (+ (* x y) (* (- x 1) z)) (*.f64 x y))
#s(approx (+ (* x y) (* (- x 1) z)) #s(approx (+ (* z x) (neg z)) (*.f64 z x)))
Calls

4 calls:

3.0ms
y
2.0ms
z
2.0ms
x
2.0ms
(+.f64 (*.f64 x y) (*.f64 (-.f64 x #s(literal 1 binary64)) z))
Results
AccuracySegmentsBranch
58.9%7(+.f64 (*.f64 x y) (*.f64 (-.f64 x #s(literal 1 binary64)) z))
57.9%3z
63.3%5y
68.0%5x
Compiler

Compiled 24 to 17 computations (29.2% saved)

regimes2.0ms (0%)

Memory
6.7MiB live, 6.7MiB allocated
Counts
3 → 3
Calls
Call 1
Inputs
#s(approx (+ (* x y) (* (- x 1) z)) z)
#s(approx (+ (* x y) (* (- x 1) z)) (neg.f64 z))
#s(approx (+ (* x y) (* (- x 1) z)) #s(approx (+ (* z x) (neg z)) (*.f64 z x)))
Outputs
#s(approx (+ (* x y) (* (- x 1) z)) #s(approx (+ (* z x) (neg z)) (*.f64 z x)))
#s(approx (+ (* x y) (* (- x 1) z)) (neg.f64 z))
#s(approx (+ (* x y) (* (- x 1) z)) #s(approx (+ (* z x) (neg z)) (*.f64 z x)))
Calls

1 calls:

2.0ms
x
Results
AccuracySegmentsBranch
60.7%3x
Compiler

Compiled 4 to 3 computations (25% saved)

regimes10.0ms (0.2%)

Memory
-18.8MiB live, 19.4MiB allocated
Counts
2 → 1
Calls
Call 1
Inputs
#s(approx (+ (* x y) (* (- x 1) z)) z)
#s(approx (+ (* x y) (* (- x 1) z)) (neg.f64 z))
Outputs
#s(approx (+ (* x y) (* (- x 1) z)) (neg.f64 z))
Calls

4 calls:

5.0ms
z
2.0ms
(+.f64 (*.f64 x y) (*.f64 (-.f64 x #s(literal 1 binary64)) z))
2.0ms
y
2.0ms
x
Results
AccuracySegmentsBranch
34.2%1(+.f64 (*.f64 x y) (*.f64 (-.f64 x #s(literal 1 binary64)) z))
34.2%1z
34.2%1y
34.2%1x
Compiler

Compiled 24 to 17 computations (29.2% saved)

regimes6.0ms (0.1%)

Memory
18.8MiB live, 18.8MiB allocated
Accuracy

Total -0.0b remaining (-0%)

Threshold costs -0b (-0%)

Counts
1 → 1
Calls
Call 1
Inputs
#s(approx (+ (* x y) (* (- x 1) z)) z)
Outputs
#s(approx (+ (* x y) (* (- x 1) z)) z)
Calls

4 calls:

1.0ms
(+.f64 (*.f64 x y) (*.f64 (-.f64 x #s(literal 1 binary64)) z))
1.0ms
z
1.0ms
x
1.0ms
y
Results
AccuracySegmentsBranch
2.6%1x
2.6%1(+.f64 (*.f64 x y) (*.f64 (-.f64 x #s(literal 1 binary64)) z))
2.6%1y
2.6%1z
Compiler

Compiled 24 to 17 computations (29.2% saved)

bsearch0.0ms (0%)

Memory
0.5MiB live, 0.5MiB allocated
Algorithm
left-value
Steps
TimeLeftRight
0.0ms
1.5370718764004694e+308
+inf
Compiler

Compiled 15 to 14 computations (6.7% saved)

bsearch52.0ms (1%)

Memory
1.9MiB live, 40.0MiB allocated
Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
Steps
TimeLeftRight
11.0ms
1.0672739809283356e-8
0.05556969057323915
38.0ms
-1613.3037755339612
-90.97271744696428
Samples
12.0ms256×0valid
Compiler

Compiled 351 to 222 computations (36.8% saved)

Precisions
Click to see histograms. Total time spent on operations: 6.0ms
ival-mult: 3.0ms (50.6% of total)
ival-sub: 1.0ms (16.9% of total)
ival-add: 1.0ms (16.9% of total)
ival-true: 0.0ms (0% of total)
exact: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

bsearch27.0ms (0.5%)

Memory
-4.3MiB live, 37.1MiB allocated
Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
Steps
TimeLeftRight
9.0ms
4.374082124410249e-82
3.038122942983375e-80
16.0ms
-3.7240369395051887e-19
-3.001056496103822e-28
Samples
16.0ms256×0valid
Compiler

Compiled 287 to 190 computations (33.8% saved)

Precisions
Click to see histograms. Total time spent on operations: 10.0ms
ival-add: 5.0ms (47.8% of total)
ival-mult: 3.0ms (28.7% of total)
ival-sub: 1.0ms (9.6% of total)
ival-true: 0.0ms (0% of total)
exact: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

bsearch27.0ms (0.5%)

Memory
-18.0MiB live, 59.0MiB allocated
Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
narrow-enough
narrow-enough
Steps
TimeLeftRight
8.0ms
1.5303507170957066e+119
6.445526772611201e+119
0.0ms
4.374082124410249e-82
3.038122942983375e-80
4.0ms
-3.7240369395051887e-19
-3.001056496103822e-28
10.0ms
-9.542678871741088e+28
-5.5813644088799104e+26
Samples
13.0ms256×0valid
Compiler

Compiled 476 to 304 computations (36.1% saved)

Precisions
Click to see histograms. Total time spent on operations: 6.0ms
ival-mult: 4.0ms (63.5% of total)
ival-sub: 1.0ms (15.9% of total)
ival-add: 1.0ms (15.9% of total)
ival-true: 0.0ms (0% of total)
exact: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

bsearch24.0ms (0.5%)

Memory
20.9MiB live, 58.0MiB allocated
Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
Steps
TimeLeftRight
10.0ms
13.710590084245986
256.3413365469332
12.0ms
-0.0003104493082734354
-6.9263561757381e-10
Samples
12.0ms256×0valid
Compiler

Compiled 271 to 174 computations (35.8% saved)

Precisions
Click to see histograms. Total time spent on operations: 6.0ms
ival-mult: 3.0ms (50.1% of total)
ival-sub: 1.0ms (16.7% of total)
ival-add: 1.0ms (16.7% of total)
ival-true: 0.0ms (0% of total)
exact: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

simplify13.0ms (0.3%)

Memory
-19.3MiB live, 23.8MiB allocated
Algorithm
egg-herbie
Rules
14×*-commutative_binary64
12×+-commutative_binary64
10×neg-mul-1_binary64
unsub-neg_binary64
sub-neg_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
058313
173313
278313
384313
491313
5100313
Stop Event
saturated
Calls
Call 1
Inputs
(if (<=.f64 (+.f64 (*.f64 x y) (*.f64 (-.f64 x #s(literal 1 binary64)) z)) #s(literal +inf.0 binary64)) (+.f64 (*.f64 x y) (*.f64 (-.f64 x #s(literal 1 binary64)) z)) #s(approx (+ (* x y) (* (- x 1) z)) (*.f64 x (+.f64 z y))))
(if (<=.f64 x #s(literal -92 binary64)) #s(approx (+ (* x y) (* (- x 1) z)) (*.f64 x (+.f64 z y))) (if (<=.f64 x #s(literal 7926335344172073/144115188075855872 binary64)) (+.f64 (*.f64 x y) #s(approx (* (- x 1) z) (neg.f64 z))) #s(approx (+ (* x y) (* (- x 1) z)) (*.f64 x (+.f64 z y)))))
(if (<=.f64 x #s(literal -8166776806102523/5444517870735015415413993718908291383296 binary64)) #s(approx (+ (* x y) (* (- x 1) z)) (*.f64 x (+.f64 z y))) (if (<=.f64 x #s(literal 2269486225665967/133499189745056880149688856635597007162669032647290798121690100488888732861290034376435130433536 binary64)) #s(approx (+ (* x y) (* (- x 1) z)) (neg.f64 z)) #s(approx (+ (* x y) (* (- x 1) z)) (*.f64 x (+.f64 z y)))))
(if (<=.f64 x #s(literal -35999999999999999378840354816 binary64)) #s(approx (+ (* x y) (* (- x 1) z)) #s(approx (+ (* z x) (neg z)) (*.f64 z x))) (if (<=.f64 x #s(literal -7350099125492271/2722258935367507707706996859454145691648 binary64)) #s(approx (+ (* x y) (* (- x 1) z)) (*.f64 x y)) (if (<=.f64 x #s(literal 2269486225665967/133499189745056880149688856635597007162669032647290798121690100488888732861290034376435130433536 binary64)) #s(approx (+ (* x y) (* (- x 1) z)) (neg.f64 z)) (if (<=.f64 x #s(literal 330000000000000019203003984528390895572440785804490894963610071047317538874925922506262869522351595906784827298669395968 binary64)) #s(approx (+ (* x y) (* (- x 1) z)) (*.f64 x y)) #s(approx (+ (* x y) (* (- x 1) z)) #s(approx (+ (* z x) (neg z)) (*.f64 z x)))))))
(if (<=.f64 x #s(literal -5718490662849961/18446744073709551616 binary64)) #s(approx (+ (* x y) (* (- x 1) z)) #s(approx (+ (* z x) (neg z)) (*.f64 z x))) (if (<=.f64 x #s(literal 3884354678607053/281474976710656 binary64)) #s(approx (+ (* x y) (* (- x 1) z)) (neg.f64 z)) #s(approx (+ (* x y) (* (- x 1) z)) #s(approx (+ (* z x) (neg z)) (*.f64 z x)))))
#s(approx (+ (* x y) (* (- x 1) z)) (neg.f64 z))
#s(approx (+ (* x y) (* (- x 1) z)) z)
Outputs
(if (<=.f64 (+.f64 (*.f64 x y) (*.f64 (-.f64 x #s(literal 1 binary64)) z)) #s(literal +inf.0 binary64)) (+.f64 (*.f64 x y) (*.f64 (-.f64 x #s(literal 1 binary64)) z)) #s(approx (+ (* x y) (* (- x 1) z)) (*.f64 x (+.f64 z y))))
(if (<=.f64 (+.f64 (*.f64 x y) (*.f64 (+.f64 x #s(literal -1 binary64)) z)) #s(literal +inf.0 binary64)) (+.f64 (*.f64 x y) (*.f64 (+.f64 x #s(literal -1 binary64)) z)) #s(approx (+ (* x y) (* (- x 1) z)) (*.f64 x (+.f64 y z))))
(if (<=.f64 x #s(literal -92 binary64)) #s(approx (+ (* x y) (* (- x 1) z)) (*.f64 x (+.f64 z y))) (if (<=.f64 x #s(literal 7926335344172073/144115188075855872 binary64)) (+.f64 (*.f64 x y) #s(approx (* (- x 1) z) (neg.f64 z))) #s(approx (+ (* x y) (* (- x 1) z)) (*.f64 x (+.f64 z y)))))
(if (<=.f64 x #s(literal -92 binary64)) #s(approx (+ (* x y) (* (- x 1) z)) (*.f64 x (+.f64 y z))) (if (<=.f64 x #s(literal 7926335344172073/144115188075855872 binary64)) (+.f64 (*.f64 x y) #s(approx (* (- x 1) z) (neg.f64 z))) #s(approx (+ (* x y) (* (- x 1) z)) (*.f64 x (+.f64 y z)))))
(if (<=.f64 x #s(literal -8166776806102523/5444517870735015415413993718908291383296 binary64)) #s(approx (+ (* x y) (* (- x 1) z)) (*.f64 x (+.f64 z y))) (if (<=.f64 x #s(literal 2269486225665967/133499189745056880149688856635597007162669032647290798121690100488888732861290034376435130433536 binary64)) #s(approx (+ (* x y) (* (- x 1) z)) (neg.f64 z)) #s(approx (+ (* x y) (* (- x 1) z)) (*.f64 x (+.f64 z y)))))
(if (<=.f64 x #s(literal -8166776806102523/5444517870735015415413993718908291383296 binary64)) #s(approx (+ (* x y) (* (- x 1) z)) (*.f64 x (+.f64 y z))) (if (<=.f64 x #s(literal 2269486225665967/133499189745056880149688856635597007162669032647290798121690100488888732861290034376435130433536 binary64)) #s(approx (+ (* x y) (* (- x 1) z)) (neg.f64 z)) #s(approx (+ (* x y) (* (- x 1) z)) (*.f64 x (+.f64 y z)))))
(if (<=.f64 x #s(literal -35999999999999999378840354816 binary64)) #s(approx (+ (* x y) (* (- x 1) z)) #s(approx (+ (* z x) (neg z)) (*.f64 z x))) (if (<=.f64 x #s(literal -7350099125492271/2722258935367507707706996859454145691648 binary64)) #s(approx (+ (* x y) (* (- x 1) z)) (*.f64 x y)) (if (<=.f64 x #s(literal 2269486225665967/133499189745056880149688856635597007162669032647290798121690100488888732861290034376435130433536 binary64)) #s(approx (+ (* x y) (* (- x 1) z)) (neg.f64 z)) (if (<=.f64 x #s(literal 330000000000000019203003984528390895572440785804490894963610071047317538874925922506262869522351595906784827298669395968 binary64)) #s(approx (+ (* x y) (* (- x 1) z)) (*.f64 x y)) #s(approx (+ (* x y) (* (- x 1) z)) #s(approx (+ (* z x) (neg z)) (*.f64 z x)))))))
(if (<=.f64 x #s(literal -35999999999999999378840354816 binary64)) #s(approx (+ (* x y) (* (- x 1) z)) #s(approx (+ (* z x) (neg z)) (*.f64 x z))) (if (<=.f64 x #s(literal -7350099125492271/2722258935367507707706996859454145691648 binary64)) #s(approx (+ (* x y) (* (- x 1) z)) (*.f64 x y)) (if (<=.f64 x #s(literal 2269486225665967/133499189745056880149688856635597007162669032647290798121690100488888732861290034376435130433536 binary64)) #s(approx (+ (* x y) (* (- x 1) z)) (neg.f64 z)) (if (<=.f64 x #s(literal 330000000000000019203003984528390895572440785804490894963610071047317538874925922506262869522351595906784827298669395968 binary64)) #s(approx (+ (* x y) (* (- x 1) z)) (*.f64 x y)) #s(approx (+ (* x y) (* (- x 1) z)) #s(approx (+ (* z x) (neg z)) (*.f64 x z)))))))
(if (<=.f64 x #s(literal -5718490662849961/18446744073709551616 binary64)) #s(approx (+ (* x y) (* (- x 1) z)) #s(approx (+ (* z x) (neg z)) (*.f64 z x))) (if (<=.f64 x #s(literal 3884354678607053/281474976710656 binary64)) #s(approx (+ (* x y) (* (- x 1) z)) (neg.f64 z)) #s(approx (+ (* x y) (* (- x 1) z)) #s(approx (+ (* z x) (neg z)) (*.f64 z x)))))
(if (<=.f64 x #s(literal -5718490662849961/18446744073709551616 binary64)) #s(approx (+ (* x y) (* (- x 1) z)) #s(approx (+ (* z x) (neg z)) (*.f64 x z))) (if (<=.f64 x #s(literal 3884354678607053/281474976710656 binary64)) #s(approx (+ (* x y) (* (- x 1) z)) (neg.f64 z)) #s(approx (+ (* x y) (* (- x 1) z)) #s(approx (+ (* z x) (neg z)) (*.f64 x z)))))
#s(approx (+ (* x y) (* (- x 1) z)) (neg.f64 z))
#s(approx (+ (* x y) (* (- x 1) z)) z)

soundness950.0ms (18.2%)

Memory
22.2MiB live, 535.4MiB allocated
Rules
9 348×lower-fma.f32
9 346×lower-fma.f64
9 326×lower-fma.f64
9 326×lower-fma.f32
6 090×lower-fma.f64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01993
02693
110493
275277
0972072
054467
1180440
2532440
31344440
44419440
08070440
0781810
12731675
27861675
321941675
443281675
557631675
666021675
777111675
081391675
Stop Event
done
iter limit
node limit
iter limit
node limit
iter limit
node limit
iter limit
Compiler

Compiled 235 to 109 computations (53.6% saved)

preprocess89.0ms (1.7%)

Memory
19.6MiB live, 131.5MiB allocated
Compiler

Compiled 310 to 104 computations (66.5% saved)

end0.0ms (0%)

Memory
0.0MiB live, 0.0MiB allocated

Profiling

Loading profile data...