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.5MiB live, 0.5MiB 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)

sample2.2s (62.5%)

Memory
-133.9MiB live, 1 264.1MiB allocated; 2.1s collecting garbage
Samples
1.9s8 256×0valid
Precisions
Click to see histograms. Total time spent on operations: 1.5s
ival-add!: 1.4s (91.7% of total)
ival-sub!: 88.0ms (5.7% of total)
ival-mult!: 37.0ms (2.4% of total)
adjust: 2.0ms (0.1% of total)
Bogosity

preprocess38.0ms (1.1%)

Memory
-26.9MiB live, 71.0MiB allocated; 13ms collecting garbage
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
048143
1158135
2560135
32176135
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)

series20.0ms (0.6%)

Memory
-2.1MiB live, 43.3MiB allocated; 6ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0178849
Stop Event
iter-limit
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
1.0ms
z
-inf
1.0ms
y
-inf
1.0ms
t
-inf
1.0ms
x
-inf
1.0ms
x
inf

rewrite96.0ms (2.7%)

Memory
-0.1MiB live, 145.1MiB allocated; 14ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0826
01226
12726
27826
329426
4102126
5215926
6286626
7320326
8344126
0406125
Stop Event
iter-limit
node-limit
iter-limit
Counts
8 → 198
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 (-.f64 (*.f64 (*.f64 (-.f64 z y) (-.f64 x t)) #s(literal 2 binary64)) (*.f64 (neg.f64 x) #s(literal 2 binary64))) #s(literal 2 binary64))
(/.f64 (-.f64 (*.f64 (*.f64 (-.f64 z y) (-.f64 x t)) #s(literal 2 binary64)) (*.f64 #s(literal 2 binary64) (neg.f64 x))) #s(literal 2 binary64))
(neg.f64 (-.f64 (*.f64 (-.f64 z y) (-.f64 t x)) x))
(fma.f64 (-.f64 #s(literal -1 binary64) z) (neg.f64 x) (-.f64 (*.f64 (-.f64 t x) y) (*.f64 t z)))
(fma.f64 (-.f64 y #s(literal 1 binary64)) (neg.f64 x) (fma.f64 (-.f64 x t) z (*.f64 t y)))
(fma.f64 (-.f64 #s(literal 1 binary64) y) x (fma.f64 (-.f64 x t) z (*.f64 t y)))
(fma.f64 (-.f64 z #s(literal -1 binary64)) x (-.f64 (*.f64 (-.f64 t x) y) (*.f64 t z)))
(fma.f64 (-.f64 #s(literal -1 binary64) (-.f64 z y)) (neg.f64 x) (*.f64 t (-.f64 y z)))
(fma.f64 (-.f64 #s(literal 1 binary64) (-.f64 y z)) x (*.f64 t (-.f64 y z)))
(fma.f64 (neg.f64 t) (neg.f64 y) (fma.f64 (-.f64 z y) x (-.f64 x (*.f64 t z))))
(fma.f64 (neg.f64 t) (-.f64 z y) (fma.f64 (-.f64 z y) x x))
(fma.f64 (neg.f64 t) z (fma.f64 (-.f64 t x) y (fma.f64 z x x)))
(fma.f64 (neg.f64 y) (neg.f64 t) (fma.f64 (-.f64 z y) x (-.f64 x (*.f64 t z))))
(fma.f64 (neg.f64 y) (-.f64 x t) (fma.f64 (-.f64 x t) z x))
(fma.f64 (neg.f64 y) x (fma.f64 t (-.f64 y z) (fma.f64 z x x)))
(fma.f64 (neg.f64 z) (neg.f64 x) (fma.f64 t (-.f64 y z) (-.f64 x (*.f64 y x))))
(fma.f64 (neg.f64 z) (-.f64 t x) (fma.f64 (-.f64 t x) y x))
(fma.f64 (neg.f64 z) t (fma.f64 (-.f64 t x) y (fma.f64 z x x)))
(fma.f64 (neg.f64 x) (-.f64 #s(literal -1 binary64) z) (-.f64 (*.f64 (-.f64 t x) y) (*.f64 t z)))
(fma.f64 (neg.f64 x) (-.f64 y #s(literal 1 binary64)) (fma.f64 (-.f64 x t) z (*.f64 t y)))
(fma.f64 (neg.f64 x) (-.f64 #s(literal -1 binary64) (-.f64 z y)) (*.f64 t (-.f64 y z)))
(fma.f64 (neg.f64 x) (neg.f64 z) (fma.f64 t (-.f64 y z) (-.f64 x (*.f64 y x))))
(fma.f64 (neg.f64 x) (-.f64 y z) (fma.f64 t (-.f64 y z) x))
(fma.f64 (neg.f64 x) y (fma.f64 t (-.f64 y z) (fma.f64 z x x)))
(fma.f64 (-.f64 z y) (neg.f64 t) (fma.f64 (-.f64 z y) x x))
(fma.f64 (-.f64 z y) (-.f64 x t) x)
(fma.f64 (-.f64 z y) x (fma.f64 t (-.f64 y z) x))
(fma.f64 (-.f64 x t) (neg.f64 y) (fma.f64 (-.f64 x t) z x))
(fma.f64 (-.f64 x t) (-.f64 z y) x)
(fma.f64 (-.f64 x t) z (fma.f64 (-.f64 t x) y x))
(fma.f64 (-.f64 t x) (neg.f64 z) (fma.f64 (-.f64 t x) y x))
(fma.f64 (-.f64 t x) (-.f64 y z) x)
(fma.f64 (-.f64 t x) y (fma.f64 (-.f64 x t) z x))
(fma.f64 t (neg.f64 z) (fma.f64 (-.f64 t x) y (fma.f64 z x x)))
(fma.f64 t (-.f64 y z) (fma.f64 (-.f64 z y) x x))
(fma.f64 t y (fma.f64 (-.f64 z y) x (-.f64 x (*.f64 t z))))
(fma.f64 (-.f64 y z) (neg.f64 x) (fma.f64 t (-.f64 y z) x))
(fma.f64 (-.f64 y z) (-.f64 t x) x)
(fma.f64 (-.f64 y z) t (fma.f64 (-.f64 z y) x x))
(fma.f64 z (neg.f64 t) (fma.f64 (-.f64 t x) y (fma.f64 z x x)))
(fma.f64 z (-.f64 x t) (fma.f64 (-.f64 t x) y x))
(fma.f64 z x (fma.f64 t (-.f64 y z) (-.f64 x (*.f64 y x))))
(fma.f64 y (neg.f64 x) (fma.f64 t (-.f64 y z) (fma.f64 z x x)))
(fma.f64 y (-.f64 t x) (fma.f64 (-.f64 x t) z x))
(fma.f64 y t (fma.f64 (-.f64 z y) x (-.f64 x (*.f64 t z))))
(fma.f64 x (-.f64 #s(literal 1 binary64) y) (fma.f64 (-.f64 x t) z (*.f64 t y)))
(fma.f64 x (-.f64 z #s(literal -1 binary64)) (-.f64 (*.f64 (-.f64 t x) y) (*.f64 t z)))
(fma.f64 x (-.f64 #s(literal 1 binary64) (-.f64 y z)) (*.f64 t (-.f64 y z)))
(fma.f64 x (neg.f64 y) (fma.f64 t (-.f64 y z) (fma.f64 z x x)))
(fma.f64 x (-.f64 z y) (fma.f64 t (-.f64 y z) x))
(fma.f64 x z (fma.f64 t (-.f64 y z) (-.f64 x (*.f64 y x))))
(-.f64 (fma.f64 t y (fma.f64 z x x)) (fma.f64 t z (*.f64 y x)))
(-.f64 (-.f64 x (fma.f64 t z (*.f64 y x))) (neg.f64 (fma.f64 t y (*.f64 z x))))
(-.f64 (neg.f64 (fma.f64 t z (*.f64 y x))) (neg.f64 (fma.f64 t y (fma.f64 z x x))))
(-.f64 (fma.f64 t y (*.f64 z x)) (fma.f64 t z (-.f64 (*.f64 y x) x)))
(-.f64 (-.f64 (*.f64 (-.f64 x t) z) (*.f64 y x)) (neg.f64 (fma.f64 t y x)))
(-.f64 (fma.f64 t y x) (fma.f64 (-.f64 t x) z (*.f64 y x)))
(-.f64 (fma.f64 (-.f64 t x) y (fma.f64 z x x)) (*.f64 t z))
(-.f64 (fma.f64 (-.f64 z y) x (-.f64 x (*.f64 t z))) (*.f64 (neg.f64 t) y))
(-.f64 (-.f64 (*.f64 (-.f64 t x) y) (*.f64 t z)) (*.f64 (-.f64 #s(literal -1 binary64) z) x))
(-.f64 (fma.f64 (-.f64 x t) z (*.f64 t y)) (-.f64 (*.f64 y x) x))
(-.f64 (-.f64 x (*.f64 t z)) (-.f64 (*.f64 (-.f64 x t) y) (*.f64 z x)))
(-.f64 (fma.f64 t (-.f64 y z) (-.f64 x (*.f64 y x))) (*.f64 (neg.f64 z) x))
(-.f64 (fma.f64 t (-.f64 y z) (fma.f64 z x x)) (*.f64 y x))
(-.f64 (fma.f64 (-.f64 z y) x (*.f64 t y)) (-.f64 (*.f64 t z) x))
(-.f64 (-.f64 x (*.f64 y x)) (-.f64 (*.f64 (-.f64 t x) z) (*.f64 t y)))
(-.f64 (fma.f64 z x x) (fma.f64 (-.f64 z y) t (*.f64 y x)))
(-.f64 (fma.f64 (-.f64 t x) y x) (*.f64 (-.f64 t x) z))
(-.f64 (fma.f64 t (-.f64 y z) x) (*.f64 (-.f64 y z) x))
(-.f64 (fma.f64 (-.f64 x t) z x) (*.f64 (-.f64 x t) y))
(-.f64 (fma.f64 (-.f64 z y) x x) (*.f64 (-.f64 z y) t))
(-.f64 (*.f64 z x) (fma.f64 (-.f64 z y) t (-.f64 (*.f64 y x) x)))
(-.f64 (*.f64 (neg.f64 y) x) (fma.f64 (-.f64 #s(literal -1 binary64) z) x (*.f64 (-.f64 z y) t)))
(-.f64 (*.f64 (neg.f64 t) z) (fma.f64 (-.f64 #s(literal -1 binary64) z) x (*.f64 (-.f64 x t) y)))
(-.f64 (*.f64 t y) (fma.f64 (-.f64 t x) z (-.f64 (*.f64 y x) x)))
(-.f64 (*.f64 (-.f64 x t) z) (-.f64 (*.f64 (-.f64 x t) y) x))
(-.f64 (*.f64 (-.f64 z y) x) (-.f64 (*.f64 (-.f64 z y) t) x))
(-.f64 (*.f64 (-.f64 t x) y) (-.f64 (*.f64 (-.f64 t x) z) x))
(-.f64 (*.f64 t (-.f64 y z)) (-.f64 (*.f64 (-.f64 y z) x) x))
(-.f64 (*.f64 (-.f64 z y) (-.f64 x t)) (neg.f64 x))
(-.f64 x (*.f64 (-.f64 z y) (-.f64 t x)))
(+.f64 (fma.f64 t y (fma.f64 z x x)) (neg.f64 (fma.f64 t z (*.f64 y x))))
(+.f64 (-.f64 x (fma.f64 t z (*.f64 y x))) (fma.f64 t y (*.f64 z x)))
(+.f64 (neg.f64 (fma.f64 t z (*.f64 y x))) (fma.f64 t y (fma.f64 z x x)))
(+.f64 (fma.f64 t y (*.f64 z x)) (-.f64 x (fma.f64 t z (*.f64 y x))))
(+.f64 (-.f64 (*.f64 (-.f64 x t) z) (*.f64 y x)) (fma.f64 t y x))
(+.f64 (fma.f64 t y x) (-.f64 (*.f64 (-.f64 x t) z) (*.f64 y x)))
(+.f64 (fma.f64 (-.f64 t x) y (fma.f64 z x x)) (*.f64 (neg.f64 t) z))
(+.f64 (fma.f64 (-.f64 z y) x (-.f64 x (*.f64 t z))) (*.f64 t y))
(+.f64 (-.f64 (*.f64 (-.f64 t x) y) (*.f64 t z)) (fma.f64 z x x))
(+.f64 (fma.f64 (-.f64 x t) z (*.f64 t y)) (-.f64 x (*.f64 y x)))
(+.f64 (-.f64 x (*.f64 t z)) (fma.f64 (-.f64 z y) x (*.f64 t y)))
(+.f64 (fma.f64 t (-.f64 y z) (-.f64 x (*.f64 y x))) (*.f64 z x))
(+.f64 (fma.f64 t (-.f64 y z) (fma.f64 z x x)) (*.f64 (neg.f64 y) x))
(+.f64 (fma.f64 (-.f64 z y) x (*.f64 t y)) (-.f64 x (*.f64 t z)))
(+.f64 (-.f64 x (*.f64 y x)) (fma.f64 (-.f64 x t) z (*.f64 t y)))
(+.f64 (fma.f64 z x x) (-.f64 (*.f64 (-.f64 t x) y) (*.f64 t z)))
(+.f64 (fma.f64 (-.f64 t x) y x) (*.f64 (-.f64 x t) z))
(+.f64 (fma.f64 t (-.f64 y z) x) (*.f64 (-.f64 z y) x))
(+.f64 (fma.f64 (-.f64 x t) z x) (*.f64 (-.f64 t x) y))
(+.f64 (fma.f64 (-.f64 z y) x x) (*.f64 t (-.f64 y z)))
(+.f64 (*.f64 z x) (fma.f64 t (-.f64 y z) (-.f64 x (*.f64 y x))))
(+.f64 (*.f64 (neg.f64 y) x) (fma.f64 t (-.f64 y z) (fma.f64 z x x)))
(+.f64 (*.f64 (neg.f64 t) z) (fma.f64 (-.f64 t x) y (fma.f64 z x x)))
(+.f64 (*.f64 t y) (fma.f64 (-.f64 z y) x (-.f64 x (*.f64 t z))))
(+.f64 (*.f64 (-.f64 x t) z) (fma.f64 (-.f64 t x) y x))
(+.f64 (*.f64 (-.f64 z y) x) (fma.f64 t (-.f64 y z) x))
(+.f64 (*.f64 (-.f64 t x) y) (fma.f64 (-.f64 x t) z x))
(+.f64 (*.f64 t (-.f64 y z)) (fma.f64 (-.f64 z y) x x))
(+.f64 (*.f64 (-.f64 z y) (-.f64 x t)) x)
(+.f64 x (*.f64 (-.f64 z y) (-.f64 x t)))
x
(*.f64 (-.f64 z y) (-.f64 x t))
(*.f64 (-.f64 x t) (-.f64 z y))
(*.f64 (-.f64 t x) (-.f64 y z))
(*.f64 (-.f64 y z) (-.f64 t x))
(neg.f64 (*.f64 (-.f64 z y) (-.f64 t x)))
(fma.f64 (neg.f64 t) (neg.f64 y) (-.f64 (*.f64 (-.f64 x t) z) (*.f64 y x)))
(fma.f64 (neg.f64 t) (-.f64 z y) (*.f64 (-.f64 z y) x))
(fma.f64 (neg.f64 t) z (fma.f64 (-.f64 z y) x (*.f64 t y)))
(fma.f64 (neg.f64 y) (neg.f64 t) (-.f64 (*.f64 (-.f64 x t) z) (*.f64 y x)))
(fma.f64 (neg.f64 y) (-.f64 x t) (*.f64 (-.f64 x t) z))
(fma.f64 (neg.f64 y) x (fma.f64 (-.f64 x t) z (*.f64 t y)))
(fma.f64 (neg.f64 z) (neg.f64 x) (-.f64 (*.f64 (-.f64 t x) y) (*.f64 t z)))
(fma.f64 (neg.f64 z) (-.f64 t x) (*.f64 (-.f64 t x) y))
(fma.f64 (neg.f64 z) t (fma.f64 (-.f64 z y) x (*.f64 t y)))
(fma.f64 (neg.f64 x) (neg.f64 z) (-.f64 (*.f64 (-.f64 t x) y) (*.f64 t z)))
(fma.f64 (neg.f64 x) (-.f64 y z) (*.f64 t (-.f64 y z)))
(fma.f64 (neg.f64 x) y (fma.f64 (-.f64 x t) z (*.f64 t y)))
(fma.f64 (-.f64 z y) (neg.f64 t) (*.f64 (-.f64 z y) x))
(fma.f64 (-.f64 z y) x (*.f64 t (-.f64 y z)))
(fma.f64 (-.f64 x t) (neg.f64 y) (*.f64 (-.f64 x t) z))
(fma.f64 (-.f64 x t) z (*.f64 (-.f64 t x) y))
(fma.f64 (-.f64 t x) (neg.f64 z) (*.f64 (-.f64 t x) y))
(fma.f64 (-.f64 t x) y (*.f64 (-.f64 x t) z))
(fma.f64 t (neg.f64 z) (fma.f64 (-.f64 z y) x (*.f64 t y)))
(fma.f64 t (-.f64 y z) (*.f64 (-.f64 z y) x))
(fma.f64 t y (-.f64 (*.f64 (-.f64 x t) z) (*.f64 y x)))
(fma.f64 (-.f64 y z) (neg.f64 x) (*.f64 t (-.f64 y z)))
(fma.f64 (-.f64 y z) t (*.f64 (-.f64 z y) x))
(fma.f64 z (neg.f64 t) (fma.f64 (-.f64 z y) x (*.f64 t y)))
(fma.f64 z (-.f64 x t) (*.f64 (-.f64 t x) y))
(fma.f64 z x (-.f64 (*.f64 (-.f64 t x) y) (*.f64 t z)))
(fma.f64 y (neg.f64 x) (fma.f64 (-.f64 x t) z (*.f64 t y)))
(fma.f64 y (-.f64 t x) (*.f64 (-.f64 x t) z))
(fma.f64 y t (-.f64 (*.f64 (-.f64 x t) z) (*.f64 y x)))
(fma.f64 x (neg.f64 y) (fma.f64 (-.f64 x t) z (*.f64 t y)))
(fma.f64 x (-.f64 z y) (*.f64 t (-.f64 y z)))
(fma.f64 x z (-.f64 (*.f64 (-.f64 t x) y) (*.f64 t z)))
(-.f64 (neg.f64 (fma.f64 t z (*.f64 y x))) (neg.f64 (fma.f64 t y (*.f64 z x))))
(-.f64 (fma.f64 t y (*.f64 z x)) (fma.f64 t z (*.f64 y x)))
(-.f64 (-.f64 (*.f64 (-.f64 x t) z) (*.f64 y x)) (*.f64 (neg.f64 t) y))
(-.f64 (-.f64 (*.f64 (-.f64 t x) y) (*.f64 t z)) (*.f64 (neg.f64 z) x))
(-.f64 (fma.f64 (-.f64 x t) z (*.f64 t y)) (*.f64 y x))
(-.f64 (fma.f64 (-.f64 z y) x (*.f64 t y)) (*.f64 t z))
(-.f64 (*.f64 z x) (fma.f64 (-.f64 z y) t (*.f64 y x)))
(-.f64 (*.f64 (neg.f64 y) x) (-.f64 (*.f64 (-.f64 t x) z) (*.f64 t y)))
(-.f64 (*.f64 (neg.f64 t) z) (-.f64 (*.f64 (-.f64 x t) y) (*.f64 z x)))
(-.f64 (*.f64 t y) (fma.f64 (-.f64 t x) z (*.f64 y x)))
(-.f64 (*.f64 (-.f64 x t) z) (*.f64 (-.f64 x t) y))
(-.f64 (*.f64 (-.f64 z y) x) (*.f64 (-.f64 z y) t))
(-.f64 (*.f64 (-.f64 t x) y) (*.f64 (-.f64 t x) z))
(-.f64 (*.f64 t (-.f64 y z)) (*.f64 (-.f64 y z) x))
(+.f64 (neg.f64 (fma.f64 t z (*.f64 y x))) (fma.f64 t y (*.f64 z x)))
(+.f64 (fma.f64 t y (*.f64 z x)) (neg.f64 (fma.f64 t z (*.f64 y x))))
(+.f64 (-.f64 (*.f64 (-.f64 x t) z) (*.f64 y x)) (*.f64 t y))
(+.f64 (-.f64 (*.f64 (-.f64 t x) y) (*.f64 t z)) (*.f64 z x))
(+.f64 (fma.f64 (-.f64 x t) z (*.f64 t y)) (*.f64 (neg.f64 y) x))
(+.f64 (fma.f64 (-.f64 z y) x (*.f64 t y)) (*.f64 (neg.f64 t) z))
(+.f64 (*.f64 z x) (-.f64 (*.f64 (-.f64 t x) y) (*.f64 t z)))
(+.f64 (*.f64 (neg.f64 y) x) (fma.f64 (-.f64 x t) z (*.f64 t y)))
(+.f64 (*.f64 (neg.f64 t) z) (fma.f64 (-.f64 z y) x (*.f64 t y)))
(+.f64 (*.f64 t y) (-.f64 (*.f64 (-.f64 x t) z) (*.f64 y x)))
(+.f64 (*.f64 (-.f64 x t) z) (*.f64 (-.f64 t x) y))
(+.f64 (*.f64 (-.f64 z y) x) (*.f64 t (-.f64 y z)))
(+.f64 (*.f64 (-.f64 t x) y) (*.f64 (-.f64 x t) z))
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 (-.f64 z y) x))
(neg.f64 (-.f64 z y))
(-.f64 (neg.f64 z) (neg.f64 y))
(-.f64 y z)
(+.f64 (neg.f64 z) y)
(+.f64 y (neg.f64 z))
y
z
(/.f64 (-.f64 (*.f64 t #s(literal 2 binary64)) (*.f64 x #s(literal 2 binary64))) #s(literal 2 binary64))
(/.f64 (-.f64 (*.f64 t #s(literal 2 binary64)) (*.f64 #s(literal 2 binary64) x)) #s(literal 2 binary64))
(neg.f64 (-.f64 x t))
(fma.f64 (/.f64 (neg.f64 x) #s(literal 1 binary64)) #s(literal 1 binary64) t)
(fma.f64 (/.f64 (neg.f64 x) #s(literal 2 binary64)) #s(literal 2 binary64) t)
(fma.f64 #s(literal 2 binary64) (/.f64 (neg.f64 x) #s(literal 2 binary64)) t)
(fma.f64 #s(literal 1 binary64) (/.f64 (neg.f64 x) #s(literal 1 binary64)) t)
(fma.f64 #s(literal 1 binary64) (neg.f64 x) t)
(fma.f64 (neg.f64 x) #s(literal 1 binary64) t)
(-.f64 (neg.f64 x) (neg.f64 t))
(-.f64 t x)
(+.f64 (neg.f64 x) t)
(+.f64 t (neg.f64 x))
t

eval25.0ms (0.7%)

Memory
14.1MiB live, 59.7MiB allocated; 5ms collecting garbage
Compiler

Compiled 3 494 to 598 computations (82.9% saved)

prune6.0ms (0.2%)

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

7 alts after pruning (7 fresh and 0 done)

PrunedKeptTotal
New2327239
Fresh000
Picked101
Done000
Total2337240
Accuracy
100.0%
Counts
240 → 7
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(fma.f64 (-.f64 z y) (-.f64 x t) x)
97.3%
(fma.f64 (-.f64 z y) x (fma.f64 t (-.f64 y z) x))
98.8%
(fma.f64 (-.f64 t x) y (fma.f64 (-.f64 x t) z x))
60.4%
(+.f64 x (*.f64 (-.f64 y z) #s(approx (- t x) t)))
66.5%
#s(approx (+ x (* (- y z) (- t x))) (+.f64 x (*.f64 y (-.f64 t x))))
49.7%
#s(approx (+ x (* (- y z) (- t x))) (*.f64 y (-.f64 t x)))
44.1%
#s(approx (+ x (* (- y z) (- t x))) (*.f64 t (-.f64 y z)))
Compiler

Compiled 176 to 132 computations (25% saved)

series34.0ms (1%)

Memory
1.6MiB live, 47.9MiB allocated; 3ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
03721827
Stop Event
iter-limit
Counts
18 → 105
Calls
Call 1
Inputs
(fma.f64 (-.f64 z y) (-.f64 x t) x)
(-.f64 z y)
z
y
(-.f64 x t)
x
t
#s(approx (+ x (* (- y z) (- t x))) (*.f64 t (-.f64 y z)))
(*.f64 t (-.f64 y z))
(-.f64 y z)
#s(approx (+ x (* (- y z) (- t x))) (*.f64 y (-.f64 t x)))
(*.f64 y (-.f64 t x))
(-.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 (+ (* (- z y) (- x t)) x) (*.f64 #s(literal -1 binary64) (*.f64 t (-.f64 z y))))
#s(approx (+ (* (- z y) (- x t)) x) (fma.f64 #s(literal -1 binary64) (*.f64 t (-.f64 z y)) (*.f64 x (-.f64 (+.f64 #s(literal 1 binary64) z) y))))
#s(approx (- x t) (*.f64 #s(literal -1 binary64) t))
#s(approx (- x t) (-.f64 x t))
#s(approx x x)
#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 (* 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 (- t x) t)
#s(approx (- t x) (+.f64 t (*.f64 #s(literal -1 binary64) x)))
#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 (+ (* (- z y) (- x t)) x) (*.f64 x (-.f64 (+.f64 #s(literal 1 binary64) z) y)))
#s(approx (+ (* (- z y) (- x t)) x) (*.f64 x (-.f64 (+.f64 #s(literal 1 binary64) (+.f64 z (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 t (-.f64 z y)) x)))) y)))
#s(approx (- x t) (*.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 #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 (- 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 (- 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 (- 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 (+ (* (- z y) (- x t)) x) (*.f64 #s(literal -1 binary64) (*.f64 x (-.f64 (*.f64 #s(literal -1 binary64) (-.f64 z y)) #s(literal 1 binary64)))))
#s(approx (+ (* (- z y) (- x t)) x) (*.f64 #s(literal -1 binary64) (*.f64 x (-.f64 (fma.f64 #s(literal -1 binary64) (-.f64 z y) (/.f64 (*.f64 t (-.f64 z y)) x)) #s(literal 1 binary64)))))
#s(approx (- x t) (*.f64 #s(literal -1 binary64) (*.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 (- t x)) (*.f64 #s(literal -1 binary64) (*.f64 x (+.f64 y (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 t y) 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 (+ 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 (+ (* (- z y) (- x t)) x) (+.f64 x (*.f64 z (-.f64 x t))))
#s(approx (+ (* (- z y) (- x t)) x) (+.f64 x (fma.f64 #s(literal -1 binary64) (*.f64 y (-.f64 x t)) (*.f64 z (-.f64 x t)))))
#s(approx (- z y) z)
#s(approx (- z y) (+.f64 z (*.f64 #s(literal -1 binary64) y)))
#s(approx y y)
#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 (* 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 z) (*.f64 #s(literal -1 binary64) z))
#s(approx (- y z) (-.f64 y z))
#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 (+ (* (- z y) (- x t)) x) (*.f64 #s(literal -1 binary64) (*.f64 y (-.f64 x t))))
#s(approx (+ (* (- z y) (- x t)) x) (*.f64 y (fma.f64 #s(literal -1 binary64) (-.f64 x t) (+.f64 (/.f64 x y) (/.f64 (*.f64 z (-.f64 x t)) y)))))
#s(approx (- z y) (*.f64 #s(literal -1 binary64) y))
#s(approx (- z y) (*.f64 y (-.f64 (/.f64 z y) #s(literal 1 binary64))))
#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 (* t (- y z)) (*.f64 y (+.f64 t (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 t z) y)))))
#s(approx (- y z) (*.f64 y (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1 binary64) (/.f64 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 (+ (* (- z y) (- x t)) x) (*.f64 #s(literal -1 binary64) (*.f64 y (-.f64 (+.f64 x (*.f64 #s(literal -1 binary64) (/.f64 (+.f64 x (*.f64 z (-.f64 x t))) y))) t))))
#s(approx (- z y) (*.f64 #s(literal -1 binary64) (*.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 (* t (- y z)) (*.f64 #s(literal -1 binary64) (*.f64 y (fma.f64 #s(literal -1 binary64) t (/.f64 (*.f64 t z) y)))))
#s(approx (- y z) (*.f64 #s(literal -1 binary64) (*.f64 y (-.f64 (/.f64 z y) #s(literal 1 binary64)))))
#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 (+ (* (- z y) (- x t)) x) (+.f64 x (*.f64 #s(literal -1 binary64) (*.f64 y (-.f64 x t)))))
#s(approx (- z y) (-.f64 z y))
#s(approx (- y z) (+.f64 y (*.f64 #s(literal -1 binary64) z)))
#s(approx (+ (* (- z y) (- x t)) x) (*.f64 z (-.f64 x t)))
#s(approx (+ (* (- z y) (- x t)) x) (*.f64 z (-.f64 (+.f64 x (fma.f64 #s(literal -1 binary64) (/.f64 (*.f64 y (-.f64 x t)) z) (/.f64 x z))) t)))
#s(approx (- z y) (*.f64 z (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1 binary64) (/.f64 y 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 (* t (- y z)) (*.f64 z (fma.f64 #s(literal -1 binary64) t (/.f64 (*.f64 t y) z))))
#s(approx (- y z) (*.f64 z (-.f64 (/.f64 y z) #s(literal 1 binary64))))
#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 (+ (* (- z y) (- x t)) x) (*.f64 #s(literal -1 binary64) (*.f64 z (fma.f64 #s(literal -1 binary64) (-.f64 x t) (*.f64 #s(literal -1 binary64) (/.f64 (+.f64 x (*.f64 #s(literal -1 binary64) (*.f64 y (-.f64 x t)))) z))))))
#s(approx (- z y) (*.f64 #s(literal -1 binary64) (*.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 (* 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) (*.f64 #s(literal -1 binary64) (*.f64 z (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1 binary64) (/.f64 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 (+ (* (- z y) (- x t)) x) (+.f64 x (*.f64 x (-.f64 z y))))
#s(approx (+ (* (- z y) (- x t)) x) (+.f64 x (fma.f64 #s(literal -1 binary64) (*.f64 t (-.f64 z y)) (*.f64 x (-.f64 z y)))))
#s(approx (- x t) (+.f64 x (*.f64 #s(literal -1 binary64) t)))
#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 (- 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 (+ (* (- z y) (- x t)) x) (*.f64 t (fma.f64 #s(literal -1 binary64) (-.f64 z y) (+.f64 (/.f64 x t) (/.f64 (*.f64 x (-.f64 z y)) t)))))
#s(approx (- x t) (*.f64 t (-.f64 (/.f64 x t) #s(literal 1 binary64))))
#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 (- t x)) (*.f64 t (+.f64 y (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 x y) t)))))
#s(approx (- t x) (*.f64 t (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1 binary64) (/.f64 x 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 (+ (* (- z y) (- x t)) x) (*.f64 #s(literal -1 binary64) (*.f64 t (-.f64 (+.f64 z (*.f64 #s(literal -1 binary64) (/.f64 (+.f64 x (*.f64 x (-.f64 z y))) t))) y))))
#s(approx (- x t) (*.f64 #s(literal -1 binary64) (*.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 (- t x)) (*.f64 #s(literal -1 binary64) (*.f64 t (fma.f64 #s(literal -1 binary64) y (/.f64 (*.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 (+ 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
7.0ms
t
0
2.0ms
t
-inf
2.0ms
y
0
1.0ms
y
-inf
1.0ms
y
inf

rewrite94.0ms (2.7%)

Memory
-1.9MiB live, 141.4MiB allocated; 12ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
022113
033113
167110
2189110
3713110
41600110
52548110
62991110
73230110
04040107
Stop Event
iter-limit
node-limit
iter-limit
Counts
18 → 272
Calls
Call 1
Inputs
(fma.f64 (-.f64 z y) (-.f64 x t) x)
(-.f64 z y)
z
y
(-.f64 x t)
x
t
#s(approx (+ x (* (- y z) (- t x))) (*.f64 t (-.f64 y z)))
(*.f64 t (-.f64 y z))
(-.f64 y z)
#s(approx (+ x (* (- y z) (- t x))) (*.f64 y (-.f64 t x)))
(*.f64 y (-.f64 t x))
(-.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 (fma.f64 (*.f64 (-.f64 t x) (-.f64 y z)) #s(literal 2 binary64) (*.f64 x #s(literal 2 binary64))) #s(literal 2 binary64))
(/.f64 (fma.f64 (*.f64 (-.f64 t x) (-.f64 y z)) #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) x)) #s(literal 2 binary64))
(neg.f64 (-.f64 (*.f64 (-.f64 t x) (-.f64 z y)) x))
(fma.f64 (-.f64 #s(literal -1 binary64) z) (neg.f64 x) (-.f64 (*.f64 (-.f64 t x) y) (*.f64 t z)))
(fma.f64 (-.f64 y #s(literal 1 binary64)) (neg.f64 x) (fma.f64 (-.f64 y z) t (*.f64 x z)))
(fma.f64 (-.f64 #s(literal 1 binary64) y) x (fma.f64 (-.f64 y z) t (*.f64 x z)))
(fma.f64 (-.f64 z #s(literal -1 binary64)) x (-.f64 (*.f64 (-.f64 t x) y) (*.f64 t z)))
(fma.f64 (-.f64 #s(literal -1 binary64) (-.f64 z y)) (neg.f64 x) (*.f64 (-.f64 y z) t))
(fma.f64 (-.f64 #s(literal 1 binary64) (-.f64 y z)) x (*.f64 (-.f64 y z) t))
(fma.f64 (neg.f64 z) (neg.f64 x) (fma.f64 (-.f64 y z) t (-.f64 x (*.f64 x y))))
(fma.f64 (neg.f64 z) (-.f64 t x) (fma.f64 (-.f64 t x) y x))
(fma.f64 (neg.f64 z) t (fma.f64 (-.f64 t x) y (fma.f64 x z x)))
(fma.f64 (neg.f64 y) (neg.f64 t) (fma.f64 (-.f64 x t) z (-.f64 x (*.f64 x y))))
(fma.f64 (neg.f64 y) (-.f64 x t) (fma.f64 (-.f64 x t) z x))
(fma.f64 (neg.f64 y) x (fma.f64 (-.f64 y z) t (fma.f64 x z x)))
(fma.f64 (neg.f64 t) (neg.f64 y) (fma.f64 (-.f64 x t) z (-.f64 x (*.f64 x y))))
(fma.f64 (neg.f64 t) (-.f64 z y) (fma.f64 x (-.f64 z y) x))
(fma.f64 (neg.f64 t) z (fma.f64 (-.f64 t x) y (fma.f64 x z x)))
(fma.f64 (neg.f64 x) (-.f64 y #s(literal 1 binary64)) (fma.f64 (-.f64 y z) t (*.f64 x z)))
(fma.f64 (neg.f64 x) (-.f64 #s(literal -1 binary64) (-.f64 z y)) (*.f64 (-.f64 y z) t))
(fma.f64 (neg.f64 x) (neg.f64 z) (fma.f64 (-.f64 y z) t (-.f64 x (*.f64 x y))))
(fma.f64 (neg.f64 x) (-.f64 y z) (fma.f64 (-.f64 y z) t x))
(fma.f64 (neg.f64 x) y (fma.f64 (-.f64 y z) t (fma.f64 x z x)))
(fma.f64 (-.f64 t x) (neg.f64 z) (fma.f64 (-.f64 t x) y x))
(fma.f64 (-.f64 t x) (-.f64 y z) x)
(fma.f64 (-.f64 t x) y (fma.f64 (-.f64 x t) z x))
(fma.f64 (-.f64 y z) (neg.f64 x) (fma.f64 (-.f64 y z) t x))
(fma.f64 (-.f64 y z) (-.f64 t x) x)
(fma.f64 (-.f64 y z) t (fma.f64 x (-.f64 z y) x))
(fma.f64 (-.f64 x t) (neg.f64 y) (fma.f64 (-.f64 x t) z x))
(fma.f64 (-.f64 x t) (-.f64 z y) x)
(fma.f64 (-.f64 x t) z (fma.f64 (-.f64 t x) y x))
(fma.f64 t (neg.f64 z) (fma.f64 (-.f64 t x) y (fma.f64 x z x)))
(fma.f64 t (-.f64 y z) (fma.f64 x (-.f64 z y) x))
(fma.f64 t y (fma.f64 (-.f64 x t) z (-.f64 x (*.f64 x y))))
(fma.f64 x (-.f64 #s(literal 1 binary64) y) (fma.f64 (-.f64 y z) t (*.f64 x z)))
(fma.f64 x (-.f64 z #s(literal -1 binary64)) (-.f64 (*.f64 (-.f64 t x) y) (*.f64 t z)))
(fma.f64 x (-.f64 #s(literal 1 binary64) (-.f64 y z)) (*.f64 (-.f64 y z) t))
(fma.f64 x (neg.f64 y) (fma.f64 (-.f64 y z) t (fma.f64 x z x)))
(fma.f64 x (-.f64 z y) (fma.f64 (-.f64 y z) t x))
(fma.f64 x z (fma.f64 (-.f64 y z) t (-.f64 x (*.f64 x y))))
(fma.f64 (-.f64 z y) (neg.f64 t) (fma.f64 x (-.f64 z y) x))
(fma.f64 (-.f64 z y) (-.f64 x t) x)
(fma.f64 (-.f64 z y) x (fma.f64 (-.f64 y z) t x))
(fma.f64 y (neg.f64 x) (fma.f64 (-.f64 y z) t (fma.f64 x z x)))
(fma.f64 y (-.f64 t x) (fma.f64 (-.f64 x t) z x))
(fma.f64 y t (fma.f64 (-.f64 x t) z (-.f64 x (*.f64 x y))))
(fma.f64 z (neg.f64 t) (fma.f64 (-.f64 t x) y (fma.f64 x z x)))
(fma.f64 z (-.f64 x t) (fma.f64 (-.f64 t x) y x))
(fma.f64 z x (fma.f64 (-.f64 y z) t (-.f64 x (*.f64 x y))))
(-.f64 (-.f64 x (fma.f64 t z (*.f64 x y))) (neg.f64 (fma.f64 t y (*.f64 x z))))
(-.f64 (fma.f64 t y (fma.f64 x z x)) (fma.f64 t z (*.f64 x y)))
(-.f64 (fma.f64 t y (*.f64 x z)) (fma.f64 t z (-.f64 (*.f64 x y) x)))
(-.f64 (neg.f64 (fma.f64 t z (*.f64 x y))) (neg.f64 (fma.f64 t y (fma.f64 x z x))))
(-.f64 (-.f64 x (*.f64 t z)) (-.f64 (*.f64 (-.f64 y z) x) (*.f64 t y)))
(-.f64 (fma.f64 (-.f64 y z) t (*.f64 x z)) (-.f64 (*.f64 x y) x))
(-.f64 (fma.f64 (-.f64 t x) y (*.f64 x z)) (-.f64 (*.f64 t z) x))
(-.f64 (fma.f64 (-.f64 t x) y (fma.f64 x z x)) (*.f64 t z))
(-.f64 (-.f64 (*.f64 (-.f64 t x) y) (*.f64 t z)) (*.f64 (-.f64 #s(literal -1 binary64) z) x))
(-.f64 (fma.f64 (-.f64 y z) t (fma.f64 x z x)) (*.f64 x y))
(-.f64 (fma.f64 (-.f64 y z) t (-.f64 x (*.f64 x y))) (*.f64 (neg.f64 z) x))
(-.f64 (fma.f64 (-.f64 x t) z (-.f64 x (*.f64 x y))) (*.f64 (neg.f64 y) t))
(-.f64 (fma.f64 x z x) (fma.f64 (-.f64 x t) y (*.f64 t z)))
(-.f64 (fma.f64 x (-.f64 z y) x) (*.f64 t (-.f64 z y)))
(-.f64 (-.f64 (*.f64 (-.f64 x t) z) (*.f64 x y)) (neg.f64 (fma.f64 t y x)))
(-.f64 (fma.f64 t y x) (fma.f64 (-.f64 t x) z (*.f64 x y)))
(-.f64 (fma.f64 (-.f64 y z) t x) (*.f64 (-.f64 y z) x))
(-.f64 (-.f64 x (*.f64 x y)) (-.f64 (*.f64 (-.f64 t x) z) (*.f64 t y)))
(-.f64 (fma.f64 (-.f64 x t) z x) (*.f64 (-.f64 x t) y))
(-.f64 (*.f64 x z) (fma.f64 (-.f64 x t) y (-.f64 (*.f64 t z) x)))
(-.f64 (*.f64 (neg.f64 z) t) (fma.f64 (-.f64 #s(literal -1 binary64) z) x (*.f64 (-.f64 x t) y)))
(-.f64 (*.f64 (neg.f64 y) x) (fma.f64 (-.f64 #s(literal -1 binary64) z) x (*.f64 t (-.f64 z y))))
(-.f64 (*.f64 (-.f64 x t) z) (-.f64 (*.f64 (-.f64 x t) y) x))
(-.f64 (*.f64 t y) (fma.f64 (-.f64 t x) z (-.f64 (*.f64 x y) x)))
(-.f64 (*.f64 x (-.f64 z y)) (-.f64 (*.f64 t (-.f64 z y)) x))
(-.f64 (*.f64 (-.f64 t x) (-.f64 y z)) (*.f64 #s(literal 1 binary64) (neg.f64 x)))
(-.f64 (*.f64 (-.f64 t x) (-.f64 y z)) (*.f64 x #s(literal -1 binary64)))
(-.f64 (*.f64 (-.f64 t x) (-.f64 y z)) (*.f64 (neg.f64 x) #s(literal 1 binary64)))
(-.f64 (*.f64 (-.f64 t x) (-.f64 y z)) (*.f64 #s(literal -1 binary64) x))
(-.f64 (*.f64 (-.f64 t x) (-.f64 y z)) (neg.f64 x))
(-.f64 (fma.f64 (-.f64 t x) y x) (*.f64 (-.f64 t x) z))
(-.f64 (*.f64 (-.f64 t x) y) (-.f64 (*.f64 (-.f64 t x) z) x))
(-.f64 (*.f64 (-.f64 y z) t) (-.f64 (*.f64 (-.f64 y z) x) x))
(-.f64 x (*.f64 (-.f64 t x) (-.f64 z y)))
(+.f64 (-.f64 x (fma.f64 t z (*.f64 x y))) (fma.f64 t y (*.f64 x z)))
(+.f64 (fma.f64 t y (fma.f64 x z x)) (neg.f64 (fma.f64 t z (*.f64 x y))))
(+.f64 (fma.f64 t y (*.f64 x z)) (-.f64 x (fma.f64 t z (*.f64 x y))))
(+.f64 (neg.f64 (fma.f64 t z (*.f64 x y))) (fma.f64 t y (fma.f64 x z x)))
(+.f64 (-.f64 x (*.f64 t z)) (fma.f64 (-.f64 t x) y (*.f64 x z)))
(+.f64 (fma.f64 (-.f64 y z) t (*.f64 x z)) (-.f64 x (*.f64 x y)))
(+.f64 (fma.f64 (-.f64 t x) y (*.f64 x z)) (-.f64 x (*.f64 t z)))
(+.f64 (fma.f64 (-.f64 t x) y (fma.f64 x z x)) (*.f64 (neg.f64 z) t))
(+.f64 (-.f64 (*.f64 (-.f64 t x) y) (*.f64 t z)) (fma.f64 x z x))
(+.f64 (fma.f64 (-.f64 y z) t (fma.f64 x z x)) (*.f64 (neg.f64 y) x))
(+.f64 (fma.f64 (-.f64 y z) t (-.f64 x (*.f64 x y))) (*.f64 x z))
(+.f64 (fma.f64 (-.f64 x t) z (-.f64 x (*.f64 x y))) (*.f64 t y))
(+.f64 (fma.f64 x z x) (-.f64 (*.f64 (-.f64 t x) y) (*.f64 t z)))
(+.f64 (fma.f64 x (-.f64 z y) x) (*.f64 (-.f64 y z) t))
(+.f64 (-.f64 (*.f64 (-.f64 x t) z) (*.f64 x y)) (fma.f64 t y x))
(+.f64 (fma.f64 t y x) (-.f64 (*.f64 (-.f64 x t) z) (*.f64 x y)))
(+.f64 (fma.f64 (-.f64 y z) t x) (*.f64 x (-.f64 z y)))
(+.f64 (-.f64 x (*.f64 x y)) (fma.f64 (-.f64 y z) t (*.f64 x z)))
(+.f64 (fma.f64 (-.f64 x t) z x) (*.f64 (-.f64 t x) y))
(+.f64 (*.f64 x z) (fma.f64 (-.f64 y z) t (-.f64 x (*.f64 x y))))
(+.f64 (*.f64 (neg.f64 z) t) (fma.f64 (-.f64 t x) y (fma.f64 x z x)))
(+.f64 (*.f64 (neg.f64 y) x) (fma.f64 (-.f64 y z) t (fma.f64 x z x)))
(+.f64 (*.f64 (-.f64 x t) z) (fma.f64 (-.f64 t x) y x))
(+.f64 (*.f64 t y) (fma.f64 (-.f64 x t) z (-.f64 x (*.f64 x y))))
(+.f64 (*.f64 x (-.f64 z y)) (fma.f64 (-.f64 y z) t x))
(+.f64 (*.f64 (-.f64 t x) (-.f64 y z)) x)
(+.f64 (fma.f64 (-.f64 t x) y x) (*.f64 (-.f64 x t) z))
(+.f64 (*.f64 (-.f64 t x) y) (fma.f64 (-.f64 x t) z x))
(+.f64 (*.f64 (-.f64 y z) t) (fma.f64 x (-.f64 z y) x))
(+.f64 x (*.f64 (-.f64 t x) (-.f64 y z)))
(neg.f64 (-.f64 y z))
(-.f64 (neg.f64 y) (neg.f64 z))
(-.f64 z y)
(+.f64 (neg.f64 y) z)
(+.f64 z (neg.f64 y))
z
y
(/.f64 (fma.f64 (neg.f64 t) #s(literal 2 binary64) (*.f64 x #s(literal 2 binary64))) #s(literal 2 binary64))
(/.f64 (fma.f64 (neg.f64 t) #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) x)) #s(literal 2 binary64))
(neg.f64 (-.f64 t x))
(-.f64 (neg.f64 t) (*.f64 #s(literal 1 binary64) (neg.f64 x)))
(-.f64 (neg.f64 t) (*.f64 x #s(literal -1 binary64)))
(-.f64 (neg.f64 t) (*.f64 (neg.f64 x) #s(literal 1 binary64)))
(-.f64 (neg.f64 t) (*.f64 #s(literal -1 binary64) x))
(-.f64 (neg.f64 t) (neg.f64 x))
(-.f64 x t)
(+.f64 (neg.f64 t) x)
(+.f64 x (neg.f64 t))
x
t
#s(approx (+ x (* (- y z) (- t x))) (*.f64 (-.f64 y z) t))
(*.f64 (neg.f64 t) (-.f64 z y))
(*.f64 (-.f64 y z) t)
(*.f64 t (-.f64 y z))
(*.f64 (-.f64 z y) (neg.f64 t))
(neg.f64 (*.f64 t (-.f64 z y)))
(fma.f64 (neg.f64 z) t (*.f64 t y))
(fma.f64 (neg.f64 y) (neg.f64 t) (*.f64 (neg.f64 z) t))
(fma.f64 (neg.f64 t) (neg.f64 y) (*.f64 (neg.f64 z) t))
(fma.f64 (neg.f64 t) z (*.f64 t y))
(fma.f64 t (neg.f64 z) (*.f64 t y))
(fma.f64 t y (*.f64 (neg.f64 z) t))
(fma.f64 y t (*.f64 (neg.f64 z) t))
(fma.f64 z (neg.f64 t) (*.f64 t y))
(-.f64 (*.f64 (neg.f64 z) t) (*.f64 (neg.f64 y) t))
(-.f64 (*.f64 t y) (*.f64 t z))
(+.f64 (*.f64 (neg.f64 z) t) (*.f64 t y))
(+.f64 (*.f64 t y) (*.f64 (neg.f64 z) t))
(neg.f64 (-.f64 z y))
(-.f64 (neg.f64 z) (neg.f64 y))
(-.f64 y z)
(+.f64 (neg.f64 z) y)
(+.f64 y (neg.f64 z))
#s(approx (+ x (* (- y z) (- t x))) (*.f64 (-.f64 t x) y))
(*.f64 (neg.f64 y) (-.f64 x t))
(*.f64 (-.f64 t x) y)
(*.f64 (-.f64 x t) (neg.f64 y))
(*.f64 y (-.f64 t x))
(neg.f64 (*.f64 (-.f64 x t) y))
(fma.f64 (neg.f64 y) (neg.f64 t) (*.f64 (neg.f64 y) x))
(fma.f64 (neg.f64 y) x (*.f64 t y))
(fma.f64 (neg.f64 t) (neg.f64 y) (*.f64 (neg.f64 y) x))
(fma.f64 (neg.f64 x) y (*.f64 t y))
(fma.f64 t y (*.f64 (neg.f64 y) x))
(fma.f64 x (neg.f64 y) (*.f64 t y))
(fma.f64 y (neg.f64 x) (*.f64 t y))
(fma.f64 y t (*.f64 (neg.f64 y) x))
(-.f64 (*.f64 (neg.f64 y) x) (*.f64 (neg.f64 y) t))
(-.f64 (*.f64 t y) (*.f64 x y))
(+.f64 (*.f64 (neg.f64 y) x) (*.f64 t y))
(+.f64 (*.f64 t y) (*.f64 (neg.f64 y) x))
(/.f64 (-.f64 (*.f64 t #s(literal 2 binary64)) (*.f64 x #s(literal 2 binary64))) #s(literal 2 binary64))
(/.f64 (-.f64 (*.f64 t #s(literal 2 binary64)) (*.f64 #s(literal 2 binary64) x)) #s(literal 2 binary64))
(neg.f64 (-.f64 x t))
(-.f64 (neg.f64 x) (neg.f64 t))
(-.f64 t x)
(+.f64 (neg.f64 x) t)
(+.f64 t (*.f64 #s(literal 1 binary64) (neg.f64 x)))
(+.f64 t (*.f64 x #s(literal -1 binary64)))
(+.f64 t (*.f64 (neg.f64 x) #s(literal 1 binary64)))
(+.f64 t (*.f64 #s(literal -1 binary64) x))
(+.f64 t (neg.f64 x))
#s(approx (+ x (* (- y z) (- t x))) (fma.f64 (-.f64 t x) y x))
(/.f64 (fma.f64 (*.f64 (-.f64 t x) y) #s(literal 2 binary64) (*.f64 x #s(literal 2 binary64))) #s(literal 2 binary64))
(/.f64 (fma.f64 (*.f64 (-.f64 t x) y) #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) x)) #s(literal 2 binary64))
(neg.f64 (-.f64 (*.f64 (-.f64 x t) y) x))
(fma.f64 (-.f64 y #s(literal 1 binary64)) (neg.f64 x) (*.f64 t y))
(fma.f64 (-.f64 #s(literal 1 binary64) y) x (*.f64 t y))
(fma.f64 (neg.f64 y) (neg.f64 t) (-.f64 x (*.f64 x y)))
(fma.f64 (neg.f64 y) (-.f64 x t) x)
(fma.f64 (neg.f64 y) x (fma.f64 t y x))
(fma.f64 (neg.f64 t) (neg.f64 y) (-.f64 x (*.f64 x y)))
(fma.f64 (neg.f64 x) (-.f64 y #s(literal 1 binary64)) (*.f64 t y))
(fma.f64 (neg.f64 x) y (fma.f64 t y x))
(fma.f64 (-.f64 t x) y x)
(fma.f64 (-.f64 x t) (neg.f64 y) x)
(fma.f64 t y (-.f64 x (*.f64 x y)))
(fma.f64 x (-.f64 #s(literal 1 binary64) y) (*.f64 t y))
(fma.f64 x (neg.f64 y) (fma.f64 t y x))
(fma.f64 y (neg.f64 x) (fma.f64 t y x))
(fma.f64 y (-.f64 t x) x)
(fma.f64 y t (-.f64 x (*.f64 x y)))
(-.f64 (fma.f64 t y x) (*.f64 x y))
(-.f64 (-.f64 x (*.f64 x y)) (*.f64 (neg.f64 y) t))
(-.f64 (*.f64 (neg.f64 y) x) (neg.f64 (fma.f64 t y x)))
(-.f64 (*.f64 t y) (-.f64 (*.f64 x y) x))
(-.f64 (*.f64 (-.f64 t x) y) (*.f64 #s(literal 1 binary64) (neg.f64 x)))
(-.f64 (*.f64 (-.f64 t x) y) (*.f64 x #s(literal -1 binary64)))
(-.f64 (*.f64 (-.f64 t x) y) (*.f64 (neg.f64 x) #s(literal 1 binary64)))
(-.f64 (*.f64 (-.f64 t x) y) (*.f64 #s(literal -1 binary64) x))
(-.f64 (*.f64 (-.f64 t x) y) (neg.f64 x))
(-.f64 x (*.f64 (-.f64 x t) y))
(+.f64 (fma.f64 t y x) (*.f64 (neg.f64 y) x))
(+.f64 (-.f64 x (*.f64 x y)) (*.f64 t y))
(+.f64 (*.f64 (neg.f64 y) x) (fma.f64 t y x))
(+.f64 (*.f64 t y) (-.f64 x (*.f64 x y)))
(+.f64 (*.f64 (-.f64 t x) y) x)
(+.f64 x (*.f64 (-.f64 t x) y))
(/.f64 (fma.f64 (*.f64 #s(approx (- t x) t) (-.f64 y z)) #s(literal 2 binary64) (*.f64 x #s(literal 2 binary64))) #s(literal 2 binary64))
(/.f64 (fma.f64 (*.f64 #s(approx (- t x) t) (-.f64 y z)) #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) x)) #s(literal 2 binary64))
(neg.f64 (-.f64 (*.f64 #s(approx (- t x) t) (-.f64 z y)) x))
(fma.f64 (neg.f64 #s(approx (- t x) t)) (neg.f64 y) (-.f64 x (*.f64 #s(approx (- t x) t) z)))
(fma.f64 (neg.f64 #s(approx (- t x) t)) (-.f64 z y) x)
(fma.f64 (neg.f64 #s(approx (- t x) t)) z (fma.f64 #s(approx (- t x) t) y x))
(fma.f64 (neg.f64 z) #s(approx (- t x) t) (fma.f64 #s(approx (- t x) t) y x))
(fma.f64 (neg.f64 y) (neg.f64 #s(approx (- t x) t)) (-.f64 x (*.f64 #s(approx (- t x) t) z)))
(fma.f64 #s(approx (- t x) t) (neg.f64 z) (fma.f64 #s(approx (- t x) t) y x))
(fma.f64 #s(approx (- t x) t) (-.f64 y z) x)
(fma.f64 #s(approx (- t x) t) y (-.f64 x (*.f64 #s(approx (- t x) t) z)))
(fma.f64 (-.f64 y z) #s(approx (- t x) t) x)
(fma.f64 (-.f64 z y) (neg.f64 #s(approx (- t x) t)) x)
(fma.f64 y #s(approx (- t x) t) (-.f64 x (*.f64 #s(approx (- t x) t) z)))
(fma.f64 z (neg.f64 #s(approx (- t x) t)) (fma.f64 #s(approx (- t x) t) y x))
(-.f64 (fma.f64 #s(approx (- t x) t) y x) (*.f64 #s(approx (- t x) t) z))
(-.f64 (-.f64 x (*.f64 #s(approx (- t x) t) z)) (*.f64 (neg.f64 y) #s(approx (- t x) t)))
(-.f64 (*.f64 (neg.f64 z) #s(approx (- t x) t)) (neg.f64 (fma.f64 #s(approx (- t x) t) y x)))
(-.f64 (*.f64 #s(approx (- t x) t) y) (-.f64 (*.f64 #s(approx (- t x) t) z) x))
(-.f64 (*.f64 #s(approx (- t x) t) (-.f64 y z)) (*.f64 #s(literal 1 binary64) (neg.f64 x)))
(-.f64 (*.f64 #s(approx (- t x) t) (-.f64 y z)) (*.f64 x #s(literal -1 binary64)))
(-.f64 (*.f64 #s(approx (- t x) t) (-.f64 y z)) (*.f64 (neg.f64 x) #s(literal 1 binary64)))
(-.f64 (*.f64 #s(approx (- t x) t) (-.f64 y z)) (*.f64 #s(literal -1 binary64) x))
(-.f64 (*.f64 #s(approx (- t x) t) (-.f64 y z)) (neg.f64 x))
(-.f64 x (*.f64 #s(approx (- t x) t) (-.f64 z y)))
(+.f64 (fma.f64 #s(approx (- t x) t) y x) (*.f64 (neg.f64 z) #s(approx (- t x) t)))
(+.f64 (-.f64 x (*.f64 #s(approx (- t x) t) z)) (*.f64 #s(approx (- t x) t) y))
(+.f64 (*.f64 (neg.f64 z) #s(approx (- t x) t)) (fma.f64 #s(approx (- t x) t) y x))
(+.f64 (*.f64 #s(approx (- t x) t) y) (-.f64 x (*.f64 #s(approx (- t x) t) z)))
(+.f64 (*.f64 #s(approx (- t x) t) (-.f64 y z)) x)
(+.f64 x (*.f64 #s(approx (- t x) t) (-.f64 y z)))
(*.f64 (neg.f64 #s(approx (- t x) t)) (-.f64 z y))
(*.f64 #s(approx (- t x) t) (-.f64 y z))
(*.f64 (-.f64 y z) #s(approx (- t x) t))
(*.f64 (-.f64 z y) (neg.f64 #s(approx (- t x) t)))
(neg.f64 (*.f64 #s(approx (- t x) t) (-.f64 z y)))
(fma.f64 (neg.f64 #s(approx (- t x) t)) (neg.f64 y) (*.f64 (neg.f64 z) #s(approx (- t x) t)))
(fma.f64 (neg.f64 #s(approx (- t x) t)) z (*.f64 #s(approx (- t x) t) y))
(fma.f64 (neg.f64 z) #s(approx (- t x) t) (*.f64 #s(approx (- t x) t) y))
(fma.f64 (neg.f64 y) (neg.f64 #s(approx (- t x) t)) (*.f64 (neg.f64 z) #s(approx (- t x) t)))
(fma.f64 #s(approx (- t x) t) (neg.f64 z) (*.f64 #s(approx (- t x) t) y))
(fma.f64 #s(approx (- t x) t) y (*.f64 (neg.f64 z) #s(approx (- t x) t)))
(fma.f64 y #s(approx (- t x) t) (*.f64 (neg.f64 z) #s(approx (- t x) t)))
(fma.f64 z (neg.f64 #s(approx (- t x) t)) (*.f64 #s(approx (- t x) t) y))
(-.f64 (*.f64 (neg.f64 z) #s(approx (- t x) t)) (*.f64 (neg.f64 y) #s(approx (- t x) t)))
(-.f64 (*.f64 #s(approx (- t x) t) y) (*.f64 #s(approx (- t x) t) z))
(+.f64 (*.f64 (neg.f64 z) #s(approx (- t x) t)) (*.f64 #s(approx (- t x) t) y))
(+.f64 (*.f64 #s(approx (- t x) t) y) (*.f64 (neg.f64 z) #s(approx (- t x) t)))
#s(approx (- t x) t)
(neg.f64 (neg.f64 #s(approx (- t x) t)))

eval73.0ms (2.1%)

Memory
16.2MiB live, 115.5MiB allocated; 66ms collecting garbage
Compiler

Compiled 7 366 to 1 046 computations (85.8% saved)

prune15.0ms (0.4%)

Memory
-13.4MiB live, 34.8MiB allocated; 9ms collecting garbage
Pruning

12 alts after pruning (10 fresh and 2 done)

PrunedKeptTotal
New41010420
Fresh202
Picked325
Done000
Total41512427
Accuracy
100.0%
Counts
427 → 12
Alt Table
Click to see full alt table
StatusAccuracyProgram
60.4%
(fma.f64 (-.f64 y z) #s(approx (- t x) t) x)
53.5%
(fma.f64 #s(approx (- z y) z) (-.f64 x t) x)
60.3%
#s(approx (+ (* (- z y) (- x t)) x) (+.f64 x (*.f64 x (-.f64 z y))))
37.1%
#s(approx (+ (* (- z y) (- x t)) x) (*.f64 z (-.f64 x t)))
66.5%
#s(approx (+ x (* (- y z) (- t x))) (fma.f64 (-.f64 t x) y x))
44.1%
#s(approx (+ x (* (- y z) (- t x))) (fma.f64 y t (*.f64 (neg.f64 z) t)))
47.4%
#s(approx (+ x (* (- y z) (- t x))) (-.f64 (*.f64 t y) (*.f64 x y)))
42.5%
#s(approx (+ x (* (- y z) (- t x))) (-.f64 (*.f64 t y) (*.f64 t z)))
41.7%
#s(approx (+ x (* (- y z) (- t x))) (+.f64 x #s(approx (* y (- t x)) (*.f64 t y))))
49.7%
#s(approx (+ x (* (- y z) (- t x))) (*.f64 y (-.f64 t x)))
44.1%
#s(approx (+ x (* (- y z) (- t x))) (*.f64 t (-.f64 y z)))
25.6%
#s(approx (+ x (* (- y z) (- t x))) #s(approx (* y (- t x)) (*.f64 t y)))
Compiler

Compiled 348 to 244 computations (29.9% saved)

series23.0ms (0.7%)

Memory
9.9MiB live, 56.2MiB allocated; 3ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02421055
Stop Event
iter-limit
Counts
18 → 64
Calls
Call 1
Inputs
#s(approx (+ x (* (- y z) (- t 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)))
(fma.f64 (-.f64 y z) #s(approx (- t x) t) x)
(-.f64 y z)
z
#s(approx (- t x) t)
#s(approx (+ x (* (- y z) (- t x))) (-.f64 (*.f64 t y) (*.f64 t z)))
(-.f64 (*.f64 t y) (*.f64 t z))
(*.f64 t z)
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 (+ (* (- 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 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 (+ (* (- 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 (+ 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 (+ (* (- 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 (+ 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 (+ (* (- 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 (- y z) (*.f64 #s(literal -1 binary64) z))
#s(approx (- y z) (-.f64 y z))
#s(approx (- (* t y) (* t z)) (*.f64 #s(literal -1 binary64) (*.f64 t z)))
#s(approx (- (* t y) (* t z)) (-.f64 (*.f64 t y) (*.f64 t z)))
#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 (+ (* (- t x) y) x) (*.f64 y (-.f64 (+.f64 t (/.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) (* t z)) (*.f64 y (+.f64 t (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 t 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 (+ (* (- 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 (- y z) (*.f64 #s(literal -1 binary64) (*.f64 y (-.f64 (/.f64 z y) #s(literal 1 binary64)))))
#s(approx (- (* t y) (* t z)) (*.f64 #s(literal -1 binary64) (*.f64 y (fma.f64 #s(literal -1 binary64) t (/.f64 (*.f64 t z) y)))))
#s(approx (- y z) (+.f64 y (*.f64 #s(literal -1 binary64) z)))
#s(approx z z)
#s(approx (- (* t y) (* t z)) (fma.f64 #s(literal -1 binary64) (*.f64 t z) (*.f64 t y)))
#s(approx (* t z) (*.f64 t z))
#s(approx (+ x (* (- y z) (- t x))) (*.f64 #s(literal -1 binary64) (*.f64 z (-.f64 t x))))
#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) (*.f64 z (-.f64 (/.f64 y z) #s(literal 1 binary64))))
#s(approx (- (* t y) (* t z)) (*.f64 z (-.f64 (/.f64 (*.f64 t y) z) t)))
#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) (*.f64 #s(literal -1 binary64) (*.f64 z (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1 binary64) (/.f64 y z))))))
#s(approx (- (* t y) (* 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 (+ 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) 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 (+ 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 (+ (* (- 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 (+ 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 (+ (* (- 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 (- (* t y) (* t z)) (*.f64 #s(literal -1 binary64) (*.f64 t (-.f64 (*.f64 #s(literal -1 binary64) y) (*.f64 #s(literal -1 binary64) z)))))
Calls

12 calls:

TimeVariablePoint
3.0ms
t
0
2.0ms
z
0
1.0ms
t
-inf
1.0ms
y
-inf
1.0ms
t
inf

rewrite110.0ms (3.1%)

Memory
-6.9MiB live, 135.0MiB allocated; 30ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
023137
033133
167133
2175133
3565133
41394133
52331133
62951133
73195133
83371133
04062129
Stop Event
iter-limit
node-limit
iter-limit
Counts
18 → 122
Calls
Call 1
Inputs
#s(approx (+ x (* (- y z) (- t 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)))
(fma.f64 (-.f64 y z) #s(approx (- t x) t) x)
(-.f64 y z)
z
#s(approx (- t x) t)
#s(approx (+ x (* (- y z) (- t x))) (-.f64 (*.f64 t y) (*.f64 t z)))
(-.f64 (*.f64 t y) (*.f64 t z))
(*.f64 t z)
Outputs
#s(approx (+ x (* (- y z) (- t x))) (fma.f64 (-.f64 t x) y x))
(/.f64 (-.f64 (*.f64 (*.f64 (-.f64 t x) y) #s(literal 2 binary64)) (*.f64 (neg.f64 x) #s(literal 2 binary64))) #s(literal 2 binary64))
(/.f64 (-.f64 (*.f64 (*.f64 (-.f64 t x) y) #s(literal 2 binary64)) (*.f64 #s(literal 2 binary64) (neg.f64 x))) #s(literal 2 binary64))
(neg.f64 (-.f64 (*.f64 (-.f64 x t) y) x))
(fma.f64 (-.f64 y #s(literal 1 binary64)) (neg.f64 x) (*.f64 t y))
(fma.f64 (-.f64 #s(literal 1 binary64) y) x (*.f64 t y))
(fma.f64 (neg.f64 y) (neg.f64 t) (-.f64 x (*.f64 y x)))
(fma.f64 (neg.f64 y) (-.f64 x t) x)
(fma.f64 (neg.f64 y) x (fma.f64 t y x))
(fma.f64 (neg.f64 t) (neg.f64 y) (-.f64 x (*.f64 y x)))
(fma.f64 (-.f64 x t) (neg.f64 y) x)
(fma.f64 (neg.f64 x) (-.f64 y #s(literal 1 binary64)) (*.f64 t y))
(fma.f64 (neg.f64 x) y (fma.f64 t y x))
(fma.f64 (-.f64 t x) y x)
(fma.f64 t y (-.f64 x (*.f64 y x)))
(fma.f64 y (neg.f64 x) (fma.f64 t y x))
(fma.f64 y (-.f64 t x) x)
(fma.f64 y t (-.f64 x (*.f64 y x)))
(fma.f64 x (-.f64 #s(literal 1 binary64) y) (*.f64 t y))
(fma.f64 x (neg.f64 y) (fma.f64 t y x))
(-.f64 (fma.f64 t y x) (*.f64 y x))
(-.f64 (-.f64 x (*.f64 y x)) (*.f64 (neg.f64 y) t))
(-.f64 (*.f64 (neg.f64 y) x) (neg.f64 (fma.f64 t y x)))
(-.f64 (*.f64 (-.f64 t x) y) (neg.f64 x))
(-.f64 (*.f64 t y) (-.f64 (*.f64 y x) x))
(-.f64 x (*.f64 (-.f64 x t) y))
(+.f64 (fma.f64 t y x) (*.f64 (neg.f64 y) x))
(+.f64 (-.f64 x (*.f64 y x)) (*.f64 t y))
(+.f64 (*.f64 (neg.f64 y) x) (fma.f64 t y x))
(+.f64 (*.f64 (-.f64 t x) y) x)
(+.f64 (*.f64 t y) (-.f64 x (*.f64 y x)))
(+.f64 x (*.f64 (-.f64 t x) y))
(/.f64 (-.f64 (*.f64 t #s(literal 2 binary64)) (*.f64 x #s(literal 2 binary64))) #s(literal 2 binary64))
(/.f64 (-.f64 (*.f64 t #s(literal 2 binary64)) (*.f64 #s(literal 2 binary64) x)) #s(literal 2 binary64))
(neg.f64 (-.f64 x t))
(fma.f64 (/.f64 (neg.f64 x) #s(literal 1 binary64)) #s(literal 1 binary64) t)
(fma.f64 (/.f64 (neg.f64 x) #s(literal 2 binary64)) #s(literal 2 binary64) t)
(fma.f64 #s(literal 2 binary64) (/.f64 (neg.f64 x) #s(literal 2 binary64)) t)
(fma.f64 #s(literal 1 binary64) (/.f64 (neg.f64 x) #s(literal 1 binary64)) t)
(fma.f64 #s(literal 1 binary64) (neg.f64 x) t)
(fma.f64 (neg.f64 x) #s(literal 1 binary64) t)
(-.f64 (neg.f64 x) (neg.f64 t))
(-.f64 t x)
(+.f64 (neg.f64 x) t)
(+.f64 t (neg.f64 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))
(neg.f64 (neg.f64 #s(approx (* y (- t x)) (*.f64 t y))))
(*.f64 (neg.f64 y) (neg.f64 t))
(*.f64 (neg.f64 t) (neg.f64 y))
(*.f64 t y)
(*.f64 y t)
(neg.f64 (*.f64 (neg.f64 y) t))
#s(approx (+ x (* (- y z) (- t x))) (+.f64 #s(approx (* y (- t x)) (*.f64 t y)) x))
(/.f64 (-.f64 (*.f64 #s(approx (* y (- t x)) (*.f64 t y)) #s(literal 2 binary64)) (*.f64 (neg.f64 x) #s(literal 2 binary64))) #s(literal 2 binary64))
(/.f64 (-.f64 (*.f64 #s(approx (* y (- t x)) (*.f64 t y)) #s(literal 2 binary64)) (*.f64 #s(literal 2 binary64) (neg.f64 x))) #s(literal 2 binary64))
(neg.f64 (-.f64 (neg.f64 x) #s(approx (* y (- t x)) (*.f64 t y))))
(-.f64 #s(approx (* y (- t x)) (*.f64 t y)) (neg.f64 x))
(-.f64 x (neg.f64 #s(approx (* y (- t x)) (*.f64 t y))))
(+.f64 #s(approx (* y (- t x)) (*.f64 t y)) x)
(+.f64 x #s(approx (* y (- t x)) (*.f64 t y)))
(/.f64 (-.f64 (*.f64 (*.f64 #s(approx (- t x) t) (-.f64 y z)) #s(literal 2 binary64)) (*.f64 (neg.f64 x) #s(literal 2 binary64))) #s(literal 2 binary64))
(/.f64 (-.f64 (*.f64 (*.f64 #s(approx (- t x) t) (-.f64 y z)) #s(literal 2 binary64)) (*.f64 #s(literal 2 binary64) (neg.f64 x))) #s(literal 2 binary64))
(neg.f64 (-.f64 (*.f64 (-.f64 z y) #s(approx (- t x) t)) x))
(fma.f64 (neg.f64 #s(approx (- t x) t)) (neg.f64 y) (-.f64 x (*.f64 #s(approx (- t x) t) z)))
(fma.f64 (neg.f64 #s(approx (- t x) t)) (-.f64 z y) x)
(fma.f64 (neg.f64 #s(approx (- t x) t)) z (fma.f64 #s(approx (- t x) t) y x))
(fma.f64 (neg.f64 y) (neg.f64 #s(approx (- t x) t)) (-.f64 x (*.f64 #s(approx (- t x) t) z)))
(fma.f64 (neg.f64 z) #s(approx (- t x) t) (fma.f64 #s(approx (- t x) t) y x))
(fma.f64 (-.f64 z y) (neg.f64 #s(approx (- t x) t)) x)
(fma.f64 #s(approx (- t x) t) (neg.f64 z) (fma.f64 #s(approx (- t x) t) y x))
(fma.f64 #s(approx (- t x) t) (-.f64 y z) x)
(fma.f64 #s(approx (- t x) t) y (-.f64 x (*.f64 #s(approx (- t x) t) z)))
(fma.f64 (-.f64 y z) #s(approx (- t x) t) x)
(fma.f64 z (neg.f64 #s(approx (- t x) t)) (fma.f64 #s(approx (- t x) t) y x))
(fma.f64 y #s(approx (- t x) t) (-.f64 x (*.f64 #s(approx (- t x) t) z)))
(-.f64 (fma.f64 #s(approx (- t x) t) y x) (*.f64 #s(approx (- t x) t) z))
(-.f64 (-.f64 x (*.f64 #s(approx (- t x) t) z)) (*.f64 (neg.f64 y) #s(approx (- t x) t)))
(-.f64 (*.f64 (neg.f64 z) #s(approx (- t x) t)) (neg.f64 (fma.f64 #s(approx (- t x) t) y x)))
(-.f64 (*.f64 #s(approx (- t x) t) y) (-.f64 (*.f64 #s(approx (- t x) t) z) x))
(-.f64 (*.f64 #s(approx (- t x) t) (-.f64 y z)) (neg.f64 x))
(-.f64 x (*.f64 (-.f64 z y) #s(approx (- t x) t)))
(+.f64 (fma.f64 #s(approx (- t x) t) y x) (*.f64 (neg.f64 z) #s(approx (- t x) t)))
(+.f64 (-.f64 x (*.f64 #s(approx (- t x) t) z)) (*.f64 #s(approx (- t x) t) y))
(+.f64 (*.f64 (neg.f64 z) #s(approx (- t x) t)) (fma.f64 #s(approx (- t x) t) y x))
(+.f64 (*.f64 #s(approx (- t x) t) y) (-.f64 x (*.f64 #s(approx (- t x) t) z)))
(+.f64 (*.f64 #s(approx (- t x) t) (-.f64 y z)) x)
(+.f64 x (*.f64 #s(approx (- t x) t) (-.f64 y z)))
(neg.f64 (-.f64 z y))
(-.f64 (neg.f64 z) (neg.f64 y))
(-.f64 y z)
(+.f64 (neg.f64 z) y)
(+.f64 y (neg.f64 z))
z
#s(approx (- t x) t)
(neg.f64 (neg.f64 #s(approx (- t x) t)))
#s(approx (+ x (* (- y z) (- t x))) (*.f64 (-.f64 y z) t))
(*.f64 (neg.f64 t) (-.f64 z y))
(*.f64 (-.f64 z y) (neg.f64 t))
(*.f64 (-.f64 y z) t)
(*.f64 t (-.f64 y z))
(neg.f64 (*.f64 (-.f64 z y) t))
(fma.f64 (neg.f64 y) (neg.f64 t) (*.f64 (neg.f64 t) z))
(fma.f64 (neg.f64 t) (neg.f64 y) (*.f64 (neg.f64 t) z))
(fma.f64 (neg.f64 t) z (*.f64 t y))
(fma.f64 (neg.f64 z) t (*.f64 t y))
(fma.f64 t (neg.f64 z) (*.f64 t y))
(fma.f64 t y (*.f64 (neg.f64 t) z))
(fma.f64 z (neg.f64 t) (*.f64 t y))
(fma.f64 y t (*.f64 (neg.f64 t) z))
(-.f64 (*.f64 (neg.f64 t) z) (*.f64 (neg.f64 y) t))
(-.f64 (*.f64 t y) (*.f64 t z))
(+.f64 (*.f64 (neg.f64 t) z) (*.f64 t y))
(+.f64 (*.f64 t y) (*.f64 (neg.f64 t) z))
(*.f64 (neg.f64 t) (neg.f64 z))
(*.f64 (neg.f64 z) (neg.f64 t))
(*.f64 t z)
(*.f64 z t)
(neg.f64 (*.f64 (neg.f64 t) z))

eval31.0ms (0.9%)

Memory
-12.6MiB live, 68.3MiB allocated; 17ms collecting garbage
Compiler

Compiled 3 884 to 602 computations (84.5% saved)

prune8.0ms (0.2%)

Memory
25.8MiB live, 25.9MiB allocated; 0ms collecting garbage
Pruning

12 alts after pruning (5 fresh and 7 done)

PrunedKeptTotal
New1900190
Fresh055
Picked055
Done022
Total19012202
Accuracy
100.0%
Counts
202 → 12
Alt Table
Click to see full alt table
StatusAccuracyProgram
60.4%
(fma.f64 (-.f64 y z) #s(approx (- t x) t) x)
53.5%
(fma.f64 #s(approx (- z y) z) (-.f64 x t) x)
60.3%
#s(approx (+ (* (- z y) (- x t)) x) (+.f64 x (*.f64 x (-.f64 z y))))
37.1%
#s(approx (+ (* (- z y) (- x t)) x) (*.f64 z (-.f64 x t)))
66.5%
#s(approx (+ x (* (- y z) (- t x))) (fma.f64 (-.f64 t x) y x))
44.1%
#s(approx (+ x (* (- y z) (- t x))) (fma.f64 y t (*.f64 (neg.f64 z) t)))
47.4%
#s(approx (+ x (* (- y z) (- t x))) (-.f64 (*.f64 t y) (*.f64 x y)))
42.5%
#s(approx (+ x (* (- y z) (- t x))) (-.f64 (*.f64 t y) (*.f64 t z)))
41.7%
#s(approx (+ x (* (- y z) (- t x))) (+.f64 x #s(approx (* y (- t x)) (*.f64 t y))))
49.7%
#s(approx (+ x (* (- y z) (- t x))) (*.f64 y (-.f64 t x)))
44.1%
#s(approx (+ x (* (- y z) (- t x))) (*.f64 t (-.f64 y z)))
25.6%
#s(approx (+ x (* (- y z) (- t x))) #s(approx (* y (- t x)) (*.f64 t y)))
Compiler

Compiled 265 to 188 computations (29.1% saved)

series63.0ms (1.8%)

Memory
21.5MiB live, 102.6MiB allocated; 50ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
03661654
Stop Event
iter-limit
Counts
21 → 94
Calls
Call 1
Inputs
#s(approx (+ (* (- z y) (- x t)) x) (+.f64 x (*.f64 x (-.f64 z y))))
(+.f64 x (*.f64 x (-.f64 z y)))
x
(*.f64 x (-.f64 z y))
(-.f64 z y)
z
y
#s(approx (+ (* (- z y) (- x t)) x) (*.f64 z (-.f64 x t)))
(*.f64 z (-.f64 x t))
(-.f64 x t)
t
(fma.f64 #s(approx (- z y) z) (-.f64 x t) x)
#s(approx (- z y) z)
#s(approx (+ x (* (- y z) (- t x))) (-.f64 (*.f64 t y) (*.f64 x y)))
(-.f64 (*.f64 t y) (*.f64 x y))
(*.f64 t y)
(*.f64 x y)
#s(approx (+ x (* (- y z) (- t x))) (fma.f64 y t (*.f64 (neg.f64 z) t)))
(fma.f64 y t (*.f64 (neg.f64 z) t))
(*.f64 (neg.f64 z) t)
(neg.f64 z)
Outputs
#s(approx (+ (* (- z y) (- x t)) x) (*.f64 #s(literal -1 binary64) (*.f64 t (-.f64 z y))))
#s(approx (+ (* (- z y) (- x t)) x) (fma.f64 #s(literal -1 binary64) (*.f64 t (-.f64 z y)) (*.f64 x (-.f64 (+.f64 #s(literal 1 binary64) z) y))))
#s(approx (+ x (* x (- z y))) (*.f64 x (-.f64 (+.f64 #s(literal 1 binary64) z) y)))
#s(approx x x)
#s(approx (* x (- z y)) (*.f64 x (-.f64 z y)))
#s(approx (* z (- x t)) (*.f64 #s(literal -1 binary64) (*.f64 t z)))
#s(approx (* z (- x t)) (fma.f64 #s(literal -1 binary64) (*.f64 t z) (*.f64 x z)))
#s(approx (- x t) (*.f64 #s(literal -1 binary64) t))
#s(approx (- x t) (-.f64 x t))
#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 (- (* t y) (* x y)) (*.f64 t y))
#s(approx (- (* t y) (* x y)) (fma.f64 #s(literal -1 binary64) (*.f64 x y) (*.f64 t y)))
#s(approx (* x y) (*.f64 x y))
#s(approx (+ (* (- z y) (- x t)) x) (*.f64 x (-.f64 (+.f64 #s(literal 1 binary64) (+.f64 z (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 t (-.f64 z y)) x)))) y)))
#s(approx (* z (- x t)) (*.f64 x z))
#s(approx (* z (- x t)) (*.f64 x (+.f64 z (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 t z) x)))))
#s(approx (- x t) (*.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 #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 (- (* t y) (* x y)) (*.f64 #s(literal -1 binary64) (*.f64 x y)))
#s(approx (- (* t y) (* x y)) (*.f64 x (-.f64 (/.f64 (*.f64 t y) x) y)))
#s(approx (+ (* (- z y) (- x t)) x) (*.f64 #s(literal -1 binary64) (*.f64 x (-.f64 (*.f64 #s(literal -1 binary64) (-.f64 z y)) #s(literal 1 binary64)))))
#s(approx (+ (* (- z y) (- x t)) x) (*.f64 #s(literal -1 binary64) (*.f64 x (-.f64 (fma.f64 #s(literal -1 binary64) (-.f64 z y) (/.f64 (*.f64 t (-.f64 z y)) x)) #s(literal 1 binary64)))))
#s(approx (* z (- x t)) (*.f64 #s(literal -1 binary64) (*.f64 x (fma.f64 #s(literal -1 binary64) z (/.f64 (*.f64 t z) x)))))
#s(approx (- x t) (*.f64 #s(literal -1 binary64) (*.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 (- (* t y) (* 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 (+ (* (- z y) (- x t)) x) (+.f64 x (*.f64 z (-.f64 x t))))
#s(approx (+ (* (- z y) (- x t)) x) (+.f64 x (fma.f64 #s(literal -1 binary64) (*.f64 y (-.f64 x t)) (*.f64 z (-.f64 x t)))))
#s(approx (+ x (* x (- z y))) (+.f64 x (*.f64 x z)))
#s(approx (+ x (* x (- z y))) (+.f64 x (fma.f64 #s(literal -1 binary64) (*.f64 x y) (*.f64 x z))))
#s(approx (* x (- z y)) (fma.f64 #s(literal -1 binary64) (*.f64 x y) (*.f64 x z)))
#s(approx (- z y) z)
#s(approx (- z y) (+.f64 z (*.f64 #s(literal -1 binary64) y)))
#s(approx y y)
#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 (- (* t y) (* x y)) (*.f64 y (-.f64 t x)))
#s(approx (+ (* y t) (* (neg z) t)) (fma.f64 #s(literal -1 binary64) (*.f64 t z) (*.f64 t y)))
#s(approx (+ (* (- z y) (- x t)) x) (*.f64 #s(literal -1 binary64) (*.f64 y (-.f64 x t))))
#s(approx (+ (* (- z y) (- x t)) x) (*.f64 y (fma.f64 #s(literal -1 binary64) (-.f64 x t) (+.f64 (/.f64 x y) (/.f64 (*.f64 z (-.f64 x t)) y)))))
#s(approx (+ x (* x (- z y))) (*.f64 y (fma.f64 #s(literal -1 binary64) x (+.f64 (/.f64 x y) (/.f64 (*.f64 x z) y)))))
#s(approx (* x (- z y)) (*.f64 y (fma.f64 #s(literal -1 binary64) x (/.f64 (*.f64 x z) y))))
#s(approx (- z y) (*.f64 #s(literal -1 binary64) y))
#s(approx (- z y) (*.f64 y (-.f64 (/.f64 z y) #s(literal 1 binary64))))
#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 t) (* (neg z) t)) (*.f64 y (+.f64 t (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 t z) y)))))
#s(approx (+ (* (- z y) (- x t)) x) (*.f64 #s(literal -1 binary64) (*.f64 y (-.f64 (+.f64 x (*.f64 #s(literal -1 binary64) (/.f64 (+.f64 x (*.f64 z (-.f64 x t))) y))) t))))
#s(approx (+ x (* x (- z y))) (*.f64 #s(literal -1 binary64) (*.f64 y (+.f64 x (*.f64 #s(literal -1 binary64) (/.f64 (+.f64 x (*.f64 x z)) y))))))
#s(approx (* x (- z y)) (*.f64 #s(literal -1 binary64) (*.f64 y (+.f64 x (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 x z) y))))))
#s(approx (- z y) (*.f64 #s(literal -1 binary64) (*.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 (- (* t y) (* x y)) (*.f64 #s(literal -1 binary64) (*.f64 y (-.f64 (*.f64 #s(literal -1 binary64) t) (*.f64 #s(literal -1 binary64) x)))))
#s(approx (+ (* y t) (* (neg z) t)) (*.f64 #s(literal -1 binary64) (*.f64 y (fma.f64 #s(literal -1 binary64) t (/.f64 (*.f64 t z) y)))))
#s(approx (+ (* (- z y) (- x t)) x) (+.f64 x (*.f64 #s(literal -1 binary64) (*.f64 y (-.f64 x t)))))
#s(approx (+ x (* x (- z y))) (+.f64 x (*.f64 #s(literal -1 binary64) (*.f64 x y))))
#s(approx (- z y) (-.f64 z y))
#s(approx (* z (- x t)) (*.f64 z (-.f64 x t)))
#s(approx (+ x (* (- y z) (- t x))) (+.f64 x (*.f64 y (-.f64 t x))))
#s(approx (neg z) (*.f64 #s(literal -1 binary64) z))
#s(approx (+ (* (- z y) (- x t)) x) (*.f64 z (-.f64 (+.f64 x (fma.f64 #s(literal -1 binary64) (/.f64 (*.f64 y (-.f64 x t)) z) (/.f64 x z))) t)))
#s(approx (+ x (* x (- z y))) (*.f64 z (+.f64 x (fma.f64 #s(literal -1 binary64) (/.f64 (*.f64 x y) z) (/.f64 x z)))))
#s(approx (* x (- z y)) (*.f64 z (+.f64 x (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 x y) z)))))
#s(approx (- z y) (*.f64 z (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1 binary64) (/.f64 y z)))))
#s(approx (+ x (* (- y z) (- t x))) (*.f64 #s(literal -1 binary64) (*.f64 z (-.f64 t x))))
#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 t) (* (neg z) t)) (*.f64 z (fma.f64 #s(literal -1 binary64) t (/.f64 (*.f64 t y) z))))
#s(approx (+ (* (- z y) (- x t)) x) (*.f64 #s(literal -1 binary64) (*.f64 z (fma.f64 #s(literal -1 binary64) (-.f64 x t) (*.f64 #s(literal -1 binary64) (/.f64 (+.f64 x (*.f64 #s(literal -1 binary64) (*.f64 y (-.f64 x t)))) z))))))
#s(approx (+ x (* x (- z y))) (*.f64 #s(literal -1 binary64) (*.f64 z (fma.f64 #s(literal -1 binary64) x (*.f64 #s(literal -1 binary64) (/.f64 (+.f64 x (*.f64 #s(literal -1 binary64) (*.f64 x y))) z))))))
#s(approx (* x (- z y)) (*.f64 #s(literal -1 binary64) (*.f64 z (fma.f64 #s(literal -1 binary64) x (/.f64 (*.f64 x y) z)))))
#s(approx (- z y) (*.f64 #s(literal -1 binary64) (*.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 t) (* (neg z) t)) (*.f64 #s(literal -1 binary64) (*.f64 z (+.f64 t (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 t y) z))))))
#s(approx (+ (* (- z y) (- x t)) x) (+.f64 x (*.f64 x (-.f64 z y))))
#s(approx (+ (* (- z y) (- x t)) x) (+.f64 x (fma.f64 #s(literal -1 binary64) (*.f64 t (-.f64 z y)) (*.f64 x (-.f64 z y)))))
#s(approx (- x t) (+.f64 x (*.f64 #s(literal -1 binary64) t)))
#s(approx t t)
#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 y) (* x y)) (-.f64 (*.f64 t y) (*.f64 x y)))
#s(approx (+ (* y t) (* (neg z) t)) (*.f64 t (+.f64 y (*.f64 #s(literal -1 binary64) z))))
#s(approx (+ (* (- z y) (- x t)) x) (*.f64 t (fma.f64 #s(literal -1 binary64) (-.f64 z y) (+.f64 (/.f64 x t) (/.f64 (*.f64 x (-.f64 z y)) t)))))
#s(approx (* z (- x t)) (*.f64 t (fma.f64 #s(literal -1 binary64) z (/.f64 (*.f64 x z) t))))
#s(approx (- x t) (*.f64 t (-.f64 (/.f64 x t) #s(literal 1 binary64))))
#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 (- (* t y) (* x y)) (*.f64 t (+.f64 y (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 x y) t)))))
#s(approx (+ (* (- z y) (- x t)) x) (*.f64 #s(literal -1 binary64) (*.f64 t (-.f64 (+.f64 z (*.f64 #s(literal -1 binary64) (/.f64 (+.f64 x (*.f64 x (-.f64 z y))) t))) y))))
#s(approx (* z (- x t)) (*.f64 #s(literal -1 binary64) (*.f64 t (+.f64 z (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 x z) t))))))
#s(approx (- x t) (*.f64 #s(literal -1 binary64) (*.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 (- (* t y) (* x y)) (*.f64 #s(literal -1 binary64) (*.f64 t (fma.f64 #s(literal -1 binary64) y (/.f64 (*.f64 x y) t)))))
#s(approx (+ (* y t) (* (neg z) t)) (*.f64 #s(literal -1 binary64) (*.f64 t (+.f64 z (*.f64 #s(literal -1 binary64) y)))))
Calls

12 calls:

TimeVariablePoint
19.0ms
y
0
2.0ms
y
-inf
2.0ms
x
-inf
2.0ms
y
inf
2.0ms
z
-inf

rewrite137.0ms (3.9%)

Memory
3.9MiB live, 152.7MiB allocated; 73ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
029134
043126
196126
2262126
3748126
41585126
52666126
04008120
Stop Event
iter-limit
node-limit
iter-limit
Counts
21 → 209
Calls
Call 1
Inputs
#s(approx (+ (* (- z y) (- x t)) x) (+.f64 x (*.f64 x (-.f64 z y))))
(+.f64 x (*.f64 x (-.f64 z y)))
x
(*.f64 x (-.f64 z y))
(-.f64 z y)
z
y
#s(approx (+ (* (- z y) (- x t)) x) (*.f64 z (-.f64 x t)))
(*.f64 z (-.f64 x t))
(-.f64 x t)
t
(fma.f64 #s(approx (- z y) z) (-.f64 x t) x)
#s(approx (- z y) z)
#s(approx (+ x (* (- y z) (- t x))) (-.f64 (*.f64 t y) (*.f64 x y)))
(-.f64 (*.f64 t y) (*.f64 x y))
(*.f64 t y)
(*.f64 x y)
#s(approx (+ x (* (- y z) (- t x))) (fma.f64 y t (*.f64 (neg.f64 z) t)))
(fma.f64 y t (*.f64 (neg.f64 z) t))
(*.f64 (neg.f64 z) t)
(neg.f64 z)
Outputs
#s(approx (+ (* (- z y) (- x t)) x) (fma.f64 (-.f64 z y) x x))
(*.f64 (-.f64 (-.f64 y #s(literal 1 binary64)) z) (neg.f64 x))
(*.f64 (-.f64 #s(literal 1 binary64) (-.f64 y z)) x)
(*.f64 (neg.f64 x) (-.f64 (-.f64 y #s(literal 1 binary64)) z))
(*.f64 x (-.f64 #s(literal 1 binary64) (-.f64 y z)))
(/.f64 (fma.f64 (*.f64 (-.f64 z y) x) #s(literal 2 binary64) (*.f64 x #s(literal 2 binary64))) #s(literal 2 binary64))
(/.f64 (fma.f64 (*.f64 (-.f64 z y) x) #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) x)) #s(literal 2 binary64))
(/.f64 (*.f64 (fma.f64 (-.f64 z y) #s(literal 2 binary64) #s(literal 2 binary64)) (*.f64 x #s(literal 2 binary64))) #s(literal 4 binary64))
(/.f64 (*.f64 (fma.f64 (-.f64 z y) #s(literal 2 binary64) #s(literal 2 binary64)) (*.f64 #s(literal 2 binary64) x)) #s(literal 4 binary64))
(/.f64 (*.f64 (*.f64 x #s(literal 2 binary64)) (fma.f64 (-.f64 z y) #s(literal 2 binary64) #s(literal 2 binary64))) #s(literal 4 binary64))
(/.f64 (*.f64 (*.f64 #s(literal 2 binary64) x) (fma.f64 (-.f64 z y) #s(literal 2 binary64) #s(literal 2 binary64))) #s(literal 4 binary64))
(neg.f64 (*.f64 (-.f64 #s(literal 1 binary64) (-.f64 y z)) (*.f64 (neg.f64 x) #s(literal 1 binary64))))
(neg.f64 (*.f64 (-.f64 #s(literal 1 binary64) (-.f64 y z)) (*.f64 #s(literal -1 binary64) x)))
(neg.f64 (fma.f64 #s(literal -1 binary64) x (*.f64 (-.f64 y z) x)))
(neg.f64 (-.f64 (*.f64 (-.f64 y z) x) x))
(fma.f64 (-.f64 z #s(literal -1 binary64)) x (*.f64 (neg.f64 y) x))
(fma.f64 (-.f64 #s(literal 1 binary64) y) x (*.f64 x z))
(fma.f64 (neg.f64 y) x (*.f64 (-.f64 #s(literal -1 binary64) z) (neg.f64 x)))
(fma.f64 (neg.f64 y) x (fma.f64 x z x))
(fma.f64 (neg.f64 x) (neg.f64 z) (*.f64 (-.f64 y #s(literal 1 binary64)) (neg.f64 x)))
(fma.f64 (neg.f64 x) (neg.f64 z) (-.f64 x (*.f64 x y)))
(fma.f64 (neg.f64 x) (-.f64 y z) x)
(fma.f64 (neg.f64 x) y (*.f64 (-.f64 #s(literal -1 binary64) z) (neg.f64 x)))
(fma.f64 (neg.f64 x) y (fma.f64 x z x))
(fma.f64 (neg.f64 z) (neg.f64 x) (*.f64 (-.f64 y #s(literal 1 binary64)) (neg.f64 x)))
(fma.f64 (neg.f64 z) (neg.f64 x) (-.f64 x (*.f64 x y)))
(fma.f64 (-.f64 y z) (neg.f64 x) x)
(fma.f64 (-.f64 z y) x x)
(fma.f64 x (-.f64 z #s(literal -1 binary64)) (*.f64 (neg.f64 y) x))
(fma.f64 x (-.f64 #s(literal 1 binary64) y) (*.f64 x z))
(fma.f64 x (neg.f64 y) (*.f64 (-.f64 #s(literal -1 binary64) z) (neg.f64 x)))
(fma.f64 x (neg.f64 y) (fma.f64 x z x))
(fma.f64 x (-.f64 z y) x)
(fma.f64 x z (*.f64 (-.f64 y #s(literal 1 binary64)) (neg.f64 x)))
(fma.f64 x z (-.f64 x (*.f64 x y)))
(fma.f64 y (neg.f64 x) (*.f64 (-.f64 #s(literal -1 binary64) z) (neg.f64 x)))
(fma.f64 y (neg.f64 x) (fma.f64 x z x))
(fma.f64 z x (*.f64 (-.f64 y #s(literal 1 binary64)) (neg.f64 x)))
(fma.f64 z x (-.f64 x (*.f64 x y)))
(-.f64 (fma.f64 x z x) (*.f64 x y))
(-.f64 (-.f64 x (*.f64 x y)) (*.f64 (neg.f64 x) z))
(-.f64 (*.f64 x z) (*.f64 (neg.f64 x) (-.f64 #s(literal 1 binary64) y)))
(-.f64 (*.f64 x z) (*.f64 (-.f64 y #s(literal 1 binary64)) x))
(-.f64 (*.f64 (neg.f64 y) x) (*.f64 (neg.f64 x) (-.f64 z #s(literal -1 binary64))))
(-.f64 (*.f64 (neg.f64 y) x) (*.f64 (-.f64 #s(literal -1 binary64) z) x))
(-.f64 (*.f64 (-.f64 z y) x) (*.f64 (neg.f64 x) #s(literal 1 binary64)))
(-.f64 (*.f64 (-.f64 z y) x) (*.f64 #s(literal -1 binary64) x))
(-.f64 (*.f64 (-.f64 z y) x) (neg.f64 x))
(-.f64 x (*.f64 (-.f64 y z) x))
(+.f64 (fma.f64 x z x) (*.f64 (neg.f64 y) x))
(+.f64 (-.f64 x (*.f64 x y)) (*.f64 x z))
(+.f64 (*.f64 x z) (*.f64 (-.f64 y #s(literal 1 binary64)) (neg.f64 x)))
(+.f64 (*.f64 x z) (-.f64 x (*.f64 x y)))
(+.f64 (*.f64 (neg.f64 y) x) (*.f64 (-.f64 #s(literal -1 binary64) z) (neg.f64 x)))
(+.f64 (*.f64 (neg.f64 y) x) (fma.f64 x z x))
(+.f64 (*.f64 (-.f64 z y) x) x)
(+.f64 x (*.f64 (-.f64 z y) x))
x
(*.f64 (neg.f64 x) (-.f64 y z))
(*.f64 (-.f64 y z) (neg.f64 x))
(*.f64 (-.f64 z y) x)
(*.f64 x (-.f64 z y))
(neg.f64 (*.f64 (-.f64 z y) (*.f64 (neg.f64 x) #s(literal 1 binary64))))
(neg.f64 (*.f64 (-.f64 z y) (*.f64 #s(literal -1 binary64) x)))
(neg.f64 (*.f64 (-.f64 y z) x))
(fma.f64 (neg.f64 y) x (*.f64 x z))
(fma.f64 (neg.f64 x) (neg.f64 z) (*.f64 (neg.f64 y) x))
(fma.f64 (neg.f64 x) y (*.f64 x z))
(fma.f64 (neg.f64 z) (neg.f64 x) (*.f64 (neg.f64 y) x))
(fma.f64 x (neg.f64 y) (*.f64 x z))
(fma.f64 x z (*.f64 (neg.f64 y) x))
(fma.f64 y (neg.f64 x) (*.f64 x z))
(fma.f64 z x (*.f64 (neg.f64 y) x))
(-.f64 (*.f64 x z) (*.f64 x y))
(-.f64 (*.f64 (neg.f64 y) x) (*.f64 (neg.f64 x) z))
(+.f64 (*.f64 x z) (*.f64 (neg.f64 y) x))
(+.f64 (*.f64 (neg.f64 y) x) (*.f64 x z))
(neg.f64 (-.f64 y z))
(-.f64 (neg.f64 y) (neg.f64 z))
(-.f64 z y)
(+.f64 (neg.f64 y) z)
(+.f64 z (neg.f64 y))
z
y
#s(approx (+ (* (- z y) (- x t)) x) (*.f64 (-.f64 x t) z))
(*.f64 (neg.f64 z) (-.f64 t x))
(*.f64 (-.f64 t x) (neg.f64 z))
(*.f64 (-.f64 x t) z)
(*.f64 z (-.f64 x t))
(neg.f64 (*.f64 (-.f64 t x) z))
(fma.f64 (neg.f64 t) z (*.f64 x z))
(fma.f64 (neg.f64 x) (neg.f64 z) (*.f64 (neg.f64 z) t))
(fma.f64 (neg.f64 z) (neg.f64 x) (*.f64 (neg.f64 z) t))
(fma.f64 (neg.f64 z) t (*.f64 x z))
(fma.f64 t (neg.f64 z) (*.f64 x z))
(fma.f64 x z (*.f64 (neg.f64 z) t))
(fma.f64 z (neg.f64 t) (*.f64 x z))
(fma.f64 z x (*.f64 (neg.f64 z) t))
(-.f64 (*.f64 x z) (*.f64 t z))
(-.f64 (*.f64 (neg.f64 z) t) (*.f64 (neg.f64 x) z))
(+.f64 (*.f64 x z) (*.f64 (neg.f64 z) t))
(+.f64 (*.f64 (neg.f64 z) t) (*.f64 x z))
(/.f64 (fma.f64 (neg.f64 t) #s(literal 2 binary64) (*.f64 x #s(literal 2 binary64))) #s(literal 2 binary64))
(/.f64 (fma.f64 (neg.f64 t) #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) x)) #s(literal 2 binary64))
(neg.f64 (fma.f64 (neg.f64 x) #s(literal 1 binary64) t))
(neg.f64 (fma.f64 #s(literal -1 binary64) x t))
(neg.f64 (-.f64 t x))
(-.f64 (neg.f64 t) (*.f64 (neg.f64 x) #s(literal 1 binary64)))
(-.f64 (neg.f64 t) (*.f64 #s(literal -1 binary64) x))
(-.f64 (neg.f64 t) (neg.f64 x))
(-.f64 x t)
(+.f64 (neg.f64 t) x)
(+.f64 x (neg.f64 t))
t
(/.f64 (fma.f64 (*.f64 #s(approx (- z y) z) (-.f64 x t)) #s(literal 2 binary64) (*.f64 x #s(literal 2 binary64))) #s(literal 2 binary64))
(/.f64 (fma.f64 (*.f64 #s(approx (- z y) z) (-.f64 x t)) #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) x)) #s(literal 2 binary64))
(neg.f64 (fma.f64 (neg.f64 x) #s(literal 1 binary64) (*.f64 (-.f64 t x) #s(approx (- z y) z))))
(neg.f64 (fma.f64 #s(literal -1 binary64) x (*.f64 (-.f64 t x) #s(approx (- z y) z))))
(neg.f64 (-.f64 (*.f64 (-.f64 t x) #s(approx (- z y) z)) x))
(fma.f64 (-.f64 #s(approx (- z y) z) #s(literal -1 binary64)) x (*.f64 (neg.f64 t) #s(approx (- z y) z)))
(fma.f64 (neg.f64 #s(approx (- z y) z)) (neg.f64 x) (-.f64 x (*.f64 #s(approx (- z y) z) t)))
(fma.f64 (neg.f64 #s(approx (- z y) z)) (-.f64 t x) x)
(fma.f64 (neg.f64 #s(approx (- z y) z)) t (*.f64 (-.f64 #s(literal -1 binary64) #s(approx (- z y) z)) (neg.f64 x)))
(fma.f64 (neg.f64 #s(approx (- z y) z)) t (fma.f64 #s(approx (- z y) z) x x))
(fma.f64 (neg.f64 t) #s(approx (- z y) z) (*.f64 (-.f64 #s(literal -1 binary64) #s(approx (- z y) z)) (neg.f64 x)))
(fma.f64 (neg.f64 t) #s(approx (- z y) z) (fma.f64 #s(approx (- z y) z) x x))
(fma.f64 (neg.f64 x) (neg.f64 #s(approx (- z y) z)) (-.f64 x (*.f64 #s(approx (- z y) z) t)))
(fma.f64 (-.f64 t x) (neg.f64 #s(approx (- z y) z)) x)
(fma.f64 #s(approx (- z y) z) (neg.f64 t) (*.f64 (-.f64 #s(literal -1 binary64) #s(approx (- z y) z)) (neg.f64 x)))
(fma.f64 #s(approx (- z y) z) (neg.f64 t) (fma.f64 #s(approx (- z y) z) x x))
(fma.f64 #s(approx (- z y) z) (-.f64 x t) x)
(fma.f64 #s(approx (- z y) z) x (-.f64 x (*.f64 #s(approx (- z y) z) t)))
(fma.f64 (-.f64 x t) #s(approx (- z y) z) x)
(fma.f64 t (neg.f64 #s(approx (- z y) z)) (*.f64 (-.f64 #s(literal -1 binary64) #s(approx (- z y) z)) (neg.f64 x)))
(fma.f64 t (neg.f64 #s(approx (- z y) z)) (fma.f64 #s(approx (- z y) z) x x))
(fma.f64 x (-.f64 #s(approx (- z y) z) #s(literal -1 binary64)) (*.f64 (neg.f64 t) #s(approx (- z y) z)))
(fma.f64 x #s(approx (- z y) z) (-.f64 x (*.f64 #s(approx (- z y) z) t)))
(-.f64 (fma.f64 #s(approx (- z y) z) x x) (*.f64 #s(approx (- z y) z) t))
(-.f64 (-.f64 x (*.f64 #s(approx (- z y) z) t)) (*.f64 (neg.f64 x) #s(approx (- z y) z)))
(-.f64 (*.f64 (neg.f64 t) #s(approx (- z y) z)) (*.f64 (neg.f64 x) (-.f64 #s(approx (- z y) z) #s(literal -1 binary64))))
(-.f64 (*.f64 (neg.f64 t) #s(approx (- z y) z)) (*.f64 (-.f64 #s(literal -1 binary64) #s(approx (- z y) z)) x))
(-.f64 (*.f64 #s(approx (- z y) z) x) (-.f64 (*.f64 #s(approx (- z y) z) t) x))
(-.f64 (*.f64 #s(approx (- z y) z) (-.f64 x t)) (*.f64 (neg.f64 x) #s(literal 1 binary64)))
(-.f64 (*.f64 #s(approx (- z y) z) (-.f64 x t)) (*.f64 #s(literal -1 binary64) x))
(-.f64 (*.f64 #s(approx (- z y) z) (-.f64 x t)) (neg.f64 x))
(-.f64 x (*.f64 (-.f64 t x) #s(approx (- z y) z)))
(+.f64 (fma.f64 #s(approx (- z y) z) x x) (*.f64 (neg.f64 t) #s(approx (- z y) z)))
(+.f64 (-.f64 x (*.f64 #s(approx (- z y) z) t)) (*.f64 #s(approx (- z y) z) x))
(+.f64 (*.f64 (neg.f64 t) #s(approx (- z y) z)) (*.f64 (-.f64 #s(literal -1 binary64) #s(approx (- z y) z)) (neg.f64 x)))
(+.f64 (*.f64 (neg.f64 t) #s(approx (- z y) z)) (fma.f64 #s(approx (- z y) z) x x))
(+.f64 (*.f64 #s(approx (- z y) z) x) (-.f64 x (*.f64 #s(approx (- z y) z) t)))
(+.f64 (*.f64 #s(approx (- z y) z) (-.f64 x t)) x)
(+.f64 x (*.f64 #s(approx (- z y) z) (-.f64 x t)))
#s(approx (- z y) z)
(neg.f64 (neg.f64 #s(approx (- z y) z)))
#s(approx (+ (* (- z y) (- x t)) x) (*.f64 (-.f64 t x) y))
(*.f64 (neg.f64 y) (-.f64 x t))
(*.f64 (-.f64 t x) y)
(*.f64 (-.f64 x t) (neg.f64 y))
(*.f64 y (-.f64 t x))
(neg.f64 (*.f64 (-.f64 x t) y))
(fma.f64 (neg.f64 t) (neg.f64 y) (*.f64 (neg.f64 y) x))
(fma.f64 (neg.f64 y) (neg.f64 t) (*.f64 (neg.f64 y) x))
(fma.f64 (neg.f64 y) x (*.f64 t y))
(fma.f64 (neg.f64 x) y (*.f64 t y))
(fma.f64 t y (*.f64 (neg.f64 y) x))
(fma.f64 x (neg.f64 y) (*.f64 t y))
(fma.f64 y (neg.f64 x) (*.f64 t y))
(fma.f64 y t (*.f64 (neg.f64 y) x))
(-.f64 (*.f64 (neg.f64 y) x) (*.f64 (neg.f64 t) y))
(-.f64 (*.f64 t y) (*.f64 x y))
(+.f64 (*.f64 (neg.f64 y) x) (*.f64 t y))
(+.f64 (*.f64 t y) (*.f64 (neg.f64 y) x))
(*.f64 (neg.f64 t) (neg.f64 y))
(*.f64 (neg.f64 y) (neg.f64 t))
(*.f64 t y)
(*.f64 y t)
(neg.f64 (*.f64 (neg.f64 t) y))
(*.f64 (neg.f64 y) (neg.f64 x))
(*.f64 (neg.f64 x) (neg.f64 y))
(*.f64 x y)
(*.f64 y x)
(neg.f64 (*.f64 y (*.f64 (neg.f64 x) #s(literal 1 binary64))))
(neg.f64 (*.f64 y (*.f64 #s(literal -1 binary64) x)))
(neg.f64 (*.f64 (neg.f64 y) x))
#s(approx (+ (* (- z y) (- x t)) x) (*.f64 (-.f64 y z) t))
(*.f64 (neg.f64 t) (-.f64 z y))
(*.f64 (-.f64 y z) t)
(*.f64 (-.f64 z y) (neg.f64 t))
(*.f64 t (-.f64 y z))
(neg.f64 (*.f64 (-.f64 z y) t))
(fma.f64 (neg.f64 t) (neg.f64 y) (*.f64 (neg.f64 z) t))
(fma.f64 (neg.f64 t) z (*.f64 t y))
(fma.f64 (neg.f64 y) (neg.f64 t) (*.f64 (neg.f64 z) t))
(fma.f64 (neg.f64 z) t (*.f64 t y))
(fma.f64 t (neg.f64 z) (*.f64 t y))
(fma.f64 t y (*.f64 (neg.f64 z) t))
(fma.f64 y t (*.f64 (neg.f64 z) t))
(fma.f64 z (neg.f64 t) (*.f64 t y))
(-.f64 (*.f64 (neg.f64 z) t) (*.f64 (neg.f64 t) y))
(-.f64 (*.f64 t y) (*.f64 t z))
(+.f64 (*.f64 (neg.f64 z) t) (*.f64 t y))
(+.f64 (*.f64 t y) (*.f64 (neg.f64 z) t))
(*.f64 (neg.f64 t) z)
(*.f64 (neg.f64 z) t)
(*.f64 t (neg.f64 z))
(*.f64 z (neg.f64 t))
(neg.f64 (*.f64 t z))
(neg.f64 z)

eval58.0ms (1.7%)

Memory
-27.1MiB live, 67.5MiB allocated; 14ms collecting garbage
Compiler

Compiled 6 060 to 955 computations (84.2% saved)

prune9.0ms (0.3%)

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

11 alts after pruning (3 fresh and 8 done)

PrunedKeptTotal
New3033306
Fresh000
Picked235
Done257
Total30711318
Accuracy
100.0%
Counts
318 → 11
Alt Table
Click to see full alt table
StatusAccuracyProgram
60.4%
(fma.f64 (-.f64 y z) #s(approx (- t x) t) x)
60.3%
#s(approx (+ (* (- z y) (- x t)) x) (fma.f64 (-.f64 z y) x x))
37.1%
#s(approx (+ (* (- z y) (- x t)) x) (*.f64 z (-.f64 x t)))
36.3%
#s(approx (+ (* (- z y) (- x t)) x) #s(approx (+ x (* x (- z y))) (+.f64 x (*.f64 x z))))
20.2%
#s(approx (+ (* (- z y) (- x t)) x) #s(approx (* z (- x t)) (*.f64 x z)))
44.1%
#s(approx (+ x (* (- y z) (- t x))) (fma.f64 y t (*.f64 (neg.f64 z) t)))
47.4%
#s(approx (+ x (* (- y z) (- t x))) (-.f64 (*.f64 t y) (*.f64 x y)))
42.5%
#s(approx (+ x (* (- y z) (- t x))) (-.f64 (*.f64 t y) (*.f64 t z)))
49.7%
#s(approx (+ x (* (- y z) (- t x))) (*.f64 y (-.f64 t x)))
44.1%
#s(approx (+ x (* (- y z) (- t x))) (*.f64 t (-.f64 y z)))
25.6%
#s(approx (+ x (* (- y z) (- t x))) #s(approx (* y (- t x)) (*.f64 t y)))
Compiler

Compiled 183 to 126 computations (31.1% saved)

regimes190.0ms (5.5%)

Memory
-18.6MiB live, 320.0MiB allocated; 84ms collecting garbage
Accuracy

Total -0.0b remaining (-0%)

Threshold costs -0b (-0%)

Counts
1 → 1
2 → 3
3 → 3
4 → 3
5 → 3
6 → 5
7 → 3
17 → 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 (+ (* (- z y) (- x t)) x) #s(approx (* z (- x t)) (*.f64 x z)))
Outputs
#s(approx (+ (* (- z y) (- x t)) x) #s(approx (* z (- x t)) (*.f64 x z)))
#s(approx (+ x (* (- y z) (- t x))) #s(approx (* y (- t x)) (*.f64 t y)))
#s(approx (+ (* (- z y) (- x t)) x) #s(approx (* z (- x t)) (*.f64 x z)))
Call 3
Inputs
#s(approx (+ x (* (- y z) (- t x))) #s(approx (* y (- t x)) (*.f64 t y)))
#s(approx (+ (* (- z y) (- x t)) x) #s(approx (* z (- x t)) (*.f64 x z)))
#s(approx (+ x (* (- y z) (- t x))) (*.f64 t (-.f64 y z)))
Outputs
#s(approx (+ (* (- z y) (- x t)) x) #s(approx (* z (- x t)) (*.f64 x z)))
#s(approx (+ x (* (- y z) (- t x))) (*.f64 t (-.f64 y z)))
#s(approx (+ (* (- z y) (- x t)) x) #s(approx (* z (- x t)) (*.f64 x z)))
Call 4
Inputs
#s(approx (+ x (* (- y z) (- t x))) #s(approx (* y (- t x)) (*.f64 t y)))
#s(approx (+ (* (- z y) (- x t)) x) #s(approx (* z (- x t)) (*.f64 x z)))
#s(approx (+ x (* (- y z) (- t x))) (*.f64 t (-.f64 y z)))
#s(approx (+ x (* (- y z) (- t x))) (*.f64 y (-.f64 t x)))
Outputs
#s(approx (+ x (* (- y z) (- t x))) (*.f64 y (-.f64 t 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)))
Call 5
Inputs
#s(approx (+ x (* (- y z) (- t x))) #s(approx (* y (- t x)) (*.f64 t y)))
#s(approx (+ (* (- z y) (- x t)) x) #s(approx (* z (- x t)) (*.f64 x z)))
#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 (+ (* (- z y) (- x t)) x) (*.f64 z (-.f64 x t)))
Outputs
#s(approx (+ (* (- z y) (- x t)) x) (*.f64 z (-.f64 x t)))
#s(approx (+ x (* (- y z) (- t x))) (*.f64 y (-.f64 t x)))
#s(approx (+ (* (- z y) (- x t)) x) (*.f64 z (-.f64 x t)))
Call 6
Inputs
#s(approx (+ x (* (- y z) (- t x))) #s(approx (* y (- t x)) (*.f64 t y)))
#s(approx (+ (* (- z y) (- x t)) x) #s(approx (* z (- x t)) (*.f64 x z)))
#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 (+ (* (- z y) (- x t)) x) (*.f64 z (-.f64 x t)))
#s(approx (+ x (* (- y z) (- t x))) (+.f64 x #s(approx (* y (- t x)) (*.f64 t y))))
Outputs
#s(approx (+ (* (- z y) (- x t)) x) (*.f64 z (-.f64 x t)))
#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 (+ x (* (- y z) (- t x))) (*.f64 y (-.f64 t x)))
#s(approx (+ (* (- z y) (- x t)) x) (*.f64 z (-.f64 x t)))
Call 7
Inputs
#s(approx (+ x (* (- y z) (- t x))) #s(approx (* y (- t x)) (*.f64 t y)))
#s(approx (+ (* (- z y) (- x t)) x) #s(approx (* z (- x t)) (*.f64 x z)))
#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 (+ (* (- z y) (- x t)) x) (*.f64 z (-.f64 x t)))
#s(approx (+ x (* (- y z) (- t x))) (+.f64 x #s(approx (* y (- t x)) (*.f64 t y))))
#s(approx (+ (* (- z y) (- x t)) x) #s(approx (+ x (* x (- z y))) (+.f64 x (*.f64 x z))))
Outputs
#s(approx (+ x (* (- y z) (- t x))) (*.f64 y (-.f64 t x)))
#s(approx (+ (* (- z y) (- x t)) x) #s(approx (+ x (* x (- z y))) (+.f64 x (*.f64 x z))))
#s(approx (+ x (* (- y z) (- t x))) (*.f64 y (-.f64 t x)))
Call 8
Inputs
#s(approx (+ x (* (- y z) (- t x))) #s(approx (* y (- t x)) (*.f64 t y)))
#s(approx (+ (* (- z y) (- x t)) x) #s(approx (* z (- x t)) (*.f64 x z)))
#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 (+ (* (- z y) (- x t)) x) (*.f64 z (-.f64 x t)))
#s(approx (+ x (* (- y z) (- t x))) (+.f64 x #s(approx (* y (- t x)) (*.f64 t y))))
#s(approx (+ (* (- z y) (- x t)) x) #s(approx (+ x (* x (- z y))) (+.f64 x (*.f64 x z))))
#s(approx (+ x (* (- y z) (- t x))) (fma.f64 (-.f64 t x) y x))
#s(approx (+ (* (- z y) (- x t)) x) (fma.f64 (-.f64 z y) x x))
(fma.f64 #s(approx (- z y) z) (-.f64 x t) x)
(fma.f64 (-.f64 y z) #s(approx (- t x) t) x)
#s(approx (+ x (* (- y z) (- t x))) (+.f64 x (*.f64 y (-.f64 t x))))
#s(approx (+ (* (- z y) (- x t)) x) (+.f64 x (*.f64 x (-.f64 z y))))
(+.f64 x (*.f64 (-.f64 y z) #s(approx (- t x) t)))
#s(approx (+ x (* (- y z) (- t x))) (-.f64 (*.f64 t y) (*.f64 t z)))
#s(approx (+ x (* (- y z) (- t x))) (-.f64 (*.f64 t y) (*.f64 x y)))
#s(approx (+ x (* (- y z) (- t x))) (fma.f64 y t (*.f64 (neg.f64 z) t)))
Outputs
#s(approx (+ (* (- z y) (- x t)) x) (*.f64 z (-.f64 x t)))
#s(approx (+ x (* (- y z) (- t x))) (fma.f64 (-.f64 t x) y x))
#s(approx (+ (* (- z y) (- x t)) x) (*.f64 z (-.f64 x t)))
Call 9
Inputs
#s(approx (+ x (* (- y z) (- t x))) #s(approx (* y (- t x)) (*.f64 t y)))
#s(approx (+ (* (- z y) (- x t)) x) #s(approx (* z (- x t)) (*.f64 x z)))
#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 (+ (* (- z y) (- x t)) x) (*.f64 z (-.f64 x t)))
#s(approx (+ x (* (- y z) (- t x))) (+.f64 x #s(approx (* y (- t x)) (*.f64 t y))))
#s(approx (+ (* (- z y) (- x t)) x) #s(approx (+ x (* x (- z y))) (+.f64 x (*.f64 x z))))
#s(approx (+ x (* (- y z) (- t x))) (fma.f64 (-.f64 t x) y x))
#s(approx (+ (* (- z y) (- x t)) x) (fma.f64 (-.f64 z y) x x))
(fma.f64 #s(approx (- z y) z) (-.f64 x t) x)
(fma.f64 (-.f64 y z) #s(approx (- t x) t) x)
#s(approx (+ x (* (- y z) (- t x))) (+.f64 x (*.f64 y (-.f64 t x))))
#s(approx (+ (* (- z y) (- x t)) x) (+.f64 x (*.f64 x (-.f64 z y))))
(+.f64 x (*.f64 (-.f64 y z) #s(approx (- t x) t)))
#s(approx (+ x (* (- y z) (- t x))) (-.f64 (*.f64 t y) (*.f64 t z)))
#s(approx (+ x (* (- y z) (- t x))) (-.f64 (*.f64 t y) (*.f64 x y)))
#s(approx (+ x (* (- y z) (- t x))) (fma.f64 y t (*.f64 (neg.f64 z) t)))
(fma.f64 (-.f64 z y) (-.f64 x t) x)
(+.f64 x (*.f64 (-.f64 y z) (-.f64 t x)))
(fma.f64 (-.f64 t x) y (fma.f64 (-.f64 x t) z x))
(fma.f64 (-.f64 z y) x (fma.f64 t (-.f64 y z) x))
Outputs
(fma.f64 (-.f64 z y) (-.f64 x t) x)
Calls

42 calls:

44.0ms
x
18.0ms
y
9.0ms
t
8.0ms
t
7.0ms
(+.f64 x (*.f64 (-.f64 y z) (-.f64 t x)))
Results
AccuracySegmentsBranch
25.6%1(+.f64 x (*.f64 (-.f64 y z) (-.f64 t x)))
25.6%1(-.f64 y z)
25.6%1y
25.6%1t
25.6%1x
25.6%1z
28.2%2(-.f64 y z)
33.7%3y
27.8%2(+.f64 x (*.f64 (-.f64 y z) (-.f64 t x)))
40.0%3z
36.1%3t
36.7%3x
44.1%1(+.f64 x (*.f64 (-.f64 y z) (-.f64 t x)))
44.1%1(-.f64 y z)
46.5%2z
51.0%3t
51.6%3x
44.1%1y
60.8%3t
61.8%3y
49.7%1(+.f64 x (*.f64 (-.f64 y z) (-.f64 t x)))
60.2%3z
52.1%2(-.f64 y z)
70.0%3z
74.4%5z
67.3%3y
62.5%4x
72.3%3y
66.0%5t
74.4%5z
74.1%5(-.f64 y z)
68.1%2(+.f64 x (*.f64 (-.f64 y z) (-.f64 t x)))
83.7%3x
84.7%3y
86.6%3z
85.6%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 416 to 267 computations (35.8% saved)

bsearch21.0ms (0.6%)

Memory
0.4MiB live, 46.5MiB allocated; 3ms collecting garbage
Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
Steps
TimeLeftRight
10.0ms
1262632332.590723
196906927370.84723
9.0ms
-2.713606183447834e+48
-3.133663957894282e+45
Samples
9.0ms240×0valid
Compiler

Compiled 477 to 375 computations (21.4% saved)

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

bsearch23.0ms (0.7%)

Memory
5.7MiB live, 51.2MiB allocated; 4ms collecting garbage
Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
Steps
TimeLeftRight
13.0ms
1.130975892164309e-8
1.7663238131529668
8.0ms
-1.4616325550946194e-17
-4.1279221956978896e-19
Samples
9.0ms256×0valid
Compiler

Compiled 620 to 447 computations (27.9% saved)

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

bsearch31.0ms (0.9%)

Memory
17.6MiB live, 65.2MiB allocated; 12ms collecting garbage
Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
narrow-enough
narrow-enough
Steps
TimeLeftRight
1.0ms
1262632332.590723
196906927370.84723
7.0ms
2.276280906349535e-53
3.1237817053130146e-52
13.0ms
-7.144957329913402e-129
-2.113380281273252e-129
8.0ms
-2.713606183447834e+48
-3.133663957894282e+45
Samples
17.0ms288×0valid
Compiler

Compiled 858 to 661 computations (23% saved)

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

bsearch2.0ms (0%)

Memory
5.0MiB live, 5.0MiB allocated; 0ms collecting garbage
Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
Steps
TimeLeftRight
1.0ms
1262632332.590723
196906927370.84723
1.0ms
-2.713606183447834e+48
-3.133663957894282e+45
Compiler

Compiled 462 to 375 computations (18.8% saved)

bsearch23.0ms (0.7%)

Memory
0.7MiB live, 47.1MiB allocated; 4ms collecting garbage
Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
Steps
TimeLeftRight
10.0ms
240925183378.4413
1748672322622353400.0
11.0ms
-4.1279221956978896e-19
-1.540110854665162e-21
Samples
12.0ms272×0valid
Compiler

Compiled 522 to 423 computations (19% saved)

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

bsearch18.0ms (0.5%)

Memory
-21.5MiB live, 24.8MiB allocated; 4ms collecting garbage
Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
Steps
TimeLeftRight
5.0ms
4.317436452910943e+145
7.216547438501761e+145
12.0ms
-1.6866101252321872e+118
-1.1562800557236652e+110
Samples
9.0ms208×0valid
Compiler

Compiled 454 to 340 computations (25.1% saved)

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

bsearch14.0ms (0.4%)

Memory
14.2MiB live, 14.2MiB allocated; 0ms collecting garbage
Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
Steps
TimeLeftRight
9.0ms
9.620591836956699e-27
4.711580801545486e-24
4.0ms
-2.713606183447834e+48
-3.133663957894282e+45
Samples
6.0ms176×0valid
Compiler

Compiled 620 to 431 computations (30.5% saved)

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

derivations55.0ms (1.6%)

Memory
-14.0MiB live, 31.6MiB allocated; 4ms collecting garbage
Stop Event
fuel
Compiler

Compiled 471 to 81 computations (82.8% saved)

preprocess89.0ms (2.5%)

Memory
-22.7MiB live, 223.6MiB allocated; 46ms collecting garbage
Compiler

Compiled 480 to 89 computations (81.5% saved)

end0.0ms (0%)

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

Profiling

Loading profile data...