SynthBasics:oscSampleBasedAux from YampaSynth-0.2

Time bar (total: 11.1s)

start0.0ms (0%)

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

analyze1.0ms (0%)

Memory
0.2MiB live, 0.2MiB 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)

sample1.2s (10.9%)

Memory
7.9MiB live, 336.4MiB allocated; 118ms collecting garbage
Samples
772.0ms8 256×0valid
Precisions
Click to see histograms. Total time spent on operations: 135.0ms
ival-mult!: 69.0ms (51% of total)
ival-sub!: 38.0ms (28.1% of total)
ival-add!: 26.0ms (19.2% of total)
adjust: 2.0ms (1.5% of total)
Bogosity

preprocess179.0ms (1.6%)

Memory
-33.9MiB live, 10.7MiB allocated; 14ms collecting garbage
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
02975
19370
230470
375870
499970
5108970
6120270
7146370
8550570
Stop Event
node-limit
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(+.f64 x (*.f64 y (-.f64 z x)))
Compiler

Compiled 12 to 12 computations (0% saved)

series287.0ms (2.6%)

Memory
-1.9MiB live, 65.3MiB allocated; 41ms collecting garbage
Counts
6 → 30
Calls
Call 1
Inputs
(+.f64 x (*.f64 y (-.f64 z x)))
x
(*.f64 y (-.f64 z x))
y
(-.f64 z x)
z
Outputs
#s(approx (+ x (* y (- z x))) (*.f64 y z))
#s(approx (+ x (* y (- z x))) (fma.f64 x (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1 binary64) y)) (*.f64 y z)))
#s(approx x x)
#s(approx (* y (- z x)) (fma.f64 #s(literal -1 binary64) (*.f64 x y) (*.f64 y z)))
#s(approx (- z x) z)
#s(approx (- z x) (+.f64 z (*.f64 #s(literal -1 binary64) x)))
#s(approx (+ x (* y (- z x))) (*.f64 x (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1 binary64) y))))
#s(approx (+ x (* y (- z x))) (*.f64 x (+.f64 #s(literal 1 binary64) (fma.f64 #s(literal -1 binary64) y (/.f64 (*.f64 y z) x)))))
#s(approx (* y (- z x)) (*.f64 #s(literal -1 binary64) (*.f64 x y)))
#s(approx (* y (- z x)) (*.f64 x (fma.f64 #s(literal -1 binary64) y (/.f64 (*.f64 y z) x))))
#s(approx (- z x) (*.f64 #s(literal -1 binary64) x))
#s(approx (- z x) (*.f64 x (-.f64 (/.f64 z x) #s(literal 1 binary64))))
#s(approx (+ x (* y (- z x))) (*.f64 #s(literal -1 binary64) (*.f64 x (-.f64 y #s(literal 1 binary64)))))
#s(approx (+ x (* y (- z x))) (*.f64 #s(literal -1 binary64) (*.f64 x (-.f64 (+.f64 y (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 y z) x))) #s(literal 1 binary64)))))
#s(approx (* y (- z x)) (*.f64 #s(literal -1 binary64) (*.f64 x (+.f64 y (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 y z) x))))))
#s(approx (- z x) (*.f64 #s(literal -1 binary64) (*.f64 x (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1 binary64) (/.f64 z x))))))
#s(approx (+ x (* y (- z x))) (+.f64 x (*.f64 y (-.f64 z x))))
#s(approx (* y (- z x)) (*.f64 y (-.f64 z x)))
#s(approx y y)
#s(approx (+ x (* y (- z x))) (*.f64 y (-.f64 (+.f64 z (/.f64 x y)) x)))
#s(approx (+ x (* y (- z x))) (*.f64 #s(literal -1 binary64) (*.f64 y (fma.f64 #s(literal -1 binary64) (-.f64 z x) (*.f64 #s(literal -1 binary64) (/.f64 x y))))))
#s(approx (+ x (* y (- z x))) (+.f64 x (*.f64 #s(literal -1 binary64) (*.f64 x y))))
#s(approx (+ x (* y (- z x))) (+.f64 x (fma.f64 #s(literal -1 binary64) (*.f64 x y) (*.f64 y z))))
#s(approx (- z x) (-.f64 z x))
#s(approx (+ x (* y (- z x))) (*.f64 z (+.f64 y (fma.f64 #s(literal -1 binary64) (/.f64 (*.f64 x y) z) (/.f64 x z)))))
#s(approx (* y (- z x)) (*.f64 z (+.f64 y (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 x y) z)))))
#s(approx (- z x) (*.f64 z (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1 binary64) (/.f64 x z)))))
#s(approx (+ x (* y (- z x))) (*.f64 #s(literal -1 binary64) (*.f64 z (fma.f64 #s(literal -1 binary64) y (*.f64 #s(literal -1 binary64) (/.f64 (+.f64 x (*.f64 #s(literal -1 binary64) (*.f64 x y))) z))))))
#s(approx (* y (- z x)) (*.f64 #s(literal -1 binary64) (*.f64 z (fma.f64 #s(literal -1 binary64) y (/.f64 (*.f64 x y) z)))))
#s(approx (- z x) (*.f64 #s(literal -1 binary64) (*.f64 z (-.f64 (/.f64 x z) #s(literal 1 binary64)))))
Calls

