Data.Metrics.Snapshot:quantile from metrics-0.3.0.2

Time bar (total: 3.5s)

start0.0ms (0%)

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

analyze0.0ms (0%)

Memory
0.8MiB live, 0.8MiB allocated; 0ms collecting garbage
Algorithm
search
Search
ProbabilityValidUnknownPreconditionInfiniteDomainCan'tIter
0%0%99.8%0.2%0%0%0%0
100%99.8%0%0.2%0%0%0%1
Compiler

Compiled 11 to 10 computations (9.1% saved)

sample1.1s (30.4%)

Memory
-16.7MiB live, 817.4MiB allocated; 379ms collecting garbage
Samples
670.0ms8 256×0valid
Precisions
Click to see histograms. Total time spent on operations: 261.0ms
ival-sub!: 118.0ms (45.2% of total)
ival-mult!: 75.0ms (28.7% of total)
adjust: 34.0ms (13% of total)
ival-add!: 34.0ms (13% of total)
Bogosity

preprocess24.0ms (0.7%)

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

Useful iterations: 1 (0.0ms)

IterNodesCost
048145
1158139
Stop Event
node-limit
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(+.f64 x (*.f64 (-.f64 y z) (-.f64 t x)))
Compiler

Compiled 18 to 16 computations (11.1% saved)

series164.0ms (4.7%)

Memory
-44.5MiB live, 54.2MiB allocated; 47ms collecting garbage
Counts
8 → 48
Calls
Call 1
Inputs
(+.f64 x (*.f64 (-.f64 y z) (-.f64 t x)))
x
(*.f64 (-.f64 y z) (-.f64 t x))
(-.f64 y z)
y
z
(-.f64 t x)
t
Outputs
#s(approx (+ x (* (- y z) (- t x))) (*.f64 t (-.f64 y z)))
#s(approx (+ x (* (- y z) (- t x))) (fma.f64 t (-.f64 y z) (*.f64 x (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1 binary64) (-.f64 y z))))))
#s(approx x x)
#s(approx (* (- y z) (- t x)) (fma.f64 #s(literal -1 binary64) (*.f64 x (-.f64 y z)) (*.f64 t (-.f64 y z))))
#s(approx (- t x) t)
#s(approx (- t x) (+.f64 t (*.f64 #s(literal -1 binary64) x)))
#s(approx (+ x (* (- y z) (- t x))) (*.f64 x (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1 binary64) (-.f64 y z)))))
#s(approx (+ x (* (- y z) (- t x))) (*.f64 x (+.f64 #s(literal 1 binary64) (fma.f64 #s(literal -1 binary64) (-.f64 y z) (/.f64 (*.f64 t (-.f64 y z)) x)))))
#s(approx (* (- y z) (- t x)) (*.f64 #s(literal -1 binary64) (*.f64 x (-.f64 y z))))
#s(approx (* (- y z) (- t x)) (*.f64 x (fma.f64 #s(literal -1 binary64) (-.f64 y z) (/.f64 (*.f64 t (-.f64 y z)) x))))
#s(approx (- t x) (*.f64 #s(literal -1 binary64) x))
#s(approx (- t x) (*.f64 x (-.f64 (/.f64 t x) #s(literal 1 binary64))))
#s(approx (+ x (* (- y z) (- t x))) (*.f64 #s(literal -1 binary64) (*.f64 x (-.f64 y (+.f64 #s(literal 1 binary64) z)))))
#s(approx (+ x (* (- y z) (- t x))) (*.f64 #s(literal -1 binary64) (*.f64 x (-.f64 (+.f64 y (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 t (-.f64 y z)) x))) (+.f64 #s(literal 1 binary64) z)))))
#s(approx (* (- y z) (- t x)) (*.f64 #s(literal -1 binary64) (*.f64 x (-.f64 (+.f64 y (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 t (-.f64 y z)) x))) z))))
#s(approx (- t x) (*.f64 #s(literal -1 binary64) (*.f64 x (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1 binary64) (/.f64 t x))))))
#s(approx (+ x (* (- y z) (- t x))) (+.f64 x (*.f64 #s(literal -1 binary64) (*.f64 z (-.f64 t x)))))
#s(approx (+ x (* (- y z) (- t x))) (+.f64 x (fma.f64 #s(literal -1 binary64) (*.f64 z (-.f64 t x)) (*.f64 y (-.f64 t x)))))
#s(approx (* (- y z) (- t x)) (*.f64 #s(literal -1 binary64) (*.f64 z (-.f64 t x))))
#s(approx (* (- y z) (- t x)) (fma.f64 #s(literal -1 binary64) (*.f64 z (-.f64 t x)) (*.f64 y (-.f64 t x))))
#s(approx (- y z) (*.f64 #s(literal -1 binary64) z))
#s(approx (- y z) (-.f64 y z))
#s(approx y y)
#s(approx (+ x (* (- y z) (- t x))) (*.f64 y (-.f64 t x)))
#s(approx (+ x (* (- y z) (- t x))) (*.f64 y (-.f64 (+.f64 t (fma.f64 #s(literal -1 binary64) (/.f64 (*.f64 z (-.f64 t x)) y) (/.f64 x y))) x)))
#s(approx (* (- y z) (- t x)) (*.f64 y (-.f64 (+.f64 t (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 z (-.f64 t x)) y))) x)))
#s(approx (- y z) (*.f64 y (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1 binary64) (/.f64 z y)))))
#s(approx (+ x (* (- y z) (- t x))) (*.f64 #s(literal -1 binary64) (*.f64 y (fma.f64 #s(literal -1 binary64) (-.f64 t x) (*.f64 #s(literal -1 binary64) (/.f64 (+.f64 x (*.f64 #s(literal -1 binary64) (*.f64 z (-.f64 t x)))) y))))))
#s(approx (* (- y z) (- t x)) (*.f64 #s(literal -1 binary64) (*.f64 y (fma.f64 #s(literal -1 binary64) (-.f64 t x) (/.f64 (*.f64 z (-.f64 t x)) y)))))
#s(approx (- y z) (*.f64 #s(literal -1 binary64) (*.f64 y (-.f64 (/.f64 z y) #s(literal 1 binary64)))))
#s(approx (+ x (* (- y z) (- t x))) (+.f64 x (*.f64 y (-.f64 t x))))
#s(approx (- y z) (+.f64 y (*.f64 #s(literal -1 binary64) z)))
#s(approx z z)
#s(approx (+ x (* (- y z) (- t x))) (*.f64 z (fma.f64 #s(literal -1 binary64) (-.f64 t x) (+.f64 (/.f64 x z) (/.f64 (*.f64 y (-.f64 t x)) z)))))
#s(approx (* (- y z) (- t x)) (*.f64 z (fma.f64 #s(literal -1 binary64) (-.f64 t x) (/.f64 (*.f64 y (-.f64 t x)) z))))
#s(approx (- y z) (*.f64 z (-.f64 (/.f64 y z) #s(literal 1 binary64))))
#s(approx (+ x (* (- y z) (- t x))) (*.f64 #s(literal -1 binary64) (*.f64 z (-.f64 (+.f64 t (*.f64 #s(literal -1 binary64) (/.f64 (+.f64 x (*.f64 y (-.f64 t x))) z))) x))))
#s(approx (* (- y z) (- t x)) (*.f64 #s(literal -1 binary64) (*.f64 z (-.f64 (+.f64 t (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 y (-.f64 t x)) z))) x))))
#s(approx (- y z) (*.f64 #s(literal -1 binary64) (*.f64 z (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1 binary64) (/.f64 y z))))))
#s(approx (+ x (* (- y z) (- t x))) (+.f64 x (*.f64 #s(literal -1 binary64) (*.f64 x (-.f64 y z)))))
#s(approx (+ x (* (- y z) (- t x))) (+.f64 x (fma.f64 #s(literal -1 binary64) (*.f64 x (-.f64 y z)) (*.f64 t (-.f64 y z)))))
#s(approx (- t x) (-.f64 t x))
#s(approx (+ x (* (- y z) (- t x))) (*.f64 t (-.f64 (+.f64 y (fma.f64 #s(literal -1 binary64) (/.f64 (*.f64 x (-.f64 y z)) t) (/.f64 x t))) z)))
#s(approx (* (- y z) (- t x)) (*.f64 t (-.f64 (+.f64 y (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 x (-.f64 y z)) t))) z)))
#s(approx (- t x) (*.f64 t (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1 binary64) (/.f64 x t)))))
#s(approx (+ x (* (- y z) (- t x))) (*.f64 #s(literal -1 binary64) (*.f64 t (fma.f64 #s(literal -1 binary64) (-.f64 y z) (*.f64 #s(literal -1 binary64) (/.f64 (+.f64 x (*.f64 #s(literal -1 binary64) (*.f64 x (-.f64 y z)))) t))))))
#s(approx (* (- y z) (- t x)) (*.f64 #s(literal -1 binary64) (*.f64 t (fma.f64 #s(literal -1 binary64) (-.f64 y z) (/.f64 (*.f64 x (-.f64 y z)) t)))))
#s(approx (- t x) (*.f64 #s(literal -1 binary64) (*.f64 t (-.f64 (/.f64 x t) #s(literal 1 binary64)))))
Calls

12 calls:

TimeVariablePoint
8.0ms
y
inf
2.0ms
y
-inf
1.0ms
z
-inf
1.0ms
x
-inf
1.0ms
x
inf

rewrite233.0ms (6.7%)

Memory
45.0MiB live, 90.5MiB allocated; 8ms collecting garbage
Counts
8 → 18
Calls
Call 1
Inputs
(+.f64 x (*.f64 (-.f64 y z) (-.f64 t x)))
x
(*.f64 (-.f64 y z) (-.f64 t x))
(-.f64 y z)
y
z
(-.f64 t x)
t
Outputs
(+.f64 x (*.f64 (-.f64 y z) (-.f64 t x)))
(+.f64 (*.f64 (-.f64 y z) (-.f64 t x)) x)
(-.f64 x (*.f64 (neg.f64 (-.f64 y z)) (-.f64 t x)))
(-.f64 x (neg.f64 (*.f64 (-.f64 y z) (-.f64 t x))))
(fma.f64 (-.f64 y z) (-.f64 t x) x)
(fma.f64 (-.f64 t x) (-.f64 y z) x)
x
(*.f64 (-.f64 y z) (-.f64 t x))
(*.f64 (-.f64 t x) (-.f64 y z))
(+.f64 y (neg.f64 z))
(-.f64 y z)
(neg.f64 (-.f64 z y))
y
z
(+.f64 t (neg.f64 x))
(-.f64 t x)
(neg.f64 (-.f64 x t))
t

