Main:bigenough2 from A

Time bar (total: 2.6s)

start0.0ms (0%)

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

analyze0.0ms (0%)

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

Compiled 9 to 8 computations (11.1% saved)

sample609.0ms (23.1%)

Memory
26.7MiB live, 725.4MiB allocated; 190ms collecting garbage
Samples
385.0ms8 256×0valid
Precisions
Click to see histograms. Total time spent on operations: 176.0ms
ival-add!: 102.0ms (58% of total)
ival-mult!: 72.0ms (40.9% of total)
adjust: 2.0ms (1.1% of total)
Bogosity

explain108.0ms (4.1%)

Memory
11.7MiB live, 58.1MiB allocated; 9ms collecting garbage
FPErrors
Click to see full error table
Ground TruthOverpredictionsExampleUnderpredictionsExampleSubexpression
00-0-(+.f64 z x)
00-0-y
00-0-(*.f64 y (+.f64 z x))
00-0-(+.f64 x (*.f64 y (+.f64 z x)))
00-0-z
00-0-x
Confusion
Predicted +Predicted -
+00
-0256
Precision
0/0
Recall
0/0
Confusion?
Predicted +Predicted MaybePredicted -
+000
-00256
Precision?
0/0
Recall?
0/0
Freqs
test
numberfreq
0256
Total Confusion?
Predicted +Predicted MaybePredicted -
+000
-001
Precision?
0/0
Recall?
0/0
Samples
20.0ms512×0valid
Compiler

Compiled 47 to 22 computations (53.2% saved)

Precisions
Click to see histograms. Total time spent on operations: 6.0ms
ival-add!: 3.0ms (52.5% of total)
ival-mult!: 3.0ms (52.5% of total)
adjust: 0.0ms (0% of total)

preprocess198.0ms (7.5%)

Memory
-10.7MiB live, 183.9MiB allocated; 64ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02977
110077
237073
365773
487371
5119270
6161870
7384270
8771370
067
097
1217
2537
31187
41867
52587
63577
77157
822677
081576
Stop Event
iter limit
node limit
iter limit
node limit
Calls
Call 1
Inputs
(+.f64 x (*.f64 y (+.f64 z x)))
Outputs
(+.f64 x (*.f64 y (+.f64 z x)))
(fma.f64 (+.f64 z x) y x)
Compiler

Compiled 7 to 6 computations (14.3% saved)

eval0.0ms (0%)

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

Compiled 0 to 3 computations (-∞% saved)

prune0.0ms (0%)

Memory
0.9MiB live, 0.9MiB allocated; 0ms collecting garbage
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(+.f64 x (*.f64 y (+.f64 z x)))
Compiler

Compiled 7 to 6 computations (14.3% saved)

series7.0ms (0.3%)

Memory
14.6MiB live, 14.6MiB allocated; 0ms collecting garbage
Counts
6 → 33
Calls
Call 1
Inputs
(+.f64 x (*.f64 y (+.f64 z x)))
x
(*.f64 y (+.f64 z x))
y
(+.f64 z x)
z
Outputs
#s(approx (+ x (* y (+ z x))) #s(hole binary64 (* y z)))
#s(approx (+ x (* y (+ z x))) #s(hole binary64 (+ (* x (+ 1 y)) (* y z))))
#s(approx x #s(hole binary64 x))
#s(approx (* y (+ z x)) #s(hole binary64 (* y z)))
#s(approx (* y (+ z x)) #s(hole binary64 (+ (* x y) (* y z))))
#s(approx (+ z x) #s(hole binary64 z))
#s(approx (+ z x) #s(hole binary64 (+ x z)))
#s(approx (+ x (* y (+ z x))) #s(hole binary64 (* x (+ 1 y))))
#s(approx (+ x (* y (+ z x))) #s(hole binary64 (* x (+ 1 (+ y (/ (* y z) x))))))
#s(approx (* y (+ z x)) #s(hole binary64 (* x y)))
#s(approx (* y (+ z x)) #s(hole binary64 (* x (+ y (/ (* y z) x)))))
#s(approx (+ z x) #s(hole binary64 x))
#s(approx (+ z x) #s(hole binary64 (* x (+ 1 (/ z x)))))
#s(approx (+ x (* y (+ z x))) #s(hole binary64 (* -1 (* x (- (* -1 y) 1)))))
#s(approx (+ x (* y (+ z x))) #s(hole binary64 (* -1 (* x (- (+ (* -1 y) (* -1 (/ (* y z) x))) 1)))))
#s(approx (* y (+ z x)) #s(hole binary64 (* -1 (* x (+ (* -1 y) (* -1 (/ (* y z) x)))))))
#s(approx (+ z x) #s(hole binary64 (* -1 (* x (- (* -1 (/ z x)) 1)))))
#s(approx (+ x (* y (+ z x))) #s(hole binary64 x))
#s(approx (+ x (* y (+ z x))) #s(hole binary64 (+ x (* y (+ x z)))))
#s(approx (* y (+ z x)) #s(hole binary64 (* y (+ x z))))
#s(approx y #s(hole binary64 y))
#s(approx (+ x (* y (+ z x))) #s(hole binary64 (* y (+ x z))))
#s(approx (+ x (* y (+ z x))) #s(hole binary64 (* y (+ x (+ z (/ x y))))))
#s(approx (+ x (* y (+ z x))) #s(hole binary64 (* -1 (* y (+ (* -1 (+ x z)) (* -1 (/ x y)))))))
#s(approx (+ x (* y (+ z x))) #s(hole binary64 (+ x (* x y))))
#s(approx (+ x (* y (+ z x))) #s(hole binary64 (+ x (+ (* x y) (* y z)))))
#s(approx z #s(hole binary64 z))
#s(approx (+ x (* y (+ z x))) #s(hole binary64 (* z (+ y (+ (/ x z) (/ (* x y) z))))))
#s(approx (* y (+ z x)) #s(hole binary64 (* z (+ y (/ (* x y) z)))))
#s(approx (+ z x) #s(hole binary64 (* z (+ 1 (/ x z)))))
#s(approx (+ x (* y (+ z x))) #s(hole binary64 (* -1 (* z (+ (* -1 y) (* -1 (/ (+ x (* x y)) z)))))))
#s(approx (* y (+ z x)) #s(hole binary64 (* -1 (* z (+ (* -1 y) (* -1 (/ (* x y) z)))))))
#s(approx (+ z x) #s(hole binary64 (* -1 (* z (- (* -1 (/ x z)) 1)))))
Calls

9 calls:

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

rewrite249.0ms (9.5%)

