Optimisation.CirclePacking:place from circle-packing-0.1.0.4, G

Time bar (total: 3.0s)

start0.0ms (0%)

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

analyze0.0ms (0%)

Memory
0.7MiB live, 0.7MiB 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 9 computations (0% saved)

sample1.1s (35.6%)

Memory
22.3MiB live, 1 497.7MiB allocated; 373ms collecting garbage
Samples
735.0ms8 256×0valid
Precisions
Click to see histograms. Total time spent on operations: 393.0ms
ival-add: 203.0ms (51.6% of total)
ival-mult: 172.0ms (43.8% of total)
exact: 7.0ms (1.8% of total)
ival-true: 6.0ms (1.5% of total)
ival-assert: 4.0ms (1% of total)
adjust: 2.0ms (0.5% of total)
Bogosity

explain80.0ms (2.6%)

Memory
-19.0MiB live, 133.9MiB allocated; 28ms collecting garbage
FPErrors
Click to see full error table
Ground TruthOverpredictionsExampleUnderpredictionsExampleSubexpression
00-0-(*.f64 (+.f64 x y) (+.f64 z #s(literal 1 binary64)))
00-0-(+.f64 z #s(literal 1 binary64))
00-0-y
00-0-#s(literal 1 binary64)
00-0-(+.f64 x y)
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
27.0ms512×0valid
Compiler

Compiled 45 to 25 computations (44.4% saved)

Precisions
Click to see histograms. Total time spent on operations: 10.0ms
ival-add: 5.0ms (51.7% of total)
ival-mult: 3.0ms (31% of total)
ival-true: 0.0ms (0% of total)
adjust: 0.0ms (0% of total)
exact: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

preprocess149.0ms (4.9%)

Memory
23.0MiB live, 209.8MiB allocated; 14ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02777
19677
234571
3184370
4547470
077
0107
1217
2627
33277
412017
550317
080287
Stop Event
iter limit
node limit
iter limit
node limit
Calls
Call 1
Inputs
(*.f64 (+.f64 x y) (+.f64 z #s(literal 1 binary64)))
Outputs
(*.f64 (+.f64 x y) (+.f64 z #s(literal 1 binary64)))
(*.f64 (-.f64 z #s(literal -1 binary64)) (+.f64 y x))
Symmetry

(sort x y)

Compiler

Compiled 7 to 7 computations (0% 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.8MiB live, 0.8MiB allocated; 0ms collecting garbage
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(*.f64 (+.f64 x y) (+.f64 z #s(literal 1 binary64)))
Compiler

Compiled 7 to 7 computations (0% saved)

series11.0ms (0.4%)

Memory
-37.8MiB live, 8.1MiB allocated; 4ms collecting garbage
Counts
7 → 26
Calls
Call 1
Inputs
(*.f64 (+.f64 x y) (+.f64 z #s(literal 1 binary64)))
(+.f64 x y)
x
y
(+.f64 z #s(literal 1 binary64))
z
#s(literal 1 binary64)
Outputs
#s(approx (* (+ x y) (+ z 1)) #s(hole binary64 (* y (+ 1 z))))
#s(approx (* (+ x y) (+ z 1)) #s(hole binary64 (+ (* x (+ 1 z)) (* y (+ 1 z)))))
#s(approx (+ x y) #s(hole binary64 y))
#s(approx (+ x y) #s(hole binary64 (+ x y)))
#s(approx x #s(hole binary64 x))
#s(approx (* (+ x y) (+ z 1)) #s(hole binary64 (* x (+ 1 z))))
#s(approx (* (+ x y) (+ z 1)) #s(hole binary64 (* x (+ 1 (+ z (/ (* y (+ 1 z)) x))))))
#s(approx (+ x y) #s(hole binary64 x))
#s(approx (+ x y) #s(hole binary64 (* x (+ 1 (/ y x)))))
#s(approx (* (+ x y) (+ z 1)) #s(hole binary64 (* -1 (* x (+ (* -1 (+ 1 z)) (* -1 (/ (* y (+ 1 z)) x)))))))
#s(approx (+ x y) #s(hole binary64 (* -1 (* x (- (* -1 (/ y x)) 1)))))
#s(approx y #s(hole binary64 y))
#s(approx (* (+ x y) (+ z 1)) #s(hole binary64 (* y (+ 1 (+ z (/ (* x (+ 1 z)) y))))))
#s(approx (+ x y) #s(hole binary64 (* y (+ 1 (/ x y)))))
#s(approx (* (+ x y) (+ z 1)) #s(hole binary64 (* -1 (* y (+ (* -1 (+ 1 z)) (* -1 (/ (* x (+ 1 z)) y)))))))
#s(approx (+ x y) #s(hole binary64 (* -1 (* y (- (* -1 (/ x y)) 1)))))
#s(approx (* (+ x y) (+ z 1)) #s(hole binary64 (+ x y)))
#s(approx (* (+ x y) (+ z 1)) #s(hole binary64 (+ x (+ y (* z (+ x y))))))
#s(approx (+ z 1) #s(hole binary64 1))
#s(approx (+ z 1) #s(hole binary64 (+ 1 z)))
#s(approx z #s(hole binary64 z))
#s(approx (* (+ x y) (+ z 1)) #s(hole binary64 (* z (+ x y))))
#s(approx (* (+ x y) (+ z 1)) #s(hole binary64 (* z (+ x (+ y (+ (/ x z) (/ y z)))))))
#s(approx (+ z 1) #s(hole binary64 z))
#s(approx (+ z 1) #s(hole binary64 (* z (+ 1 (/ 1 z)))))
#s(approx (* (+ x y) (+ z 1)) #s(hole binary64 (* -1 (* z (+ (* -1 (+ x y)) (* -1 (/ (+ x y) z)))))))
Calls

9 calls:

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

simplify180.0ms (5.9%)

Memory
38.4MiB live, 221.0MiB allocated; 33ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
087288
1269288
21125284
34146280
08421270
Stop Event
iter limit
node limit
Counts
26 → 26
Calls
Call 1
Inputs
#s(approx (* (+ x y) (+ z 1)) #s(hole binary64 (* y (+ 1 z))))
#s(approx (* (+ x y) (+ z 1)) #s(hole binary64 (+ (* x (+ 1 z)) (* y (+ 1 z)))))
#s(approx (+ x y) #s(hole binary64 y))
#s(approx (+ x y) #s(hole binary64 (+ x y)))
#s(approx x #s(hole binary64 x))
#s(approx (* (+ x y) (+ z 1)) #s(hole binary64 (* x (+ 1 z))))
#s(approx (* (+ x y) (+ z 1)) #s(hole binary64 (* x (+ 1 (+ z (/ (* y (+ 1 z)) x))))))
#s(approx (+ x y) #s(hole binary64 x))
#s(approx (+ x y) #s(hole binary64 (* x (+ 1 (/ y x)))))
#s(approx (* (+ x y) (+ z 1)) #s(hole binary64 (* -1 (* x (+ (* -1 (+ 1 z)) (* -1 (/ (* y (+ 1 z)) x)))))))
#s(approx (+ x y) #s(hole binary64 (* -1 (* x (- (* -1 (/ y x)) 1)))))
#s(approx y #s(hole binary64 y))
#s(approx (* (+ x y) (+ z 1)) #s(hole binary64 (* y (+ 1 (+ z (/ (* x (+ 1 z)) y))))))
#s(approx (+ x y) #s(hole binary64 (* y (+ 1 (/ x y)))))
#s(approx (* (+ x y) (+ z 1)) #s(hole binary64 (* -1 (* y (+ (* -1 (+ 1 z)) (* -1 (/ (* x (+ 1 z)) y)))))))
#s(approx (+ x y) #s(hole binary64 (* -1 (* y (- (* -1 (/ x y)) 1)))))
#s(approx (* (+ x y) (+ z 1)) #s(hole binary64 (+ x y)))
#s(approx (* (+ x y) (+ z 1)) #s(hole binary64 (+ x (+ y (* z (+ x y))))))
#s(approx (+ z 1) #s(hole binary64 1))
#s(approx (+ z 1) #s(hole binary64 (+ 1 z)))
#s(approx z #s(hole binary64 z))
#s(approx (* (+ x y) (+ z 1)) #s(hole binary64 (* z (+ x y))))
#s(approx (* (+ x y) (+ z 1)) #s(hole binary64 (* z (+ x (+ y (+ (/ x z) (/ y z)))))))
#s(approx (+ z 1) #s(hole binary64 z))
#s(approx (+ z 1) #s(hole binary64 (* z (+ 1 (/ 1 z)))))
#s(approx (* (+ x y) (+ z 1)) #s(hole binary64 (* -1 (* z (+ (* -1 (+ x y)) (* -1 (/ (+ x y) z)))))))
Outputs
#s(approx (* (+ x y) (+ z 1)) #s(hole binary64 (* y (+ 1 z))))
#s(approx (* (+ x y) (+ z 1)) (fma.f64 z y y))
#s(approx (* (+ x y) (+ z 1)) #s(hole binary64 (+ (* x (+ 1 z)) (* y (+ 1 z)))))
#s(approx (* (+ x y) (+ z 1)) (*.f64 (-.f64 z #s(literal -1 binary64)) (+.f64 y x)))
#s(approx (+ x y) #s(hole binary64 y))
#s(approx (+ x y) y)
#s(approx (+ x y) #s(hole binary64 (+ x y)))
#s(approx (+ x y) (+.f64 y x))
#s(approx x #s(hole binary64 x))
#s(approx x x)
#s(approx (* (+ x y) (+ z 1)) #s(hole binary64 (* x (+ 1 z))))
#s(approx (* (+ x y) (+ z 1)) (fma.f64 z x x))
#s(approx (* (+ x y) (+ z 1)) #s(hole binary64 (* x (+ 1 (+ z (/ (* y (+ 1 z)) x))))))
#s(approx (* (+ x y) (+ z 1)) (*.f64 (fma.f64 z x x) (-.f64 (/.f64 y x) #s(literal -1 binary64))))
#s(approx (+ x y) #s(hole binary64 x))
#s(approx (+ x y) x)
#s(approx (+ x y) #s(hole binary64 (* x (+ 1 (/ y x)))))
#s(approx (+ x y) (fma.f64 (/.f64 y x) x x))
#s(approx (* (+ x y) (+ z 1)) #s(hole binary64 (* -1 (* x (+ (* -1 (+ 1 z)) (* -1 (/ (* y (+ 1 z)) x)))))))
#s(approx (* (+ x y) (+ z 1)) (*.f64 (fma.f64 z x x) (-.f64 (/.f64 y x) #s(literal -1 binary64))))
#s(approx (+ x y) #s(hole binary64 (* -1 (* x (- (* -1 (/ y x)) 1)))))
#s(approx (+ x y) (fma.f64 (/.f64 y x) x x))
#s(approx y #s(hole binary64 y))
#s(approx y y)
#s(approx (* (+ x y) (+ z 1)) #s(hole binary64 (* y (+ 1 (+ z (/ (* x (+ 1 z)) y))))))
#s(approx (* (+ x y) (+ z 1)) (*.f64 (fma.f64 z y y) (-.f64 (/.f64 x y) #s(literal -1 binary64))))
#s(approx (+ x y) #s(hole binary64 (* y (+ 1 (/ x y)))))
#s(approx (+ x y) (fma.f64 (/.f64 x y) y y))
#s(approx (* (+ x y) (+ z 1)) #s(hole binary64 (* -1 (* y (+ (* -1 (+ 1 z)) (* -1 (/ (* x (+ 1 z)) y)))))))
#s(approx (* (+ x y) (+ z 1)) (*.f64 (fma.f64 z y y) (-.f64 (/.f64 x y) #s(literal -1 binary64))))
#s(approx (+ x y) #s(hole binary64 (* -1 (* y (- (* -1 (/ x y)) 1)))))
#s(approx (+ x y) (fma.f64 (/.f64 x y) y y))
#s(approx (* (+ x y) (+ z 1)) #s(hole binary64 (+ x y)))
#s(approx (* (+ x y) (+ z 1)) (+.f64 y x))
#s(approx (* (+ x y) (+ z 1)) #s(hole binary64 (+ x (+ y (* z (+ x y))))))
#s(approx (* (+ x y) (+ z 1)) (*.f64 (-.f64 z #s(literal -1 binary64)) (+.f64 y x)))
#s(approx (+ z 1) #s(hole binary64 1))
#s(approx (+ z 1) #s(literal 1 binary64))
#s(approx (+ z 1) #s(hole binary64 (+ 1 z)))
#s(approx (+ z 1) (-.f64 z #s(literal -1 binary64)))
#s(approx z #s(hole binary64 z))
#s(approx z z)
#s(approx (* (+ x y) (+ z 1)) #s(hole binary64 (* z (+ x y))))
#s(approx (* (+ x y) (+ z 1)) (*.f64 (+.f64 y x) z))
#s(approx (* (+ x y) (+ z 1)) #s(hole binary64 (* z (+ x (+ y (+ (/ x z) (/ y z)))))))
#s(approx (* (+ x y) (+ z 1)) (*.f64 (-.f64 z #s(literal -1 binary64)) (+.f64 y x)))
#s(approx (+ z 1) #s(hole binary64 z))
#s(approx (+ z 1) z)
#s(approx (+ z 1) #s(hole binary64 (* z (+ 1 (/ 1 z)))))
#s(approx (+ z 1) (-.f64 z #s(literal -1 binary64)))
#s(approx (* (+ x y) (+ z 1)) #s(hole binary64 (* -1 (* z (+ (* -1 (+ x y)) (* -1 (/ (+ x y) z)))))))
#s(approx (* (+ x y) (+ z 1)) (*.f64 (-.f64 z #s(literal -1 binary64)) (+.f64 y x)))

rewrite45.0ms (1.5%)

Memory
-8.3MiB live, 36.5MiB allocated; 9ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0717
01017
14717
040217
Stop Event
iter limit
iter limit
node limit
iter limit
Counts
7 → 75
Calls
Call 1
Inputs
(*.f64 (+.f64 x y) (+.f64 z #s(literal 1 binary64)))
(+.f64 x y)
x
y
(+.f64 z #s(literal 1 binary64))
z
#s(literal 1 binary64)
Outputs
(*.f64 (-.f64 z #s(literal -1 binary64)) (+.f64 y x))
(*.f64 (+.f64 y x) (-.f64 z #s(literal -1 binary64)))
(/.f64 (*.f64 (fma.f64 z z #s(literal -1 binary64)) (+.f64 y x)) (-.f64 z #s(literal 1 binary64)))
(/.f64 (*.f64 (-.f64 (pow.f64 z #s(literal 3 binary64)) #s(literal -1 binary64)) (+.f64 y x)) (fma.f64 z z (-.f64 #s(literal 1 binary64) z)))
(/.f64 (*.f64 (*.f64 (+.f64 y x) (-.f64 x y)) (-.f64 z #s(literal -1 binary64))) (-.f64 x y))
(/.f64 (*.f64 (+.f64 (pow.f64 y #s(literal 3 binary64)) (pow.f64 x #s(literal 3 binary64))) (-.f64 z #s(literal -1 binary64))) (fma.f64 y (-.f64 y x) (*.f64 x x)))
(/.f64 (*.f64 (-.f64 z #s(literal -1 binary64)) (*.f64 (+.f64 y x) (-.f64 x y))) (-.f64 x y))
(/.f64 (*.f64 (-.f64 z #s(literal -1 binary64)) (+.f64 (pow.f64 y #s(literal 3 binary64)) (pow.f64 x #s(literal 3 binary64)))) (fma.f64 y (-.f64 y x) (*.f64 x x)))
(/.f64 (*.f64 (+.f64 y x) (fma.f64 z z #s(literal -1 binary64))) (-.f64 z #s(literal 1 binary64)))
(/.f64 (*.f64 (+.f64 y x) (-.f64 (pow.f64 z #s(literal 3 binary64)) #s(literal -1 binary64))) (fma.f64 z z (-.f64 #s(literal 1 binary64) z)))
(/.f64 (-.f64 (*.f64 (*.f64 z (+.f64 y x)) (*.f64 z (+.f64 y x))) (*.f64 (+.f64 y x) (+.f64 y x))) (-.f64 (*.f64 z (+.f64 y x)) (+.f64 y x)))
(/.f64 (+.f64 (pow.f64 (*.f64 z (+.f64 y x)) #s(literal 3 binary64)) (pow.f64 (+.f64 y x) #s(literal 3 binary64))) (fma.f64 (*.f64 z (+.f64 y x)) (*.f64 z (+.f64 y x)) (-.f64 (*.f64 (+.f64 y x) (+.f64 y x)) (*.f64 (*.f64 z (+.f64 y x)) (+.f64 y x)))))
(/.f64 (*.f64 (fma.f64 z z #s(literal -1 binary64)) (*.f64 (+.f64 y x) (-.f64 x y))) (*.f64 (-.f64 z #s(literal 1 binary64)) (-.f64 x y)))
(/.f64 (*.f64 (fma.f64 z z #s(literal -1 binary64)) (+.f64 (pow.f64 y #s(literal 3 binary64)) (pow.f64 x #s(literal 3 binary64)))) (*.f64 (-.f64 z #s(literal 1 binary64)) (fma.f64 y (-.f64 y x) (*.f64 x x))))
(/.f64 (*.f64 (-.f64 (pow.f64 z #s(literal 3 binary64)) #s(literal -1 binary64)) (*.f64 (+.f64 y x) (-.f64 x y))) (*.f64 (fma.f64 z z (-.f64 #s(literal 1 binary64) z)) (-.f64 x y)))
(/.f64 (*.f64 (-.f64 (pow.f64 z #s(literal 3 binary64)) #s(literal -1 binary64)) (+.f64 (pow.f64 y #s(literal 3 binary64)) (pow.f64 x #s(literal 3 binary64)))) (*.f64 (fma.f64 z z (-.f64 #s(literal 1 binary64) z)) (fma.f64 y (-.f64 y x) (*.f64 x x))))
(/.f64 (*.f64 (*.f64 (+.f64 y x) (-.f64 x y)) (fma.f64 z z #s(literal -1 binary64))) (*.f64 (-.f64 x y) (-.f64 z #s(literal 1 binary64))))
(/.f64 (*.f64 (*.f64 (+.f64 y x) (-.f64 x y)) (-.f64 (pow.f64 z #s(literal 3 binary64)) #s(literal -1 binary64))) (*.f64 (-.f64 x y) (fma.f64 z z (-.f64 #s(literal 1 binary64) z))))
(/.f64 (*.f64 (+.f64 (pow.f64 y #s(literal 3 binary64)) (pow.f64 x #s(literal 3 binary64))) (fma.f64 z z #s(literal -1 binary64))) (*.f64 (fma.f64 y (-.f64 y x) (*.f64 x x)) (-.f64 z #s(literal 1 binary64))))
(/.f64 (*.f64 (+.f64 (pow.f64 y #s(literal 3 binary64)) (pow.f64 x #s(literal 3 binary64))) (-.f64 (pow.f64 z #s(literal 3 binary64)) #s(literal -1 binary64))) (*.f64 (fma.f64 y (-.f64 y x) (*.f64 x x)) (fma.f64 z z (-.f64 #s(literal 1 binary64) z))))
(fma.f64 (-.f64 z #s(literal -1 binary64)) y (*.f64 (-.f64 z #s(literal -1 binary64)) x))
(fma.f64 (-.f64 z #s(literal -1 binary64)) x (*.f64 (-.f64 z #s(literal -1 binary64)) y))
(fma.f64 #s(literal 1 binary64) (+.f64 y x) (*.f64 z (+.f64 y x)))
(fma.f64 z (+.f64 y x) (+.f64 y x))
(fma.f64 (+.f64 y x) #s(literal 1 binary64) (*.f64 z (+.f64 y x)))
(fma.f64 (+.f64 y x) z (+.f64 y x))
(fma.f64 y (-.f64 z #s(literal -1 binary64)) (*.f64 x (-.f64 z #s(literal -1 binary64))))
(fma.f64 x (-.f64 z #s(literal -1 binary64)) (*.f64 y (-.f64 z #s(literal -1 binary64))))
(-.f64 (*.f64 z (+.f64 y x)) (*.f64 #s(literal -1 binary64) (+.f64 y x)))
(-.f64 (*.f64 z (+.f64 y x)) (*.f64 (neg.f64 (+.f64 y x)) #s(literal 1 binary64)))
(+.f64 (*.f64 y (-.f64 z #s(literal -1 binary64))) (*.f64 x (-.f64 z #s(literal -1 binary64))))
(+.f64 (*.f64 x (-.f64 z #s(literal -1 binary64))) (*.f64 y (-.f64 z #s(literal -1 binary64))))
(+.f64 (*.f64 (-.f64 z #s(literal -1 binary64)) y) (*.f64 (-.f64 z #s(literal -1 binary64)) x))
(+.f64 (*.f64 (-.f64 z #s(literal -1 binary64)) x) (*.f64 (-.f64 z #s(literal -1 binary64)) y))
(+.f64 (*.f64 z (+.f64 y x)) (+.f64 y x))
(+.f64 (+.f64 y x) (*.f64 z (+.f64 y x)))
(*.f64 #s(literal 1 binary64) (+.f64 y x))
(*.f64 (+.f64 y x) #s(literal 1 binary64))
(/.f64 (*.f64 (*.f64 (+.f64 y x) (-.f64 x y)) #s(literal 1 binary64)) (-.f64 x y))
(/.f64 (*.f64 (+.f64 (pow.f64 y #s(literal 3 binary64)) (pow.f64 x #s(literal 3 binary64))) #s(literal 1 binary64)) (fma.f64 y (-.f64 y x) (*.f64 x x)))
(/.f64 (*.f64 #s(literal 1 binary64) (*.f64 (+.f64 y x) (-.f64 x y))) (-.f64 x y))
(/.f64 (*.f64 #s(literal 1 binary64) (+.f64 (pow.f64 y #s(literal 3 binary64)) (pow.f64 x #s(literal 3 binary64)))) (fma.f64 y (-.f64 y x) (*.f64 x x)))
(/.f64 (-.f64 (*.f64 y y) (*.f64 x x)) (-.f64 y x))
(/.f64 (neg.f64 (*.f64 (+.f64 y x) (-.f64 x y))) (neg.f64 (-.f64 x y)))
(/.f64 (neg.f64 (+.f64 (pow.f64 y #s(literal 3 binary64)) (pow.f64 x #s(literal 3 binary64)))) (neg.f64 (fma.f64 y (-.f64 y x) (*.f64 x x))))
(/.f64 (*.f64 (+.f64 y x) (-.f64 x y)) (-.f64 x y))
(/.f64 (+.f64 (pow.f64 y #s(literal 3 binary64)) (pow.f64 x #s(literal 3 binary64))) (fma.f64 y y (-.f64 (*.f64 x x) (*.f64 y x))))
(/.f64 (+.f64 (pow.f64 y #s(literal 3 binary64)) (pow.f64 x #s(literal 3 binary64))) (fma.f64 y (-.f64 y x) (*.f64 x x)))
(fma.f64 #s(literal 1 binary64) y (*.f64 #s(literal 1 binary64) x))
(fma.f64 #s(literal 1 binary64) x (*.f64 #s(literal 1 binary64) y))
(fma.f64 y #s(literal 1 binary64) (*.f64 x #s(literal 1 binary64)))
(fma.f64 x #s(literal 1 binary64) (*.f64 y #s(literal 1 binary64)))
(-.f64 (/.f64 (*.f64 x x) (-.f64 x y)) (/.f64 (*.f64 y y) (-.f64 x y)))
(+.f64 (*.f64 y #s(literal 1 binary64)) (*.f64 x #s(literal 1 binary64)))
(+.f64 (*.f64 x #s(literal 1 binary64)) (*.f64 y #s(literal 1 binary64)))
(+.f64 (*.f64 #s(literal 1 binary64) y) (*.f64 #s(literal 1 binary64) x))
(+.f64 (*.f64 #s(literal 1 binary64) x) (*.f64 #s(literal 1 binary64) y))
(+.f64 (/.f64 (pow.f64 x #s(literal 3 binary64)) (fma.f64 y (-.f64 y x) (*.f64 x x))) (/.f64 (pow.f64 y #s(literal 3 binary64)) (fma.f64 y (-.f64 y x) (*.f64 x x))))
(+.f64 y x)
(+.f64 x y)
x
y
(/.f64 (-.f64 #s(literal 1 binary64) (*.f64 z z)) (-.f64 #s(literal 1 binary64) z))
(/.f64 (neg.f64 (fma.f64 z z #s(literal -1 binary64))) (neg.f64 (-.f64 z #s(literal 1 binary64))))
(/.f64 (neg.f64 (-.f64 (pow.f64 z #s(literal 3 binary64)) #s(literal -1 binary64))) (neg.f64 (fma.f64 z z (-.f64 #s(literal 1 binary64) z))))
(/.f64 (fma.f64 z z #s(literal -1 binary64)) (-.f64 z #s(literal 1 binary64)))
(/.f64 (-.f64 (pow.f64 z #s(literal 3 binary64)) #s(literal -1 binary64)) (+.f64 #s(literal 1 binary64) (-.f64 (*.f64 z z) z)))
(/.f64 (-.f64 (pow.f64 z #s(literal 3 binary64)) #s(literal -1 binary64)) (fma.f64 z z (-.f64 #s(literal 1 binary64) z)))
(-.f64 (/.f64 (*.f64 z z) (-.f64 z #s(literal 1 binary64))) (/.f64 #s(literal 1 binary64) (-.f64 z #s(literal 1 binary64))))
(-.f64 z #s(literal -1 binary64))
(+.f64 (/.f64 (pow.f64 z #s(literal 3 binary64)) (fma.f64 z z (-.f64 #s(literal 1 binary64) z))) (/.f64 #s(literal 1 binary64) (fma.f64 z z (-.f64 #s(literal 1 binary64) z))))
(+.f64 #s(literal 1 binary64) z)
(+.f64 z #s(literal 1 binary64))
z
#s(literal 1 binary64)

eval9.0ms (0.3%)

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

Compiled 1 312 to 247 computations (81.2% saved)

prune37.0ms (1.2%)

Memory
-44.8MiB live, 13.7MiB allocated; 14ms collecting garbage
Pruning

5 alts after pruning (5 fresh and 0 done)

PrunedKeptTotal
New88593
Fresh000
Picked101
Done000
Total89594
Accuracy
100.0%
Counts
94 → 5
Alt Table
Click to see full alt table
StatusAccuracyProgram
99.2%
(fma.f64 (-.f64 z #s(literal -1 binary64)) y (*.f64 (-.f64 z #s(literal -1 binary64)) x))
48.2%
(*.f64 (+.f64 x y) #s(approx (+ z 1) z))
52.5%
#s(approx (* (+ x y) (+ z 1)) (fma.f64 z y y))
51.8%
#s(approx (* (+ x y) (+ z 1)) (fma.f64 z x x))
53.4%
#s(approx (* (+ x y) (+ z 1)) (+.f64 y x))
Compiler

Compiled 108 to 84 computations (22.2% saved)

series11.0ms (0.4%)

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

9 calls:

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

simplify361.0ms (11.9%)

Memory
-14.9MiB live, 173.7MiB allocated; 170ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0171782
1465782
21469774
34731766
08365720
Stop Event
iter limit
node limit
Counts
70 → 70
Calls
Call 1
Inputs
#s(approx (+ (* (- z -1) y) (* (- z -1) x)) #s(hole binary64 (* y (+ 1 z))))
#s(approx (+ (* (- z -1) y) (* (- z -1) x)) #s(hole binary64 (+ (* x (+ 1 z)) (* y (+ 1 z)))))
#s(approx (* (- z -1) x) #s(hole binary64 (* x (+ 1 z))))
#s(approx x #s(hole binary64 x))
#s(approx (* (+ x y) (+ z 1)) #s(hole binary64 (* y (+ 1 z))))
#s(approx (* (+ x y) (+ z 1)) #s(hole binary64 (+ (* x (+ 1 z)) (* y (+ 1 z)))))
#s(approx (+ y x) #s(hole binary64 y))
#s(approx (+ y x) #s(hole binary64 (+ x y)))
#s(approx (+ (* z x) x) #s(hole binary64 (* x (+ 1 z))))
#s(approx (+ x y) #s(hole binary64 y))
#s(approx (+ x y) #s(hole binary64 (+ x y)))
#s(approx (+ (* (- z -1) y) (* (- z -1) x)) #s(hole binary64 (* x (+ 1 z))))
#s(approx (+ (* (- z -1) y) (* (- z -1) x)) #s(hole binary64 (* x (+ 1 (+ z (/ (* y (+ 1 z)) x))))))
#s(approx (* (+ x y) (+ z 1)) #s(hole binary64 (* x (+ 1 z))))
#s(approx (* (+ x y) (+ z 1)) #s(hole binary64 (* x (+ 1 (+ z (/ (* y (+ 1 z)) x))))))
#s(approx (+ y x) #s(hole binary64 x))
#s(approx (+ y x) #s(hole binary64 (* x (+ 1 (/ y x)))))
#s(approx (+ x y) #s(hole binary64 x))
#s(approx (+ x y) #s(hole binary64 (* x (+ 1 (/ y x)))))
#s(approx (+ (* (- z -1) y) (* (- z -1) x)) #s(hole binary64 (* -1 (* x (+ (* -1 (+ 1 z)) (* -1 (/ (* y (+ 1 z)) x)))))))
#s(approx (* (+ x y) (+ z 1)) #s(hole binary64 (* -1 (* x (+ (* -1 (+ 1 z)) (* -1 (/ (* y (+ 1 z)) x)))))))
#s(approx (+ y x) #s(hole binary64 (* -1 (* x (- (* -1 (/ y x)) 1)))))
#s(approx (+ (* z x) x) #s(hole binary64 (* -1 (* x (- (* -1 z) 1)))))
#s(approx (+ x y) #s(hole binary64 (* -1 (* x (- (* -1 (/ y x)) 1)))))
#s(approx y #s(hole binary64 y))
#s(approx (+ (* z y) y) #s(hole binary64 (* y (+ 1 z))))
#s(approx (+ (* (- z -1) y) (* (- z -1) x)) #s(hole binary64 (* y (+ 1 (+ z (/ (* x (+ 1 z)) y))))))
#s(approx (* (+ x y) (+ z 1)) #s(hole binary64 (* y (+ 1 (+ z (/ (* x (+ 1 z)) y))))))
#s(approx (+ y x) #s(hole binary64 (* y (+ 1 (/ x y)))))
#s(approx (+ x y) #s(hole binary64 (* y (+ 1 (/ x y)))))
#s(approx (+ (* (- z -1) y) (* (- z -1) x)) #s(hole binary64 (* -1 (* y (+ (* -1 (+ 1 z)) (* -1 (/ (* x (+ 1 z)) y)))))))
#s(approx (* (+ x y) (+ z 1)) #s(hole binary64 (* -1 (* y (+ (* -1 (+ 1 z)) (* -1 (/ (* x (+ 1 z)) y)))))))
#s(approx (+ y x) #s(hole binary64 (* -1 (* y (- (* -1 (/ x y)) 1)))))
#s(approx (+ (* z y) y) #s(hole binary64 (* -1 (* y (- (* -1 z) 1)))))
#s(approx (+ x y) #s(hole binary64 (* -1 (* y (- (* -1 (/ x y)) 1)))))
#s(approx (+ (* (- z -1) y) (* (- z -1) x)) #s(hole binary64 (+ x y)))
#s(approx (+ (* (- z -1) y) (* (- z -1) x)) #s(hole binary64 (+ x (+ y (* z (+ x y))))))
#s(approx (- z -1) #s(hole binary64 1))
#s(approx (- z -1) #s(hole binary64 (+ 1 z)))
#s(approx z #s(hole binary64 z))
#s(approx (* (- z -1) x) #s(hole binary64 x))
#s(approx (* (- z -1) x) #s(hole binary64 (+ x (* x z))))
#s(approx (* (+ x y) (+ z 1)) #s(hole binary64 (+ x y)))
#s(approx (* (+ x y) (+ z 1)) #s(hole binary64 (+ x (+ y (* z (+ x y))))))
#s(approx (+ (* z x) x) #s(hole binary64 x))
#s(approx (+ (* z x) x) #s(hole binary64 (+ x (* x z))))
#s(approx (+ (* z y) y) #s(hole binary64 y))
#s(approx (+ (* z y) y) #s(hole binary64 (+ y (* y z))))
#s(approx (+ z 1) #s(hole binary64 1))
#s(approx (+ z 1) #s(hole binary64 (+ 1 z)))
#s(approx (+ (* (- z -1) y) (* (- z -1) x)) #s(hole binary64 (* z (+ x y))))
#s(approx (+ (* (- z -1) y) (* (- z -1) x)) #s(hole binary64 (* z (+ x (+ y (+ (/ x z) (/ y z)))))))
#s(approx (- z -1) #s(hole binary64 z))
#s(approx (- z -1) #s(hole binary64 (* z (+ 1 (/ 1 z)))))
#s(approx (* (- z -1) x) #s(hole binary64 (* x z)))
#s(approx (* (- z -1) x) #s(hole binary64 (* z (+ x (/ x z)))))
#s(approx (* (+ x y) (+ z 1)) #s(hole binary64 (* z (+ x y))))
#s(approx (* (+ x y) (+ z 1)) #s(hole binary64 (* z (+ x (+ y (+ (/ x z) (/ y z)))))))
#s(approx (+ (* z x) x) #s(hole binary64 (* x z)))
#s(approx (+ (* z x) x) #s(hole binary64 (* z (+ x (/ x z)))))
#s(approx (+ (* z y) y) #s(hole binary64 (* y z)))
#s(approx (+ (* z y) y) #s(hole binary64 (* z (+ y (/ y z)))))
#s(approx (+ z 1) #s(hole binary64 z))
#s(approx (+ z 1) #s(hole binary64 (* z (+ 1 (/ 1 z)))))
#s(approx (+ (* (- z -1) y) (* (- z -1) x)) #s(hole binary64 (* -1 (* z (+ (* -1 x) (* -1 y))))))
#s(approx (+ (* (- z -1) y) (* (- z -1) x)) #s(hole binary64 (* -1 (* z (+ (* -1 x) (+ (* -1 y) (* -1 (/ (+ x y) z))))))))
#s(approx (* (- z -1) x) #s(hole binary64 (* -1 (* z (+ (* -1 x) (* -1 (/ x z)))))))
#s(approx (* (+ x y) (+ z 1)) #s(hole binary64 (* -1 (* z (+ (* -1 (+ x y)) (* -1 (/ (+ x y) z)))))))
#s(approx (+ (* z x) x) #s(hole binary64 (* -1 (* z (+ (* -1 x) (* -1 (/ x z)))))))
#s(approx (+ (* z y) y) #s(hole binary64 (* -1 (* z (+ (* -1 y) (* -1 (/ y z)))))))
Outputs
#s(approx (+ (* (- z -1) y) (* (- z -1) x)) #s(hole binary64 (* y (+ 1 z))))
#s(approx (+ (* (- z -1) y) (* (- z -1) x)) (fma.f64 y z y))
#s(approx (+ (* (- z -1) y) (* (- z -1) x)) #s(hole binary64 (+ (* x (+ 1 z)) (* y (+ 1 z)))))
#s(approx (+ (* (- z -1) y) (* (- z -1) x)) (*.f64 (-.f64 z #s(literal -1 binary64)) (+.f64 x y)))
#s(approx (* (- z -1) x) #s(hole binary64 (* x (+ 1 z))))
#s(approx (+ (* z x) x) (fma.f64 x z x))
#s(approx x #s(hole binary64 x))
#s(approx x x)
#s(approx (* (+ x y) (+ z 1)) #s(hole binary64 (* y (+ 1 z))))
#s(approx (+ (* (- z -1) y) (* (- z -1) x)) (fma.f64 y z y))
#s(approx (* (+ x y) (+ z 1)) #s(hole binary64 (+ (* x (+ 1 z)) (* y (+ 1 z)))))
#s(approx (+ (* (- z -1) y) (* (- z -1) x)) (*.f64 (-.f64 z #s(literal -1 binary64)) (+.f64 x y)))
#s(approx (+ y x) #s(hole binary64 y))
#s(approx (+ y x) y)
#s(approx (+ y x) #s(hole binary64 (+ x y)))
#s(approx (+ y x) (+.f64 x y))
#s(approx (+ (* z x) x) #s(hole binary64 (* x (+ 1 z))))
#s(approx (+ (* z x) x) (fma.f64 x z x))
#s(approx (+ x y) #s(hole binary64 y))
#s(approx (+ y x) y)
#s(approx (+ x y) #s(hole binary64 (+ x y)))
#s(approx (+ y x) (+.f64 x y))
#s(approx (+ (* (- z -1) y) (* (- z -1) x)) #s(hole binary64 (* x (+ 1 z))))
#s(approx (+ (* (- z -1) y) (* (- z -1) x)) (fma.f64 x z x))
#s(approx (+ (* (- z -1) y) (* (- z -1) x)) #s(hole binary64 (* x (+ 1 (+ z (/ (* y (+ 1 z)) x))))))
#s(approx (+ (* (- z -1) y) (* (- z -1) x)) (*.f64 (*.f64 (-.f64 #s(literal -1 binary64) z) (-.f64 #s(literal -1 binary64) (/.f64 y x))) x))
#s(approx (* (+ x y) (+ z 1)) #s(hole binary64 (* x (+ 1 z))))
#s(approx (+ (* (- z -1) y) (* (- z -1) x)) (fma.f64 x z x))
#s(approx (* (+ x y) (+ z 1)) #s(hole binary64 (* x (+ 1 (+ z (/ (* y (+ 1 z)) x))))))
#s(approx (+ (* (- z -1) y) (* (- z -1) x)) (*.f64 (*.f64 (-.f64 #s(literal -1 binary64) z) (-.f64 #s(literal -1 binary64) (/.f64 y x))) x))
#s(approx (+ y x) #s(hole binary64 x))
#s(approx (+ y x) x)
#s(approx (+ y x) #s(hole binary64 (* x (+ 1 (/ y x)))))
#s(approx (+ y x) (fma.f64 (/.f64 y x) x x))
#s(approx (+ x y) #s(hole binary64 x))
#s(approx (+ y x) x)
#s(approx (+ x y) #s(hole binary64 (* x (+ 1 (/ y x)))))
#s(approx (+ y x) (fma.f64 (/.f64 y x) x x))
#s(approx (+ (* (- z -1) y) (* (- z -1) x)) #s(hole binary64 (* -1 (* x (+ (* -1 (+ 1 z)) (* -1 (/ (* y (+ 1 z)) x)))))))
#s(approx (+ (* (- z -1) y) (* (- z -1) x)) (*.f64 (*.f64 (-.f64 #s(literal -1 binary64) z) (-.f64 #s(literal -1 binary64) (/.f64 y x))) x))
#s(approx (* (+ x y) (+ z 1)) #s(hole binary64 (* -1 (* x (+ (* -1 (+ 1 z)) (* -1 (/ (* y (+ 1 z)) x)))))))
#s(approx (+ (* (- z -1) y) (* (- z -1) x)) (*.f64 (*.f64 (-.f64 #s(literal -1 binary64) z) (-.f64 #s(literal -1 binary64) (/.f64 y x))) x))
#s(approx (+ y x) #s(hole binary64 (* -1 (* x (- (* -1 (/ y x)) 1)))))
#s(approx (+ y x) (fma.f64 (/.f64 y x) x x))
#s(approx (+ (* z x) x) #s(hole binary64 (* -1 (* x (- (* -1 z) 1)))))
#s(approx (+ (* z x) x) (fma.f64 x z x))
#s(approx (+ x y) #s(hole binary64 (* -1 (* x (- (* -1 (/ y x)) 1)))))
#s(approx (+ y x) (fma.f64 (/.f64 y x) x x))
#s(approx y #s(hole binary64 y))
#s(approx y y)
#s(approx (+ (* z y) y) #s(hole binary64 (* y (+ 1 z))))
#s(approx (+ (* z y) y) (fma.f64 y z y))
#s(approx (+ (* (- z -1) y) (* (- z -1) x)) #s(hole binary64 (* y (+ 1 (+ z (/ (* x (+ 1 z)) y))))))
#s(approx (+ (* (- z -1) y) (* (- z -1) x)) (fma.f64 (+.f64 (/.f64 (fma.f64 x z x) y) z) y y))
#s(approx (* (+ x y) (+ z 1)) #s(hole binary64 (* y (+ 1 (+ z (/ (* x (+ 1 z)) y))))))
#s(approx (+ (* (- z -1) y) (* (- z -1) x)) (fma.f64 (+.f64 (/.f64 (fma.f64 x z x) y) z) y y))
#s(approx (+ y x) #s(hole binary64 (* y (+ 1 (/ x y)))))
#s(approx (+ y x) (fma.f64 (/.f64 x y) y y))
#s(approx (+ x y) #s(hole binary64 (* y (+ 1 (/ x y)))))
#s(approx (+ y x) (fma.f64 (/.f64 x y) y y))
#s(approx (+ (* (- z -1) y) (* (- z -1) x)) #s(hole binary64 (* -1 (* y (+ (* -1 (+ 1 z)) (* -1 (/ (* x (+ 1 z)) y)))))))
#s(approx (+ (* (- z -1) y) (* (- z -1) x)) (fma.f64 (+.f64 (/.f64 (fma.f64 x z x) y) z) y y))
#s(approx (* (+ x y) (+ z 1)) #s(hole binary64 (* -1 (* y (+ (* -1 (+ 1 z)) (* -1 (/ (* x (+ 1 z)) y)))))))
#s(approx (+ (* (- z -1) y) (* (- z -1) x)) (fma.f64 (+.f64 (/.f64 (fma.f64 x z x) y) z) y y))
#s(approx (+ y x) #s(hole binary64 (* -1 (* y (- (* -1 (/ x y)) 1)))))
#s(approx (+ y x) (fma.f64 (/.f64 x y) y y))
#s(approx (+ (* z y) y) #s(hole binary64 (* -1 (* y (- (* -1 z) 1)))))
#s(approx (+ (* z y) y) (fma.f64 y z y))
#s(approx (+ x y) #s(hole binary64 (* -1 (* y (- (* -1 (/ x y)) 1)))))
#s(approx (+ y x) (fma.f64 (/.f64 x y) y y))
#s(approx (+ (* (- z -1) y) (* (- z -1) x)) #s(hole binary64 (+ x y)))
#s(approx (+ (* (- z -1) y) (* (- z -1) x)) (+.f64 x y))
#s(approx (+ (* (- z -1) y) (* (- z -1) x)) #s(hole binary64 (+ x (+ y (* z (+ x y))))))
#s(approx (+ (* (- z -1) y) (* (- z -1) x)) (*.f64 (-.f64 z #s(literal -1 binary64)) (+.f64 x y)))
#s(approx (- z -1) #s(hole binary64 1))
#s(approx (- z -1) #s(literal 1 binary64))
#s(approx (- z -1) #s(hole binary64 (+ 1 z)))
#s(approx (- z -1) (-.f64 z #s(literal -1 binary64)))
#s(approx z #s(hole binary64 z))
#s(approx z z)
#s(approx (* (- z -1) x) #s(hole binary64 x))
#s(approx (+ (* z x) x) x)
#s(approx (* (- z -1) x) #s(hole binary64 (+ x (* x z))))
#s(approx (+ (* z x) x) (fma.f64 x z x))
#s(approx (* (+ x y) (+ z 1)) #s(hole binary64 (+ x y)))
#s(approx (+ (* (- z -1) y) (* (- z -1) x)) (+.f64 x y))
#s(approx (* (+ x y) (+ z 1)) #s(hole binary64 (+ x (+ y (* z (+ x y))))))
#s(approx (+ (* (- z -1) y) (* (- z -1) x)) (*.f64 (-.f64 z #s(literal -1 binary64)) (+.f64 x y)))
#s(approx (+ (* z x) x) #s(hole binary64 x))
#s(approx (+ (* z x) x) x)
#s(approx (+ (* z x) x) #s(hole binary64 (+ x (* x z))))
#s(approx (+ (* z x) x) (fma.f64 x z x))
#s(approx (+ (* z y) y) #s(hole binary64 y))
#s(approx (+ (* z y) y) y)
#s(approx (+ (* z y) y) #s(hole binary64 (+ y (* y z))))
#s(approx (+ (* z y) y) (fma.f64 y z y))
#s(approx (+ z 1) #s(hole binary64 1))
#s(approx (- z -1) #s(literal 1 binary64))
#s(approx (+ z 1) #s(hole binary64 (+ 1 z)))
#s(approx (- z -1) (-.f64 z #s(literal -1 binary64)))
#s(approx (+ (* (- z -1) y) (* (- z -1) x)) #s(hole binary64 (* z (+ x y))))
#s(approx (+ (* (- z -1) y) (* (- z -1) x)) (*.f64 (+.f64 x y) z))
#s(approx (+ (* (- z -1) y) (* (- z -1) x)) #s(hole binary64 (* z (+ x (+ y (+ (/ x z) (/ y z)))))))
#s(approx (+ (* (- z -1) y) (* (- z -1) x)) (*.f64 (-.f64 z #s(literal -1 binary64)) (+.f64 x y)))
#s(approx (- z -1) #s(hole binary64 z))
#s(approx (- z -1) z)
#s(approx (- z -1) #s(hole binary64 (* z (+ 1 (/ 1 z)))))
#s(approx (- z -1) (-.f64 z #s(literal -1 binary64)))
#s(approx (* (- z -1) x) #s(hole binary64 (* x z)))
#s(approx (+ (* z x) x) (*.f64 x z))
#s(approx (* (- z -1) x) #s(hole binary64 (* z (+ x (/ x z)))))
#s(approx (+ (* z x) x) (fma.f64 x z x))
#s(approx (* (+ x y) (+ z 1)) #s(hole binary64 (* z (+ x y))))
#s(approx (+ (* (- z -1) y) (* (- z -1) x)) (*.f64 (+.f64 x y) z))
#s(approx (* (+ x y) (+ z 1)) #s(hole binary64 (* z (+ x (+ y (+ (/ x z) (/ y z)))))))
#s(approx (+ (* (- z -1) y) (* (- z -1) x)) (*.f64 (-.f64 z #s(literal -1 binary64)) (+.f64 x y)))
#s(approx (+ (* z x) x) #s(hole binary64 (* x z)))
#s(approx (+ (* z x) x) (*.f64 x z))
#s(approx (+ (* z x) x) #s(hole binary64 (* z (+ x (/ x z)))))
#s(approx (+ (* z x) x) (fma.f64 x z x))
#s(approx (+ (* z y) y) #s(hole binary64 (* y z)))
#s(approx (+ (* z y) y) (*.f64 y z))
#s(approx (+ (* z y) y) #s(hole binary64 (* z (+ y (/ y z)))))
#s(approx (+ (* z y) y) (fma.f64 y z y))
#s(approx (+ z 1) #s(hole binary64 z))
#s(approx (- z -1) z)
#s(approx (+ z 1) #s(hole binary64 (* z (+ 1 (/ 1 z)))))
#s(approx (- z -1) (-.f64 z #s(literal -1 binary64)))
#s(approx (+ (* (- z -1) y) (* (- z -1) x)) #s(hole binary64 (* -1 (* z (+ (* -1 x) (* -1 y))))))
#s(approx (+ (* (- z -1) y) (* (- z -1) x)) (*.f64 (+.f64 x y) z))
#s(approx (+ (* (- z -1) y) (* (- z -1) x)) #s(hole binary64 (* -1 (* z (+ (* -1 x) (+ (* -1 y) (* -1 (/ (+ x y) z))))))))
#s(approx (+ (* (- z -1) y) (* (- z -1) x)) (*.f64 (-.f64 z #s(literal -1 binary64)) (+.f64 x y)))
#s(approx (* (- z -1) x) #s(hole binary64 (* -1 (* z (+ (* -1 x) (* -1 (/ x z)))))))
#s(approx (+ (* z x) x) (fma.f64 x z x))
#s(approx (* (+ x y) (+ z 1)) #s(hole binary64 (* -1 (* z (+ (* -1 (+ x y)) (* -1 (/ (+ x y) z)))))))
#s(approx (+ (* (- z -1) y) (* (- z -1) x)) (*.f64 (-.f64 z #s(literal -1 binary64)) (+.f64 x y)))
#s(approx (+ (* z x) x) #s(hole binary64 (* -1 (* z (+ (* -1 x) (* -1 (/ x z)))))))
#s(approx (+ (* z x) x) (fma.f64 x z x))
#s(approx (+ (* z y) y) #s(hole binary64 (* -1 (* z (+ (* -1 y) (* -1 (/ y z)))))))
#s(approx (+ (* z y) y) (fma.f64 y z y))

rewrite86.0ms (2.8%)

Memory
22.8MiB live, 73.8MiB allocated; 14ms collecting garbage
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
02085
03183
113281
0111381
Stop Event
iter limit
iter limit
node limit
iter limit
Counts
16 → 240
Calls
Call 1
Inputs
(fma.f64 (-.f64 z #s(literal -1 binary64)) y (*.f64 (-.f64 z #s(literal -1 binary64)) x))
(-.f64 z #s(literal -1 binary64))
z
#s(literal -1 binary64)
y
(*.f64 (-.f64 z #s(literal -1 binary64)) x)
x
#s(approx (* (+ x y) (+ z 1)) (+.f64 y x))
(+.f64 y x)
#s(approx (* (+ x y) (+ z 1)) (fma.f64 z x x))
(fma.f64 z x x)
#s(approx (* (+ x y) (+ z 1)) (fma.f64 z y y))
(fma.f64 z y y)
(*.f64 (+.f64 x y) #s(approx (+ z 1) z))
(+.f64 x y)
#s(approx (+ z 1) z)
Outputs
(*.f64 (+.f64 x y) (-.f64 z #s(literal -1 binary64)))
(*.f64 (-.f64 z #s(literal -1 binary64)) (+.f64 x y))
(/.f64 (*.f64 (*.f64 (+.f64 x y) (-.f64 y x)) (-.f64 z #s(literal -1 binary64))) (-.f64 y x))
(/.f64 (*.f64 (*.f64 (+.f64 x y) (-.f64 x y)) (-.f64 z #s(literal -1 binary64))) (-.f64 x y))
(/.f64 (*.f64 (+.f64 (pow.f64 y #s(literal 3 binary64)) (pow.f64 x #s(literal 3 binary64))) (-.f64 z #s(literal -1 binary64))) (fma.f64 x (-.f64 x y) (*.f64 y y)))
(/.f64 (*.f64 (+.f64 (pow.f64 y #s(literal 3 binary64)) (pow.f64 x #s(literal 3 binary64))) (-.f64 z #s(literal -1 binary64))) (fma.f64 y (-.f64 y x) (*.f64 x x)))
(/.f64 (*.f64 (fma.f64 z z #s(literal -1 binary64)) (+.f64 x y)) (-.f64 z #s(literal 1 binary64)))
(/.f64 (*.f64 (-.f64 (pow.f64 z #s(literal 3 binary64)) #s(literal -1 binary64)) (+.f64 x y)) (fma.f64 z z (fma.f64 #s(literal -1 binary64) z #s(literal 1 binary64))))
(/.f64 (*.f64 (-.f64 (pow.f64 z #s(literal 3 binary64)) #s(literal -1 binary64)) (+.f64 x y)) (fma.f64 z z (-.f64 #s(literal 1 binary64) z)))
(/.f64 (*.f64 (+.f64 x y) (fma.f64 z z #s(literal -1 binary64))) (-.f64 z #s(literal 1 binary64)))
(/.f64 (*.f64 (+.f64 x y) (-.f64 (pow.f64 z #s(literal 3 binary64)) #s(literal -1 binary64))) (fma.f64 z z (-.f64 #s(literal 1 binary64) z)))
(/.f64 (*.f64 (-.f64 z #s(literal -1 binary64)) (*.f64 (+.f64 x y) (-.f64 y x))) (-.f64 y x))
(/.f64 (*.f64 (-.f64 z #s(literal -1 binary64)) (*.f64 (+.f64 x y) (-.f64 x y))) (-.f64 x y))
(/.f64 (*.f64 (-.f64 z #s(literal -1 binary64)) (+.f64 (pow.f64 y #s(literal 3 binary64)) (pow.f64 x #s(literal 3 binary64)))) (fma.f64 x (-.f64 x y) (*.f64 y y)))
(/.f64 (*.f64 (-.f64 z #s(literal -1 binary64)) (+.f64 (pow.f64 y #s(literal 3 binary64)) (pow.f64 x #s(literal 3 binary64)))) (fma.f64 y (-.f64 y x) (*.f64 x x)))
(/.f64 (-.f64 (*.f64 (*.f64 (+.f64 x y) z) (*.f64 (+.f64 x y) z)) (*.f64 (+.f64 x y) (+.f64 x y))) (-.f64 (*.f64 (+.f64 x y) z) (+.f64 x y)))
(/.f64 (-.f64 (pow.f64 (fma.f64 x z x) #s(literal 2 binary64)) (pow.f64 (fma.f64 y z y) #s(literal 2 binary64))) (-.f64 (fma.f64 x z x) (fma.f64 y z y)))
(/.f64 (-.f64 (pow.f64 (fma.f64 y z y) #s(literal 3 binary64)) (pow.f64 (neg.f64 (fma.f64 x z x)) #s(literal 3 binary64))) (+.f64 (pow.f64 (fma.f64 y z y) #s(literal 2 binary64)) (+.f64 (pow.f64 (fma.f64 x z x) #s(literal 2 binary64)) (*.f64 (fma.f64 y z y) (neg.f64 (fma.f64 x z x))))))
(/.f64 (+.f64 (pow.f64 (*.f64 (+.f64 x y) z) #s(literal 3 binary64)) (pow.f64 (+.f64 x y) #s(literal 3 binary64))) (fma.f64 (*.f64 (+.f64 x y) z) (*.f64 (+.f64 x y) z) (-.f64 (*.f64 (+.f64 x y) (+.f64 x y)) (*.f64 (*.f64 (+.f64 x y) z) (+.f64 x y)))))
(/.f64 (neg.f64 (-.f64 (pow.f64 (fma.f64 y z y) #s(literal 2 binary64)) (pow.f64 (fma.f64 x z x) #s(literal 2 binary64)))) (neg.f64 (*.f64 (-.f64 z #s(literal -1 binary64)) (-.f64 y x))))
(/.f64 (neg.f64 (+.f64 (pow.f64 (fma.f64 x z x) #s(literal 3 binary64)) (pow.f64 (fma.f64 y z y) #s(literal 3 binary64)))) (neg.f64 (fma.f64 (fma.f64 x z x) (-.f64 (fma.f64 x z x) (fma.f64 y z y)) (pow.f64 (fma.f64 y z y) #s(literal 2 binary64)))))
(/.f64 (*.f64 (*.f64 (+.f64 x y) (-.f64 y x)) (fma.f64 z z #s(literal -1 binary64))) (*.f64 (-.f64 y x) (-.f64 z #s(literal 1 binary64))))
(/.f64 (*.f64 (*.f64 (+.f64 x y) (-.f64 y x)) (-.f64 (pow.f64 z #s(literal 3 binary64)) #s(literal -1 binary64))) (*.f64 (-.f64 y x) (fma.f64 z z (-.f64 #s(literal 1 binary64) z))))
(/.f64 (*.f64 (*.f64 (+.f64 x y) (-.f64 x y)) (fma.f64 z z #s(literal -1 binary64))) (*.f64 (-.f64 x y) (-.f64 z #s(literal 1 binary64))))
(/.f64 (*.f64 (*.f64 (+.f64 x y) (-.f64 x y)) (-.f64 (pow.f64 z #s(literal 3 binary64)) #s(literal -1 binary64))) (*.f64 (-.f64 x y) (fma.f64 z z (-.f64 #s(literal 1 binary64) z))))
(/.f64 (*.f64 (+.f64 (pow.f64 y #s(literal 3 binary64)) (pow.f64 x #s(literal 3 binary64))) (fma.f64 z z #s(literal -1 binary64))) (*.f64 (fma.f64 x (-.f64 x y) (*.f64 y y)) (-.f64 z #s(literal 1 binary64))))
(/.f64 (*.f64 (+.f64 (pow.f64 y #s(literal 3 binary64)) (pow.f64 x #s(literal 3 binary64))) (fma.f64 z z #s(literal -1 binary64))) (*.f64 (fma.f64 y (-.f64 y x) (*.f64 x x)) (-.f64 z #s(literal 1 binary64))))
(/.f64 (*.f64 (+.f64 (pow.f64 y #s(literal 3 binary64)) (pow.f64 x #s(literal 3 binary64))) (-.f64 (pow.f64 z #s(literal 3 binary64)) #s(literal -1 binary64))) (*.f64 (fma.f64 x (-.f64 x y) (*.f64 y y)) (fma.f64 z z (-.f64 #s(literal 1 binary64) z))))
(/.f64 (*.f64 (+.f64 (pow.f64 y #s(literal 3 binary64)) (pow.f64 x #s(literal 3 binary64))) (-.f64 (pow.f64 z #s(literal 3 binary64)) #s(literal -1 binary64))) (*.f64 (fma.f64 y (-.f64 y x) (*.f64 x x)) (fma.f64 z z (-.f64 #s(literal 1 binary64) z))))
(/.f64 (*.f64 (fma.f64 z z #s(literal -1 binary64)) (*.f64 (+.f64 x y) (-.f64 y x))) (*.f64 (-.f64 z #s(literal 1 binary64)) (-.f64 y x)))
(/.f64 (*.f64 (fma.f64 z z #s(literal -1 binary64)) (*.f64 (+.f64 x y) (-.f64 x y))) (*.f64 (-.f64 z #s(literal 1 binary64)) (-.f64 x y)))
(/.f64 (*.f64 (fma.f64 z z #s(literal -1 binary64)) (+.f64 (pow.f64 y #s(literal 3 binary64)) (pow.f64 x #s(literal 3 binary64)))) (*.f64 (-.f64 z #s(literal 1 binary64)) (fma.f64 x (-.f64 x y) (*.f64 y y))))
(/.f64 (*.f64 (fma.f64 z z #s(literal -1 binary64)) (+.f64 (pow.f64 y #s(literal 3 binary64)) (pow.f64 x #s(literal 3 binary64)))) (*.f64 (-.f64 z #s(literal 1 binary64)) (fma.f64 y (-.f64 y x) (*.f64 x x))))
(/.f64 (*.f64 (-.f64 (pow.f64 z #s(literal 3 binary64)) #s(literal -1 binary64)) (*.f64 (+.f64 x y) (-.f64 y x))) (*.f64 (fma.f64 z z (fma.f64 #s(literal -1 binary64) z #s(literal 1 binary64))) (-.f64 y x)))
(/.f64 (*.f64 (-.f64 (pow.f64 z #s(literal 3 binary64)) #s(literal -1 binary64)) (*.f64 (+.f64 x y) (-.f64 y x))) (*.f64 (fma.f64 z z (-.f64 #s(literal 1 binary64) z)) (-.f64 y x)))
(/.f64 (*.f64 (-.f64 (pow.f64 z #s(literal 3 binary64)) #s(literal -1 binary64)) (*.f64 (+.f64 x y) (-.f64 x y))) (*.f64 (fma.f64 z z (fma.f64 #s(literal -1 binary64) z #s(literal 1 binary64))) (-.f64 x y)))
(/.f64 (*.f64 (-.f64 (pow.f64 z #s(literal 3 binary64)) #s(literal -1 binary64)) (*.f64 (+.f64 x y) (-.f64 x y))) (*.f64 (fma.f64 z z (-.f64 #s(literal 1 binary64) z)) (-.f64 x y)))
(/.f64 (*.f64 (-.f64 (pow.f64 z #s(literal 3 binary64)) #s(literal -1 binary64)) (+.f64 (pow.f64 y #s(literal 3 binary64)) (pow.f64 x #s(literal 3 binary64)))) (*.f64 (fma.f64 z z (fma.f64 #s(literal -1 binary64) z #s(literal 1 binary64))) (fma.f64 x (-.f64 x y) (*.f64 y y))))
(/.f64 (*.f64 (-.f64 (pow.f64 z #s(literal 3 binary64)) #s(literal -1 binary64)) (+.f64 (pow.f64 y #s(literal 3 binary64)) (pow.f64 x #s(literal 3 binary64)))) (*.f64 (fma.f64 z z (fma.f64 #s(literal -1 binary64) z #s(literal 1 binary64))) (fma.f64 y (-.f64 y x) (*.f64 x x))))
(/.f64 (*.f64 (-.f64 (pow.f64 z #s(literal 3 binary64)) #s(literal -1 binary64)) (+.f64 (pow.f64 y #s(literal 3 binary64)) (pow.f64 x #s(literal 3 binary64)))) (*.f64 (fma.f64 z z (-.f64 #s(literal 1 binary64) z)) (fma.f64 x (-.f64 x y) (*.f64 y y))))
(/.f64 (*.f64 (-.f64 (pow.f64 z #s(literal 3 binary64)) #s(literal -1 binary64)) (+.f64 (pow.f64 y #s(literal 3 binary64)) (pow.f64 x #s(literal 3 binary64)))) (*.f64 (fma.f64 z z (-.f64 #s(literal 1 binary64) z)) (fma.f64 y (-.f64 y x) (*.f64 x x))))
(/.f64 (-.f64 (pow.f64 (fma.f64 y z y) #s(literal 2 binary64)) (pow.f64 (fma.f64 x z x) #s(literal 2 binary64))) (*.f64 (-.f64 z #s(literal -1 binary64)) (-.f64 y x)))
(/.f64 (+.f64 (pow.f64 (fma.f64 x z x) #s(literal 3 binary64)) (pow.f64 (fma.f64 y z y) #s(literal 3 binary64))) (+.f64 (pow.f64 (fma.f64 x z x) #s(literal 2 binary64)) (-.f64 (pow.f64 (fma.f64 y z y) #s(literal 2 binary64)) (*.f64 (fma.f64 y z y) (fma.f64 x z x)))))
(/.f64 (+.f64 (pow.f64 (fma.f64 x z x) #s(literal 3 binary64)) (pow.f64 (fma.f64 y z y) #s(literal 3 binary64))) (fma.f64 (fma.f64 x z x) (-.f64 (fma.f64 x z x) (fma.f64 y z y)) (pow.f64 (fma.f64 y z y) #s(literal 2 binary64))))
(fma.f64 (*.f64 (+.f64 x y) #s(literal -1 binary64)) #s(literal -1 binary64) (*.f64 (+.f64 x y) z))
(fma.f64 (+.f64 x y) #s(literal 1 binary64) (*.f64 (+.f64 x y) z))
(fma.f64 (+.f64 x y) z (+.f64 x y))
(fma.f64 #s(literal 1 binary64) (+.f64 x y) (*.f64 (+.f64 x y) z))
(fma.f64 x (-.f64 z #s(literal -1 binary64)) (fma.f64 y z y))
(fma.f64 y (-.f64 z #s(literal -1 binary64)) (*.f64 (neg.f64 (neg.f64 (-.f64 z #s(literal -1 binary64)))) x))
(fma.f64 y (-.f64 z #s(literal -1 binary64)) (fma.f64 x z x))
(fma.f64 (-.f64 z #s(literal -1 binary64)) x (fma.f64 y z y))
(fma.f64 (-.f64 z #s(literal -1 binary64)) y (*.f64 (neg.f64 (neg.f64 (-.f64 z #s(literal -1 binary64)))) x))
(fma.f64 (-.f64 z #s(literal -1 binary64)) y (fma.f64 x z x))
(fma.f64 #s(literal -1 binary64) (*.f64 #s(literal -1 binary64) (+.f64 x y)) (*.f64 (+.f64 x y) z))
(fma.f64 z (+.f64 x y) (+.f64 x y))
(-.f64 (/.f64 (pow.f64 (fma.f64 y z y) #s(literal 2 binary64)) (*.f64 (-.f64 z #s(literal -1 binary64)) (-.f64 y x))) (/.f64 (pow.f64 (fma.f64 x z x) #s(literal 2 binary64)) (*.f64 (-.f64 z #s(literal -1 binary64)) (-.f64 y x))))
(-.f64 (*.f64 (+.f64 x y) z) (*.f64 #s(literal -1 binary64) (+.f64 x y)))
(-.f64 (*.f64 (+.f64 x y) z) (*.f64 (neg.f64 (+.f64 x y)) #s(literal 1 binary64)))
(-.f64 (fma.f64 y z y) (*.f64 (neg.f64 x) (-.f64 z #s(literal -1 binary64))))
(-.f64 (fma.f64 y z y) (neg.f64 (fma.f64 x z x)))
(-.f64 (fma.f64 x z x) (*.f64 (neg.f64 y) (-.f64 z #s(literal -1 binary64))))
(-.f64 (fma.f64 x z x) (*.f64 (neg.f64 (-.f64 z #s(literal -1 binary64))) y))
(+.f64 (/.f64 (pow.f64 (fma.f64 y z y) #s(literal 3 binary64)) (fma.f64 (fma.f64 x z x) (-.f64 (fma.f64 x z x) (fma.f64 y z y)) (pow.f64 (fma.f64 y z y) #s(literal 2 binary64)))) (/.f64 (pow.f64 (fma.f64 x z x) #s(literal 3 binary64)) (fma.f64 (fma.f64 x z x) (-.f64 (fma.f64 x z x) (fma.f64 y z y)) (pow.f64 (fma.f64 y z y) #s(literal 2 binary64)))))
(+.f64 (*.f64 (+.f64 x y) z) (+.f64 x y))
(+.f64 (fma.f64 y z y) (*.f64 (neg.f64 (neg.f64 (-.f64 z #s(literal -1 binary64)))) x))
(+.f64 (fma.f64 y z y) (fma.f64 x z x))
(+.f64 (+.f64 x y) (*.f64 (+.f64 x y) z))
(+.f64 (fma.f64 x z x) (fma.f64 y z y))
(/.f64 (-.f64 #s(literal 1 binary64) (*.f64 z z)) (-.f64 #s(literal 1 binary64) z))
(/.f64 (neg.f64 (-.f64 (pow.f64 z #s(literal 3 binary64)) #s(literal -1 binary64))) (neg.f64 (fma.f64 z z (-.f64 #s(literal 1 binary64) z))))
(/.f64 (neg.f64 (-.f64 (pow.f64 z #s(literal 3 binary64)) #s(literal -1 binary64))) (neg.f64 (fma.f64 z z (fma.f64 #s(literal -1 binary64) z #s(literal 1 binary64)))))
(/.f64 (neg.f64 (fma.f64 z z #s(literal -1 binary64))) (neg.f64 (-.f64 z #s(literal 1 binary64))))
(/.f64 (fma.f64 z z #s(literal -1 binary64)) (-.f64 z #s(literal 1 binary64)))
(/.f64 (-.f64 (pow.f64 z #s(literal 3 binary64)) #s(literal -1 binary64)) (+.f64 #s(literal 1 binary64) (-.f64 (*.f64 z z) z)))
(/.f64 (-.f64 (pow.f64 z #s(literal 3 binary64)) #s(literal -1 binary64)) (fma.f64 z z (fma.f64 #s(literal -1 binary64) z #s(literal 1 binary64))))
(/.f64 (-.f64 (pow.f64 z #s(literal 3 binary64)) #s(literal -1 binary64)) (fma.f64 z z (-.f64 #s(literal 1 binary64) z)))
(-.f64 (/.f64 (*.f64 z z) (-.f64 z #s(literal 1 binary64))) (/.f64 #s(literal 1 binary64) (-.f64 z #s(literal 1 binary64))))
(-.f64 (/.f64 (pow.f64 z #s(literal 3 binary64)) (fma.f64 z z (fma.f64 #s(literal -1 binary64) z #s(literal 1 binary64)))) (/.f64 #s(literal -1 binary64) (fma.f64 z z (fma.f64 #s(literal -1 binary64) z #s(literal 1 binary64)))))
(-.f64 z #s(literal -1 binary64))
(+.f64 (/.f64 (pow.f64 z #s(literal 3 binary64)) (fma.f64 z z (-.f64 #s(literal 1 binary64) z))) (/.f64 #s(literal 1 binary64) (fma.f64 z z (-.f64 #s(literal 1 binary64) z))))
(+.f64 #s(literal 1 binary64) z)
(+.f64 z #s(literal 1 binary64))
z
#s(literal -1 binary64)
y
(*.f64 x (-.f64 z #s(literal -1 binary64)))
(*.f64 (-.f64 z #s(literal -1 binary64)) x)
(/.f64 (*.f64 (fma.f64 z z #s(literal -1 binary64)) x) (-.f64 z #s(literal 1 binary64)))
(/.f64 (*.f64 (-.f64 (pow.f64 z #s(literal 3 binary64)) #s(literal -1 binary64)) x) (fma.f64 z z (fma.f64 #s(literal -1 binary64) z #s(literal 1 binary64))))
(/.f64 (*.f64 (-.f64 (pow.f64 z #s(literal 3 binary64)) #s(literal -1 binary64)) x) (fma.f64 z z (-.f64 #s(literal 1 binary64) z)))
(/.f64 (*.f64 x (fma.f64 z z #s(literal -1 binary64))) (-.f64 z #s(literal 1 binary64)))
(/.f64 (*.f64 x (-.f64 (pow.f64 z #s(literal 3 binary64)) #s(literal -1 binary64))) (fma.f64 z z (fma.f64 #s(literal -1 binary64) z #s(literal 1 binary64))))
(/.f64 (-.f64 (*.f64 x x) (pow.f64 (*.f64 x z) #s(literal 2 binary64))) (-.f64 x (*.f64 x z)))
(/.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 x z) #s(literal 2 binary64)) (*.f64 x x))) (neg.f64 (-.f64 (*.f64 x z) x)))
(/.f64 (neg.f64 (+.f64 (pow.f64 x #s(literal 3 binary64)) (pow.f64 (*.f64 x z) #s(literal 3 binary64)))) (neg.f64 (fma.f64 x (-.f64 x (*.f64 x z)) (pow.f64 (*.f64 x z) #s(literal 2 binary64)))))
(/.f64 (-.f64 (pow.f64 (*.f64 x z) #s(literal 2 binary64)) (*.f64 x x)) (-.f64 (*.f64 x z) x))
(/.f64 (+.f64 (pow.f64 x #s(literal 3 binary64)) (pow.f64 (*.f64 x z) #s(literal 3 binary64))) (fma.f64 x x (-.f64 (pow.f64 (*.f64 x z) #s(literal 2 binary64)) (*.f64 (*.f64 x z) x))))
(/.f64 (+.f64 (pow.f64 x #s(literal 3 binary64)) (pow.f64 (*.f64 x z) #s(literal 3 binary64))) (fma.f64 x (-.f64 x (*.f64 x z)) (pow.f64 (*.f64 x z) #s(literal 2 binary64))))
(fma.f64 x z x)
(fma.f64 z x x)
(-.f64 (/.f64 (pow.f64 (*.f64 x z) #s(literal 2 binary64)) (-.f64 (*.f64 x z) x)) (/.f64 (*.f64 x x) (-.f64 (*.f64 x z) x)))
(-.f64 x (*.f64 (neg.f64 x) z))
(-.f64 x (*.f64 (neg.f64 z) x))
(+.f64 (/.f64 (pow.f64 (*.f64 x z) #s(literal 3 binary64)) (fma.f64 x (-.f64 x (*.f64 x z)) (pow.f64 (*.f64 x z) #s(literal 2 binary64)))) (/.f64 (pow.f64 x #s(literal 3 binary64)) (fma.f64 x (-.f64 x (*.f64 x z)) (pow.f64 (*.f64 x z) #s(literal 2 binary64)))))
(+.f64 (*.f64 x z) x)
(+.f64 x (*.f64 x z))
x
#s(approx (* (+ x y) (+ z 1)) (+.f64 x y))
(*.f64 (*.f64 (+.f64 x y) #s(literal -1 binary64)) #s(literal -1 binary64))
(*.f64 (+.f64 x y) #s(literal 1 binary64))
(*.f64 #s(literal 1 binary64) (+.f64 x y))
(*.f64 #s(literal -1 binary64) (*.f64 #s(literal -1 binary64) (+.f64 x y)))
(/.f64 (*.f64 (*.f64 (+.f64 x y) (-.f64 y x)) #s(literal 1 binary64)) (-.f64 y x))
(/.f64 (*.f64 (*.f64 (+.f64 x y) (-.f64 x y)) #s(literal 1 binary64)) (-.f64 x y))
(/.f64 (*.f64 (+.f64 (pow.f64 y #s(literal 3 binary64)) (pow.f64 x #s(literal 3 binary64))) #s(literal 1 binary64)) (fma.f64 x (-.f64 x y) (*.f64 y y)))
(/.f64 (*.f64 (+.f64 (pow.f64 y #s(literal 3 binary64)) (pow.f64 x #s(literal 3 binary64))) #s(literal 1 binary64)) (fma.f64 y (-.f64 y x) (*.f64 x x)))
(/.f64 (*.f64 #s(literal 1 binary64) (*.f64 (+.f64 x y) (-.f64 y x))) (-.f64 y x))
(/.f64 (*.f64 #s(literal 1 binary64) (*.f64 (+.f64 x y) (-.f64 x y))) (-.f64 x y))
(/.f64 (*.f64 #s(literal 1 binary64) (+.f64 (pow.f64 y #s(literal 3 binary64)) (pow.f64 x #s(literal 3 binary64)))) (fma.f64 x (-.f64 x y) (*.f64 y y)))
(/.f64 (*.f64 #s(literal 1 binary64) (+.f64 (pow.f64 y #s(literal 3 binary64)) (pow.f64 x #s(literal 3 binary64)))) (fma.f64 y (-.f64 y x) (*.f64 x x)))
(/.f64 (neg.f64 (*.f64 (+.f64 x y) (-.f64 y x))) (neg.f64 (-.f64 y x)))
(/.f64 (neg.f64 (*.f64 (+.f64 x y) (-.f64 x y))) (neg.f64 (-.f64 x y)))
(/.f64 (neg.f64 (+.f64 (pow.f64 y #s(literal 3 binary64)) (pow.f64 x #s(literal 3 binary64)))) (neg.f64 (fma.f64 x (-.f64 x y) (*.f64 y y))))
(/.f64 (neg.f64 (+.f64 (pow.f64 y #s(literal 3 binary64)) (pow.f64 x #s(literal 3 binary64)))) (neg.f64 (fma.f64 y (-.f64 y x) (*.f64 x x))))
(/.f64 (*.f64 (+.f64 x y) (-.f64 y x)) (-.f64 y x))
(/.f64 (*.f64 (+.f64 x y) (-.f64 x y)) (-.f64 x y))
(/.f64 (+.f64 (pow.f64 y #s(literal 3 binary64)) (pow.f64 x #s(literal 3 binary64))) (fma.f64 x (-.f64 x y) (*.f64 y y)))
(/.f64 (+.f64 (pow.f64 y #s(literal 3 binary64)) (pow.f64 x #s(literal 3 binary64))) (fma.f64 y (-.f64 y x) (*.f64 x x)))
(fma.f64 #s(literal 1 binary64) x (*.f64 #s(literal 1 binary64) y))
(fma.f64 #s(literal 1 binary64) y (*.f64 #s(literal 1 binary64) x))
(fma.f64 x #s(literal 1 binary64) (*.f64 y #s(literal 1 binary64)))
(fma.f64 y #s(literal 1 binary64) (*.f64 x #s(literal 1 binary64)))
(-.f64 (/.f64 (*.f64 y y) (-.f64 y x)) (/.f64 (*.f64 x x) (-.f64 y x)))
(-.f64 (/.f64 (*.f64 x x) (-.f64 x y)) (/.f64 (*.f64 y y) (-.f64 x y)))
(+.f64 (*.f64 x #s(literal 1 binary64)) (*.f64 y #s(literal 1 binary64)))
(+.f64 (*.f64 y #s(literal 1 binary64)) (*.f64 x #s(literal 1 binary64)))
(+.f64 (*.f64 #s(literal 1 binary64) x) (*.f64 #s(literal 1 binary64) y))
(+.f64 (*.f64 #s(literal 1 binary64) y) (*.f64 #s(literal 1 binary64) x))
(+.f64 (/.f64 (pow.f64 y #s(literal 3 binary64)) (fma.f64 x (-.f64 x y) (*.f64 y y))) (/.f64 (pow.f64 x #s(literal 3 binary64)) (fma.f64 x (-.f64 x y) (*.f64 y y))))
(+.f64 (/.f64 (pow.f64 x #s(literal 3 binary64)) (fma.f64 y (-.f64 y x) (*.f64 x x))) (/.f64 (pow.f64 y #s(literal 3 binary64)) (fma.f64 y (-.f64 y x) (*.f64 x x))))
(+.f64 x y)
(+.f64 y x)
#s(approx (* (+ x y) (+ z 1)) (fma.f64 x z x))
(*.f64 x (-.f64 z #s(literal -1 binary64)))
(*.f64 (-.f64 z #s(literal -1 binary64)) x)
(/.f64 (*.f64 (fma.f64 z z #s(literal -1 binary64)) x) (-.f64 z #s(literal 1 binary64)))
(/.f64 (*.f64 (-.f64 (pow.f64 z #s(literal 3 binary64)) #s(literal -1 binary64)) x) (fma.f64 z z (fma.f64 #s(literal -1 binary64) z #s(literal 1 binary64))))
(/.f64 (*.f64 (-.f64 (pow.f64 z #s(literal 3 binary64)) #s(literal -1 binary64)) x) (fma.f64 z z (-.f64 #s(literal 1 binary64) z)))
(/.f64 (*.f64 x (fma.f64 z z #s(literal -1 binary64))) (-.f64 z #s(literal 1 binary64)))
(/.f64 (*.f64 x (-.f64 (pow.f64 z #s(literal 3 binary64)) #s(literal -1 binary64))) (fma.f64 z z (fma.f64 #s(literal -1 binary64) z #s(literal 1 binary64))))
(/.f64 (-.f64 (*.f64 x x) (pow.f64 (*.f64 x z) #s(literal 2 binary64))) (-.f64 x (*.f64 x z)))
(/.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 x z) #s(literal 2 binary64)) (*.f64 x x))) (neg.f64 (-.f64 (*.f64 x z) x)))
(/.f64 (neg.f64 (+.f64 (pow.f64 x #s(literal 3 binary64)) (pow.f64 (*.f64 x z) #s(literal 3 binary64)))) (neg.f64 (fma.f64 x (-.f64 x (*.f64 x z)) (pow.f64 (*.f64 x z) #s(literal 2 binary64)))))
(/.f64 (-.f64 (pow.f64 (*.f64 x z) #s(literal 2 binary64)) (*.f64 x x)) (-.f64 (*.f64 x z) x))
(/.f64 (+.f64 (pow.f64 x #s(literal 3 binary64)) (pow.f64 (*.f64 x z) #s(literal 3 binary64))) (fma.f64 x x (-.f64 (pow.f64 (*.f64 x z) #s(literal 2 binary64)) (*.f64 (*.f64 x z) x))))
(/.f64 (+.f64 (pow.f64 x #s(literal 3 binary64)) (pow.f64 (*.f64 x z) #s(literal 3 binary64))) (fma.f64 x (-.f64 x (*.f64 x z)) (pow.f64 (*.f64 x z) #s(literal 2 binary64))))
(fma.f64 x z x)
(fma.f64 z x x)
(-.f64 (/.f64 (pow.f64 (*.f64 x z) #s(literal 2 binary64)) (-.f64 (*.f64 x z) x)) (/.f64 (*.f64 x x) (-.f64 (*.f64 x z) x)))
(-.f64 x (*.f64 (neg.f64 x) z))
(-.f64 x (*.f64 (neg.f64 z) x))
(+.f64 (/.f64 (pow.f64 (*.f64 x z) #s(literal 3 binary64)) (fma.f64 x (-.f64 x (*.f64 x z)) (pow.f64 (*.f64 x z) #s(literal 2 binary64)))) (/.f64 (pow.f64 x #s(literal 3 binary64)) (fma.f64 x (-.f64 x (*.f64 x z)) (pow.f64 (*.f64 x z) #s(literal 2 binary64)))))
(+.f64 (*.f64 x z) x)
(+.f64 x (*.f64 x z))
#s(approx (* (+ x y) (+ z 1)) (fma.f64 y z y))
(*.f64 y (-.f64 z #s(literal -1 binary64)))
(*.f64 (-.f64 z #s(literal -1 binary64)) y)
(/.f64 (*.f64 (fma.f64 z z #s(literal -1 binary64)) y) (-.f64 z #s(literal 1 binary64)))
(/.f64 (*.f64 (-.f64 (pow.f64 z #s(literal 3 binary64)) #s(literal -1 binary64)) y) (fma.f64 z z (fma.f64 #s(literal -1 binary64) z #s(literal 1 binary64))))
(/.f64 (*.f64 (-.f64 (pow.f64 z #s(literal 3 binary64)) #s(literal -1 binary64)) y) (fma.f64 z z (-.f64 #s(literal 1 binary64) z)))
(/.f64 (*.f64 y (fma.f64 z z #s(literal -1 binary64))) (-.f64 z #s(literal 1 binary64)))
(/.f64 (*.f64 y (-.f64 (pow.f64 z #s(literal 3 binary64)) #s(literal -1 binary64))) (fma.f64 z z (fma.f64 #s(literal -1 binary64) z #s(literal 1 binary64))))
(/.f64 (-.f64 (*.f64 y y) (pow.f64 (*.f64 y z) #s(literal 2 binary64))) (-.f64 y (*.f64 y z)))
(/.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 y z) #s(literal 2 binary64)) (*.f64 y y))) (neg.f64 (-.f64 (*.f64 y z) y)))
(/.f64 (neg.f64 (+.f64 (pow.f64 y #s(literal 3 binary64)) (pow.f64 (*.f64 y z) #s(literal 3 binary64)))) (neg.f64 (fma.f64 y (-.f64 y (*.f64 y z)) (pow.f64 (*.f64 y z) #s(literal 2 binary64)))))
(/.f64 (-.f64 (pow.f64 (*.f64 y z) #s(literal 2 binary64)) (*.f64 y y)) (-.f64 (*.f64 y z) y))
(/.f64 (+.f64 (pow.f64 y #s(literal 3 binary64)) (pow.f64 (*.f64 y z) #s(literal 3 binary64))) (fma.f64 y y (-.f64 (pow.f64 (*.f64 y z) #s(literal 2 binary64)) (*.f64 (*.f64 y z) y))))
(/.f64 (+.f64 (pow.f64 y #s(literal 3 binary64)) (pow.f64 (*.f64 y z) #s(literal 3 binary64))) (fma.f64 y (-.f64 y (*.f64 y z)) (pow.f64 (*.f64 y z) #s(literal 2 binary64))))
(fma.f64 y z y)
(fma.f64 z y y)
(-.f64 (/.f64 (pow.f64 (*.f64 y z) #s(literal 2 binary64)) (-.f64 (*.f64 y z) y)) (/.f64 (*.f64 y y) (-.f64 (*.f64 y z) y)))
(-.f64 y (*.f64 (neg.f64 y) z))
(-.f64 y (*.f64 (neg.f64 z) y))
(+.f64 (/.f64 (pow.f64 (*.f64 y z) #s(literal 3 binary64)) (fma.f64 y (-.f64 y (*.f64 y z)) (pow.f64 (*.f64 y z) #s(literal 2 binary64)))) (/.f64 (pow.f64 y #s(literal 3 binary64)) (fma.f64 y (-.f64 y (*.f64 y z)) (pow.f64 (*.f64 y z) #s(literal 2 binary64)))))
(+.f64 (*.f64 y z) y)
(+.f64 y (*.f64 y z))
(*.f64 #s(approx (+ z 1) z) (+.f64 x y))
(*.f64 (+.f64 x y) #s(approx (+ z 1) z))
(/.f64 (*.f64 (*.f64 (+.f64 x y) (-.f64 y x)) #s(approx (+ z 1) z)) (-.f64 y x))
(/.f64 (*.f64 (*.f64 (+.f64 x y) (-.f64 x y)) #s(approx (+ z 1) z)) (-.f64 x y))
(/.f64 (*.f64 (+.f64 (pow.f64 y #s(literal 3 binary64)) (pow.f64 x #s(literal 3 binary64))) #s(approx (+ z 1) z)) (fma.f64 x (-.f64 x y) (*.f64 y y)))
(/.f64 (*.f64 (+.f64 (pow.f64 y #s(literal 3 binary64)) (pow.f64 x #s(literal 3 binary64))) #s(approx (+ z 1) z)) (fma.f64 y (-.f64 y x) (*.f64 x x)))
(/.f64 (*.f64 #s(approx (+ z 1) z) (*.f64 (+.f64 x y) (-.f64 y x))) (-.f64 y x))
(/.f64 (*.f64 #s(approx (+ z 1) z) (*.f64 (+.f64 x y) (-.f64 x y))) (-.f64 x y))
(/.f64 (*.f64 #s(approx (+ z 1) z) (+.f64 (pow.f64 y #s(literal 3 binary64)) (pow.f64 x #s(literal 3 binary64)))) (fma.f64 x (-.f64 x y) (*.f64 y y)))
(/.f64 (*.f64 #s(approx (+ z 1) z) (+.f64 (pow.f64 y #s(literal 3 binary64)) (pow.f64 x #s(literal 3 binary64)))) (fma.f64 y (-.f64 y x) (*.f64 x x)))
(fma.f64 #s(approx (+ z 1) z) x (*.f64 #s(approx (+ z 1) z) y))
(fma.f64 #s(approx (+ z 1) z) y (*.f64 #s(approx (+ z 1) z) x))
(fma.f64 x #s(approx (+ z 1) z) (*.f64 y #s(approx (+ z 1) z)))
(fma.f64 y #s(approx (+ z 1) z) (*.f64 x #s(approx (+ z 1) z)))
(+.f64 (*.f64 x #s(approx (+ z 1) z)) (*.f64 y #s(approx (+ z 1) z)))
(+.f64 (*.f64 y #s(approx (+ z 1) z)) (*.f64 x #s(approx (+ z 1) z)))
(+.f64 (*.f64 #s(approx (+ z 1) z) x) (*.f64 #s(approx (+ z 1) z) y))
(+.f64 (*.f64 #s(approx (+ z 1) z) y) (*.f64 #s(approx (+ z 1) z) x))
(*.f64 (*.f64 (+.f64 x y) #s(literal -1 binary64)) #s(literal -1 binary64))
(*.f64 (+.f64 x y) #s(literal 1 binary64))
(*.f64 #s(literal 1 binary64) (+.f64 x y))
(*.f64 #s(literal -1 binary64) (*.f64 #s(literal -1 binary64) (+.f64 x y)))
(/.f64 (*.f64 (*.f64 (+.f64 x y) (-.f64 y x)) #s(literal 1 binary64)) (-.f64 y x))
(/.f64 (*.f64 (*.f64 (+.f64 x y) (-.f64 x y)) #s(literal 1 binary64)) (-.f64 x y))
(/.f64 (*.f64 (+.f64 (pow.f64 y #s(literal 3 binary64)) (pow.f64 x #s(literal 3 binary64))) #s(literal 1 binary64)) (fma.f64 x (-.f64 x y) (*.f64 y y)))
(/.f64 (*.f64 (+.f64 (pow.f64 y #s(literal 3 binary64)) (pow.f64 x #s(literal 3 binary64))) #s(literal 1 binary64)) (fma.f64 y (-.f64 y x) (*.f64 x x)))
(/.f64 (*.f64 #s(literal 1 binary64) (*.f64 (+.f64 x y) (-.f64 y x))) (-.f64 y x))
(/.f64 (*.f64 #s(literal 1 binary64) (*.f64 (+.f64 x y) (-.f64 x y))) (-.f64 x y))
(/.f64 (*.f64 #s(literal 1 binary64) (+.f64 (pow.f64 y #s(literal 3 binary64)) (pow.f64 x #s(literal 3 binary64)))) (fma.f64 x (-.f64 x y) (*.f64 y y)))
(/.f64 (*.f64 #s(literal 1 binary64) (+.f64 (pow.f64 y #s(literal 3 binary64)) (pow.f64 x #s(literal 3 binary64)))) (fma.f64 y (-.f64 y x) (*.f64 x x)))
(/.f64 (neg.f64 (*.f64 (+.f64 x y) (-.f64 y x))) (neg.f64 (-.f64 y x)))
(/.f64 (neg.f64 (*.f64 (+.f64 x y) (-.f64 x y))) (neg.f64 (-.f64 x y)))
(/.f64 (neg.f64 (+.f64 (pow.f64 y #s(literal 3 binary64)) (pow.f64 x #s(literal 3 binary64)))) (neg.f64 (fma.f64 x (-.f64 x y) (*.f64 y y))))
(/.f64 (neg.f64 (+.f64 (pow.f64 y #s(literal 3 binary64)) (pow.f64 x #s(literal 3 binary64)))) (neg.f64 (fma.f64 y (-.f64 y x) (*.f64 x x))))
(/.f64 (*.f64 (+.f64 x y) (-.f64 y x)) (-.f64 y x))
(/.f64 (*.f64 (+.f64 x y) (-.f64 x y)) (-.f64 x y))
(/.f64 (+.f64 (pow.f64 y #s(literal 3 binary64)) (pow.f64 x #s(literal 3 binary64))) (fma.f64 x (-.f64 x y) (*.f64 y y)))
(/.f64 (+.f64 (pow.f64 y #s(literal 3 binary64)) (pow.f64 x #s(literal 3 binary64))) (fma.f64 y (-.f64 y x) (*.f64 x x)))
(fma.f64 #s(literal 1 binary64) x (*.f64 #s(literal 1 binary64) y))
(fma.f64 #s(literal 1 binary64) y (*.f64 #s(literal 1 binary64) x))
(fma.f64 x #s(literal 1 binary64) (*.f64 y #s(literal 1 binary64)))
(fma.f64 y #s(literal 1 binary64) (*.f64 x #s(literal 1 binary64)))
(-.f64 (/.f64 (*.f64 y y) (-.f64 y x)) (/.f64 (*.f64 x x) (-.f64 y x)))
(-.f64 (/.f64 (*.f64 x x) (-.f64 x y)) (/.f64 (*.f64 y y) (-.f64 x y)))
(+.f64 (*.f64 x #s(literal 1 binary64)) (*.f64 y #s(literal 1 binary64)))
(+.f64 (*.f64 y #s(literal 1 binary64)) (*.f64 x #s(literal 1 binary64)))
(+.f64 (*.f64 #s(literal 1 binary64) x) (*.f64 #s(literal 1 binary64) y))
(+.f64 (*.f64 #s(literal 1 binary64) y) (*.f64 #s(literal 1 binary64) x))
(+.f64 (/.f64 (pow.f64 y #s(literal 3 binary64)) (fma.f64 x (-.f64 x y) (*.f64 y y))) (/.f64 (pow.f64 x #s(literal 3 binary64)) (fma.f64 x (-.f64 x y) (*.f64 y y))))
(+.f64 (/.f64 (pow.f64 x #s(literal 3 binary64)) (fma.f64 y (-.f64 y x) (*.f64 x x))) (/.f64 (pow.f64 y #s(literal 3 binary64)) (fma.f64 y (-.f64 y x) (*.f64 x x))))
(+.f64 x y)
(+.f64 y x)
#s(approx (+ z 1) z)

eval29.0ms (1%)

Memory
0.4MiB live, 46.3MiB allocated; 4ms collecting garbage
Compiler

Compiled 4 419 to 613 computations (86.1% saved)

prune22.0ms (0.7%)

Memory
-25.0MiB live, 21.1MiB allocated; 5ms collecting garbage
Pruning

8 alts after pruning (4 fresh and 4 done)

PrunedKeptTotal
New2474251
Fresh000
Picked145
Done000
Total2488256
Accuracy
100.0%
Counts
256 → 8
Alt Table
Click to see full alt table
StatusAccuracyProgram
47.4%
(fma.f64 #s(approx (+ z 1) z) y (*.f64 #s(approx (+ z 1) z) x))
48.2%
(*.f64 (+.f64 x y) #s(approx (+ z 1) z))
52.5%
#s(approx (* (+ x y) (+ z 1)) (fma.f64 z y y))
51.8%
#s(approx (* (+ x y) (+ z 1)) (fma.f64 z x x))
53.4%
#s(approx (* (+ x y) (+ z 1)) (+.f64 y x))
26.0%
#s(approx (* (+ x y) (+ z 1)) #s(approx (+ (* z y) y) (*.f64 y z)))
28.3%
#s(approx (* (+ x y) (+ z 1)) #s(approx (+ (* z y) y) y))
27.8%
#s(approx (* (+ x y) (+ z 1)) #s(approx (+ y x) x))
Compiler

Compiled 103 to 76 computations (26.2% saved)

series9.0ms (0.3%)

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

9 calls:

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

simplify196.0ms (6.5%)

Memory
8.8MiB live, 192.7MiB allocated; 39ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0149633
1441633
21403625
34577617
08261587
Stop Event
iter limit
node limit
Counts
53 → 53
Calls
Call 1
Inputs
#s(approx (* (+ x y) (+ z 1)) #s(hole binary64 (* y (+ 1 z))))
#s(approx (* (+ x y) (+ z 1)) #s(hole binary64 (+ (* x (+ 1 z)) (* y (+ 1 z)))))
#s(approx (+ y x) #s(hole binary64 y))
#s(approx (+ y x) #s(hole binary64 (+ x y)))
#s(approx x #s(hole binary64 x))
#s(approx (+ (* (+ z 1) y) (* (+ z 1) x)) #s(hole binary64 (* y (+ 1 z))))
#s(approx (+ (* (+ z 1) y) (* (+ z 1) x)) #s(hole binary64 (+ (* x (+ 1 z)) (* y (+ 1 z)))))
#s(approx (* (+ z 1) x) #s(hole binary64 (* x (+ 1 z))))
#s(approx (* (+ x y) (+ z 1)) #s(hole binary64 (* x (+ 1 z))))
#s(approx (* (+ x y) (+ z 1)) #s(hole binary64 (* x (+ 1 (+ z (/ (* y (+ 1 z)) x))))))
#s(approx (+ y x) #s(hole binary64 x))
#s(approx (+ y x) #s(hole binary64 (* x (+ 1 (/ y x)))))
#s(approx (+ (* (+ z 1) y) (* (+ z 1) x)) #s(hole binary64 (* x (+ 1 z))))
#s(approx (+ (* (+ z 1) y) (* (+ z 1) x)) #s(hole binary64 (* x (+ 1 (+ z (/ (* y (+ 1 z)) x))))))
#s(approx (* (+ x y) (+ z 1)) #s(hole binary64 (* -1 (* x (+ (* -1 (+ 1 z)) (* -1 (/ (* y (+ 1 z)) x)))))))
#s(approx (+ y x) #s(hole binary64 (* -1 (* x (- (* -1 (/ y x)) 1)))))
#s(approx (+ (* (+ z 1) y) (* (+ z 1) x)) #s(hole binary64 (* -1 (* x (+ (* -1 (+ 1 z)) (* -1 (/ (* y (+ 1 z)) x)))))))
#s(approx (+ (* z y) y) #s(hole binary64 (* y (+ 1 z))))
#s(approx y #s(hole binary64 y))
#s(approx (* y z) #s(hole binary64 (* y z)))
#s(approx (* (+ x y) (+ z 1)) #s(hole binary64 (* y (+ 1 (+ z (/ (* x (+ 1 z)) y))))))
#s(approx (+ y x) #s(hole binary64 (* y (+ 1 (/ x y)))))
#s(approx (+ (* (+ z 1) y) (* (+ z 1) x)) #s(hole binary64 (* y (+ 1 (+ z (/ (* x (+ 1 z)) y))))))
#s(approx (* (+ x y) (+ z 1)) #s(hole binary64 (* -1 (* y (+ (* -1 (+ 1 z)) (* -1 (/ (* x (+ 1 z)) y)))))))
#s(approx (+ y x) #s(hole binary64 (* -1 (* y (- (* -1 (/ x y)) 1)))))
#s(approx (+ (* z y) y) #s(hole binary64 (* -1 (* y (- (* -1 z) 1)))))
#s(approx (+ (* (+ z 1) y) (* (+ z 1) x)) #s(hole binary64 (* -1 (* y (+ (* -1 (+ 1 z)) (* -1 (/ (* x (+ 1 z)) y)))))))
#s(approx (* (+ x y) (+ z 1)) #s(hole binary64 (+ x y)))
#s(approx (* (+ x y) (+ z 1)) #s(hole binary64 (+ x (+ y (* z (+ x y))))))
#s(approx (+ (* z y) y) #s(hole binary64 y))
#s(approx (+ (* z y) y) #s(hole binary64 (+ y (* y z))))
#s(approx z #s(hole binary64 z))
#s(approx (+ (* (+ z 1) y) (* (+ z 1) x)) #s(hole binary64 (+ x y)))
#s(approx (+ (* (+ z 1) y) (* (+ z 1) x)) #s(hole binary64 (+ x (+ y (* z (+ x y))))))
#s(approx (+ z 1) #s(hole binary64 1))
#s(approx (+ z 1) #s(hole binary64 (+ 1 z)))
#s(approx (* (+ z 1) x) #s(hole binary64 x))
#s(approx (* (+ z 1) x) #s(hole binary64 (+ x (* x z))))
#s(approx (* (+ x y) (+ z 1)) #s(hole binary64 (* z (+ x y))))
#s(approx (* (+ x y) (+ z 1)) #s(hole binary64 (* z (+ x (+ y (+ (/ x z) (/ y z)))))))
#s(approx (+ (* z y) y) #s(hole binary64 (* y z)))
#s(approx (+ (* z y) y) #s(hole binary64 (* z (+ y (/ y z)))))
#s(approx (+ (* (+ z 1) y) (* (+ z 1) x)) #s(hole binary64 (* z (+ x y))))
#s(approx (+ (* (+ z 1) y) (* (+ z 1) x)) #s(hole binary64 (* z (+ x (+ y (+ (/ x z) (/ y z)))))))
#s(approx (+ z 1) #s(hole binary64 z))
#s(approx (+ z 1) #s(hole binary64 (* z (+ 1 (/ 1 z)))))
#s(approx (* (+ z 1) x) #s(hole binary64 (* x z)))
#s(approx (* (+ z 1) x) #s(hole binary64 (* z (+ x (/ x z)))))
#s(approx (* (+ x y) (+ z 1)) #s(hole binary64 (* -1 (* z (+ (* -1 (+ x y)) (* -1 (/ (+ x y) z)))))))
#s(approx (+ (* z y) y) #s(hole binary64 (* -1 (* z (+ (* -1 y) (* -1 (/ y z)))))))
#s(approx (+ (* (+ z 1) y) (* (+ z 1) x)) #s(hole binary64 (* -1 (* z (+ (* -1 x) (* -1 y))))))
#s(approx (+ (* (+ z 1) y) (* (+ z 1) x)) #s(hole binary64 (* -1 (* z (+ (* -1 x) (+ (* -1 y) (* -1 (/ (+ x y) z))))))))
#s(approx (* (+ z 1) x) #s(hole binary64 (* -1 (* z (+ (* -1 x) (* -1 (/ x z)))))))
Outputs
#s(approx (* (+ x y) (+ z 1)) #s(hole binary64 (* y (+ 1 z))))
#s(approx (* (+ x y) (+ z 1)) (fma.f64 z y y))
#s(approx (* (+ x y) (+ z 1)) #s(hole binary64 (+ (* x (+ 1 z)) (* y (+ 1 z)))))
#s(approx (* (+ x y) (+ z 1)) (*.f64 (-.f64 z #s(literal -1 binary64)) (+.f64 y x)))
#s(approx (+ y x) #s(hole binary64 y))
#s(approx (+ y x) y)
#s(approx (+ y x) #s(hole binary64 (+ x y)))
#s(approx (+ y x) (+.f64 y x))
#s(approx x #s(hole binary64 x))
#s(approx x x)
#s(approx (+ (* (+ z 1) y) (* (+ z 1) x)) #s(hole binary64 (* y (+ 1 z))))
#s(approx (* (+ x y) (+ z 1)) (fma.f64 z y y))
#s(approx (+ (* (+ z 1) y) (* (+ z 1) x)) #s(hole binary64 (+ (* x (+ 1 z)) (* y (+ 1 z)))))
#s(approx (* (+ x y) (+ z 1)) (*.f64 (-.f64 z #s(literal -1 binary64)) (+.f64 y x)))
#s(approx (* (+ z 1) x) #s(hole binary64 (* x (+ 1 z))))
#s(approx (* (+ z 1) x) (fma.f64 z x x))
#s(approx (* (+ x y) (+ z 1)) #s(hole binary64 (* x (+ 1 z))))
#s(approx (* (+ x y) (+ z 1)) (fma.f64 z x x))
#s(approx (* (+ x y) (+ z 1)) #s(hole binary64 (* x (+ 1 (+ z (/ (* y (+ 1 z)) x))))))
#s(approx (* (+ x y) (+ z 1)) (fma.f64 (+.f64 (/.f64 (fma.f64 z y y) x) z) x x))
#s(approx (+ y x) #s(hole binary64 x))
#s(approx (+ y x) x)
#s(approx (+ y x) #s(hole binary64 (* x (+ 1 (/ y x)))))
#s(approx (+ y x) (fma.f64 (/.f64 y x) x x))
#s(approx (+ (* (+ z 1) y) (* (+ z 1) x)) #s(hole binary64 (* x (+ 1 z))))
#s(approx (* (+ x y) (+ z 1)) (fma.f64 z x x))
#s(approx (+ (* (+ z 1) y) (* (+ z 1) x)) #s(hole binary64 (* x (+ 1 (+ z (/ (* y (+ 1 z)) x))))))
#s(approx (* (+ x y) (+ z 1)) (fma.f64 (+.f64 (/.f64 (fma.f64 z y y) x) z) x x))
#s(approx (* (+ x y) (+ z 1)) #s(hole binary64 (* -1 (* x (+ (* -1 (+ 1 z)) (* -1 (/ (* y (+ 1 z)) x)))))))
#s(approx (* (+ x y) (+ z 1)) (fma.f64 (+.f64 (/.f64 (fma.f64 z y y) x) z) x x))
#s(approx (+ y x) #s(hole binary64 (* -1 (* x (- (* -1 (/ y x)) 1)))))
#s(approx (+ y x) (fma.f64 (/.f64 y x) x x))
#s(approx (+ (* (+ z 1) y) (* (+ z 1) x)) #s(hole binary64 (* -1 (* x (+ (* -1 (+ 1 z)) (* -1 (/ (* y (+ 1 z)) x)))))))
#s(approx (* (+ x y) (+ z 1)) (fma.f64 (+.f64 (/.f64 (fma.f64 z y y) x) z) x x))
#s(approx (+ (* z y) y) #s(hole binary64 (* y (+ 1 z))))
#s(approx (+ (* z y) y) (fma.f64 z y y))
#s(approx y #s(hole binary64 y))
#s(approx y y)
#s(approx (* y z) #s(hole binary64 (* y z)))
#s(approx (* y z) (*.f64 z y))
#s(approx (* (+ x y) (+ z 1)) #s(hole binary64 (* y (+ 1 (+ z (/ (* x (+ 1 z)) y))))))
#s(approx (* (+ x y) (+ z 1)) (*.f64 (*.f64 (-.f64 #s(literal -1 binary64) z) (-.f64 #s(literal -1 binary64) (/.f64 x y))) y))
#s(approx (+ y x) #s(hole binary64 (* y (+ 1 (/ x y)))))
#s(approx (+ y x) (fma.f64 (/.f64 x y) y y))
#s(approx (+ (* (+ z 1) y) (* (+ z 1) x)) #s(hole binary64 (* y (+ 1 (+ z (/ (* x (+ 1 z)) y))))))
#s(approx (* (+ x y) (+ z 1)) (*.f64 (*.f64 (-.f64 #s(literal -1 binary64) z) (-.f64 #s(literal -1 binary64) (/.f64 x y))) y))
#s(approx (* (+ x y) (+ z 1)) #s(hole binary64 (* -1 (* y (+ (* -1 (+ 1 z)) (* -1 (/ (* x (+ 1 z)) y)))))))
#s(approx (* (+ x y) (+ z 1)) (*.f64 (*.f64 (-.f64 #s(literal -1 binary64) z) (-.f64 #s(literal -1 binary64) (/.f64 x y))) y))
#s(approx (+ y x) #s(hole binary64 (* -1 (* y (- (* -1 (/ x y)) 1)))))
#s(approx (+ y x) (fma.f64 (/.f64 x y) y y))
#s(approx (+ (* z y) y) #s(hole binary64 (* -1 (* y (- (* -1 z) 1)))))
#s(approx (+ (* z y) y) (fma.f64 z y y))
#s(approx (+ (* (+ z 1) y) (* (+ z 1) x)) #s(hole binary64 (* -1 (* y (+ (* -1 (+ 1 z)) (* -1 (/ (* x (+ 1 z)) y)))))))
#s(approx (* (+ x y) (+ z 1)) (*.f64 (*.f64 (-.f64 #s(literal -1 binary64) z) (-.f64 #s(literal -1 binary64) (/.f64 x y))) y))
#s(approx (* (+ x y) (+ z 1)) #s(hole binary64 (+ x y)))
#s(approx (* (+ x y) (+ z 1)) (+.f64 y x))
#s(approx (* (+ x y) (+ z 1)) #s(hole binary64 (+ x (+ y (* z (+ x y))))))
#s(approx (* (+ x y) (+ z 1)) (*.f64 (-.f64 z #s(literal -1 binary64)) (+.f64 y x)))
#s(approx (+ (* z y) y) #s(hole binary64 y))
#s(approx (+ (* z y) y) y)
#s(approx (+ (* z y) y) #s(hole binary64 (+ y (* y z))))
#s(approx (+ (* z y) y) (fma.f64 z y y))
#s(approx z #s(hole binary64 z))
#s(approx z z)
#s(approx (+ (* (+ z 1) y) (* (+ z 1) x)) #s(hole binary64 (+ x y)))
#s(approx (* (+ x y) (+ z 1)) (+.f64 y x))
#s(approx (+ (* (+ z 1) y) (* (+ z 1) x)) #s(hole binary64 (+ x (+ y (* z (+ x y))))))
#s(approx (* (+ x y) (+ z 1)) (*.f64 (-.f64 z #s(literal -1 binary64)) (+.f64 y x)))
#s(approx (+ z 1) #s(hole binary64 1))
#s(approx (+ z 1) #s(literal 1 binary64))
#s(approx (+ z 1) #s(hole binary64 (+ 1 z)))
#s(approx (+ z 1) (-.f64 z #s(literal -1 binary64)))
#s(approx (* (+ z 1) x) #s(hole binary64 x))
#s(approx (* (+ z 1) x) x)
#s(approx (* (+ z 1) x) #s(hole binary64 (+ x (* x z))))
#s(approx (* (+ z 1) x) (fma.f64 z x x))
#s(approx (* (+ x y) (+ z 1)) #s(hole binary64 (* z (+ x y))))
#s(approx (* (+ x y) (+ z 1)) (*.f64 z (+.f64 y x)))
#s(approx (* (+ x y) (+ z 1)) #s(hole binary64 (* z (+ x (+ y (+ (/ x z) (/ y z)))))))
#s(approx (* (+ x y) (+ z 1)) (*.f64 (-.f64 z #s(literal -1 binary64)) (+.f64 y x)))
#s(approx (+ (* z y) y) #s(hole binary64 (* y z)))
#s(approx (+ (* z y) y) (*.f64 z y))
#s(approx (+ (* z y) y) #s(hole binary64 (* z (+ y (/ y z)))))
#s(approx (+ (* z y) y) (fma.f64 z y y))
#s(approx (+ (* (+ z 1) y) (* (+ z 1) x)) #s(hole binary64 (* z (+ x y))))
#s(approx (* (+ x y) (+ z 1)) (*.f64 z (+.f64 y x)))
#s(approx (+ (* (+ z 1) y) (* (+ z 1) x)) #s(hole binary64 (* z (+ x (+ y (+ (/ x z) (/ y z)))))))
#s(approx (* (+ x y) (+ z 1)) (*.f64 (-.f64 z #s(literal -1 binary64)) (+.f64 y x)))
#s(approx (+ z 1) #s(hole binary64 z))
#s(approx (+ z 1) z)
#s(approx (+ z 1) #s(hole binary64 (* z (+ 1 (/ 1 z)))))
#s(approx (+ z 1) (-.f64 z #s(literal -1 binary64)))
#s(approx (* (+ z 1) x) #s(hole binary64 (* x z)))
#s(approx (* (+ z 1) x) (*.f64 z x))
#s(approx (* (+ z 1) x) #s(hole binary64 (* z (+ x (/ x z)))))
#s(approx (* (+ z 1) x) (fma.f64 z x x))
#s(approx (* (+ x y) (+ z 1)) #s(hole binary64 (* -1 (* z (+ (* -1 (+ x y)) (* -1 (/ (+ x y) z)))))))
#s(approx (* (+ x y) (+ z 1)) (*.f64 (-.f64 z #s(literal -1 binary64)) (+.f64 y x)))
#s(approx (+ (* z y) y) #s(hole binary64 (* -1 (* z (+ (* -1 y) (* -1 (/ y z)))))))
#s(approx (+ (* z y) y) (fma.f64 z y y))
#s(approx (+ (* (+ z 1) y) (* (+ z 1) x)) #s(hole binary64 (* -1 (* z (+ (* -1 x) (* -1 y))))))
#s(approx (* (+ x y) (+ z 1)) (*.f64 z (+.f64 y x)))
#s(approx (+ (* (+ z 1) y) (* (+ z 1) x)) #s(hole binary64 (* -1 (* z (+ (* -1 x) (+ (* -1 y) (* -1 (/ (+ x y) z))))))))
#s(approx (* (+ x y) (+ z 1)) (*.f64 (-.f64 z #s(literal -1 binary64)) (+.f64 y x)))
#s(approx (* (+ z 1) x) #s(hole binary64 (* -1 (* z (+ (* -1 x) (* -1 (/ x z)))))))
#s(approx (* (+ z 1) x) (fma.f64 z x x))

rewrite58.0ms (1.9%)

Memory
6.2MiB live, 66.3MiB allocated; 14ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02098
02493
110293
084689
Stop Event
iter limit
iter limit
node limit
iter limit
Counts
13 → 42
Calls
Call 1
Inputs
#s(approx (* (+ x y) (+ z 1)) #s(approx (+ y x) x))
#s(approx (+ y x) x)
x
#s(approx (* (+ x y) (+ z 1)) #s(approx (+ (* z y) y) y))
#s(approx (+ (* z y) y) y)
y
#s(approx (* (+ x y) (+ z 1)) #s(approx (+ (* z y) y) (*.f64 y z)))
#s(approx (+ (* z y) y) (*.f64 y z))
(*.f64 y z)
z
(fma.f64 #s(approx (+ z 1) z) y (*.f64 #s(approx (+ z 1) z) x))
#s(approx (+ z 1) z)
(*.f64 #s(approx (+ z 1) z) x)
Outputs
#s(approx (* (+ x y) (+ z 1)) #s(approx (+ y x) x))
#s(approx (+ y x) x)
x
#s(approx (* (+ x y) (+ z 1)) #s(approx (+ (* z y) y) y))
#s(approx (+ (* z y) y) y)
y
#s(approx (* (+ x y) (+ z 1)) #s(approx (+ (* z y) y) (*.f64 z y)))
#s(approx (+ (* z y) y) (*.f64 z y))
(*.f64 z y)
(*.f64 y z)
z
(*.f64 #s(approx (+ z 1) z) (+.f64 y x))
(*.f64 (+.f64 y x) #s(approx (+ z 1) z))
(/.f64 (*.f64 #s(approx (+ z 1) z) (*.f64 (+.f64 y x) (-.f64 y x))) (-.f64 y x))
(/.f64 (*.f64 #s(approx (+ z 1) z) (*.f64 (+.f64 y x) (-.f64 x y))) (-.f64 x y))
(/.f64 (*.f64 #s(approx (+ z 1) z) (+.f64 (pow.f64 y #s(literal 3 binary64)) (pow.f64 x #s(literal 3 binary64)))) (fma.f64 x (-.f64 x y) (*.f64 y y)))
(/.f64 (*.f64 #s(approx (+ z 1) z) (+.f64 (pow.f64 y #s(literal 3 binary64)) (pow.f64 x #s(literal 3 binary64)))) (fma.f64 y (-.f64 y x) (*.f64 x x)))
(/.f64 (-.f64 (pow.f64 (*.f64 #s(approx (+ z 1) z) x) #s(literal 2 binary64)) (pow.f64 (*.f64 #s(approx (+ z 1) z) y) #s(literal 2 binary64))) (-.f64 (*.f64 #s(approx (+ z 1) z) x) (*.f64 #s(approx (+ z 1) z) y)))
(/.f64 (-.f64 (pow.f64 (*.f64 #s(approx (+ z 1) z) y) #s(literal 3 binary64)) (pow.f64 (neg.f64 (*.f64 #s(approx (+ z 1) z) x)) #s(literal 3 binary64))) (+.f64 (pow.f64 (*.f64 #s(approx (+ z 1) z) y) #s(literal 2 binary64)) (+.f64 (pow.f64 (*.f64 #s(approx (+ z 1) z) x) #s(literal 2 binary64)) (*.f64 (*.f64 #s(approx (+ z 1) z) y) (neg.f64 (*.f64 #s(approx (+ z 1) z) x))))))
(/.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 #s(approx (+ z 1) z) y) #s(literal 2 binary64)) (pow.f64 (*.f64 #s(approx (+ z 1) z) x) #s(literal 2 binary64)))) (neg.f64 (*.f64 #s(approx (+ z 1) z) (-.f64 y x))))
(/.f64 (neg.f64 (+.f64 (pow.f64 (*.f64 #s(approx (+ z 1) z) x) #s(literal 3 binary64)) (pow.f64 (*.f64 #s(approx (+ z 1) z) y) #s(literal 3 binary64)))) (neg.f64 (fma.f64 (*.f64 #s(approx (+ z 1) z) x) (-.f64 (*.f64 #s(approx (+ z 1) z) x) (*.f64 #s(approx (+ z 1) z) y)) (pow.f64 (*.f64 #s(approx (+ z 1) z) y) #s(literal 2 binary64)))))
(/.f64 (-.f64 (pow.f64 (*.f64 #s(approx (+ z 1) z) y) #s(literal 2 binary64)) (pow.f64 (*.f64 #s(approx (+ z 1) z) x) #s(literal 2 binary64))) (*.f64 #s(approx (+ z 1) z) (-.f64 y x)))
(/.f64 (+.f64 (pow.f64 (*.f64 #s(approx (+ z 1) z) x) #s(literal 3 binary64)) (pow.f64 (*.f64 #s(approx (+ z 1) z) y) #s(literal 3 binary64))) (+.f64 (pow.f64 (*.f64 #s(approx (+ z 1) z) x) #s(literal 2 binary64)) (-.f64 (pow.f64 (*.f64 #s(approx (+ z 1) z) y) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 #s(approx (+ z 1) z) y) x) #s(approx (+ z 1) z)))))
(/.f64 (+.f64 (pow.f64 (*.f64 #s(approx (+ z 1) z) x) #s(literal 3 binary64)) (pow.f64 (*.f64 #s(approx (+ z 1) z) y) #s(literal 3 binary64))) (fma.f64 (*.f64 #s(approx (+ z 1) z) x) (-.f64 (*.f64 #s(approx (+ z 1) z) x) (*.f64 #s(approx (+ z 1) z) y)) (pow.f64 (*.f64 #s(approx (+ z 1) z) y) #s(literal 2 binary64))))
(fma.f64 #s(approx (+ z 1) z) y (*.f64 (neg.f64 (neg.f64 #s(approx (+ z 1) z))) x))
(fma.f64 #s(approx (+ z 1) z) y (*.f64 #s(approx (+ z 1) z) x))
(fma.f64 #s(approx (+ z 1) z) x (*.f64 #s(approx (+ z 1) z) y))
(fma.f64 y #s(approx (+ z 1) z) (*.f64 (neg.f64 (neg.f64 #s(approx (+ z 1) z))) x))
(fma.f64 y #s(approx (+ z 1) z) (*.f64 #s(approx (+ z 1) z) x))
(fma.f64 x #s(approx (+ z 1) z) (*.f64 #s(approx (+ z 1) z) y))
(-.f64 (/.f64 (pow.f64 (*.f64 #s(approx (+ z 1) z) y) #s(literal 2 binary64)) (*.f64 #s(approx (+ z 1) z) (-.f64 y x))) (/.f64 (pow.f64 (*.f64 #s(approx (+ z 1) z) x) #s(literal 2 binary64)) (*.f64 #s(approx (+ z 1) z) (-.f64 y x))))
(-.f64 (*.f64 #s(approx (+ z 1) z) y) (*.f64 (neg.f64 x) #s(approx (+ z 1) z)))
(-.f64 (*.f64 #s(approx (+ z 1) z) y) (neg.f64 (*.f64 #s(approx (+ z 1) z) x)))
(-.f64 (*.f64 #s(approx (+ z 1) z) x) (*.f64 (neg.f64 #s(approx (+ z 1) z)) y))
(-.f64 (*.f64 #s(approx (+ z 1) z) x) (*.f64 (neg.f64 y) #s(approx (+ z 1) z)))
(+.f64 (/.f64 (pow.f64 (*.f64 #s(approx (+ z 1) z) y) #s(literal 3 binary64)) (fma.f64 (*.f64 #s(approx (+ z 1) z) x) (-.f64 (*.f64 #s(approx (+ z 1) z) x) (*.f64 #s(approx (+ z 1) z) y)) (pow.f64 (*.f64 #s(approx (+ z 1) z) y) #s(literal 2 binary64)))) (/.f64 (pow.f64 (*.f64 #s(approx (+ z 1) z) x) #s(literal 3 binary64)) (fma.f64 (*.f64 #s(approx (+ z 1) z) x) (-.f64 (*.f64 #s(approx (+ z 1) z) x) (*.f64 #s(approx (+ z 1) z) y)) (pow.f64 (*.f64 #s(approx (+ z 1) z) y) #s(literal 2 binary64)))))
(+.f64 (*.f64 #s(approx (+ z 1) z) y) (*.f64 (neg.f64 (neg.f64 #s(approx (+ z 1) z))) x))
(+.f64 (*.f64 #s(approx (+ z 1) z) y) (*.f64 #s(approx (+ z 1) z) x))
(+.f64 (*.f64 #s(approx (+ z 1) z) x) (*.f64 #s(approx (+ z 1) z) y))
#s(approx (+ z 1) z)
(*.f64 #s(approx (+ z 1) z) x)
(*.f64 x #s(approx (+ z 1) z))

eval31.0ms (1%)

Memory
-24.5MiB live, 23.3MiB allocated; 2ms collecting garbage
Compiler

Compiled 1 475 to 181 computations (87.7% saved)

prune7.0ms (0.2%)

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

8 alts after pruning (0 fresh and 8 done)

PrunedKeptTotal
New76076
Fresh000
Picked044
Done044
Total76884
Accuracy
100.0%
Counts
84 → 8
Alt Table
Click to see full alt table
StatusAccuracyProgram
47.4%
(fma.f64 #s(approx (+ z 1) z) y (*.f64 #s(approx (+ z 1) z) x))
48.2%
(*.f64 (+.f64 x y) #s(approx (+ z 1) z))
52.5%
#s(approx (* (+ x y) (+ z 1)) (fma.f64 z y y))
51.8%
#s(approx (* (+ x y) (+ z 1)) (fma.f64 z x x))
53.4%
#s(approx (* (+ x y) (+ z 1)) (+.f64 y x))
26.0%
#s(approx (* (+ x y) (+ z 1)) #s(approx (+ (* z y) y) (*.f64 y z)))
28.3%
#s(approx (* (+ x y) (+ z 1)) #s(approx (+ (* z y) y) y))
27.8%
#s(approx (* (+ x y) (+ z 1)) #s(approx (+ y x) x))
Compiler

Compiled 223 to 111 computations (50.2% saved)

regimes52.0ms (1.7%)

Memory
-3.8MiB live, 43.8MiB allocated; 1ms collecting garbage
Counts
10 → 1
Calls
Call 1
Inputs
#s(approx (* (+ x y) (+ z 1)) #s(approx (+ y x) x))
#s(approx (* (+ x y) (+ z 1)) #s(approx (+ (* z y) y) y))
#s(approx (* (+ x y) (+ z 1)) (+.f64 y x))
#s(approx (* (+ x y) (+ z 1)) #s(approx (+ (* z y) y) (*.f64 y z)))
#s(approx (* (+ x y) (+ z 1)) (fma.f64 z x x))
#s(approx (* (+ x y) (+ z 1)) (fma.f64 z y y))
(*.f64 (+.f64 x y) #s(approx (+ z 1) z))
(*.f64 (+.f64 x y) (+.f64 z #s(literal 1 binary64)))
(fma.f64 #s(approx (+ z 1) z) y (*.f64 #s(approx (+ z 1) z) x))
(fma.f64 (-.f64 z #s(literal -1 binary64)) y (*.f64 (-.f64 z #s(literal -1 binary64)) x))
Outputs
(*.f64 (+.f64 x y) (+.f64 z #s(literal 1 binary64)))
Calls

6 calls:

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

Compiled 16 to 25 computations (-56.3% saved)

regimes31.0ms (1%)

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

6 calls:

18.0ms
x
3.0ms
y
3.0ms
z
3.0ms
(+.f64 x y)
2.0ms
(*.f64 (+.f64 x y) (+.f64 z #s(literal 1 binary64)))
Results
AccuracySegmentsBranch
98.0%3(+.f64 z #s(literal 1 binary64))
99.1%2(+.f64 x y)
90.2%4(*.f64 (+.f64 x y) (+.f64 z #s(literal 1 binary64)))
86.1%2x
83.2%2y
98.0%3z
Compiler

Compiled 16 to 25 computations (-56.3% saved)

regimes13.0ms (0.4%)

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

6 calls:

2.0ms
z
2.0ms
(+.f64 x y)
2.0ms
x
2.0ms
y
2.0ms
(*.f64 (+.f64 x y) (+.f64 z #s(literal 1 binary64)))
Results
AccuracySegmentsBranch
72.2%4y
75.3%5x
74.5%3(*.f64 (+.f64 x y) (+.f64 z #s(literal 1 binary64)))
81.1%4(+.f64 z #s(literal 1 binary64))
81.1%4z
82.5%5(+.f64 x y)
Compiler

Compiled 16 to 25 computations (-56.3% saved)

regimes21.0ms (0.7%)

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

3 calls:

16.0ms
(+.f64 x y)
2.0ms
z
2.0ms
(+.f64 z #s(literal 1 binary64))
Results
AccuracySegmentsBranch
57.0%3(+.f64 x y)
76.1%3(+.f64 z #s(literal 1 binary64))
76.1%3z
Compiler

Compiled 7 to 12 computations (-71.4% saved)

regimes11.0ms (0.3%)

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

6 calls:

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

Compiled 16 to 25 computations (-56.3% saved)

regimes29.0ms (1%)

Memory
-24.7MiB live, 22.6MiB allocated; 2ms collecting garbage
Counts
2 → 2
Calls
Call 1
Inputs
#s(approx (* (+ x y) (+ z 1)) #s(approx (+ y x) x))
#s(approx (* (+ x y) (+ z 1)) #s(approx (+ (* z y) y) y))
Outputs
#s(approx (* (+ x y) (+ z 1)) #s(approx (+ y x) x))
#s(approx (* (+ x y) (+ z 1)) #s(approx (+ (* z y) y) y))
Calls

6 calls:

22.0ms
y
1.0ms
z
1.0ms
(+.f64 x y)
1.0ms
x
1.0ms
(*.f64 (+.f64 x y) (+.f64 z #s(literal 1 binary64)))
Results
AccuracySegmentsBranch
53.5%2(*.f64 (+.f64 x y) (+.f64 z #s(literal 1 binary64)))
47.2%2x
28.3%1(+.f64 z #s(literal 1 binary64))
47.5%2y
35.2%3z
53.1%2(+.f64 x y)
Compiler

Compiled 16 to 25 computations (-56.3% saved)

regimes6.0ms (0.2%)

Memory
13.1MiB live, 13.1MiB 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 1)) #s(approx (+ y x) x))
Outputs
#s(approx (* (+ x y) (+ z 1)) #s(approx (+ y x) x))
Calls

6 calls:

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

Compiled 16 to 25 computations (-56.3% saved)

bsearch0.0ms (0%)

Memory
0.4MiB live, 0.4MiB allocated; 0ms collecting garbage
Algorithm
left-value
Steps
TimeLeftRight
0.0ms
-2.0648682528090966e-223
2.917388916420404e-264
Compiler

Compiled 10 to 13 computations (-30% saved)

bsearch35.0ms (1.2%)

Memory
-16.6MiB live, 29.6MiB allocated; 4ms collecting garbage
Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
narrow-enough
Steps
TimeLeftRight
16.0ms
0.02668667821052679
1.7194068836786707
5.0ms
-4.203250070120205e-6
-2.6693121568255916e-6
11.0ms
-1.517146992652751e+151
-1.2738006826018446e+143
Samples
21.0ms320×0valid
Compiler

Compiled 524 to 440 computations (16% saved)

Precisions
Click to see histograms. Total time spent on operations: 6.0ms
ival-add: 3.0ms (52.2% of total)
ival-mult: 2.0ms (34.8% of total)
ival-true: 0.0ms (0% of total)
adjust: 0.0ms (0% of total)
exact: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

bsearch29.0ms (1%)

Memory
36.7MiB live, 36.7MiB allocated; 0ms collecting garbage
Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
Steps
TimeLeftRight
12.0ms
7.984738004747426e+35
2.0764362921762166e+46
13.0ms
-1.3507168613551469e+26
-0.004784053491296214
Samples
14.0ms336×0valid
Compiler

Compiled 598 to 496 computations (17.1% saved)

Precisions
Click to see histograms. Total time spent on operations: 6.0ms
ival-add: 3.0ms (50% of total)
ival-mult: 2.0ms (33.3% of total)
ival-true: 0.0ms (0% of total)
adjust: 0.0ms (0% of total)
exact: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

bsearch0.0ms (0%)

Memory
0.7MiB live, 0.7MiB allocated; 0ms collecting garbage
Algorithm
left-value
Steps
TimeLeftRight
0.0ms
-7.67817540834211e-194
4.183304420822855e-262
Compiler

Compiled 10 to 13 computations (-30% saved)

simplify67.0ms (2.2%)

Memory
-30.6MiB live, 72.1MiB allocated; 19ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
047189
167189
2112189
3401189
41806189
57577189
Stop Event
node limit
Calls
Call 1
Inputs
(*.f64 (+.f64 x y) (+.f64 z #s(literal 1 binary64)))
(if (<=.f64 (+.f64 x y) #s(literal -2604693137843693/13023465689218465379062210528752456635048356098273258125773941038601635230112562639690297267327254474107284981627799297745876565730701884922584679789708652433779604647488309684498199777171511767048759797140403519495489742260696213459304448 binary64)) #s(approx (* (+ x y) (+ z 1)) (fma.f64 z x x)) #s(approx (* (+ x y) (+ z 1)) (fma.f64 z y y)))
(if (<=.f64 z #s(literal -169999999999999991290760917097302001277501843225120187173187812571311566963448865251176044814273170887226469892023179219177483449309094169690161283072 binary64)) #s(approx (* (+ x y) (+ z 1)) #s(approx (+ (* z y) y) (*.f64 y z))) (if (<=.f64 z #s(literal -8500259669165361/2361183241434822606848 binary64)) #s(approx (* (+ x y) (+ z 1)) (fma.f64 z x x)) (if (<=.f64 z #s(literal 1080863910568919/36028797018963968 binary64)) #s(approx (* (+ x y) (+ z 1)) (+.f64 y x)) #s(approx (* (+ x y) (+ z 1)) (fma.f64 z x x)))))
(if (<=.f64 z #s(literal -1 binary64)) #s(approx (* (+ x y) (+ z 1)) #s(approx (+ (* z y) y) (*.f64 y z))) (if (<=.f64 z #s(literal 799999999999999974906928863343804416 binary64)) #s(approx (* (+ x y) (+ z 1)) (+.f64 y x)) #s(approx (* (+ x y) (+ z 1)) #s(approx (+ (* z y) y) (*.f64 y z)))))
#s(approx (* (+ x y) (+ z 1)) (+.f64 y x))
(if (<=.f64 (*.f64 (+.f64 x y) (+.f64 z #s(literal 1 binary64))) #s(literal -4109481173084667/82189623461693336050640466920002010399224059419112091554660639110448939910891887845526039629337319550421608888377784651765928628909121935361372105791435638280550369861381946846744746216942542457363957058371584 binary64)) #s(approx (* (+ x y) (+ z 1)) #s(approx (+ y x) x)) #s(approx (* (+ x y) (+ z 1)) #s(approx (+ (* z y) y) y)))
#s(approx (* (+ x y) (+ z 1)) #s(approx (+ y x) x))
Outputs
(*.f64 (+.f64 x y) (+.f64 z #s(literal 1 binary64)))
(if (<=.f64 (+.f64 x y) #s(literal -2604693137843693/13023465689218465379062210528752456635048356098273258125773941038601635230112562639690297267327254474107284981627799297745876565730701884922584679789708652433779604647488309684498199777171511767048759797140403519495489742260696213459304448 binary64)) #s(approx (* (+ x y) (+ z 1)) (fma.f64 z x x)) #s(approx (* (+ x y) (+ z 1)) (fma.f64 z y y)))
(if (<=.f64 z #s(literal -169999999999999991290760917097302001277501843225120187173187812571311566963448865251176044814273170887226469892023179219177483449309094169690161283072 binary64)) #s(approx (* (+ x y) (+ z 1)) #s(approx (+ (* z y) y) (*.f64 y z))) (if (<=.f64 z #s(literal -8500259669165361/2361183241434822606848 binary64)) #s(approx (* (+ x y) (+ z 1)) (fma.f64 z x x)) (if (<=.f64 z #s(literal 1080863910568919/36028797018963968 binary64)) #s(approx (* (+ x y) (+ z 1)) (+.f64 y x)) #s(approx (* (+ x y) (+ z 1)) (fma.f64 z x x)))))
(if (<=.f64 z #s(literal -169999999999999991290760917097302001277501843225120187173187812571311566963448865251176044814273170887226469892023179219177483449309094169690161283072 binary64)) #s(approx (* (+ x y) (+ z 1)) #s(approx (+ (* z y) y) (*.f64 y z))) (if (or (<=.f64 z #s(literal -8500259669165361/2361183241434822606848 binary64)) (not (<=.f64 z #s(literal 1080863910568919/36028797018963968 binary64)))) #s(approx (* (+ x y) (+ z 1)) (fma.f64 z x x)) #s(approx (* (+ x y) (+ z 1)) (+.f64 y x))))
(if (<=.f64 z #s(literal -1 binary64)) #s(approx (* (+ x y) (+ z 1)) #s(approx (+ (* z y) y) (*.f64 y z))) (if (<=.f64 z #s(literal 799999999999999974906928863343804416 binary64)) #s(approx (* (+ x y) (+ z 1)) (+.f64 y x)) #s(approx (* (+ x y) (+ z 1)) #s(approx (+ (* z y) y) (*.f64 y z)))))
(if (or (<=.f64 z #s(literal -1 binary64)) (not (<=.f64 z #s(literal 799999999999999974906928863343804416 binary64)))) #s(approx (* (+ x y) (+ z 1)) #s(approx (+ (* z y) y) (*.f64 y z))) #s(approx (* (+ x y) (+ z 1)) (+.f64 y x)))
#s(approx (* (+ x y) (+ z 1)) (+.f64 y x))
(if (<=.f64 (*.f64 (+.f64 x y) (+.f64 z #s(literal 1 binary64))) #s(literal -4109481173084667/82189623461693336050640466920002010399224059419112091554660639110448939910891887845526039629337319550421608888377784651765928628909121935361372105791435638280550369861381946846744746216942542457363957058371584 binary64)) #s(approx (* (+ x y) (+ z 1)) #s(approx (+ y x) x)) #s(approx (* (+ x y) (+ z 1)) #s(approx (+ (* z y) y) y)))
#s(approx (* (+ x y) (+ z 1)) #s(approx (+ y x) x))

derivations305.0ms (10%)

Memory
-7.7MiB live, 275.1MiB allocated; 22ms collecting garbage
Stop Event
done
Compiler

Compiled 189 to 50 computations (73.5% saved)

preprocess34.0ms (1.1%)

Memory
39.4MiB live, 85.8MiB allocated; 4ms collecting garbage
Remove

(sort x y)

Compiler

Compiled 420 to 142 computations (66.2% saved)

end0.0ms (0%)

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

Profiling

Loading profile data...