Data.Histogram.Bin.BinF:$cfromIndex from histogram-fill-0.8.4.1

Time bar (total: 2.6s)

start0.0ms (0%)

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

analyze0.0ms (0%)

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

sample1.2s (44.9%)

Memory
17.4MiB live, 1 914.6MiB allocated; 440ms collecting garbage
Samples
774.0ms8 254×0valid
0.0ms2valid
0.0ms1valid
Precisions
Click to see histograms. Total time spent on operations: 480.0ms
ival-mult: 271.0ms (56.5% of total)
ival-add: 122.0ms (25.4% of total)
ival-div: 74.0ms (15.4% of total)
exact: 8.0ms (1.7% of total)
ival-assert: 3.0ms (0.6% of total)
adjust: 2.0ms (0.4% of total)
Bogosity

explain97.0ms (3.7%)

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

Compiled 65 to 28 computations (56.9% saved)

Precisions
Click to see histograms. Total time spent on operations: 17.0ms
ival-add: 8.0ms (47.5% of total)
ival-mult: 4.0ms (23.7% of total)
ival-div: 3.0ms (17.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)

preprocess262.0ms (10.1%)

Memory
19.4MiB live, 208.1MiB allocated; 17ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
03397
19293
222093
334193
448193
575890
6222190
7522590
089
0129
1229
2439
3699
41089
51969
68089
752659
081127
Stop Event
iter limit
node limit
iter limit
node limit
Calls
Call 1
Inputs
(+.f64 (+.f64 (/.f64 x #s(literal 2 binary64)) (*.f64 y x)) z)
Outputs
(+.f64 (+.f64 (/.f64 x #s(literal 2 binary64)) (*.f64 y x)) z)
(fma.f64 y x (fma.f64 x #s(literal 1/2 binary64) z))
Compiler

Compiled 9 to 8 computations (11.1% saved)

eval0.0ms (0%)

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

Compiled 0 to 3 computations (-∞% saved)

prune0.0ms (0%)

Memory
1.3MiB live, 1.3MiB allocated; 0ms collecting garbage
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(+.f64 (+.f64 (/.f64 x #s(literal 2 binary64)) (*.f64 y x)) z)
Compiler

Compiled 9 to 8 computations (11.1% saved)

series11.0ms (0.4%)

Memory
-26.9MiB live, 17.4MiB allocated; 6ms collecting garbage
Counts
8 → 26
Calls
Call 1
Inputs
(+.f64 (+.f64 (/.f64 x #s(literal 2 binary64)) (*.f64 y x)) z)
(+.f64 (/.f64 x #s(literal 2 binary64)) (*.f64 y x))
(/.f64 x #s(literal 2 binary64))
x
#s(literal 2 binary64)
(*.f64 y x)
y
z
Outputs
#s(approx (+ (+ (/ x 2) (* y x)) z) #s(hole binary64 z))
#s(approx (+ (+ (/ x 2) (* y x)) z) #s(hole binary64 (+ z (* x (+ 1/2 y)))))
#s(approx (+ (/ x 2) (* y x)) #s(hole binary64 (* x (+ 1/2 y))))
#s(approx (/ x 2) #s(hole binary64 (* 1/2 x)))
#s(approx x #s(hole binary64 x))
#s(approx (* y x) #s(hole binary64 (* x y)))
#s(approx (+ (+ (/ x 2) (* y x)) z) #s(hole binary64 (* x (+ 1/2 y))))
#s(approx (+ (+ (/ x 2) (* y x)) z) #s(hole binary64 (* x (+ 1/2 (+ y (/ z x))))))
#s(approx (+ (+ (/ x 2) (* y x)) z) #s(hole binary64 (* -1 (* x (- (* -1 y) 1/2)))))
#s(approx (+ (+ (/ x 2) (* y x)) z) #s(hole binary64 (* -1 (* x (- (+ (* -1 y) (* -1 (/ z x))) 1/2)))))
#s(approx (+ (/ x 2) (* y x)) #s(hole binary64 (* -1 (* x (- (* -1 y) 1/2)))))
#s(approx (+ (+ (/ x 2) (* y x)) z) #s(hole binary64 (+ z (* 1/2 x))))
#s(approx (+ (+ (/ x 2) (* y x)) z) #s(hole binary64 (+ z (+ (* 1/2 x) (* x y)))))
#s(approx (+ (/ x 2) (* y x)) #s(hole binary64 (* 1/2 x)))
#s(approx (+ (/ x 2) (* y x)) #s(hole binary64 (+ (* 1/2 x) (* x y))))
#s(approx y #s(hole binary64 y))
#s(approx (+ (+ (/ x 2) (* y x)) z) #s(hole binary64 (* x y)))
#s(approx (+ (+ (/ x 2) (* y x)) z) #s(hole binary64 (* y (+ x (+ (* 1/2 (/ x y)) (/ z y))))))
#s(approx (+ (/ x 2) (* y x)) #s(hole binary64 (* x y)))
#s(approx (+ (/ x 2) (* y x)) #s(hole binary64 (* y (+ x (* 1/2 (/ x y))))))
#s(approx (+ (+ (/ x 2) (* y x)) z) #s(hole binary64 (* -1 (* y (+ (* -1 x) (* -1 (/ (+ z (* 1/2 x)) y)))))))
#s(approx (+ (/ x 2) (* y x)) #s(hole binary64 (* -1 (* y (+ (* -1 x) (* -1/2 (/ x y)))))))
#s(approx (+ (+ (/ x 2) (* y x)) z) #s(hole binary64 (+ (* 1/2 x) (* x y))))
#s(approx z #s(hole binary64 z))
#s(approx (+ (+ (/ x 2) (* y x)) z) #s(hole binary64 (* z (+ 1 (+ (* 1/2 (/ x z)) (/ (* x y) z))))))
#s(approx (+ (+ (/ x 2) (* y x)) z) #s(hole binary64 (* -1 (* z (- (* -1 (/ (+ (* 1/2 x) (* x y)) z)) 1)))))
Calls

9 calls:

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

rewrite181.0ms (7%)

Memory
34.8MiB live, 178.0MiB allocated; 78ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
092426
097398
1493350
04368327
Stop Event
iter limit
iter limit
node limit
iter limit
Counts
34 → 109
Calls
Call 1
Inputs
(+.f64 (+.f64 (/.f64 x #s(literal 2 binary64)) (*.f64 y x)) z)
(+.f64 (/.f64 x #s(literal 2 binary64)) (*.f64 y x))
(/.f64 x #s(literal 2 binary64))
x
#s(literal 2 binary64)
(*.f64 y x)
y
z
#s(approx (+ (+ (/ x 2) (* y x)) z) #s(hole binary64 z))
#s(approx (+ (+ (/ x 2) (* y x)) z) #s(hole binary64 (+ z (* x (+ 1/2 y)))))
#s(approx (+ (/ x 2) (* y x)) #s(hole binary64 (* x (+ 1/2 y))))
#s(approx (/ x 2) #s(hole binary64 (* 1/2 x)))
#s(approx x #s(hole binary64 x))
#s(approx (* y x) #s(hole binary64 (* x y)))
#s(approx (+ (+ (/ x 2) (* y x)) z) #s(hole binary64 (* x (+ 1/2 y))))
#s(approx (+ (+ (/ x 2) (* y x)) z) #s(hole binary64 (* x (+ 1/2 (+ y (/ z x))))))
#s(approx (+ (+ (/ x 2) (* y x)) z) #s(hole binary64 (* -1 (* x (- (* -1 y) 1/2)))))
#s(approx (+ (+ (/ x 2) (* y x)) z) #s(hole binary64 (* -1 (* x (- (+ (* -1 y) (* -1 (/ z x))) 1/2)))))
#s(approx (+ (/ x 2) (* y x)) #s(hole binary64 (* -1 (* x (- (* -1 y) 1/2)))))
#s(approx (+ (+ (/ x 2) (* y x)) z) #s(hole binary64 (+ z (* 1/2 x))))
#s(approx (+ (+ (/ x 2) (* y x)) z) #s(hole binary64 (+ z (+ (* 1/2 x) (* x y)))))
#s(approx (+ (/ x 2) (* y x)) #s(hole binary64 (* 1/2 x)))
#s(approx (+ (/ x 2) (* y x)) #s(hole binary64 (+ (* 1/2 x) (* x y))))
#s(approx y #s(hole binary64 y))
#s(approx (+ (+ (/ x 2) (* y x)) z) #s(hole binary64 (* x y)))
#s(approx (+ (+ (/ x 2) (* y x)) z) #s(hole binary64 (* y (+ x (+ (* 1/2 (/ x y)) (/ z y))))))
#s(approx (+ (/ x 2) (* y x)) #s(hole binary64 (* x y)))
#s(approx (+ (/ x 2) (* y x)) #s(hole binary64 (* y (+ x (* 1/2 (/ x y))))))
#s(approx (+ (+ (/ x 2) (* y x)) z) #s(hole binary64 (* -1 (* y (+ (* -1 x) (* -1 (/ (+ z (* 1/2 x)) y)))))))
#s(approx (+ (/ x 2) (* y x)) #s(hole binary64 (* -1 (* y (+ (* -1 x) (* -1/2 (/ x y)))))))
#s(approx (+ (+ (/ x 2) (* y x)) z) #s(hole binary64 (+ (* 1/2 x) (* x y))))
#s(approx z #s(hole binary64 z))
#s(approx (+ (+ (/ x 2) (* y x)) z) #s(hole binary64 (* z (+ 1 (+ (* 1/2 (/ x z)) (/ (* x y) z))))))
#s(approx (+ (+ (/ x 2) (* y x)) z) #s(hole binary64 (* -1 (* z (- (* -1 (/ (+ (* 1/2 x) (* x y)) z)) 1)))))
Outputs
(/.f64 (-.f64 (pow.f64 (*.f64 #s(literal 1/2 binary64) x) #s(literal 2 binary64)) (*.f64 (fma.f64 y x z) (fma.f64 y x z))) (-.f64 (*.f64 #s(literal 1/2 binary64) x) (fma.f64 y x z)))
(/.f64 (-.f64 (*.f64 (fma.f64 #s(literal 1/2 binary64) x z) (fma.f64 #s(literal 1/2 binary64) x z)) (pow.f64 (*.f64 y x) #s(literal 2 binary64))) (-.f64 (fma.f64 #s(literal 1/2 binary64) x z) (*.f64 y x)))
(/.f64 (-.f64 (pow.f64 z #s(literal 3 binary64)) (pow.f64 (*.f64 (neg.f64 x) (+.f64 #s(literal 1/2 binary64) y)) #s(literal 3 binary64))) (fma.f64 z z (+.f64 (pow.f64 (*.f64 (+.f64 #s(literal 1/2 binary64) y) x) #s(literal 2 binary64)) (*.f64 z (*.f64 (neg.f64 x) (+.f64 #s(literal 1/2 binary64) y))))))
(/.f64 (fma.f64 (pow.f64 x #s(literal 3 binary64)) #s(literal 1/8 binary64) (pow.f64 (fma.f64 y x z) #s(literal 3 binary64))) (fma.f64 (*.f64 x x) #s(literal 1/4 binary64) (-.f64 (*.f64 (fma.f64 y x z) (fma.f64 y x z)) (*.f64 (*.f64 #s(literal 1/2 binary64) x) (fma.f64 y x z)))))
(/.f64 (+.f64 (pow.f64 (fma.f64 #s(literal 1/2 binary64) x z) #s(literal 3 binary64)) (pow.f64 (*.f64 y x) #s(literal 3 binary64))) (fma.f64 (fma.f64 #s(literal 1/2 binary64) x z) (fma.f64 #s(literal 1/2 binary64) x z) (-.f64 (pow.f64 (*.f64 y x) #s(literal 2 binary64)) (*.f64 (fma.f64 #s(literal 1/2 binary64) x z) (*.f64 y x)))))
(/.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 (+.f64 #s(literal 1/2 binary64) y) x) #s(literal 2 binary64)) (*.f64 z z))) (neg.f64 (-.f64 (*.f64 (+.f64 #s(literal 1/2 binary64) y) x) z)))
(/.f64 (neg.f64 (-.f64 (*.f64 z z) (pow.f64 (*.f64 (+.f64 #s(literal 1/2 binary64) y) x) #s(literal 2 binary64)))) (neg.f64 (-.f64 z (*.f64 (+.f64 #s(literal 1/2 binary64) y) x))))
(/.f64 (neg.f64 (+.f64 (pow.f64 (*.f64 (+.f64 #s(literal 1/2 binary64) y) x) #s(literal 3 binary64)) (pow.f64 z #s(literal 3 binary64)))) (neg.f64 (fma.f64 z (-.f64 z (*.f64 (+.f64 #s(literal 1/2 binary64) y) x)) (pow.f64 (*.f64 (+.f64 #s(literal 1/2 binary64) y) x) #s(literal 2 binary64)))))
(/.f64 (neg.f64 (+.f64 (pow.f64 (*.f64 (+.f64 #s(literal 1/2 binary64) y) x) #s(literal 3 binary64)) (pow.f64 z #s(literal 3 binary64)))) (neg.f64 (fma.f64 (*.f64 (+.f64 #s(literal 1/2 binary64) y) x) (-.f64 (*.f64 (+.f64 #s(literal 1/2 binary64) y) x) z) (*.f64 z z))))
(/.f64 (-.f64 (pow.f64 (*.f64 (+.f64 #s(literal 1/2 binary64) y) x) #s(literal 2 binary64)) (*.f64 z z)) (-.f64 (*.f64 (+.f64 #s(literal 1/2 binary64) y) x) z))
(/.f64 (-.f64 (*.f64 z z) (pow.f64 (*.f64 (+.f64 #s(literal 1/2 binary64) y) x) #s(literal 2 binary64))) (-.f64 z (*.f64 (+.f64 #s(literal 1/2 binary64) y) x)))
(/.f64 (+.f64 (pow.f64 (*.f64 (+.f64 #s(literal 1/2 binary64) y) x) #s(literal 3 binary64)) (pow.f64 z #s(literal 3 binary64))) (fma.f64 z (-.f64 z (*.f64 (+.f64 #s(literal 1/2 binary64) y) x)) (pow.f64 (*.f64 (+.f64 #s(literal 1/2 binary64) y) x) #s(literal 2 binary64))))
(/.f64 (+.f64 (pow.f64 (*.f64 (+.f64 #s(literal 1/2 binary64) y) x) #s(literal 3 binary64)) (pow.f64 z #s(literal 3 binary64))) (fma.f64 (*.f64 (+.f64 #s(literal 1/2 binary64) y) x) (-.f64 (*.f64 (+.f64 #s(literal 1/2 binary64) y) x) z) (*.f64 z z)))
(fma.f64 #s(literal -1 binary64) (/.f64 x #s(literal -2 binary64)) (fma.f64 y x z))
(fma.f64 (+.f64 #s(literal 1/2 binary64) y) x z)
(fma.f64 #s(literal 1/2 binary64) x (fma.f64 y x z))
(fma.f64 y x (fma.f64 #s(literal 1/2 binary64) x z))
(fma.f64 x (+.f64 #s(literal 1/2 binary64) y) z)
(fma.f64 x #s(literal 1/2 binary64) (fma.f64 y x z))
(fma.f64 x y (fma.f64 #s(literal 1/2 binary64) x z))
(-.f64 (/.f64 (pow.f64 (*.f64 (+.f64 #s(literal 1/2 binary64) y) x) #s(literal 2 binary64)) (-.f64 (*.f64 (+.f64 #s(literal 1/2 binary64) y) x) z)) (/.f64 (*.f64 z z) (-.f64 (*.f64 (+.f64 #s(literal 1/2 binary64) y) x) z)))
(-.f64 (/.f64 (*.f64 z z) (-.f64 z (*.f64 (+.f64 #s(literal 1/2 binary64) y) x))) (/.f64 (pow.f64 (*.f64 (+.f64 #s(literal 1/2 binary64) y) x) #s(literal 2 binary64)) (-.f64 z (*.f64 (+.f64 #s(literal 1/2 binary64) y) x))))
(-.f64 (fma.f64 #s(literal 1/2 binary64) x z) (*.f64 (neg.f64 x) y))
(-.f64 (*.f64 #s(literal 1/2 binary64) x) (-.f64 (*.f64 (neg.f64 x) y) z))
(-.f64 z (-.f64 (*.f64 #s(literal -1/2 binary64) x) (*.f64 y x)))
(-.f64 z (*.f64 (neg.f64 x) (+.f64 #s(literal 1/2 binary64) y)))
(+.f64 (/.f64 (pow.f64 (*.f64 (+.f64 #s(literal 1/2 binary64) y) x) #s(literal 3 binary64)) (fma.f64 z (-.f64 z (*.f64 (+.f64 #s(literal 1/2 binary64) y) x)) (pow.f64 (*.f64 (+.f64 #s(literal 1/2 binary64) y) x) #s(literal 2 binary64)))) (/.f64 (pow.f64 z #s(literal 3 binary64)) (fma.f64 z (-.f64 z (*.f64 (+.f64 #s(literal 1/2 binary64) y) x)) (pow.f64 (*.f64 (+.f64 #s(literal 1/2 binary64) y) x) #s(literal 2 binary64)))))
(+.f64 (/.f64 (pow.f64 z #s(literal 3 binary64)) (fma.f64 (*.f64 (+.f64 #s(literal 1/2 binary64) y) x) (-.f64 (*.f64 (+.f64 #s(literal 1/2 binary64) y) x) z) (*.f64 z z))) (/.f64 (pow.f64 (*.f64 (+.f64 #s(literal 1/2 binary64) y) x) #s(literal 3 binary64)) (fma.f64 (*.f64 (+.f64 #s(literal 1/2 binary64) y) x) (-.f64 (*.f64 (+.f64 #s(literal 1/2 binary64) y) x) z) (*.f64 z z))))
(+.f64 (fma.f64 y x z) (*.f64 #s(literal 1/2 binary64) x))
(+.f64 (*.f64 (+.f64 #s(literal 1/2 binary64) y) x) z)
(+.f64 (fma.f64 #s(literal 1/2 binary64) x z) (*.f64 y x))
(+.f64 (*.f64 y x) (fma.f64 #s(literal 1/2 binary64) x z))
(+.f64 (*.f64 #s(literal 1/2 binary64) x) (fma.f64 y x z))
(+.f64 z (*.f64 (neg.f64 (neg.f64 x)) (+.f64 #s(literal 1/2 binary64) y)))
(+.f64 z (*.f64 (+.f64 #s(literal 1/2 binary64) y) x))
(*.f64 (+.f64 #s(literal 1/2 binary64) y) x)
(*.f64 x (+.f64 #s(literal 1/2 binary64) y))
(/.f64 (*.f64 x (-.f64 #s(literal 1/4 binary64) (*.f64 y y))) (-.f64 #s(literal 1/2 binary64) y))
(/.f64 (*.f64 x (+.f64 #s(literal 1/8 binary64) (pow.f64 y #s(literal 3 binary64)))) (fma.f64 y (-.f64 y #s(literal 1/2 binary64)) #s(literal 1/4 binary64)))
(/.f64 (-.f64 (pow.f64 (*.f64 y x) #s(literal 2 binary64)) (pow.f64 (*.f64 #s(literal 1/2 binary64) x) #s(literal 2 binary64))) (-.f64 (*.f64 y x) (*.f64 #s(literal 1/2 binary64) x)))
(/.f64 (-.f64 (pow.f64 (*.f64 #s(literal 1/2 binary64) x) #s(literal 3 binary64)) (pow.f64 (*.f64 (neg.f64 x) y) #s(literal 3 binary64))) (fma.f64 (*.f64 x x) #s(literal 1/4 binary64) (+.f64 (pow.f64 (*.f64 y x) #s(literal 2 binary64)) (*.f64 (*.f64 #s(literal 1/2 binary64) x) (*.f64 (neg.f64 x) y)))))
(/.f64 (neg.f64 (*.f64 (*.f64 (+.f64 #s(literal 1/2 binary64) y) x) (*.f64 x (-.f64 #s(literal 1/2 binary64) y)))) (neg.f64 (*.f64 x (-.f64 #s(literal 1/2 binary64) y))))
(/.f64 (neg.f64 (fma.f64 (pow.f64 x #s(literal 3 binary64)) #s(literal 1/8 binary64) (pow.f64 (*.f64 y x) #s(literal 3 binary64)))) (neg.f64 (fma.f64 (*.f64 x x) #s(literal 1/4 binary64) (*.f64 (*.f64 y x) (-.f64 (*.f64 y x) (*.f64 #s(literal 1/2 binary64) x))))))
(/.f64 (*.f64 (-.f64 #s(literal 1/4 binary64) (*.f64 y y)) x) (-.f64 #s(literal 1/2 binary64) y))
(/.f64 (*.f64 (+.f64 #s(literal 1/8 binary64) (pow.f64 y #s(literal 3 binary64))) x) (fma.f64 y (-.f64 y #s(literal 1/2 binary64)) #s(literal 1/4 binary64)))
(/.f64 (*.f64 (*.f64 (+.f64 #s(literal 1/2 binary64) y) x) (*.f64 x (-.f64 #s(literal 1/2 binary64) y))) (*.f64 x (-.f64 #s(literal 1/2 binary64) y)))
(/.f64 (fma.f64 (pow.f64 x #s(literal 3 binary64)) #s(literal 1/8 binary64) (pow.f64 (*.f64 y x) #s(literal 3 binary64))) (+.f64 (pow.f64 (*.f64 y x) #s(literal 2 binary64)) (-.f64 (pow.f64 (*.f64 #s(literal 1/2 binary64) x) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) x) x) y))))
(/.f64 (fma.f64 (pow.f64 x #s(literal 3 binary64)) #s(literal 1/8 binary64) (pow.f64 (*.f64 y x) #s(literal 3 binary64))) (fma.f64 (*.f64 x x) #s(literal 1/4 binary64) (*.f64 (*.f64 y x) (-.f64 (*.f64 y x) (*.f64 #s(literal 1/2 binary64) x)))))
(fma.f64 #s(literal -1 binary64) (/.f64 x #s(literal -2 binary64)) (*.f64 (neg.f64 (neg.f64 y)) x))
(fma.f64 #s(literal -1 binary64) (/.f64 x #s(literal -2 binary64)) (*.f64 (neg.f64 (neg.f64 x)) y))
(fma.f64 #s(literal -1 binary64) (/.f64 x #s(literal -2 binary64)) (*.f64 y x))
(fma.f64 #s(literal 1/2 binary64) x (*.f64 (neg.f64 (neg.f64 y)) x))
(fma.f64 #s(literal 1/2 binary64) x (*.f64 (neg.f64 (neg.f64 x)) y))
(fma.f64 #s(literal 1/2 binary64) x (*.f64 y x))
(fma.f64 y x (*.f64 #s(literal 1/2 binary64) x))
(fma.f64 x #s(literal 1/2 binary64) (*.f64 (neg.f64 (neg.f64 y)) x))
(fma.f64 x #s(literal 1/2 binary64) (*.f64 (neg.f64 (neg.f64 x)) y))
(fma.f64 x #s(literal 1/2 binary64) (*.f64 y x))
(fma.f64 x y (*.f64 #s(literal 1/2 binary64) x))
(-.f64 (/.f64 (pow.f64 (*.f64 #s(literal 1/2 binary64) x) #s(literal 2 binary64)) (*.f64 x (-.f64 #s(literal 1/2 binary64) y))) (/.f64 (pow.f64 (*.f64 y x) #s(literal 2 binary64)) (*.f64 x (-.f64 #s(literal 1/2 binary64) y))))
(-.f64 (*.f64 y x) (*.f64 (neg.f64 x) #s(literal 1/2 binary64)))
(-.f64 (*.f64 y x) (*.f64 #s(literal -1/2 binary64) x))
(-.f64 (*.f64 #s(literal 1/2 binary64) x) (*.f64 (neg.f64 x) y))
(+.f64 (/.f64 (pow.f64 (*.f64 #s(literal 1/2 binary64) x) #s(literal 3 binary64)) (fma.f64 (*.f64 x x) #s(literal 1/4 binary64) (*.f64 (*.f64 y x) (-.f64 (*.f64 y x) (*.f64 #s(literal 1/2 binary64) x))))) (/.f64 (pow.f64 (*.f64 y x) #s(literal 3 binary64)) (fma.f64 (*.f64 x x) #s(literal 1/4 binary64) (*.f64 (*.f64 y x) (-.f64 (*.f64 y x) (*.f64 #s(literal 1/2 binary64) x))))))
(+.f64 (*.f64 y x) (*.f64 #s(literal 1/2 binary64) x))
(+.f64 (*.f64 #s(literal 1/2 binary64) x) (*.f64 (neg.f64 (neg.f64 y)) x))
(+.f64 (*.f64 #s(literal 1/2 binary64) x) (*.f64 (neg.f64 (neg.f64 x)) y))
(+.f64 (*.f64 #s(literal 1/2 binary64) x) (*.f64 y x))
(*.f64 #s(literal -1 binary64) (/.f64 x #s(literal -2 binary64)))
(*.f64 #s(literal 1/2 binary64) x)
(*.f64 x #s(literal 1/2 binary64))
(/.f64 (neg.f64 (neg.f64 x)) #s(literal 2 binary64))
(/.f64 (neg.f64 x) #s(literal -2 binary64))
(/.f64 x #s(literal 2 binary64))
(neg.f64 (/.f64 (neg.f64 x) #s(literal 2 binary64)))
(neg.f64 (/.f64 x #s(literal -2 binary64)))
(neg.f64 (*.f64 #s(literal -1/2 binary64) x))
x
#s(literal 2 binary64)
(*.f64 y x)
(*.f64 x y)
y
z
#s(approx (+ (+ (/ x 2) (* y x)) z) z)
#s(approx (+ (+ (/ x 2) (* y x)) z) (fma.f64 (+.f64 #s(literal 1/2 binary64) y) x z))
#s(approx (+ (/ x 2) (* y x)) (*.f64 (+.f64 #s(literal 1/2 binary64) y) x))
#s(approx (/ x 2) (*.f64 #s(literal 1/2 binary64) x))
#s(approx x x)
#s(approx (* y x) (*.f64 y x))
#s(approx (+ (+ (/ x 2) (* y x)) z) (*.f64 (+.f64 #s(literal 1/2 binary64) y) x))
#s(approx (+ (+ (/ x 2) (* y x)) z) (*.f64 (+.f64 (+.f64 (/.f64 z x) y) #s(literal 1/2 binary64)) x))
#s(approx (+ (+ (/ x 2) (* y x)) z) (*.f64 (neg.f64 x) (-.f64 (neg.f64 y) #s(literal 1/2 binary64))))
#s(approx (+ (+ (/ x 2) (* y x)) z) (*.f64 (neg.f64 x) (-.f64 (neg.f64 (+.f64 (/.f64 z x) y)) #s(literal 1/2 binary64))))
#s(approx (+ (/ x 2) (* y x)) (*.f64 (neg.f64 x) (-.f64 (neg.f64 y) #s(literal 1/2 binary64))))
#s(approx (+ (+ (/ x 2) (* y x)) z) (fma.f64 #s(literal 1/2 binary64) x z))
#s(approx (+ (+ (/ x 2) (* y x)) z) (fma.f64 (+.f64 #s(literal 1/2 binary64) y) x z))
#s(approx (+ (/ x 2) (* y x)) (*.f64 #s(literal 1/2 binary64) x))
#s(approx (+ (/ x 2) (* y x)) (*.f64 (+.f64 #s(literal 1/2 binary64) y) x))
#s(approx y y)
#s(approx (+ (+ (/ x 2) (* y x)) z) (*.f64 y x))
#s(approx (+ (+ (/ x 2) (* y x)) z) (*.f64 (+.f64 (/.f64 (fma.f64 #s(literal 1/2 binary64) x z) y) x) y))
#s(approx (+ (/ x 2) (* y x)) (*.f64 y x))
#s(approx (+ (/ x 2) (* y x)) (*.f64 (fma.f64 (/.f64 x y) #s(literal 1/2 binary64) x) y))
#s(approx (+ (+ (/ x 2) (* y x)) z) (*.f64 (neg.f64 (+.f64 (/.f64 (fma.f64 #s(literal 1/2 binary64) x z) y) x)) (neg.f64 y)))
#s(approx (+ (/ x 2) (* y x)) (*.f64 (fma.f64 #s(literal -1/2 binary64) (/.f64 x y) (neg.f64 x)) (neg.f64 y)))
#s(approx (+ (+ (/ x 2) (* y x)) z) (*.f64 (+.f64 #s(literal 1/2 binary64) y) x))
#s(approx z z)
#s(approx (+ (+ (/ x 2) (* y x)) z) (*.f64 (fma.f64 (+.f64 #s(literal 1/2 binary64) y) (/.f64 x z) #s(literal 1 binary64)) z))
#s(approx (+ (+ (/ x 2) (* y x)) z) (*.f64 (neg.f64 z) (fma.f64 (/.f64 (*.f64 (+.f64 #s(literal 1/2 binary64) y) x) z) #s(literal -1 binary64) #s(literal -1 binary64))))

eval15.0ms (0.6%)

Memory
-10.5MiB live, 34.0MiB allocated; 7ms collecting garbage
Compiler

Compiled 1 667 to 321 computations (80.7% saved)

prune8.0ms (0.3%)

Memory
-23.2MiB live, 23.5MiB allocated; 3ms collecting garbage
Pruning

7 alts after pruning (7 fresh and 0 done)

PrunedKeptTotal
New1017108
Fresh000
Picked101
Done000
Total1027109
Accuracy
100.0%
Counts
109 → 7
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(fma.f64 (+.f64 #s(literal 1/2 binary64) y) x z)
100.0%
(fma.f64 y x (fma.f64 #s(literal 1/2 binary64) x z))
74.9%
(+.f64 #s(approx (+ (/ x 2) (* y x)) (*.f64 y x)) z)
66.2%
#s(approx (+ (+ (/ x 2) (* y x)) z) (fma.f64 #s(literal 1/2 binary64) x z))
59.0%
#s(approx (+ (+ (/ x 2) (* y x)) z) (*.f64 (+.f64 #s(literal 1/2 binary64) y) x))
36.0%
#s(approx (+ (+ (/ x 2) (* y x)) z) (*.f64 y x))
41.5%
#s(approx (+ (+ (/ x 2) (* y x)) z) z)
Compiler

Compiled 158 to 128 computations (19% saved)

series8.0ms (0.3%)

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

9 calls:

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

rewrite148.0ms (5.7%)

Memory
25.3MiB live, 212.1MiB allocated; 27ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0137799
0142731
1655699
05593655
Stop Event
iter limit
iter limit
node limit
iter limit
Counts
62 → 169
Calls
Call 1
Inputs
(fma.f64 y x (fma.f64 #s(literal 1/2 binary64) x z))
y
x
(fma.f64 #s(literal 1/2 binary64) x z)
#s(literal 1/2 binary64)
z
#s(approx (+ (+ (/ x 2) (* y x)) z) z)
#s(approx (+ (+ (/ x 2) (* y x)) z) (*.f64 y x))
(*.f64 y x)
#s(approx (+ (+ (/ x 2) (* y x)) z) (fma.f64 #s(literal 1/2 binary64) x z))
#s(approx (+ (+ (/ x 2) (* y x)) z) (*.f64 (+.f64 #s(literal 1/2 binary64) y) x))
(*.f64 (+.f64 #s(literal 1/2 binary64) y) x)
(+.f64 #s(literal 1/2 binary64) y)
#s(approx (+ (* y x) (+ (* 1/2 x) z)) #s(hole binary64 z))
#s(approx (+ (* y x) (+ (* 1/2 x) z)) #s(hole binary64 (+ z (* x (+ 1/2 y)))))
#s(approx x #s(hole binary64 x))
#s(approx (+ (* 1/2 x) z) #s(hole binary64 z))
#s(approx (+ (* 1/2 x) z) #s(hole binary64 (+ z (* 1/2 x))))
#s(approx (+ (+ (/ x 2) (* y x)) z) #s(hole binary64 z))
#s(approx (+ (+ (/ x 2) (* y x)) z) #s(hole binary64 (+ z (* x (+ 1/2 y)))))
#s(approx (* y x) #s(hole binary64 (* x y)))
#s(approx (* (+ 1/2 y) x) #s(hole binary64 (* x (+ 1/2 y))))
#s(approx (+ (* y x) (+ (* 1/2 x) z)) #s(hole binary64 (* x (+ 1/2 y))))
#s(approx (+ (* y x) (+ (* 1/2 x) z)) #s(hole binary64 (* x (+ 1/2 (+ y (/ z x))))))
#s(approx (+ (* 1/2 x) z) #s(hole binary64 (* 1/2 x)))
#s(approx (+ (* 1/2 x) z) #s(hole binary64 (* x (+ 1/2 (/ z x)))))
#s(approx (+ (+ (/ x 2) (* y x)) z) #s(hole binary64 (* x (+ 1/2 y))))
#s(approx (+ (+ (/ x 2) (* y x)) z) #s(hole binary64 (* x (+ 1/2 (+ y (/ z x))))))
#s(approx (+ (* y x) (+ (* 1/2 x) z)) #s(hole binary64 (* -1 (* x (- (* -1 y) 1/2)))))
#s(approx (+ (* y x) (+ (* 1/2 x) z)) #s(hole binary64 (* -1 (* x (- (+ (* -1 y) (* -1 (/ z x))) 1/2)))))
#s(approx (+ (* 1/2 x) z) #s(hole binary64 (* -1 (* x (- (* -1 (/ z x)) 1/2)))))
#s(approx (+ (+ (/ x 2) (* y x)) z) #s(hole binary64 (* -1 (* x (- (* -1 y) 1/2)))))
#s(approx (+ (+ (/ x 2) (* y x)) z) #s(hole binary64 (* -1 (* x (- (+ (* -1 y) (* -1 (/ z x))) 1/2)))))
#s(approx (+ (* y x) (+ (* 1/2 x) z)) #s(hole binary64 (+ z (* 1/2 x))))
#s(approx (+ (* y x) (+ (* 1/2 x) z)) #s(hole binary64 (+ z (+ (* 1/2 x) (* x y)))))
#s(approx y #s(hole binary64 y))
#s(approx (+ (+ (/ x 2) (* y x)) z) #s(hole binary64 (+ z (* 1/2 x))))
#s(approx (+ (+ (/ x 2) (* y x)) z) #s(hole binary64 (+ z (+ (* 1/2 x) (* x y)))))
#s(approx (* (+ 1/2 y) x) #s(hole binary64 (* 1/2 x)))
#s(approx (* (+ 1/2 y) x) #s(hole binary64 (+ (* 1/2 x) (* x y))))
#s(approx (+ 1/2 y) #s(hole binary64 1/2))
#s(approx (+ 1/2 y) #s(hole binary64 (+ 1/2 y)))
#s(approx (+ (* y x) (+ (* 1/2 x) z)) #s(hole binary64 (* x y)))
#s(approx (+ (* y x) (+ (* 1/2 x) z)) #s(hole binary64 (* y (+ x (+ (* 1/2 (/ x y)) (/ z y))))))
#s(approx (+ (+ (/ x 2) (* y x)) z) #s(hole binary64 (* x y)))
#s(approx (+ (+ (/ x 2) (* y x)) z) #s(hole binary64 (* y (+ x (+ (* 1/2 (/ x y)) (/ z y))))))
#s(approx (* (+ 1/2 y) x) #s(hole binary64 (* x y)))
#s(approx (* (+ 1/2 y) x) #s(hole binary64 (* y (+ x (* 1/2 (/ x y))))))
#s(approx (+ 1/2 y) #s(hole binary64 y))
#s(approx (+ 1/2 y) #s(hole binary64 (* y (+ 1 (* 1/2 (/ 1 y))))))
#s(approx (+ (* y x) (+ (* 1/2 x) z)) #s(hole binary64 (* -1 (* y (+ (* -1 x) (* -1 (/ (+ z (* 1/2 x)) y)))))))
#s(approx (+ (+ (/ x 2) (* y x)) z) #s(hole binary64 (* -1 (* y (+ (* -1 x) (* -1 (/ (+ z (* 1/2 x)) y)))))))
#s(approx (* (+ 1/2 y) x) #s(hole binary64 (* -1 (* y (+ (* -1 x) (* -1/2 (/ x y)))))))
#s(approx (+ (* y x) (+ (* 1/2 x) z)) #s(hole binary64 (+ (* 1/2 x) (* x y))))
#s(approx z #s(hole binary64 z))
#s(approx (+ (+ (/ x 2) (* y x)) z) #s(hole binary64 (+ (* 1/2 x) (* x y))))
#s(approx (+ (* y x) (+ (* 1/2 x) z)) #s(hole binary64 (* z (+ 1 (+ (* 1/2 (/ x z)) (/ (* x y) z))))))
#s(approx (+ (* 1/2 x) z) #s(hole binary64 (* z (+ 1 (* 1/2 (/ x z))))))
#s(approx (+ (+ (/ x 2) (* y x)) z) #s(hole binary64 (* z (+ 1 (+ (* 1/2 (/ x z)) (/ (* x y) z))))))
#s(approx (+ (* y x) (+ (* 1/2 x) z)) #s(hole binary64 (* -1 (* z (- (* -1 (/ (+ (* 1/2 x) (* x y)) z)) 1)))))
#s(approx (+ (* 1/2 x) z) #s(hole binary64 (* -1 (* z (- (* -1/2 (/ x z)) 1)))))
#s(approx (+ (+ (/ x 2) (* y x)) z) #s(hole binary64 (* -1 (* z (- (* -1 (/ (+ (* 1/2 x) (* x y)) z)) 1)))))
Outputs
(/.f64 (-.f64 (*.f64 #s(literal 1/4 binary64) (*.f64 x x)) (*.f64 (fma.f64 x y z) (fma.f64 x y z))) (-.f64 (*.f64 #s(literal 1/2 binary64) x) (fma.f64 x y z)))
(/.f64 (-.f64 (pow.f64 (fma.f64 #s(literal 1/2 binary64) x z) #s(literal 2 binary64)) (pow.f64 (*.f64 x y) #s(literal 2 binary64))) (-.f64 (fma.f64 #s(literal 1/2 binary64) x z) (*.f64 x y)))
(/.f64 (-.f64 (pow.f64 z #s(literal 3 binary64)) (pow.f64 (*.f64 (neg.f64 x) (-.f64 y #s(literal -1/2 binary64))) #s(literal 3 binary64))) (fma.f64 z z (+.f64 (pow.f64 (*.f64 (-.f64 y #s(literal -1/2 binary64)) x) #s(literal 2 binary64)) (*.f64 z (*.f64 (neg.f64 x) (-.f64 y #s(literal -1/2 binary64)))))))
(/.f64 (fma.f64 #s(literal 1/8 binary64) (pow.f64 x #s(literal 3 binary64)) (pow.f64 (fma.f64 x y z) #s(literal 3 binary64))) (fma.f64 #s(literal 1/4 binary64) (*.f64 x x) (-.f64 (*.f64 (fma.f64 x y z) (fma.f64 x y z)) (*.f64 (*.f64 #s(literal 1/2 binary64) x) (fma.f64 x y z)))))
(/.f64 (neg.f64 (-.f64 (*.f64 z z) (pow.f64 (*.f64 (-.f64 y #s(literal -1/2 binary64)) x) #s(literal 2 binary64)))) (neg.f64 (-.f64 z (*.f64 (-.f64 y #s(literal -1/2 binary64)) x))))
(/.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 x y) #s(literal 2 binary64)) (pow.f64 (fma.f64 #s(literal 1/2 binary64) x z) #s(literal 2 binary64)))) (neg.f64 (-.f64 (*.f64 x y) (fma.f64 #s(literal 1/2 binary64) x z))))
(/.f64 (neg.f64 (+.f64 (pow.f64 (*.f64 (-.f64 y #s(literal -1/2 binary64)) x) #s(literal 3 binary64)) (pow.f64 z #s(literal 3 binary64)))) (neg.f64 (fma.f64 (*.f64 (-.f64 y #s(literal -1/2 binary64)) x) (-.f64 (*.f64 (-.f64 y #s(literal -1/2 binary64)) x) z) (*.f64 z z))))
(/.f64 (neg.f64 (+.f64 (pow.f64 (*.f64 (-.f64 y #s(literal -1/2 binary64)) x) #s(literal 3 binary64)) (pow.f64 z #s(literal 3 binary64)))) (neg.f64 (fma.f64 z (-.f64 z (*.f64 (-.f64 y #s(literal -1/2 binary64)) x)) (pow.f64 (*.f64 (-.f64 y #s(literal -1/2 binary64)) x) #s(literal 2 binary64)))))
(/.f64 (neg.f64 (+.f64 (pow.f64 (fma.f64 #s(literal 1/2 binary64) x z) #s(literal 3 binary64)) (pow.f64 (*.f64 x y) #s(literal 3 binary64)))) (neg.f64 (fma.f64 (fma.f64 #s(literal 1/2 binary64) x z) (-.f64 (fma.f64 #s(literal 1/2 binary64) x z) (*.f64 x y)) (pow.f64 (*.f64 x y) #s(literal 2 binary64)))))
(/.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 (-.f64 y #s(literal -1/2 binary64)) x) #s(literal 2 binary64)) (*.f64 z z))) (neg.f64 (-.f64 (*.f64 (-.f64 y #s(literal -1/2 binary64)) x) z)))
(/.f64 (-.f64 (*.f64 z z) (pow.f64 (*.f64 (-.f64 y #s(literal -1/2 binary64)) x) #s(literal 2 binary64))) (-.f64 z (*.f64 (-.f64 y #s(literal -1/2 binary64)) x)))
(/.f64 (-.f64 (pow.f64 (*.f64 (-.f64 y #s(literal -1/2 binary64)) x) #s(literal 2 binary64)) (*.f64 z z)) (-.f64 (*.f64 (-.f64 y #s(literal -1/2 binary64)) x) z))
(/.f64 (-.f64 (pow.f64 (*.f64 x y) #s(literal 2 binary64)) (pow.f64 (fma.f64 #s(literal 1/2 binary64) x z) #s(literal 2 binary64))) (-.f64 (*.f64 x y) (fma.f64 #s(literal 1/2 binary64) x z)))
(/.f64 (+.f64 (pow.f64 (*.f64 (-.f64 y #s(literal -1/2 binary64)) x) #s(literal 3 binary64)) (pow.f64 z #s(literal 3 binary64))) (fma.f64 (*.f64 (-.f64 y #s(literal -1/2 binary64)) x) (-.f64 (*.f64 (-.f64 y #s(literal -1/2 binary64)) x) z) (*.f64 z z)))
(/.f64 (+.f64 (pow.f64 (*.f64 (-.f64 y #s(literal -1/2 binary64)) x) #s(literal 3 binary64)) (pow.f64 z #s(literal 3 binary64))) (fma.f64 z (-.f64 z (*.f64 (-.f64 y #s(literal -1/2 binary64)) x)) (pow.f64 (*.f64 (-.f64 y #s(literal -1/2 binary64)) x) #s(literal 2 binary64))))
(/.f64 (+.f64 (pow.f64 (fma.f64 #s(literal 1/2 binary64) x z) #s(literal 3 binary64)) (pow.f64 (*.f64 x y) #s(literal 3 binary64))) (+.f64 (pow.f64 (fma.f64 #s(literal 1/2 binary64) x z) #s(literal 2 binary64)) (-.f64 (pow.f64 (*.f64 x y) #s(literal 2 binary64)) (*.f64 (fma.f64 #s(literal 1/2 binary64) x z) (*.f64 x y)))))
(/.f64 (+.f64 (pow.f64 (fma.f64 #s(literal 1/2 binary64) x z) #s(literal 3 binary64)) (pow.f64 (*.f64 x y) #s(literal 3 binary64))) (fma.f64 (fma.f64 #s(literal 1/2 binary64) x z) (-.f64 (fma.f64 #s(literal 1/2 binary64) x z) (*.f64 x y)) (pow.f64 (*.f64 x y) #s(literal 2 binary64))))
(fma.f64 #s(literal -1 binary64) (/.f64 x #s(literal -2 binary64)) (fma.f64 x y z))
(fma.f64 (-.f64 y #s(literal -1/2 binary64)) x z)
(fma.f64 (*.f64 #s(literal 1/2 binary64) x) #s(literal 1 binary64) (fma.f64 x y z))
(fma.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1 binary64) x) (fma.f64 x y z))
(fma.f64 #s(literal 1/2 binary64) x (fma.f64 x y z))
(fma.f64 x (-.f64 y #s(literal -1/2 binary64)) z)
(fma.f64 x #s(literal 1/2 binary64) (fma.f64 x y z))
(fma.f64 x y (fma.f64 #s(literal 1/2 binary64) x z))
(fma.f64 y x (fma.f64 #s(literal 1/2 binary64) x z))
(-.f64 (/.f64 (*.f64 z z) (-.f64 z (*.f64 (-.f64 y #s(literal -1/2 binary64)) x))) (/.f64 (pow.f64 (*.f64 (-.f64 y #s(literal -1/2 binary64)) x) #s(literal 2 binary64)) (-.f64 z (*.f64 (-.f64 y #s(literal -1/2 binary64)) x))))
(-.f64 (/.f64 (pow.f64 (*.f64 x y) #s(literal 2 binary64)) (-.f64 (*.f64 x y) (fma.f64 #s(literal 1/2 binary64) x z))) (/.f64 (pow.f64 (fma.f64 #s(literal 1/2 binary64) x z) #s(literal 2 binary64)) (-.f64 (*.f64 x y) (fma.f64 #s(literal 1/2 binary64) x z))))
(-.f64 (/.f64 (pow.f64 (*.f64 (-.f64 y #s(literal -1/2 binary64)) x) #s(literal 2 binary64)) (-.f64 (*.f64 (-.f64 y #s(literal -1/2 binary64)) x) z)) (/.f64 (*.f64 z z) (-.f64 (*.f64 (-.f64 y #s(literal -1/2 binary64)) x) z)))
(-.f64 (fma.f64 x y z) (*.f64 #s(literal -1/2 binary64) x))
(-.f64 (fma.f64 #s(literal 1/2 binary64) x z) (*.f64 (neg.f64 x) y))
(-.f64 (*.f64 #s(literal 1/2 binary64) x) (-.f64 (*.f64 (neg.f64 x) y) z))
(-.f64 z (-.f64 (*.f64 #s(literal -1/2 binary64) x) (*.f64 x y)))
(-.f64 z (*.f64 (neg.f64 x) (-.f64 y #s(literal -1/2 binary64))))
(+.f64 (/.f64 (pow.f64 z #s(literal 3 binary64)) (fma.f64 (*.f64 (-.f64 y #s(literal -1/2 binary64)) x) (-.f64 (*.f64 (-.f64 y #s(literal -1/2 binary64)) x) z) (*.f64 z z))) (/.f64 (pow.f64 (*.f64 (-.f64 y #s(literal -1/2 binary64)) x) #s(literal 3 binary64)) (fma.f64 (*.f64 (-.f64 y #s(literal -1/2 binary64)) x) (-.f64 (*.f64 (-.f64 y #s(literal -1/2 binary64)) x) z) (*.f64 z z))))
(+.f64 (/.f64 (pow.f64 (*.f64 x y) #s(literal 3 binary64)) (fma.f64 (fma.f64 #s(literal 1/2 binary64) x z) (-.f64 (fma.f64 #s(literal 1/2 binary64) x z) (*.f64 x y)) (pow.f64 (*.f64 x y) #s(literal 2 binary64)))) (/.f64 (pow.f64 (fma.f64 #s(literal 1/2 binary64) x z) #s(literal 3 binary64)) (fma.f64 (fma.f64 #s(literal 1/2 binary64) x z) (-.f64 (fma.f64 #s(literal 1/2 binary64) x z) (*.f64 x y)) (pow.f64 (*.f64 x y) #s(literal 2 binary64)))))
(+.f64 (/.f64 (pow.f64 (*.f64 (-.f64 y #s(literal -1/2 binary64)) x) #s(literal 3 binary64)) (fma.f64 z (-.f64 z (*.f64 (-.f64 y #s(literal -1/2 binary64)) x)) (pow.f64 (*.f64 (-.f64 y #s(literal -1/2 binary64)) x) #s(literal 2 binary64)))) (/.f64 (pow.f64 z #s(literal 3 binary64)) (fma.f64 z (-.f64 z (*.f64 (-.f64 y #s(literal -1/2 binary64)) x)) (pow.f64 (*.f64 (-.f64 y #s(literal -1/2 binary64)) x) #s(literal 2 binary64)))))
(+.f64 (fma.f64 x y z) (*.f64 #s(literal 1/2 binary64) x))
(+.f64 (*.f64 (-.f64 y #s(literal -1/2 binary64)) x) z)
(+.f64 (fma.f64 #s(literal 1/2 binary64) x z) (*.f64 x y))
(+.f64 (*.f64 #s(literal 1/2 binary64) x) (fma.f64 x y z))
(+.f64 (*.f64 x y) (fma.f64 #s(literal 1/2 binary64) x z))
(+.f64 z (*.f64 (neg.f64 (neg.f64 x)) (-.f64 y #s(literal -1/2 binary64))))
(+.f64 z (*.f64 (-.f64 y #s(literal -1/2 binary64)) x))
y
x
(/.f64 (-.f64 (pow.f64 z #s(literal 3 binary64)) (pow.f64 (*.f64 #s(literal -1/2 binary64) x) #s(literal 3 binary64))) (fma.f64 z z (fma.f64 #s(literal 1/4 binary64) (*.f64 x x) (*.f64 z (*.f64 #s(literal -1/2 binary64) x)))))
(/.f64 (neg.f64 (fma.f64 #s(literal 1/4 binary64) (*.f64 x x) (*.f64 (neg.f64 z) z))) (neg.f64 (-.f64 (*.f64 #s(literal 1/2 binary64) x) z)))
(/.f64 (neg.f64 (-.f64 (*.f64 z z) (*.f64 #s(literal 1/4 binary64) (*.f64 x x)))) (neg.f64 (-.f64 z (*.f64 #s(literal 1/2 binary64) x))))
(/.f64 (neg.f64 (fma.f64 #s(literal 1/8 binary64) (pow.f64 x #s(literal 3 binary64)) (pow.f64 z #s(literal 3 binary64)))) (neg.f64 (fma.f64 #s(literal 1/4 binary64) (*.f64 x x) (*.f64 z (-.f64 z (*.f64 #s(literal 1/2 binary64) x))))))
(/.f64 (neg.f64 (fma.f64 #s(literal 1/8 binary64) (pow.f64 x #s(literal 3 binary64)) (pow.f64 z #s(literal 3 binary64)))) (neg.f64 (fma.f64 (*.f64 #s(literal 1/2 binary64) x) (-.f64 (*.f64 #s(literal 1/2 binary64) x) z) (*.f64 z z))))
(/.f64 (fma.f64 #s(literal 1/4 binary64) (*.f64 x x) (*.f64 (neg.f64 z) z)) (-.f64 (*.f64 #s(literal 1/2 binary64) x) z))
(/.f64 (-.f64 (*.f64 z z) (*.f64 #s(literal 1/4 binary64) (*.f64 x x))) (-.f64 z (*.f64 #s(literal 1/2 binary64) x)))
(/.f64 (fma.f64 #s(literal 1/8 binary64) (pow.f64 x #s(literal 3 binary64)) (pow.f64 z #s(literal 3 binary64))) (fma.f64 #s(literal 1/4 binary64) (*.f64 x x) (*.f64 z (-.f64 z (*.f64 #s(literal 1/2 binary64) x)))))
(/.f64 (fma.f64 #s(literal 1/8 binary64) (pow.f64 x #s(literal 3 binary64)) (pow.f64 z #s(literal 3 binary64))) (fma.f64 (*.f64 #s(literal 1/2 binary64) x) (-.f64 (*.f64 #s(literal 1/2 binary64) x) z) (*.f64 z z)))
(fma.f64 #s(literal -1 binary64) (/.f64 x #s(literal -2 binary64)) z)
(fma.f64 (*.f64 #s(literal 1/2 binary64) x) #s(literal 1 binary64) z)
(fma.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1 binary64) x) z)
(fma.f64 #s(literal 1/2 binary64) x z)
(fma.f64 x #s(literal 1/2 binary64) z)
(-.f64 (/.f64 (*.f64 #s(literal 1/4 binary64) (*.f64 x x)) (-.f64 (*.f64 #s(literal 1/2 binary64) x) z)) (/.f64 (*.f64 z z) (-.f64 (*.f64 #s(literal 1/2 binary64) x) z)))
(-.f64 (/.f64 (*.f64 z z) (-.f64 z (*.f64 #s(literal 1/2 binary64) x))) (/.f64 (*.f64 #s(literal 1/4 binary64) (*.f64 x x)) (-.f64 z (*.f64 #s(literal 1/2 binary64) x))))
(-.f64 z (*.f64 (neg.f64 x) #s(literal 1/2 binary64)))
(-.f64 z (*.f64 #s(literal -1/2 binary64) x))
(+.f64 (/.f64 (*.f64 #s(literal 1/8 binary64) (pow.f64 x #s(literal 3 binary64))) (fma.f64 #s(literal 1/4 binary64) (*.f64 x x) (*.f64 z (-.f64 z (*.f64 #s(literal 1/2 binary64) x))))) (/.f64 (pow.f64 z #s(literal 3 binary64)) (fma.f64 #s(literal 1/4 binary64) (*.f64 x x) (*.f64 z (-.f64 z (*.f64 #s(literal 1/2 binary64) x))))))
(+.f64 (/.f64 (pow.f64 z #s(literal 3 binary64)) (fma.f64 (*.f64 #s(literal 1/2 binary64) x) (-.f64 (*.f64 #s(literal 1/2 binary64) x) z) (*.f64 z z))) (/.f64 (*.f64 #s(literal 1/8 binary64) (pow.f64 x #s(literal 3 binary64))) (fma.f64 (*.f64 #s(literal 1/2 binary64) x) (-.f64 (*.f64 #s(literal 1/2 binary64) x) z) (*.f64 z z))))
(+.f64 (*.f64 #s(literal 1/2 binary64) x) z)
(+.f64 z (*.f64 #s(literal 1/2 binary64) x))
#s(literal 1/2 binary64)
z
#s(approx (+ (+ (/ x 2) (* y x)) z) z)
#s(approx (+ (+ (/ x 2) (* y x)) z) (*.f64 x y))
(*.f64 x y)
(*.f64 y x)
#s(approx (+ (+ (/ x 2) (* y x)) z) (fma.f64 #s(literal 1/2 binary64) x z))
#s(approx (+ (+ (/ x 2) (* y x)) z) (*.f64 (-.f64 y #s(literal -1/2 binary64)) x))
(*.f64 (-.f64 y #s(literal -1/2 binary64)) x)
(*.f64 x (-.f64 y #s(literal -1/2 binary64)))
(/.f64 (*.f64 x (-.f64 #s(literal 1/4 binary64) (*.f64 y y))) (-.f64 #s(literal 1/2 binary64) y))
(/.f64 (*.f64 x (+.f64 #s(literal 1/8 binary64) (pow.f64 y #s(literal 3 binary64)))) (fma.f64 y (-.f64 y #s(literal 1/2 binary64)) #s(literal 1/4 binary64)))
(/.f64 (-.f64 (pow.f64 (*.f64 x y) #s(literal 2 binary64)) (*.f64 #s(literal 1/4 binary64) (*.f64 x x))) (-.f64 (*.f64 x y) (*.f64 #s(literal 1/2 binary64) x)))
(/.f64 (-.f64 (*.f64 #s(literal 1/8 binary64) (pow.f64 x #s(literal 3 binary64))) (pow.f64 (*.f64 (neg.f64 x) y) #s(literal 3 binary64))) (fma.f64 #s(literal 1/4 binary64) (*.f64 x x) (+.f64 (pow.f64 (*.f64 x y) #s(literal 2 binary64)) (*.f64 (*.f64 #s(literal 1/2 binary64) x) (*.f64 (neg.f64 x) y)))))
(/.f64 (neg.f64 (-.f64 (*.f64 #s(literal 1/4 binary64) (*.f64 x x)) (pow.f64 (*.f64 x y) #s(literal 2 binary64)))) (neg.f64 (*.f64 x (-.f64 #s(literal 1/2 binary64) y))))
(/.f64 (neg.f64 (fma.f64 #s(literal 1/8 binary64) (pow.f64 x #s(literal 3 binary64)) (pow.f64 (*.f64 x y) #s(literal 3 binary64)))) (neg.f64 (fma.f64 #s(literal 1/4 binary64) (*.f64 x x) (*.f64 (*.f64 x y) (-.f64 (*.f64 x y) (*.f64 #s(literal 1/2 binary64) x))))))
(/.f64 (*.f64 (-.f64 #s(literal 1/4 binary64) (*.f64 y y)) x) (-.f64 #s(literal 1/2 binary64) y))
(/.f64 (*.f64 (+.f64 #s(literal 1/8 binary64) (pow.f64 y #s(literal 3 binary64))) x) (fma.f64 y (-.f64 y #s(literal 1/2 binary64)) #s(literal 1/4 binary64)))
(/.f64 (-.f64 (*.f64 #s(literal 1/4 binary64) (*.f64 x x)) (pow.f64 (*.f64 x y) #s(literal 2 binary64))) (*.f64 x (-.f64 #s(literal 1/2 binary64) y)))
(/.f64 (fma.f64 #s(literal 1/8 binary64) (pow.f64 x #s(literal 3 binary64)) (pow.f64 (*.f64 x y) #s(literal 3 binary64))) (+.f64 (pow.f64 (*.f64 x y) #s(literal 2 binary64)) (-.f64 (*.f64 #s(literal 1/4 binary64) (*.f64 x x)) (*.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) x) x) y))))
(/.f64 (fma.f64 #s(literal 1/8 binary64) (pow.f64 x #s(literal 3 binary64)) (pow.f64 (*.f64 x y) #s(literal 3 binary64))) (fma.f64 #s(literal 1/4 binary64) (*.f64 x x) (*.f64 (*.f64 x y) (-.f64 (*.f64 x y) (*.f64 #s(literal 1/2 binary64) x)))))
(fma.f64 #s(literal -1 binary64) (/.f64 x #s(literal -2 binary64)) (*.f64 (neg.f64 (neg.f64 x)) y))
(fma.f64 #s(literal -1 binary64) (/.f64 x #s(literal -2 binary64)) (*.f64 x y))
(fma.f64 (*.f64 #s(literal 1/2 binary64) x) #s(literal 1 binary64) (*.f64 (neg.f64 (neg.f64 x)) y))
(fma.f64 (*.f64 #s(literal 1/2 binary64) x) #s(literal 1 binary64) (*.f64 x y))
(fma.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1 binary64) x) (*.f64 (neg.f64 (neg.f64 x)) y))
(fma.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1 binary64) x) (*.f64 x y))
(fma.f64 #s(literal 1/2 binary64) x (*.f64 (neg.f64 (neg.f64 x)) y))
(fma.f64 #s(literal 1/2 binary64) x (*.f64 x y))
(fma.f64 x #s(literal 1/2 binary64) (*.f64 (neg.f64 (neg.f64 x)) y))
(fma.f64 x #s(literal 1/2 binary64) (*.f64 x y))
(fma.f64 x y (*.f64 #s(literal 1/2 binary64) x))
(fma.f64 y x (*.f64 #s(literal 1/2 binary64) x))
(-.f64 (/.f64 (*.f64 #s(literal 1/4 binary64) (*.f64 x x)) (*.f64 x (-.f64 #s(literal 1/2 binary64) y))) (/.f64 (pow.f64 (*.f64 x y) #s(literal 2 binary64)) (*.f64 x (-.f64 #s(literal 1/2 binary64) y))))
(-.f64 (*.f64 #s(literal 1/2 binary64) x) (*.f64 (neg.f64 x) y))
(-.f64 (*.f64 x y) (*.f64 (neg.f64 x) #s(literal 1/2 binary64)))
(-.f64 (*.f64 x y) (*.f64 #s(literal -1/2 binary64) x))
(+.f64 (/.f64 (*.f64 #s(literal 1/8 binary64) (pow.f64 x #s(literal 3 binary64))) (fma.f64 #s(literal 1/4 binary64) (*.f64 x x) (*.f64 (*.f64 x y) (-.f64 (*.f64 x y) (*.f64 #s(literal 1/2 binary64) x))))) (/.f64 (pow.f64 (*.f64 x y) #s(literal 3 binary64)) (fma.f64 #s(literal 1/4 binary64) (*.f64 x x) (*.f64 (*.f64 x y) (-.f64 (*.f64 x y) (*.f64 #s(literal 1/2 binary64) x))))))
(+.f64 (*.f64 #s(literal 1/2 binary64) x) (*.f64 (neg.f64 (neg.f64 x)) y))
(+.f64 (*.f64 #s(literal 1/2 binary64) x) (*.f64 x y))
(+.f64 (*.f64 x y) (*.f64 #s(literal 1/2 binary64) x))
(/.f64 (neg.f64 (-.f64 #s(literal 1/4 binary64) (*.f64 y y))) (neg.f64 (-.f64 #s(literal 1/2 binary64) y)))
(/.f64 (neg.f64 (+.f64 #s(literal 1/8 binary64) (pow.f64 y #s(literal 3 binary64)))) (neg.f64 (fma.f64 y (-.f64 y #s(literal 1/2 binary64)) #s(literal 1/4 binary64))))
(/.f64 (fma.f64 y y #s(literal -1/4 binary64)) (-.f64 y #s(literal 1/2 binary64)))
(/.f64 (-.f64 #s(literal 1/4 binary64) (*.f64 y y)) (-.f64 #s(literal 1/2 binary64) y))
(/.f64 (+.f64 #s(literal 1/8 binary64) (pow.f64 y #s(literal 3 binary64))) (fma.f64 y y (fma.f64 y #s(literal -1/2 binary64) #s(literal 1/4 binary64))))
(/.f64 (+.f64 #s(literal 1/8 binary64) (pow.f64 y #s(literal 3 binary64))) (fma.f64 y (-.f64 y #s(literal 1/2 binary64)) #s(literal 1/4 binary64)))
(-.f64 (/.f64 #s(literal 1/4 binary64) (-.f64 #s(literal 1/2 binary64) y)) (/.f64 (*.f64 y y) (-.f64 #s(literal 1/2 binary64) y)))
(-.f64 y #s(literal -1/2 binary64))
(+.f64 (/.f64 #s(literal 1/8 binary64) (fma.f64 y (-.f64 y #s(literal 1/2 binary64)) #s(literal 1/4 binary64))) (/.f64 (pow.f64 y #s(literal 3 binary64)) (fma.f64 y (-.f64 y #s(literal 1/2 binary64)) #s(literal 1/4 binary64))))
(+.f64 #s(literal 1/2 binary64) y)
(+.f64 y #s(literal 1/2 binary64))
#s(approx (+ (+ (/ x 2) (* y x)) z) z)
#s(approx (+ (+ (/ x 2) (* y x)) z) (fma.f64 (-.f64 y #s(literal -1/2 binary64)) x z))
#s(approx x x)
#s(approx (+ (* 1/2 x) z) z)
#s(approx (+ (* 1/2 x) z) (fma.f64 #s(literal 1/2 binary64) x z))
#s(approx (+ (+ (/ x 2) (* y x)) z) z)
#s(approx (+ (+ (/ x 2) (* y x)) z) (fma.f64 (-.f64 y #s(literal -1/2 binary64)) x z))
#s(approx (* y x) (*.f64 x y))
#s(approx (* (+ 1/2 y) x) (*.f64 (-.f64 y #s(literal -1/2 binary64)) x))
#s(approx (+ (+ (/ x 2) (* y x)) z) (*.f64 (-.f64 y #s(literal -1/2 binary64)) x))
#s(approx (+ (+ (/ x 2) (* y x)) z) (*.f64 (-.f64 (+.f64 (/.f64 z x) y) #s(literal -1/2 binary64)) x))
#s(approx (+ (* 1/2 x) z) (*.f64 #s(literal 1/2 binary64) x))
#s(approx (+ (* 1/2 x) z) (*.f64 (-.f64 (/.f64 z x) #s(literal -1/2 binary64)) x))
#s(approx (+ (+ (/ x 2) (* y x)) z) (*.f64 (-.f64 y #s(literal -1/2 binary64)) x))
#s(approx (+ (+ (/ x 2) (* y x)) z) (*.f64 (-.f64 (+.f64 (/.f64 z x) y) #s(literal -1/2 binary64)) x))
#s(approx (+ (+ (/ x 2) (* y x)) z) (*.f64 (neg.f64 x) (fma.f64 #s(literal -1 binary64) y #s(literal -1/2 binary64))))
#s(approx (+ (+ (/ x 2) (* y x)) z) (*.f64 (neg.f64 x) (fma.f64 #s(literal -1 binary64) (+.f64 (/.f64 z x) y) #s(literal -1/2 binary64))))
#s(approx (+ (* 1/2 x) z) (*.f64 (neg.f64 x) (fma.f64 #s(literal -1 binary64) (/.f64 z x) #s(literal -1/2 binary64))))
#s(approx (+ (+ (/ x 2) (* y x)) z) (*.f64 (neg.f64 x) (fma.f64 #s(literal -1 binary64) y #s(literal -1/2 binary64))))
#s(approx (+ (+ (/ x 2) (* y x)) z) (*.f64 (neg.f64 x) (fma.f64 #s(literal -1 binary64) (+.f64 (/.f64 z x) y) #s(literal -1/2 binary64))))
#s(approx (+ (+ (/ x 2) (* y x)) z) (fma.f64 #s(literal 1/2 binary64) x z))
#s(approx (+ (+ (/ x 2) (* y x)) z) (fma.f64 (-.f64 y #s(literal -1/2 binary64)) x z))
#s(approx y y)
#s(approx (+ (+ (/ x 2) (* y x)) z) (fma.f64 #s(literal 1/2 binary64) x z))
#s(approx (+ (+ (/ x 2) (* y x)) z) (fma.f64 (-.f64 y #s(literal -1/2 binary64)) x z))
#s(approx (* (+ 1/2 y) x) (*.f64 #s(literal 1/2 binary64) x))
#s(approx (* (+ 1/2 y) x) (*.f64 (-.f64 y #s(literal -1/2 binary64)) x))
#s(approx (+ 1/2 y) #s(literal 1/2 binary64))
#s(approx (+ 1/2 y) (-.f64 y #s(literal -1/2 binary64)))
#s(approx (+ (+ (/ x 2) (* y x)) z) (*.f64 x y))
#s(approx (+ (+ (/ x 2) (* y x)) z) (*.f64 (+.f64 (/.f64 (fma.f64 #s(literal 1/2 binary64) x z) y) x) y))
#s(approx (+ (+ (/ x 2) (* y x)) z) (*.f64 x y))
#s(approx (+ (+ (/ x 2) (* y x)) z) (*.f64 (+.f64 (/.f64 (fma.f64 #s(literal 1/2 binary64) x z) y) x) y))
#s(approx (* (+ 1/2 y) x) (*.f64 x y))
#s(approx (* (+ 1/2 y) x) (*.f64 (fma.f64 (/.f64 x y) #s(literal 1/2 binary64) x) y))
#s(approx (+ 1/2 y) y)
#s(approx (+ 1/2 y) (fma.f64 (/.f64 #s(literal 1/2 binary64) y) y y))
#s(approx (+ (+ (/ x 2) (* y x)) z) (*.f64 (neg.f64 (+.f64 (/.f64 (fma.f64 #s(literal 1/2 binary64) x z) y) x)) (neg.f64 y)))
#s(approx (+ (+ (/ x 2) (* y x)) z) (*.f64 (neg.f64 (+.f64 (/.f64 (fma.f64 #s(literal 1/2 binary64) x z) y) x)) (neg.f64 y)))
#s(approx (* (+ 1/2 y) x) (*.f64 (fma.f64 #s(literal -1/2 binary64) (/.f64 x y) (neg.f64 x)) (neg.f64 y)))
#s(approx (+ (+ (/ x 2) (* y x)) z) (*.f64 (-.f64 y #s(literal -1/2 binary64)) x))
#s(approx z z)
#s(approx (+ (+ (/ x 2) (* y x)) z) (*.f64 (-.f64 y #s(literal -1/2 binary64)) x))
#s(approx (+ (+ (/ x 2) (* y x)) z) (*.f64 (fma.f64 (-.f64 y #s(literal -1/2 binary64)) (/.f64 x z) #s(literal 1 binary64)) z))
#s(approx (+ (* 1/2 x) z) (*.f64 (fma.f64 (/.f64 x z) #s(literal 1/2 binary64) #s(literal 1 binary64)) z))
#s(approx (+ (+ (/ x 2) (* y x)) z) (*.f64 (fma.f64 (-.f64 y #s(literal -1/2 binary64)) (/.f64 x z) #s(literal 1 binary64)) z))
#s(approx (+ (+ (/ x 2) (* y x)) z) (*.f64 (neg.f64 z) (fma.f64 (/.f64 (*.f64 (-.f64 y #s(literal -1/2 binary64)) x) z) #s(literal -1 binary64) #s(literal -1 binary64))))
#s(approx (+ (* 1/2 x) z) (*.f64 (neg.f64 z) (fma.f64 (/.f64 x z) #s(literal -1/2 binary64) #s(literal -1 binary64))))
#s(approx (+ (+ (/ x 2) (* y x)) z) (*.f64 (neg.f64 z) (fma.f64 (/.f64 (*.f64 (-.f64 y #s(literal -1/2 binary64)) x) z) #s(literal -1 binary64) #s(literal -1 binary64))))

eval29.0ms (1.1%)

Memory
-16.6MiB live, 83.0MiB allocated; 12ms collecting garbage
Compiler

Compiled 3 804 to 497 computations (86.9% saved)

prune11.0ms (0.4%)

Memory
-6.5MiB live, 38.0MiB allocated; 6ms collecting garbage
Pruning

8 alts after pruning (4 fresh and 4 done)

PrunedKeptTotal
New1914195
Fresh202
Picked145
Done000
Total1948202
Accuracy
100.0%
Counts
202 → 8
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(fma.f64 (-.f64 y #s(literal -1/2 binary64)) x z)
59.0%
(fma.f64 y x #s(approx (+ (* 1/2 x) z) (*.f64 #s(literal 1/2 binary64) x)))
74.9%
(fma.f64 y x #s(approx (+ (* 1/2 x) z) z))
66.2%
#s(approx (+ (+ (/ x 2) (* y x)) z) (fma.f64 #s(literal 1/2 binary64) x z))
59.0%
#s(approx (+ (+ (/ x 2) (* y x)) z) (*.f64 (+.f64 #s(literal 1/2 binary64) y) x))
25.7%
#s(approx (+ (+ (/ x 2) (* y x)) z) (*.f64 #s(approx (+ 1/2 y) #s(literal 1/2 binary64)) x))
36.0%
#s(approx (+ (+ (/ x 2) (* y x)) z) (*.f64 y x))
41.5%
#s(approx (+ (+ (/ x 2) (* y x)) z) z)
Compiler

Compiled 98 to 80 computations (18.4% saved)

series14.0ms (0.5%)

Memory
-9.5MiB live, 33.6MiB allocated; 14ms collecting garbage
Counts
15 → 65
Calls
Call 1
Inputs
#s(approx (+ (+ (/ x 2) (* y x)) z) (*.f64 #s(approx (+ 1/2 y) #s(literal 1/2 binary64)) x))
(*.f64 #s(approx (+ 1/2 y) #s(literal 1/2 binary64)) x)
#s(approx (+ 1/2 y) #s(literal 1/2 binary64))
#s(literal 1/2 binary64)
x
(fma.f64 y x #s(approx (+ (* 1/2 x) z) z))
y
#s(approx (+ (* 1/2 x) z) z)
z
(fma.f64 y x #s(approx (+ (* 1/2 x) z) (*.f64 #s(literal 1/2 binary64) x)))
#s(approx (+ (* 1/2 x) z) (*.f64 #s(literal 1/2 binary64) x))
(*.f64 #s(literal 1/2 binary64) x)
(fma.f64 (-.f64 y #s(literal -1/2 binary64)) x z)
(-.f64 y #s(literal -1/2 binary64))
#s(literal -1/2 binary64)
Outputs
#s(approx (+ (+ (/ x 2) (* y x)) z) #s(hole binary64 z))
#s(approx (+ (+ (/ x 2) (* y x)) z) #s(hole binary64 (+ z (* x (+ 1/2 y)))))
#s(approx (* (+ 1/2 y) x) #s(hole binary64 (* x (+ 1/2 y))))
#s(approx x #s(hole binary64 x))
#s(approx (+ (* y x) (+ (* 1/2 x) z)) #s(hole binary64 z))
#s(approx (+ (* y x) (+ (* 1/2 x) z)) #s(hole binary64 (+ z (* x (+ 1/2 y)))))
#s(approx (+ (* 1/2 x) z) #s(hole binary64 z))
#s(approx (+ (* 1/2 x) z) #s(hole binary64 (+ z (* 1/2 x))))
#s(approx (* 1/2 x) #s(hole binary64 (* 1/2 x)))
#s(approx (+ (* (- y -1/2) x) z) #s(hole binary64 z))
#s(approx (+ (* (- y -1/2) x) z) #s(hole binary64 (+ z (* x (+ 1/2 y)))))
#s(approx (+ (+ (/ x 2) (* y x)) z) #s(hole binary64 (* x (+ 1/2 y))))
#s(approx (+ (+ (/ x 2) (* y x)) z) #s(hole binary64 (* x (+ 1/2 (+ y (/ z x))))))
#s(approx (+ (* y x) (+ (* 1/2 x) z)) #s(hole binary64 (* x (+ 1/2 y))))
#s(approx (+ (* y x) (+ (* 1/2 x) z)) #s(hole binary64 (* x (+ 1/2 (+ y (/ z x))))))
#s(approx (+ (* 1/2 x) z) #s(hole binary64 (* 1/2 x)))
#s(approx (+ (* 1/2 x) z) #s(hole binary64 (* x (+ 1/2 (/ z x)))))
#s(approx (+ (* (- y -1/2) x) z) #s(hole binary64 (* x (+ 1/2 y))))
#s(approx (+ (* (- y -1/2) x) z) #s(hole binary64 (* x (+ 1/2 (+ y (/ z x))))))
#s(approx (+ (+ (/ x 2) (* y x)) z) #s(hole binary64 (* -1 (* x (- (* -1 y) 1/2)))))
#s(approx (+ (+ (/ x 2) (* y x)) z) #s(hole binary64 (* -1 (* x (- (+ (* -1 y) (* -1 (/ z x))) 1/2)))))
#s(approx (+ (* y x) (+ (* 1/2 x) z)) #s(hole binary64 (* -1 (* x (- (* -1 y) 1/2)))))
#s(approx (+ (* y x) (+ (* 1/2 x) z)) #s(hole binary64 (* -1 (* x (- (+ (* -1 y) (* -1 (/ z x))) 1/2)))))
#s(approx (+ (* 1/2 x) z) #s(hole binary64 (* -1 (* x (- (* -1 (/ z x)) 1/2)))))
#s(approx (+ (* (- y -1/2) x) z) #s(hole binary64 (* -1 (* x (+ (* -1 (+ 1/2 y)) (* -1 (/ z x)))))))
#s(approx (+ (+ (/ x 2) (* y x)) z) #s(hole binary64 (+ z (* 1/2 x))))
#s(approx (+ (+ (/ x 2) (* y x)) z) #s(hole binary64 (+ z (+ (* 1/2 x) (* x y)))))
#s(approx (* (+ 1/2 y) x) #s(hole binary64 (* 1/2 x)))
#s(approx (* (+ 1/2 y) x) #s(hole binary64 (+ (* 1/2 x) (* x y))))
#s(approx (+ 1/2 y) #s(hole binary64 1/2))
#s(approx (+ 1/2 y) #s(hole binary64 (+ 1/2 y)))
#s(approx (+ (* y x) (+ (* 1/2 x) z)) #s(hole binary64 (+ z (* 1/2 x))))
#s(approx (+ (* y x) (+ (* 1/2 x) z)) #s(hole binary64 (+ z (+ (* 1/2 x) (* x y)))))
#s(approx y #s(hole binary64 y))
#s(approx (+ (* (- y -1/2) x) z) #s(hole binary64 (+ z (* 1/2 x))))
#s(approx (+ (* (- y -1/2) x) z) #s(hole binary64 (+ z (+ (* 1/2 x) (* x y)))))
#s(approx (- y -1/2) #s(hole binary64 1/2))
#s(approx (- y -1/2) #s(hole binary64 (+ 1/2 y)))
#s(approx (+ (+ (/ x 2) (* y x)) z) #s(hole binary64 (* x y)))
#s(approx (+ (+ (/ x 2) (* y x)) z) #s(hole binary64 (* y (+ x (+ (* 1/2 (/ x y)) (/ z y))))))
#s(approx (* (+ 1/2 y) x) #s(hole binary64 (* x y)))
#s(approx (* (+ 1/2 y) x) #s(hole binary64 (* y (+ x (* 1/2 (/ x y))))))
#s(approx (+ 1/2 y) #s(hole binary64 y))
#s(approx (+ 1/2 y) #s(hole binary64 (* y (+ 1 (* 1/2 (/ 1 y))))))
#s(approx (+ (* y x) (+ (* 1/2 x) z)) #s(hole binary64 (* x y)))
#s(approx (+ (* y x) (+ (* 1/2 x) z)) #s(hole binary64 (* y (+ x (+ (* 1/2 (/ x y)) (/ z y))))))
#s(approx (+ (* (- y -1/2) x) z) #s(hole binary64 (* x y)))
#s(approx (+ (* (- y -1/2) x) z) #s(hole binary64 (* y (+ x (+ (* 1/2 (/ x y)) (/ z y))))))
#s(approx (- y -1/2) #s(hole binary64 y))
#s(approx (- y -1/2) #s(hole binary64 (* y (+ 1 (* 1/2 (/ 1 y))))))
#s(approx (+ (+ (/ x 2) (* y x)) z) #s(hole binary64 (* -1 (* y (+ (* -1 x) (* -1 (/ (+ z (* 1/2 x)) y)))))))
#s(approx (* (+ 1/2 y) x) #s(hole binary64 (* -1 (* y (+ (* -1 x) (* -1/2 (/ x y)))))))
#s(approx (+ (* y x) (+ (* 1/2 x) z)) #s(hole binary64 (* -1 (* y (+ (* -1 x) (* -1 (/ (+ z (* 1/2 x)) y)))))))
#s(approx (+ (* (- y -1/2) x) z) #s(hole binary64 (* -1 (* y (+ (* -1 x) (* -1 (/ (+ z (* 1/2 x)) y)))))))
#s(approx (+ (+ (/ x 2) (* y x)) z) #s(hole binary64 (+ (* 1/2 x) (* x y))))
#s(approx (+ (* y x) (+ (* 1/2 x) z)) #s(hole binary64 (+ (* 1/2 x) (* x y))))
#s(approx z #s(hole binary64 z))
#s(approx (+ (+ (/ x 2) (* y x)) z) #s(hole binary64 (* z (+ 1 (+ (* 1/2 (/ x z)) (/ (* x y) z))))))
#s(approx (+ (* y x) (+ (* 1/2 x) z)) #s(hole binary64 (* z (+ 1 (+ (* 1/2 (/ x z)) (/ (* x y) z))))))
#s(approx (+ (* 1/2 x) z) #s(hole binary64 (* z (+ 1 (* 1/2 (/ x z))))))
#s(approx (+ (* (- y -1/2) x) z) #s(hole binary64 (* z (+ 1 (/ (* x (+ 1/2 y)) z)))))
#s(approx (+ (+ (/ x 2) (* y x)) z) #s(hole binary64 (* -1 (* z (- (* -1 (/ (+ (* 1/2 x) (* x y)) z)) 1)))))
#s(approx (+ (* y x) (+ (* 1/2 x) z)) #s(hole binary64 (* -1 (* z (- (* -1 (/ (+ (* 1/2 x) (* x y)) z)) 1)))))
#s(approx (+ (* 1/2 x) z) #s(hole binary64 (* -1 (* z (- (* -1/2 (/ x z)) 1)))))
#s(approx (+ (* (- y -1/2) x) z) #s(hole binary64 (* -1 (* z (- (* -1 (/ (* x (+ 1/2 y)) z)) 1)))))
Calls

9 calls:

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

rewrite172.0ms (6.6%)

Memory
-9.7MiB live, 291.3MiB allocated; 37ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01671063
01711032
1804889
06519859
Stop Event
iter limit
iter limit
node limit
iter limit
Counts
80 → 173
Calls
Call 1
Inputs
#s(approx (+ (+ (/ x 2) (* y x)) z) (*.f64 #s(approx (+ 1/2 y) #s(literal 1/2 binary64)) x))
(*.f64 #s(approx (+ 1/2 y) #s(literal 1/2 binary64)) x)
#s(approx (+ 1/2 y) #s(literal 1/2 binary64))
#s(literal 1/2 binary64)
x
(fma.f64 y x #s(approx (+ (* 1/2 x) z) z))
y
#s(approx (+ (* 1/2 x) z) z)
z
(fma.f64 y x #s(approx (+ (* 1/2 x) z) (*.f64 #s(literal 1/2 binary64) x)))
#s(approx (+ (* 1/2 x) z) (*.f64 #s(literal 1/2 binary64) x))
(*.f64 #s(literal 1/2 binary64) x)
(fma.f64 (-.f64 y #s(literal -1/2 binary64)) x z)
(-.f64 y #s(literal -1/2 binary64))
#s(literal -1/2 binary64)
#s(approx (+ (+ (/ x 2) (* y x)) z) #s(hole binary64 z))
#s(approx (+ (+ (/ x 2) (* y x)) z) #s(hole binary64 (+ z (* x (+ 1/2 y)))))
#s(approx (* (+ 1/2 y) x) #s(hole binary64 (* x (+ 1/2 y))))
#s(approx x #s(hole binary64 x))
#s(approx (+ (* y x) (+ (* 1/2 x) z)) #s(hole binary64 z))
#s(approx (+ (* y x) (+ (* 1/2 x) z)) #s(hole binary64 (+ z (* x (+ 1/2 y)))))
#s(approx (+ (* 1/2 x) z) #s(hole binary64 z))
#s(approx (+ (* 1/2 x) z) #s(hole binary64 (+ z (* 1/2 x))))
#s(approx (* 1/2 x) #s(hole binary64 (* 1/2 x)))
#s(approx (+ (* (- y -1/2) x) z) #s(hole binary64 z))
#s(approx (+ (* (- y -1/2) x) z) #s(hole binary64 (+ z (* x (+ 1/2 y)))))
#s(approx (+ (+ (/ x 2) (* y x)) z) #s(hole binary64 (* x (+ 1/2 y))))
#s(approx (+ (+ (/ x 2) (* y x)) z) #s(hole binary64 (* x (+ 1/2 (+ y (/ z x))))))
#s(approx (+ (* y x) (+ (* 1/2 x) z)) #s(hole binary64 (* x (+ 1/2 y))))
#s(approx (+ (* y x) (+ (* 1/2 x) z)) #s(hole binary64 (* x (+ 1/2 (+ y (/ z x))))))
#s(approx (+ (* 1/2 x) z) #s(hole binary64 (* 1/2 x)))
#s(approx (+ (* 1/2 x) z) #s(hole binary64 (* x (+ 1/2 (/ z x)))))
#s(approx (+ (* (- y -1/2) x) z) #s(hole binary64 (* x (+ 1/2 y))))
#s(approx (+ (* (- y -1/2) x) z) #s(hole binary64 (* x (+ 1/2 (+ y (/ z x))))))
#s(approx (+ (+ (/ x 2) (* y x)) z) #s(hole binary64 (* -1 (* x (- (* -1 y) 1/2)))))
#s(approx (+ (+ (/ x 2) (* y x)) z) #s(hole binary64 (* -1 (* x (- (+ (* -1 y) (* -1 (/ z x))) 1/2)))))
#s(approx (+ (* y x) (+ (* 1/2 x) z)) #s(hole binary64 (* -1 (* x (- (* -1 y) 1/2)))))
#s(approx (+ (* y x) (+ (* 1/2 x) z)) #s(hole binary64 (* -1 (* x (- (+ (* -1 y) (* -1 (/ z x))) 1/2)))))
#s(approx (+ (* 1/2 x) z) #s(hole binary64 (* -1 (* x (- (* -1 (/ z x)) 1/2)))))
#s(approx (+ (* (- y -1/2) x) z) #s(hole binary64 (* -1 (* x (+ (* -1 (+ 1/2 y)) (* -1 (/ z x)))))))
#s(approx (+ (+ (/ x 2) (* y x)) z) #s(hole binary64 (+ z (* 1/2 x))))
#s(approx (+ (+ (/ x 2) (* y x)) z) #s(hole binary64 (+ z (+ (* 1/2 x) (* x y)))))
#s(approx (* (+ 1/2 y) x) #s(hole binary64 (* 1/2 x)))
#s(approx (* (+ 1/2 y) x) #s(hole binary64 (+ (* 1/2 x) (* x y))))
#s(approx (+ 1/2 y) #s(hole binary64 1/2))
#s(approx (+ 1/2 y) #s(hole binary64 (+ 1/2 y)))
#s(approx (+ (* y x) (+ (* 1/2 x) z)) #s(hole binary64 (+ z (* 1/2 x))))
#s(approx (+ (* y x) (+ (* 1/2 x) z)) #s(hole binary64 (+ z (+ (* 1/2 x) (* x y)))))
#s(approx y #s(hole binary64 y))
#s(approx (+ (* (- y -1/2) x) z) #s(hole binary64 (+ z (* 1/2 x))))
#s(approx (+ (* (- y -1/2) x) z) #s(hole binary64 (+ z (+ (* 1/2 x) (* x y)))))
#s(approx (- y -1/2) #s(hole binary64 1/2))
#s(approx (- y -1/2) #s(hole binary64 (+ 1/2 y)))
#s(approx (+ (+ (/ x 2) (* y x)) z) #s(hole binary64 (* x y)))
#s(approx (+ (+ (/ x 2) (* y x)) z) #s(hole binary64 (* y (+ x (+ (* 1/2 (/ x y)) (/ z y))))))
#s(approx (* (+ 1/2 y) x) #s(hole binary64 (* x y)))
#s(approx (* (+ 1/2 y) x) #s(hole binary64 (* y (+ x (* 1/2 (/ x y))))))
#s(approx (+ 1/2 y) #s(hole binary64 y))
#s(approx (+ 1/2 y) #s(hole binary64 (* y (+ 1 (* 1/2 (/ 1 y))))))
#s(approx (+ (* y x) (+ (* 1/2 x) z)) #s(hole binary64 (* x y)))
#s(approx (+ (* y x) (+ (* 1/2 x) z)) #s(hole binary64 (* y (+ x (+ (* 1/2 (/ x y)) (/ z y))))))
#s(approx (+ (* (- y -1/2) x) z) #s(hole binary64 (* x y)))
#s(approx (+ (* (- y -1/2) x) z) #s(hole binary64 (* y (+ x (+ (* 1/2 (/ x y)) (/ z y))))))
#s(approx (- y -1/2) #s(hole binary64 y))
#s(approx (- y -1/2) #s(hole binary64 (* y (+ 1 (* 1/2 (/ 1 y))))))
#s(approx (+ (+ (/ x 2) (* y x)) z) #s(hole binary64 (* -1 (* y (+ (* -1 x) (* -1 (/ (+ z (* 1/2 x)) y)))))))
#s(approx (* (+ 1/2 y) x) #s(hole binary64 (* -1 (* y (+ (* -1 x) (* -1/2 (/ x y)))))))
#s(approx (+ (* y x) (+ (* 1/2 x) z)) #s(hole binary64 (* -1 (* y (+ (* -1 x) (* -1 (/ (+ z (* 1/2 x)) y)))))))
#s(approx (+ (* (- y -1/2) x) z) #s(hole binary64 (* -1 (* y (+ (* -1 x) (* -1 (/ (+ z (* 1/2 x)) y)))))))
#s(approx (+ (+ (/ x 2) (* y x)) z) #s(hole binary64 (+ (* 1/2 x) (* x y))))
#s(approx (+ (* y x) (+ (* 1/2 x) z)) #s(hole binary64 (+ (* 1/2 x) (* x y))))
#s(approx z #s(hole binary64 z))
#s(approx (+ (+ (/ x 2) (* y x)) z) #s(hole binary64 (* z (+ 1 (+ (* 1/2 (/ x z)) (/ (* x y) z))))))
#s(approx (+ (* y x) (+ (* 1/2 x) z)) #s(hole binary64 (* z (+ 1 (+ (* 1/2 (/ x z)) (/ (* x y) z))))))
#s(approx (+ (* 1/2 x) z) #s(hole binary64 (* z (+ 1 (* 1/2 (/ x z))))))
#s(approx (+ (* (- y -1/2) x) z) #s(hole binary64 (* z (+ 1 (/ (* x (+ 1/2 y)) z)))))
#s(approx (+ (+ (/ x 2) (* y x)) z) #s(hole binary64 (* -1 (* z (- (* -1 (/ (+ (* 1/2 x) (* x y)) z)) 1)))))
#s(approx (+ (* y x) (+ (* 1/2 x) z)) #s(hole binary64 (* -1 (* z (- (* -1 (/ (+ (* 1/2 x) (* x y)) z)) 1)))))
#s(approx (+ (* 1/2 x) z) #s(hole binary64 (* -1 (* z (- (* -1/2 (/ x z)) 1)))))
#s(approx (+ (* (- y -1/2) x) z) #s(hole binary64 (* -1 (* z (- (* -1 (/ (* x (+ 1/2 y)) z)) 1)))))
Outputs
#s(approx (+ (* y x) (+ (* 1/2 x) z)) (*.f64 #s(approx (+ 1/2 y) #s(literal 1/2 binary64)) x))
(*.f64 #s(approx (+ 1/2 y) #s(literal 1/2 binary64)) x)
(*.f64 x #s(approx (+ 1/2 y) #s(literal 1/2 binary64)))
#s(approx (+ 1/2 y) #s(literal 1/2 binary64))
#s(literal 1/2 binary64)
x
(/.f64 (-.f64 (pow.f64 #s(approx (+ (* 1/2 x) z) z) #s(literal 2 binary64)) (pow.f64 (*.f64 y x) #s(literal 2 binary64))) (-.f64 #s(approx (+ (* 1/2 x) z) z) (*.f64 y x)))
(/.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 y x) #s(literal 2 binary64)) (pow.f64 #s(approx (+ (* 1/2 x) z) z) #s(literal 2 binary64)))) (neg.f64 (-.f64 (*.f64 y x) #s(approx (+ (* 1/2 x) z) z))))
(/.f64 (neg.f64 (+.f64 (pow.f64 #s(approx (+ (* 1/2 x) z) z) #s(literal 3 binary64)) (pow.f64 (*.f64 y x) #s(literal 3 binary64)))) (neg.f64 (fma.f64 #s(approx (+ (* 1/2 x) z) z) (-.f64 #s(approx (+ (* 1/2 x) z) z) (*.f64 y x)) (pow.f64 (*.f64 y x) #s(literal 2 binary64)))))
(/.f64 (-.f64 (pow.f64 (*.f64 y x) #s(literal 2 binary64)) (pow.f64 #s(approx (+ (* 1/2 x) z) z) #s(literal 2 binary64))) (-.f64 (*.f64 y x) #s(approx (+ (* 1/2 x) z) z)))
(/.f64 (+.f64 (pow.f64 #s(approx (+ (* 1/2 x) z) z) #s(literal 3 binary64)) (pow.f64 (*.f64 y x) #s(literal 3 binary64))) (fma.f64 #s(approx (+ (* 1/2 x) z) z) #s(approx (+ (* 1/2 x) z) z) (-.f64 (pow.f64 (*.f64 y x) #s(literal 2 binary64)) (*.f64 #s(approx (+ (* 1/2 x) z) z) (*.f64 y x)))))
(/.f64 (+.f64 (pow.f64 #s(approx (+ (* 1/2 x) z) z) #s(literal 3 binary64)) (pow.f64 (*.f64 y x) #s(literal 3 binary64))) (fma.f64 #s(approx (+ (* 1/2 x) z) z) (-.f64 #s(approx (+ (* 1/2 x) z) z) (*.f64 y x)) (pow.f64 (*.f64 y x) #s(literal 2 binary64))))
(fma.f64 y x #s(approx (+ (* 1/2 x) z) z))
(fma.f64 x y #s(approx (+ (* 1/2 x) z) z))
(-.f64 (/.f64 (pow.f64 (*.f64 y x) #s(literal 2 binary64)) (-.f64 (*.f64 y x) #s(approx (+ (* 1/2 x) z) z))) (/.f64 (pow.f64 #s(approx (+ (* 1/2 x) z) z) #s(literal 2 binary64)) (-.f64 (*.f64 y x) #s(approx (+ (* 1/2 x) z) z))))
(-.f64 #s(approx (+ (* 1/2 x) z) z) (*.f64 (neg.f64 x) y))
(+.f64 (/.f64 (pow.f64 (*.f64 y x) #s(literal 3 binary64)) (fma.f64 #s(approx (+ (* 1/2 x) z) z) (-.f64 #s(approx (+ (* 1/2 x) z) z) (*.f64 y x)) (pow.f64 (*.f64 y x) #s(literal 2 binary64)))) (/.f64 (pow.f64 #s(approx (+ (* 1/2 x) z) z) #s(literal 3 binary64)) (fma.f64 #s(approx (+ (* 1/2 x) z) z) (-.f64 #s(approx (+ (* 1/2 x) z) z) (*.f64 y x)) (pow.f64 (*.f64 y x) #s(literal 2 binary64)))))
(+.f64 #s(approx (+ (* 1/2 x) z) z) (*.f64 y x))
(+.f64 (*.f64 y x) #s(approx (+ (* 1/2 x) z) z))
y
#s(approx (+ (* 1/2 x) z) z)
z
(/.f64 (-.f64 (pow.f64 #s(approx (+ (* 1/2 x) z) (*.f64 #s(literal 1/2 binary64) x)) #s(literal 2 binary64)) (pow.f64 (*.f64 y x) #s(literal 2 binary64))) (-.f64 #s(approx (+ (* 1/2 x) z) (*.f64 #s(literal 1/2 binary64) x)) (*.f64 y x)))
(/.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 y x) #s(literal 2 binary64)) (pow.f64 #s(approx (+ (* 1/2 x) z) (*.f64 #s(literal 1/2 binary64) x)) #s(literal 2 binary64)))) (neg.f64 (-.f64 (*.f64 y x) #s(approx (+ (* 1/2 x) z) (*.f64 #s(literal 1/2 binary64) x)))))
(/.f64 (neg.f64 (+.f64 (pow.f64 #s(approx (+ (* 1/2 x) z) (*.f64 #s(literal 1/2 binary64) x)) #s(literal 3 binary64)) (pow.f64 (*.f64 y x) #s(literal 3 binary64)))) (neg.f64 (fma.f64 #s(approx (+ (* 1/2 x) z) (*.f64 #s(literal 1/2 binary64) x)) (-.f64 #s(approx (+ (* 1/2 x) z) (*.f64 #s(literal 1/2 binary64) x)) (*.f64 y x)) (pow.f64 (*.f64 y x) #s(literal 2 binary64)))))
(/.f64 (-.f64 (pow.f64 (*.f64 y x) #s(literal 2 binary64)) (pow.f64 #s(approx (+ (* 1/2 x) z) (*.f64 #s(literal 1/2 binary64) x)) #s(literal 2 binary64))) (-.f64 (*.f64 y x) #s(approx (+ (* 1/2 x) z) (*.f64 #s(literal 1/2 binary64) x))))
(/.f64 (+.f64 (pow.f64 #s(approx (+ (* 1/2 x) z) (*.f64 #s(literal 1/2 binary64) x)) #s(literal 3 binary64)) (pow.f64 (*.f64 y x) #s(literal 3 binary64))) (+.f64 (pow.f64 #s(approx (+ (* 1/2 x) z) (*.f64 #s(literal 1/2 binary64) x)) #s(literal 2 binary64)) (-.f64 (pow.f64 (*.f64 y x) #s(literal 2 binary64)) (*.f64 #s(approx (+ (* 1/2 x) z) (*.f64 #s(literal 1/2 binary64) x)) (*.f64 y x)))))
(/.f64 (+.f64 (pow.f64 #s(approx (+ (* 1/2 x) z) (*.f64 #s(literal 1/2 binary64) x)) #s(literal 3 binary64)) (pow.f64 (*.f64 y x) #s(literal 3 binary64))) (fma.f64 #s(approx (+ (* 1/2 x) z) (*.f64 #s(literal 1/2 binary64) x)) (-.f64 #s(approx (+ (* 1/2 x) z) (*.f64 #s(literal 1/2 binary64) x)) (*.f64 y x)) (pow.f64 (*.f64 y x) #s(literal 2 binary64))))
(fma.f64 y x #s(approx (+ (* 1/2 x) z) (*.f64 #s(literal 1/2 binary64) x)))
(fma.f64 x y #s(approx (+ (* 1/2 x) z) (*.f64 #s(literal 1/2 binary64) x)))
(-.f64 (/.f64 (pow.f64 (*.f64 y x) #s(literal 2 binary64)) (-.f64 (*.f64 y x) #s(approx (+ (* 1/2 x) z) (*.f64 #s(literal 1/2 binary64) x)))) (/.f64 (pow.f64 #s(approx (+ (* 1/2 x) z) (*.f64 #s(literal 1/2 binary64) x)) #s(literal 2 binary64)) (-.f64 (*.f64 y x) #s(approx (+ (* 1/2 x) z) (*.f64 #s(literal 1/2 binary64) x)))))
(-.f64 #s(approx (+ (* 1/2 x) z) (*.f64 #s(literal 1/2 binary64) x)) (*.f64 (neg.f64 x) y))
(+.f64 (/.f64 (pow.f64 (*.f64 y x) #s(literal 3 binary64)) (fma.f64 #s(approx (+ (* 1/2 x) z) (*.f64 #s(literal 1/2 binary64) x)) (-.f64 #s(approx (+ (* 1/2 x) z) (*.f64 #s(literal 1/2 binary64) x)) (*.f64 y x)) (pow.f64 (*.f64 y x) #s(literal 2 binary64)))) (/.f64 (pow.f64 #s(approx (+ (* 1/2 x) z) (*.f64 #s(literal 1/2 binary64) x)) #s(literal 3 binary64)) (fma.f64 #s(approx (+ (* 1/2 x) z) (*.f64 #s(literal 1/2 binary64) x)) (-.f64 #s(approx (+ (* 1/2 x) z) (*.f64 #s(literal 1/2 binary64) x)) (*.f64 y x)) (pow.f64 (*.f64 y x) #s(literal 2 binary64)))))
(+.f64 #s(approx (+ (* 1/2 x) z) (*.f64 #s(literal 1/2 binary64) x)) (*.f64 y x))
(+.f64 (*.f64 y x) #s(approx (+ (* 1/2 x) z) (*.f64 #s(literal 1/2 binary64) x)))
#s(approx (+ (* 1/2 x) z) (*.f64 #s(literal 1/2 binary64) x))
(*.f64 #s(literal -1 binary64) (/.f64 x #s(literal -2 binary64)))
(*.f64 (*.f64 #s(literal 1/2 binary64) x) #s(literal 1 binary64))
(*.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1 binary64) x))
(*.f64 #s(literal 1/2 binary64) x)
(*.f64 x #s(literal 1/2 binary64))
(/.f64 (neg.f64 (neg.f64 x)) #s(literal 2 binary64))
(/.f64 (neg.f64 x) #s(literal -2 binary64))
(/.f64 x #s(literal 2 binary64))
(neg.f64 (/.f64 (neg.f64 x) #s(literal 2 binary64)))
(neg.f64 (/.f64 x #s(literal -2 binary64)))
(neg.f64 (*.f64 #s(literal -1/2 binary64) x))
(/.f64 (-.f64 (pow.f64 (fma.f64 #s(literal 1/2 binary64) x z) #s(literal 2 binary64)) (pow.f64 (*.f64 y x) #s(literal 2 binary64))) (-.f64 (fma.f64 #s(literal 1/2 binary64) x z) (*.f64 y x)))
(/.f64 (-.f64 (pow.f64 (*.f64 #s(literal 1/2 binary64) x) #s(literal 2 binary64)) (*.f64 (fma.f64 y x z) (fma.f64 y x z))) (-.f64 (*.f64 #s(literal 1/2 binary64) x) (fma.f64 y x z)))
(/.f64 (-.f64 (pow.f64 z #s(literal 3 binary64)) (pow.f64 (*.f64 (-.f64 #s(literal -1/2 binary64) y) x) #s(literal 3 binary64))) (fma.f64 z z (+.f64 (pow.f64 (*.f64 (-.f64 y #s(literal -1/2 binary64)) x) #s(literal 2 binary64)) (*.f64 z (*.f64 (-.f64 #s(literal -1/2 binary64) y) x)))))
(/.f64 (fma.f64 (pow.f64 x #s(literal 3 binary64)) #s(literal 1/8 binary64) (pow.f64 (fma.f64 y x z) #s(literal 3 binary64))) (fma.f64 (*.f64 x x) #s(literal 1/4 binary64) (-.f64 (*.f64 (fma.f64 y x z) (fma.f64 y x z)) (*.f64 (*.f64 #s(literal 1/2 binary64) x) (fma.f64 y x z)))))
(/.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 y x) #s(literal 2 binary64)) (pow.f64 (fma.f64 #s(literal 1/2 binary64) x z) #s(literal 2 binary64)))) (neg.f64 (-.f64 (*.f64 y x) (fma.f64 #s(literal 1/2 binary64) x z))))
(/.f64 (neg.f64 (-.f64 (*.f64 z z) (pow.f64 (*.f64 (-.f64 y #s(literal -1/2 binary64)) x) #s(literal 2 binary64)))) (neg.f64 (-.f64 z (*.f64 (-.f64 y #s(literal -1/2 binary64)) x))))
(/.f64 (neg.f64 (+.f64 (pow.f64 (fma.f64 #s(literal 1/2 binary64) x z) #s(literal 3 binary64)) (pow.f64 (*.f64 y x) #s(literal 3 binary64)))) (neg.f64 (fma.f64 (fma.f64 #s(literal 1/2 binary64) x z) (-.f64 (fma.f64 #s(literal 1/2 binary64) x z) (*.f64 y x)) (pow.f64 (*.f64 y x) #s(literal 2 binary64)))))
(/.f64 (neg.f64 (+.f64 (pow.f64 (*.f64 (-.f64 y #s(literal -1/2 binary64)) x) #s(literal 3 binary64)) (pow.f64 z #s(literal 3 binary64)))) (neg.f64 (fma.f64 (*.f64 (-.f64 y #s(literal -1/2 binary64)) x) (-.f64 (*.f64 (-.f64 y #s(literal -1/2 binary64)) x) z) (*.f64 z z))))
(/.f64 (neg.f64 (+.f64 (pow.f64 (*.f64 (-.f64 y #s(literal -1/2 binary64)) x) #s(literal 3 binary64)) (pow.f64 z #s(literal 3 binary64)))) (neg.f64 (fma.f64 z (-.f64 z (*.f64 (-.f64 y #s(literal -1/2 binary64)) x)) (pow.f64 (*.f64 (-.f64 y #s(literal -1/2 binary64)) x) #s(literal 2 binary64)))))
(/.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 (-.f64 y #s(literal -1/2 binary64)) x) #s(literal 2 binary64)) (*.f64 z z))) (neg.f64 (-.f64 (*.f64 (-.f64 y #s(literal -1/2 binary64)) x) z)))
(/.f64 (-.f64 (pow.f64 (*.f64 y x) #s(literal 2 binary64)) (pow.f64 (fma.f64 #s(literal 1/2 binary64) x z) #s(literal 2 binary64))) (-.f64 (*.f64 y x) (fma.f64 #s(literal 1/2 binary64) x z)))
(/.f64 (-.f64 (pow.f64 (*.f64 (-.f64 y #s(literal -1/2 binary64)) x) #s(literal 2 binary64)) (*.f64 z z)) (-.f64 (*.f64 (-.f64 y #s(literal -1/2 binary64)) x) z))
(/.f64 (-.f64 (*.f64 z z) (pow.f64 (*.f64 (-.f64 y #s(literal -1/2 binary64)) x) #s(literal 2 binary64))) (-.f64 z (*.f64 (-.f64 y #s(literal -1/2 binary64)) x)))
(/.f64 (+.f64 (pow.f64 (fma.f64 #s(literal 1/2 binary64) x z) #s(literal 3 binary64)) (pow.f64 (*.f64 y x) #s(literal 3 binary64))) (+.f64 (pow.f64 (fma.f64 #s(literal 1/2 binary64) x z) #s(literal 2 binary64)) (-.f64 (pow.f64 (*.f64 y x) #s(literal 2 binary64)) (*.f64 (fma.f64 #s(literal 1/2 binary64) x z) (*.f64 y x)))))
(/.f64 (+.f64 (pow.f64 (fma.f64 #s(literal 1/2 binary64) x z) #s(literal 3 binary64)) (pow.f64 (*.f64 y x) #s(literal 3 binary64))) (fma.f64 (fma.f64 #s(literal 1/2 binary64) x z) (-.f64 (fma.f64 #s(literal 1/2 binary64) x z) (*.f64 y x)) (pow.f64 (*.f64 y x) #s(literal 2 binary64))))
(/.f64 (+.f64 (pow.f64 (*.f64 (-.f64 y #s(literal -1/2 binary64)) x) #s(literal 3 binary64)) (pow.f64 z #s(literal 3 binary64))) (fma.f64 z (-.f64 z (*.f64 (-.f64 y #s(literal -1/2 binary64)) x)) (pow.f64 (*.f64 (-.f64 y #s(literal -1/2 binary64)) x) #s(literal 2 binary64))))
(/.f64 (+.f64 (pow.f64 (*.f64 (-.f64 y #s(literal -1/2 binary64)) x) #s(literal 3 binary64)) (pow.f64 z #s(literal 3 binary64))) (fma.f64 (*.f64 (-.f64 y #s(literal -1/2 binary64)) x) (-.f64 (*.f64 (-.f64 y #s(literal -1/2 binary64)) x) z) (*.f64 z z)))
(fma.f64 #s(literal -1 binary64) (/.f64 x #s(literal -2 binary64)) (fma.f64 y x z))
(fma.f64 (*.f64 #s(literal 1/2 binary64) x) #s(literal 1 binary64) (fma.f64 y x z))
(fma.f64 (-.f64 y #s(literal -1/2 binary64)) x z)
(fma.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1 binary64) x) (fma.f64 y x z))
(fma.f64 #s(literal 1/2 binary64) x (fma.f64 y x z))
(fma.f64 y x (fma.f64 #s(literal 1/2 binary64) x z))
(fma.f64 x (-.f64 y #s(literal -1/2 binary64)) z)
(fma.f64 x #s(literal 1/2 binary64) (fma.f64 y x z))
(fma.f64 x y (fma.f64 #s(literal 1/2 binary64) x z))
(-.f64 (/.f64 (pow.f64 (*.f64 y x) #s(literal 2 binary64)) (-.f64 (*.f64 y x) (fma.f64 #s(literal 1/2 binary64) x z))) (/.f64 (pow.f64 (fma.f64 #s(literal 1/2 binary64) x z) #s(literal 2 binary64)) (-.f64 (*.f64 y x) (fma.f64 #s(literal 1/2 binary64) x z))))
(-.f64 (/.f64 (*.f64 z z) (-.f64 z (*.f64 (-.f64 y #s(literal -1/2 binary64)) x))) (/.f64 (pow.f64 (*.f64 (-.f64 y #s(literal -1/2 binary64)) x) #s(literal 2 binary64)) (-.f64 z (*.f64 (-.f64 y #s(literal -1/2 binary64)) x))))
(-.f64 (/.f64 (pow.f64 (*.f64 (-.f64 y #s(literal -1/2 binary64)) x) #s(literal 2 binary64)) (-.f64 (*.f64 (-.f64 y #s(literal -1/2 binary64)) x) z)) (/.f64 (*.f64 z z) (-.f64 (*.f64 (-.f64 y #s(literal -1/2 binary64)) x) z)))
(-.f64 (fma.f64 y x z) (*.f64 #s(literal -1/2 binary64) x))
(-.f64 (fma.f64 #s(literal 1/2 binary64) x z) (*.f64 (neg.f64 x) y))
(-.f64 (*.f64 #s(literal 1/2 binary64) x) (-.f64 (*.f64 (neg.f64 x) y) z))
(-.f64 z (-.f64 (*.f64 #s(literal -1/2 binary64) x) (*.f64 y x)))
(-.f64 z (*.f64 (-.f64 #s(literal -1/2 binary64) y) x))
(+.f64 (/.f64 (pow.f64 (*.f64 y x) #s(literal 3 binary64)) (fma.f64 (fma.f64 #s(literal 1/2 binary64) x z) (-.f64 (fma.f64 #s(literal 1/2 binary64) x z) (*.f64 y x)) (pow.f64 (*.f64 y x) #s(literal 2 binary64)))) (/.f64 (pow.f64 (fma.f64 #s(literal 1/2 binary64) x z) #s(literal 3 binary64)) (fma.f64 (fma.f64 #s(literal 1/2 binary64) x z) (-.f64 (fma.f64 #s(literal 1/2 binary64) x z) (*.f64 y x)) (pow.f64 (*.f64 y x) #s(literal 2 binary64)))))
(+.f64 (/.f64 (pow.f64 z #s(literal 3 binary64)) (fma.f64 (*.f64 (-.f64 y #s(literal -1/2 binary64)) x) (-.f64 (*.f64 (-.f64 y #s(literal -1/2 binary64)) x) z) (*.f64 z z))) (/.f64 (pow.f64 (*.f64 (-.f64 y #s(literal -1/2 binary64)) x) #s(literal 3 binary64)) (fma.f64 (*.f64 (-.f64 y #s(literal -1/2 binary64)) x) (-.f64 (*.f64 (-.f64 y #s(literal -1/2 binary64)) x) z) (*.f64 z z))))
(+.f64 (/.f64 (pow.f64 (*.f64 (-.f64 y #s(literal -1/2 binary64)) x) #s(literal 3 binary64)) (fma.f64 z (-.f64 z (*.f64 (-.f64 y #s(literal -1/2 binary64)) x)) (pow.f64 (*.f64 (-.f64 y #s(literal -1/2 binary64)) x) #s(literal 2 binary64)))) (/.f64 (pow.f64 z #s(literal 3 binary64)) (fma.f64 z (-.f64 z (*.f64 (-.f64 y #s(literal -1/2 binary64)) x)) (pow.f64 (*.f64 (-.f64 y #s(literal -1/2 binary64)) x) #s(literal 2 binary64)))))
(+.f64 (fma.f64 y x z) (*.f64 #s(literal 1/2 binary64) x))
(+.f64 (*.f64 (-.f64 y #s(literal -1/2 binary64)) x) z)
(+.f64 (fma.f64 #s(literal 1/2 binary64) x z) (*.f64 y x))
(+.f64 (*.f64 #s(literal 1/2 binary64) x) (fma.f64 y x z))
(+.f64 z (*.f64 (neg.f64 (neg.f64 x)) (-.f64 y #s(literal -1/2 binary64))))
(+.f64 z (*.f64 (-.f64 y #s(literal -1/2 binary64)) x))
(+.f64 (*.f64 y x) (fma.f64 #s(literal 1/2 binary64) x z))
(/.f64 (neg.f64 (-.f64 #s(literal 1/4 binary64) (*.f64 y y))) (neg.f64 (-.f64 #s(literal 1/2 binary64) y)))
(/.f64 (neg.f64 (+.f64 (pow.f64 y #s(literal 3 binary64)) #s(literal 1/8 binary64))) (neg.f64 (fma.f64 y (-.f64 y #s(literal 1/2 binary64)) #s(literal 1/4 binary64))))
(/.f64 (neg.f64 (fma.f64 y y #s(literal -1/4 binary64))) (fma.f64 #s(literal -1 binary64) y #s(literal 1/2 binary64)))
(/.f64 (neg.f64 (-.f64 (pow.f64 y #s(literal 3 binary64)) #s(literal -1/8 binary64))) (neg.f64 (fma.f64 y y (fma.f64 #s(literal -1/2 binary64) y #s(literal 1/4 binary64)))))
(/.f64 (fma.f64 y y #s(literal -1/4 binary64)) (-.f64 y #s(literal 1/2 binary64)))
(/.f64 (-.f64 #s(literal 1/4 binary64) (*.f64 y y)) (-.f64 #s(literal 1/2 binary64) y))
(/.f64 (-.f64 (pow.f64 y #s(literal 3 binary64)) #s(literal -1/8 binary64)) (fma.f64 y y (fma.f64 #s(literal -1/2 binary64) y #s(literal 1/4 binary64))))
(/.f64 (+.f64 (pow.f64 y #s(literal 3 binary64)) #s(literal 1/8 binary64)) (fma.f64 y y (fma.f64 #s(literal -1/2 binary64) y #s(literal 1/4 binary64))))
(/.f64 (+.f64 (pow.f64 y #s(literal 3 binary64)) #s(literal 1/8 binary64)) (fma.f64 y (-.f64 y #s(literal 1/2 binary64)) #s(literal 1/4 binary64)))
(-.f64 (/.f64 #s(literal 1/4 binary64) (-.f64 #s(literal 1/2 binary64) y)) (/.f64 (*.f64 y y) (-.f64 #s(literal 1/2 binary64) y)))
(-.f64 (/.f64 (*.f64 y y) (-.f64 y #s(literal 1/2 binary64))) (/.f64 #s(literal 1/4 binary64) (-.f64 y #s(literal 1/2 binary64))))
(-.f64 (/.f64 (pow.f64 y #s(literal 3 binary64)) (fma.f64 y y (fma.f64 #s(literal -1/2 binary64) y #s(literal 1/4 binary64)))) (/.f64 #s(literal -1/8 binary64) (fma.f64 y y (fma.f64 #s(literal -1/2 binary64) y #s(literal 1/4 binary64)))))
(-.f64 y #s(literal -1/2 binary64))
(+.f64 (/.f64 #s(literal 1/8 binary64) (fma.f64 y (-.f64 y #s(literal 1/2 binary64)) #s(literal 1/4 binary64))) (/.f64 (pow.f64 y #s(literal 3 binary64)) (fma.f64 y (-.f64 y #s(literal 1/2 binary64)) #s(literal 1/4 binary64))))
(+.f64 #s(literal 1/2 binary64) y)
(+.f64 y #s(literal 1/2 binary64))
#s(literal -1/2 binary64)
#s(approx (+ (* y x) (+ (* 1/2 x) z)) z)
#s(approx (+ (* y x) (+ (* 1/2 x) z)) (fma.f64 (-.f64 y #s(literal -1/2 binary64)) x z))
#s(approx (* (+ 1/2 y) x) (*.f64 (-.f64 y #s(literal -1/2 binary64)) x))
#s(approx x x)
#s(approx (+ (* y x) (+ (* 1/2 x) z)) z)
#s(approx (+ (* y x) (+ (* 1/2 x) z)) (fma.f64 (-.f64 y #s(literal -1/2 binary64)) x z))
#s(approx (+ (* 1/2 x) z) z)
#s(approx (+ (* 1/2 x) z) (fma.f64 #s(literal 1/2 binary64) x z))
#s(approx (* 1/2 x) (*.f64 #s(literal 1/2 binary64) x))
#s(approx (+ (* y x) (+ (* 1/2 x) z)) z)
#s(approx (+ (* y x) (+ (* 1/2 x) z)) (fma.f64 (-.f64 y #s(literal -1/2 binary64)) x z))
#s(approx (+ (* y x) (+ (* 1/2 x) z)) (*.f64 (-.f64 y #s(literal -1/2 binary64)) x))
#s(approx (+ (* y x) (+ (* 1/2 x) z)) (*.f64 (-.f64 (+.f64 (/.f64 z x) y) #s(literal -1/2 binary64)) x))
#s(approx (+ (* y x) (+ (* 1/2 x) z)) (*.f64 (-.f64 y #s(literal -1/2 binary64)) x))
#s(approx (+ (* y x) (+ (* 1/2 x) z)) (*.f64 (-.f64 (+.f64 (/.f64 z x) y) #s(literal -1/2 binary64)) x))
#s(approx (+ (* 1/2 x) z) (*.f64 #s(literal 1/2 binary64) x))
#s(approx (+ (* 1/2 x) z) (*.f64 (-.f64 (/.f64 z x) #s(literal -1/2 binary64)) x))
#s(approx (+ (* y x) (+ (* 1/2 x) z)) (*.f64 (-.f64 y #s(literal -1/2 binary64)) x))
#s(approx (+ (* y x) (+ (* 1/2 x) z)) (*.f64 (-.f64 (+.f64 (/.f64 z x) y) #s(literal -1/2 binary64)) x))
#s(approx (+ (* y x) (+ (* 1/2 x) z)) (*.f64 (neg.f64 x) (-.f64 #s(literal -1/2 binary64) y)))
#s(approx (+ (* y x) (+ (* 1/2 x) z)) (*.f64 (neg.f64 x) (-.f64 (-.f64 #s(literal -1/2 binary64) y) (/.f64 z x))))
#s(approx (+ (* y x) (+ (* 1/2 x) z)) (*.f64 (neg.f64 x) (-.f64 #s(literal -1/2 binary64) y)))
#s(approx (+ (* y x) (+ (* 1/2 x) z)) (*.f64 (neg.f64 x) (-.f64 (-.f64 #s(literal -1/2 binary64) y) (/.f64 z x))))
#s(approx (+ (* 1/2 x) z) (*.f64 (neg.f64 x) (fma.f64 #s(literal -1 binary64) (/.f64 z x) #s(literal -1/2 binary64))))
#s(approx (+ (* y x) (+ (* 1/2 x) z)) (*.f64 (neg.f64 x) (-.f64 (-.f64 #s(literal -1/2 binary64) y) (/.f64 z x))))
#s(approx (+ (* y x) (+ (* 1/2 x) z)) (fma.f64 #s(literal 1/2 binary64) x z))
#s(approx (+ (* y x) (+ (* 1/2 x) z)) (fma.f64 (-.f64 y #s(literal -1/2 binary64)) x z))
#s(approx (* (+ 1/2 y) x) (*.f64 #s(literal 1/2 binary64) x))
#s(approx (* (+ 1/2 y) x) (*.f64 (-.f64 y #s(literal -1/2 binary64)) x))
#s(approx (+ 1/2 y) #s(literal 1/2 binary64))
#s(approx (+ 1/2 y) (-.f64 y #s(literal -1/2 binary64)))
#s(approx (+ (* y x) (+ (* 1/2 x) z)) (fma.f64 #s(literal 1/2 binary64) x z))
#s(approx (+ (* y x) (+ (* 1/2 x) z)) (fma.f64 (-.f64 y #s(literal -1/2 binary64)) x z))
#s(approx y y)
#s(approx (+ (* y x) (+ (* 1/2 x) z)) (fma.f64 #s(literal 1/2 binary64) x z))
#s(approx (+ (* y x) (+ (* 1/2 x) z)) (fma.f64 (-.f64 y #s(literal -1/2 binary64)) x z))
#s(approx (+ 1/2 y) #s(literal 1/2 binary64))
#s(approx (+ 1/2 y) (-.f64 y #s(literal -1/2 binary64)))
#s(approx (+ (* y x) (+ (* 1/2 x) z)) (*.f64 y x))
#s(approx (+ (* y x) (+ (* 1/2 x) z)) (*.f64 (+.f64 (/.f64 (fma.f64 #s(literal 1/2 binary64) x z) y) x) y))
#s(approx (* (+ 1/2 y) x) (*.f64 y x))
#s(approx (* (+ 1/2 y) x) (*.f64 (fma.f64 (/.f64 x y) #s(literal 1/2 binary64) x) y))
#s(approx (+ 1/2 y) y)
#s(approx (+ 1/2 y) (fma.f64 (/.f64 #s(literal 1/2 binary64) y) y y))
#s(approx (+ (* y x) (+ (* 1/2 x) z)) (*.f64 y x))
#s(approx (+ (* y x) (+ (* 1/2 x) z)) (*.f64 (+.f64 (/.f64 (fma.f64 #s(literal 1/2 binary64) x z) y) x) y))
#s(approx (+ (* y x) (+ (* 1/2 x) z)) (*.f64 y x))
#s(approx (+ (* y x) (+ (* 1/2 x) z)) (*.f64 (+.f64 (/.f64 (fma.f64 #s(literal 1/2 binary64) x z) y) x) y))
#s(approx (+ 1/2 y) y)
#s(approx (+ 1/2 y) (fma.f64 (/.f64 #s(literal 1/2 binary64) y) y y))
#s(approx (+ (* y x) (+ (* 1/2 x) z)) (*.f64 (neg.f64 (+.f64 (/.f64 (fma.f64 #s(literal 1/2 binary64) x z) y) x)) (neg.f64 y)))
#s(approx (* (+ 1/2 y) x) (*.f64 (fma.f64 (/.f64 x y) #s(literal -1/2 binary64) (neg.f64 x)) (neg.f64 y)))
#s(approx (+ (* y x) (+ (* 1/2 x) z)) (*.f64 (neg.f64 (+.f64 (/.f64 (fma.f64 #s(literal 1/2 binary64) x z) y) x)) (neg.f64 y)))
#s(approx (+ (* y x) (+ (* 1/2 x) z)) (*.f64 (neg.f64 (+.f64 (/.f64 (fma.f64 #s(literal 1/2 binary64) x z) y) x)) (neg.f64 y)))
#s(approx (+ (* y x) (+ (* 1/2 x) z)) (*.f64 (-.f64 y #s(literal -1/2 binary64)) x))
#s(approx (+ (* y x) (+ (* 1/2 x) z)) (*.f64 (-.f64 y #s(literal -1/2 binary64)) x))
#s(approx z z)
#s(approx (+ (* y x) (+ (* 1/2 x) z)) (*.f64 (fma.f64 (-.f64 y #s(literal -1/2 binary64)) (/.f64 x z) #s(literal 1 binary64)) z))
#s(approx (+ (* y x) (+ (* 1/2 x) z)) (*.f64 (fma.f64 (-.f64 y #s(literal -1/2 binary64)) (/.f64 x z) #s(literal 1 binary64)) z))
#s(approx (+ (* 1/2 x) z) (*.f64 (fma.f64 (/.f64 x z) #s(literal 1/2 binary64) #s(literal 1 binary64)) z))
#s(approx (+ (* y x) (+ (* 1/2 x) z)) (*.f64 (fma.f64 (-.f64 y #s(literal -1/2 binary64)) (/.f64 x z) #s(literal 1 binary64)) z))
#s(approx (+ (* y x) (+ (* 1/2 x) z)) (*.f64 (neg.f64 (fma.f64 (neg.f64 x) (/.f64 (-.f64 y #s(literal -1/2 binary64)) z) #s(literal -1 binary64))) z))
#s(approx (+ (* y x) (+ (* 1/2 x) z)) (*.f64 (neg.f64 (fma.f64 (neg.f64 x) (/.f64 (-.f64 y #s(literal -1/2 binary64)) z) #s(literal -1 binary64))) z))
#s(approx (+ (* 1/2 x) z) (*.f64 (neg.f64 z) (fma.f64 (/.f64 x z) #s(literal -1/2 binary64) #s(literal -1 binary64))))
#s(approx (+ (* y x) (+ (* 1/2 x) z)) (*.f64 (neg.f64 (fma.f64 (neg.f64 x) (/.f64 (-.f64 y #s(literal -1/2 binary64)) z) #s(literal -1 binary64))) z))

eval66.0ms (2.5%)

Memory
-6.3MiB live, 40.0MiB allocated; 3ms collecting garbage
Compiler

Compiled 2 823 to 407 computations (85.6% saved)

prune7.0ms (0.3%)

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

8 alts after pruning (0 fresh and 8 done)

PrunedKeptTotal
New1520152
Fresh000
Picked044
Done044
Total1528160
Accuracy
100.0%
Counts
160 → 8
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(fma.f64 (-.f64 y #s(literal -1/2 binary64)) x z)
59.0%
(fma.f64 y x #s(approx (+ (* 1/2 x) z) (*.f64 #s(literal 1/2 binary64) x)))
74.9%
(fma.f64 y x #s(approx (+ (* 1/2 x) z) z))
66.2%
#s(approx (+ (+ (/ x 2) (* y x)) z) (fma.f64 #s(literal 1/2 binary64) x z))
59.0%
#s(approx (+ (+ (/ x 2) (* y x)) z) (*.f64 (+.f64 #s(literal 1/2 binary64) y) x))
25.7%
#s(approx (+ (+ (/ x 2) (* y x)) z) (*.f64 #s(approx (+ 1/2 y) #s(literal 1/2 binary64)) x))
36.0%
#s(approx (+ (+ (/ x 2) (* y x)) z) (*.f64 y x))
41.5%
#s(approx (+ (+ (/ x 2) (* y x)) z) z)
Compiler

Compiled 231 to 120 computations (48.1% saved)

regimes31.0ms (1.2%)

Memory
-4.4MiB live, 42.0MiB allocated; 3ms collecting garbage
Counts
12 → 1
Calls
Call 1
Inputs
#s(approx (+ (+ (/ x 2) (* y x)) z) z)
#s(approx (+ (+ (/ x 2) (* y x)) z) (*.f64 y x))
#s(approx (+ (+ (/ x 2) (* y x)) z) (*.f64 #s(approx (+ 1/2 y) #s(literal 1/2 binary64)) x))
#s(approx (+ (+ (/ x 2) (* y x)) z) (fma.f64 #s(literal 1/2 binary64) x z))
(fma.f64 y x #s(approx (+ (* 1/2 x) z) z))
#s(approx (+ (+ (/ x 2) (* y x)) z) (*.f64 (+.f64 #s(literal 1/2 binary64) y) x))
(+.f64 #s(approx (+ (/ x 2) (* y x)) (*.f64 y x)) z)
(fma.f64 (+.f64 #s(literal 1/2 binary64) y) x z)
(fma.f64 (-.f64 y #s(literal -1/2 binary64)) x z)
(fma.f64 y x #s(approx (+ (* 1/2 x) z) (*.f64 #s(literal 1/2 binary64) x)))
(fma.f64 y x (fma.f64 #s(literal 1/2 binary64) x z))
(+.f64 (+.f64 (/.f64 x #s(literal 2 binary64)) (*.f64 y x)) z)
Outputs
(fma.f64 y x (fma.f64 #s(literal 1/2 binary64) x z))
Calls

5 calls:

16.0ms
x
4.0ms
z
4.0ms
y
4.0ms
(+.f64 (+.f64 (/.f64 x #s(literal 2 binary64)) (*.f64 y x)) z)
4.0ms
(+.f64 (/.f64 x #s(literal 2 binary64)) (*.f64 y x))
Results
AccuracySegmentsBranch
100.0%1(+.f64 (/.f64 x #s(literal 2 binary64)) (*.f64 y x))
100.0%1(+.f64 (+.f64 (/.f64 x #s(literal 2 binary64)) (*.f64 y x)) z)
100.0%1x
100.0%1y
100.0%1z
Compiler

Compiled 19 to 24 computations (-26.3% saved)

regimes17.0ms (0.7%)

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

5 calls:

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

Compiled 19 to 24 computations (-26.3% saved)

regimes46.0ms (1.8%)

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

5 calls:

34.0ms
y
3.0ms
x
3.0ms
z
3.0ms
(+.f64 (/.f64 x #s(literal 2 binary64)) (*.f64 y x))
2.0ms
(+.f64 (+.f64 (/.f64 x #s(literal 2 binary64)) (*.f64 y x)) z)
Results
AccuracySegmentsBranch
88.5%3(+.f64 (/.f64 x #s(literal 2 binary64)) (*.f64 y x))
81.8%3(+.f64 (+.f64 (/.f64 x #s(literal 2 binary64)) (*.f64 y x)) z)
88.6%4x
99.1%3y
84.2%3z
Compiler

Compiled 19 to 24 computations (-26.3% saved)

regimes4.0ms (0.2%)

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

2 calls:

2.0ms
y
2.0ms
(+.f64 (/.f64 x #s(literal 2 binary64)) (*.f64 y x))
Results
AccuracySegmentsBranch
81.4%3(+.f64 (/.f64 x #s(literal 2 binary64)) (*.f64 y x))
87.6%3y
Compiler

Compiled 8 to 10 computations (-25% saved)

regimes8.0ms (0.3%)

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

5 calls:

2.0ms
z
2.0ms
y
2.0ms
x
1.0ms
(+.f64 (/.f64 x #s(literal 2 binary64)) (*.f64 y x))
1.0ms
(+.f64 (+.f64 (/.f64 x #s(literal 2 binary64)) (*.f64 y x)) z)
Results
AccuracySegmentsBranch
64.6%3(+.f64 (/.f64 x #s(literal 2 binary64)) (*.f64 y x))
57.2%3(+.f64 (+.f64 (/.f64 x #s(literal 2 binary64)) (*.f64 y x)) z)
55.5%3z
60.7%3x
67.1%5y
Compiler

Compiled 19 to 24 computations (-26.3% saved)

regimes22.0ms (0.9%)

Memory
-29.5MiB live, 14.9MiB allocated; 6ms collecting garbage
Accuracy

Total -0.0b remaining (-0%)

Threshold costs -0b (-0%)

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

5 calls:

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

Compiled 19 to 24 computations (-26.3% saved)

bsearch34.0ms (1.3%)

Memory
20.9MiB live, 62.5MiB allocated; 9ms collecting garbage
Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
Steps
TimeLeftRight
17.0ms
7.104538969319806e-7
763.0530455208568
14.0ms
-599059466610502.4
-26.080381785319993
Samples
15.0ms304×0valid
Compiler

Compiled 468 to 413 computations (11.8% saved)

Precisions
Click to see histograms. Total time spent on operations: 8.0ms
ival-add: 3.0ms (37.3% of total)
ival-div: 2.0ms (24.9% of total)
ival-mult: 2.0ms (24.9% 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)

bsearch51.0ms (2%)

Memory
-8.1MiB live, 34.4MiB allocated; 10ms collecting garbage
Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
Steps
TimeLeftRight
40.0ms
3.3776417286645475e+70
9.042548497749028e+70
10.0ms
-6.181893582304909e+26
-2.568353362529162e+25
Samples
42.0ms192×0valid
Compiler

Compiled 336 to 290 computations (13.7% saved)

Precisions
Click to see histograms. Total time spent on operations: 5.0ms
ival-add: 2.0ms (41.6% of total)
ival-div: 1.0ms (20.8% of total)
ival-mult: 1.0ms (20.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)

bsearch1.0ms (0%)

Memory
1.1MiB live, 1.1MiB allocated; 0ms collecting garbage
Algorithm
left-value
Steps
TimeLeftRight
0.0ms
3.2275890751294594e+156
2.0891412041266474e+169
0.0ms
-1.1547911744247482e+130
-3.3480559893564593e+128
Compiler

Compiled 12 to 14 computations (-16.7% saved)

simplify47.0ms (1.8%)

Memory
-7.5MiB live, 51.3MiB allocated; 13ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
040138
161138
287138
3122138
4184138
5512138
63654138
Stop Event
node limit
Calls
Call 1
Inputs
(fma.f64 y x (fma.f64 #s(literal 1/2 binary64) x z))
(fma.f64 (+.f64 #s(literal 1/2 binary64) y) x z)
(if (<=.f64 y #s(literal -53/2 binary64)) (fma.f64 y x #s(approx (+ (* 1/2 x) z) z)) (if (<=.f64 y #s(literal 1/2 binary64)) #s(approx (+ (+ (/ x 2) (* y x)) z) (fma.f64 #s(literal 1/2 binary64) x z)) (fma.f64 y x #s(approx (+ (* 1/2 x) z) z))))
(if (<=.f64 y #s(literal -61999999999999995738587136 binary64)) #s(approx (+ (+ (/ x 2) (* y x)) z) (*.f64 y x)) (if (<=.f64 y #s(literal 43000000000000000820108453106923822887289558889336668659174353410195456 binary64)) #s(approx (+ (+ (/ x 2) (* y x)) z) (fma.f64 #s(literal 1/2 binary64) x z)) #s(approx (+ (+ (/ x 2) (* y x)) z) (*.f64 y x))))
(if (<=.f64 (+.f64 (/.f64 x #s(literal 2 binary64)) (*.f64 y x)) #s(literal -10000000000000000597830782460516151851749290252338090708736359498322008205751130936310560341066601403445681992244323541365884452864 binary64)) #s(approx (+ (+ (/ x 2) (* y x)) z) (*.f64 y x)) (if (<=.f64 (+.f64 (/.f64 x #s(literal 2 binary64)) (*.f64 y x)) #s(literal 4999999999999999916795901115958608572801861375087352681835038072302342087505062772657389384729693708756186941721815525337672536740822868667327551851630428160 binary64)) #s(approx (+ (+ (/ x 2) (* y x)) z) z) #s(approx (+ (+ (/ x 2) (* y x)) z) (*.f64 y x))))
#s(approx (+ (+ (/ x 2) (* y x)) z) z)
Outputs
(fma.f64 y x (fma.f64 #s(literal 1/2 binary64) x z))
(fma.f64 (+.f64 #s(literal 1/2 binary64) y) x z)
(if (<=.f64 y #s(literal -53/2 binary64)) (fma.f64 y x #s(approx (+ (* 1/2 x) z) z)) (if (<=.f64 y #s(literal 1/2 binary64)) #s(approx (+ (+ (/ x 2) (* y x)) z) (fma.f64 #s(literal 1/2 binary64) x z)) (fma.f64 y x #s(approx (+ (* 1/2 x) z) z))))
(if (or (<=.f64 y #s(literal -53/2 binary64)) (not (<=.f64 y #s(literal 1/2 binary64)))) (fma.f64 y x #s(approx (+ (* 1/2 x) z) z)) #s(approx (+ (+ (/ x 2) (* y x)) z) (fma.f64 #s(literal 1/2 binary64) x z)))
(if (<=.f64 y #s(literal -61999999999999995738587136 binary64)) #s(approx (+ (+ (/ x 2) (* y x)) z) (*.f64 y x)) (if (<=.f64 y #s(literal 43000000000000000820108453106923822887289558889336668659174353410195456 binary64)) #s(approx (+ (+ (/ x 2) (* y x)) z) (fma.f64 #s(literal 1/2 binary64) x z)) #s(approx (+ (+ (/ x 2) (* y x)) z) (*.f64 y x))))
(if (or (<=.f64 y #s(literal -61999999999999995738587136 binary64)) (not (<=.f64 y #s(literal 43000000000000000820108453106923822887289558889336668659174353410195456 binary64)))) #s(approx (+ (+ (/ x 2) (* y x)) z) (*.f64 y x)) #s(approx (+ (+ (/ x 2) (* y x)) z) (fma.f64 #s(literal 1/2 binary64) x z)))
(if (<=.f64 (+.f64 (/.f64 x #s(literal 2 binary64)) (*.f64 y x)) #s(literal -10000000000000000597830782460516151851749290252338090708736359498322008205751130936310560341066601403445681992244323541365884452864 binary64)) #s(approx (+ (+ (/ x 2) (* y x)) z) (*.f64 y x)) (if (<=.f64 (+.f64 (/.f64 x #s(literal 2 binary64)) (*.f64 y x)) #s(literal 4999999999999999916795901115958608572801861375087352681835038072302342087505062772657389384729693708756186941721815525337672536740822868667327551851630428160 binary64)) #s(approx (+ (+ (/ x 2) (* y x)) z) z) #s(approx (+ (+ (/ x 2) (* y x)) z) (*.f64 y x))))
(if (or (<=.f64 (+.f64 (/.f64 x #s(literal 2 binary64)) (*.f64 y x)) #s(literal -10000000000000000597830782460516151851749290252338090708736359498322008205751130936310560341066601403445681992244323541365884452864 binary64)) (not (<=.f64 (+.f64 (/.f64 x #s(literal 2 binary64)) (*.f64 y x)) #s(literal 4999999999999999916795901115958608572801861375087352681835038072302342087505062772657389384729693708756186941721815525337672536740822868667327551851630428160 binary64)))) #s(approx (+ (+ (/ x 2) (* y x)) z) (*.f64 y x)) #s(approx (+ (+ (/ x 2) (* y x)) z) z))
#s(approx (+ (+ (/ x 2) (* y x)) z) z)

derivations99.0ms (3.8%)

Memory
6.8MiB live, 138.0MiB allocated; 20ms collecting garbage
Stop Event
done
Compiler

Compiled 138 to 45 computations (67.4% saved)

preprocess39.0ms (1.5%)

Memory
29.5MiB live, 132.9MiB allocated; 11ms collecting garbage
Compiler

Compiled 294 to 106 computations (63.9% saved)

end0.0ms (0%)

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

Profiling

Loading profile data...