Memory
7.6MiB live, 200.3MiB allocated; 31ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0109465
0112439
1608429
25308429
08974397
Stop Event
iter limit
node limit
iter limit
Counts
39 → 119
Calls
Call 1
Inputs
(+.f64 x (*.f64 y (+.f64 z x)))
x
(*.f64 y (+.f64 z x))
y
(+.f64 z x)
z
#s(approx (+ x (* y (+ z x))) #s(hole binary64 (* y z)))
#s(approx (+ x (* y (+ z x))) #s(hole binary64 (+ (* x (+ 1 y)) (* y z))))
#s(approx x #s(hole binary64 x))
#s(approx (* y (+ z x)) #s(hole binary64 (* y z)))
#s(approx (* y (+ z x)) #s(hole binary64 (+ (* x y) (* y z))))
#s(approx (+ z x) #s(hole binary64 z))
#s(approx (+ z x) #s(hole binary64 (+ x z)))
#s(approx (+ x (* y (+ z x))) #s(hole binary64 (* x (+ 1 y))))
#s(approx (+ x (* y (+ z x))) #s(hole binary64 (* x (+ 1 (+ y (/ (* y z) x))))))
#s(approx (* y (+ z x)) #s(hole binary64 (* x y)))
#s(approx (* y (+ z x)) #s(hole binary64 (* x (+ y (/ (* y z) x)))))
#s(approx (+ z x) #s(hole binary64 x))
#s(approx (+ z x) #s(hole binary64 (* x (+ 1 (/ z x)))))
#s(approx (+ x (* y (+ z x))) #s(hole binary64 (* -1 (* x (- (* -1 y) 1)))))
#s(approx (+ x (* y (+ z x))) #s(hole binary64 (* -1 (* x (- (+ (* -1 y) (* -1 (/ (* y z) x))) 1)))))
#s(approx (* y (+ z x)) #s(hole binary64 (* -1 (* x (+ (* -1 y) (* -1 (/ (* y z) x)))))))
#s(approx (+ z x) #s(hole binary64 (* -1 (* x (- (* -1 (/ z x)) 1)))))
#s(approx (+ x (* y (+ z x))) #s(hole binary64 x))
#s(approx (+ x (* y (+ z x))) #s(hole binary64 (+ x (* y (+ x z)))))
#s(approx (* y (+ z x)) #s(hole binary64 (* y (+ x z))))
#s(approx y #s(hole binary64 y))
#s(approx (+ x (* y (+ z x))) #s(hole binary64 (* y (+ x z))))
#s(approx (+ x (* y (+ z x))) #s(hole binary64 (* y (+ x (+ z (/ x y))))))
#s(approx (+ x (* y (+ z x))) #s(hole binary64 (* -1 (* y (+ (* -1 (+ x z)) (* -1 (/ x y)))))))
#s(approx (+ x (* y (+ z x))) #s(hole binary64 (+ x (* x y))))
#s(approx (+ x (* y (+ z x))) #s(hole binary64 (+ x (+ (* x y) (* y z)))))
#s(approx z #s(hole binary64 z))
#s(approx (+ x (* y (+ z x))) #s(hole binary64 (* z (+ y (+ (/ x z) (/ (* x y) z))))))
#s(approx (* y (+ z x)) #s(hole binary64 (* z (+ y (/ (* x y) z)))))
#s(approx (+ z x) #s(hole binary64 (* z (+ 1 (/ x z)))))
#s(approx (+ x (* y (+ z x))) #s(hole binary64 (* -1 (* z (+ (* -1 y) (* -1 (/ (+ x (* x y)) z)))))))
#s(approx (* y (+ z x)) #s(hole binary64 (* -1 (* z (+ (* -1 y) (* -1 (/ (* x y) z)))))))
#s(approx (+ z x) #s(hole binary64 (* -1 (* z (- (* -1 (/ x z)) 1)))))
Outputs
(/.f64 (-.f64 (pow.f64 (*.f64 (+.f64 z x) y) #s(literal 2 binary64)) (*.f64 x x)) (-.f64 (*.f64 (+.f64 z x) y) x))
(/.f64 (-.f64 (pow.f64 (*.f64 z y) #s(literal 2 binary64)) (pow.f64 (fma.f64 y x x) #s(literal 2 binary64))) (-.f64 (*.f64 z y) (fma.f64 y x x)))
(/.f64 (-.f64 (pow.f64 (fma.f64 y x x) #s(literal 3 binary64)) (pow.f64 (*.f64 z y) #s(literal 3 binary64))) (+.f64 (pow.f64 (fma.f64 y x x) #s(literal 2 binary64)) (+.f64 (pow.f64 (*.f64 z y) #s(literal 2 binary64)) (*.f64 (fma.f64 y x x) (*.f64 (neg.f64 z) y)))))
(/.f64 (-.f64 (pow.f64 x #s(literal 3 binary64)) (pow.f64 (*.f64 (+.f64 z x) y) #s(literal 3 binary64))) (fma.f64 x x (+.f64 (pow.f64 (*.f64 (+.f64 z x) y) #s(literal 2 binary64)) (*.f64 x (*.f64 (neg.f64 (+.f64 z x)) y)))))
(/.f64 (neg.f64 (-.f64 (*.f64 x x) (pow.f64 (*.f64 (+.f64 z x) y) #s(literal 2 binary64)))) (neg.f64 (-.f64 x (*.f64 (+.f64 z x) y))))
(/.f64 (neg.f64 (+.f64 (pow.f64 (*.f64 (+.f64 z x) y) #s(literal 3 binary64)) (pow.f64 x #s(literal 3 binary64)))) (neg.f64 (fma.f64 (*.f64 (+.f64 z x) y) (-.f64 (*.f64 (+.f64 z x) y) x) (*.f64 x x))))
(/.f64 (neg.f64 (-.f64 (pow.f64 (fma.f64 y x x) #s(literal 2 binary64)) (pow.f64 (*.f64 z y) #s(literal 2 binary64)))) (neg.f64 (+.f64 x (*.f64 y (-.f64 x z)))))
(/.f64 (neg.f64 (+.f64 (pow.f64 (*.f64 z y) #s(literal 3 binary64)) (pow.f64 (fma.f64 y x x) #s(literal 3 binary64)))) (neg.f64 (fma.f64 (*.f64 z y) (-.f64 (*.f64 z y) (fma.f64 y x x)) (pow.f64 (fma.f64 y x x) #s(literal 2 binary64)))))
(/.f64 (-.f64 (*.f64 x x) (pow.f64 (*.f64 (+.f64 z x) y) #s(literal 2 binary64))) (-.f64 x (*.f64 (+.f64 z x) y)))
(/.f64 (-.f64 (pow.f64 (fma.f64 y x x) #s(literal 2 binary64)) (pow.f64 (*.f64 z y) #s(literal 2 binary64))) (+.f64 x (*.f64 y (-.f64 x z))))
(/.f64 (+.f64 (pow.f64 (*.f64 (+.f64 z x) y) #s(literal 3 binary64)) (pow.f64 x #s(literal 3 binary64))) (+.f64 (pow.f64 (*.f64 (+.f64 z x) y) #s(literal 2 binary64)) (-.f64 (*.f64 x x) (*.f64 (*.f64 (+.f64 z x) y) x))))
(/.f64 (+.f64 (pow.f64 (*.f64 (+.f64 z x) y) #s(literal 3 binary64)) (pow.f64 x #s(literal 3 binary64))) (fma.f64 (*.f64 (+.f64 z x) y) (-.f64 (*.f64 (+.f64 z x) y) x) (*.f64 x x)))
(/.f64 (+.f64 (pow.f64 (*.f64 z y) #s(literal 3 binary64)) (pow.f64 (fma.f64 y x x) #s(literal 3 binary64))) (+.f64 (pow.f64 (*.f64 z y) #s(literal 2 binary64)) (-.f64 (pow.f64 (fma.f64 y x x) #s(literal 2 binary64)) (*.f64 (*.f64 (fma.f64 y x x) z) y))))
(/.f64 (+.f64 (pow.f64 (*.f64 z y) #s(literal 3 binary64)) (pow.f64 (fma.f64 y x x) #s(literal 3 binary64))) (fma.f64 (*.f64 z y) (-.f64 (*.f64 z y) (fma.f64 y x x)) (pow.f64 (fma.f64 y x x) #s(literal 2 binary64))))
(fma.f64 (-.f64 y #s(literal -1 binary64)) x (*.f64 z y))
(fma.f64 (+.f64 z x) y x)
(fma.f64 z y (fma.f64 y x x))
(fma.f64 y (+.f64 z x) x)
(fma.f64 y z (fma.f64 y x x))
(fma.f64 y x (+.f64 x (*.f64 z y)))
(fma.f64 y x (fma.f64 z y x))
(fma.f64 x (-.f64 y #s(literal -1 binary64)) (*.f64 z y))
(fma.f64 x y (+.f64 x (*.f64 z y)))
(fma.f64 x y (fma.f64 z y x))
(-.f64 (/.f64 (*.f64 x x) (-.f64 x (*.f64 (+.f64 z x) y))) (/.f64 (pow.f64 (*.f64 (+.f64 z x) y) #s(literal 2 binary64)) (-.f64 x (*.f64 (+.f64 z x) y))))
(-.f64 (/.f64 (pow.f64 (fma.f64 y x x) #s(literal 2 binary64)) (+.f64 x (*.f64 y (-.f64 x z)))) (/.f64 (pow.f64 (*.f64 z y) #s(literal 2 binary64)) (+.f64 x (*.f64 y (-.f64 x z)))))
(-.f64 (*.f64 y x) (-.f64 (*.f64 (neg.f64 z) y) x))
(-.f64 (fma.f64 y x x) (*.f64 (neg.f64 z) y))
(-.f64 (*.f64 z y) (*.f64 (neg.f64 (-.f64 y #s(literal -1 binary64))) x))
(-.f64 (*.f64 z y) (*.f64 (neg.f64 x) (-.f64 y #s(literal -1 binary64))))
(-.f64 x (-.f64 (*.f64 (neg.f64 y) x) (*.f64 z y)))
(-.f64 x (*.f64 (neg.f64 (+.f64 z x)) y))
(+.f64 (+.f64 x (*.f64 z y)) (*.f64 y x))
(+.f64 (fma.f64 z y x) (*.f64 y x))
(+.f64 (/.f64 (pow.f64 x #s(literal 3 binary64)) (fma.f64 (*.f64 (+.f64 z x) y) (-.f64 (*.f64 (+.f64 z x) y) x) (*.f64 x x))) (/.f64 (pow.f64 (*.f64 (+.f64 z x) y) #s(literal 3 binary64)) (fma.f64 (*.f64 (+.f64 z x) y) (-.f64 (*.f64 (+.f64 z x) y) x) (*.f64 x x))))
(+.f64 (/.f64 (pow.f64 (fma.f64 y x x) #s(literal 3 binary64)) (fma.f64 (*.f64 z y) (-.f64 (*.f64 z y) (fma.f64 y x x)) (pow.f64 (fma.f64 y x x) #s(literal 2 binary64)))) (/.f64 (pow.f64 (*.f64 z y) #s(literal 3 binary64)) (fma.f64 (*.f64 z y) (-.f64 (*.f64 z y) (fma.f64 y x x)) (pow.f64 (fma.f64 y x x) #s(literal 2 binary64)))))
(+.f64 (*.f64 (+.f64 z x) y) x)
(+.f64 (*.f64 y x) (+.f64 x (*.f64 z y)))
(+.f64 (*.f64 y x) (fma.f64 z y x))
(+.f64 (fma.f64 y x x) (*.f64 z y))
(+.f64 (*.f64 z y) (fma.f64 y x x))
(+.f64 x (*.f64 (+.f64 z x) y))
x
(*.f64 (+.f64 z x) y)
(*.f64 y (+.f64 z x))
(/.f64 (*.f64 y (*.f64 (+.f64 z x) (-.f64 z x))) (-.f64 z x))
(/.f64 (*.f64 y (*.f64 (+.f64 z x) (-.f64 x z))) (-.f64 x z))
(/.f64 (*.f64 y (+.f64 (pow.f64 z #s(literal 3 binary64)) (pow.f64 x #s(literal 3 binary64)))) (fma.f64 x (-.f64 x z) (*.f64 z z)))
(/.f64 (*.f64 y (+.f64 (pow.f64 z #s(literal 3 binary64)) (pow.f64 x #s(literal 3 binary64)))) (fma.f64 z (-.f64 z x) (*.f64 x x)))
(/.f64 (-.f64 (pow.f64 (*.f64 z y) #s(literal 2 binary64)) (pow.f64 (*.f64 y x) #s(literal 2 binary64))) (-.f64 (*.f64 z y) (*.f64 y x)))
(/.f64 (-.f64 (pow.f64 (*.f64 y x) #s(literal 3 binary64)) (pow.f64 (*.f64 z y) #s(literal 3 binary64))) (+.f64 (pow.f64 (*.f64 y x) #s(literal 2 binary64)) (+.f64 (pow.f64 (*.f64 z y) #s(literal 2 binary64)) (*.f64 (*.f64 y x) (*.f64 (neg.f64 z) y)))))
(/.f64 (neg.f64 (*.f64 (*.f64 (+.f64 z x) y) (*.f64 y (-.f64 x z)))) (neg.f64 (*.f64 y (-.f64 x z))))
(/.f64 (neg.f64 (+.f64 (pow.f64 (*.f64 y x) #s(literal 3 binary64)) (pow.f64 (*.f64 z y) #s(literal 3 binary64)))) (neg.f64 (fma.f64 (*.f64 z y) (-.f64 (*.f64 z y) (*.f64 y x)) (pow.f64 (*.f64 y x) #s(literal 2 binary64)))))
(/.f64 (*.f64 (*.f64 (+.f64 z x) (-.f64 z x)) y) (-.f64 z x))
(/.f64 (*.f64 (*.f64 (+.f64 z x) (-.f64 x z)) y) (-.f64 x z))
(/.f64 (*.f64 (+.f64 (pow.f64 z #s(literal 3 binary64)) (pow.f64 x #s(literal 3 binary64))) y) (fma.f64 x (-.f64 x z) (*.f64 z z)))
(/.f64 (*.f64 (+.f64 (pow.f64 z #s(literal 3 binary64)) (pow.f64 x #s(literal 3 binary64))) y) (fma.f64 z (-.f64 z x) (*.f64 x x)))
(/.f64 (*.f64 (*.f64 (+.f64 z x) y) (*.f64 y (-.f64 x z))) (*.f64 y (-.f64 x z)))
(/.f64 (+.f64 (pow.f64 (*.f64 y x) #s(literal 3 binary64)) (pow.f64 (*.f64 z y) #s(literal 3 binary64))) (+.f64 (pow.f64 (*.f64 z y) #s(literal 2 binary64)) (-.f64 (pow.f64 (*.f64 y x) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 z x) y) y))))
(/.f64 (+.f64 (pow.f64 (*.f64 y x) #s(literal 3 binary64)) (pow.f64 (*.f64 z y) #s(literal 3 binary64))) (fma.f64 (*.f64 z y) (-.f64 (*.f64 z y) (*.f64 y x)) (pow.f64 (*.f64 y x) #s(literal 2 binary64))))
(fma.f64 z y (*.f64 y x))
(fma.f64 y z (*.f64 y x))
(fma.f64 y x (*.f64 z y))
(fma.f64 x y (*.f64 z y))
(-.f64 (/.f64 (pow.f64 (*.f64 y x) #s(literal 2 binary64)) (*.f64 y (-.f64 x z))) (/.f64 (pow.f64 (*.f64 z y) #s(literal 2 binary64)) (*.f64 y (-.f64 x z))))
(-.f64 (*.f64 y x) (*.f64 (neg.f64 z) y))
(-.f64 (*.f64 z y) (*.f64 (neg.f64 y) x))
(+.f64 (/.f64 (pow.f64 (*.f64 y x) #s(literal 3 binary64)) (fma.f64 (*.f64 z y) (-.f64 (*.f64 z y) (*.f64 y x)) (pow.f64 (*.f64 y x) #s(literal 2 binary64)))) (/.f64 (pow.f64 (*.f64 z y) #s(literal 3 binary64)) (fma.f64 (*.f64 z y) (-.f64 (*.f64 z y) (*.f64 y x)) (pow.f64 (*.f64 y x) #s(literal 2 binary64)))))
(+.f64 (*.f64 y x) (*.f64 z y))
(+.f64 (*.f64 z y) (*.f64 y x))
y
(/.f64 (neg.f64 (*.f64 (+.f64 z x) (-.f64 z x))) (neg.f64 (-.f64 z x)))
(/.f64 (neg.f64 (*.f64 (+.f64 z x) (-.f64 x z))) (neg.f64 (-.f64 x z)))
(/.f64 (neg.f64 (+.f64 (pow.f64 z #s(literal 3 binary64)) (pow.f64 x #s(literal 3 binary64)))) (neg.f64 (fma.f64 x (-.f64 x z) (*.f64 z z))))
(/.f64 (neg.f64 (+.f64 (pow.f64 z #s(literal 3 binary64)) (pow.f64 x #s(literal 3 binary64)))) (neg.f64 (fma.f64 z (-.f64 z x) (*.f64 x x))))
(/.f64 (*.f64 (+.f64 z x) (-.f64 z x)) (-.f64 z x))
(/.f64 (*.f64 (+.f64 z x) (-.f64 x z)) (-.f64 x z))
(/.f64 (+.f64 (pow.f64 z #s(literal 3 binary64)) (pow.f64 x #s(literal 3 binary64))) (fma.f64 x (-.f64 x z) (*.f64 z z)))
(/.f64 (+.f64 (pow.f64 z #s(literal 3 binary64)) (pow.f64 x #s(literal 3 binary64))) (fma.f64 z (-.f64 z x) (*.f64 x x)))
(-.f64 (/.f64 (*.f64 z z) (-.f64 z x)) (/.f64 (*.f64 x x) (-.f64 z x)))
(-.f64 (/.f64 (*.f64 x x) (-.f64 x z)) (/.f64 (*.f64 z z) (-.f64 x z)))
(+.f64 (/.f64 (pow.f64 z #s(literal 3 binary64)) (fma.f64 x (-.f64 x z) (*.f64 z z))) (/.f64 (pow.f64 x #s(literal 3 binary64)) (fma.f64 x (-.f64 x z) (*.f64 z z))))
(+.f64 (/.f64 (pow.f64 x #s(literal 3 binary64)) (fma.f64 z (-.f64 z x) (*.f64 x x))) (/.f64 (pow.f64 z #s(literal 3 binary64)) (fma.f64 z (-.f64 z x) (*.f64 x x))))
(+.f64 z x)
(+.f64 x z)
z
#s(approx (+ x (* y (+ z x))) (*.f64 z y))
#s(approx (+ x (* y (+ z x))) (fma.f64 (+.f64 z x) y x))
#s(approx x x)
#s(approx (* y (+ z x)) (*.f64 z y))
#s(approx (* y (+ z x)) (*.f64 (+.f64 z x) y))
#s(approx (+ z x) z)
#s(approx (+ z x) (+.f64 z x))
#s(approx (+ x (* y (+ z x))) (fma.f64 y x x))
#s(approx (+ x (* y (+ z x))) (fma.f64 (fma.f64 (/.f64 z x) y y) x x))
#s(approx (* y (+ z x)) (*.f64 y x))
#s(approx (* y (+ z x)) (*.f64 (fma.f64 (/.f64 z x) y y) x))
#s(approx (+ z x) x)
#s(approx (+ z x) (fma.f64 (/.f64 z x) x x))
#s(approx (+ x (* y (+ z x))) (*.f64 (neg.f64 x) (fma.f64 #s(literal -1 binary64) y #s(literal -1 binary64))))
#s(approx (+ x (* y (+ z x))) (*.f64 (neg.f64 x) (fma.f64 #s(literal -1 binary64) (fma.f64 (/.f64 z x) y y) #s(literal -1 binary64))))
#s(approx (* y (+ z x)) (*.f64 (fma.f64 (/.f64 z x) y y) x))
#s(approx (+ z x) (*.f64 (neg.f64 x) (fma.f64 #s(literal -1 binary64) (/.f64 z x) #s(literal -1 binary64))))
#s(approx (+ x (* y (+ z x))) x)
#s(approx (+ x (* y (+ z x))) (fma.f64 (+.f64 z x) y x))
#s(approx (* y (+ z x)) (*.f64 (+.f64 z x) y))
#s(approx y y)
#s(approx (+ x (* y (+ z x))) (*.f64 (+.f64 z x) y))
#s(approx (+ x (* y (+ z x))) (*.f64 (+.f64 (+.f64 (/.f64 x y) z) x) y))
#s(approx (+ x (* y (+ z x))) (*.f64 (neg.f64 (+.f64 (+.f64 (/.f64 x y) z) x)) (neg.f64 y)))
#s(approx (+ x (* y (+ z x))) (fma.f64 y x x))
#s(approx (+ x (* y (+ z x))) (fma.f64 (+.f64 z x) y x))
#s(approx z z)
#s(approx (+ x (* y (+ z x))) (*.f64 (+.f64 (/.f64 (fma.f64 y x x) z) y) z))
#s(approx (* y (+ z x)) (*.f64 (fma.f64 y (/.f64 x z) y) z))
#s(approx (+ z x) (fma.f64 (/.f64 x z) z z))
#s(approx (+ x (* y (+ z x))) (*.f64 (neg.f64 z) (neg.f64 (+.f64 (/.f64 (fma.f64 y x x) z) y))))
#s(approx (* y (+ z x)) (*.f64 (neg.f64 z) (neg.f64 (fma.f64 y (/.f64 x z) y))))
#s(approx (+ z x) (*.f64 (neg.f64 z) (fma.f64 (/.f64 x z) #s(literal -1 binary64) #s(literal -1 binary64))))

eval33.0ms (1.3%)

Memory
-35.3MiB live, 20.6MiB allocated; 11ms collecting garbage
Compiler

Compiled 1 887 to 355 computations (81.2% saved)

prune5.0ms (0.2%)

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

8 alts after pruning (8 fresh and 0 done)

PrunedKeptTotal
New1088116
Fresh000
Picked101
Done000
Total1098117
Accuracy
100.0%
Counts
117 → 8
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(fma.f64 (+.f64 z x) y x)
99.6%
(fma.f64 z y (fma.f64 y x x))
98.4%
(fma.f64 y x (fma.f64 z y x))
77.4%
(+.f64 x (*.f64 y #s(approx (+ z x) z)))
61.9%
#s(approx (+ x (* y (+ z x))) (fma.f64 y x x))
63.7%
#s(approx (+ x (* y (+ z x))) (*.f64 (+.f64 z x) y))
41.0%
#s(approx (+ x (* y (+ z x))) (*.f64 z y))
37.8%
#s(approx (+ x (* y (+ z x))) x)
Compiler

Compiled 148 to 108 computations (27% saved)

series9.0ms (0.3%)

Memory
16.9MiB live, 16.9MiB allocated; 0ms collecting garbage
Counts
12 → 71
Calls
Call 1
Inputs
(fma.f64 (+.f64 z x) y x)
(+.f64 z x)
z
x
y
#s(approx (+ x (* y (+ z x))) x)
#s(approx (+ x (* y (+ z x))) (fma.f64 y x x))
(fma.f64 y x x)
(+.f64 x (*.f64 y #s(approx (+ z x) z)))
(*.f64 y #s(approx (+ z x) z))
#s(approx (+ z x) z)
(fma.f64 z y (fma.f64 y x x))
Outputs
#s(approx (+ (* (+ z x) y) x) #s(hole binary64 (* y z)))
#s(approx (+ (* (+ z x) y) x) #s(hole binary64 (+ (* x (+ 1 y)) (* y z))))
#s(approx (+ z x) #s(hole binary64 z))
#s(approx (+ z x) #s(hole binary64 (+ x z)))
#s(approx x #s(hole binary64 x))
#s(approx (+ x (* y (+ z x))) #s(hole binary64 (* y z)))
#s(approx (+ x (* y (+ z x))) #s(hole binary64 (+ (* x (+ 1 y)) (* y z))))
#s(approx (+ (* y x) x) #s(hole binary64 (* x (+ 1 y))))
#s(approx (* y (+ z x)) #s(hole binary64 (* y z)))
#s(approx (* y (+ z x)) #s(hole binary64 (+ (* x y) (* y z))))
#s(approx (+ (* z y) (+ (* y x) x)) #s(hole binary64 (* y z)))
#s(approx (+ (* z y) (+ (* y x) x)) #s(hole binary64 (+ (* x (+ 1 y)) (* y z))))
#s(approx (+ (* (+ z x) y) x) #s(hole binary64 (* x (+ 1 y))))
#s(approx (+ (* (+ z x) y) x) #s(hole binary64 (* x (+ 1 (+ y (/ (* y z) x))))))
#s(approx (+ z x) #s(hole binary64 x))
#s(approx (+ z x) #s(hole binary64 (* x (+ 1 (/ z x)))))
#s(approx (+ x (* y (+ z x))) #s(hole binary64 (* x (+ 1 y))))
#s(approx (+ x (* y (+ z x))) #s(hole binary64 (* x (+ 1 (+ y (/ (* y z) x))))))
#s(approx (* y (+ z x)) #s(hole binary64 (* x y)))
#s(approx (* y (+ z x)) #s(hole binary64 (* x (+ y (/ (* y z) x)))))
#s(approx (+ (* z y) (+ (* y x) x)) #s(hole binary64 (* x (+ 1 y))))
#s(approx (+ (* z y) (+ (* y x) x)) #s(hole binary64 (* x (+ 1 (+ y (/ (* y z) x))))))
#s(approx (+ (* (+ z x) y) x) #s(hole binary64 (* -1 (* x (- (* -1 y) 1)))))
#s(approx (+ (* (+ z x) y) x) #s(hole binary64 (* -1 (* x (- (+ (* -1 y) (* -1 (/ (* y z) x))) 1)))))
#s(approx (+ z x) #s(hole binary64 (* -1 (* x (- (* -1 (/ z x)) 1)))))
#s(approx (+ x (* y (+ z x))) #s(hole binary64 (* -1 (* x (- (* -1 y) 1)))))
#s(approx (+ x (* y (+ z x))) #s(hole binary64 (* -1 (* x (- (+ (* -1 y) (* -1 (/ (* y z) x))) 1)))))
#s(approx (+ (* y x) x) #s(hole binary64 (* -1 (* x (- (* -1 y) 1)))))
#s(approx (* y (+ z x)) #s(hole binary64 (* -1 (* x (+ (* -1 y) (* -1 (/ (* y z) x)))))))
#s(approx (+ (* z y) (+ (* y x) x)) #s(hole binary64 (* -1 (* x (- (* -1 y) 1)))))
#s(approx (+ (* z y) (+ (* y x) x)) #s(hole binary64 (* -1 (* x (- (+ (* -1 y) (* -1 (/ (* y z) x))) 1)))))
#s(approx (+ (* (+ z x) y) x) #s(hole binary64 x))
#s(approx (+ (* (+ z x) y) x) #s(hole binary64 (+ x (* y (+ x z)))))
#s(approx y #s(hole binary64 y))
#s(approx (+ x (* y (+ z x))) #s(hole binary64 x))
#s(approx (+ x (* y (+ z x))) #s(hole binary64 (+ x (* y (+ x z)))))
#s(approx (+ (* y x) x) #s(hole binary64 x))
#s(approx (+ (* y x) x) #s(hole binary64 (+ x (* x y))))
#s(approx (* y (+ z x)) #s(hole binary64 (* y (+ x z))))
#s(approx (+ (* z y) (+ (* y x) x)) #s(hole binary64 x))
#s(approx (+ (* z y) (+ (* y x) x)) #s(hole binary64 (+ x (* y (+ x z)))))
#s(approx (+ (* (+ z x) y) x) #s(hole binary64 (* y (+ x z))))
#s(approx (+ (* (+ z x) y) x) #s(hole binary64 (* y (+ x (+ z (/ x y))))))
#s(approx (+ x (* y (+ z x))) #s(hole binary64 (* y (+ x z))))
#s(approx (+ x (* y (+ z x))) #s(hole binary64 (* y (+ x (+ z (/ x y))))))
#s(approx (+ (* y x) x) #s(hole binary64 (* x y)))
#s(approx (+ (* y x) x) #s(hole binary64 (* y (+ x (/ x y)))))
#s(approx (+ (* z y) (+ (* y x) x)) #s(hole binary64 (* y (+ x z))))
#s(approx (+ (* z y) (+ (* y x) x)) #s(hole binary64 (* y (+ x (+ z (/ x y))))))
#s(approx (+ (* (+ z x) y) x) #s(hole binary64 (* -1 (* y (+ (* -1 (+ x z)) (* -1 (/ x y)))))))
#s(approx (+ x (* y (+ z x))) #s(hole binary64 (* -1 (* y (+ (* -1 (+ x z)) (* -1 (/ x y)))))))
#s(approx (+ (* y x) x) #s(hole binary64 (* -1 (* y (+ (* -1 x) (* -1 (/ x y)))))))
#s(approx (+ (* z y) (+ (* y x) x)) #s(hole binary64 (* -1 (* y (+ (* -1 x) (* -1 z))))))
#s(approx (+ (* z y) (+ (* y x) x)) #s(hole binary64 (* -1 (* y (+ (* -1 x) (+ (* -1 z) (* -1 (/ x y))))))))
#s(approx (+ (* (+ z x) y) x) #s(hole binary64 (+ x (* x y))))
#s(approx (+ (* (+ z x) y) x) #s(hole binary64 (+ x (+ (* x y) (* y z)))))
#s(approx z #s(hole binary64 z))
#s(approx (+ x (* y (+ z x))) #s(hole binary64 (+ x (* x y))))
#s(approx (+ x (* y (+ z x))) #s(hole binary64 (+ x (+ (* x y) (* y z)))))
#s(approx (+ (* z y) (+ (* y x) x)) #s(hole binary64 (+ x (* x y))))
#s(approx (+ (* z y) (+ (* y x) x)) #s(hole binary64 (+ x (+ (* x y) (* y z)))))
#s(approx (+ (* (+ z x) y) x) #s(hole binary64 (* z (+ y (+ (/ x z) (/ (* x y) z))))))
#s(approx (+ z x) #s(hole binary64 (* z (+ 1 (/ x z)))))
#s(approx (+ x (* y (+ z x))) #s(hole binary64 (* z (+ y (+ (/ x z) (/ (* x y) z))))))
#s(approx (* y (+ z x)) #s(hole binary64 (* z (+ y (/ (* x y) z)))))
#s(approx (+ (* z y) (+ (* y x) x)) #s(hole binary64 (* z (+ y (+ (/ x z) (/ (* x y) z))))))
#s(approx (+ (* (+ z x) y) x) #s(hole binary64 (* -1 (* z (+ (* -1 y) (* -1 (/ (+ x (* x y)) z)))))))
#s(approx (+ z x) #s(hole binary64 (* -1 (* z (- (* -1 (/ x z)) 1)))))
#s(approx (+ x (* y (+ z x))) #s(hole binary64 (* -1 (* z (+ (* -1 y) (* -1 (/ (+ x (* x y)) z)))))))
#s(approx (* y (+ z x)) #s(hole binary64 (* -1 (* z (+ (* -1 y) (* -1 (/ (* x y) z)))))))
#s(approx (+ (* z y) (+ (* y x) x)) #s(hole binary64 (* -1 (* z (+ (* -1 y) (* -1 (/ (+ x (* x y)) z)))))))
Calls

9 calls:

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

rewrite191.0ms (7.3%)

Memory
11.9MiB live, 288.7MiB allocated; 44ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01711106
0177972
1839961
26819961
08051945
Stop Event
iter limit
node limit
iter limit
Counts
83 → 236
Calls
Call 1
Inputs
(fma.f64 (+.f64 z x) y x)
(+.f64 z x)
z
x
y
#s(approx (+ x (* y (+ z x))) x)
#s(approx (+ x (* y (+ z x))) (fma.f64 y x x))
(fma.f64 y x x)
(+.f64 x (*.f64 y #s(approx (+ z x) z)))
(*.f64 y #s(approx (+ z x) z))
#s(approx (+ z x) z)
(fma.f64 z y (fma.f64 y x x))
#s(approx (+ (* (+ z x) y) x) #s(hole binary64 (* y z)))
#s(approx (+ (* (+ z x) y) x) #s(hole binary64 (+ (* x (+ 1 y)) (* y z))))
#s(approx (+ z x) #s(hole binary64 z))
#s(approx (+ z x) #s(hole binary64 (+ x z)))
#s(approx x #s(hole binary64 x))
#s(approx (+ x (* y (+ z x))) #s(hole binary64 (* y z)))
#s(approx (+ x (* y (+ z x))) #s(hole binary64 (+ (* x (+ 1 y)) (* y z))))
#s(approx (+ (* y x) x) #s(hole binary64 (* x (+ 1 y))))
#s(approx (* y (+ z x)) #s(hole binary64 (* y z)))
#s(approx (* y (+ z x)) #s(hole binary64 (+ (* x y) (* y z))))
#s(approx (+ (* z y) (+ (* y x) x)) #s(hole binary64 (* y z)))
#s(approx (+ (* z y) (+ (* y x) x)) #s(hole binary64 (+ (* x (+ 1 y)) (* y z))))
#s(approx (+ (* (+ z x) y) x) #s(hole binary64 (* x (+ 1 y))))
#s(approx (+ (* (+ z x) y) x) #s(hole binary64 (* x (+ 1 (+ y (/ (* y z) x))))))
#s(approx (+ z x) #s(hole binary64 x))
#s(approx (+ z x) #s(hole binary64 (* x (+ 1 (/ z x)))))
#s(approx (+ x (* y (+ z x))) #s(hole binary64 (* x (+ 1 y))))
#s(approx (+ x (* y (+ z x))) #s(hole binary64 (* x (+ 1 (+ y (/ (* y z) x))))))
#s(approx (* y (+ z x)) #s(hole binary64 (* x y)))
#s(approx (* y (+ z x)) #s(hole binary64 (* x (+ y (/ (* y z) x)))))
#s(approx (+ (* z y) (+ (* y x) x)) #s(hole binary64 (* x (+ 1 y))))
#s(approx (+ (* z y) (+ (* y x) x)) #s(hole binary64 (* x (+ 1 (+ y (/ (* y z) x))))))
#s(approx (+ (* (+ z x) y) x) #s(hole binary64 (* -1 (* x (- (* -1 y) 1)))))
#s(approx (+ (* (+ z x) y) x) #s(hole binary64 (* -1 (* x (- (+ (* -1 y) (* -1 (/ (* y z) x))) 1)))))
#s(approx (+ z x) #s(hole binary64 (* -1 (* x (- (* -1 (/ z x)) 1)))))
#s(approx (+ x (* y (+ z x))) #s(hole binary64 (* -1 (* x (- (* -1 y) 1)))))
#s(approx (+ x (* y (+ z x))) #s(hole binary64 (* -1 (* x (- (+ (* -1 y) (* -1 (/ (* y z) x))) 1)))))
#s(approx (+ (* y x) x) #s(hole binary64 (* -1 (* x (- (* -1 y) 1)))))
#s(approx (* y (+ z x)) #s(hole binary64 (* -1 (* x (+ (* -1 y) (* -1 (/ (* y z) x)))))))
#s(approx (+ (* z y) (+ (* y x) x)) #s(hole binary64 (* -1 (* x (- (* -1 y) 1)))))
#s(approx (+ (* z y) (+ (* y x) x)) #s(hole binary64 (* -1 (* x (- (+ (* -1 y) (* -1 (/ (* y z) x))) 1)))))
#s(approx (+ (* (+ z x) y) x) #s(hole binary64 x))
#s(approx (+ (* (+ z x) y) x) #s(hole binary64 (+ x (* y (+ x z)))))
#s(approx y #s(hole binary64 y))
#s(approx (+ x (* y (+ z x))) #s(hole binary64 x))
#s(approx (+ x (* y (+ z x))) #s(hole binary64 (+ x (* y (+ x z)))))
#s(approx (+ (* y x) x) #s(hole binary64 x))
#s(approx (+ (* y x) x) #s(hole binary64 (+ x (* x y))))
#s(approx (* y (+ z x)) #s(hole binary64 (* y (+ x z))))
#s(approx (+ (* z y) (+ (* y x) x)) #s(hole binary64 x))
#s(approx (+ (* z y) (+ (* y x) x)) #s(hole binary64 (+ x (* y (+ x z)))))
#s(approx (+ (* (+ z x) y) x) #s(hole binary64 (* y (+ x z))))
#s(approx (+ (* (+ z x) y) x) #s(hole binary64 (* y (+ x (+ z (/ x y))))))
#s(approx (+ x (* y (+ z x))) #s(hole binary64 (* y (+ x z))))
#s(approx (+ x (* y (+ z x))) #s(hole binary64 (* y (+ x (+ z (/ x y))))))
#s(approx (+ (* y x) x) #s(hole binary64 (* x y)))
#s(approx (+ (* y x) x) #s(hole binary64 (* y (+ x (/ x y)))))
#s(approx (+ (* z y) (+ (* y x) x)) #s(hole binary64 (* y (+ x z))))
#s(approx (+ (* z y) (+ (* y x) x)) #s(hole binary64 (* y (+ x (+ z (/ x y))))))
#s(approx (+ (* (+ z x) y) x) #s(hole binary64 (* -1 (* y (+ (* -1 (+ x z)) (* -1 (/ x y)))))))
#s(approx (+ x (* y (+ z x))) #s(hole binary64 (* -1 (* y (+ (* -1 (+ x z)) (* -1 (/ x y)))))))
#s(approx (+ (* y x) x) #s(hole binary64 (* -1 (* y (+ (* -1 x) (* -1 (/ x y)))))))
#s(approx (+ (* z y) (+ (* y x) x)) #s(hole binary64 (* -1 (* y (+ (* -1 x) (* -1 z))))))
#s(approx (+ (* z y) (+ (* y x) x)) #s(hole binary64 (* -1 (* y (+ (* -1 x) (+ (* -1 z) (* -1 (/ x y))))))))
#s(approx (+ (* (+ z x) y) x) #s(hole binary64 (+ x (* x y))))
#s(approx (+ (* (+ z x) y) x) #s(hole binary64 (+ x (+ (* x y) (* y z)))))
#s(approx z #s(hole binary64 z))
#s(approx (+ x (* y (+ z x))) #s(hole binary64 (+ x (* x y))))
#s(approx (+ x (* y (+ z x))) #s(hole binary64 (+ x (+ (* x y) (* y z)))))
#s(approx (+ (* z y) (+ (* y x) x)) #s(hole binary64 (+ x (* x y))))
#s(approx (+ (* z y) (+ (* y x) x)) #s(hole binary64 (+ x (+ (* x y) (* y z)))))
#s(approx (+ (* (+ z x) y) x) #s(hole binary64 (* z (+ y (+ (/ x z) (/ (* x y) z))))))
#s(approx (+ z x) #s(hole binary64 (* z (+ 1 (/ x z)))))
#s(approx (+ x (* y (+ z x))) #s(hole binary64 (* z (+ y (+ (/ x z) (/ (* x y) z))))))
#s(approx (* y (+ z x)) #s(hole binary64 (* z (+ y (/ (* x y) z)))))
#s(approx (+ (* z y) (+ (* y x) x)) #s(hole binary64 (* z (+ y (+ (/ x z) (/ (* x y) z))))))
#s(approx (+ (* (+ z x) y) x) #s(hole binary64 (* -1 (* z (+ (* -1 y) (* -1 (/ (+ x (* x y)) z)))))))
#s(approx (+ z x) #s(hole binary64 (* -1 (* z (- (* -1 (/ x z)) 1)))))
#s(approx (+ x (* y (+ z x))) #s(hole binary64 (* -1 (* z (+ (* -1 y) (* -1 (/ (+ x (* x y)) z)))))))
#s(approx (* y (+ z x)) #s(hole binary64 (* -1 (* z (+ (* -1 y) (* -1 (/ (* x y) z)))))))
#s(approx (+ (* z y) (+ (* y x) x)) #s(hole binary64 (* -1 (* z (+ (* -1 y) (* -1 (/ (+ x (* x y)) z)))))))
Outputs
(/.f64 (-.f64 (pow.f64 (fma.f64 y x x) #s(literal 3 binary64)) (pow.f64 (*.f64 (neg.f64 z) y) #s(literal 3 binary64))) (+.f64 (pow.f64 (fma.f64 y x x) #s(literal 2 binary64)) (+.f64 (pow.f64 (*.f64 y z) #s(literal 2 binary64)) (*.f64 (fma.f64 y x x) (*.f64 (neg.f64 z) y)))))
(/.f64 (-.f64 (pow.f64 x #s(literal 3 binary64)) (pow.f64 (*.f64 (neg.f64 (+.f64 x z)) y) #s(literal 3 binary64))) (fma.f64 x x (+.f64 (pow.f64 (*.f64 (+.f64 x z) y) #s(literal 2 binary64)) (*.f64 x (*.f64 (neg.f64 (+.f64 x z)) y)))))
(/.f64 (neg.f64 (-.f64 (*.f64 x x) (pow.f64 (*.f64 (+.f64 x z) y) #s(literal 2 binary64)))) (neg.f64 (-.f64 x (*.f64 (+.f64 x z) y))))
(/.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 (+.f64 x z) y) #s(literal 2 binary64)) (*.f64 x x))) (neg.f64 (-.f64 (*.f64 (+.f64 x z) y) x)))
(/.f64 (neg.f64 (-.f64 (pow.f64 (fma.f64 y x x) #s(literal 2 binary64)) (pow.f64 (*.f64 y z) #s(literal 2 binary64)))) (neg.f64 (+.f64 x (*.f64 y (-.f64 x z)))))
(/.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 y z) #s(literal 2 binary64)) (pow.f64 (fma.f64 y x x) #s(literal 2 binary64)))) (neg.f64 (fma.f64 y z (neg.f64 (fma.f64 y x x)))))
(/.f64 (neg.f64 (+.f64 (pow.f64 (*.f64 (+.f64 x z) y) #s(literal 3 binary64)) (pow.f64 x #s(literal 3 binary64)))) (neg.f64 (fma.f64 (*.f64 (+.f64 x z) y) (-.f64 (*.f64 (+.f64 x z) y) x) (*.f64 x x))))
(/.f64 (neg.f64 (+.f64 (pow.f64 (*.f64 (+.f64 x z) y) #s(literal 3 binary64)) (pow.f64 x #s(literal 3 binary64)))) (neg.f64 (fma.f64 x (-.f64 x (*.f64 (+.f64 x z) y)) (pow.f64 (*.f64 (+.f64 x z) y) #s(literal 2 binary64)))))
(/.f64 (neg.f64 (+.f64 (pow.f64 (*.f64 y z) #s(literal 3 binary64)) (pow.f64 (fma.f64 y x x) #s(literal 3 binary64)))) (neg.f64 (fma.f64 (*.f64 y z) (fma.f64 y z (neg.f64 (fma.f64 y x x))) (pow.f64 (fma.f64 y x x) #s(literal 2 binary64)))))
(/.f64 (neg.f64 (+.f64 (pow.f64 (*.f64 y z) #s(literal 3 binary64)) (pow.f64 (fma.f64 y x x) #s(literal 3 binary64)))) (neg.f64 (fma.f64 (fma.f64 y x x) (+.f64 x (*.f64 y (-.f64 x z))) (pow.f64 (*.f64 y z) #s(literal 2 binary64)))))
(/.f64 (-.f64 (*.f64 x x) (pow.f64 (*.f64 (+.f64 x z) y) #s(literal 2 binary64))) (-.f64 x (*.f64 (+.f64 x z) y)))
(/.f64 (-.f64 (pow.f64 (*.f64 (+.f64 x z) y) #s(literal 2 binary64)) (*.f64 x x)) (-.f64 (*.f64 (+.f64 x z) y) x))
(/.f64 (-.f64 (pow.f64 (fma.f64 y x x) #s(literal 2 binary64)) (pow.f64 (*.f64 y z) #s(literal 2 binary64))) (+.f64 x (*.f64 y (-.f64 x z))))
(/.f64 (-.f64 (pow.f64 (*.f64 y z) #s(literal 2 binary64)) (pow.f64 (fma.f64 y x x) #s(literal 2 binary64))) (fma.f64 y z (neg.f64 (fma.f64 y x x))))
(/.f64 (+.f64 (pow.f64 (*.f64 (+.f64 x z) y) #s(literal 3 binary64)) (pow.f64 x #s(literal 3 binary64))) (fma.f64 (*.f64 (+.f64 x z) y) (-.f64 (*.f64 (+.f64 x z) y) x) (*.f64 x x)))
(/.f64 (+.f64 (pow.f64 (*.f64 (+.f64 x z) y) #s(literal 3 binary64)) (pow.f64 x #s(literal 3 binary64))) (fma.f64 x (-.f64 x (*.f64 (+.f64 x z) y)) (pow.f64 (*.f64 (+.f64 x z) y) #s(literal 2 binary64))))
(/.f64 (+.f64 (pow.f64 (*.f64 y z) #s(literal 3 binary64)) (pow.f64 (fma.f64 y x x) #s(literal 3 binary64))) (fma.f64 (*.f64 y z) (fma.f64 y z (neg.f64 (fma.f64 y x x))) (pow.f64 (fma.f64 y x x) #s(literal 2 binary64))))
(/.f64 (+.f64 (pow.f64 (*.f64 y z) #s(literal 3 binary64)) (pow.f64 (fma.f64 y x x) #s(literal 3 binary64))) (fma.f64 (fma.f64 y x x) (+.f64 x (*.f64 y (-.f64 x z))) (pow.f64 (*.f64 y z) #s(literal 2 binary64))))
(fma.f64 (-.f64 y #s(literal -1 binary64)) x (*.f64 y z))
(fma.f64 (+.f64 x z) y x)
(fma.f64 y (+.f64 x z) x)
(fma.f64 y x (-.f64 x (*.f64 (neg.f64 z) y)))
(fma.f64 y x (fma.f64 y z x))
(fma.f64 y x (+.f64 x (*.f64 y z)))
(fma.f64 y z (fma.f64 y x x))
(fma.f64 x (-.f64 y #s(literal -1 binary64)) (*.f64 y z))
(fma.f64 x y (-.f64 x (*.f64 (neg.f64 z) y)))
(fma.f64 x y (fma.f64 y z x))
(fma.f64 x y (+.f64 x (*.f64 y z)))
(fma.f64 z y (fma.f64 y x x))
(-.f64 (fma.f64 y z x) (*.f64 (neg.f64 x) y))
(-.f64 (/.f64 (*.f64 x x) (-.f64 x (*.f64 (+.f64 x z) y))) (/.f64 (pow.f64 (*.f64 (+.f64 x z) y) #s(literal 2 binary64)) (-.f64 x (*.f64 (+.f64 x z) y))))
(-.f64 (/.f64 (pow.f64 (*.f64 (+.f64 x z) y) #s(literal 2 binary64)) (-.f64 (*.f64 (+.f64 x z) y) x)) (/.f64 (*.f64 x x) (-.f64 (*.f64 (+.f64 x z) y) x)))
(-.f64 (/.f64 (pow.f64 (fma.f64 y x x) #s(literal 2 binary64)) (+.f64 x (*.f64 y (-.f64 x z)))) (/.f64 (pow.f64 (*.f64 y z) #s(literal 2 binary64)) (+.f64 x (*.f64 y (-.f64 x z)))))
(-.f64 (/.f64 (pow.f64 (*.f64 y z) #s(literal 2 binary64)) (fma.f64 y z (neg.f64 (fma.f64 y x x)))) (/.f64 (pow.f64 (fma.f64 y x x) #s(literal 2 binary64)) (fma.f64 y z (neg.f64 (fma.f64 y x x)))))
(-.f64 (*.f64 y x) (-.f64 (*.f64 (neg.f64 z) y) x))
(-.f64 (fma.f64 y x x) (*.f64 (neg.f64 z) y))
(-.f64 (*.f64 y z) (neg.f64 (fma.f64 y x x)))
(-.f64 x (*.f64 (neg.f64 (+.f64 x z)) y))
(+.f64 (fma.f64 y z x) (*.f64 y x))
(+.f64 (+.f64 x (*.f64 y z)) (*.f64 y x))
(+.f64 (/.f64 (pow.f64 x #s(literal 3 binary64)) (fma.f64 (*.f64 (+.f64 x z) y) (-.f64 (*.f64 (+.f64 x z) y) x) (*.f64 x x))) (/.f64 (pow.f64 (*.f64 (+.f64 x z) y) #s(literal 3 binary64)) (fma.f64 (*.f64 (+.f64 x z) y) (-.f64 (*.f64 (+.f64 x z) y) x) (*.f64 x x))))
(+.f64 (/.f64 (pow.f64 (*.f64 (+.f64 x z) y) #s(literal 3 binary64)) (fma.f64 x (-.f64 x (*.f64 (+.f64 x z) y)) (pow.f64 (*.f64 (+.f64 x z) y) #s(literal 2 binary64)))) (/.f64 (pow.f64 x #s(literal 3 binary64)) (fma.f64 x (-.f64 x (*.f64 (+.f64 x z) y)) (pow.f64 (*.f64 (+.f64 x z) y) #s(literal 2 binary64)))))
(+.f64 (/.f64 (pow.f64 (fma.f64 y x x) #s(literal 3 binary64)) (fma.f64 (*.f64 y z) (fma.f64 y z (neg.f64 (fma.f64 y x x))) (pow.f64 (fma.f64 y x x) #s(literal 2 binary64)))) (/.f64 (pow.f64 (*.f64 y z) #s(literal 3 binary64)) (fma.f64 (*.f64 y z) (fma.f64 y z (neg.f64 (fma.f64 y x x))) (pow.f64 (fma.f64 y x x) #s(literal 2 binary64)))))
(+.f64 (/.f64 (pow.f64 (*.f64 y z) #s(literal 3 binary64)) (fma.f64 (fma.f64 y x x) (+.f64 x (*.f64 y (-.f64 x z))) (pow.f64 (*.f64 y z) #s(literal 2 binary64)))) (/.f64 (pow.f64 (fma.f64 y x x) #s(literal 3 binary64)) (fma.f64 (fma.f64 y x x) (+.f64 x (*.f64 y (-.f64 x z))) (pow.f64 (*.f64 y z) #s(literal 2 binary64)))))
(+.f64 (*.f64 y x) (-.f64 x (*.f64 (neg.f64 z) y)))
(+.f64 (*.f64 y x) (fma.f64 y z x))
(+.f64 (*.f64 y x) (+.f64 x (*.f64 y z)))
(+.f64 (fma.f64 y x x) (*.f64 y z))
(+.f64 (*.f64 y z) (fma.f64 y x x))
(+.f64 (*.f64 (+.f64 x z) y) x)
(+.f64 x (*.f64 (+.f64 x z) y))
(/.f64 (neg.f64 (*.f64 (+.f64 x z) (-.f64 x z))) (neg.f64 (-.f64 x z)))
(/.f64 (neg.f64 (*.f64 (+.f64 x z) (-.f64 z x))) (neg.f64 (-.f64 z x)))
(/.f64 (neg.f64 (+.f64 (pow.f64 z #s(literal 3 binary64)) (pow.f64 x #s(literal 3 binary64)))) (neg.f64 (fma.f64 z (-.f64 z x) (*.f64 x x))))
(/.f64 (neg.f64 (+.f64 (pow.f64 z #s(literal 3 binary64)) (pow.f64 x #s(literal 3 binary64)))) (neg.f64 (fma.f64 x (-.f64 x z) (*.f64 z z))))
(/.f64 (*.f64 (+.f64 x z) (-.f64 z x)) (-.f64 z x))
(/.f64 (*.f64 (+.f64 x z) (-.f64 x z)) (-.f64 x z))
(/.f64 (+.f64 (pow.f64 z #s(literal 3 binary64)) (pow.f64 x #s(literal 3 binary64))) (fma.f64 z (-.f64 z x) (*.f64 x x)))
(/.f64 (+.f64 (pow.f64 z #s(literal 3 binary64)) (pow.f64 x #s(literal 3 binary64))) (fma.f64 x (-.f64 x z) (*.f64 z z)))
(-.f64 (/.f64 (*.f64 x x) (-.f64 x z)) (/.f64 (*.f64 z z) (-.f64 x z)))
(-.f64 (/.f64 (*.f64 z z) (-.f64 z x)) (/.f64 (*.f64 x x) (-.f64 z x)))
(+.f64 (/.f64 (pow.f64 x #s(literal 3 binary64)) (fma.f64 z (-.f64 z x) (*.f64 x x))) (/.f64 (pow.f64 z #s(literal 3 binary64)) (fma.f64 z (-.f64 z x) (*.f64 x x))))
(+.f64 (/.f64 (pow.f64 z #s(literal 3 binary64)) (fma.f64 x (-.f64 x z) (*.f64 z z))) (/.f64 (pow.f64 x #s(literal 3 binary64)) (fma.f64 x (-.f64 x z) (*.f64 z z))))
(+.f64 x z)
(+.f64 z x)
z
x
y
#s(approx (+ x (* y (+ z x))) x)
#s(approx (+ x (* y (+ z x))) (fma.f64 y x x))
(*.f64 (-.f64 y #s(literal -1 binary64)) x)
(*.f64 x (-.f64 y #s(literal -1 binary64)))
(/.f64 (*.f64 x (-.f64 #s(literal 1 binary64) (*.f64 y y))) (-.f64 #s(literal 1 binary64) y))
(/.f64 (*.f64 x (+.f64 (pow.f64 y #s(literal 3 binary64)) #s(literal 1 binary64))) (fma.f64 y (-.f64 y #s(literal 1 binary64)) #s(literal 1 binary64)))
(/.f64 (-.f64 (pow.f64 x #s(literal 3 binary64)) (pow.f64 (*.f64 (neg.f64 x) y) #s(literal 3 binary64))) (fma.f64 x x (+.f64 (pow.f64 (*.f64 y x) #s(literal 2 binary64)) (*.f64 x (*.f64 (neg.f64 x) y)))))
(/.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 y x) #s(literal 2 binary64)) (*.f64 x x))) (neg.f64 (-.f64 (*.f64 y x) x)))
(/.f64 (neg.f64 (-.f64 (*.f64 x x) (pow.f64 (*.f64 y x) #s(literal 2 binary64)))) (neg.f64 (-.f64 x (*.f64 y x))))
(/.f64 (neg.f64 (+.f64 (pow.f64 (*.f64 y x) #s(literal 3 binary64)) (pow.f64 x #s(literal 3 binary64)))) (neg.f64 (fma.f64 x (-.f64 x (*.f64 y x)) (pow.f64 (*.f64 y x) #s(literal 2 binary64)))))
(/.f64 (neg.f64 (+.f64 (pow.f64 (*.f64 y x) #s(literal 3 binary64)) (pow.f64 x #s(literal 3 binary64)))) (neg.f64 (fma.f64 (*.f64 y x) (-.f64 (*.f64 y x) x) (*.f64 x x))))
(/.f64 (*.f64 (-.f64 #s(literal 1 binary64) (*.f64 y y)) x) (-.f64 #s(literal 1 binary64) y))
(/.f64 (*.f64 (+.f64 (pow.f64 y #s(literal 3 binary64)) #s(literal 1 binary64)) x) (fma.f64 y (-.f64 y #s(literal 1 binary64)) #s(literal 1 binary64)))
(/.f64 (-.f64 (pow.f64 (*.f64 y x) #s(literal 2 binary64)) (*.f64 x x)) (-.f64 (*.f64 y x) x))
(/.f64 (-.f64 (*.f64 x x) (pow.f64 (*.f64 y x) #s(literal 2 binary64))) (-.f64 x (*.f64 y x)))
(/.f64 (+.f64 (pow.f64 (*.f64 y x) #s(literal 3 binary64)) (pow.f64 x #s(literal 3 binary64))) (fma.f64 x (-.f64 x (*.f64 y x)) (pow.f64 (*.f64 y x) #s(literal 2 binary64))))
(/.f64 (+.f64 (pow.f64 (*.f64 y x) #s(literal 3 binary64)) (pow.f64 x #s(literal 3 binary64))) (fma.f64 (*.f64 y x) (-.f64 (*.f64 y x) x) (*.f64 x x)))
(fma.f64 y x x)
(fma.f64 x y x)
(-.f64 (/.f64 (pow.f64 (*.f64 y x) #s(literal 2 binary64)) (-.f64 (*.f64 y x) x)) (/.f64 (*.f64 x x) (-.f64 (*.f64 y x) x)))
(-.f64 (/.f64 (*.f64 x x) (-.f64 x (*.f64 y x))) (/.f64 (pow.f64 (*.f64 y x) #s(literal 2 binary64)) (-.f64 x (*.f64 y x))))
(-.f64 x (*.f64 (neg.f64 x) y))
(+.f64 (/.f64 (pow.f64 (*.f64 y x) #s(literal 3 binary64)) (fma.f64 x (-.f64 x (*.f64 y x)) (pow.f64 (*.f64 y x) #s(literal 2 binary64)))) (/.f64 (pow.f64 x #s(literal 3 binary64)) (fma.f64 x (-.f64 x (*.f64 y x)) (pow.f64 (*.f64 y x) #s(literal 2 binary64)))))
(+.f64 (/.f64 (pow.f64 x #s(literal 3 binary64)) (fma.f64 (*.f64 y x) (-.f64 (*.f64 y x) x) (*.f64 x x))) (/.f64 (pow.f64 (*.f64 y x) #s(literal 3 binary64)) (fma.f64 (*.f64 y x) (-.f64 (*.f64 y x) x) (*.f64 x x))))
(+.f64 (*.f64 y x) x)
(+.f64 x (*.f64 y x))
(/.f64 (-.f64 (pow.f64 (*.f64 #s(approx (+ z x) z) y) #s(literal 2 binary64)) (*.f64 x x)) (-.f64 (*.f64 #s(approx (+ z x) z) y) x))
(/.f64 (-.f64 (pow.f64 x #s(literal 3 binary64)) (pow.f64 (*.f64 (neg.f64 y) #s(approx (+ z x) z)) #s(literal 3 binary64))) (fma.f64 x x (+.f64 (pow.f64 (*.f64 #s(approx (+ z x) z) y) #s(literal 2 binary64)) (*.f64 x (*.f64 (neg.f64 y) #s(approx (+ z x) z))))))
(/.f64 (neg.f64 (-.f64 (*.f64 x x) (pow.f64 (*.f64 #s(approx (+ z x) z) y) #s(literal 2 binary64)))) (neg.f64 (-.f64 x (*.f64 #s(approx (+ z x) z) y))))
(/.f64 (neg.f64 (+.f64 (pow.f64 (*.f64 #s(approx (+ z x) z) y) #s(literal 3 binary64)) (pow.f64 x #s(literal 3 binary64)))) (neg.f64 (fma.f64 (*.f64 #s(approx (+ z x) z) y) (-.f64 (*.f64 #s(approx (+ z x) z) y) x) (*.f64 x x))))
(/.f64 (-.f64 (*.f64 x x) (pow.f64 (*.f64 #s(approx (+ z x) z) y) #s(literal 2 binary64))) (-.f64 x (*.f64 #s(approx (+ z x) z) y)))
(/.f64 (+.f64 (pow.f64 (*.f64 #s(approx (+ z x) z) y) #s(literal 3 binary64)) (pow.f64 x #s(literal 3 binary64))) (+.f64 (pow.f64 (*.f64 #s(approx (+ z x) z) y) #s(literal 2 binary64)) (-.f64 (*.f64 x x) (*.f64 (*.f64 #s(approx (+ z x) z) y) x))))
(/.f64 (+.f64 (pow.f64 (*.f64 #s(approx (+ z x) z) y) #s(literal 3 binary64)) (pow.f64 x #s(literal 3 binary64))) (fma.f64 (*.f64 #s(approx (+ z x) z) y) (-.f64 (*.f64 #s(approx (+ z x) z) y) x) (*.f64 x x)))
(fma.f64 #s(approx (+ z x) z) y x)
(fma.f64 y #s(approx (+ z x) z) x)
(-.f64 (/.f64 (*.f64 x x) (-.f64 x (*.f64 #s(approx (+ z x) z) y))) (/.f64 (pow.f64 (*.f64 #s(approx (+ z x) z) y) #s(literal 2 binary64)) (-.f64 x (*.f64 #s(approx (+ z x) z) y))))
(-.f64 x (*.f64 (neg.f64 #s(approx (+ z x) z)) y))
(-.f64 x (*.f64 (neg.f64 y) #s(approx (+ z x) z)))
(+.f64 (/.f64 (pow.f64 x #s(literal 3 binary64)) (fma.f64 (*.f64 #s(approx (+ z x) z) y) (-.f64 (*.f64 #s(approx (+ z x) z) y) x) (*.f64 x x))) (/.f64 (pow.f64 (*.f64 #s(approx (+ z x) z) y) #s(literal 3 binary64)) (fma.f64 (*.f64 #s(approx (+ z x) z) y) (-.f64 (*.f64 #s(approx (+ z x) z) y) x) (*.f64 x x))))
(+.f64 (*.f64 #s(approx (+ z x) z) y) x)
(+.f64 x (*.f64 #s(approx (+ z x) z) y))
(*.f64 #s(approx (+ z x) z) y)
(*.f64 y #s(approx (+ z x) z))
#s(approx (+ z x) z)
(/.f64 (-.f64 (pow.f64 (fma.f64 y x x) #s(literal 3 binary64)) (pow.f64 (*.f64 (neg.f64 z) y) #s(literal 3 binary64))) (+.f64 (pow.f64 (fma.f64 y x x) #s(literal 2 binary64)) (+.f64 (pow.f64 (*.f64 y z) #s(literal 2 binary64)) (*.f64 (fma.f64 y x x) (*.f64 (neg.f64 z) y)))))
(/.f64 (-.f64 (pow.f64 x #s(literal 3 binary64)) (pow.f64 (*.f64 (neg.f64 (+.f64 x z)) y) #s(literal 3 binary64))) (fma.f64 x x (+.f64 (pow.f64 (*.f64 (+.f64 x z) y) #s(literal 2 binary64)) (*.f64 x (*.f64 (neg.f64 (+.f64 x z)) y)))))
(/.f64 (neg.f64 (-.f64 (*.f64 x x) (pow.f64 (*.f64 (+.f64 x z) y) #s(literal 2 binary64)))) (neg.f64 (-.f64 x (*.f64 (+.f64 x z) y))))
(/.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 (+.f64 x z) y) #s(literal 2 binary64)) (*.f64 x x))) (neg.f64 (-.f64 (*.f64 (+.f64 x z) y) x)))
(/.f64 (neg.f64 (-.f64 (pow.f64 (fma.f64 y x x) #s(literal 2 binary64)) (pow.f64 (*.f64 y z) #s(literal 2 binary64)))) (neg.f64 (+.f64 x (*.f64 y (-.f64 x z)))))
(/.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 y z) #s(literal 2 binary64)) (pow.f64 (fma.f64 y x x) #s(literal 2 binary64)))) (neg.f64 (fma.f64 y z (neg.f64 (fma.f64 y x x)))))
(/.f64 (neg.f64 (+.f64 (pow.f64 (*.f64 (+.f64 x z) y) #s(literal 3 binary64)) (pow.f64 x #s(literal 3 binary64)))) (neg.f64 (fma.f64 (*.f64 (+.f64 x z) y) (-.f64 (*.f64 (+.f64 x z) y) x) (*.f64 x x))))
(/.f64 (neg.f64 (+.f64 (pow.f64 (*.f64 (+.f64 x z) y) #s(literal 3 binary64)) (pow.f64 x #s(literal 3 binary64)))) (neg.f64 (fma.f64 x (-.f64 x (*.f64 (+.f64 x z) y)) (pow.f64 (*.f64 (+.f64 x z) y) #s(literal 2 binary64)))))
(/.f64 (neg.f64 (+.f64 (pow.f64 (*.f64 y z) #s(literal 3 binary64)) (pow.f64 (fma.f64 y x x) #s(literal 3 binary64)))) (neg.f64 (fma.f64 (*.f64 y z) (fma.f64 y z (neg.f64 (fma.f64 y x x))) (pow.f64 (fma.f64 y x x) #s(literal 2 binary64)))))
(/.f64 (neg.f64 (+.f64 (pow.f64 (*.f64 y z) #s(literal 3 binary64)) (pow.f64 (fma.f64 y x x) #s(literal 3 binary64)))) (neg.f64 (fma.f64 (fma.f64 y x x) (+.f64 x (*.f64 y (-.f64 x z))) (pow.f64 (*.f64 y z) #s(literal 2 binary64)))))
(/.f64 (-.f64 (*.f64 x x) (pow.f64 (*.f64 (+.f64 x z) y) #s(literal 2 binary64))) (-.f64 x (*.f64 (+.f64 x z) y)))
(/.f64 (-.f64 (pow.f64 (*.f64 (+.f64 x z) y) #s(literal 2 binary64)) (*.f64 x x)) (-.f64 (*.f64 (+.f64 x z) y) x))
(/.f64 (-.f64 (pow.f64 (fma.f64 y x x) #s(literal 2 binary64)) (pow.f64 (*.f64 y z) #s(literal 2 binary64))) (+.f64 x (*.f64 y (-.f64 x z))))
(/.f64 (-.f64 (pow.f64 (*.f64 y z) #s(literal 2 binary64)) (pow.f64 (fma.f64 y x x) #s(literal 2 binary64))) (fma.f64 y z (neg.f64 (fma.f64 y x x))))
(/.f64 (+.f64 (pow.f64 (*.f64 (+.f64 x z) y) #s(literal 3 binary64)) (pow.f64 x #s(literal 3 binary64))) (fma.f64 (*.f64 (+.f64 x z) y) (-.f64 (*.f64 (+.f64 x z) y) x) (*.f64 x x)))
(/.f64 (+.f64 (pow.f64 (*.f64 (+.f64 x z) y) #s(literal 3 binary64)) (pow.f64 x #s(literal 3 binary64))) (fma.f64 x (-.f64 x (*.f64 (+.f64 x z) y)) (pow.f64 (*.f64 (+.f64 x z) y) #s(literal 2 binary64))))
(/.f64 (+.f64 (pow.f64 (*.f64 y z) #s(literal 3 binary64)) (pow.f64 (fma.f64 y x x) #s(literal 3 binary64))) (fma.f64 (*.f64 y z) (fma.f64 y z (neg.f64 (fma.f64 y x x))) (pow.f64 (fma.f64 y x x) #s(literal 2 binary64))))
(/.f64 (+.f64 (pow.f64 (*.f64 y z) #s(literal 3 binary64)) (pow.f64 (fma.f64 y x x) #s(literal 3 binary64))) (fma.f64 (fma.f64 y x x) (+.f64 x (*.f64 y (-.f64 x z))) (pow.f64 (*.f64 y z) #s(literal 2 binary64))))
(fma.f64 (-.f64 y #s(literal -1 binary64)) x (*.f64 y z))
(fma.f64 (+.f64 x z) y x)
(fma.f64 y (+.f64 x z) x)
(fma.f64 y x (-.f64 x (*.f64 (neg.f64 z) y)))
(fma.f64 y x (fma.f64 y z x))
(fma.f64 y x (+.f64 x (*.f64 y z)))
(fma.f64 y z (fma.f64 y x x))
(fma.f64 x (-.f64 y #s(literal -1 binary64)) (*.f64 y z))
(fma.f64 x y (-.f64 x (*.f64 (neg.f64 z) y)))
(fma.f64 x y (fma.f64 y z x))
(fma.f64 x y (+.f64 x (*.f64 y z)))
(fma.f64 z y (fma.f64 y x x))
(-.f64 (fma.f64 y z x) (*.f64 (neg.f64 x) y))
(-.f64 (/.f64 (*.f64 x x) (-.f64 x (*.f64 (+.f64 x z) y))) (/.f64 (pow.f64 (*.f64 (+.f64 x z) y) #s(literal 2 binary64)) (-.f64 x (*.f64 (+.f64 x z) y))))
(-.f64 (/.f64 (pow.f64 (*.f64 (+.f64 x z) y) #s(literal 2 binary64)) (-.f64 (*.f64 (+.f64 x z) y) x)) (/.f64 (*.f64 x x) (-.f64 (*.f64 (+.f64 x z) y) x)))
(-.f64 (/.f64 (pow.f64 (fma.f64 y x x) #s(literal 2 binary64)) (+.f64 x (*.f64 y (-.f64 x z)))) (/.f64 (pow.f64 (*.f64 y z) #s(literal 2 binary64)) (+.f64 x (*.f64 y (-.f64 x z)))))
(-.f64 (/.f64 (pow.f64 (*.f64 y z) #s(literal 2 binary64)) (fma.f64 y z (neg.f64 (fma.f64 y x x)))) (/.f64 (pow.f64 (fma.f64 y x x) #s(literal 2 binary64)) (fma.f64 y z (neg.f64 (fma.f64 y x x)))))
(-.f64 (*.f64 y x) (-.f64 (*.f64 (neg.f64 z) y) x))
(-.f64 (fma.f64 y x x) (*.f64 (neg.f64 z) y))
(-.f64 (*.f64 y z) (neg.f64 (fma.f64 y x x)))
(-.f64 x (*.f64 (neg.f64 (+.f64 x z)) y))
(+.f64 (fma.f64 y z x) (*.f64 y x))
(+.f64 (+.f64 x (*.f64 y z)) (*.f64 y x))
(+.f64 (/.f64 (pow.f64 x #s(literal 3 binary64)) (fma.f64 (*.f64 (+.f64 x z) y) (-.f64 (*.f64 (+.f64 x z) y) x) (*.f64 x x))) (/.f64 (pow.f64 (*.f64 (+.f64 x z) y) #s(literal 3 binary64)) (fma.f64 (*.f64 (+.f64 x z) y) (-.f64 (*.f64 (+.f64 x z) y) x) (*.f64 x x))))
(+.f64 (/.f64 (pow.f64 (*.f64 (+.f64 x z) y) #s(literal 3 binary64)) (fma.f64 x (-.f64 x (*.f64 (+.f64 x z) y)) (pow.f64 (*.f64 (+.f64 x z) y) #s(literal 2 binary64)))) (/.f64 (pow.f64 x #s(literal 3 binary64)) (fma.f64 x (-.f64 x (*.f64 (+.f64 x z) y)) (pow.f64 (*.f64 (+.f64 x z) y) #s(literal 2 binary64)))))
(+.f64 (/.f64 (pow.f64 (fma.f64 y x x) #s(literal 3 binary64)) (fma.f64 (*.f64 y z) (fma.f64 y z (neg.f64 (fma.f64 y x x))) (pow.f64 (fma.f64 y x x) #s(literal 2 binary64)))) (/.f64 (pow.f64 (*.f64 y z) #s(literal 3 binary64)) (fma.f64 (*.f64 y z) (fma.f64 y z (neg.f64 (fma.f64 y x x))) (pow.f64 (fma.f64 y x x) #s(literal 2 binary64)))))
(+.f64 (/.f64 (pow.f64 (*.f64 y z) #s(literal 3 binary64)) (fma.f64 (fma.f64 y x x) (+.f64 x (*.f64 y (-.f64 x z))) (pow.f64 (*.f64 y z) #s(literal 2 binary64)))) (/.f64 (pow.f64 (fma.f64 y x x) #s(literal 3 binary64)) (fma.f64 (fma.f64 y x x) (+.f64 x (*.f64 y (-.f64 x z))) (pow.f64 (*.f64 y z) #s(literal 2 binary64)))))
(+.f64 (*.f64 y x) (-.f64 x (*.f64 (neg.f64 z) y)))
(+.f64 (*.f64 y x) (fma.f64 y z x))
(+.f64 (*.f64 y x) (+.f64 x (*.f64 y z)))
(+.f64 (fma.f64 y x x) (*.f64 y z))
(+.f64 (*.f64 y z) (fma.f64 y x x))
(+.f64 (*.f64 (+.f64 x z) y) x)
(+.f64 x (*.f64 (+.f64 x z) y))
#s(approx (+ x (* y (+ z x))) (*.f64 y z))
#s(approx (+ x (* y (+ z x))) (fma.f64 (+.f64 x z) y x))
#s(approx (+ z x) z)
#s(approx (+ z x) (+.f64 x z))
#s(approx x x)
#s(approx (+ x (* y (+ z x))) (*.f64 y z))
#s(approx (+ x (* y (+ z x))) (fma.f64 (+.f64 x z) y x))
#s(approx (+ (* y x) x) (fma.f64 y x x))
#s(approx (* y (+ z x)) (*.f64 y z))
#s(approx (* y (+ z x)) (*.f64 (+.f64 x z) y))
#s(approx (+ x (* y (+ z x))) (*.f64 y z))
#s(approx (+ x (* y (+ z x))) (fma.f64 (+.f64 x z) y x))
#s(approx (+ x (* y (+ z x))) (fma.f64 y x x))
#s(approx (+ x (* y (+ z x))) (fma.f64 (fma.f64 (/.f64 z x) y y) x x))
#s(approx (+ z x) x)
#s(approx (+ z x) (fma.f64 (/.f64 z x) x x))
#s(approx (+ x (* y (+ z x))) (fma.f64 y x x))
#s(approx (+ x (* y (+ z x))) (fma.f64 (fma.f64 (/.f64 z x) y y) x x))
#s(approx (* y (+ z x)) (*.f64 y x))
#s(approx (* y (+ z x)) (*.f64 (fma.f64 (/.f64 z x) y y) x))
#s(approx (+ x (* y (+ z x))) (fma.f64 y x x))
#s(approx (+ x (* y (+ z x))) (fma.f64 (fma.f64 (/.f64 z x) y y) x x))
#s(approx (+ x (* y (+ z x))) (*.f64 (neg.f64 x) (fma.f64 #s(literal -1 binary64) y #s(literal -1 binary64))))
#s(approx (+ x (* y (+ z x))) (*.f64 (neg.f64 x) (fma.f64 #s(literal -1 binary64) (fma.f64 (/.f64 z x) y y) #s(literal -1 binary64))))
#s(approx (+ z x) (*.f64 (neg.f64 x) (fma.f64 #s(literal -1 binary64) (/.f64 z x) #s(literal -1 binary64))))
#s(approx (+ x (* y (+ z x))) (*.f64 (neg.f64 x) (fma.f64 #s(literal -1 binary64) y #s(literal -1 binary64))))
#s(approx (+ x (* y (+ z x))) (*.f64 (neg.f64 x) (fma.f64 #s(literal -1 binary64) (fma.f64 (/.f64 z x) y y) #s(literal -1 binary64))))
#s(approx (+ (* y x) x) (*.f64 (neg.f64 x) (fma.f64 #s(literal -1 binary64) y #s(literal -1 binary64))))
#s(approx (* y (+ z x)) (*.f64 (fma.f64 (/.f64 z x) y y) x))
#s(approx (+ x (* y (+ z x))) (*.f64 (neg.f64 x) (fma.f64 #s(literal -1 binary64) y #s(literal -1 binary64))))
#s(approx (+ x (* y (+ z x))) (*.f64 (neg.f64 x) (fma.f64 #s(literal -1 binary64) (fma.f64 (/.f64 z x) y y) #s(literal -1 binary64))))
#s(approx (+ x (* y (+ z x))) x)
#s(approx (+ x (* y (+ z x))) (fma.f64 (+.f64 x z) y x))
#s(approx y y)
#s(approx (+ x (* y (+ z x))) x)
#s(approx (+ x (* y (+ z x))) (fma.f64 (+.f64 x z) y x))
#s(approx (+ (* y x) x) x)
#s(approx (+ (* y x) x) (fma.f64 y x x))
#s(approx (* y (+ z x)) (*.f64 (+.f64 x z) y))
#s(approx (+ x (* y (+ z x))) x)
#s(approx (+ x (* y (+ z x))) (fma.f64 (+.f64 x z) y x))
#s(approx (+ x (* y (+ z x))) (*.f64 (+.f64 x z) y))
#s(approx (+ x (* y (+ z x))) (*.f64 (+.f64 (+.f64 (/.f64 x y) z) x) y))
#s(approx (+ x (* y (+ z x))) (*.f64 (+.f64 x z) y))
#s(approx (+ x (* y (+ z x))) (*.f64 (+.f64 (+.f64 (/.f64 x y) z) x) y))
#s(approx (+ (* y x) x) (*.f64 y x))
#s(approx (+ (* y x) x) (*.f64 (+.f64 (/.f64 x y) x) y))
#s(approx (+ x (* y (+ z x))) (*.f64 (+.f64 x z) y))
#s(approx (+ x (* y (+ z x))) (*.f64 (+.f64 (+.f64 (/.f64 x y) z) x) y))
#s(approx (+ x (* y (+ z x))) (*.f64 (-.f64 (-.f64 (/.f64 x (neg.f64 y)) z) x) (neg.f64 y)))
#s(approx (+ x (* y (+ z x))) (*.f64 (-.f64 (-.f64 (/.f64 x (neg.f64 y)) z) x) (neg.f64 y)))
#s(approx (+ (* y x) x) (*.f64 (-.f64 (/.f64 x (neg.f64 y)) x) (neg.f64 y)))
#s(approx (+ x (* y (+ z x))) (*.f64 (neg.f64 (+.f64 x z)) (neg.f64 y)))
#s(approx (+ x (* y (+ z x))) (*.f64 (-.f64 (-.f64 (/.f64 x (neg.f64 y)) z) x) (neg.f64 y)))
#s(approx (+ x (* y (+ z x))) (fma.f64 y x x))
#s(approx (+ x (* y (+ z x))) (fma.f64 (+.f64 x z) y x))
#s(approx z z)
#s(approx (+ x (* y (+ z x))) (fma.f64 y x x))
#s(approx (+ x (* y (+ z x))) (fma.f64 (+.f64 x z) y x))
#s(approx (+ x (* y (+ z x))) (fma.f64 y x x))
#s(approx (+ x (* y (+ z x))) (fma.f64 (+.f64 x z) y x))
#s(approx (+ x (* y (+ z x))) (*.f64 (fma.f64 (-.f64 y #s(literal -1 binary64)) (/.f64 x z) y) z))
#s(approx (+ z x) (fma.f64 (/.f64 x z) z z))
#s(approx (+ x (* y (+ z x))) (*.f64 (fma.f64 (-.f64 y #s(literal -1 binary64)) (/.f64 x z) y) z))
#s(approx (* y (+ z x)) (*.f64 (fma.f64 y (/.f64 x z) y) z))
#s(approx (+ x (* y (+ z x))) (*.f64 (fma.f64 (-.f64 y #s(literal -1 binary64)) (/.f64 x z) y) z))
#s(approx (+ x (* y (+ z x))) (*.f64 (neg.f64 (fma.f64 (-.f64 y #s(literal -1 binary64)) (/.f64 x z) y)) (neg.f64 z)))
#s(approx (+ z x) (*.f64 (fma.f64 (/.f64 x z) #s(literal -1 binary64) #s(literal -1 binary64)) (neg.f64 z)))
#s(approx (+ x (* y (+ z x))) (*.f64 (neg.f64 (fma.f64 (-.f64 y #s(literal -1 binary64)) (/.f64 x z) y)) (neg.f64 z)))
#s(approx (* y (+ z x)) (*.f64 (neg.f64 (fma.f64 y (/.f64 x z) y)) (neg.f64 z)))
#s(approx (+ x (* y (+ z x))) (*.f64 (neg.f64 (fma.f64 (-.f64 y #s(literal -1 binary64)) (/.f64 x z) y)) (neg.f64 z)))

eval20.0ms (0.8%)

Memory
3.0MiB live, 49.7MiB allocated; 2ms collecting garbage
Compiler

Compiled 3 489 to 468 computations (86.6% saved)

prune74.0ms (2.8%)

Memory
-62.5MiB live, 18.7MiB allocated; 108ms collecting garbage
Pruning

8 alts after pruning (6 fresh and 2 done)

PrunedKeptTotal
New1983201
Fresh033
Picked325
Done000
Total2018209
Accuracy
100.0%
Counts
209 → 8
Alt Table
Click to see full alt table
StatusAccuracyProgram
77.4%
(fma.f64 #s(approx (+ z x) z) y x)
63.3%
(fma.f64 z y #s(approx (+ (* y x) x) (*.f64 y x)))
98.4%
(fma.f64 y x (fma.f64 z y x))
61.9%
#s(approx (+ x (* y (+ z x))) (fma.f64 y x x))
63.7%
#s(approx (+ x (* y (+ z x))) (*.f64 (+.f64 z x) y))
41.0%
#s(approx (+ x (* y (+ z x))) (*.f64 z y))
27.0%
#s(approx (+ x (* y (+ z x))) #s(approx (+ (* y x) x) (*.f64 y x)))
37.8%
#s(approx (+ x (* y (+ z x))) x)
Compiler

Compiled 157 to 109 computations (30.6% saved)

series9.0ms (0.4%)

Memory
18.5MiB live, 18.5MiB allocated; 0ms collecting garbage
Counts
15 → 82
Calls
Call 1
Inputs
(fma.f64 y x (fma.f64 z y x))
y
x
(fma.f64 z y x)
z
#s(approx (+ x (* y (+ z x))) #s(approx (+ (* y x) x) (*.f64 y x)))
#s(approx (+ (* y x) x) (*.f64 y x))
(*.f64 y x)
#s(approx (+ x (* y (+ z x))) (*.f64 z y))
(*.f64 z y)
(fma.f64 #s(approx (+ z x) z) y x)
#s(approx (+ z x) z)
#s(approx (+ x (* y (+ z x))) (*.f64 (+.f64 z x) y))
(*.f64 (+.f64 z x) y)
(+.f64 z x)
Outputs
#s(approx (+ (* y x) (+ (* z y) x)) #s(hole binary64 (* y z)))
#s(approx (+ (* y x) (+ (* z y) x)) #s(hole binary64 (+ (* x (+ 1 y)) (* y z))))
#s(approx x #s(hole binary64 x))
#s(approx (+ (* z y) x) #s(hole binary64 (* y z)))
#s(approx (+ (* z y) x) #s(hole binary64 (+ x (* y z))))
#s(approx (+ x (* y (+ z x))) #s(hole binary64 (* y z)))
#s(approx (+ x (* y (+ z x))) #s(hole binary64 (+ (* x (+ 1 y)) (* y z))))
#s(approx (+ (* y x) x) #s(hole binary64 (* x (+ 1 y))))
#s(approx (* y x) #s(hole binary64 (* x y)))
#s(approx (+ (* (+ z x) y) x) #s(hole binary64 (* y z)))
#s(approx (+ (* (+ z x) y) x) #s(hole binary64 (+ (* x (+ 1 y)) (* y z))))
#s(approx (+ z x) #s(hole binary64 z))
#s(approx (+ z x) #s(hole binary64 (+ x z)))
#s(approx (* (+ z x) y) #s(hole binary64 (* y z)))
#s(approx (* (+ z x) y) #s(hole binary64 (+ (* x y) (* y z))))
#s(approx (+ (* y x) (+ (* z y) x)) #s(hole binary64 (* x (+ 1 y))))
#s(approx (+ (* y x) (+ (* z y) x)) #s(hole binary64 (* x (+ 1 (+ y (/ (* y z) x))))))
#s(approx (+ (* z y) x) #s(hole binary64 x))
#s(approx (+ (* z y) x) #s(hole binary64 (* x (+ 1 (/ (* y z) x)))))
#s(approx (+ x (* y (+ z x))) #s(hole binary64 (* x (+ 1 y))))
#s(approx (+ x (* y (+ z x))) #s(hole binary64 (* x (+ 1 (+ y (/ (* y z) x))))))
#s(approx (+ (* (+ z x) y) x) #s(hole binary64 (* x (+ 1 y))))
#s(approx (+ (* (+ z x) y) x) #s(hole binary64 (* x (+ 1 (+ y (/ (* y z) x))))))
#s(approx (+ z x) #s(hole binary64 x))
#s(approx (+ z x) #s(hole binary64 (* x (+ 1 (/ z x)))))
#s(approx (* (+ z x) y) #s(hole binary64 (* x y)))
#s(approx (* (+ z x) y) #s(hole binary64 (* x (+ y (/ (* y z) x)))))
#s(approx (+ (* y x) (+ (* z y) x)) #s(hole binary64 (* -1 (* x (- (* -1 y) 1)))))
#s(approx (+ (* y x) (+ (* z y) x)) #s(hole binary64 (* -1 (* x (- (+ (* -1 y) (* -1 (/ (* y z) x))) 1)))))
#s(approx (+ (* z y) x) #s(hole binary64 (* -1 (* x (- (* -1 (/ (* y z) x)) 1)))))
#s(approx (+ x (* y (+ z x))) #s(hole binary64 (* -1 (* x (- (* -1 y) 1)))))
#s(approx (+ x (* y (+ z x))) #s(hole binary64 (* -1 (* x (- (+ (* -1 y) (* -1 (/ (* y z) x))) 1)))))
#s(approx (+ (* y x) x) #s(hole binary64 (* -1 (* x (- (* -1 y) 1)))))
#s(approx (+ (* (+ z x) y) x) #s(hole binary64 (* -1 (* x (- (* -1 y) 1)))))
#s(approx (+ (* (+ z x) y) x) #s(hole binary64 (* -1 (* x (- (+ (* -1 y) (* -1 (/ (* y z) x))) 1)))))
#s(approx (+ z x) #s(hole binary64 (* -1 (* x (- (* -1 (/ z x)) 1)))))
#s(approx (* (+ z x) y) #s(hole binary64 (* -1 (* x (+ (* -1 y) (* -1 (/ (* y z) x)))))))
#s(approx (+ (* y x) (+ (* z y) x)) #s(hole binary64 x))
#s(approx (+ (* y x) (+ (* z y) x)) #s(hole binary64 (+ x (* y (+ x z)))))
#s(approx y #s(hole binary64 y))
#s(approx (+ x (* y (+ z x))) #s(hole binary64 x))
#s(approx (+ x (* y (+ z x))) #s(hole binary64 (+ x (* y (+ x z)))))
#s(approx (+ (* y x) x) #s(hole binary64 x))
#s(approx (+ (* y x) x) #s(hole binary64 (+ x (* x y))))
#s(approx (* z y) #s(hole binary64 (* y z)))
#s(approx (+ (* (+ z x) y) x) #s(hole binary64 x))
#s(approx (+ (* (+ z x) y) x) #s(hole binary64 (+ x (* y (+ x z)))))
#s(approx (* (+ z x) y) #s(hole binary64 (* y (+ x z))))
#s(approx (+ (* y x) (+ (* z y) x)) #s(hole binary64 (* y (+ x z))))
#s(approx (+ (* y x) (+ (* z y) x)) #s(hole binary64 (* y (+ x (+ z (/ x y))))))
#s(approx (+ (* z y) x) #s(hole binary64 (* y (+ z (/ x y)))))
#s(approx (+ x (* y (+ z x))) #s(hole binary64 (* y (+ x z))))
#s(approx (+ x (* y (+ z x))) #s(hole binary64 (* y (+ x (+ z (/ x y))))))
#s(approx (+ (* y x) x) #s(hole binary64 (* x y)))
#s(approx (+ (* y x) x) #s(hole binary64 (* y (+ x (/ x y)))))
#s(approx (+ (* (+ z x) y) x) #s(hole binary64 (* y (+ x z))))
#s(approx (+ (* (+ z x) y) x) #s(hole binary64 (* y (+ x (+ z (/ x y))))))
#s(approx (+ (* y x) (+ (* z y) x)) #s(hole binary64 (* -1 (* y (+ (* -1 x) (* -1 z))))))
#s(approx (+ (* y x) (+ (* z y) x)) #s(hole binary64 (* -1 (* y (+ (* -1 x) (+ (* -1 z) (* -1 (/ x y))))))))
#s(approx (+ (* z y) x) #s(hole binary64 (* -1 (* y (+ (* -1 z) (* -1 (/ x y)))))))
#s(approx (+ x (* y (+ z x))) #s(hole binary64 (* -1 (* y (+ (* -1 (+ x z)) (* -1 (/ x y)))))))
#s(approx (+ (* y x) x) #s(hole binary64 (* -1 (* y (+ (* -1 x) (* -1 (/ x y)))))))
#s(approx (+ (* (+ z x) y) x) #s(hole binary64 (* -1 (* y (+ (* -1 (+ x z)) (* -1 (/ x y)))))))
#s(approx (+ (* y x) (+ (* z y) x)) #s(hole binary64 (+ x (* x y))))
#s(approx (+ (* y x) (+ (* z y) x)) #s(hole binary64 (+ x (+ (* x y) (* y z)))))
#s(approx z #s(hole binary64 z))
#s(approx (+ x (* y (+ z x))) #s(hole binary64 (+ x (* x y))))
#s(approx (+ x (* y (+ z x))) #s(hole binary64 (+ x (+ (* x y) (* y z)))))
#s(approx (+ (* (+ z x) y) x) #s(hole binary64 (+ x (* x y))))
#s(approx (+ (* (+ z x) y) x) #s(hole binary64 (+ x (+ (* x y) (* y z)))))
#s(approx (+ (* y x) (+ (* z y) x)) #s(hole binary64 (* z (+ y (+ (/ x z) (/ (* x y) z))))))
#s(approx (+ (* z y) x) #s(hole binary64 (* z (+ y (/ x z)))))
#s(approx (+ x (* y (+ z x))) #s(hole binary64 (* z (+ y (+ (/ x z) (/ (* x y) z))))))
#s(approx (+ (* (+ z x) y) x) #s(hole binary64 (* z (+ y (+ (/ x z) (/ (* x y) z))))))
#s(approx (+ z x) #s(hole binary64 (* z (+ 1 (/ x z)))))
#s(approx (* (+ z x) y) #s(hole binary64 (* z (+ y (/ (* x y) z)))))
#s(approx (+ (* y x) (+ (* z y) x)) #s(hole binary64 (* -1 (* z (+ (* -1 y) (* -1 (/ (+ x (* x y)) z)))))))
#s(approx (+ (* z y) x) #s(hole binary64 (* -1 (* z (+ (* -1 y) (* -1 (/ x z)))))))
#s(approx (+ x (* y (+ z x))) #s(hole binary64 (* -1 (* z (+ (* -1 y) (* -1 (/ (+ x (* x y)) z)))))))
#s(approx (+ (* (+ z x) y) x) #s(hole binary64 (* -1 (* z (+ (* -1 y) (* -1 (/ (+ x (* x y)) z)))))))
#s(approx (+ z x) #s(hole binary64 (* -1 (* z (- (* -1 (/ x z)) 1)))))
#s(approx (* (+ z x) y) #s(hole binary64 (* -1 (* z (+ (* -1 y) (* -1 (/ (* x y) z)))))))
Calls

9 calls:

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

rewrite217.0ms (8.3%)

Memory
-3.7MiB live, 129.2MiB allocated; 34ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02011284
02081198
19561185
277461185
083631086
Stop Event
iter limit
node limit
iter limit
Counts
97 → 217
Calls
Call 1
Inputs
(fma.f64 y x (fma.f64 z y x))
y
x
(fma.f64 z y x)
z
#s(approx (+ x (* y (+ z x))) #s(approx (+ (* y x) x) (*.f64 y x)))
#s(approx (+ (* y x) x) (*.f64 y x))
(*.f64 y x)
#s(approx (+ x (* y (+ z x))) (*.f64 z y))
(*.f64 z y)
(fma.f64 #s(approx (+ z x) z) y x)
#s(approx (+ z x) z)
#s(approx (+ x (* y (+ z x))) (*.f64 (+.f64 z x) y))
(*.f64 (+.f64 z x) y)
(+.f64 z x)
#s(approx (+ (* y x) (+ (* z y) x)) #s(hole binary64 (* y z)))
#s(approx (+ (* y x) (+ (* z y) x)) #s(hole binary64 (+ (* x (+ 1 y)) (* y z))))
#s(approx x #s(hole binary64 x))
#s(approx (+ (* z y) x) #s(hole binary64 (* y z)))
#s(approx (+ (* z y) x) #s(hole binary64 (+ x (* y z))))
#s(approx (+ x (* y (+ z x))) #s(hole binary64 (* y z)))
#s(approx (+ x (* y (+ z x))) #s(hole binary64 (+ (* x (+ 1 y)) (* y z))))
#s(approx (+ (* y x) x) #s(hole binary64 (* x (+ 1 y))))
#s(approx (* y x) #s(hole binary64 (* x y)))
#s(approx (+ (* (+ z x) y) x) #s(hole binary64 (* y z)))
#s(approx (+ (* (+ z x) y) x) #s(hole binary64 (+ (* x (+ 1 y)) (* y z))))
#s(approx (+ z x) #s(hole binary64 z))
#s(approx (+ z x) #s(hole binary64 (+ x z)))
#s(approx (* (+ z x) y) #s(hole binary64 (* y z)))
#s(approx (* (+ z x) y) #s(hole binary64 (+ (* x y) (* y z))))
#s(approx (+ (* y x) (+ (* z y) x)) #s(hole binary64 (* x (+ 1 y))))
#s(approx (+ (* y x) (+ (* z y) x)) #s(hole binary64 (* x (+ 1 (+ y (/ (* y z) x))))))
#s(approx (+ (* z y) x) #s(hole binary64 x))
#s(approx (+ (* z y) x) #s(hole binary64 (* x (+ 1 (/ (* y z) x)))))
#s(approx (+ x (* y (+ z x))) #s(hole binary64 (* x (+ 1 y))))
#s(approx (+ x (* y (+ z x))) #s(hole binary64 (* x (+ 1 (+ y (/ (* y z) x))))))
#s(approx (+ (* (+ z x) y) x) #s(hole binary64 (* x (+ 1 y))))
#s(approx (+ (* (+ z x) y) x) #s(hole binary64 (* x (+ 1 (+ y (/ (* y z) x))))))
#s(approx (+ z x) #s(hole binary64 x))
#s(approx (+ z x) #s(hole binary64 (* x (+ 1 (/ z x)))))
#s(approx (* (+ z x) y) #s(hole binary64 (* x y)))
#s(approx (* (+ z x) y) #s(hole binary64 (* x (+ y (/ (* y z) x)))))
#s(approx (+ (* y x) (+ (* z y) x)) #s(hole binary64 (* -1 (* x (- (* -1 y) 1)))))
#s(approx (+ (* y x) (+ (* z y) x)) #s(hole binary64 (* -1 (* x (- (+ (* -1 y) (* -1 (/ (* y z) x))) 1)))))
#s(approx (+ (* z y) x) #s(hole binary64 (* -1 (* x (- (* -1 (/ (* y z) x)) 1)))))
#s(approx (+ x (* y (+ z x))) #s(hole binary64 (* -1 (* x (- (* -1 y) 1)))))
#s(approx (+ x (* y (+ z x))) #s(hole binary64 (* -1 (* x (- (+ (* -1 y) (* -1 (/ (* y z) x))) 1)))))
#s(approx (+ (* y x) x) #s(hole binary64 (* -1 (* x (- (* -1 y) 1)))))
#s(approx (+ (* (+ z x) y) x) #s(hole binary64 (* -1 (* x (- (* -1 y) 1)))))
#s(approx (+ (* (+ z x) y) x) #s(hole binary64 (* -1 (* x (- (+ (* -1 y) (* -1 (/ (* y z) x))) 1)))))
#s(approx (+ z x) #s(hole binary64 (* -1 (* x (- (* -1 (/ z x)) 1)))))
#s(approx (* (+ z x) y) #s(hole binary64 (* -1 (* x (+ (* -1 y) (* -1 (/ (* y z) x)))))))
#s(approx (+ (* y x) (+ (* z y) x)) #s(hole binary64 x))
#s(approx (+ (* y x) (+ (* z y) x)) #s(hole binary64 (+ x (* y (+ x z)))))
#s(approx y #s(hole binary64 y))
#s(approx (+ x (* y (+ z x))) #s(hole binary64 x))
#s(approx (+ x (* y (+ z x))) #s(hole binary64 (+ x (* y (+ x z)))))
#s(approx (+ (* y x) x) #s(hole binary64 x))
#s(approx (+ (* y x) x) #s(hole binary64 (+ x (* x y))))
#s(approx (* z y) #s(hole binary64 (* y z)))
#s(approx (+ (* (+ z x) y) x) #s(hole binary64 x))
#s(approx (+ (* (+ z x) y) x) #s(hole binary64 (+ x (* y (+ x z)))))
#s(approx (* (+ z x) y) #s(hole binary64 (* y (+ x z))))
#s(approx (+ (* y x) (+ (* z y) x)) #s(hole binary64 (* y (+ x z))))
#s(approx (+ (* y x) (+ (* z y) x)) #s(hole binary64 (* y (+ x (+ z (/ x y))))))
#s(approx (+ (* z y) x) #s(hole binary64 (* y (+ z (/ x y)))))
#s(approx (+ x (* y (+ z x))) #s(hole binary64 (* y (+ x z))))
#s(approx (+ x (* y (+ z x))) #s(hole binary64 (* y (+ x (+ z (/ x y))))))
#s(approx (+ (* y x) x) #s(hole binary64 (* x y)))
#s(approx (+ (* y x) x) #s(hole binary64 (* y (+ x (/ x y)))))
#s(approx (+ (* (+ z x) y) x) #s(hole binary64 (* y (+ x z))))
#s(approx (+ (* (+ z x) y) x) #s(hole binary64 (* y (+ x (+ z (/ x y))))))
#s(approx (+ (* y x) (+ (* z y) x)) #s(hole binary64 (* -1 (* y (+ (* -1 x) (* -1 z))))))
#s(approx (+ (* y x) (+ (* z y) x)) #s(hole binary64 (* -1 (* y (+ (* -1 x) (+ (* -1 z) (* -1 (/ x y))))))))
#s(approx (+ (* z y) x) #s(hole binary64 (* -1 (* y (+ (* -1 z) (* -1 (/ x y)))))))
#s(approx (+ x (* y (+ z x))) #s(hole binary64 (* -1 (* y (+ (* -1 (+ x z)) (* -1 (/ x y)))))))
#s(approx (+ (* y x) x) #s(hole binary64 (* -1 (* y (+ (* -1 x) (* -1 (/ x y)))))))
#s(approx (+ (* (+ z x) y) x) #s(hole binary64 (* -1 (* y (+ (* -1 (+ x z)) (* -1 (/ x y)))))))
#s(approx (+ (* y x) (+ (* z y) x)) #s(hole binary64 (+ x (* x y))))
#s(approx (+ (* y x) (+ (* z y) x)) #s(hole binary64 (+ x (+ (* x y) (* y z)))))
#s(approx z #s(hole binary64 z))
#s(approx (+ x (* y (+ z x))) #s(hole binary64 (+ x (* x y))))
#s(approx (+ x (* y (+ z x))) #s(hole binary64 (+ x (+ (* x y) (* y z)))))
#s(approx (+ (* (+ z x) y) x) #s(hole binary64 (+ x (* x y))))
#s(approx (+ (* (+ z x) y) x) #s(hole binary64 (+ x (+ (* x y) (* y z)))))
#s(approx (+ (* y x) (+ (* z y) x)) #s(hole binary64 (* z (+ y (+ (/ x z) (/ (* x y) z))))))
#s(approx (+ (* z y) x) #s(hole binary64 (* z (+ y (/ x z)))))
#s(approx (+ x (* y (+ z x))) #s(hole binary64 (* z (+ y (+ (/ x z) (/ (* x y) z))))))
#s(approx (+ (* (+ z x) y) x) #s(hole binary64 (* z (+ y (+ (/ x z) (/ (* x y) z))))))
#s(approx (+ z x) #s(hole binary64 (* z (+ 1 (/ x z)))))
#s(approx (* (+ z x) y) #s(hole binary64 (* z (+ y (/ (* x y) z)))))
#s(approx (+ (* y x) (+ (* z y) x)) #s(hole binary64 (* -1 (* z (+ (* -1 y) (* -1 (/ (+ x (* x y)) z)))))))
#s(approx (+ (* z y) x) #s(hole binary64 (* -1 (* z (+ (* -1 y) (* -1 (/ x z)))))))
#s(approx (+ x (* y (+ z x))) #s(hole binary64 (* -1 (* z (+ (* -1 y) (* -1 (/ (+ x (* x y)) z)))))))
#s(approx (+ (* (+ z x) y) x) #s(hole binary64 (* -1 (* z (+ (* -1 y) (* -1 (/ (+ x (* x y)) z)))))))
#s(approx (+ z x) #s(hole binary64 (* -1 (* z (- (* -1 (/ x z)) 1)))))
#s(approx (* (+ z x) y) #s(hole binary64 (* -1 (* z (+ (* -1 y) (* -1 (/ (* x y) z)))))))
Outputs
(/.f64 (-.f64 (pow.f64 (*.f64 z y) #s(literal 2 binary64)) (pow.f64 (fma.f64 x y x) #s(literal 2 binary64))) (-.f64 (*.f64 z y) (fma.f64 x y x)))
(/.f64 (-.f64 (pow.f64 (fma.f64 z y x) #s(literal 2 binary64)) (pow.f64 (*.f64 x y) #s(literal 2 binary64))) (-.f64 (fma.f64 z y x) (*.f64 x y)))
(/.f64 (-.f64 (pow.f64 (fma.f64 x y x) #s(literal 3 binary64)) (pow.f64 (*.f64 (neg.f64 z) y) #s(literal 3 binary64))) (+.f64 (pow.f64 (fma.f64 x y x) #s(literal 2 binary64)) (+.f64 (pow.f64 (*.f64 z y) #s(literal 2 binary64)) (*.f64 (fma.f64 x y x) (*.f64 (neg.f64 z) y)))))
(/.f64 (-.f64 (pow.f64 x #s(literal 3 binary64)) (pow.f64 (*.f64 (-.f64 (neg.f64 z) x) y) #s(literal 3 binary64))) (fma.f64 x x (+.f64 (pow.f64 (*.f64 (+.f64 z x) y) #s(literal 2 binary64)) (*.f64 x (*.f64 (-.f64 (neg.f64 z) x) y)))))
(/.f64 (neg.f64 (-.f64 (*.f64 x x) (pow.f64 (*.f64 (+.f64 z x) y) #s(literal 2 binary64)))) (neg.f64 (-.f64 x (*.f64 (+.f64 z x) y))))
(/.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 x y) #s(literal 2 binary64)) (pow.f64 (fma.f64 z y x) #s(literal 2 binary64)))) (neg.f64 (-.f64 (*.f64 y (-.f64 x z)) x)))
(/.f64 (neg.f64 (-.f64 (pow.f64 (fma.f64 x y x) #s(literal 2 binary64)) (pow.f64 (*.f64 z y) #s(literal 2 binary64)))) (neg.f64 (+.f64 x (*.f64 y (-.f64 x z)))))
(/.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 (+.f64 z x) y) #s(literal 2 binary64)) (*.f64 x x))) (neg.f64 (-.f64 (*.f64 (+.f64 z x) y) x)))
(/.f64 (neg.f64 (+.f64 (pow.f64 (*.f64 (+.f64 z x) y) #s(literal 3 binary64)) (pow.f64 x #s(literal 3 binary64)))) (neg.f64 (fma.f64 (*.f64 (+.f64 z x) y) (-.f64 (*.f64 (+.f64 z x) y) x) (*.f64 x x))))
(/.f64 (neg.f64 (+.f64 (pow.f64 (*.f64 (+.f64 z x) y) #s(literal 3 binary64)) (pow.f64 x #s(literal 3 binary64)))) (neg.f64 (fma.f64 x (-.f64 x (*.f64 (+.f64 z x) y)) (pow.f64 (*.f64 (+.f64 z x) y) #s(literal 2 binary64)))))
(/.f64 (neg.f64 (+.f64 (pow.f64 (fma.f64 z y x) #s(literal 3 binary64)) (pow.f64 (*.f64 x y) #s(literal 3 binary64)))) (neg.f64 (fma.f64 (fma.f64 z y x) (-.f64 (fma.f64 z y x) (*.f64 x y)) (pow.f64 (*.f64 x y) #s(literal 2 binary64)))))
(/.f64 (neg.f64 (+.f64 (pow.f64 (fma.f64 x y x) #s(literal 3 binary64)) (pow.f64 (*.f64 z y) #s(literal 3 binary64)))) (neg.f64 (fma.f64 (*.f64 z y) (-.f64 (*.f64 z y) (fma.f64 x y x)) (pow.f64 (fma.f64 x y x) #s(literal 2 binary64)))))
(/.f64 (-.f64 (*.f64 x x) (pow.f64 (*.f64 (+.f64 z x) y) #s(literal 2 binary64))) (-.f64 x (*.f64 (+.f64 z x) y)))
(/.f64 (-.f64 (pow.f64 (*.f64 x y) #s(literal 2 binary64)) (pow.f64 (fma.f64 z y x) #s(literal 2 binary64))) (-.f64 (*.f64 y (-.f64 x z)) x))
(/.f64 (-.f64 (pow.f64 (fma.f64 x y x) #s(literal 2 binary64)) (pow.f64 (*.f64 z y) #s(literal 2 binary64))) (+.f64 x (*.f64 y (-.f64 x z))))
(/.f64 (-.f64 (pow.f64 (*.f64 (+.f64 z x) y) #s(literal 2 binary64)) (*.f64 x x)) (-.f64 (*.f64 (+.f64 z x) y) x))
(/.f64 (+.f64 (pow.f64 (*.f64 (+.f64 z x) y) #s(literal 3 binary64)) (pow.f64 x #s(literal 3 binary64))) (fma.f64 (*.f64 (+.f64 z x) y) (-.f64 (*.f64 (+.f64 z x) y) x) (*.f64 x x)))
(/.f64 (+.f64 (pow.f64 (*.f64 (+.f64 z x) y) #s(literal 3 binary64)) (pow.f64 x #s(literal 3 binary64))) (fma.f64 x (-.f64 x (*.f64 (+.f64 z x) y)) (pow.f64 (*.f64 (+.f64 z x) y) #s(literal 2 binary64))))
(/.f64 (+.f64 (pow.f64 (fma.f64 z y x) #s(literal 3 binary64)) (pow.f64 (*.f64 x y) #s(literal 3 binary64))) (+.f64 (pow.f64 (fma.f64 z y x) #s(literal 2 binary64)) (-.f64 (pow.f64 (*.f64 x y) #s(literal 2 binary64)) (*.f64 (*.f64 x y) (fma.f64 z y x)))))
(/.f64 (+.f64 (pow.f64 (fma.f64 z y x) #s(literal 3 binary64)) (pow.f64 (*.f64 x y) #s(literal 3 binary64))) (fma.f64 (fma.f64 z y x) (-.f64 (fma.f64 z y x) (*.f64 x y)) (pow.f64 (*.f64 x y) #s(literal 2 binary64))))
(/.f64 (+.f64 (pow.f64 (fma.f64 x y x) #s(literal 3 binary64)) (pow.f64 (*.f64 z y) #s(literal 3 binary64))) (+.f64 (pow.f64 (*.f64 z y) #s(literal 2 binary64)) (-.f64 (pow.f64 (fma.f64 x y x) #s(literal 2 binary64)) (*.f64 (*.f64 (fma.f64 x y x) z) y))))
(/.f64 (+.f64 (pow.f64 (fma.f64 x y x) #s(literal 3 binary64)) (pow.f64 (*.f64 z y) #s(literal 3 binary64))) (fma.f64 (*.f64 z y) (-.f64 (*.f64 z y) (fma.f64 x y x)) (pow.f64 (fma.f64 x y x) #s(literal 2 binary64))))
(fma.f64 (-.f64 y #s(literal -1 binary64)) x (*.f64 z y))
(fma.f64 (+.f64 z x) y x)
(fma.f64 z y (fma.f64 x y x))
(fma.f64 x (-.f64 y #s(literal -1 binary64)) (*.f64 z y))
(fma.f64 x y (fma.f64 z y x))
(fma.f64 y (+.f64 z x) x)
(fma.f64 y z (fma.f64 x y x))
(fma.f64 y x (fma.f64 z y x))
(-.f64 (/.f64 (*.f64 x x) (-.f64 x (*.f64 (+.f64 z x) y))) (/.f64 (pow.f64 (*.f64 (+.f64 z x) y) #s(literal 2 binary64)) (-.f64 x (*.f64 (+.f64 z x) y))))
(-.f64 (/.f64 (pow.f64 (*.f64 x y) #s(literal 2 binary64)) (-.f64 (*.f64 y (-.f64 x z)) x)) (/.f64 (pow.f64 (fma.f64 z y x) #s(literal 2 binary64)) (-.f64 (*.f64 y (-.f64 x z)) x)))
(-.f64 (/.f64 (pow.f64 (fma.f64 x y x) #s(literal 2 binary64)) (+.f64 x (*.f64 y (-.f64 x z)))) (/.f64 (pow.f64 (*.f64 z y) #s(literal 2 binary64)) (+.f64 x (*.f64 y (-.f64 x z)))))
(-.f64 (/.f64 (pow.f64 (*.f64 (+.f64 z x) y) #s(literal 2 binary64)) (-.f64 (*.f64 (+.f64 z x) y) x)) (/.f64 (*.f64 x x) (-.f64 (*.f64 (+.f64 z x) y) x)))
(-.f64 (fma.f64 x y x) (*.f64 (neg.f64 z) y))
(-.f64 (*.f64 x y) (-.f64 (*.f64 (neg.f64 z) y) x))
(-.f64 (*.f64 z y) (neg.f64 (fma.f64 x y x)))
(-.f64 (fma.f64 z y x) (*.f64 (neg.f64 x) y))
(-.f64 x (-.f64 (*.f64 (neg.f64 z) y) (*.f64 x y)))
(-.f64 x (*.f64 (-.f64 (neg.f64 z) x) y))
(+.f64 (/.f64 (pow.f64 x #s(literal 3 binary64)) (fma.f64 (*.f64 (+.f64 z x) y) (-.f64 (*.f64 (+.f64 z x) y) x) (*.f64 x x))) (/.f64 (pow.f64 (*.f64 (+.f64 z x) y) #s(literal 3 binary64)) (fma.f64 (*.f64 (+.f64 z x) y) (-.f64 (*.f64 (+.f64 z x) y) x) (*.f64 x x))))
(+.f64 (/.f64 (pow.f64 (*.f64 x y) #s(literal 3 binary64)) (fma.f64 (fma.f64 z y x) (-.f64 (fma.f64 z y x) (*.f64 x y)) (pow.f64 (*.f64 x y) #s(literal 2 binary64)))) (/.f64 (pow.f64 (fma.f64 z y x) #s(literal 3 binary64)) (fma.f64 (fma.f64 z y x) (-.f64 (fma.f64 z y x) (*.f64 x y)) (pow.f64 (*.f64 x y) #s(literal 2 binary64)))))
(+.f64 (/.f64 (pow.f64 (fma.f64 x y x) #s(literal 3 binary64)) (fma.f64 (*.f64 z y) (-.f64 (*.f64 z y) (fma.f64 x y x)) (pow.f64 (fma.f64 x y x) #s(literal 2 binary64)))) (/.f64 (pow.f64 (*.f64 z y) #s(literal 3 binary64)) (fma.f64 (*.f64 z y) (-.f64 (*.f64 z y) (fma.f64 x y x)) (pow.f64 (fma.f64 x y x) #s(literal 2 binary64)))))
(+.f64 (/.f64 (pow.f64 (*.f64 (+.f64 z x) y) #s(literal 3 binary64)) (fma.f64 x (-.f64 x (*.f64 (+.f64 z x) y)) (pow.f64 (*.f64 (+.f64 z x) y) #s(literal 2 binary64)))) (/.f64 (pow.f64 x #s(literal 3 binary64)) (fma.f64 x (-.f64 x (*.f64 (+.f64 z x) y)) (pow.f64 (*.f64 (+.f64 z x) y) #s(literal 2 binary64)))))
(+.f64 (fma.f64 x y x) (*.f64 z y))
(+.f64 (*.f64 (+.f64 z x) y) x)
(+.f64 (*.f64 x y) (fma.f64 z y x))
(+.f64 (*.f64 z y) (fma.f64 x y x))
(+.f64 (fma.f64 z y x) (*.f64 x y))
(+.f64 x (*.f64 (+.f64 z x) y))
y
x
(/.f64 (-.f64 (pow.f64 x #s(literal 3 binary64)) (pow.f64 (*.f64 (neg.f64 z) y) #s(literal 3 binary64))) (fma.f64 x x (+.f64 (pow.f64 (*.f64 z y) #s(literal 2 binary64)) (*.f64 x (*.f64 (neg.f64 z) y)))))
(/.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 z y) #s(literal 2 binary64)) (*.f64 x x))) (neg.f64 (-.f64 (*.f64 z y) x)))
(/.f64 (neg.f64 (-.f64 (*.f64 x x) (pow.f64 (*.f64 z y) #s(literal 2 binary64)))) (neg.f64 (-.f64 x (*.f64 z y))))
(/.f64 (neg.f64 (+.f64 (pow.f64 (*.f64 z y) #s(literal 3 binary64)) (pow.f64 x #s(literal 3 binary64)))) (neg.f64 (fma.f64 x (-.f64 x (*.f64 z y)) (pow.f64 (*.f64 z y) #s(literal 2 binary64)))))
(/.f64 (neg.f64 (+.f64 (pow.f64 (*.f64 z y) #s(literal 3 binary64)) (pow.f64 x #s(literal 3 binary64)))) (neg.f64 (fma.f64 (*.f64 z y) (-.f64 (*.f64 z y) x) (*.f64 x x))))
(/.f64 (-.f64 (pow.f64 (*.f64 z y) #s(literal 2 binary64)) (*.f64 x x)) (-.f64 (*.f64 z y) x))
(/.f64 (-.f64 (*.f64 x x) (pow.f64 (*.f64 z y) #s(literal 2 binary64))) (-.f64 x (*.f64 z y)))
(/.f64 (+.f64 (pow.f64 (*.f64 z y) #s(literal 3 binary64)) (pow.f64 x #s(literal 3 binary64))) (fma.f64 x (-.f64 x (*.f64 z y)) (pow.f64 (*.f64 z y) #s(literal 2 binary64))))
(/.f64 (+.f64 (pow.f64 (*.f64 z y) #s(literal 3 binary64)) (pow.f64 x #s(literal 3 binary64))) (fma.f64 (*.f64 z y) (-.f64 (*.f64 z y) x) (*.f64 x x)))
(fma.f64 z y x)
(fma.f64 y z x)
(-.f64 (/.f64 (pow.f64 (*.f64 z y) #s(literal 2 binary64)) (-.f64 (*.f64 z y) x)) (/.f64 (*.f64 x x) (-.f64 (*.f64 z y) x)))
(-.f64 (/.f64 (*.f64 x x) (-.f64 x (*.f64 z y))) (/.f64 (pow.f64 (*.f64 z y) #s(literal 2 binary64)) (-.f64 x (*.f64 z y))))
(-.f64 x (*.f64 (neg.f64 z) y))
(+.f64 (/.f64 (pow.f64 (*.f64 z y) #s(literal 3 binary64)) (fma.f64 x (-.f64 x (*.f64 z y)) (pow.f64 (*.f64 z y) #s(literal 2 binary64)))) (/.f64 (pow.f64 x #s(literal 3 binary64)) (fma.f64 x (-.f64 x (*.f64 z y)) (pow.f64 (*.f64 z y) #s(literal 2 binary64)))))
(+.f64 (/.f64 (pow.f64 x #s(literal 3 binary64)) (fma.f64 (*.f64 z y) (-.f64 (*.f64 z y) x) (*.f64 x x))) (/.f64 (pow.f64 (*.f64 z y) #s(literal 3 binary64)) (fma.f64 (*.f64 z y) (-.f64 (*.f64 z y) x) (*.f64 x x))))
(+.f64 (*.f64 z y) x)
(+.f64 x (*.f64 z y))
z
#s(approx (+ (* (+ z x) y) x) #s(approx (+ (* y x) x) (*.f64 x y)))
#s(approx (+ (* y x) x) (*.f64 x y))
(*.f64 x y)
(*.f64 y x)
#s(approx (+ (* (+ z x) y) x) (*.f64 z y))
(*.f64 z y)
(*.f64 y z)
(/.f64 (-.f64 (*.f64 x x) (pow.f64 (*.f64 #s(approx (+ z x) z) y) #s(literal 2 binary64))) (-.f64 x (*.f64 #s(approx (+ z x) z) y)))
(/.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 #s(approx (+ z x) z) y) #s(literal 2 binary64)) (*.f64 x x))) (neg.f64 (-.f64 (*.f64 #s(approx (+ z x) z) y) x)))
(/.f64 (neg.f64 (+.f64 (pow.f64 (*.f64 #s(approx (+ z x) z) y) #s(literal 3 binary64)) (pow.f64 x #s(literal 3 binary64)))) (neg.f64 (fma.f64 x (-.f64 x (*.f64 #s(approx (+ z x) z) y)) (pow.f64 (*.f64 #s(approx (+ z x) z) y) #s(literal 2 binary64)))))
(/.f64 (-.f64 (pow.f64 (*.f64 #s(approx (+ z x) z) y) #s(literal 2 binary64)) (*.f64 x x)) (-.f64 (*.f64 #s(approx (+ z x) z) y) x))
(/.f64 (+.f64 (pow.f64 (*.f64 #s(approx (+ z x) z) y) #s(literal 3 binary64)) (pow.f64 x #s(literal 3 binary64))) (fma.f64 x x (-.f64 (pow.f64 (*.f64 #s(approx (+ z x) z) y) #s(literal 2 binary64)) (*.f64 (*.f64 #s(approx (+ z x) z) y) x))))
(/.f64 (+.f64 (pow.f64 (*.f64 #s(approx (+ z x) z) y) #s(literal 3 binary64)) (pow.f64 x #s(literal 3 binary64))) (fma.f64 x (-.f64 x (*.f64 #s(approx (+ z x) z) y)) (pow.f64 (*.f64 #s(approx (+ z x) z) y) #s(literal 2 binary64))))
(fma.f64 #s(approx (+ z x) z) y x)
(fma.f64 y #s(approx (+ z x) z) x)
(-.f64 (/.f64 (pow.f64 (*.f64 #s(approx (+ z x) z) y) #s(literal 2 binary64)) (-.f64 (*.f64 #s(approx (+ z x) z) y) x)) (/.f64 (*.f64 x x) (-.f64 (*.f64 #s(approx (+ z x) z) y) x)))
(-.f64 x (*.f64 (neg.f64 #s(approx (+ z x) z)) y))
(-.f64 x (*.f64 (neg.f64 y) #s(approx (+ z x) z)))
(+.f64 (/.f64 (pow.f64 (*.f64 #s(approx (+ z x) z) y) #s(literal 3 binary64)) (fma.f64 x (-.f64 x (*.f64 #s(approx (+ z x) z) y)) (pow.f64 (*.f64 #s(approx (+ z x) z) y) #s(literal 2 binary64)))) (/.f64 (pow.f64 x #s(literal 3 binary64)) (fma.f64 x (-.f64 x (*.f64 #s(approx (+ z x) z) y)) (pow.f64 (*.f64 #s(approx (+ z x) z) y) #s(literal 2 binary64)))))
(+.f64 (*.f64 #s(approx (+ z x) z) y) x)
(+.f64 x (*.f64 #s(approx (+ z x) z) y))
#s(approx (+ z x) z)
#s(approx (+ (* (+ z x) y) x) (*.f64 (+.f64 z x) y))
(*.f64 (+.f64 z x) y)
(*.f64 y (+.f64 z x))
(/.f64 (*.f64 y (*.f64 (+.f64 z x) (-.f64 z x))) (-.f64 z x))
(/.f64 (*.f64 y (+.f64 (pow.f64 z #s(literal 3 binary64)) (pow.f64 x #s(literal 3 binary64)))) (fma.f64 x (-.f64 x z) (*.f64 z z)))
(/.f64 (*.f64 y (+.f64 (pow.f64 z #s(literal 3 binary64)) (pow.f64 x #s(literal 3 binary64)))) (fma.f64 z (-.f64 z x) (*.f64 x x)))
(/.f64 (-.f64 (pow.f64 (*.f64 z y) #s(literal 2 binary64)) (pow.f64 (*.f64 x y) #s(literal 2 binary64))) (-.f64 (*.f64 z y) (*.f64 x y)))
(/.f64 (-.f64 (pow.f64 (*.f64 x y) #s(literal 3 binary64)) (pow.f64 (*.f64 (neg.f64 z) y) #s(literal 3 binary64))) (+.f64 (pow.f64 (*.f64 x y) #s(literal 2 binary64)) (+.f64 (pow.f64 (*.f64 z y) #s(literal 2 binary64)) (*.f64 (*.f64 x y) (*.f64 (neg.f64 z) y)))))
(/.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 x y) #s(literal 2 binary64)) (pow.f64 (*.f64 z y) #s(literal 2 binary64)))) (neg.f64 (*.f64 y (-.f64 x z))))
(/.f64 (neg.f64 (+.f64 (pow.f64 (*.f64 z y) #s(literal 3 binary64)) (pow.f64 (*.f64 x y) #s(literal 3 binary64)))) (neg.f64 (fma.f64 (*.f64 z y) (-.f64 (*.f64 z y) (*.f64 x y)) (pow.f64 (*.f64 x y) #s(literal 2 binary64)))))
(/.f64 (*.f64 (*.f64 (+.f64 z x) (-.f64 x z)) y) (-.f64 x z))
(/.f64 (*.f64 y (*.f64 (+.f64 z x) (-.f64 x z))) (-.f64 x z))
(/.f64 (*.f64 (*.f64 (+.f64 z x) (-.f64 z x)) y) (-.f64 z x))
(/.f64 (*.f64 (+.f64 (pow.f64 z #s(literal 3 binary64)) (pow.f64 x #s(literal 3 binary64))) y) (fma.f64 x (-.f64 x z) (*.f64 z z)))
(/.f64 (*.f64 (+.f64 (pow.f64 z #s(literal 3 binary64)) (pow.f64 x #s(literal 3 binary64))) y) (fma.f64 z (-.f64 z x) (*.f64 x x)))
(/.f64 (-.f64 (pow.f64 (*.f64 x y) #s(literal 2 binary64)) (pow.f64 (*.f64 z y) #s(literal 2 binary64))) (*.f64 y (-.f64 x z)))
(/.f64 (+.f64 (pow.f64 (*.f64 z y) #s(literal 3 binary64)) (pow.f64 (*.f64 x y) #s(literal 3 binary64))) (+.f64 (pow.f64 (*.f64 z y) #s(literal 2 binary64)) (-.f64 (pow.f64 (*.f64 x y) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 x y) y) z))))
(/.f64 (+.f64 (pow.f64 (*.f64 z y) #s(literal 3 binary64)) (pow.f64 (*.f64 x y) #s(literal 3 binary64))) (fma.f64 (*.f64 z y) (-.f64 (*.f64 z y) (*.f64 x y)) (pow.f64 (*.f64 x y) #s(literal 2 binary64))))
(fma.f64 z y (*.f64 x y))
(fma.f64 x y (*.f64 z y))
(fma.f64 y z (*.f64 x y))
(fma.f64 y x (*.f64 z y))
(-.f64 (/.f64 (pow.f64 (*.f64 x y) #s(literal 2 binary64)) (*.f64 y (-.f64 x z))) (/.f64 (pow.f64 (*.f64 z y) #s(literal 2 binary64)) (*.f64 y (-.f64 x z))))
(-.f64 (*.f64 x y) (*.f64 (neg.f64 z) y))
(-.f64 (*.f64 z y) (*.f64 (neg.f64 x) y))
(+.f64 (/.f64 (pow.f64 (*.f64 x y) #s(literal 3 binary64)) (fma.f64 (*.f64 z y) (-.f64 (*.f64 z y) (*.f64 x y)) (pow.f64 (*.f64 x y) #s(literal 2 binary64)))) (/.f64 (pow.f64 (*.f64 z y) #s(literal 3 binary64)) (fma.f64 (*.f64 z y) (-.f64 (*.f64 z y) (*.f64 x y)) (pow.f64 (*.f64 x y) #s(literal 2 binary64)))))
(+.f64 (*.f64 x y) (*.f64 z y))
(+.f64 (*.f64 z y) (*.f64 x y))
(/.f64 (neg.f64 (*.f64 (+.f64 z x) (-.f64 z x))) (neg.f64 (-.f64 z x)))
(/.f64 (neg.f64 (*.f64 (+.f64 z x) (-.f64 x z))) (neg.f64 (-.f64 x z)))
(/.f64 (neg.f64 (+.f64 (pow.f64 z #s(literal 3 binary64)) (pow.f64 x #s(literal 3 binary64)))) (neg.f64 (fma.f64 x (-.f64 x z) (*.f64 z z))))
(/.f64 (neg.f64 (+.f64 (pow.f64 z #s(literal 3 binary64)) (pow.f64 x #s(literal 3 binary64)))) (neg.f64 (fma.f64 z (-.f64 z x) (*.f64 x x))))
(/.f64 (*.f64 (+.f64 z x) (-.f64 x z)) (-.f64 x z))
(/.f64 (*.f64 (+.f64 z x) (-.f64 z x)) (-.f64 z x))
(/.f64 (+.f64 (pow.f64 z #s(literal 3 binary64)) (pow.f64 x #s(literal 3 binary64))) (fma.f64 x (-.f64 x z) (*.f64 z z)))
(/.f64 (+.f64 (pow.f64 z #s(literal 3 binary64)) (pow.f64 x #s(literal 3 binary64))) (fma.f64 z (-.f64 z x) (*.f64 x x)))
(-.f64 (/.f64 (*.f64 z z) (-.f64 z x)) (/.f64 (*.f64 x x) (-.f64 z x)))
(-.f64 (/.f64 (*.f64 x x) (-.f64 x z)) (/.f64 (*.f64 z z) (-.f64 x z)))
(+.f64 (/.f64 (pow.f64 z #s(literal 3 binary64)) (fma.f64 x (-.f64 x z) (*.f64 z z))) (/.f64 (pow.f64 x #s(literal 3 binary64)) (fma.f64 x (-.f64 x z) (*.f64 z z))))
(+.f64 (/.f64 (pow.f64 x #s(literal 3 binary64)) (fma.f64 z (-.f64 z x) (*.f64 x x))) (/.f64 (pow.f64 z #s(literal 3 binary64)) (fma.f64 z (-.f64 z x) (*.f64 x x))))
(+.f64 z x)
(+.f64 x z)
#s(approx (+ (* (+ z x) y) x) (*.f64 z y))
#s(approx (+ (* (+ z x) y) x) (fma.f64 (+.f64 z x) y x))
#s(approx x x)
#s(approx (+ (* z y) x) (*.f64 z y))
#s(approx (+ (* z y) x) (fma.f64 z y x))
#s(approx (+ (* (+ z x) y) x) (*.f64 z y))
#s(approx (+ (* (+ z x) y) x) (fma.f64 (+.f64 z x) y x))
#s(approx (+ (* y x) x) (fma.f64 x y x))
#s(approx (* y x) (*.f64 x y))
#s(approx (+ (* (+ z x) y) x) (*.f64 z y))
#s(approx (+ (* (+ z x) y) x) (fma.f64 (+.f64 z x) y x))
#s(approx (+ z x) z)
#s(approx (+ z x) (+.f64 z x))
#s(approx (* (+ z x) y) (*.f64 z y))
#s(approx (* (+ z x) y) (*.f64 (+.f64 z x) y))
#s(approx (+ (* (+ z x) y) x) (fma.f64 x y x))
#s(approx (+ (* (+ z x) y) x) (fma.f64 (fma.f64 (/.f64 z x) y y) x x))
#s(approx (+ (* z y) x) x)
#s(approx (+ (* z y) x) (fma.f64 (/.f64 (*.f64 z y) x) x x))
#s(approx (+ (* (+ z x) y) x) (fma.f64 x y x))
#s(approx (+ (* (+ z x) y) x) (fma.f64 (fma.f64 (/.f64 z x) y y) x x))
#s(approx (+ (* (+ z x) y) x) (fma.f64 x y x))
#s(approx (+ (* (+ z x) y) x) (fma.f64 (fma.f64 (/.f64 z x) y y) x x))
#s(approx (+ z x) x)
#s(approx (+ z x) (fma.f64 (/.f64 z x) x x))
#s(approx (* (+ z x) y) (*.f64 x y))
#s(approx (* (+ z x) y) (*.f64 (fma.f64 (/.f64 z x) y y) x))
#s(approx (+ (* (+ z x) y) x) (*.f64 (neg.f64 x) (fma.f64 #s(literal -1 binary64) y #s(literal -1 binary64))))
#s(approx (+ (* (+ z x) y) x) (*.f64 (neg.f64 x) (fma.f64 #s(literal -1 binary64) (fma.f64 (/.f64 z x) y y) #s(literal -1 binary64))))
#s(approx (+ (* z y) x) (*.f64 (neg.f64 x) (fma.f64 (neg.f64 y) (/.f64 z x) #s(literal -1 binary64))))
#s(approx (+ (* (+ z x) y) x) (*.f64 (neg.f64 x) (fma.f64 #s(literal -1 binary64) y #s(literal -1 binary64))))
#s(approx (+ (* (+ z x) y) x) (*.f64 (neg.f64 x) (fma.f64 #s(literal -1 binary64) (fma.f64 (/.f64 z x) y y) #s(literal -1 binary64))))
#s(approx (+ (* y x) x) (*.f64 (neg.f64 x) (fma.f64 #s(literal -1 binary64) y #s(literal -1 binary64))))
#s(approx (+ (* (+ z x) y) x) (*.f64 (neg.f64 x) (fma.f64 #s(literal -1 binary64) y #s(literal -1 binary64))))
#s(approx (+ (* (+ z x) y) x) (*.f64 (neg.f64 x) (fma.f64 #s(literal -1 binary64) (fma.f64 (/.f64 z x) y y) #s(literal -1 binary64))))
#s(approx (+ z x) (*.f64 (neg.f64 x) (fma.f64 #s(literal -1 binary64) (/.f64 z x) #s(literal -1 binary64))))
#s(approx (* (+ z x) y) (*.f64 (fma.f64 (/.f64 z x) y y) x))
#s(approx (+ (* (+ z x) y) x) x)
#s(approx (+ (* (+ z x) y) x) (fma.f64 (+.f64 z x) y x))
#s(approx y y)
#s(approx (+ (* (+ z x) y) x) x)
#s(approx (+ (* (+ z x) y) x) (fma.f64 (+.f64 z x) y x))
#s(approx (+ (* y x) x) x)
#s(approx (+ (* y x) x) (fma.f64 x y x))
#s(approx (* z y) (*.f64 z y))
#s(approx (+ (* (+ z x) y) x) x)
#s(approx (+ (* (+ z x) y) x) (fma.f64 (+.f64 z x) y x))
#s(approx (* (+ z x) y) (*.f64 (+.f64 z x) y))
#s(approx (+ (* (+ z x) y) x) (*.f64 (+.f64 z x) y))
#s(approx (+ (* (+ z x) y) x) (*.f64 (+.f64 (+.f64 (/.f64 x y) z) x) y))
#s(approx (+ (* z y) x) (*.f64 (+.f64 (/.f64 x y) z) y))
#s(approx (+ (* (+ z x) y) x) (*.f64 (+.f64 z x) y))
#s(approx (+ (* (+ z x) y) x) (*.f64 (+.f64 (+.f64 (/.f64 x y) z) x) y))
#s(approx (+ (* y x) x) (*.f64 x y))
#s(approx (+ (* y x) x) (*.f64 (+.f64 (/.f64 x y) x) y))
#s(approx (+ (* (+ z x) y) x) (*.f64 (+.f64 z x) y))
#s(approx (+ (* (+ z x) y) x) (*.f64 (+.f64 (+.f64 (/.f64 x y) z) x) y))
#s(approx (+ (* (+ z x) y) x) (*.f64 (-.f64 (neg.f64 z) x) (neg.f64 y)))
#s(approx (+ (* (+ z x) y) x) (*.f64 (-.f64 (-.f64 (/.f64 (neg.f64 x) y) z) x) (neg.f64 y)))
#s(approx (+ (* z y) x) (*.f64 (-.f64 (/.f64 (neg.f64 x) y) z) (neg.f64 y)))
#s(approx (+ (* (+ z x) y) x) (*.f64 (-.f64 (-.f64 (/.f64 (neg.f64 x) y) z) x) (neg.f64 y)))
#s(approx (+ (* y x) x) (*.f64 (-.f64 (/.f64 (neg.f64 x) y) x) (neg.f64 y)))
#s(approx (+ (* (+ z x) y) x) (*.f64 (-.f64 (-.f64 (/.f64 (neg.f64 x) y) z) x) (neg.f64 y)))
#s(approx (+ (* (+ z x) y) x) (fma.f64 x y x))
#s(approx (+ (* (+ z x) y) x) (fma.f64 (+.f64 z x) y x))
#s(approx z z)
#s(approx (+ (* (+ z x) y) x) (fma.f64 x y x))
#s(approx (+ (* (+ z x) y) x) (fma.f64 (+.f64 z x) y x))
#s(approx (+ (* (+ z x) y) x) (fma.f64 x y x))
#s(approx (+ (* (+ z x) y) x) (fma.f64 (+.f64 z x) y x))
#s(approx (+ (* (+ z x) y) x) (*.f64 (fma.f64 (-.f64 y #s(literal -1 binary64)) (/.f64 x z) y) z))
#s(approx (+ (* z y) x) (*.f64 (+.f64 (/.f64 x z) y) z))
#s(approx (+ (* (+ z x) y) x) (*.f64 (fma.f64 (-.f64 y #s(literal -1 binary64)) (/.f64 x z) y) z))
#s(approx (+ (* (+ z x) y) x) (*.f64 (fma.f64 (-.f64 y #s(literal -1 binary64)) (/.f64 x z) y) z))
#s(approx (+ z x) (fma.f64 (/.f64 x z) z z))
#s(approx (* (+ z x) y) (*.f64 (fma.f64 (/.f64 x z) y y) z))
#s(approx (+ (* (+ z x) y) x) (*.f64 (neg.f64 (fma.f64 (-.f64 y #s(literal -1 binary64)) (/.f64 x z) y)) (neg.f64 z)))
#s(approx (+ (* z y) x) (*.f64 (-.f64 (/.f64 (neg.f64 x) z) y) (neg.f64 z)))
#s(approx (+ (* (+ z x) y) x) (*.f64 (neg.f64 (fma.f64 (-.f64 y #s(literal -1 binary64)) (/.f64 x z) y)) (neg.f64 z)))
#s(approx (+ (* (+ z x) y) x) (*.f64 (neg.f64 (fma.f64 (-.f64 y #s(literal -1 binary64)) (/.f64 x z) y)) (neg.f64 z)))
#s(approx (+ z x) (*.f64 (fma.f64 (/.f64 x z) #s(literal -1 binary64) #s(literal -1 binary64)) (neg.f64 z)))
#s(approx (* (+ z x) y) (*.f64 (neg.f64 (fma.f64 (/.f64 x z) y y)) (neg.f64 z)))

eval28.0ms (1.1%)

Memory
-2.2MiB live, 52.8MiB allocated; 15ms collecting garbage
Compiler

Compiled 3 831 to 562 computations (85.3% saved)

prune11.0ms (0.4%)

Memory
-16.2MiB live, 27.2MiB allocated; 6ms collecting garbage
Pruning

8 alts after pruning (2 fresh and 6 done)

PrunedKeptTotal
New2001201
Fresh011
Picked145
Done022
Total2018209
Accuracy
100.0%
Counts
209 → 8
Alt Table
Click to see full alt table
StatusAccuracyProgram
77.4%
(fma.f64 #s(approx (+ z x) z) y x)
63.3%
(fma.f64 z y #s(approx (+ (* y x) x) (*.f64 y x)))
62.2%
(fma.f64 y x #s(approx (+ (* z y) x) (*.f64 z y)))
61.9%
#s(approx (+ x (* y (+ z x))) (fma.f64 y x x))
63.7%
#s(approx (+ x (* y (+ z x))) (*.f64 (+.f64 z x) y))
41.0%
#s(approx (+ x (* y (+ z x))) (*.f64 z y))
27.0%
#s(approx (+ x (* y (+ z x))) #s(approx (+ (* y x) x) (*.f64 y x)))
37.8%
#s(approx (+ x (* y (+ z x))) x)
Compiler

Compiled 94 to 65 computations (30.9% saved)

series6.0ms (0.2%)

Memory
20.8MiB live, 20.8MiB allocated; 0ms collecting garbage
Counts
9 → 53
Calls
Call 1
Inputs
(fma.f64 y x #s(approx (+ (* z y) x) (*.f64 z y)))
y
x
#s(approx (+ (* z y) x) (*.f64 z y))
(*.f64 z y)
z
(fma.f64 z y #s(approx (+ (* y x) x) (*.f64 y x)))
#s(approx (+ (* y x) x) (*.f64 y x))
(*.f64 y x)
Outputs
#s(approx (+ (* y x) (+ (* z y) x)) #s(hole binary64 (* y z)))
#s(approx (+ (* y x) (+ (* z y) x)) #s(hole binary64 (+ (* x (+ 1 y)) (* y z))))
#s(approx x #s(hole binary64 x))
#s(approx (+ (* z y) x) #s(hole binary64 (* y z)))
#s(approx (+ (* z y) x) #s(hole binary64 (+ x (* y z))))
#s(approx (+ (* z y) (+ (* y x) x)) #s(hole binary64 (* y z)))
#s(approx (+ (* z y) (+ (* y x) x)) #s(hole binary64 (+ (* x (+ 1 y)) (* y z))))
#s(approx (+ (* y x) x) #s(hole binary64 (* x (+ 1 y))))
#s(approx (* y x) #s(hole binary64 (* x y)))
#s(approx (+ (* y x) (+ (* z y) x)) #s(hole binary64 (* x (+ 1 y))))
#s(approx (+ (* y x) (+ (* z y) x)) #s(hole binary64 (* x (+ 1 (+ y (/ (* y z) x))))))
#s(approx (+ (* z y) x) #s(hole binary64 x))
#s(approx (+ (* z y) x) #s(hole binary64 (* x (+ 1 (/ (* y z) x)))))
#s(approx (+ (* z y) (+ (* y x) x)) #s(hole binary64 (* x (+ 1 y))))
#s(approx (+ (* z y) (+ (* y x) x)) #s(hole binary64 (* x (+ 1 (+ y (/ (* y z) x))))))
#s(approx (+ (* y x) (+ (* z y) x)) #s(hole binary64 (* -1 (* x (- (* -1 y) 1)))))
#s(approx (+ (* y x) (+ (* z y) x)) #s(hole binary64 (* -1 (* x (- (+ (* -1 y) (* -1 (/ (* y z) x))) 1)))))
#s(approx (+ (* z y) x) #s(hole binary64 (* -1 (* x (- (* -1 (/ (* y z) x)) 1)))))
#s(approx (+ (* z y) (+ (* y x) x)) #s(hole binary64 (* -1 (* x (- (* -1 y) 1)))))
#s(approx (+ (* z y) (+ (* y x) x)) #s(hole binary64 (* -1 (* x (- (+ (* -1 y) (* -1 (/ (* y z) x))) 1)))))
#s(approx (+ (* y x) x) #s(hole binary64 (* -1 (* x (- (* -1 y) 1)))))
#s(approx (+ (* y x) (+ (* z y) x)) #s(hole binary64 x))
#s(approx (+ (* y x) (+ (* z y) x)) #s(hole binary64 (+ x (* y (+ x z)))))
#s(approx y #s(hole binary64 y))
#s(approx (* z y) #s(hole binary64 (* y z)))
#s(approx (+ (* z y) (+ (* y x) x)) #s(hole binary64 x))
#s(approx (+ (* z y) (+ (* y x) x)) #s(hole binary64 (+ x (* y (+ x z)))))
#s(approx (+ (* y x) x) #s(hole binary64 x))
#s(approx (+ (* y x) x) #s(hole binary64 (+ x (* x y))))
#s(approx (+ (* y x) (+ (* z y) x)) #s(hole binary64 (* y (+ x z))))
#s(approx (+ (* y x) (+ (* z y) x)) #s(hole binary64 (* y (+ x (+ z (/ x y))))))
#s(approx (+ (* z y) x) #s(hole binary64 (* y (+ z (/ x y)))))
#s(approx (+ (* z y) (+ (* y x) x)) #s(hole binary64 (* y (+ x z))))
#s(approx (+ (* z y) (+ (* y x) x)) #s(hole binary64 (* y (+ x (+ z (/ x y))))))
#s(approx (+ (* y x) x) #s(hole binary64 (* x y)))
#s(approx (+ (* y x) x) #s(hole binary64 (* y (+ x (/ x y)))))
#s(approx (+ (* y x) (+ (* z y) x)) #s(hole binary64 (* -1 (* y (+ (* -1 x) (* -1 z))))))
#s(approx (+ (* y x) (+ (* z y) x)) #s(hole binary64 (* -1 (* y (+ (* -1 x) (+ (* -1 z) (* -1 (/ x y))))))))
#s(approx (+ (* z y) x) #s(hole binary64 (* -1 (* y (+ (* -1 z) (* -1 (/ x y)))))))
#s(approx (+ (* z y) (+ (* y x) x)) #s(hole binary64 (* -1 (* y (+ (* -1 x) (* -1 z))))))
#s(approx (+ (* z y) (+ (* y x) x)) #s(hole binary64 (* -1 (* y (+ (* -1 x) (+ (* -1 z) (* -1 (/ x y))))))))
#s(approx (+ (* y x) x) #s(hole binary64 (* -1 (* y (+ (* -1 x) (* -1 (/ x y)))))))
#s(approx (+ (* y x) (+ (* z y) x)) #s(hole binary64 (+ x (* x y))))
#s(approx (+ (* y x) (+ (* z y) x)) #s(hole binary64 (+ x (+ (* x y) (* y z)))))
#s(approx z #s(hole binary64 z))
#s(approx (+ (* z y) (+ (* y x) x)) #s(hole binary64 (+ x (* x y))))
#s(approx (+ (* z y) (+ (* y x) x)) #s(hole binary64 (+ x (+ (* x y) (* y z)))))
#s(approx (+ (* y x) (+ (* z y) x)) #s(hole binary64 (* z (+ y (+ (/ x z) (/ (* x y) z))))))
#s(approx (+ (* z y) x) #s(hole binary64 (* z (+ y (/ x z)))))
#s(approx (+ (* z y) (+ (* y x) x)) #s(hole binary64 (* z (+ y (+ (/ x z) (/ (* x y) z))))))
#s(approx (+ (* y x) (+ (* z y) x)) #s(hole binary64 (* -1 (* z (+ (* -1 y) (* -1 (/ (+ x (* x y)) z)))))))
#s(approx (+ (* z y) x) #s(hole binary64 (* -1 (* z (+ (* -1 y) (* -1 (/ x z)))))))
#s(approx (+ (* z y) (+ (* y x) x)) #s(hole binary64 (* -1 (* z (+ (* -1 y) (* -1 (/ (+ x (* x y)) z)))))))
Calls

9 calls:

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

rewrite202.0ms (7.7%)

Memory
-15.2MiB live, 269.5MiB allocated; 39ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0138900
0142781
1745768
26250768
08266691
Stop Event
iter limit
node limit
iter limit
Counts
62 → 88
Calls
Call 1
Inputs
(fma.f64 y x #s(approx (+ (* z y) x) (*.f64 z y)))
y
x
#s(approx (+ (* z y) x) (*.f64 z y))
(*.f64 z y)
z
(fma.f64 z y #s(approx (+ (* y x) x) (*.f64 y x)))
#s(approx (+ (* y x) x) (*.f64 y x))
(*.f64 y x)
#s(approx (+ (* y x) (+ (* z y) x)) #s(hole binary64 (* y z)))
#s(approx (+ (* y x) (+ (* z y) x)) #s(hole binary64 (+ (* x (+ 1 y)) (* y z))))
#s(approx x #s(hole binary64 x))
#s(approx (+ (* z y) x) #s(hole binary64 (* y z)))
#s(approx (+ (* z y) x) #s(hole binary64 (+ x (* y z))))
#s(approx (+ (* z y) (+ (* y x) x)) #s(hole binary64 (* y z)))
#s(approx (+ (* z y) (+ (* y x) x)) #s(hole binary64 (+ (* x (+ 1 y)) (* y z))))
#s(approx (+ (* y x) x) #s(hole binary64 (* x (+ 1 y))))
#s(approx (* y x) #s(hole binary64 (* x y)))
#s(approx (+ (* y x) (+ (* z y) x)) #s(hole binary64 (* x (+ 1 y))))
#s(approx (+ (* y x) (+ (* z y) x)) #s(hole binary64 (* x (+ 1 (+ y (/ (* y z) x))))))
#s(approx (+ (* z y) x) #s(hole binary64 x))
#s(approx (+ (* z y) x) #s(hole binary64 (* x (+ 1 (/ (* y z) x)))))
#s(approx (+ (* z y) (+ (* y x) x)) #s(hole binary64 (* x (+ 1 y))))
#s(approx (+ (* z y) (+ (* y x) x)) #s(hole binary64 (* x (+ 1 (+ y (/ (* y z) x))))))
#s(approx (+ (* y x) (+ (* z y) x)) #s(hole binary64 (* -1 (* x (- (* -1 y) 1)))))
#s(approx (+ (* y x) (+ (* z y) x)) #s(hole binary64 (* -1 (* x (- (+ (* -1 y) (* -1 (/ (* y z) x))) 1)))))
#s(approx (+ (* z y) x) #s(hole binary64 (* -1 (* x (- (* -1 (/ (* y z) x)) 1)))))
#s(approx (+ (* z y) (+ (* y x) x)) #s(hole binary64 (* -1 (* x (- (* -1 y) 1)))))
#s(approx (+ (* z y) (+ (* y x) x)) #s(hole binary64 (* -1 (* x (- (+ (* -1 y) (* -1 (/ (* y z) x))) 1)))))
#s(approx (+ (* y x) x) #s(hole binary64 (* -1 (* x (- (* -1 y) 1)))))
#s(approx (+ (* y x) (+ (* z y) x)) #s(hole binary64 x))
#s(approx (+ (* y x) (+ (* z y) x)) #s(hole binary64 (+ x (* y (+ x z)))))
#s(approx y #s(hole binary64 y))
#s(approx (* z y) #s(hole binary64 (* y z)))
#s(approx (+ (* z y) (+ (* y x) x)) #s(hole binary64 x))
#s(approx (+ (* z y) (+ (* y x) x)) #s(hole binary64 (+ x (* y (+ x z)))))
#s(approx (+ (* y x) x) #s(hole binary64 x))
#s(approx (+ (* y x) x) #s(hole binary64 (+ x (* x y))))
#s(approx (+ (* y x) (+ (* z y) x)) #s(hole binary64 (* y (+ x z))))
#s(approx (+ (* y x) (+ (* z y) x)) #s(hole binary64 (* y (+ x (+ z (/ x y))))))
#s(approx (+ (* z y) x) #s(hole binary64 (* y (+ z (/ x y)))))
#s(approx (+ (* z y) (+ (* y x) x)) #s(hole binary64 (* y (+ x z))))
#s(approx (+ (* z y) (+ (* y x) x)) #s(hole binary64 (* y (+ x (+ z (/ x y))))))
#s(approx (+ (* y x) x) #s(hole binary64 (* x y)))
#s(approx (+ (* y x) x) #s(hole binary64 (* y (+ x (/ x y)))))
#s(approx (+ (* y x) (+ (* z y) x)) #s(hole binary64 (* -1 (* y (+ (* -1 x) (* -1 z))))))
#s(approx (+ (* y x) (+ (* z y) x)) #s(hole binary64 (* -1 (* y (+ (* -1 x) (+ (* -1 z) (* -1 (/ x y))))))))
#s(approx (+ (* z y) x) #s(hole binary64 (* -1 (* y (+ (* -1 z) (* -1 (/ x y)))))))
#s(approx (+ (* z y) (+ (* y x) x)) #s(hole binary64 (* -1 (* y (+ (* -1 x) (* -1 z))))))
#s(approx (+ (* z y) (+ (* y x) x)) #s(hole binary64 (* -1 (* y (+ (* -1 x) (+ (* -1 z) (* -1 (/ x y))))))))
#s(approx (+ (* y x) x) #s(hole binary64 (* -1 (* y (+ (* -1 x) (* -1 (/ x y)))))))
#s(approx (+ (* y x) (+ (* z y) x)) #s(hole binary64 (+ x (* x y))))
#s(approx (+ (* y x) (+ (* z y) x)) #s(hole binary64 (+ x (+ (* x y) (* y z)))))
#s(approx z #s(hole binary64 z))
#s(approx (+ (* z y) (+ (* y x) x)) #s(hole binary64 (+ x (* x y))))
#s(approx (+ (* z y) (+ (* y x) x)) #s(hole binary64 (+ x (+ (* x y) (* y z)))))
#s(approx (+ (* y x) (+ (* z y) x)) #s(hole binary64 (* z (+ y (+ (/ x z) (/ (* x y) z))))))
#s(approx (+ (* z y) x) #s(hole binary64 (* z (+ y (/ x z)))))
#s(approx (+ (* z y) (+ (* y x) x)) #s(hole binary64 (* z (+ y (+ (/ x z) (/ (* x y) z))))))
#s(approx (+ (* y x) (+ (* z y) x)) #s(hole binary64 (* -1 (* z (+ (* -1 y) (* -1 (/ (+ x (* x y)) z)))))))
#s(approx (+ (* z y) x) #s(hole binary64 (* -1 (* z (+ (* -1 y) (* -1 (/ x z)))))))
#s(approx (+ (* z y) (+ (* y x) x)) #s(hole binary64 (* -1 (* z (+ (* -1 y) (* -1 (/ (+ x (* x y)) z)))))))
Outputs
(/.f64 (-.f64 (pow.f64 #s(approx (+ (* z y) x) (*.f64 z y)) #s(literal 2 binary64)) (pow.f64 (*.f64 x y) #s(literal 2 binary64))) (-.f64 #s(approx (+ (* z y) x) (*.f64 z y)) (*.f64 x y)))
(/.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 x y) #s(literal 2 binary64)) (pow.f64 #s(approx (+ (* z y) x) (*.f64 z y)) #s(literal 2 binary64)))) (neg.f64 (-.f64 (*.f64 x y) #s(approx (+ (* z y) x) (*.f64 z y)))))
(/.f64 (neg.f64 (+.f64 (pow.f64 #s(approx (+ (* z y) x) (*.f64 z y)) #s(literal 3 binary64)) (pow.f64 (*.f64 x y) #s(literal 3 binary64)))) (neg.f64 (fma.f64 #s(approx (+ (* z y) x) (*.f64 z y)) (-.f64 #s(approx (+ (* z y) x) (*.f64 z y)) (*.f64 x y)) (pow.f64 (*.f64 x y) #s(literal 2 binary64)))))
(/.f64 (-.f64 (pow.f64 (*.f64 x y) #s(literal 2 binary64)) (pow.f64 #s(approx (+ (* z y) x) (*.f64 z y)) #s(literal 2 binary64))) (-.f64 (*.f64 x y) #s(approx (+ (* z y) x) (*.f64 z y))))
(/.f64 (+.f64 (pow.f64 #s(approx (+ (* z y) x) (*.f64 z y)) #s(literal 3 binary64)) (pow.f64 (*.f64 x y) #s(literal 3 binary64))) (+.f64 (pow.f64 #s(approx (+ (* z y) x) (*.f64 z y)) #s(literal 2 binary64)) (-.f64 (pow.f64 (*.f64 x y) #s(literal 2 binary64)) (*.f64 (*.f64 x y) #s(approx (+ (* z y) x) (*.f64 z y))))))
(/.f64 (+.f64 (pow.f64 #s(approx (+ (* z y) x) (*.f64 z y)) #s(literal 3 binary64)) (pow.f64 (*.f64 x y) #s(literal 3 binary64))) (fma.f64 #s(approx (+ (* z y) x) (*.f64 z y)) (-.f64 #s(approx (+ (* z y) x) (*.f64 z y)) (*.f64 x y)) (pow.f64 (*.f64 x y) #s(literal 2 binary64))))
(fma.f64 x y #s(approx (+ (* z y) x) (*.f64 z y)))
(fma.f64 y x #s(approx (+ (* z y) x) (*.f64 z y)))
(-.f64 (/.f64 (pow.f64 (*.f64 x y) #s(literal 2 binary64)) (-.f64 (*.f64 x y) #s(approx (+ (* z y) x) (*.f64 z y)))) (/.f64 (pow.f64 #s(approx (+ (* z y) x) (*.f64 z y)) #s(literal 2 binary64)) (-.f64 (*.f64 x y) #s(approx (+ (* z y) x) (*.f64 z y)))))
(-.f64 #s(approx (+ (* z y) x) (*.f64 z y)) (*.f64 (neg.f64 x) y))
(+.f64 (/.f64 (pow.f64 (*.f64 x y) #s(literal 3 binary64)) (fma.f64 #s(approx (+ (* z y) x) (*.f64 z y)) (-.f64 #s(approx (+ (* z y) x) (*.f64 z y)) (*.f64 x y)) (pow.f64 (*.f64 x y) #s(literal 2 binary64)))) (/.f64 (pow.f64 #s(approx (+ (* z y) x) (*.f64 z y)) #s(literal 3 binary64)) (fma.f64 #s(approx (+ (* z y) x) (*.f64 z y)) (-.f64 #s(approx (+ (* z y) x) (*.f64 z y)) (*.f64 x y)) (pow.f64 (*.f64 x y) #s(literal 2 binary64)))))
(+.f64 (*.f64 x y) #s(approx (+ (* z y) x) (*.f64 z y)))
(+.f64 #s(approx (+ (* z y) x) (*.f64 z y)) (*.f64 x y))
y
x
#s(approx (+ (* z y) x) (*.f64 z y))
(*.f64 z y)
(*.f64 y z)
z
(/.f64 (-.f64 (pow.f64 #s(approx (+ (* y x) x) (*.f64 x y)) #s(literal 2 binary64)) (pow.f64 (*.f64 z y) #s(literal 2 binary64))) (-.f64 #s(approx (+ (* y x) x) (*.f64 x y)) (*.f64 z y)))
(/.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 z y) #s(literal 2 binary64)) (pow.f64 #s(approx (+ (* y x) x) (*.f64 x y)) #s(literal 2 binary64)))) (neg.f64 (-.f64 (*.f64 z y) #s(approx (+ (* y x) x) (*.f64 x y)))))
(/.f64 (neg.f64 (+.f64 (pow.f64 #s(approx (+ (* y x) x) (*.f64 x y)) #s(literal 3 binary64)) (pow.f64 (*.f64 z y) #s(literal 3 binary64)))) (neg.f64 (fma.f64 #s(approx (+ (* y x) x) (*.f64 x y)) (-.f64 #s(approx (+ (* y x) x) (*.f64 x y)) (*.f64 z y)) (pow.f64 (*.f64 z y) #s(literal 2 binary64)))))
(/.f64 (-.f64 (pow.f64 (*.f64 z y) #s(literal 2 binary64)) (pow.f64 #s(approx (+ (* y x) x) (*.f64 x y)) #s(literal 2 binary64))) (-.f64 (*.f64 z y) #s(approx (+ (* y x) x) (*.f64 x y))))
(/.f64 (+.f64 (pow.f64 #s(approx (+ (* y x) x) (*.f64 x y)) #s(literal 3 binary64)) (pow.f64 (*.f64 z y) #s(literal 3 binary64))) (+.f64 (pow.f64 #s(approx (+ (* y x) x) (*.f64 x y)) #s(literal 2 binary64)) (-.f64 (pow.f64 (*.f64 z y) #s(literal 2 binary64)) (*.f64 (*.f64 z y) #s(approx (+ (* y x) x) (*.f64 x y))))))
(/.f64 (+.f64 (pow.f64 #s(approx (+ (* y x) x) (*.f64 x y)) #s(literal 3 binary64)) (pow.f64 (*.f64 z y) #s(literal 3 binary64))) (fma.f64 #s(approx (+ (* y x) x) (*.f64 x y)) (-.f64 #s(approx (+ (* y x) x) (*.f64 x y)) (*.f64 z y)) (pow.f64 (*.f64 z y) #s(literal 2 binary64))))
(fma.f64 z y #s(approx (+ (* y x) x) (*.f64 x y)))
(fma.f64 y z #s(approx (+ (* y x) x) (*.f64 x y)))
(-.f64 (/.f64 (pow.f64 (*.f64 z y) #s(literal 2 binary64)) (-.f64 (*.f64 z y) #s(approx (+ (* y x) x) (*.f64 x y)))) (/.f64 (pow.f64 #s(approx (+ (* y x) x) (*.f64 x y)) #s(literal 2 binary64)) (-.f64 (*.f64 z y) #s(approx (+ (* y x) x) (*.f64 x y)))))
(-.f64 #s(approx (+ (* y x) x) (*.f64 x y)) (*.f64 (neg.f64 z) y))
(+.f64 (/.f64 (pow.f64 (*.f64 z y) #s(literal 3 binary64)) (fma.f64 #s(approx (+ (* y x) x) (*.f64 x y)) (-.f64 #s(approx (+ (* y x) x) (*.f64 x y)) (*.f64 z y)) (pow.f64 (*.f64 z y) #s(literal 2 binary64)))) (/.f64 (pow.f64 #s(approx (+ (* y x) x) (*.f64 x y)) #s(literal 3 binary64)) (fma.f64 #s(approx (+ (* y x) x) (*.f64 x y)) (-.f64 #s(approx (+ (* y x) x) (*.f64 x y)) (*.f64 z y)) (pow.f64 (*.f64 z y) #s(literal 2 binary64)))))
(+.f64 (*.f64 z y) #s(approx (+ (* y x) x) (*.f64 x y)))
(+.f64 #s(approx (+ (* y x) x) (*.f64 x y)) (*.f64 z y))
#s(approx (+ (* y x) x) (*.f64 x y))
(*.f64 x y)
(*.f64 y x)
#s(approx (+ (* y x) (+ (* z y) x)) (*.f64 z y))
#s(approx (+ (* y x) (+ (* z y) x)) (fma.f64 (+.f64 z x) y x))
#s(approx x x)
#s(approx (+ (* z y) x) (*.f64 z y))
#s(approx (+ (* z y) x) (fma.f64 z y x))
#s(approx (+ (* y x) (+ (* z y) x)) (*.f64 z y))
#s(approx (+ (* y x) (+ (* z y) x)) (fma.f64 (+.f64 z x) y x))
#s(approx (+ (* y x) x) (fma.f64 x y x))
#s(approx (* y x) (*.f64 x y))
#s(approx (+ (* y x) (+ (* z y) x)) (fma.f64 x y x))
#s(approx (+ (* y x) (+ (* z y) x)) (fma.f64 (fma.f64 (/.f64 z x) y y) x x))
#s(approx (+ (* z y) x) x)
#s(approx (+ (* z y) x) (fma.f64 (/.f64 (*.f64 z y) x) x x))
#s(approx (+ (* y x) (+ (* z y) x)) (fma.f64 x y x))
#s(approx (+ (* y x) (+ (* z y) x)) (fma.f64 (fma.f64 (/.f64 z x) y y) x x))
#s(approx (+ (* y x) (+ (* z y) x)) (*.f64 (neg.f64 x) (fma.f64 #s(literal -1 binary64) y #s(literal -1 binary64))))
#s(approx (+ (* y x) (+ (* z y) x)) (*.f64 (neg.f64 x) (fma.f64 #s(literal -1 binary64) (fma.f64 (/.f64 z x) y y) #s(literal -1 binary64))))
#s(approx (+ (* z y) x) (*.f64 (neg.f64 x) (fma.f64 (neg.f64 y) (/.f64 z x) #s(literal -1 binary64))))
#s(approx (+ (* y x) (+ (* z y) x)) (*.f64 (neg.f64 x) (fma.f64 #s(literal -1 binary64) y #s(literal -1 binary64))))
#s(approx (+ (* y x) (+ (* z y) x)) (*.f64 (neg.f64 x) (fma.f64 #s(literal -1 binary64) (fma.f64 (/.f64 z x) y y) #s(literal -1 binary64))))
#s(approx (+ (* y x) x) (*.f64 (neg.f64 x) (fma.f64 #s(literal -1 binary64) y #s(literal -1 binary64))))
#s(approx (+ (* y x) (+ (* z y) x)) x)
#s(approx (+ (* y x) (+ (* z y) x)) (fma.f64 (+.f64 z x) y x))
#s(approx y y)
#s(approx (* z y) (*.f64 z y))
#s(approx (+ (* y x) (+ (* z y) x)) x)
#s(approx (+ (* y x) (+ (* z y) x)) (fma.f64 (+.f64 z x) y x))
#s(approx (+ (* y x) x) x)
#s(approx (+ (* y x) x) (fma.f64 x y x))
#s(approx (+ (* y x) (+ (* z y) x)) (*.f64 (+.f64 z x) y))
#s(approx (+ (* y x) (+ (* z y) x)) (*.f64 (+.f64 (+.f64 (/.f64 x y) z) x) y))
#s(approx (+ (* z y) x) (*.f64 (+.f64 (/.f64 x y) z) y))
#s(approx (+ (* y x) (+ (* z y) x)) (*.f64 (+.f64 z x) y))
#s(approx (+ (* y x) (+ (* z y) x)) (*.f64 (+.f64 (+.f64 (/.f64 x y) z) x) y))
#s(approx (+ (* y x) x) (*.f64 x y))
#s(approx (+ (* y x) x) (*.f64 (+.f64 (/.f64 x y) x) y))
#s(approx (+ (* y x) (+ (* z y) x)) (*.f64 (-.f64 (neg.f64 z) x) (neg.f64 y)))
#s(approx (+ (* y x) (+ (* z y) x)) (*.f64 (-.f64 (-.f64 (/.f64 (neg.f64 x) y) z) x) (neg.f64 y)))
#s(approx (+ (* z y) x) (*.f64 (-.f64 (/.f64 (neg.f64 x) y) z) (neg.f64 y)))
#s(approx (+ (* y x) (+ (* z y) x)) (*.f64 (-.f64 (neg.f64 z) x) (neg.f64 y)))
#s(approx (+ (* y x) (+ (* z y) x)) (*.f64 (-.f64 (-.f64 (/.f64 (neg.f64 x) y) z) x) (neg.f64 y)))
#s(approx (+ (* y x) x) (*.f64 (-.f64 (/.f64 (neg.f64 x) y) x) (neg.f64 y)))
#s(approx (+ (* y x) (+ (* z y) x)) (fma.f64 x y x))
#s(approx (+ (* y x) (+ (* z y) x)) (fma.f64 (+.f64 z x) y x))
#s(approx z z)
#s(approx (+ (* y x) (+ (* z y) x)) (fma.f64 x y x))
#s(approx (+ (* y x) (+ (* z y) x)) (fma.f64 (+.f64 z x) y x))
#s(approx (+ (* y x) (+ (* z y) x)) (*.f64 (fma.f64 (-.f64 y #s(literal -1 binary64)) (/.f64 x z) y) z))
#s(approx (+ (* z y) x) (*.f64 (+.f64 (/.f64 x z) y) z))
#s(approx (+ (* y x) (+ (* z y) x)) (*.f64 (fma.f64 (-.f64 y #s(literal -1 binary64)) (/.f64 x z) y) z))
#s(approx (+ (* y x) (+ (* z y) x)) (*.f64 (neg.f64 (fma.f64 (-.f64 y #s(literal -1 binary64)) (/.f64 x z) y)) (neg.f64 z)))
#s(approx (+ (* z y) x) (*.f64 (-.f64 (/.f64 (neg.f64 x) z) y) (neg.f64 z)))
#s(approx (+ (* y x) (+ (* z y) x)) (*.f64 (neg.f64 (fma.f64 (-.f64 y #s(literal -1 binary64)) (/.f64 x z) y)) (neg.f64 z)))

eval7.0ms (0.3%)

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

Compiled 1 582 to 201 computations (87.3% saved)

prune6.0ms (0.2%)

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

8 alts after pruning (0 fresh and 8 done)

PrunedKeptTotal
New76076
Fresh000
Picked022
Done066
Total76884
Accuracy
100.0%
Counts
84 → 8
Alt Table
Click to see full alt table
StatusAccuracyProgram
77.4%
(fma.f64 #s(approx (+ z x) z) y x)
63.3%
(fma.f64 z y #s(approx (+ (* y x) x) (*.f64 y x)))
62.2%
(fma.f64 y x #s(approx (+ (* z y) x) (*.f64 z y)))
61.9%
#s(approx (+ x (* y (+ z x))) (fma.f64 y x x))
63.7%
#s(approx (+ x (* y (+ z x))) (*.f64 (+.f64 z x) y))
41.0%
#s(approx (+ x (* y (+ z x))) (*.f64 z y))
27.0%
#s(approx (+ x (* y (+ z x))) #s(approx (+ (* y x) x) (*.f64 y x)))
37.8%
#s(approx (+ x (* y (+ z x))) x)
Compiler

Compiled 224 to 99 computations (55.8% saved)

regimes50.0ms (1.9%)

Memory
-25.1MiB live, 30.5MiB allocated; 4ms collecting garbage
Counts
13 → 1
Calls
Call 1
Inputs
#s(approx (+ x (* y (+ z x))) x)
#s(approx (+ x (* y (+ z x))) #s(approx (+ (* y x) x) (*.f64 y x)))
#s(approx (+ x (* y (+ z x))) (*.f64 z y))
#s(approx (+ x (* y (+ z x))) (fma.f64 y x x))
(fma.f64 #s(approx (+ z x) z) y x)
#s(approx (+ x (* y (+ z x))) (*.f64 (+.f64 z x) y))
(+.f64 x (*.f64 y #s(approx (+ z x) z)))
(fma.f64 (+.f64 z x) y x)
(+.f64 x (*.f64 y (+.f64 z x)))
(fma.f64 y x #s(approx (+ (* z y) x) (*.f64 z y)))
(fma.f64 z y #s(approx (+ (* y x) x) (*.f64 y x)))
(fma.f64 y x (fma.f64 z y x))
(fma.f64 z y (fma.f64 y x x))
Outputs
(fma.f64 (+.f64 z x) y x)
Calls

4 calls:

38.0ms
x
4.0ms
z
4.0ms
y
4.0ms
(+.f64 x (*.f64 y (+.f64 z x)))
Results
AccuracySegmentsBranch
100.0%1(+.f64 x (*.f64 y (+.f64 z x)))
100.0%1x
100.0%1y
100.0%1z
Compiler

Compiled 10 to 15 computations (-50% saved)

regimes10.0ms (0.4%)

Memory
16.8MiB live, 16.8MiB allocated; 0ms collecting garbage
Counts
7 → 3
Calls
Call 1
Inputs
#s(approx (+ x (* y (+ z x))) x)
#s(approx (+ x (* y (+ z x))) #s(approx (+ (* y x) x) (*.f64 y x)))
#s(approx (+ x (* y (+ z x))) (*.f64 z y))
#s(approx (+ x (* y (+ z x))) (fma.f64 y x x))
(fma.f64 #s(approx (+ z x) z) y x)
#s(approx (+ x (* y (+ z x))) (*.f64 (+.f64 z x) y))
(+.f64 x (*.f64 y #s(approx (+ z x) z)))
Outputs
#s(approx (+ x (* y (+ z x))) (*.f64 (+.f64 z x) y))
(fma.f64 #s(approx (+ z x) z) y x)
#s(approx (+ x (* y (+ z x))) (*.f64 (+.f64 z x) y))
Calls

4 calls:

3.0ms
y
2.0ms
z
2.0ms
x
2.0ms
(+.f64 x (*.f64 y (+.f64 z x)))
Results
AccuracySegmentsBranch
86.7%3(+.f64 x (*.f64 y (+.f64 z x)))
88.4%3x
99.6%3y
91.0%3z
Compiler

Compiled 10 to 15 computations (-50% saved)

regimes5.0ms (0.2%)

Memory
6.4MiB live, 6.4MiB allocated; 0ms collecting garbage
Counts
5 → 3
Calls
Call 1
Inputs
#s(approx (+ x (* y (+ z x))) x)
#s(approx (+ x (* y (+ z x))) #s(approx (+ (* y x) x) (*.f64 y x)))
#s(approx (+ x (* y (+ z x))) (*.f64 z y))
#s(approx (+ x (* y (+ z x))) (fma.f64 y x x))
(fma.f64 #s(approx (+ z x) z) y x)
Outputs
(fma.f64 #s(approx (+ z x) z) y x)
#s(approx (+ x (* y (+ z x))) (fma.f64 y x x))
(fma.f64 #s(approx (+ z x) z) y x)
Calls

2 calls:

2.0ms
y
2.0ms
z
Results
AccuracySegmentsBranch
91.0%3z
82.3%2y
Compiler

Compiled 2 to 6 computations (-200% saved)

regimes45.0ms (1.7%)

Memory
-29.6MiB live, 14.8MiB allocated; 5ms collecting garbage
Counts
4 → 3
Calls
Call 1
Inputs
#s(approx (+ x (* y (+ z x))) x)
#s(approx (+ x (* y (+ z x))) #s(approx (+ (* y x) x) (*.f64 y x)))
#s(approx (+ x (* y (+ z x))) (*.f64 z y))
#s(approx (+ x (* y (+ z x))) (fma.f64 y x x))
Outputs
#s(approx (+ x (* y (+ z x))) (*.f64 z y))
#s(approx (+ x (* y (+ z x))) (fma.f64 y x x))
#s(approx (+ x (* y (+ z x))) (*.f64 z y))
Calls

4 calls:

39.0ms
y
2.0ms
x
2.0ms
z
2.0ms
(+.f64 x (*.f64 y (+.f64 z x)))
Results
AccuracySegmentsBranch
68.8%4y
63.8%2(+.f64 x (*.f64 y (+.f64 z x)))
78.8%3x
79.6%3z
Compiler

Compiled 10 to 15 computations (-50% saved)

regimes5.0ms (0.2%)

Memory
9.3MiB live, 9.3MiB allocated; 0ms collecting garbage
Counts
3 → 4
Calls
Call 1
Inputs
#s(approx (+ x (* y (+ z x))) x)
#s(approx (+ x (* y (+ z x))) #s(approx (+ (* y x) x) (*.f64 y x)))
#s(approx (+ x (* y (+ z x))) (*.f64 z y))
Outputs
#s(approx (+ x (* y (+ z x))) (*.f64 z y))
#s(approx (+ x (* y (+ z x))) x)
#s(approx (+ x (* y (+ z x))) (*.f64 z y))
#s(approx (+ x (* y (+ z x))) #s(approx (+ (* y x) x) (*.f64 y x)))
Calls

3 calls:

2.0ms
x
2.0ms
z
2.0ms
y
Results
AccuracySegmentsBranch
67.7%4y
60.4%3x
59.8%3z
Compiler

Compiled 3 to 9 computations (-200% saved)

regimes3.0ms (0.1%)

Memory
4.7MiB live, 4.7MiB allocated; 0ms collecting garbage
Counts
2 → 3
Calls
Call 1
Inputs
#s(approx (+ x (* y (+ z x))) x)
#s(approx (+ x (* y (+ z x))) #s(approx (+ (* y x) x) (*.f64 y x)))
Outputs
#s(approx (+ x (* y (+ z x))) #s(approx (+ (* y x) x) (*.f64 y x)))
#s(approx (+ x (* y (+ z x))) x)
#s(approx (+ x (* y (+ z x))) #s(approx (+ (* y x) x) (*.f64 y x)))
Calls

2 calls:

1.0ms
y
1.0ms
(+.f64 x (*.f64 y (+.f64 z x)))
Results
AccuracySegmentsBranch
49.1%3(+.f64 x (*.f64 y (+.f64 z x)))
61.5%3y
Compiler

Compiled 8 to 9 computations (-12.5% saved)

regimes4.0ms (0.2%)

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

Total 0.0b remaining (0%)

Threshold costs 0b (0%)

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

4 calls:

1.0ms
x
1.0ms
y
1.0ms
z
1.0ms
(+.f64 x (*.f64 y (+.f64 z x)))
Results
AccuracySegmentsBranch
37.8%1(+.f64 x (*.f64 y (+.f64 z x)))
37.8%1z
37.8%1x
37.8%1y
Compiler

Compiled 10 to 15 computations (-50% saved)

bsearch21.0ms (0.8%)

Memory
18.6MiB live, 18.6MiB allocated; 0ms collecting garbage
Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
Steps
TimeLeftRight
10.0ms
8.87004709683005e-13
4.439247090777409e-6
10.0ms
-16202.84749720391
-0.0007788666487877231
Samples
9.0ms288×0valid
Compiler

Compiled 388 to 318 computations (18% saved)

Precisions
Click to see histograms. Total time spent on operations: 3.0ms
ival-add!: 2.0ms (66.5% of total)
ival-mult!: 1.0ms (33.3% of total)
adjust: 0.0ms (0% of total)

bsearch35.0ms (1.3%)

Memory
-11.7MiB live, 31.5MiB allocated; 4ms collecting garbage
Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
Steps
TimeLeftRight
8.0ms
7.998581245740316e-8
3.679520303694963e-6
26.0ms
-4.329140484673274e-103
-2.2237410860849987e-106
Samples
25.0ms240×0valid
Compiler

Compiled 310 to 252 computations (18.7% saved)

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

bsearch51.0ms (1.9%)

Memory
-4.1MiB live, 39.6MiB allocated; 7ms collecting garbage
Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
Steps
TimeLeftRight
38.0ms
7.563281903437746e+70
1.1349762987500647e+74
11.0ms
-2.7689500675049218e+79
-4.8935864793974285e+69
Samples
39.0ms288×0valid
Compiler

Compiled 424 to 336 computations (20.8% saved)

Precisions
Click to see histograms. Total time spent on operations: 3.0ms
ival-add!: 2.0ms (65.3% of total)
ival-mult!: 1.0ms (32.7% of total)
adjust: 0.0ms (0% of total)

bsearch41.0ms (1.5%)

Memory
7.7MiB live, 68.2MiB allocated; 22ms collecting garbage
Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
narrow-enough
Steps
TimeLeftRight
10.0ms
1.2099783643935866e+126
2.6936889732316482e+131
20.0ms
8.87004709683005e-13
4.439247090777409e-6
8.0ms
-1.1525840497944496e-16
-2.125760156818183e-18
Samples
13.0ms384×0valid
Compiler

Compiled 582 to 473 computations (18.7% saved)

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

bsearch1.0ms (0.1%)

Memory
3.9MiB live, 3.9MiB allocated; 0ms collecting garbage
Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
Steps
TimeLeftRight
1.0ms
8.87004709683005e-13
4.439247090777409e-6
1.0ms
-16202.84749720391
-0.0007788666487877231
Compiler

Compiled 478 to 372 computations (22.2% saved)

simplify45.0ms (1.7%)

Memory
-23.0MiB live, 64.8MiB allocated; 13ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
051201
177201
2113201
3190201
4290201
5710201
63372201
Stop Event
node limit
Calls
Call 1
Inputs
(fma.f64 (+.f64 z x) y x)
(if (<=.f64 y #s(literal -1 binary64)) #s(approx (+ x (* y (+ z x))) (*.f64 (+.f64 z x) y)) (if (<=.f64 y #s(literal 2597301565578305/590295810358705651712 binary64)) (fma.f64 #s(approx (+ z x) z) y x) #s(approx (+ x (* y (+ z x))) (*.f64 (+.f64 z x) y))))
(if (<=.f64 z #s(literal -2975639507951711/10086913586276986678343434265636765134100413253239154346994763111486904773503285916522052161250538404046496765518544896 binary64)) (fma.f64 #s(approx (+ z x) z) y x) (if (<=.f64 z #s(literal 3022314549036573/37778931862957161709568 binary64)) #s(approx (+ x (* y (+ z x))) (fma.f64 y x x)) (fma.f64 #s(approx (+ z x) z) y x)))
(if (<=.f64 z #s(literal -13600000000000000447185263833235553347485606833759105536754685713526479126528 binary64)) #s(approx (+ x (* y (+ z x))) (*.f64 z y)) (if (<=.f64 z #s(literal 410000000000000022075411212097542109933198372203528083668770552828395520 binary64)) #s(approx (+ x (* y (+ z x))) (fma.f64 y x x)) #s(approx (+ x (* y (+ z x))) (*.f64 z y))))
(if (<=.f64 y #s(literal -5841333965851681/81129638414606681695789005144064 binary64)) #s(approx (+ x (* y (+ z x))) (*.f64 z y)) (if (<=.f64 y #s(literal 8975065284819007/154742504910672534362390528 binary64)) #s(approx (+ x (* y (+ z x))) x) (if (<=.f64 y #s(literal 14999999999999999665433480053446752393903932249019204654362687045437803935242527521787035152312070498472702523212871536841701982208 binary64)) #s(approx (+ x (* y (+ z x))) (*.f64 z y)) #s(approx (+ x (* y (+ z x))) #s(approx (+ (* y x) x) (*.f64 y x))))))
(if (<=.f64 y #s(literal -1 binary64)) #s(approx (+ x (* y (+ z x))) #s(approx (+ (* y x) x) (*.f64 y x))) (if (<=.f64 y #s(literal 2597301565578305/590295810358705651712 binary64)) #s(approx (+ x (* y (+ z x))) x) #s(approx (+ x (* y (+ z x))) #s(approx (+ (* y x) x) (*.f64 y x)))))
#s(approx (+ x (* y (+ z x))) x)
Outputs
(fma.f64 (+.f64 z x) y x)
(if (<=.f64 y #s(literal -1 binary64)) #s(approx (+ x (* y (+ z x))) (*.f64 (+.f64 z x) y)) (if (<=.f64 y #s(literal 2597301565578305/590295810358705651712 binary64)) (fma.f64 #s(approx (+ z x) z) y x) #s(approx (+ x (* y (+ z x))) (*.f64 (+.f64 z x) y))))
(if (or (<=.f64 y #s(literal -1 binary64)) (not (<=.f64 y #s(literal 2597301565578305/590295810358705651712 binary64)))) #s(approx (+ x (* y (+ z x))) (*.f64 (+.f64 z x) y)) (fma.f64 #s(approx (+ z x) z) y x))
(if (<=.f64 z #s(literal -2975639507951711/10086913586276986678343434265636765134100413253239154346994763111486904773503285916522052161250538404046496765518544896 binary64)) (fma.f64 #s(approx (+ z x) z) y x) (if (<=.f64 z #s(literal 3022314549036573/37778931862957161709568 binary64)) #s(approx (+ x (* y (+ z x))) (fma.f64 y x x)) (fma.f64 #s(approx (+ z x) z) y x)))
(if (or (<=.f64 z #s(literal -2975639507951711/10086913586276986678343434265636765134100413253239154346994763111486904773503285916522052161250538404046496765518544896 binary64)) (not (<=.f64 z #s(literal 3022314549036573/37778931862957161709568 binary64)))) (fma.f64 #s(approx (+ z x) z) y x) #s(approx (+ x (* y (+ z x))) (fma.f64 y x x)))
(if (<=.f64 z #s(literal -13600000000000000447185263833235553347485606833759105536754685713526479126528 binary64)) #s(approx (+ x (* y (+ z x))) (*.f64 z y)) (if (<=.f64 z #s(literal 410000000000000022075411212097542109933198372203528083668770552828395520 binary64)) #s(approx (+ x (* y (+ z x))) (fma.f64 y x x)) #s(approx (+ x (* y (+ z x))) (*.f64 z y))))
(if (or (<=.f64 z #s(literal -13600000000000000447185263833235553347485606833759105536754685713526479126528 binary64)) (not (<=.f64 z #s(literal 410000000000000022075411212097542109933198372203528083668770552828395520 binary64)))) #s(approx (+ x (* y (+ z x))) (*.f64 z y)) #s(approx (+ x (* y (+ z x))) (fma.f64 y x x)))
(if (<=.f64 y #s(literal -5841333965851681/81129638414606681695789005144064 binary64)) #s(approx (+ x (* y (+ z x))) (*.f64 z y)) (if (<=.f64 y #s(literal 8975065284819007/154742504910672534362390528 binary64)) #s(approx (+ x (* y (+ z x))) x) (if (<=.f64 y #s(literal 14999999999999999665433480053446752393903932249019204654362687045437803935242527521787035152312070498472702523212871536841701982208 binary64)) #s(approx (+ x (* y (+ z x))) (*.f64 z y)) #s(approx (+ x (* y (+ z x))) #s(approx (+ (* y x) x) (*.f64 y x))))))
(if (<=.f64 y #s(literal -1 binary64)) #s(approx (+ x (* y (+ z x))) #s(approx (+ (* y x) x) (*.f64 y x))) (if (<=.f64 y #s(literal 2597301565578305/590295810358705651712 binary64)) #s(approx (+ x (* y (+ z x))) x) #s(approx (+ x (* y (+ z x))) #s(approx (+ (* y x) x) (*.f64 y x)))))
(if (or (<=.f64 y #s(literal -1 binary64)) (not (<=.f64 y #s(literal 2597301565578305/590295810358705651712 binary64)))) #s(approx (+ x (* y (+ z x))) #s(approx (+ (* y x) x) (*.f64 y x))) #s(approx (+ x (* y (+ z x))) x))
#s(approx (+ x (* y (+ z x))) x)

derivations290.0ms (11%)

Memory
-19.5MiB live, 326.7MiB allocated; 19ms collecting garbage
Stop Event
done
Compiler

Compiled 201 to 53 computations (73.6% saved)

preprocess34.0ms (1.3%)

Memory
22.0MiB live, 68.9MiB allocated; 3ms collecting garbage
Compiler

Compiled 416 to 118 computations (71.6% saved)

end0.0ms (0%)

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

Profiling

Loading profile data...