Statistics.Sample:robustSumVarWeighted from math-functions-0.1.5.2

Time bar (total: 1.4s)

start0.0ms (0%)

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

analyze0.0ms (0%)

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

Compiled 9 to 8 computations (11.1% saved)

sample650.0ms (47.6%)

Memory
35.0MiB live, 924.7MiB allocated; 259ms collecting garbage
Samples
417.0ms8 256×0valid
Precisions
Click to see histograms. Total time spent on operations: 247.0ms
ival-mult!: 226.0ms (91.6% of total)
ival-add!: 19.0ms (7.7% of total)
adjust: 1.0ms (0.4% of total)
Bogosity

preprocess90.0ms (6.6%)

Memory
-27.1MiB live, 60.4MiB allocated; 20ms collecting garbage
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
02877
110371
228871
356171
477371
5132671
6465971
Stop Event
node-limit
Alt Table
Click to see full alt table
StatusAccuracyProgram
99.9%
(+.f64 x (*.f64 (*.f64 y z) z))
Symmetry

(abs z)

Compiler

Compiled 12 to 12 computations (0% saved)

series8.0ms (0.6%)

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

9 calls:

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

rewrite135.0ms (9.9%)

Memory
-5.8MiB live, 89.8MiB allocated; 27ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
044163
047153
1246153
01960139
15915139
Stop Event
saturated
iter-limit
node-limit
iter-limit
Counts
17 → 32
Calls
Call 1
Inputs
(+.f64 x (*.f64 (*.f64 y z) z))
x
(*.f64 (*.f64 y z) z)
(*.f64 y z)
y
z
#s(approx (+ x (* (* y z) z)) #s(hole binary64 (* y (pow z 2))))
#s(approx (+ x (* (* y z) z)) #s(hole binary64 (+ x (* y (pow z 2)))))
#s(approx x #s(hole binary64 x))
#s(approx (+ x (* (* y z) z)) #s(hole binary64 (* x (+ 1 (/ (* y (pow z 2)) x)))))
#s(approx (+ x (* (* y z) z)) #s(hole binary64 (* -1 (* x (- (* -1 (/ (* y (pow z 2)) x)) 1)))))
#s(approx (* y z) #s(hole binary64 (* y z)))
#s(approx y #s(hole binary64 y))
#s(approx (+ x (* (* y z) z)) #s(hole binary64 (* y (+ (/ x y) (pow z 2)))))
#s(approx (+ x (* (* y z) z)) #s(hole binary64 (* -1 (* y (+ (* -1 (/ x y)) (* -1 (pow z 2)))))))
#s(approx z #s(hole binary64 z))
#s(approx (+ x (* (* y z) z)) #s(hole binary64 (* (pow z 2) (+ y (/ x (pow z 2))))))
Outputs
(neg.f64 (-.f64 (*.f64 (*.f64 (neg.f64 y) z) z) x))
(fma.f64 (*.f64 z z) y x)
(fma.f64 (*.f64 z y) z x)
(fma.f64 z (*.f64 z y) x)
(fma.f64 y (*.f64 z z) x)
(-.f64 (*.f64 (*.f64 z z) y) (neg.f64 x))
(-.f64 x (*.f64 (*.f64 (neg.f64 y) z) z))
(+.f64 (*.f64 (*.f64 z z) y) x)
(+.f64 x (*.f64 (neg.f64 (neg.f64 y)) (*.f64 z z)))
(+.f64 x (*.f64 (neg.f64 (*.f64 (neg.f64 y) z)) z))
(+.f64 x (neg.f64 (*.f64 (*.f64 (neg.f64 y) z) z)))
(+.f64 x (*.f64 (*.f64 z z) y))
x
(*.f64 (*.f64 z z) y)
(*.f64 (*.f64 z y) z)
(*.f64 z (*.f64 z y))
(*.f64 y (*.f64 z z))
(*.f64 z y)
(*.f64 y z)
y
z
#s(approx (+ x (* (* y z) z)) (*.f64 (*.f64 z z) y))
#s(approx (+ x (* (* y z) z)) (fma.f64 (*.f64 z y) z x))
#s(approx x x)
#s(approx (+ x (* (* y z) z)) (fma.f64 (/.f64 (*.f64 (*.f64 z z) y) x) x x))
#s(approx (+ x (* (* y z) z)) (fma.f64 (/.f64 (*.f64 (*.f64 z z) y) x) x x))
#s(approx (* y z) (*.f64 z y))
#s(approx y y)
#s(approx (+ x (* (* y z) z)) (*.f64 (fma.f64 z z (/.f64 x y)) y))
#s(approx (+ x (* (* y z) z)) (*.f64 (fma.f64 z z (/.f64 x y)) y))
#s(approx z z)
#s(approx (+ x (* (* y z) z)) (*.f64 (*.f64 (+.f64 (/.f64 x (*.f64 z z)) y) z) z))