eval15.0ms (0.4%)

Memory
-31.6MiB live, 13.9MiB allocated; 14ms collecting garbage
Compiler

Compiled 1 083 to 257 computations (76.3% saved)

prune5.0ms (0.1%)

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

7 alts after pruning (7 fresh and 0 done)

PrunedKeptTotal
New51758
Fresh000
Picked101
Done000
Total52759
Accuracy
100.0%
Counts
59 → 7
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(fma.f64 (-.f64 y z) (-.f64 t x) x)
65.0%
(+.f64 x (*.f64 (-.f64 y z) #s(approx (- t x) t)))
94.5%
(+.f64 x #s(approx (* (- y z) (- t x)) (fma.f64 #s(literal -1 binary64) (*.f64 z (-.f64 t x)) (*.f64 y (-.f64 t x)))))
95.7%
(+.f64 x #s(approx (* (- y z) (- t x)) (fma.f64 #s(literal -1 binary64) (*.f64 x (-.f64 y z)) (*.f64 t (-.f64 y z)))))
67.6%
#s(approx (+ x (* (- y z) (- t x))) (+.f64 x (*.f64 y (-.f64 t x))))
51.1%
#s(approx (+ x (* (- y z) (- t x))) (*.f64 y (-.f64 t x)))
49.1%
#s(approx (+ x (* (- y z) (- t x))) (*.f64 t (-.f64 y z)))
Compiler

Compiled 220 to 156 computations (29.1% saved)

series179.0ms (5.2%)

Memory
22.3MiB live, 198.6MiB allocated; 81ms collecting garbage
Counts
16 → 72
Calls
Call 1
Inputs
(fma.f64 (-.f64 y z) (-.f64 t x) x)
(-.f64 y z)
y
z
(-.f64 t x)
t
x
#s(approx (+ x (* (- y z) (- t x))) (*.f64 t (-.f64 y z)))
(*.f64 t (-.f64 y z))
#s(approx (+ x (* (- y z) (- t x))) (*.f64 y (-.f64 t x)))
(*.f64 y (-.f64 t x))
#s(approx (+ x (* (- y z) (- t x))) (+.f64 x (*.f64 y (-.f64 t x))))
(+.f64 x (*.f64 y (-.f64 t x)))
(+.f64 x (*.f64 (-.f64 y z) #s(approx (- t x) t)))
(*.f64 (-.f64 y z) #s(approx (- t x) t))
#s(approx (- t x) t)
Outputs
#s(approx (+ (* (- y z) (- t x)) x) (*.f64 t (-.f64 y z)))
#s(approx (+ (* (- y z) (- t x)) x) (fma.f64 t (-.f64 y z) (*.f64 x (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1 binary64) (-.f64 y z))))))
#s(approx (- t x) t)
#s(approx (- t x) (+.f64 t (*.f64 #s(literal -1 binary64) x)))
#s(approx x x)
#s(approx (* y (- t x)) (*.f64 t y))
#s(approx (* y (- t x)) (fma.f64 #s(literal -1 binary64) (*.f64 x y) (*.f64 t y)))
#s(approx (+ x (* y (- t x))) (fma.f64 t y (*.f64 x (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1 binary64) y)))))
#s(approx (* (- y z) (- t x)) (fma.f64 #s(literal -1 binary64) (*.f64 x (-.f64 y z)) (*.f64 t (-.f64 y z))))
#s(approx (+ (* (- y z) (- t x)) x) (*.f64 x (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1 binary64) (-.f64 y z)))))
#s(approx (+ (* (- y z) (- t x)) x) (*.f64 x (+.f64 #s(literal 1 binary64) (fma.f64 #s(literal -1 binary64) (-.f64 y z) (/.f64 (*.f64 t (-.f64 y z)) x)))))
#s(approx (- t x) (*.f64 #s(literal -1 binary64) x))
#s(approx (- t x) (*.f64 x (-.f64 (/.f64 t x) #s(literal 1 binary64))))
#s(approx (* y (- t x)) (*.f64 #s(literal -1 binary64) (*.f64 x y)))
#s(approx (* y (- t x)) (*.f64 x (fma.f64 #s(literal -1 binary64) y (/.f64 (*.f64 t y) x))))
#s(approx (+ x (* y (- t x))) (*.f64 x (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1 binary64) y))))
#s(approx (+ x (* y (- t x))) (*.f64 x (+.f64 #s(literal 1 binary64) (fma.f64 #s(literal -1 binary64) y (/.f64 (*.f64 t y) x)))))
#s(approx (* (- y z) (- t x)) (*.f64 #s(literal -1 binary64) (*.f64 x (-.f64 y z))))
#s(approx (* (- y z) (- t x)) (*.f64 x (fma.f64 #s(literal -1 binary64) (-.f64 y z) (/.f64 (*.f64 t (-.f64 y z)) x))))
#s(approx (+ (* (- y z) (- t x)) x) (*.f64 #s(literal -1 binary64) (*.f64 x (-.f64 y (+.f64 #s(literal 1 binary64) z)))))
#s(approx (+ (* (- y z) (- t x)) x) (*.f64 #s(literal -1 binary64) (*.f64 x (-.f64 (+.f64 y (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 t (-.f64 y z)) x))) (+.f64 #s(literal 1 binary64) z)))))
#s(approx (- t x) (*.f64 #s(literal -1 binary64) (*.f64 x (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1 binary64) (/.f64 t x))))))
#s(approx (* y (- t x)) (*.f64 #s(literal -1 binary64) (*.f64 x (+.f64 y (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 t y) x))))))
#s(approx (+ x (* y (- t x))) (*.f64 #s(literal -1 binary64) (*.f64 x (-.f64 y #s(literal 1 binary64)))))
#s(approx (+ x (* y (- t x))) (*.f64 #s(literal -1 binary64) (*.f64 x (-.f64 (+.f64 y (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 t y) x))) #s(literal 1 binary64)))))
#s(approx (* (- y z) (- t x)) (*.f64 #s(literal -1 binary64) (*.f64 x (-.f64 (+.f64 y (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 t (-.f64 y z)) x))) z))))
#s(approx (+ (* (- y z) (- t x)) x) (+.f64 x (*.f64 #s(literal -1 binary64) (*.f64 z (-.f64 t x)))))
#s(approx (+ (* (- y z) (- t x)) x) (+.f64 x (fma.f64 #s(literal -1 binary64) (*.f64 z (-.f64 t x)) (*.f64 y (-.f64 t x)))))
#s(approx (- y z) (*.f64 #s(literal -1 binary64) z))
#s(approx (- y z) (-.f64 y z))
#s(approx y y)
#s(approx (* t (- y z)) (*.f64 #s(literal -1 binary64) (*.f64 t z)))
#s(approx (* t (- y z)) (fma.f64 #s(literal -1 binary64) (*.f64 t z) (*.f64 t y)))
#s(approx (* y (- t x)) (*.f64 y (-.f64 t x)))
#s(approx (+ x (* y (- t x))) (+.f64 x (*.f64 y (-.f64 t x))))
#s(approx (* (- y z) (- t x)) (*.f64 #s(literal -1 binary64) (*.f64 z (-.f64 t x))))
#s(approx (* (- y z) (- t x)) (fma.f64 #s(literal -1 binary64) (*.f64 z (-.f64 t x)) (*.f64 y (-.f64 t x))))
#s(approx (+ (* (- y z) (- t x)) x) (*.f64 y (-.f64 (+.f64 t (fma.f64 #s(literal -1 binary64) (/.f64 (*.f64 z (-.f64 t x)) y) (/.f64 x y))) x)))
#s(approx (- y z) (*.f64 y (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1 binary64) (/.f64 z y)))))
#s(approx (* t (- y z)) (*.f64 y (+.f64 t (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 t z) y)))))
#s(approx (+ x (* y (- t x))) (*.f64 y (-.f64 (+.f64 t (/.f64 x y)) x)))
#s(approx (* (- y z) (- t x)) (*.f64 y (-.f64 (+.f64 t (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 z (-.f64 t x)) y))) x)))
#s(approx (+ (* (- y z) (- t x)) x) (*.f64 #s(literal -1 binary64) (*.f64 y (fma.f64 #s(literal -1 binary64) (-.f64 t x) (*.f64 #s(literal -1 binary64) (/.f64 (+.f64 x (*.f64 #s(literal -1 binary64) (*.f64 z (-.f64 t x)))) y))))))
#s(approx (- y z) (*.f64 #s(literal -1 binary64) (*.f64 y (-.f64 (/.f64 z y) #s(literal 1 binary64)))))
#s(approx (* t (- y z)) (*.f64 #s(literal -1 binary64) (*.f64 y (fma.f64 #s(literal -1 binary64) t (/.f64 (*.f64 t z) y)))))
#s(approx (+ x (* y (- t x))) (*.f64 #s(literal -1 binary64) (*.f64 y (fma.f64 #s(literal -1 binary64) (-.f64 t x) (*.f64 #s(literal -1 binary64) (/.f64 x y))))))
#s(approx (* (- y z) (- t x)) (*.f64 #s(literal -1 binary64) (*.f64 y (fma.f64 #s(literal -1 binary64) (-.f64 t x) (/.f64 (*.f64 z (-.f64 t x)) y)))))
#s(approx (- y z) (+.f64 y (*.f64 #s(literal -1 binary64) z)))
#s(approx z z)
#s(approx (+ (* (- y z) (- t x)) x) (*.f64 z (fma.f64 #s(literal -1 binary64) (-.f64 t x) (+.f64 (/.f64 x z) (/.f64 (*.f64 y (-.f64 t x)) z)))))
#s(approx (- y z) (*.f64 z (-.f64 (/.f64 y z) #s(literal 1 binary64))))
#s(approx (* t (- y z)) (*.f64 z (fma.f64 #s(literal -1 binary64) t (/.f64 (*.f64 t y) z))))
#s(approx (* (- y z) (- t x)) (*.f64 z (fma.f64 #s(literal -1 binary64) (-.f64 t x) (/.f64 (*.f64 y (-.f64 t x)) z))))
#s(approx (+ (* (- y z) (- t x)) x) (*.f64 #s(literal -1 binary64) (*.f64 z (-.f64 (+.f64 t (*.f64 #s(literal -1 binary64) (/.f64 (+.f64 x (*.f64 y (-.f64 t x))) z))) x))))
#s(approx (- y z) (*.f64 #s(literal -1 binary64) (*.f64 z (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1 binary64) (/.f64 y z))))))
#s(approx (* t (- y z)) (*.f64 #s(literal -1 binary64) (*.f64 z (+.f64 t (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 t y) z))))))
#s(approx (* (- y z) (- t x)) (*.f64 #s(literal -1 binary64) (*.f64 z (-.f64 (+.f64 t (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 y (-.f64 t x)) z))) x))))
#s(approx (+ (* (- y z) (- t x)) x) (+.f64 x (*.f64 #s(literal -1 binary64) (*.f64 x (-.f64 y z)))))
#s(approx (+ (* (- y z) (- t x)) x) (+.f64 x (fma.f64 #s(literal -1 binary64) (*.f64 x (-.f64 y z)) (*.f64 t (-.f64 y z)))))
#s(approx (- t x) (-.f64 t x))
#s(approx (+ x (* y (- t x))) (+.f64 x (*.f64 #s(literal -1 binary64) (*.f64 x y))))
#s(approx (+ x (* y (- t x))) (+.f64 x (fma.f64 #s(literal -1 binary64) (*.f64 x y) (*.f64 t y))))
#s(approx (+ (* (- y z) (- t x)) x) (*.f64 t (-.f64 (+.f64 y (fma.f64 #s(literal -1 binary64) (/.f64 (*.f64 x (-.f64 y z)) t) (/.f64 x t))) z)))
#s(approx (- t x) (*.f64 t (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1 binary64) (/.f64 x t)))))
#s(approx (* y (- t x)) (*.f64 t (+.f64 y (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 x y) t)))))
#s(approx (+ x (* y (- t x))) (*.f64 t (+.f64 y (fma.f64 #s(literal -1 binary64) (/.f64 (*.f64 x y) t) (/.f64 x t)))))
#s(approx (* (- y z) (- t x)) (*.f64 t (-.f64 (+.f64 y (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 x (-.f64 y z)) t))) z)))
#s(approx (+ (* (- y z) (- t x)) x) (*.f64 #s(literal -1 binary64) (*.f64 t (fma.f64 #s(literal -1 binary64) (-.f64 y z) (*.f64 #s(literal -1 binary64) (/.f64 (+.f64 x (*.f64 #s(literal -1 binary64) (*.f64 x (-.f64 y z)))) t))))))
#s(approx (- t x) (*.f64 #s(literal -1 binary64) (*.f64 t (-.f64 (/.f64 x t) #s(literal 1 binary64)))))
#s(approx (* y (- t x)) (*.f64 #s(literal -1 binary64) (*.f64 t (fma.f64 #s(literal -1 binary64) y (/.f64 (*.f64 x y) t)))))
#s(approx (+ x (* y (- t x))) (*.f64 #s(literal -1 binary64) (*.f64 t (fma.f64 #s(literal -1 binary64) y (*.f64 #s(literal -1 binary64) (/.f64 (+.f64 x (*.f64 #s(literal -1 binary64) (*.f64 x y))) t))))))
#s(approx (* (- y z) (- t x)) (*.f64 #s(literal -1 binary64) (*.f64 t (fma.f64 #s(literal -1 binary64) (-.f64 y z) (/.f64 (*.f64 x (-.f64 y z)) t)))))
Calls

12 calls:

TimeVariablePoint
2.0ms
y
-inf
1.0ms
t
-inf
1.0ms
y
inf
1.0ms
t
inf
1.0ms
x
0

rewrite207.0ms (6%)

Memory
-11.0MiB live, 101.5MiB allocated; 129ms collecting garbage
Counts
16 → 33
Calls
Call 1
Inputs
(fma.f64 (-.f64 y z) (-.f64 t x) x)
(-.f64 y z)
y
z
(-.f64 t x)
t
x
#s(approx (+ x (* (- y z) (- t x))) (*.f64 t (-.f64 y z)))
(*.f64 t (-.f64 y z))
#s(approx (+ x (* (- y z) (- t x))) (*.f64 y (-.f64 t x)))
(*.f64 y (-.f64 t x))
#s(approx (+ x (* (- y z) (- t x))) (+.f64 x (*.f64 y (-.f64 t x))))
(+.f64 x (*.f64 y (-.f64 t x)))
(+.f64 x (*.f64 (-.f64 y z) #s(approx (- t x) t)))
(*.f64 (-.f64 y z) #s(approx (- t x) t))
#s(approx (- t x) t)
Outputs
(+.f64 (*.f64 (-.f64 y z) (-.f64 t x)) x)
(+.f64 x (*.f64 (-.f64 y z) (-.f64 t x)))
(-.f64 (*.f64 (-.f64 y z) (-.f64 t x)) (neg.f64 x))
(-.f64 x (*.f64 (neg.f64 (-.f64 y z)) (-.f64 t x)))
(-.f64 x (neg.f64 (*.f64 (-.f64 y z) (-.f64 t x))))
(fma.f64 (-.f64 y z) (-.f64 t x) x)
(fma.f64 (-.f64 t x) (-.f64 y z) x)
(+.f64 y (neg.f64 z))
(-.f64 y z)
(neg.f64 (-.f64 z y))
y
z
(+.f64 t (neg.f64 x))
(-.f64 t x)
(neg.f64 (-.f64 x t))
t
x
#s(approx (+ (* (- y z) (- t x)) x) (*.f64 t (-.f64 y z)))
(*.f64 t (-.f64 y z))
(*.f64 (-.f64 y z) t)
#s(approx (+ (* (- y z) (- t x)) x) (*.f64 y (-.f64 t x)))
(*.f64 y (-.f64 t x))
(*.f64 (-.f64 t x) y)
#s(approx (+ (* (- y z) (- t x)) x) (fma.f64 (-.f64 t x) y x))
(+.f64 x (*.f64 y (-.f64 t x)))
(+.f64 (*.f64 y (-.f64 t x)) x)
(-.f64 x (*.f64 (neg.f64 y) (-.f64 t x)))
(-.f64 x (neg.f64 (*.f64 y (-.f64 t x))))
(fma.f64 (-.f64 t x) y x)
(fma.f64 y (-.f64 t x) x)
(+.f64 x (*.f64 (-.f64 y z) #s(approx (- t x) t)))
(*.f64 (-.f64 y z) #s(approx (- t x) t))
#s(approx (- t x) t)

eval23.0ms (0.7%)

Memory
-23.8MiB live, 26.1MiB allocated; 11ms collecting garbage
Compiler

Compiled 2 940 to 474 computations (83.9% saved)

prune7.0ms (0.2%)

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

9 alts after pruning (5 fresh and 4 done)

PrunedKeptTotal
New1375142
Fresh202
Picked145
Done000
Total1409149
Accuracy
100.0%
Counts
149 → 9
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(fma.f64 (-.f64 y z) (-.f64 t x) x)
65.0%
(+.f64 x (*.f64 (-.f64 y z) #s(approx (- t x) t)))
67.6%
#s(approx (+ (* (- y z) (- t x)) x) (fma.f64 (-.f64 t x) y x))
47.3%
#s(approx (+ x (* (- y z) (- t x))) (+.f64 x #s(approx (* y (- t x)) (*.f64 t y))))
51.1%
#s(approx (+ x (* (- y z) (- t x))) (*.f64 y (-.f64 t x)))
49.1%
#s(approx (+ x (* (- y z) (- t x))) (*.f64 t (-.f64 y z)))
49.1%
#s(approx (+ x (* (- y z) (- t x))) #s(approx (* y (- t x)) (fma.f64 #s(literal -1 binary64) (*.f64 x y) (*.f64 t y))))
31.3%
#s(approx (+ x (* (- y z) (- t x))) #s(approx (* y (- t x)) (*.f64 t y)))
46.4%
#s(approx (+ x (* (- y z) (- t x))) #s(approx (* t (- y z)) (fma.f64 #s(literal -1 binary64) (*.f64 t z) (*.f64 t y))))
Compiler

Compiled 257 to 170 computations (33.9% saved)

series157.0ms (4.5%)

Memory
4.1MiB live, 95.7MiB allocated; 12ms collecting garbage
Counts
21 → 60
Calls
Call 1
Inputs
#s(approx (+ (* (- y z) (- t x)) x) (fma.f64 (-.f64 t x) y x))
(fma.f64 (-.f64 t x) y x)
(-.f64 t x)
t
x
y
#s(approx (+ x (* (- y z) (- t x))) #s(approx (* y (- t x)) (*.f64 t y)))
#s(approx (* y (- t x)) (*.f64 t y))
(*.f64 t y)
#s(approx (+ x (* (- y z) (- t x))) (+.f64 x #s(approx (* y (- t x)) (*.f64 t y))))
(+.f64 x #s(approx (* y (- t x)) (*.f64 t y)))
#s(approx (+ x (* (- y z) (- t x))) #s(approx (* t (- y z)) (fma.f64 #s(literal -1 binary64) (*.f64 t z) (*.f64 t y))))
#s(approx (* t (- y z)) (fma.f64 #s(literal -1 binary64) (*.f64 t z) (*.f64 t y)))
(fma.f64 #s(literal -1 binary64) (*.f64 t z) (*.f64 t y))
#s(literal -1 binary64)
(*.f64 t z)
z
#s(approx (+ x (* (- y z) (- t x))) #s(approx (* y (- t x)) (fma.f64 #s(literal -1 binary64) (*.f64 x y) (*.f64 t y))))
#s(approx (* y (- t x)) (fma.f64 #s(literal -1 binary64) (*.f64 x y) (*.f64 t y)))
(fma.f64 #s(literal -1 binary64) (*.f64 x y) (*.f64 t y))
(*.f64 x y)
Outputs
#s(approx (+ (* (- y z) (- t x)) x) (*.f64 t (-.f64 y z)))
#s(approx (+ (* (- y z) (- t x)) x) (fma.f64 t (-.f64 y z) (*.f64 x (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1 binary64) (-.f64 y z))))))
#s(approx (+ (* (- t x) y) x) (*.f64 t y))
#s(approx (+ (* (- t x) y) x) (fma.f64 t y (*.f64 x (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1 binary64) y)))))
#s(approx (- t x) t)
#s(approx (- t x) (+.f64 t (*.f64 #s(literal -1 binary64) x)))
#s(approx x x)
#s(approx (* y (- t x)) (fma.f64 #s(literal -1 binary64) (*.f64 x y) (*.f64 t y)))
#s(approx (* x y) (*.f64 x y))
#s(approx (+ (* (- y z) (- t x)) x) (*.f64 x (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1 binary64) (-.f64 y z)))))
#s(approx (+ (* (- y z) (- t x)) x) (*.f64 x (+.f64 #s(literal 1 binary64) (fma.f64 #s(literal -1 binary64) (-.f64 y z) (/.f64 (*.f64 t (-.f64 y z)) x)))))
#s(approx (+ (* (- t x) y) x) (*.f64 x (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1 binary64) y))))
#s(approx (+ (* (- t x) y) x) (*.f64 x (+.f64 #s(literal 1 binary64) (fma.f64 #s(literal -1 binary64) y (/.f64 (*.f64 t y) x)))))
#s(approx (- t x) (*.f64 #s(literal -1 binary64) x))
#s(approx (- t x) (*.f64 x (-.f64 (/.f64 t x) #s(literal 1 binary64))))
#s(approx (* y (- t x)) (*.f64 #s(literal -1 binary64) (*.f64 x y)))
#s(approx (* y (- t x)) (*.f64 x (fma.f64 #s(literal -1 binary64) y (/.f64 (*.f64 t y) x))))
#s(approx (+ (* (- y z) (- t x)) x) (*.f64 #s(literal -1 binary64) (*.f64 x (-.f64 y (+.f64 #s(literal 1 binary64) z)))))
#s(approx (+ (* (- y z) (- t x)) x) (*.f64 #s(literal -1 binary64) (*.f64 x (-.f64 (+.f64 y (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 t (-.f64 y z)) x))) (+.f64 #s(literal 1 binary64) z)))))
#s(approx (+ (* (- t x) y) x) (*.f64 #s(literal -1 binary64) (*.f64 x (-.f64 y #s(literal 1 binary64)))))
#s(approx (+ (* (- t x) y) x) (*.f64 #s(literal -1 binary64) (*.f64 x (-.f64 (+.f64 y (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 t y) x))) #s(literal 1 binary64)))))
#s(approx (- t x) (*.f64 #s(literal -1 binary64) (*.f64 x (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1 binary64) (/.f64 t x))))))
#s(approx (* y (- t x)) (*.f64 #s(literal -1 binary64) (*.f64 x (+.f64 y (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 t y) x))))))
#s(approx (+ (* (- y z) (- t x)) x) (+.f64 x (*.f64 #s(literal -1 binary64) (*.f64 z (-.f64 t x)))))
#s(approx (+ (* (- y z) (- t x)) x) (+.f64 x (fma.f64 #s(literal -1 binary64) (*.f64 z (-.f64 t x)) (*.f64 y (-.f64 t x)))))
#s(approx (+ (* (- t x) y) x) (+.f64 x (*.f64 y (-.f64 t x))))
#s(approx y y)
#s(approx (* y (- t x)) (*.f64 y (-.f64 t x)))
#s(approx (* t (- y z)) (*.f64 #s(literal -1 binary64) (*.f64 t z)))
#s(approx (* t (- y z)) (fma.f64 #s(literal -1 binary64) (*.f64 t z) (*.f64 t y)))
#s(approx (+ (* -1 (* x y)) (* t y)) (*.f64 y (+.f64 t (*.f64 #s(literal -1 binary64) x))))
#s(approx (+ (* (- y z) (- t x)) x) (*.f64 y (-.f64 (+.f64 t (fma.f64 #s(literal -1 binary64) (/.f64 (*.f64 z (-.f64 t x)) y) (/.f64 x y))) x)))
#s(approx (+ (* (- t x) y) x) (*.f64 y (-.f64 (+.f64 t (/.f64 x y)) x)))
#s(approx (* t (- y z)) (*.f64 y (+.f64 t (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 t z) y)))))
#s(approx (+ (* (- y z) (- t x)) x) (*.f64 #s(literal -1 binary64) (*.f64 y (fma.f64 #s(literal -1 binary64) (-.f64 t x) (*.f64 #s(literal -1 binary64) (/.f64 (+.f64 x (*.f64 #s(literal -1 binary64) (*.f64 z (-.f64 t x)))) y))))))
#s(approx (+ (* (- t x) y) x) (*.f64 #s(literal -1 binary64) (*.f64 y (fma.f64 #s(literal -1 binary64) (-.f64 t x) (*.f64 #s(literal -1 binary64) (/.f64 x y))))))
#s(approx (* t (- y z)) (*.f64 #s(literal -1 binary64) (*.f64 y (fma.f64 #s(literal -1 binary64) t (/.f64 (*.f64 t z) y)))))
#s(approx (+ (* -1 (* x y)) (* t y)) (*.f64 #s(literal -1 binary64) (*.f64 y (+.f64 x (*.f64 #s(literal -1 binary64) t)))))
#s(approx (* t z) (*.f64 t z))
#s(approx z z)
#s(approx (+ (* (- y z) (- t x)) x) (*.f64 #s(literal -1 binary64) (*.f64 z (-.f64 t x))))
#s(approx (+ (* (- y z) (- t x)) x) (*.f64 z (fma.f64 #s(literal -1 binary64) (-.f64 t x) (+.f64 (/.f64 x z) (/.f64 (*.f64 y (-.f64 t x)) z)))))
#s(approx (* t (- y z)) (*.f64 z (fma.f64 #s(literal -1 binary64) t (/.f64 (*.f64 t y) z))))
#s(approx (+ (* (- y z) (- t x)) x) (*.f64 #s(literal -1 binary64) (*.f64 z (-.f64 (+.f64 t (*.f64 #s(literal -1 binary64) (/.f64 (+.f64 x (*.f64 y (-.f64 t x))) z))) x))))
#s(approx (* t (- y z)) (*.f64 #s(literal -1 binary64) (*.f64 z (+.f64 t (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 t y) z))))))
#s(approx (+ (* (- y z) (- t x)) x) (+.f64 x (*.f64 #s(literal -1 binary64) (*.f64 x (-.f64 y z)))))
#s(approx (+ (* (- y z) (- t x)) x) (+.f64 x (fma.f64 #s(literal -1 binary64) (*.f64 x (-.f64 y z)) (*.f64 t (-.f64 y z)))))
#s(approx (+ (* (- t x) y) x) (+.f64 x (*.f64 #s(literal -1 binary64) (*.f64 x y))))
#s(approx (+ (* (- t x) y) x) (+.f64 x (fma.f64 #s(literal -1 binary64) (*.f64 x y) (*.f64 t y))))
#s(approx (- t x) (-.f64 t x))
#s(approx (+ (* -1 (* t z)) (* t y)) (*.f64 t (+.f64 y (*.f64 #s(literal -1 binary64) z))))
#s(approx (+ (* (- y z) (- t x)) x) (*.f64 t (-.f64 (+.f64 y (fma.f64 #s(literal -1 binary64) (/.f64 (*.f64 x (-.f64 y z)) t) (/.f64 x t))) z)))
#s(approx (+ (* (- t x) y) x) (*.f64 t (+.f64 y (fma.f64 #s(literal -1 binary64) (/.f64 (*.f64 x y) t) (/.f64 x t)))))
#s(approx (- t x) (*.f64 t (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1 binary64) (/.f64 x t)))))
#s(approx (* y (- t x)) (*.f64 t (+.f64 y (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 x y) t)))))
#s(approx (+ (* (- y z) (- t x)) x) (*.f64 #s(literal -1 binary64) (*.f64 t (fma.f64 #s(literal -1 binary64) (-.f64 y z) (*.f64 #s(literal -1 binary64) (/.f64 (+.f64 x (*.f64 #s(literal -1 binary64) (*.f64 x (-.f64 y z)))) t))))))
#s(approx (+ (* (- t x) y) x) (*.f64 #s(literal -1 binary64) (*.f64 t (fma.f64 #s(literal -1 binary64) y (*.f64 #s(literal -1 binary64) (/.f64 (+.f64 x (*.f64 #s(literal -1 binary64) (*.f64 x y))) t))))))
#s(approx (- t x) (*.f64 #s(literal -1 binary64) (*.f64 t (-.f64 (/.f64 x t) #s(literal 1 binary64)))))
#s(approx (* y (- t x)) (*.f64 #s(literal -1 binary64) (*.f64 t (fma.f64 #s(literal -1 binary64) y (/.f64 (*.f64 x y) t)))))
#s(approx (+ (* -1 (* t z)) (* t y)) (*.f64 #s(literal -1 binary64) (*.f64 t (+.f64 z (*.f64 #s(literal -1 binary64) y)))))
Calls

12 calls:

TimeVariablePoint
4.0ms
t
-inf
2.0ms
y
-inf
2.0ms
y
inf
2.0ms
t
inf
2.0ms
t
0

rewrite201.0ms (5.8%)

Memory
-5.7MiB live, 88.6MiB allocated; 32ms collecting garbage
Counts
21 → 48
Calls
Call 1
Inputs
#s(approx (+ (* (- y z) (- t x)) x) (fma.f64 (-.f64 t x) y x))
(fma.f64 (-.f64 t x) y x)
(-.f64 t x)
t
x
y
#s(approx (+ x (* (- y z) (- t x))) #s(approx (* y (- t x)) (*.f64 t y)))
#s(approx (* y (- t x)) (*.f64 t y))
(*.f64 t y)
#s(approx (+ x (* (- y z) (- t x))) (+.f64 x #s(approx (* y (- t x)) (*.f64 t y))))
(+.f64 x #s(approx (* y (- t x)) (*.f64 t y)))
#s(approx (+ x (* (- y z) (- t x))) #s(approx (* t (- y z)) (fma.f64 #s(literal -1 binary64) (*.f64 t z) (*.f64 t y))))
#s(approx (* t (- y z)) (fma.f64 #s(literal -1 binary64) (*.f64 t z) (*.f64 t y)))
(fma.f64 #s(literal -1 binary64) (*.f64 t z) (*.f64 t y))
#s(literal -1 binary64)
(*.f64 t z)
z
#s(approx (+ x (* (- y z) (- t x))) #s(approx (* y (- t x)) (fma.f64 #s(literal -1 binary64) (*.f64 x y) (*.f64 t y))))
#s(approx (* y (- t x)) (fma.f64 #s(literal -1 binary64) (*.f64 x y) (*.f64 t y)))
(fma.f64 #s(literal -1 binary64) (*.f64 x y) (*.f64 t y))
(*.f64 x y)
Outputs
#s(approx (+ (* (- y z) (- t x)) x) (fma.f64 (-.f64 t x) y x))
(+.f64 (*.f64 (-.f64 t x) y) x)
(+.f64 x (*.f64 (-.f64 t x) y))
(-.f64 (*.f64 (-.f64 t x) y) (neg.f64 x))
(-.f64 x (*.f64 (neg.f64 y) (-.f64 t x)))
(-.f64 x (neg.f64 (*.f64 (-.f64 t x) y)))
(fma.f64 (-.f64 t x) y x)
(fma.f64 y (-.f64 t x) x)
(+.f64 t (neg.f64 x))
(-.f64 t x)
(neg.f64 (-.f64 x t))
t
x
y
#s(approx (+ (* (- y z) (- t x)) x) #s(approx (* y (- t x)) (*.f64 t y)))
#s(approx (* y (- t x)) (*.f64 t y))
(*.f64 t y)
(*.f64 y t)
#s(approx (+ (* (- y z) (- t x)) x) (+.f64 x #s(approx (* y (- t x)) (*.f64 t y))))
(+.f64 x #s(approx (* y (- t x)) (*.f64 t y)))
#s(approx (+ (* (- y z) (- t x)) x) #s(approx (* t (- y z)) (fma.f64 t y (neg.f64 (*.f64 t z)))))
#s(approx (* t (- y z)) (fma.f64 t y (neg.f64 (*.f64 t z))))
(+.f64 (neg.f64 (*.f64 t z)) (*.f64 t y))
(+.f64 (*.f64 t y) (neg.f64 (*.f64 t z)))
(-.f64 (neg.f64 (*.f64 t z)) (neg.f64 (*.f64 t y)))
(-.f64 (neg.f64 (*.f64 t z)) (*.f64 (neg.f64 t) y))
(fma.f64 #s(literal -1 binary64) (*.f64 t z) (*.f64 t y))
(fma.f64 (*.f64 #s(literal -1 binary64) t) z (*.f64 t y))
(fma.f64 (*.f64 t z) #s(literal -1 binary64) (*.f64 t y))
(fma.f64 t y (neg.f64 (*.f64 t z)))
(fma.f64 y t (neg.f64 (*.f64 t z)))
#s(literal -1 binary64)
(*.f64 t z)
(*.f64 z t)
z
#s(approx (+ (* (- y z) (- t x)) x) #s(approx (* y (- t x)) (fma.f64 t y (neg.f64 (*.f64 x y)))))
#s(approx (* y (- t x)) (fma.f64 t y (neg.f64 (*.f64 x y))))
(+.f64 (neg.f64 (*.f64 x y)) (*.f64 t y))
(+.f64 (*.f64 t y) (neg.f64 (*.f64 x y)))
(-.f64 (neg.f64 (*.f64 x y)) (neg.f64 (*.f64 t y)))
(-.f64 (neg.f64 (*.f64 x y)) (*.f64 (neg.f64 t) y))
(fma.f64 #s(literal -1 binary64) (*.f64 x y) (*.f64 t y))
(fma.f64 (*.f64 #s(literal -1 binary64) x) y (*.f64 t y))
(fma.f64 (*.f64 x y) #s(literal -1 binary64) (*.f64 t y))
(fma.f64 t y (neg.f64 (*.f64 x y)))
(fma.f64 y t (neg.f64 (*.f64 x y)))
(*.f64 x y)
(*.f64 y x)

eval14.0ms (0.4%)

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

Compiled 2 629 to 433 computations (83.5% saved)

prune7.0ms (0.2%)

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

10 alts after pruning (4 fresh and 6 done)

PrunedKeptTotal
New1034107
Fresh000
Picked325
Done044
Total10610116
Accuracy
100.0%
Counts
116 → 10
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(fma.f64 (-.f64 y z) (-.f64 t x) x)
65.0%
(+.f64 x (*.f64 (-.f64 y z) #s(approx (- t x) t)))
67.6%
#s(approx (+ (* (- y z) (- t x)) x) (fma.f64 (-.f64 t x) y x))
47.3%
#s(approx (+ (* (- y z) (- t x)) x) (fma.f64 #s(approx (- t x) t) y x))
35.5%
#s(approx (+ (* (- y z) (- t x)) x) (*.f64 #s(literal -1 binary64) (*.f64 z (-.f64 t x))))
50.3%
#s(approx (+ (* (- y z) (- t x)) x) #s(approx (* y (- t x)) (fma.f64 t y (neg.f64 (*.f64 x y)))))
48.4%
#s(approx (+ (* (- y z) (- t x)) x) #s(approx (* t (- y z)) (fma.f64 t y (neg.f64 (*.f64 t z)))))
51.1%
#s(approx (+ x (* (- y z) (- t x))) (*.f64 y (-.f64 t x)))
49.1%
#s(approx (+ x (* (- y z) (- t x))) (*.f64 t (-.f64 y z)))
31.3%
#s(approx (+ x (* (- y z) (- t x))) #s(approx (* y (- t x)) (*.f64 t y)))
Compiler

Compiled 165 to 113 computations (31.5% saved)

series158.0ms (4.6%)

Memory
-28.6MiB live, 63.7MiB allocated; 12ms collecting garbage
Counts
22 → 77
Calls
Call 1
Inputs
#s(approx (+ (* (- y z) (- t x)) x) #s(approx (* t (- y z)) (fma.f64 t y (neg.f64 (*.f64 t z)))))
#s(approx (* t (- y z)) (fma.f64 t y (neg.f64 (*.f64 t z))))
(fma.f64 t y (neg.f64 (*.f64 t z)))
t
y
(neg.f64 (*.f64 t z))
(*.f64 t z)
z
#s(approx (+ (* (- y z) (- t x)) x) #s(approx (* y (- t x)) (fma.f64 t y (neg.f64 (*.f64 x y)))))
#s(approx (* y (- t x)) (fma.f64 t y (neg.f64 (*.f64 x y))))
(fma.f64 t y (neg.f64 (*.f64 x y)))
(neg.f64 (*.f64 x y))
(*.f64 x y)
x
#s(approx (+ (* (- y z) (- t x)) x) (*.f64 #s(literal -1 binary64) (*.f64 z (-.f64 t x))))
(*.f64 #s(literal -1 binary64) (*.f64 z (-.f64 t x)))
#s(literal -1 binary64)
(*.f64 z (-.f64 t x))
(-.f64 t x)
#s(approx (+ (* (- y z) (- t x)) x) (fma.f64 #s(approx (- t x) t) y x))
(fma.f64 #s(approx (- t x) t) y x)
#s(approx (- t x) t)
Outputs
#s(approx (+ (* (- y z) (- t x)) x) (*.f64 t (-.f64 y z)))
#s(approx (+ (* (- y z) (- t x)) x) (fma.f64 t (-.f64 y z) (*.f64 x (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1 binary64) (-.f64 y z))))))
#s(approx (* y (- t x)) (*.f64 t y))
#s(approx (* y (- t x)) (fma.f64 #s(literal -1 binary64) (*.f64 x y) (*.f64 t y)))
#s(approx (neg (* x y)) (*.f64 #s(literal -1 binary64) (*.f64 x y)))
#s(approx (* x y) (*.f64 x y))
#s(approx x x)
#s(approx (* -1 (* z (- t x))) (*.f64 #s(literal -1 binary64) (*.f64 t z)))
#s(approx (* -1 (* z (- t x))) (fma.f64 #s(literal -1 binary64) (*.f64 t z) (*.f64 x z)))
#s(approx (* z (- t x)) (*.f64 t z))
#s(approx (* z (- t x)) (fma.f64 #s(literal -1 binary64) (*.f64 x z) (*.f64 t z)))
#s(approx (- t x) t)
#s(approx (- t x) (+.f64 t (*.f64 #s(literal -1 binary64) x)))
#s(approx (+ (* (- t x) y) x) (fma.f64 t y (*.f64 x (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1 binary64) y)))))
#s(approx (+ (* (- y z) (- t x)) x) (*.f64 x (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1 binary64) (-.f64 y z)))))
#s(approx (+ (* (- y z) (- t x)) x) (*.f64 x (+.f64 #s(literal 1 binary64) (fma.f64 #s(literal -1 binary64) (-.f64 y z) (/.f64 (*.f64 t (-.f64 y z)) x)))))
#s(approx (* y (- t x)) (*.f64 x (fma.f64 #s(literal -1 binary64) y (/.f64 (*.f64 t y) x))))
#s(approx (+ (* t y) (neg (* x y))) (*.f64 x (-.f64 (/.f64 (*.f64 t y) x) y)))
#s(approx (* -1 (* z (- t x))) (*.f64 x z))
#s(approx (* -1 (* z (- t x))) (*.f64 x (+.f64 z (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 t z) x)))))
#s(approx (* z (- t x)) (*.f64 #s(literal -1 binary64) (*.f64 x z)))
#s(approx (* z (- t x)) (*.f64 x (fma.f64 #s(literal -1 binary64) z (/.f64 (*.f64 t z) x))))
#s(approx (- t x) (*.f64 #s(literal -1 binary64) x))
#s(approx (- t x) (*.f64 x (-.f64 (/.f64 t x) #s(literal 1 binary64))))
#s(approx (+ (* (- t x) y) x) (*.f64 x (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1 binary64) y))))
#s(approx (+ (* (- t x) y) x) (*.f64 x (+.f64 #s(literal 1 binary64) (fma.f64 #s(literal -1 binary64) y (/.f64 (*.f64 t y) x)))))
#s(approx (+ (* (- y z) (- t x)) x) (*.f64 #s(literal -1 binary64) (*.f64 x (-.f64 y (+.f64 #s(literal 1 binary64) z)))))
#s(approx (+ (* (- y z) (- t x)) x) (*.f64 #s(literal -1 binary64) (*.f64 x (-.f64 (+.f64 y (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 t (-.f64 y z)) x))) (+.f64 #s(literal 1 binary64) z)))))
#s(approx (* y (- t x)) (*.f64 #s(literal -1 binary64) (*.f64 x (+.f64 y (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 t y) x))))))
#s(approx (+ (* t y) (neg (* x y))) (*.f64 #s(literal -1 binary64) (*.f64 x (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 t y) x)) (*.f64 #s(literal -1 binary64) y)))))
#s(approx (* -1 (* z (- t x))) (*.f64 #s(literal -1 binary64) (*.f64 x (fma.f64 #s(literal -1 binary64) z (/.f64 (*.f64 t z) x)))))
#s(approx (* z (- t x)) (*.f64 #s(literal -1 binary64) (*.f64 x (+.f64 z (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 t z) x))))))
#s(approx (- t x) (*.f64 #s(literal -1 binary64) (*.f64 x (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1 binary64) (/.f64 t x))))))
#s(approx (+ (* (- t x) y) x) (*.f64 #s(literal -1 binary64) (*.f64 x (-.f64 y #s(literal 1 binary64)))))
#s(approx (+ (* (- t x) y) x) (*.f64 #s(literal -1 binary64) (*.f64 x (-.f64 (+.f64 y (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 t y) x))) #s(literal 1 binary64)))))
#s(approx (+ (* (- y z) (- t x)) x) (+.f64 x (*.f64 #s(literal -1 binary64) (*.f64 z (-.f64 t x)))))
#s(approx (+ (* (- y z) (- t x)) x) (+.f64 x (fma.f64 #s(literal -1 binary64) (*.f64 z (-.f64 t x)) (*.f64 y (-.f64 t x)))))
#s(approx (* t (- y z)) (fma.f64 #s(literal -1 binary64) (*.f64 t z) (*.f64 t y)))
#s(approx (+ (* t y) (neg (* t z))) (-.f64 (*.f64 t y) (*.f64 t z)))
#s(approx y y)
#s(approx (* y (- t x)) (*.f64 y (-.f64 t x)))
#s(approx (+ (* (- t x) y) x) (+.f64 x (*.f64 y (-.f64 t x))))
#s(approx (+ (* (- y z) (- t x)) x) (*.f64 y (-.f64 (+.f64 t (fma.f64 #s(literal -1 binary64) (/.f64 (*.f64 z (-.f64 t x)) y) (/.f64 x y))) x)))
#s(approx (* t (- y z)) (*.f64 y (+.f64 t (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 t z) y)))))
#s(approx (+ (* (- t x) y) x) (*.f64 y (-.f64 (+.f64 t (/.f64 x y)) x)))
#s(approx (+ (* (- y z) (- t x)) x) (*.f64 #s(literal -1 binary64) (*.f64 y (fma.f64 #s(literal -1 binary64) (-.f64 t x) (*.f64 #s(literal -1 binary64) (/.f64 (+.f64 x (*.f64 #s(literal -1 binary64) (*.f64 z (-.f64 t x)))) y))))))
#s(approx (* t (- y z)) (*.f64 #s(literal -1 binary64) (*.f64 y (fma.f64 #s(literal -1 binary64) t (/.f64 (*.f64 t z) y)))))
#s(approx (+ (* t y) (neg (* x y))) (*.f64 #s(literal -1 binary64) (*.f64 y (-.f64 (*.f64 #s(literal -1 binary64) t) (*.f64 #s(literal -1 binary64) x)))))
#s(approx (+ (* (- t x) y) x) (*.f64 #s(literal -1 binary64) (*.f64 y (fma.f64 #s(literal -1 binary64) (-.f64 t x) (*.f64 #s(literal -1 binary64) (/.f64 x y))))))
#s(approx z z)
#s(approx (* -1 (* z (- t x))) (*.f64 #s(literal -1 binary64) (*.f64 z (-.f64 t x))))
#s(approx (* z (- t x)) (*.f64 z (-.f64 t x)))
#s(approx (+ (* (- y z) (- t x)) x) (*.f64 z (fma.f64 #s(literal -1 binary64) (-.f64 t x) (+.f64 (/.f64 x z) (/.f64 (*.f64 y (-.f64 t x)) z)))))
#s(approx (* t (- y z)) (*.f64 z (fma.f64 #s(literal -1 binary64) t (/.f64 (*.f64 t y) z))))
#s(approx (+ (* t y) (neg (* t z))) (*.f64 z (-.f64 (/.f64 (*.f64 t y) z) t)))
#s(approx (+ (* (- y z) (- t x)) x) (*.f64 #s(literal -1 binary64) (*.f64 z (-.f64 (+.f64 t (*.f64 #s(literal -1 binary64) (/.f64 (+.f64 x (*.f64 y (-.f64 t x))) z))) x))))
#s(approx (* t (- y z)) (*.f64 #s(literal -1 binary64) (*.f64 z (+.f64 t (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 t y) z))))))
#s(approx (+ (* t y) (neg (* t z))) (*.f64 #s(literal -1 binary64) (*.f64 z (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 t y) z)) (*.f64 #s(literal -1 binary64) t)))))
#s(approx (+ (* (- y z) (- t x)) x) (+.f64 x (*.f64 #s(literal -1 binary64) (*.f64 x (-.f64 y z)))))
#s(approx (+ (* (- y z) (- t x)) x) (+.f64 x (fma.f64 #s(literal -1 binary64) (*.f64 x (-.f64 y z)) (*.f64 t (-.f64 y z)))))
#s(approx (+ (* t y) (neg (* x y))) (-.f64 (*.f64 t y) (*.f64 x y)))
#s(approx (- t x) (-.f64 t x))
#s(approx (+ (* (- t x) y) x) (+.f64 x (*.f64 #s(literal -1 binary64) (*.f64 x y))))
#s(approx (+ (* (- t x) y) x) (+.f64 x (fma.f64 #s(literal -1 binary64) (*.f64 x y) (*.f64 t y))))
#s(approx (+ (* (- y z) (- t x)) x) (*.f64 t (-.f64 (+.f64 y (fma.f64 #s(literal -1 binary64) (/.f64 (*.f64 x (-.f64 y z)) t) (/.f64 x t))) z)))
#s(approx (* y (- t x)) (*.f64 t (+.f64 y (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 x y) t)))))
#s(approx (* -1 (* z (- t x))) (*.f64 t (fma.f64 #s(literal -1 binary64) z (/.f64 (*.f64 x z) t))))
#s(approx (* z (- t x)) (*.f64 t (+.f64 z (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 x z) t)))))
#s(approx (- t x) (*.f64 t (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1 binary64) (/.f64 x t)))))
#s(approx (+ (* (- t x) y) x) (*.f64 t (+.f64 y (fma.f64 #s(literal -1 binary64) (/.f64 (*.f64 x y) t) (/.f64 x t)))))
#s(approx (+ (* (- y z) (- t x)) x) (*.f64 #s(literal -1 binary64) (*.f64 t (fma.f64 #s(literal -1 binary64) (-.f64 y z) (*.f64 #s(literal -1 binary64) (/.f64 (+.f64 x (*.f64 #s(literal -1 binary64) (*.f64 x (-.f64 y z)))) t))))))
#s(approx (+ (* t y) (neg (* t z))) (*.f64 #s(literal -1 binary64) (*.f64 t (-.f64 (*.f64 #s(literal -1 binary64) y) (*.f64 #s(literal -1 binary64) z)))))
#s(approx (* y (- t x)) (*.f64 #s(literal -1 binary64) (*.f64 t (fma.f64 #s(literal -1 binary64) y (/.f64 (*.f64 x y) t)))))
#s(approx (* -1 (* z (- t x))) (*.f64 #s(literal -1 binary64) (*.f64 t (+.f64 z (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 x z) t))))))
#s(approx (* z (- t x)) (*.f64 #s(literal -1 binary64) (*.f64 t (fma.f64 #s(literal -1 binary64) z (/.f64 (*.f64 x z) t)))))
#s(approx (- t x) (*.f64 #s(literal -1 binary64) (*.f64 t (-.f64 (/.f64 x t) #s(literal 1 binary64)))))
#s(approx (+ (* (- t x) y) x) (*.f64 #s(literal -1 binary64) (*.f64 t (fma.f64 #s(literal -1 binary64) y (*.f64 #s(literal -1 binary64) (/.f64 (+.f64 x (*.f64 #s(literal -1 binary64) (*.f64 x y))) t))))))
Calls

12 calls:

TimeVariablePoint
4.0ms
x
inf
3.0ms
z
0
2.0ms
y
-inf
2.0ms
t
-inf
2.0ms
x
-inf

rewrite211.0ms (6.1%)

Memory
21.5MiB live, 118.0MiB allocated; 19ms collecting garbage
Counts
22 → 48
Calls
Call 1
Inputs
#s(approx (+ (* (- y z) (- t x)) x) #s(approx (* t (- y z)) (fma.f64 t y (neg.f64 (*.f64 t z)))))
#s(approx (* t (- y z)) (fma.f64 t y (neg.f64 (*.f64 t z))))
(fma.f64 t y (neg.f64 (*.f64 t z)))
t
y
(neg.f64 (*.f64 t z))
(*.f64 t z)
z
#s(approx (+ (* (- y z) (- t x)) x) #s(approx (* y (- t x)) (fma.f64 t y (neg.f64 (*.f64 x y)))))
#s(approx (* y (- t x)) (fma.f64 t y (neg.f64 (*.f64 x y))))
(fma.f64 t y (neg.f64 (*.f64 x y)))
(neg.f64 (*.f64 x y))
(*.f64 x y)
x
#s(approx (+ (* (- y z) (- t x)) x) (*.f64 #s(literal -1 binary64) (*.f64 z (-.f64 t x))))
(*.f64 #s(literal -1 binary64) (*.f64 z (-.f64 t x)))
#s(literal -1 binary64)
(*.f64 z (-.f64 t x))
(-.f64 t x)
#s(approx (+ (* (- y z) (- t x)) x) (fma.f64 #s(approx (- t x) t) y x))
(fma.f64 #s(approx (- t x) t) y x)
#s(approx (- t x) t)
Outputs
#s(approx (+ (* (- y z) (- t x)) x) #s(approx (* t (- y z)) (-.f64 (*.f64 t y) (*.f64 t z))))
#s(approx (* t (- y z)) (-.f64 (*.f64 t y) (*.f64 t z)))
(+.f64 (neg.f64 (*.f64 t z)) (*.f64 t y))
(+.f64 (*.f64 t y) (neg.f64 (*.f64 t z)))
(-.f64 (*.f64 t y) (*.f64 t z))
(-.f64 (*.f64 t y) (neg.f64 (neg.f64 (*.f64 t z))))
(fma.f64 (neg.f64 t) z (*.f64 t y))
(fma.f64 t (neg.f64 z) (*.f64 t y))
(fma.f64 t y (neg.f64 (*.f64 t z)))
(fma.f64 y t (neg.f64 (*.f64 t z)))
t
y
(*.f64 (neg.f64 t) z)
(*.f64 t (neg.f64 z))
(neg.f64 (*.f64 t z))
(*.f64 t z)
(*.f64 z t)
z
#s(approx (+ (* (- y z) (- t x)) x) #s(approx (* (- t x) y) (-.f64 (*.f64 t y) (*.f64 x y))))
#s(approx (* (- t x) y) (-.f64 (*.f64 t y) (*.f64 x y)))
(+.f64 (neg.f64 (*.f64 x y)) (*.f64 t y))
(+.f64 (*.f64 t y) (neg.f64 (*.f64 x y)))
(-.f64 (*.f64 t y) (*.f64 x y))
(-.f64 (*.f64 t y) (neg.f64 (neg.f64 (*.f64 x y))))
(fma.f64 (neg.f64 x) y (*.f64 t y))
(fma.f64 x (neg.f64 y) (*.f64 t y))
(fma.f64 t y (neg.f64 (*.f64 x y)))
(fma.f64 y t (neg.f64 (*.f64 x y)))
(*.f64 (neg.f64 x) y)
(*.f64 x (neg.f64 y))
(neg.f64 (*.f64 x y))
(*.f64 x y)
(*.f64 y x)
x
#s(approx (+ (* (- y z) (- t x)) x) (neg.f64 (*.f64 z (-.f64 t x))))
(*.f64 (*.f64 #s(literal -1 binary64) z) (-.f64 t x))
(*.f64 #s(literal -1 binary64) (*.f64 z (-.f64 t x)))
(*.f64 (*.f64 z (-.f64 t x)) #s(literal -1 binary64))
(neg.f64 (*.f64 z (-.f64 t x)))
#s(literal -1 binary64)
(*.f64 z (-.f64 t x))
(*.f64 (-.f64 t x) z)
(+.f64 t (neg.f64 x))
(-.f64 t x)
(neg.f64 (-.f64 x t))
#s(approx (+ (* (- y z) (- t x)) x) (fma.f64 #s(approx (- t x) t) y x))
(fma.f64 #s(approx (- t x) t) y x)
#s(approx (- t x) t)

eval16.0ms (0.5%)

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

Compiled 2 845 to 500 computations (82.4% saved)

prune9.0ms (0.2%)

Memory
-35.9MiB live, 9.2MiB allocated; 8ms collecting garbage
Pruning

11 alts after pruning (4 fresh and 7 done)

PrunedKeptTotal
New1084112
Fresh000
Picked314
Done066
Total11111122
Accuracy
100.0%
Counts
122 → 11
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(fma.f64 (-.f64 y z) (-.f64 t x) x)
65.0%
(+.f64 x (*.f64 (-.f64 y z) #s(approx (- t x) t)))
67.6%
#s(approx (+ (* (- y z) (- t x)) x) (fma.f64 (-.f64 t x) y x))
47.3%
#s(approx (+ (* (- y z) (- t x)) x) (fma.f64 #s(approx (- t x) t) y x))
35.5%
#s(approx (+ (* (- y z) (- t x)) x) (neg.f64 (*.f64 z (-.f64 t x))))
49.1%
#s(approx (+ (* (- y z) (- t x)) x) #s(approx (* (- t x) y) (-.f64 (*.f64 t y) (*.f64 x y))))
46.4%
#s(approx (+ (* (- y z) (- t x)) x) #s(approx (* t (- y z)) (-.f64 (*.f64 t y) (*.f64 t z))))
18.0%
#s(approx (+ (* (- y z) (- t x)) x) #s(approx (* -1 (* z (- t x))) (*.f64 x z)))
51.1%
#s(approx (+ x (* (- y z) (- t x))) (*.f64 y (-.f64 t x)))
49.1%
#s(approx (+ x (* (- y z) (- t x))) (*.f64 t (-.f64 y z)))
31.3%
#s(approx (+ x (* (- y z) (- t x))) #s(approx (* y (- t x)) (*.f64 t y)))
Compiler

Compiled 185 to 126 computations (31.9% saved)

regimes268.0ms (7.8%)

Memory
9.1MiB live, 242.1MiB allocated; 49ms collecting garbage
Accuracy

Total -0.0b remaining (-0%)

Threshold costs -0b (-0%)

Counts
1 → 1
2 → 3
3 → 3
4 → 4
6 → 5
7 → 5
15 → 3
21 → 1
Calls
Call 1
Inputs
#s(approx (+ x (* (- y z) (- t x))) #s(approx (* y (- t x)) (*.f64 t y)))
Outputs
#s(approx (+ x (* (- y z) (- t x))) #s(approx (* y (- t x)) (*.f64 t y)))
Call 2
Inputs
#s(approx (+ x (* (- y z) (- t x))) #s(approx (* y (- t x)) (*.f64 t y)))
#s(approx (+ (* (- y z) (- t x)) x) #s(approx (* -1 (* z (- t x))) (*.f64 x z)))
Outputs
#s(approx (+ x (* (- y z) (- t x))) #s(approx (* y (- t x)) (*.f64 t y)))
#s(approx (+ (* (- y z) (- t x)) x) #s(approx (* -1 (* z (- t x))) (*.f64 x z)))
#s(approx (+ x (* (- y z) (- t x))) #s(approx (* y (- t x)) (*.f64 t y)))
Call 3
Inputs
#s(approx (+ x (* (- y z) (- t x))) #s(approx (* y (- t x)) (*.f64 t y)))
#s(approx (+ (* (- y z) (- t x)) x) #s(approx (* -1 (* z (- t x))) (*.f64 x z)))
#s(approx (+ (* (- y z) (- t x)) x) (fma.f64 #s(approx (- t x) t) y x))
Outputs
#s(approx (+ (* (- y z) (- t x)) x) #s(approx (* -1 (* z (- t x))) (*.f64 x z)))
#s(approx (+ (* (- y z) (- t x)) x) (fma.f64 #s(approx (- t x) t) y x))
#s(approx (+ (* (- y z) (- t x)) x) #s(approx (* -1 (* z (- t x))) (*.f64 x z)))
Call 4
Inputs
#s(approx (+ x (* (- y z) (- t x))) #s(approx (* y (- t x)) (*.f64 t y)))
#s(approx (+ (* (- y z) (- t x)) x) #s(approx (* -1 (* z (- t x))) (*.f64 x z)))
#s(approx (+ (* (- y z) (- t x)) x) (fma.f64 #s(approx (- t x) t) y x))
#s(approx (+ x (* (- y z) (- t x))) (*.f64 t (-.f64 y z)))
Outputs
#s(approx (+ x (* (- y z) (- t x))) (*.f64 t (-.f64 y z)))
#s(approx (+ (* (- y z) (- t x)) x) #s(approx (* -1 (* z (- t x))) (*.f64 x z)))
#s(approx (+ (* (- y z) (- t x)) x) (fma.f64 #s(approx (- t x) t) y x))
#s(approx (+ x (* (- y z) (- t x))) (*.f64 t (-.f64 y z)))
Call 5
Inputs
#s(approx (+ x (* (- y z) (- t x))) #s(approx (* y (- t x)) (*.f64 t y)))
#s(approx (+ (* (- y z) (- t x)) x) #s(approx (* -1 (* z (- t x))) (*.f64 x z)))
#s(approx (+ (* (- y z) (- t x)) x) (fma.f64 #s(approx (- t x) t) y x))
#s(approx (+ x (* (- y z) (- t x))) (*.f64 t (-.f64 y z)))
#s(approx (+ x (* (- y z) (- t x))) (*.f64 y (-.f64 t x)))
#s(approx (+ x (* (- y z) (- t x))) (+.f64 x #s(approx (* y (- t x)) (*.f64 t y))))
Outputs
#s(approx (+ x (* (- y z) (- t x))) (*.f64 y (-.f64 t x)))
#s(approx (+ (* (- y z) (- t x)) x) (fma.f64 #s(approx (- t x) t) y x))
#s(approx (+ x (* (- y z) (- t x))) (*.f64 t (-.f64 y z)))
#s(approx (+ (* (- y z) (- t x)) x) (fma.f64 #s(approx (- t x) t) y x))
#s(approx (+ x (* (- y z) (- t x))) (*.f64 y (-.f64 t x)))
Call 6
Inputs
#s(approx (+ x (* (- y z) (- t x))) #s(approx (* y (- t x)) (*.f64 t y)))
#s(approx (+ (* (- y z) (- t x)) x) #s(approx (* -1 (* z (- t x))) (*.f64 x z)))
#s(approx (+ (* (- y z) (- t x)) x) (fma.f64 #s(approx (- t x) t) y x))
#s(approx (+ x (* (- y z) (- t x))) (*.f64 t (-.f64 y z)))
#s(approx (+ x (* (- y z) (- t x))) (*.f64 y (-.f64 t x)))
#s(approx (+ x (* (- y z) (- t x))) (+.f64 x #s(approx (* y (- t x)) (*.f64 t y))))
#s(approx (+ (* (- y z) (- t x)) x) (neg.f64 (*.f64 z (-.f64 t x))))
Outputs
#s(approx (+ (* (- y z) (- t x)) x) (neg.f64 (*.f64 z (-.f64 t x))))
#s(approx (+ x (* (- y z) (- t x))) (*.f64 y (-.f64 t x)))
#s(approx (+ (* (- y z) (- t x)) x) (fma.f64 #s(approx (- t x) t) y x))
#s(approx (+ x (* (- y z) (- t x))) (*.f64 y (-.f64 t x)))
#s(approx (+ (* (- y z) (- t x)) x) (neg.f64 (*.f64 z (-.f64 t x))))
Call 7
Inputs
#s(approx (+ x (* (- y z) (- t x))) #s(approx (* y (- t x)) (*.f64 t y)))
#s(approx (+ (* (- y z) (- t x)) x) #s(approx (* -1 (* z (- t x))) (*.f64 x z)))
#s(approx (+ (* (- y z) (- t x)) x) (fma.f64 #s(approx (- t x) t) y x))
#s(approx (+ x (* (- y z) (- t x))) (*.f64 t (-.f64 y z)))
#s(approx (+ x (* (- y z) (- t x))) (*.f64 y (-.f64 t x)))
#s(approx (+ x (* (- y z) (- t x))) (+.f64 x #s(approx (* y (- t x)) (*.f64 t y))))
#s(approx (+ (* (- y z) (- t x)) x) (neg.f64 (*.f64 z (-.f64 t x))))
#s(approx (+ (* (- y z) (- t x)) x) (fma.f64 (-.f64 t x) y x))
#s(approx (+ x (* (- y z) (- t x))) (+.f64 x (*.f64 y (-.f64 t x))))
(+.f64 x (*.f64 (-.f64 y z) #s(approx (- t x) t)))
#s(approx (+ (* (- y z) (- t x)) x) #s(approx (* t (- y z)) (-.f64 (*.f64 t y) (*.f64 t z))))
#s(approx (+ (* (- y z) (- t x)) x) #s(approx (* (- t x) y) (-.f64 (*.f64 t y) (*.f64 x y))))
#s(approx (+ (* (- y z) (- t x)) x) (*.f64 #s(literal -1 binary64) (*.f64 z (-.f64 t x))))
#s(approx (+ (* (- y z) (- t x)) x) #s(approx (* t (- y z)) (fma.f64 t y (neg.f64 (*.f64 t z)))))
#s(approx (+ (* (- y z) (- t x)) x) #s(approx (* y (- t x)) (fma.f64 t y (neg.f64 (*.f64 x y)))))
Outputs
#s(approx (+ (* (- y z) (- t x)) x) (neg.f64 (*.f64 z (-.f64 t x))))
#s(approx (+ (* (- y z) (- t x)) x) (fma.f64 (-.f64 t x) y x))
#s(approx (+ (* (- y z) (- t x)) x) (neg.f64 (*.f64 z (-.f64 t x))))
Call 8
Inputs
#s(approx (+ x (* (- y z) (- t x))) #s(approx (* y (- t x)) (*.f64 t y)))
#s(approx (+ (* (- y z) (- t x)) x) #s(approx (* -1 (* z (- t x))) (*.f64 x z)))
#s(approx (+ (* (- y z) (- t x)) x) (fma.f64 #s(approx (- t x) t) y x))
#s(approx (+ x (* (- y z) (- t x))) (*.f64 t (-.f64 y z)))
#s(approx (+ x (* (- y z) (- t x))) (*.f64 y (-.f64 t x)))
#s(approx (+ x (* (- y z) (- t x))) (+.f64 x #s(approx (* y (- t x)) (*.f64 t y))))
#s(approx (+ (* (- y z) (- t x)) x) (neg.f64 (*.f64 z (-.f64 t x))))
#s(approx (+ (* (- y z) (- t x)) x) (fma.f64 (-.f64 t x) y x))
#s(approx (+ x (* (- y z) (- t x))) (+.f64 x (*.f64 y (-.f64 t x))))
(+.f64 x (*.f64 (-.f64 y z) #s(approx (- t x) t)))
#s(approx (+ (* (- y z) (- t x)) x) #s(approx (* t (- y z)) (-.f64 (*.f64 t y) (*.f64 t z))))
#s(approx (+ (* (- y z) (- t x)) x) #s(approx (* (- t x) y) (-.f64 (*.f64 t y) (*.f64 x y))))
#s(approx (+ (* (- y z) (- t x)) x) (*.f64 #s(literal -1 binary64) (*.f64 z (-.f64 t x))))
#s(approx (+ (* (- y z) (- t x)) x) #s(approx (* t (- y z)) (fma.f64 t y (neg.f64 (*.f64 t z)))))
#s(approx (+ (* (- y z) (- t x)) x) #s(approx (* y (- t x)) (fma.f64 t y (neg.f64 (*.f64 x y)))))
(fma.f64 (-.f64 y z) (-.f64 t x) x)
#s(approx (+ x (* (- y z) (- t x))) #s(approx (* t (- y z)) (fma.f64 #s(literal -1 binary64) (*.f64 t z) (*.f64 t y))))
#s(approx (+ x (* (- y z) (- t x))) #s(approx (* y (- t x)) (fma.f64 #s(literal -1 binary64) (*.f64 x y) (*.f64 t y))))
(+.f64 x (*.f64 (-.f64 y z) (-.f64 t x)))
(+.f64 x #s(approx (* (- y z) (- t x)) (fma.f64 #s(literal -1 binary64) (*.f64 x (-.f64 y z)) (*.f64 t (-.f64 y z)))))
(+.f64 x #s(approx (* (- y z) (- t x)) (fma.f64 #s(literal -1 binary64) (*.f64 z (-.f64 t x)) (*.f64 y (-.f64 t x)))))
Outputs
(fma.f64 (-.f64 y z) (-.f64 t x) x)
Calls

41 calls:

52.0ms
x
45.0ms
(-.f64 y z)
13.0ms
y
12.0ms
(+.f64 x (*.f64 (-.f64 y z) (-.f64 t x)))
12.0ms
t
Results
AccuracySegmentsBranch
31.3%1(-.f64 y z)
31.3%1t
31.3%1x
31.3%1z
31.3%1y
31.3%1(-.f64 y z)
31.3%1(+.f64 x (*.f64 (-.f64 y z) (-.f64 t x)))
37.2%3t
37.5%2x
40.4%3y
39.6%3z
47.3%1t
47.3%1(+.f64 x (*.f64 (-.f64 y z) (-.f64 t x)))
51.2%2x
47.3%1(-.f64 y z)
55.6%3z
57.5%3t
61.1%4x
63.9%4z
61.3%3(-.f64 y z)
53.3%2y
59.4%3(+.f64 x (*.f64 (-.f64 y z) (-.f64 t x)))
71.9%5y
71.4%6z
71.4%5(-.f64 y z)
66.5%5x
62.4%3t
73.4%3y
76.7%5z
75.4%4(-.f64 y z)
69.3%2(+.f64 x (*.f64 (-.f64 y z) (-.f64 t x)))
80.2%4x
82.0%3y
85.0%3z
79.0%3t
100.0%1(-.f64 y z)
100.0%1(+.f64 x (*.f64 (-.f64 y z) (-.f64 t x)))
100.0%1x
100.0%1y
100.0%1z
100.0%1t
Compiler

Compiled 482 to 267 computations (44.6% saved)

bsearch100.0ms (2.9%)

Memory
-3.9MiB live, 46.9MiB allocated; 133ms collecting garbage
Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
Steps
TimeLeftRight
90.0ms
1.3664279689782154e-8
0.08813073223729923
8.0ms
-2.1790262476251366e+60
-7.238735948852829e+58
Samples
89.0ms256×0valid
Compiler

Compiled 524 to 415 computations (20.8% saved)

Precisions
Click to see histograms. Total time spent on operations: 3.0ms
ival-sub!: 1.0ms (31.1% of total)
ival-add!: 1.0ms (31.1% of total)
ival-mult!: 1.0ms (31.1% of total)
adjust: 0.0ms (0% of total)

bsearch22.0ms (0.6%)

Memory
38.6MiB live, 38.6MiB allocated; 0ms collecting garbage
Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
narrow-enough
narrow-enough
Steps
TimeLeftRight
1.0ms
1.3664279689782154e-8
0.08813073223729923
10.0ms
9.17588663295966e-233
1.0948299138860739e-229
8.0ms
-6.248318106023208e-100
-9.054427900620871e-102
1.0ms
-2.1790262476251366e+60
-7.238735948852829e+58
Samples
9.0ms240×0valid
Compiler

Compiled 1 003 to 775 computations (22.7% saved)

Precisions
Click to see histograms. Total time spent on operations: 3.0ms
ival-sub!: 1.0ms (32.9% of total)
ival-add!: 1.0ms (32.9% of total)
ival-mult!: 1.0ms (32.9% of total)
adjust: 0.0ms (0% of total)

bsearch101.0ms (2.9%)

Memory
-30.4MiB live, 63.9MiB allocated; 24ms collecting garbage
Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
narrow-enough
narrow-enough
Steps
TimeLeftRight
57.0ms
3.004660848627727e-12
1.32594575287058
6.0ms
-2.738703498387765e-284
-1.3361387790632026e-284
12.0ms
-9.624298035512239e-166
-1.1742616829842143e-166
23.0ms
-2.881391893201234
-0.1933019953716945
Samples
56.0ms432×0valid
Compiler

Compiled 903 to 663 computations (26.6% saved)

Precisions
Click to see histograms. Total time spent on operations: 8.0ms
ival-sub!: 4.0ms (49.3% of total)
ival-mult!: 3.0ms (36.9% of total)
ival-add!: 2.0ms (24.6% of total)
adjust: 0.0ms (0% of total)

bsearch68.0ms (2%)

Memory
31.3MiB live, 31.3MiB allocated; 0ms collecting garbage
Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
narrow-enough
Steps
TimeLeftRight
13.0ms
2.3409333181674568e-27
3.9704768648445595e-19
12.0ms
-7.860666149130995e+69
-9.263129807620255e+68
40.0ms
-7.420954637442197e+237
-2.355395400609932e+237
Samples
48.0ms320×0valid
Compiler

Compiled 723 to 528 computations (27% saved)

Precisions
Click to see histograms. Total time spent on operations: 35.0ms
ival-mult!: 32.0ms (90.5% of total)
ival-sub!: 2.0ms (5.7% of total)
ival-add!: 1.0ms (2.8% of total)
adjust: 0.0ms (0% of total)

bsearch19.0ms (0.5%)

Memory
-33.0MiB live, 13.3MiB allocated; 6ms collecting garbage
Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
Steps
TimeLeftRight
16.0ms
1.4087593630182383e+61
1.6485357708871242e+62
1.0ms
-7.860666149130995e+69
-9.263129807620255e+68
Samples
10.0ms96×0valid
Compiler

Compiled 480 to 339 computations (29.4% saved)

Precisions
Click to see histograms. Total time spent on operations: 2.0ms
ival-sub!: 1.0ms (43.2% of total)
ival-mult!: 1.0ms (43.2% of total)
adjust: 0.0ms (0% of total)
ival-add!: 0.0ms (0% of total)

bsearch84.0ms (2.4%)

Memory
-13.8MiB live, 37.8MiB allocated; 24ms collecting garbage
Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
Steps
TimeLeftRight
52.0ms
7.729629075863818e+25
1.6938417297117987e+27
16.0ms
-1.9180343011681953e-19
-4.526777525777246e-21
Samples
50.0ms224×0valid
Compiler

Compiled 572 to 407 computations (28.8% saved)

Precisions
Click to see histograms. Total time spent on operations: 37.0ms
ival-sub!: 33.0ms (90.3% of total)
ival-mult!: 2.0ms (5.5% of total)
ival-add!: 1.0ms (2.7% of total)
adjust: 0.0ms (0% of total)

derivations5.0ms (0.1%)

Memory
5.9MiB live, 5.9MiB allocated; 0ms collecting garbage
Stop Event
fuel
Compiler

Compiled 492 to 79 computations (83.9% saved)

preprocess112.0ms (3.2%)

Memory
10.0MiB live, 102.1MiB allocated; 10ms collecting garbage
Compiler

Compiled 501 to 87 computations (82.6% saved)

end0.0ms (0%)

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

Profiling

Loading profile data...