9 calls:

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

rewrite4.5s (40.9%)

Memory
32.5MiB live, 1 067.2MiB allocated; 281ms collecting garbage
Counts
6 → 56
Calls
Call 1
Inputs
(+.f64 x (*.f64 y (-.f64 z x)))
x
(*.f64 y (-.f64 z x))
y
(-.f64 z x)
z
Outputs
(+.f64 x (*.f64 y (-.f64 z x)))
(+.f64 (*.f64 y (-.f64 z x)) x)
(+.f64 (neg.f64 (*.f64 y x)) (fma.f64 z y x))
(+.f64 (-.f64 x (*.f64 y x)) (*.f64 z y))
(+.f64 (*.f64 z y) (-.f64 x (*.f64 y x)))
(+.f64 (fma.f64 z y x) (neg.f64 (*.f64 y x)))
(-.f64 (fma.f64 z y x) (*.f64 y x))
(-.f64 (*.f64 y (-.f64 z x)) (neg.f64 x))
(-.f64 (neg.f64 (*.f64 y x)) (neg.f64 (fma.f64 z y x)))
(-.f64 (-.f64 x (*.f64 y x)) (neg.f64 (*.f64 z y)))
(-.f64 x (*.f64 (-.f64 x z) y))
(-.f64 (*.f64 z y) (-.f64 (*.f64 y x) x))
(fma.f64 (-.f64 z x) y x)
(fma.f64 (-.f64 x z) (neg.f64 y) x)
(fma.f64 (neg.f64 x) y (fma.f64 z y x))
(fma.f64 (neg.f64 y) (-.f64 x z) x)
(fma.f64 (neg.f64 y) x (fma.f64 z y x))
(fma.f64 x (neg.f64 y) (fma.f64 z y x))
(fma.f64 y (-.f64 z x) x)
(fma.f64 y (neg.f64 x) (fma.f64 z y x))
(fma.f64 (+.f64 (neg.f64 y) #s(literal 1 binary64)) x (*.f64 z y))
(fma.f64 x (+.f64 (neg.f64 y) #s(literal 1 binary64)) (*.f64 z y))
(fma.f64 z y (-.f64 x (*.f64 y x)))
(fma.f64 y z (-.f64 x (*.f64 y x)))
(fma.f64 (neg.f64 z) (neg.f64 y) (-.f64 x (*.f64 y x)))
(fma.f64 (neg.f64 y) (neg.f64 z) (-.f64 x (*.f64 y x)))
(fma.f64 (neg.f64 (+.f64 (neg.f64 y) #s(literal 1 binary64))) (neg.f64 x) (*.f64 z y))
(neg.f64 (-.f64 (*.f64 (-.f64 x z) y) x))
x
(neg.f64 (neg.f64 x))
(*.f64 y (-.f64 z x))
(*.f64 (-.f64 z x) y)
(*.f64 (-.f64 x z) (neg.f64 y))
(*.f64 (neg.f64 y) (-.f64 x z))
(+.f64 (neg.f64 (*.f64 y x)) (*.f64 z y))
(+.f64 (*.f64 z y) (neg.f64 (*.f64 y x)))
(-.f64 (*.f64 z y) (*.f64 y x))
(-.f64 (neg.f64 (*.f64 y x)) (neg.f64 (*.f64 z y)))
(fma.f64 (neg.f64 x) y (*.f64 z y))
(fma.f64 (neg.f64 y) x (*.f64 z y))
(fma.f64 x (neg.f64 y) (*.f64 z y))
(fma.f64 y (neg.f64 x) (*.f64 z y))
(fma.f64 z y (neg.f64 (*.f64 y x)))
(fma.f64 y z (neg.f64 (*.f64 y x)))
(fma.f64 (neg.f64 z) (neg.f64 y) (neg.f64 (*.f64 y x)))
(fma.f64 (neg.f64 y) (neg.f64 z) (neg.f64 (*.f64 y x)))
(neg.f64 (*.f64 (-.f64 x z) y))
y
(neg.f64 (neg.f64 y))
(+.f64 (neg.f64 x) z)
(+.f64 z (neg.f64 x))
(-.f64 z x)
(-.f64 (neg.f64 x) (neg.f64 z))
(neg.f64 (-.f64 x z))
z
(neg.f64 (neg.f64 z))

eval12.0ms (0.1%)

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

Compiled 433 to 231 computations (46.7% saved)

prune4.0ms (0%)

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

3 alts after pruning (3 fresh and 0 done)

PrunedKeptTotal
New77380
Fresh000
Picked101
Done000
Total78381
Accuracy
100.0%
Counts
81 → 3
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(fma.f64 (-.f64 z x) y x)
73.0%
(+.f64 x (*.f64 y #s(approx (- z x) z)))
38.3%
#s(approx (+ x (* y (- z x))) (*.f64 y z))
Compiler

Compiled 20 to 20 computations (0% saved)

series269.0ms (2.4%)

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

9 calls:

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

rewrite4.4s (40.1%)

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

eval11.0ms (0.1%)

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

Compiled 393 to 211 computations (46.3% saved)

prune5.0ms (0%)

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

3 alts after pruning (0 fresh and 3 done)

PrunedKeptTotal
New74074
Fresh000
Picked033
Done000
Total74377
Accuracy
100.0%
Counts
77 → 3
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(fma.f64 (-.f64 z x) y x)
73.0%
(+.f64 x (*.f64 y #s(approx (- z x) z)))
38.3%
#s(approx (+ x (* y (- z x))) (*.f64 y z))
Compiler

Compiled 37 to 35 computations (5.4% saved)

regimes14.0ms (0.1%)

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

4 calls:

7.0ms
(+.f64 x (*.f64 y (-.f64 z x)))
2.0ms
x
2.0ms
y
2.0ms
z
Results
AccuracySegmentsBranch
100.0%1(+.f64 x (*.f64 y (-.f64 z x)))
100.0%1x
100.0%1y
100.0%1z
Compiler

Compiled 9 to 15 computations (-66.7% saved)

regimes7.0ms (0.1%)

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

4 calls:

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

Compiled 9 to 15 computations (-66.7% saved)

regimes75.0ms (0.7%)

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

Total -0.0b remaining (-0%)

Threshold costs -0b (-0%)

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

4 calls:

3.0ms
z
2.0ms
(+.f64 x (*.f64 y (-.f64 z x)))
1.0ms
x
1.0ms
y
Results
AccuracySegmentsBranch
38.3%1(+.f64 x (*.f64 y (-.f64 z x)))
38.3%1z
38.3%1x
38.3%1y
Compiler

Compiled 9 to 15 computations (-66.7% saved)

derivations1.0ms (0%)

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

Compiled 14 to 13 computations (7.1% saved)

preprocess27.0ms (0.2%)

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

Compiled 20 to 19 computations (5% saved)

end0.0ms (0%)

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

Profiling

Loading profile data...