eval2.0ms (0.2%)

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

Compiled 114 to 66 computations (42.1% saved)

prune1.0ms (0.1%)

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

3 alts after pruning (3 fresh and 0 done)

PrunedKeptTotal
New23326
Fresh000
Picked101
Done000
Total24327
Accuracy
100.0%
Counts
27 → 3
Alt Table
Click to see full alt table
StatusAccuracyProgram
92.0%
(fma.f64 (*.f64 z z) y x)
99.9%
(fma.f64 (*.f64 z y) z x)
44.6%
#s(approx (+ x (* (* y z) z)) (*.f64 (*.f64 z z) y))
Compiler

Compiled 19 to 19 computations (0% saved)

series6.0ms (0.5%)

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

9 calls:

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

rewrite145.0ms (10.6%)

Memory
-22.2MiB live, 67.2MiB allocated; 14ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
050191
056172
1292172
02178167
16831167
Stop Event
saturated
iter-limit
node-limit
iter-limit
Counts
21 → 87
Calls
Call 1
Inputs
#s(approx (+ x (* (* y z) z)) (*.f64 (*.f64 z z) y))
(*.f64 (*.f64 z z) y)
(*.f64 z z)
z
y
(fma.f64 (*.f64 z y) z x)
(*.f64 z y)
x
(fma.f64 (*.f64 z z) y x)
#s(approx (+ x (* (* y z) z)) #s(hole binary64 (* y (pow z 2))))
#s(approx (+ x (* (* y z) z)) #s(hole binary64 (+ x (* y (pow z 2)))))
#s(approx x #s(hole binary64 x))
#s(approx (+ x (* (* y z) z)) #s(hole binary64 (* x (+ 1 (/ (* y (pow z 2)) x)))))
#s(approx (+ x (* (* y z) z)) #s(hole binary64 (* -1 (* x (- (* -1 (/ (* y (pow z 2)) x)) 1)))))
#s(approx y #s(hole binary64 y))
#s(approx (* z y) #s(hole binary64 (* y z)))
#s(approx (+ x (* (* y z) z)) #s(hole binary64 (* y (+ (/ x y) (pow z 2)))))
#s(approx (+ x (* (* y z) z)) #s(hole binary64 (* -1 (* y (+ (* -1 (/ x y)) (* -1 (pow z 2)))))))
#s(approx (* z z) #s(hole binary64 (pow z 2)))
#s(approx z #s(hole binary64 z))
#s(approx (+ x (* (* y z) z)) #s(hole binary64 (* (pow z 2) (+ y (/ x (pow z 2))))))
Outputs
#s(approx (+ x (* (* y z) z)) (*.f64 (*.f64 z z) y))
(*.f64 (*.f64 y (fabs.f64 z)) (fabs.f64 z))
(*.f64 (*.f64 (neg.f64 y) z) (neg.f64 z))
(*.f64 (fabs.f64 z) (*.f64 (fabs.f64 z) y))
(*.f64 (neg.f64 z) (*.f64 (neg.f64 y) z))
(*.f64 (*.f64 z z) y)
(*.f64 (*.f64 z y) z)
(*.f64 z (*.f64 z y))
(*.f64 y (*.f64 z z))
(*.f64 (*.f64 #s(literal 1 binary64) (fabs.f64 z)) (*.f64 #s(literal 1 binary64) (fabs.f64 z)))
(*.f64 (*.f64 #s(literal 1 binary64) (fabs.f64 z)) (fabs.f64 z))
(*.f64 (*.f64 #s(literal 1 binary64) (neg.f64 z)) (*.f64 #s(literal 1 binary64) (neg.f64 z)))
(*.f64 (*.f64 #s(literal 1 binary64) (neg.f64 z)) (neg.f64 z))
(*.f64 (*.f64 #s(literal 1 binary64) z) (*.f64 #s(literal 1 binary64) z))
(*.f64 (*.f64 #s(literal 1 binary64) z) z)
(*.f64 (fabs.f64 (fabs.f64 z)) (fabs.f64 (fabs.f64 z)))
(*.f64 (neg.f64 (fabs.f64 z)) (neg.f64 (fabs.f64 z)))
(*.f64 (neg.f64 (neg.f64 z)) (neg.f64 (neg.f64 z)))
(*.f64 (fabs.f64 z) (fabs.f64 z))
(*.f64 (neg.f64 z) (neg.f64 z))
(*.f64 (*.f64 (neg.f64 z) z) #s(literal -1 binary64))
(*.f64 #s(literal -1 binary64) (*.f64 (neg.f64 z) z))
(*.f64 #s(literal 1 binary64) (*.f64 z z))
(*.f64 (*.f64 z z) #s(literal 1 binary64))
(*.f64 z z)
(pow.f64 (fabs.f64 (fabs.f64 z)) #s(literal 2 binary64))
(pow.f64 (neg.f64 (fabs.f64 z)) #s(literal 2 binary64))
(pow.f64 (neg.f64 (neg.f64 z)) #s(literal 2 binary64))
(pow.f64 (fabs.f64 z) #s(literal 2 binary64))
(pow.f64 (neg.f64 z) #s(literal 2 binary64))
(pow.f64 z #s(literal 2 binary64))
(/.f64 (*.f64 #s(literal 2 binary64) (*.f64 z z)) #s(literal 2 binary64))
(neg.f64 (*.f64 (neg.f64 z) z))
(sqrt.f64 (*.f64 (*.f64 (*.f64 z z) z) z))
(fabs.f64 (*.f64 (neg.f64 z) z))
(fabs.f64 (*.f64 z z))
z
y
(neg.f64 (-.f64 (neg.f64 x) (*.f64 (*.f64 z z) y)))
(neg.f64 (-.f64 (*.f64 (*.f64 (neg.f64 y) z) z) x))
(fma.f64 (*.f64 y (fabs.f64 z)) (fabs.f64 z) x)
(fma.f64 (*.f64 (neg.f64 y) z) (neg.f64 z) x)
(fma.f64 (fabs.f64 z) (*.f64 (fabs.f64 z) y) x)
(fma.f64 (neg.f64 z) (*.f64 (neg.f64 y) z) x)
(fma.f64 (*.f64 z z) y x)
(fma.f64 (*.f64 z y) z x)
(fma.f64 z (*.f64 z y) x)
(fma.f64 y (*.f64 z z) x)
(-.f64 (*.f64 (*.f64 z z) y) (neg.f64 x))
(-.f64 x (*.f64 (*.f64 (neg.f64 y) z) z))
(+.f64 (*.f64 (*.f64 z z) y) x)
(+.f64 x (*.f64 (neg.f64 (*.f64 (neg.f64 y) z)) z))
(+.f64 x (*.f64 (neg.f64 (neg.f64 y)) (*.f64 z z)))
(+.f64 x (neg.f64 (*.f64 (*.f64 (neg.f64 y) z) z)))
(+.f64 x (*.f64 (*.f64 z z) y))
(*.f64 z y)
(*.f64 y z)
x
(neg.f64 (-.f64 (neg.f64 x) (*.f64 (*.f64 z z) y)))
(neg.f64 (-.f64 (*.f64 (*.f64 (neg.f64 y) z) z) x))
(fma.f64 (*.f64 y (fabs.f64 z)) (fabs.f64 z) x)
(fma.f64 (*.f64 (neg.f64 y) z) (neg.f64 z) x)
(fma.f64 (fabs.f64 z) (*.f64 (fabs.f64 z) y) x)
(fma.f64 (neg.f64 z) (*.f64 (neg.f64 y) z) x)
(fma.f64 (*.f64 z z) y x)
(fma.f64 (*.f64 z y) z x)
(fma.f64 z (*.f64 z y) x)
(fma.f64 y (*.f64 z z) x)
(-.f64 (*.f64 (*.f64 z z) y) (neg.f64 x))
(-.f64 x (*.f64 (*.f64 (neg.f64 y) z) z))
(+.f64 (*.f64 (*.f64 z z) y) x)
(+.f64 x (*.f64 (neg.f64 (*.f64 (neg.f64 y) z)) z))
(+.f64 x (*.f64 (neg.f64 (neg.f64 y)) (*.f64 z z)))
(+.f64 x (neg.f64 (*.f64 (*.f64 (neg.f64 y) z) z)))
(+.f64 x (*.f64 (*.f64 z z) y))
#s(approx (+ x (* (* y z) z)) (*.f64 (*.f64 z z) y))
#s(approx (+ x (* (* y z) z)) (fma.f64 (*.f64 z y) z x))
#s(approx x x)
#s(approx (+ x (* (* y z) z)) (fma.f64 (/.f64 (*.f64 (*.f64 z z) y) x) x x))
#s(approx (+ x (* (* y z) z)) (fma.f64 (/.f64 (*.f64 (*.f64 z z) y) x) x x))
#s(approx y y)
#s(approx (* z y) (*.f64 z y))
#s(approx (+ x (* (* y z) z)) (*.f64 (fma.f64 z z (/.f64 x y)) y))
#s(approx (+ x (* (* y z) z)) (*.f64 (fma.f64 z z (/.f64 x y)) y))
#s(approx (* z z) (*.f64 z z))
#s(approx z z)
#s(approx (+ x (* (* y z) z)) (*.f64 (*.f64 (+.f64 (/.f64 x (*.f64 z z)) y) z) z))

eval8.0ms (0.6%)

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

Compiled 414 to 210 computations (49.3% saved)

prune4.0ms (0.3%)

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

4 alts after pruning (1 fresh and 3 done)

PrunedKeptTotal
New89190
Fresh000
Picked033
Done000
Total89493
Accuracy
100.0%
Counts
93 → 4
Alt Table
Click to see full alt table
StatusAccuracyProgram
92.0%
(fma.f64 (*.f64 z z) y x)
99.9%
(fma.f64 (*.f64 z y) z x)
44.6%
#s(approx (+ x (* (* y z) z)) (*.f64 (*.f64 z z) y))
51.0%
#s(approx (+ x (* (* y z) z)) (*.f64 (*.f64 z y) z))
Compiler

Compiled 28 to 28 computations (0% saved)

series8.0ms (0.6%)

Memory
-28.4MiB live, 15.9MiB allocated; 6ms collecting garbage
Counts
5 → 11
Calls
Call 1
Inputs
#s(approx (+ x (* (* y z) z)) (*.f64 (*.f64 z y) z))
(*.f64 (*.f64 z y) z)
(*.f64 z y)
z
y
Outputs
#s(approx (+ x (* (* y z) z)) #s(hole binary64 (* y (pow z 2))))
#s(approx (+ x (* (* y z) z)) #s(hole binary64 (+ x (* y (pow z 2)))))
#s(approx (+ x (* (* y z) z)) #s(hole binary64 x))
#s(approx (+ x (* (* y z) z)) #s(hole binary64 (* x (+ 1 (/ (* y (pow z 2)) x)))))
#s(approx (+ x (* (* y z) z)) #s(hole binary64 (* -1 (* x (- (* -1 (/ (* y (pow z 2)) x)) 1)))))
#s(approx (* z y) #s(hole binary64 (* y z)))
#s(approx y #s(hole binary64 y))
#s(approx (+ x (* (* y z) z)) #s(hole binary64 (* y (+ (/ x y) (pow z 2)))))
#s(approx (+ x (* (* y z) z)) #s(hole binary64 (* -1 (* y (+ (* -1 (/ x y)) (* -1 (pow z 2)))))))
#s(approx z #s(hole binary64 z))
#s(approx (+ x (* (* y z) z)) #s(hole binary64 (* (pow z 2) (+ y (/ x (pow z 2))))))
Calls

9 calls:

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

rewrite84.0ms (6.2%)

Memory
38.8MiB live, 140.3MiB allocated; 17ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
045174
047164
1246164
01960149
15916149
Stop Event
saturated
iter-limit
node-limit
iter-limit
Counts
16 → 20
Calls
Call 1
Inputs
#s(approx (+ x (* (* y z) z)) (*.f64 (*.f64 z y) z))
(*.f64 (*.f64 z y) z)
(*.f64 z y)
z
y
#s(approx (+ x (* (* y z) z)) #s(hole binary64 (* y (pow z 2))))
#s(approx (+ x (* (* y z) z)) #s(hole binary64 (+ x (* y (pow z 2)))))
#s(approx (+ x (* (* y z) z)) #s(hole binary64 x))
#s(approx (+ x (* (* y z) z)) #s(hole binary64 (* x (+ 1 (/ (* y (pow z 2)) x)))))
#s(approx (+ x (* (* y z) z)) #s(hole binary64 (* -1 (* x (- (* -1 (/ (* y (pow z 2)) x)) 1)))))
#s(approx (* z y) #s(hole binary64 (* y z)))
#s(approx y #s(hole binary64 y))
#s(approx (+ x (* (* y z) z)) #s(hole binary64 (* y (+ (/ x y) (pow z 2)))))
#s(approx (+ x (* (* y z) z)) #s(hole binary64 (* -1 (* y (+ (* -1 (/ x y)) (* -1 (pow z 2)))))))
#s(approx z #s(hole binary64 z))
#s(approx (+ x (* (* y z) z)) #s(hole binary64 (* (pow z 2) (+ y (/ x (pow z 2))))))
Outputs
#s(approx (+ x (* (* y z) z)) (*.f64 (*.f64 z z) y))
(*.f64 (*.f64 z z) y)
(*.f64 (*.f64 z y) z)
(*.f64 z (*.f64 z y))
(*.f64 y (*.f64 z z))
(*.f64 z y)
(*.f64 y z)
z
y
#s(approx (+ x (* (* y z) z)) (*.f64 (*.f64 z z) y))
#s(approx (+ x (* (* y z) z)) (fma.f64 (*.f64 z y) z x))
#s(approx (+ x (* (* y z) z)) x)
#s(approx (+ x (* (* y z) z)) (fma.f64 (/.f64 (*.f64 (*.f64 z z) y) x) x x))
#s(approx (+ x (* (* y z) z)) (fma.f64 (/.f64 (*.f64 (*.f64 z z) y) x) x x))
#s(approx (* z y) (*.f64 z y))
#s(approx y y)
#s(approx (+ x (* (* y z) z)) (*.f64 (fma.f64 z z (/.f64 x y)) y))
#s(approx (+ x (* (* y z) z)) (*.f64 (fma.f64 z z (/.f64 x y)) y))
#s(approx z z)
#s(approx (+ x (* (* y z) z)) (*.f64 (*.f64 (+.f64 (/.f64 x (*.f64 z z)) y) z) z))

eval4.0ms (0.3%)

Memory
-41.8MiB live, 4.1MiB allocated; 5ms collecting garbage
Compiler

Compiled 63 to 43 computations (31.7% saved)

prune1.0ms (0.1%)

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

5 alts after pruning (1 fresh and 4 done)

PrunedKeptTotal
New10111
Fresh000
Picked011
Done033
Total10515
Accuracy
100.0%
Counts
15 → 5
Alt Table
Click to see full alt table
StatusAccuracyProgram
92.0%
(fma.f64 (*.f64 z z) y x)
99.9%
(fma.f64 (*.f64 z y) z x)
44.6%
#s(approx (+ x (* (* y z) z)) (*.f64 (*.f64 z z) y))
51.0%
#s(approx (+ x (* (* y z) z)) (*.f64 (*.f64 z y) z))
51.1%
#s(approx (+ x (* (* y z) z)) x)
Compiler

Compiled 35 to 35 computations (0% saved)

series2.0ms (0.2%)

Memory
9.3MiB live, 9.3MiB allocated; 0ms collecting garbage
Counts
2 → 8
Calls
Call 1
Inputs
#s(approx (+ x (* (* y z) z)) x)
x
Outputs
#s(approx (+ x (* (* y z) z)) #s(hole binary64 (* y (pow z 2))))
#s(approx (+ x (* (* y z) z)) #s(hole binary64 (+ x (* y (pow z 2)))))
#s(approx x #s(hole binary64 x))
#s(approx (+ x (* (* y z) z)) #s(hole binary64 (* x (+ 1 (/ (* y (pow z 2)) x)))))
#s(approx (+ x (* (* y z) z)) #s(hole binary64 (* -1 (* x (- (* -1 (/ (* y (pow z 2)) x)) 1)))))
#s(approx (+ x (* (* y z) z)) #s(hole binary64 (* y (+ (/ x y) (pow z 2)))))
#s(approx (+ x (* (* y z) z)) #s(hole binary64 (* -1 (* y (+ (* -1 (/ x y)) (* -1 (pow z 2)))))))
#s(approx (+ x (* (* y z) z)) #s(hole binary64 (* (pow z 2) (+ y (/ x (pow z 2))))))
Calls

9 calls:

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

rewrite129.0ms (9.5%)

Memory
-32.1MiB live, 138.8MiB allocated; 25ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
039142
039132
1237132
01952118
15910118
Stop Event
saturated
iter-limit
node-limit
saturated
Counts
10 → 10
Calls
Call 1
Inputs
#s(approx (+ x (* (* y z) z)) x)
x
#s(approx (+ x (* (* y z) z)) #s(hole binary64 (* y (pow z 2))))
#s(approx (+ x (* (* y z) z)) #s(hole binary64 (+ x (* y (pow z 2)))))
#s(approx x #s(hole binary64 x))
#s(approx (+ x (* (* y z) z)) #s(hole binary64 (* x (+ 1 (/ (* y (pow z 2)) x)))))
#s(approx (+ x (* (* y z) z)) #s(hole binary64 (* -1 (* x (- (* -1 (/ (* y (pow z 2)) x)) 1)))))
#s(approx (+ x (* (* y z) z)) #s(hole binary64 (* y (+ (/ x y) (pow z 2)))))
#s(approx (+ x (* (* y z) z)) #s(hole binary64 (* -1 (* y (+ (* -1 (/ x y)) (* -1 (pow z 2)))))))
#s(approx (+ x (* (* y z) z)) #s(hole binary64 (* (pow z 2) (+ y (/ x (pow z 2))))))
Outputs
#s(approx (+ x (* (* y z) z)) x)
x
#s(approx (+ x (* (* y z) z)) (*.f64 (*.f64 z z) y))
#s(approx (+ x (* (* y z) z)) (fma.f64 (*.f64 z y) z x))
#s(approx x x)
#s(approx (+ x (* (* y z) z)) (fma.f64 (/.f64 (*.f64 (*.f64 z z) y) x) x x))
#s(approx (+ x (* (* y z) z)) (fma.f64 (/.f64 (*.f64 (*.f64 z z) y) x) x x))
#s(approx (+ x (* (* y z) z)) (*.f64 (fma.f64 z z (/.f64 x y)) y))
#s(approx (+ x (* (* y z) z)) (*.f64 (fma.f64 z z (/.f64 x y)) y))
#s(approx (+ x (* (* y z) z)) (*.f64 (*.f64 (+.f64 (/.f64 x (*.f64 z z)) y) z) z))

eval1.0ms (0%)

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

Compiled 38 to 25 computations (34.2% saved)

prune2.0ms (0.1%)

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

5 alts after pruning (0 fresh and 5 done)

PrunedKeptTotal
New505
Fresh000
Picked011
Done044
Total5510
Accuracy
100.0%
Counts
10 → 5
Alt Table
Click to see full alt table
StatusAccuracyProgram
92.0%
(fma.f64 (*.f64 z z) y x)
99.9%
(fma.f64 (*.f64 z y) z x)
44.6%
#s(approx (+ x (* (* y z) z)) (*.f64 (*.f64 z z) y))
51.0%
#s(approx (+ x (* (* y z) z)) (*.f64 (*.f64 z y) z))
51.1%
#s(approx (+ x (* (* y z) z)) x)
Compiler

Compiled 58 to 53 computations (8.6% saved)

regimes13.0ms (1%)

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

5 calls:

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

Compiled 13 to 20 computations (-53.8% saved)

regimes9.0ms (0.7%)

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

5 calls:

3.0ms
(+.f64 x (*.f64 (*.f64 y z) z))
2.0ms
x
1.0ms
z
1.0ms
y
1.0ms
(*.f64 (*.f64 y z) z)
Results
AccuracySegmentsBranch
89.4%3(*.f64 (*.f64 y z) z)
75.4%3(+.f64 x (*.f64 (*.f64 y z) z))
66.0%3x
65.3%3y
83.7%2z
Compiler

Compiled 13 to 20 computations (-53.8% saved)

regimes5.0ms (0.4%)

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

Total -0.0b remaining (-0%)

Threshold costs -0b (-0%)

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

5 calls:

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

Compiled 13 to 20 computations (-53.8% saved)

bsearch0.0ms (0%)

Memory
1.5MiB live, 1.5MiB allocated; 0ms collecting garbage
Algorithm
left-value
Steps
TimeLeftRight
0.0ms
1.2665520892447413e-60
1.7813851505968383e-47
0.0ms
-6.401408267787907e-112
-1.467001159730059e-116
Compiler

Compiled 9 to 12 computations (-33.3% saved)

derivations35.0ms (2.5%)

Memory
-24.9MiB live, 71.1MiB allocated; 8ms collecting garbage
Stop Event
done
Compiler

Compiled 23 to 19 computations (17.4% saved)

preprocess22.0ms (1.6%)

Memory
28.9MiB live, 73.7MiB allocated; 7ms collecting garbage
Remove

(abs z)

Compiler

Compiled 95 to 85 computations (10.5% saved)

end0.0ms (0%)

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

Profiling

Loading profile data...