simple fma test

Time bar (total: 1.8s)

start0.0ms (0.0%)

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

analyze0.0ms (0.0%)

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

Compiled 15 to 10 computations (33.3% saved)

sample1.5s (80.2%)

Memory
43.0MiB live, 1 360.8MiB allocated; 996ms collecting garbage
Samples
1.0s6 109×1valid
112.0ms2 147×0valid
Precisions
Click to see histograms. Total time spent on operations: 383.0ms
adjust: 153.0ms (40.0% of total, 208.1 MiB)
ival-mult!: 92.0ms (24.0% of total, 109.9 MiB)
ival-add!: 81.0ms (21.2% of total, 121.8 MiB)
ival-sub!: 57.0ms (14.9% of total, 58.2 MiB)
Bogosity

preprocess59.0ms (3.2%)

Memory
-13.1MiB live, 77.6MiB allocated; 12ms collecting garbage
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
037136
1158130
259410
3264310
Stop Event
node-limit
Alt Table
Click to see full alt table
StatusAccuracyProgram
16.6%
(-.f64 (fma.f64 x y z) (+.f64 #s(literal 1 binary64) (+.f64 (*.f64 x y) z)))
Symmetry

(abs x)

(abs y)

(abs z)

(sort x y)

(sort x z)

(sort y z)

Compiler

Compiled 24 to 18 computations (25.0% saved)

sample0.0ms (0.0%)

Memory
0.5MiB live, 0.5MiB allocated; 0ms collecting garbage
Calls
Call 1
Inputs
1
Outputs
#s(literal 1 binary64)
Samples
0.0ms0valid
Compiler

Compiled 3 to 3 computations (0.0% saved)

Precisions
Click to see histograms. Total time spent on operations: 0.0ms
adjust: 0.0ms (0.0% of total, 0.0 MiB)

series8.0ms (0.4%)

Memory
26.7MiB live, 26.7MiB allocated; 0ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
086291
Stop Event
iter-limit
Counts
9 → 22
Calls
Call 1
Inputs
x
y
z
(fma.f64 x y z)
#s(literal 1 binary64)
(*.f64 x y)
(+.f64 (*.f64 x y) z)
(+.f64 #s(literal 1 binary64) (+.f64 (*.f64 x y) z))
(-.f64 (fma.f64 x y z) (+.f64 #s(literal 1 binary64) (+.f64 (*.f64 x y) z)))
Outputs
(approx x #s(literal 0 binary64))
(approx x x)
(approx (+ (* x y) z) z)
(approx (+ (* x y) z) (+.f64 z (*.f64 x y)))
(approx (* x y) (*.f64 x y))
(approx (+ 1 (+ (* x y) z)) (+.f64 #s(literal 1 binary64) z))
(approx (+ 1 (+ (* x y) z)) (+.f64 #s(literal 1 binary64) (+.f64 z (*.f64 x y))))
(approx (- (+ (* x y) z) (+ 1 (+ (* x y) z))) #s(literal -1 binary64))
(approx (+ (* x y) z) (*.f64 x (+.f64 y (/.f64 z x))))
(approx (+ 1 (+ (* x y) z)) (*.f64 x (+.f64 y (+.f64 (/.f64 #s(literal 1 binary64) x) (/.f64 z x)))))
(approx (+ (* x y) z) (*.f64 #s(literal -1 binary64) (*.f64 x (fma.f64 #s(literal -1 binary64) y (*.f64 #s(literal -1 binary64) (/.f64 z x))))))
(approx (+ 1 (+ (* x y) z)) (*.f64 #s(literal -1 binary64) (*.f64 x (fma.f64 #s(literal -1 binary64) y (*.f64 #s(literal -1 binary64) (/.f64 (+.f64 #s(literal 1 binary64) z) x))))))
(approx y y)
(approx (+ (* x y) z) (*.f64 y (+.f64 x (/.f64 z y))))
(approx (+ 1 (+ (* x y) z)) (*.f64 y (+.f64 x (+.f64 (/.f64 #s(literal 1 binary64) y) (/.f64 z y)))))
(approx (+ (* x y) z) (*.f64 #s(literal -1 binary64) (*.f64 y (fma.f64 #s(literal -1 binary64) x (*.f64 #s(literal -1 binary64) (/.f64 z y))))))
(approx (+ 1 (+ (* x y) z)) (*.f64 #s(literal -1 binary64) (*.f64 y (fma.f64 #s(literal -1 binary64) x (*.f64 #s(literal -1 binary64) (/.f64 (+.f64 #s(literal 1 binary64) z) y))))))
(approx (+ 1 (+ (* x y) z)) (+.f64 #s(literal 1 binary64) (*.f64 x y)))
(approx (+ (* x y) z) (*.f64 z (+.f64 #s(literal 1 binary64) (/.f64 (*.f64 x y) z))))
(approx (+ 1 (+ (* x y) z)) (*.f64 z (+.f64 #s(literal 1 binary64) (+.f64 (/.f64 #s(literal 1 binary64) z) (/.f64 (*.f64 x y) z)))))
(approx (+ (* x y) z) (*.f64 #s(literal -1 binary64) (*.f64 z (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 x y) z)) #s(literal 1 binary64)))))
(approx (+ 1 (+ (* x y) z)) (*.f64 #s(literal -1 binary64) (*.f64 z (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (+.f64 #s(literal 1 binary64) (*.f64 x y)) z)) #s(literal 1 binary64)))))
Calls

9 calls:

TimeVariablePoint
1.0ms
x
inf
0.0ms
y
inf
0.0ms
x
-inf
0.0ms
y
-inf
0.0ms
x
0

rewrite152.0ms (8.3%)

Memory
-22.3MiB live, 210.3MiB allocated; 33ms collecting garbage
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
0932
01632
13932
214322
368622
0460422
0462922
Stop Event
iter-limit
iter-limit
node-limit
iter-limit
Counts
9 → 177
Calls
Call 1
Inputs
x
y
z
(fma.f64 x y z)
#s(literal 1 binary64)
(*.f64 x y)
(+.f64 (*.f64 x y) z)
(+.f64 #s(literal 1 binary64) (+.f64 (*.f64 x y) z))
(-.f64 (fma.f64 x y z) (+.f64 #s(literal 1 binary64) (+.f64 (*.f64 x y) z)))
Outputs
x
y
z
(neg.f64 (neg.f64 (fma.f64 y x z)))
(fma.f64 (neg.f64 y) (neg.f64 x) z)
(fma.f64 (neg.f64 y) x (-.f64 (*.f64 y x) (neg.f64 (fma.f64 y x z))))
(fma.f64 (neg.f64 x) (neg.f64 y) z)
(fma.f64 (neg.f64 x) y (-.f64 (*.f64 y x) (neg.f64 (fma.f64 y x z))))
(fma.f64 y (neg.f64 x) (-.f64 (*.f64 y x) (neg.f64 (fma.f64 y x z))))
(fma.f64 y x z)
(fma.f64 x (neg.f64 y) (-.f64 (*.f64 y x) (neg.f64 (fma.f64 y x z))))
(fma.f64 x y z)
(-.f64 (+.f64 (neg.f64 (fma.f64 y x z)) (*.f64 y x)) (+.f64 (neg.f64 z) (neg.f64 (fma.f64 y x z))))
(-.f64 (*.f64 (neg.f64 y) x) (fma.f64 (neg.f64 y) x (neg.f64 (fma.f64 y x z))))
(-.f64 (neg.f64 (fma.f64 y x z)) (+.f64 (neg.f64 (fma.f64 y x z)) (neg.f64 (fma.f64 y x z))))
(-.f64 (neg.f64 z) (+.f64 (neg.f64 z) (neg.f64 (fma.f64 y x z))))
(-.f64 #s(literal 0 binary64) (neg.f64 (fma.f64 y x z)))
(-.f64 (fma.f64 y x z) #s(literal 0 binary64))
(-.f64 (*.f64 y x) (neg.f64 z))
(-.f64 #s(literal 1 binary64) (-.f64 #s(literal 1 binary64) (fma.f64 y x z)))
(-.f64 z (*.f64 (neg.f64 y) x))
(+.f64 (+.f64 (neg.f64 (fma.f64 y x z)) (*.f64 y x)) (-.f64 z (neg.f64 (fma.f64 y x z))))
(+.f64 (*.f64 (neg.f64 y) x) (-.f64 (*.f64 y x) (neg.f64 (fma.f64 y x z))))
(+.f64 (neg.f64 (fma.f64 y x z)) (-.f64 (fma.f64 y x z) (neg.f64 (fma.f64 y x z))))
(+.f64 (neg.f64 z) (-.f64 z (neg.f64 (fma.f64 y x z))))
(+.f64 #s(literal 0 binary64) (fma.f64 y x z))
(+.f64 (fma.f64 y x z) #s(literal 0 binary64))
(+.f64 (*.f64 y x) z)
(+.f64 z (*.f64 y x))
#s(literal 1 binary64)
(*.f64 (neg.f64 y) (neg.f64 x))
(*.f64 (neg.f64 x) (neg.f64 y))
(*.f64 y x)
(*.f64 x y)
(neg.f64 (-.f64 (*.f64 (neg.f64 y) x) #s(literal 0 binary64)))
(neg.f64 (*.f64 (neg.f64 y) x))
(fma.f64 (neg.f64 y) (neg.f64 x) #s(literal 0 binary64))
(fma.f64 (neg.f64 y) x (-.f64 (*.f64 y x) (*.f64 (neg.f64 y) x)))
(fma.f64 (neg.f64 x) (neg.f64 y) #s(literal 0 binary64))
(fma.f64 (neg.f64 x) y (-.f64 (*.f64 y x) (*.f64 (neg.f64 y) x)))
(fma.f64 y (neg.f64 x) (-.f64 (*.f64 y x) (*.f64 (neg.f64 y) x)))
(fma.f64 y x #s(literal 0 binary64))
(fma.f64 x (neg.f64 y) (-.f64 (*.f64 y x) (*.f64 (neg.f64 y) x)))
(fma.f64 x y #s(literal 0 binary64))
(-.f64 (+.f64 (neg.f64 (fma.f64 y x z)) (*.f64 y x)) (neg.f64 (fma.f64 y x z)))
(-.f64 (*.f64 (neg.f64 y) x) (fma.f64 (neg.f64 y) x (*.f64 (neg.f64 y) x)))
(-.f64 (neg.f64 (fma.f64 y x z)) (+.f64 (neg.f64 (fma.f64 y x z)) (*.f64 (neg.f64 y) x)))
(-.f64 (neg.f64 z) (neg.f64 (fma.f64 y x z)))
(-.f64 #s(literal 0 binary64) (*.f64 (neg.f64 y) x))
(-.f64 (fma.f64 y x z) z)
(-.f64 (*.f64 y x) #s(literal 0 binary64))
(-.f64 #s(literal 1 binary64) (-.f64 #s(literal 1 binary64) (*.f64 y x)))
(-.f64 z (fma.f64 (neg.f64 y) x z))
(-.f64 z (-.f64 z (*.f64 y x)))
(+.f64 (-.f64 (*.f64 y x) z) z)
(+.f64 (+.f64 (neg.f64 z) (*.f64 y x)) z)
(+.f64 (+.f64 (neg.f64 (fma.f64 y x z)) (*.f64 y x)) (fma.f64 y x z))
(+.f64 (*.f64 (neg.f64 y) x) (-.f64 (*.f64 y x) (*.f64 (neg.f64 y) x)))
(+.f64 (neg.f64 (fma.f64 y x z)) (-.f64 (fma.f64 y x z) (*.f64 (neg.f64 y) x)))
(+.f64 (neg.f64 z) (fma.f64 y x z))
(+.f64 #s(literal 0 binary64) (*.f64 y x))
(+.f64 (fma.f64 y x z) (+.f64 (neg.f64 (fma.f64 y x z)) (*.f64 y x)))
(+.f64 (fma.f64 y x z) (neg.f64 z))
(+.f64 (*.f64 y x) #s(literal 0 binary64))
(+.f64 z (-.f64 (*.f64 y x) z))
(+.f64 z (+.f64 (neg.f64 z) (*.f64 y x)))
(neg.f64 (neg.f64 (fma.f64 y x z)))
(fma.f64 (neg.f64 y) (neg.f64 x) z)
(fma.f64 (neg.f64 y) x (-.f64 (*.f64 y x) (neg.f64 (fma.f64 y x z))))
(fma.f64 (neg.f64 x) (neg.f64 y) z)
(fma.f64 (neg.f64 x) y (-.f64 (*.f64 y x) (neg.f64 (fma.f64 y x z))))
(fma.f64 y (neg.f64 x) (-.f64 (*.f64 y x) (neg.f64 (fma.f64 y x z))))
(fma.f64 y x z)
(fma.f64 x (neg.f64 y) (-.f64 (*.f64 y x) (neg.f64 (fma.f64 y x z))))
(fma.f64 x y z)
(-.f64 (+.f64 (neg.f64 (fma.f64 y x z)) (*.f64 y x)) (+.f64 (neg.f64 z) (neg.f64 (fma.f64 y x z))))
(-.f64 (*.f64 (neg.f64 y) x) (fma.f64 (neg.f64 y) x (neg.f64 (fma.f64 y x z))))
(-.f64 (neg.f64 (fma.f64 y x z)) (+.f64 (neg.f64 (fma.f64 y x z)) (neg.f64 (fma.f64 y x z))))
(-.f64 (neg.f64 z) (+.f64 (neg.f64 z) (neg.f64 (fma.f64 y x z))))
(-.f64 #s(literal 0 binary64) (neg.f64 (fma.f64 y x z)))
(-.f64 (fma.f64 y x z) #s(literal 0 binary64))
(-.f64 (*.f64 y x) (neg.f64 z))
(-.f64 #s(literal 1 binary64) (-.f64 #s(literal 1 binary64) (fma.f64 y x z)))
(-.f64 z (*.f64 (neg.f64 y) x))
(+.f64 (+.f64 (neg.f64 (fma.f64 y x z)) (*.f64 y x)) (-.f64 z (neg.f64 (fma.f64 y x z))))
(+.f64 (*.f64 (neg.f64 y) x) (-.f64 (*.f64 y x) (neg.f64 (fma.f64 y x z))))
(+.f64 (neg.f64 (fma.f64 y x z)) (-.f64 (fma.f64 y x z) (neg.f64 (fma.f64 y x z))))
(+.f64 (neg.f64 z) (-.f64 z (neg.f64 (fma.f64 y x z))))
(+.f64 #s(literal 0 binary64) (fma.f64 y x z))
(+.f64 (fma.f64 y x z) #s(literal 0 binary64))
(+.f64 (*.f64 y x) z)
(+.f64 z (*.f64 y x))
(*.f64 (/.f64 (fma.f64 (fma.f64 y x z) #s(literal 2 binary64) #s(literal 2 binary64)) #s(literal 8 binary64)) #s(literal 4 binary64))
(*.f64 (/.f64 (fma.f64 (fma.f64 y x z) #s(literal 2 binary64) #s(literal 2 binary64)) #s(literal 4 binary64)) #s(literal 2 binary64))
(*.f64 (fma.f64 (fma.f64 y x z) #s(literal 2 binary64) #s(literal 2 binary64)) #s(literal 1/2 binary64))
(/.f64 (/.f64 (fma.f64 (fma.f64 y x z) #s(literal 2 binary64) #s(literal 2 binary64)) #s(literal 1/2 binary64)) #s(literal 4 binary64))
(/.f64 (/.f64 (fma.f64 (fma.f64 y x z) #s(literal 2 binary64) #s(literal 2 binary64)) #s(literal 1 binary64)) #s(literal 2 binary64))
(/.f64 (fma.f64 (-.f64 (fma.f64 y x z) #s(literal -1/2 binary64)) #s(literal 2 binary64) #s(literal 1 binary64)) #s(literal 2 binary64))
(/.f64 (fma.f64 (fma.f64 y x z) #s(literal -2 binary64) #s(literal -2 binary64)) #s(literal -2 binary64))
(/.f64 (fma.f64 (fma.f64 y x z) #s(literal 1 binary64) #s(literal 1 binary64)) #s(literal 1 binary64))
(/.f64 (fma.f64 (*.f64 y x) #s(literal 2 binary64) (fma.f64 z #s(literal 2 binary64) #s(literal 2 binary64))) #s(literal 2 binary64))
(/.f64 (fma.f64 z #s(literal 2 binary64) (*.f64 (fma.f64 y x #s(literal 1 binary64)) #s(literal 2 binary64))) #s(literal 2 binary64))
(/.f64 (-.f64 (*.f64 (fma.f64 y x z) #s(literal -2 binary64)) #s(literal 2 binary64)) #s(literal -2 binary64))
(/.f64 (-.f64 (*.f64 (*.f64 y x) #s(literal 2 binary64)) (*.f64 #s(literal 2 binary64) (-.f64 #s(literal -1 binary64) z))) #s(literal 2 binary64))
(/.f64 (fma.f64 #s(literal 2 binary64) (-.f64 (fma.f64 y x z) #s(literal -1 binary64)) #s(literal 0 binary64)) #s(literal 2 binary64))
(/.f64 (fma.f64 (fma.f64 (fma.f64 y x z) #s(literal 2 binary64) #s(literal 2 binary64)) #s(literal 2 binary64) #s(literal 0 binary64)) #s(literal 4 binary64))
(/.f64 (neg.f64 (*.f64 #s(literal 2 binary64) (-.f64 #s(literal -1 binary64) (fma.f64 y x z)))) #s(literal 2 binary64))
(/.f64 (neg.f64 (fma.f64 (fma.f64 y x z) #s(literal 2 binary64) #s(literal 2 binary64))) #s(literal -2 binary64))
(/.f64 (fma.f64 (fma.f64 y x z) #s(literal 2 binary64) #s(literal 2 binary64)) #s(literal 2 binary64))
(/.f64 (*.f64 #s(literal 2 binary64) (-.f64 #s(literal -1 binary64) (fma.f64 y x z))) #s(literal -2 binary64))
(/.f64 (-.f64 (fma.f64 y x z) #s(literal -1 binary64)) #s(literal 1 binary64))
(/.f64 #s(literal 1 binary64) (/.f64 #s(literal 2 binary64) (fma.f64 (fma.f64 y x z) #s(literal 2 binary64) #s(literal 2 binary64))))
(neg.f64 (-.f64 #s(literal -1 binary64) (fma.f64 y x z)))
(fma.f64 (/.f64 (*.f64 (-.f64 #s(literal 1 binary64) z) #s(literal 2 binary64)) #s(literal 8 binary64)) #s(literal 4 binary64) (-.f64 z (neg.f64 (fma.f64 y x z))))
(fma.f64 (/.f64 (*.f64 (-.f64 #s(literal 1 binary64) z) #s(literal 2 binary64)) #s(literal 4 binary64)) #s(literal 2 binary64) (-.f64 z (neg.f64 (fma.f64 y x z))))
(fma.f64 (/.f64 (*.f64 (fma.f64 y x #s(literal 1 binary64)) #s(literal 2 binary64)) #s(literal 8 binary64)) #s(literal 4 binary64) z)
(fma.f64 (/.f64 (*.f64 (fma.f64 y x #s(literal 1 binary64)) #s(literal 2 binary64)) #s(literal 4 binary64)) #s(literal 2 binary64) z)
(fma.f64 (/.f64 (fma.f64 (fma.f64 y x z) #s(literal 2 binary64) #s(literal 2 binary64)) #s(literal 8 binary64)) #s(literal 4 binary64) #s(literal 0 binary64))
(fma.f64 (/.f64 (fma.f64 (fma.f64 y x z) #s(literal 2 binary64) #s(literal 2 binary64)) #s(literal 4 binary64)) #s(literal 2 binary64) #s(literal 0 binary64))
(fma.f64 (/.f64 (fma.f64 z #s(literal 2 binary64) #s(literal 2 binary64)) #s(literal 8 binary64)) #s(literal 4 binary64) (*.f64 y x))
(fma.f64 (/.f64 (fma.f64 z #s(literal 2 binary64) #s(literal 2 binary64)) #s(literal 4 binary64)) #s(literal 2 binary64) (*.f64 y x))
(fma.f64 (*.f64 (-.f64 #s(literal 1 binary64) z) #s(literal 2 binary64)) #s(literal 1/2 binary64) (-.f64 z (neg.f64 (fma.f64 y x z))))
(fma.f64 (*.f64 (fma.f64 y x #s(literal 1 binary64)) #s(literal 2 binary64)) #s(literal 1/2 binary64) z)
(fma.f64 (fma.f64 (fma.f64 y x z) #s(literal 2 binary64) #s(literal 2 binary64)) #s(literal 1/2 binary64) #s(literal 0 binary64))
(fma.f64 (fma.f64 z #s(literal 2 binary64) #s(literal 2 binary64)) #s(literal 1/2 binary64) (*.f64 y x))
(fma.f64 (neg.f64 y) (neg.f64 x) (-.f64 (-.f64 #s(literal 1 binary64) (*.f64 y x)) (neg.f64 (fma.f64 y x z))))
(fma.f64 (neg.f64 y) (neg.f64 x) (-.f64 z #s(literal -1 binary64)))
(fma.f64 (neg.f64 y) x (-.f64 (fma.f64 y x #s(literal 1 binary64)) (neg.f64 (fma.f64 y x z))))
(fma.f64 (neg.f64 x) (neg.f64 y) (-.f64 (-.f64 #s(literal 1 binary64) (*.f64 y x)) (neg.f64 (fma.f64 y x z))))
(fma.f64 (neg.f64 x) (neg.f64 y) (-.f64 z #s(literal -1 binary64)))
(fma.f64 (neg.f64 x) y (-.f64 (fma.f64 y x #s(literal 1 binary64)) (neg.f64 (fma.f64 y x z))))
(fma.f64 y (neg.f64 x) (-.f64 (fma.f64 y x #s(literal 1 binary64)) (neg.f64 (fma.f64 y x z))))
(fma.f64 y x (-.f64 (-.f64 #s(literal 1 binary64) (*.f64 y x)) (neg.f64 (fma.f64 y x z))))
(fma.f64 y x (-.f64 z #s(literal -1 binary64)))
(fma.f64 x (neg.f64 y) (-.f64 (fma.f64 y x #s(literal 1 binary64)) (neg.f64 (fma.f64 y x z))))
(fma.f64 x y (-.f64 (-.f64 #s(literal 1 binary64) (*.f64 y x)) (neg.f64 (fma.f64 y x z))))
(fma.f64 x y (-.f64 z #s(literal -1 binary64)))
(-.f64 (-.f64 (fma.f64 y x z) #s(literal -1/2 binary64)) #s(literal -1/2 binary64))
(-.f64 (-.f64 z #s(literal -1 binary64)) (*.f64 (neg.f64 y) x))
(-.f64 (fma.f64 y x #s(literal 1 binary64)) (neg.f64 z))
(-.f64 #s(literal 1/2 binary64) (+.f64 #s(literal -1/2 binary64) (neg.f64 (fma.f64 y x z))))
(-.f64 #s(literal 1/2 binary64) (neg.f64 (+.f64 #s(literal 1/2 binary64) (fma.f64 y x z))))
(-.f64 #s(literal 0 binary64) (-.f64 #s(literal -1 binary64) (fma.f64 y x z)))
(-.f64 (-.f64 (fma.f64 y x z) #s(literal -1 binary64)) #s(literal 0 binary64))
(-.f64 (fma.f64 y x z) #s(literal -1 binary64))
(-.f64 (*.f64 y x) (-.f64 #s(literal -1 binary64) z))
(-.f64 #s(literal 1 binary64) (neg.f64 (fma.f64 y x z)))
(-.f64 z (-.f64 #s(literal -1 binary64) (*.f64 y x)))
(+.f64 (-.f64 (fma.f64 y x z) (*.f64 (neg.f64 y) x)) (-.f64 #s(literal 1 binary64) (*.f64 y x)))
(+.f64 (-.f64 (fma.f64 y x z) (-.f64 z (fma.f64 y x #s(literal 1 binary64)))) (-.f64 z (*.f64 y x)))
(+.f64 (-.f64 (fma.f64 y x z) (-.f64 #s(literal -1 binary64) z)) (neg.f64 z))
(+.f64 (-.f64 (fma.f64 y x z) (-.f64 #s(literal -1 binary64) (*.f64 y x))) (*.f64 (neg.f64 y) x))
(+.f64 (-.f64 (fma.f64 y x z) (-.f64 #s(literal -1 binary64) (fma.f64 y x z))) (neg.f64 (fma.f64 y x z)))
(+.f64 (-.f64 (fma.f64 y x z) (neg.f64 (fma.f64 y x z))) (-.f64 #s(literal 1 binary64) (fma.f64 y x z)))
(+.f64 (-.f64 (*.f64 y x) (-.f64 (neg.f64 z) #s(literal 1/2 binary64))) #s(literal 1/2 binary64))
(+.f64 (/.f64 (*.f64 (fma.f64 y x z) #s(literal 2 binary64)) #s(literal 2 binary64)) #s(literal 1 binary64))
(+.f64 (fma.f64 y x #s(literal 1/2 binary64)) (+.f64 #s(literal 1/2 binary64) z))
(+.f64 (-.f64 (fma.f64 y x z) #s(literal -1/2 binary64)) #s(literal 1/2 binary64))
(+.f64 (-.f64 z #s(literal -1/2 binary64)) (+.f64 #s(literal 1/2 binary64) (*.f64 y x)))
(+.f64 (-.f64 z #s(literal -1 binary64)) (*.f64 y x))
(+.f64 (-.f64 #s(literal 1 binary64) z) (-.f64 z (neg.f64 (fma.f64 y x z))))
(+.f64 (-.f64 #s(literal 1 binary64) (fma.f64 y x z)) (-.f64 (fma.f64 y x z) (neg.f64 (fma.f64 y x z))))
(+.f64 (*.f64 (neg.f64 y) x) (-.f64 (fma.f64 y x #s(literal 1 binary64)) (neg.f64 (fma.f64 y x z))))
(+.f64 (fma.f64 y x #s(literal 1 binary64)) z)
(+.f64 #s(literal 1/2 binary64) (-.f64 (+.f64 #s(literal 1/2 binary64) z) (*.f64 (neg.f64 y) x)))
(+.f64 #s(literal 1/2 binary64) (-.f64 (+.f64 #s(literal 1/2 binary64) (*.f64 y x)) (neg.f64 z)))
(+.f64 #s(literal 1/2 binary64) (+.f64 #s(literal 1/2 binary64) (fma.f64 y x z)))
(+.f64 (neg.f64 (fma.f64 y x z)) (-.f64 (-.f64 (fma.f64 y x z) #s(literal -1 binary64)) (neg.f64 (fma.f64 y x z))))
(+.f64 (neg.f64 z) (-.f64 (-.f64 z #s(literal -1 binary64)) (neg.f64 (fma.f64 y x z))))
(+.f64 #s(literal 0 binary64) (-.f64 (fma.f64 y x z) #s(literal -1 binary64)))
(+.f64 (-.f64 (fma.f64 y x z) #s(literal -1 binary64)) #s(literal 0 binary64))
(+.f64 (fma.f64 y x z) #s(literal 1 binary64))
(+.f64 (*.f64 y x) (-.f64 (-.f64 #s(literal 1 binary64) (*.f64 y x)) (neg.f64 (fma.f64 y x z))))
(+.f64 (*.f64 y x) (-.f64 z #s(literal -1 binary64)))
(+.f64 #s(literal 1 binary64) (fma.f64 y x z))
(+.f64 z (fma.f64 y x #s(literal 1 binary64)))
#s(literal -1 binary64)

reconstruct1.0ms (0.1%)

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

eval26.0ms (1.4%)

Memory
9.4MiB live, 57.6MiB allocated; 17ms collecting garbage
Compiler

Compiled 3 106 to 578 computations (81.4% saved)

prune4.0ms (0.2%)

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

1 alts after pruning (1 fresh and 0 done)

PrunedKeptTotal
New1911192
Fresh000
Picked101
Done000
Total1921193
Accuracy
100.0%
Counts
193 → 1
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(approx (- (+ (* x y) z) (+ 1 (+ (* x y) z))) #s(literal -1 binary64))
Compiler

Compiled 1 to 1 computations (0.0% saved)

sample0.0ms (0.0%)

Memory
0.8MiB live, 0.8MiB allocated; 0ms collecting garbage
Calls
Call 1
Inputs
-1
Outputs
#s(literal -1 binary64)
Samples
0.0ms0valid
Compiler

Compiled 3 to 3 computations (0.0% saved)

Precisions
Click to see histograms. Total time spent on operations: 0.0ms
adjust: 0.0ms (0.0% of total, 0.0 MiB)

series1.0ms (0.1%)

Memory
5.2MiB live, 5.2MiB allocated; 0ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01216
Stop Event
iter-limit
Counts
2 → 2
Calls
Call 1
Inputs
#s(literal -1 binary64)
(approx (- (+ (* x y) z) (+ 1 (+ (* x y) z))) #s(literal -1 binary64))
Outputs
(approx -1 #s(literal 0 binary64))
(approx (- (+ (* x y) z) (+ 1 (+ (* x y) z))) #s(literal -1 binary64))
Calls

9 calls:

TimeVariablePoint
0.0ms
x
0
0.0ms
z
0
0.0ms
y
0
0.0ms
x
inf
0.0ms
x
-inf

rewrite79.0ms (4.3%)

Memory
-15.7MiB live, 171.0MiB allocated; 33ms collecting garbage
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01016
01016
13316
21364
36804
046324
046574
Stop Event
iter-limit
iter-limit
node-limit
saturated
Counts
2 → 2
Calls
Call 1
Inputs
#s(literal -1 binary64)
(approx (- (+ (* x y) z) (+ 1 (+ (* x y) z))) #s(literal -1 binary64))
Outputs
#s(literal -1 binary64)
(approx -1 #s(literal -1 binary64))

reconstruct0.0ms (0.0%)

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

eval0.0ms (0.0%)

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

Compiled 3 to 2 computations (33.3% saved)

prune1.0ms (0.0%)

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

1 alts after pruning (0 fresh and 1 done)

PrunedKeptTotal
New303
Fresh000
Picked011
Done000
Total314
Accuracy
100.0%
Counts
4 → 1
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(approx (- (+ (* x y) z) (+ 1 (+ (* x y) z))) #s(literal -1 binary64))
Compiler

Compiled 1 to 1 computations (0.0% saved)

regimes9.0ms (0.5%)

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

4 calls:

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

Compiled 28 to 22 computations (21.4% saved)

derivations1.0ms (0.0%)

Memory
1.9MiB live, 1.9MiB allocated; 0ms collecting garbage
Stop Event
done
Compiler

Compiled 1 to 1 computations (0.0% saved)

preprocess22.0ms (1.2%)

Memory
38.3MiB live, 84.1MiB allocated; 4ms collecting garbage
Compiler

Compiled 26 to 23 computations (11.5% saved)

end0.0ms (0.0%)

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

Profiling

Loading profile data...