Linear.V3:$cdot from linear-1.19.1.3, B

Time bar (total: 2.1s)

start0.0ms (0.0%)

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

analyze0.0ms (0.0%)

Memory
1.0MiB live, 1.0MiB allocated; 0ms collecting garbage
Algorithm
search
Search
ProbabilityValidUnknownPreconditionInfiniteDomainCan'tIter
0.0%0.0%99.7%0.3%0.0%0.0%0.0%0
100.0%99.7%0.0%0.3%0.0%0.0%0.0%1
Compiler

Compiled 13 to 13 computations (0.0% saved)

sample912.0ms (42.4%)

Memory
56.1MiB live, 1 759.4MiB allocated; 279ms collecting garbage
Samples
611.0ms8 256×0valid
Precisions
Click to see histograms. Total time spent on operations: 203.0ms
ival-mult!: 166.0ms (81.9% of total)
ival-add!: 36.0ms (17.8% of total)
adjust: 2.0ms (1.0% of total)
Bogosity

preprocess47.0ms (2.2%)

Memory
-3.1MiB live, 81.8MiB allocated; 22ms collecting garbage
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
089318
1320308
2947308
31785308
41816308
Stop Event
saturated
Alt Table
Click to see full alt table
StatusAccuracyProgram
98.0%
(+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b))
Symmetry

(sort x y)

(sort z t)

(sort a b)

Compiler

Compiled 22 to 22 computations (0.0% saved)

sample0.0ms (0.0%)

Memory
0.2MiB live, 0.2MiB allocated; 0ms collecting garbage
Calls
Call 1
Inputs
Outputs

series26.0ms (1.2%)

Memory
19.0MiB live, 64.9MiB allocated; 6ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0140581
Stop Event
iter-limit
Counts
11 → 33
Calls
Call 1
Inputs
x
y
(*.f64 x y)
z
t
(*.f64 z t)
(+.f64 (*.f64 x y) (*.f64 z t))
a
b
(*.f64 a b)
(+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b))
Outputs
#s(approx x x)
#s(approx (* x y) (*.f64 x y))
#s(approx (+ (* x y) (* z t)) (*.f64 t z))
#s(approx (+ (* x y) (* z t)) (fma.f64 t z (*.f64 x y)))
#s(approx (+ (+ (* x y) (* z t)) (* a b)) (fma.f64 a b (*.f64 t z)))
#s(approx (+ (+ (* x y) (* z t)) (* a b)) (fma.f64 a b (fma.f64 t z (*.f64 x y))))
#s(approx (+ (* x y) (* z t)) (*.f64 x (+.f64 y (/.f64 (*.f64 t z) x))))
#s(approx (+ (+ (* x y) (* z t)) (* a b)) (*.f64 x (+.f64 y (+.f64 (/.f64 (*.f64 a b) x) (/.f64 (*.f64 t z) x)))))
#s(approx (+ (* x y) (* z t)) (*.f64 #s(literal -1 binary64) (*.f64 x (fma.f64 #s(literal -1 binary64) y (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 t z) x))))))
#s(approx (+ (+ (* x y) (* z t)) (* a b)) (*.f64 #s(literal -1 binary64) (*.f64 x (fma.f64 #s(literal -1 binary64) y (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 a b (*.f64 t z)) x))))))
#s(approx y y)
#s(approx (+ (* x y) (* z t)) (*.f64 y (+.f64 x (/.f64 (*.f64 t z) y))))
#s(approx (+ (+ (* x y) (* z t)) (* a b)) (*.f64 y (+.f64 x (+.f64 (/.f64 (*.f64 a b) y) (/.f64 (*.f64 t z) y)))))
#s(approx (+ (* x y) (* z t)) (*.f64 #s(literal -1 binary64) (*.f64 y (fma.f64 #s(literal -1 binary64) x (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 t z) y))))))
#s(approx (+ (+ (* x y) (* z t)) (* a b)) (*.f64 #s(literal -1 binary64) (*.f64 y (fma.f64 #s(literal -1 binary64) x (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 a b (*.f64 t z)) y))))))
#s(approx z z)
#s(approx (+ (+ (* x y) (* z t)) (* a b)) (fma.f64 a b (*.f64 x y)))
#s(approx (+ (* x y) (* z t)) (*.f64 z (+.f64 t (/.f64 (*.f64 x y) z))))
#s(approx (+ (+ (* x y) (* z t)) (* a b)) (*.f64 z (+.f64 t (+.f64 (/.f64 (*.f64 a b) z) (/.f64 (*.f64 x y) z)))))
#s(approx (+ (* x y) (* z t)) (*.f64 #s(literal -1 binary64) (*.f64 z (fma.f64 #s(literal -1 binary64) t (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 x y) z))))))
#s(approx (+ (+ (* x y) (* z t)) (* a b)) (*.f64 #s(literal -1 binary64) (*.f64 z (fma.f64 #s(literal -1 binary64) t (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 a b (*.f64 x y)) z))))))
#s(approx t t)
#s(approx (+ (* x y) (* z t)) (*.f64 t (+.f64 z (/.f64 (*.f64 x y) t))))
#s(approx (+ (+ (* x y) (* z t)) (* a b)) (*.f64 t (+.f64 z (+.f64 (/.f64 (*.f64 a b) t) (/.f64 (*.f64 x y) t)))))
#s(approx (+ (* x y) (* z t)) (*.f64 #s(literal -1 binary64) (*.f64 t (fma.f64 #s(literal -1 binary64) z (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 x y) t))))))
#s(approx (+ (+ (* x y) (* z t)) (* a b)) (*.f64 #s(literal -1 binary64) (*.f64 t (fma.f64 #s(literal -1 binary64) z (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 a b (*.f64 x y)) t))))))
#s(approx a a)
#s(approx (* a b) (*.f64 a b))
#s(approx (+ (+ (* x y) (* z t)) (* a b)) (*.f64 a (+.f64 b (+.f64 (/.f64 (*.f64 t z) a) (/.f64 (*.f64 x y) a)))))
#s(approx (+ (+ (* x y) (* z t)) (* a b)) (*.f64 #s(literal -1 binary64) (*.f64 a (fma.f64 #s(literal -1 binary64) b (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 t z (*.f64 x y)) a))))))
#s(approx b b)
#s(approx (+ (+ (* x y) (* z t)) (* a b)) (*.f64 b (+.f64 a (+.f64 (/.f64 (*.f64 t z) b) (/.f64 (*.f64 x y) b)))))
#s(approx (+ (+ (* x y) (* z t)) (* a b)) (*.f64 #s(literal -1 binary64) (*.f64 b (fma.f64 #s(literal -1 binary64) a (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 t z (*.f64 x y)) b))))))
Calls

18 calls:

TimeVariablePoint
5.0ms
t
-inf
1.0ms
z
inf
1.0ms
x
-inf
1.0ms
a
-inf
1.0ms
x
0

rewrite123.0ms (5.7%)

Memory
6.0MiB live, 109.6MiB allocated; 28ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01133
01633
16533
223333
369733
4117433
5153433
0401030
Stop Event
iter-limit
node-limit
iter-limit
Counts
11 → 107
Calls
Call 1
Inputs
x
y
(*.f64 x y)
z
t
(*.f64 z t)
(+.f64 (*.f64 x y) (*.f64 z t))
a
b
(*.f64 a b)
(+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b))
Outputs
x
y
(*.f64 (neg.f64 y) (neg.f64 x))
(*.f64 (neg.f64 x) (neg.f64 y))
(*.f64 y x)
(*.f64 x y)
(neg.f64 (*.f64 (neg.f64 y) x))
z
t
(*.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 z) t))
(*.f64 (-.f64 #s(literal 1 binary64) (/.f64 (*.f64 (neg.f64 y) x) (*.f64 t z))) (*.f64 t z))
(*.f64 (+.f64 #s(literal 1 binary64) (/.f64 (*.f64 y x) (*.f64 t z))) (*.f64 t z))
(*.f64 (-.f64 #s(literal 1 binary64) (/.f64 (*.f64 (neg.f64 z) t) (*.f64 y x))) (*.f64 y x))
(*.f64 (+.f64 #s(literal 1 binary64) (/.f64 (*.f64 t z) (*.f64 y x))) (*.f64 y x))
(/.f64 (-.f64 (*.f64 (*.f64 t z) (*.f64 t z)) (*.f64 (*.f64 (neg.f64 y) x) (*.f64 (neg.f64 y) x))) (+.f64 (*.f64 t z) (*.f64 (neg.f64 y) x)))
(/.f64 (-.f64 (pow.f64 (*.f64 t z) #s(literal 3 binary64)) (pow.f64 (*.f64 (neg.f64 y) x) #s(literal 3 binary64))) (fma.f64 (*.f64 t z) (*.f64 t z) (fma.f64 (*.f64 (neg.f64 y) x) (*.f64 (neg.f64 y) x) (*.f64 (*.f64 t z) (*.f64 (neg.f64 y) x)))))
(/.f64 (-.f64 (*.f64 (*.f64 t z) (*.f64 t z)) (*.f64 (*.f64 y x) (*.f64 y x))) (-.f64 (*.f64 t z) (*.f64 y x)))
(/.f64 (-.f64 (*.f64 (*.f64 y x) (*.f64 y x)) (*.f64 (*.f64 (neg.f64 z) t) (*.f64 (neg.f64 z) t))) (+.f64 (*.f64 y x) (*.f64 (neg.f64 z) t)))
(/.f64 (+.f64 (pow.f64 (*.f64 t z) #s(literal 3 binary64)) (pow.f64 (*.f64 y x) #s(literal 3 binary64))) (fma.f64 (*.f64 t z) (*.f64 t z) (-.f64 (*.f64 (*.f64 y x) (*.f64 y x)) (*.f64 (*.f64 t z) (*.f64 y x)))))
(/.f64 (-.f64 (pow.f64 (*.f64 y x) #s(literal 3 binary64)) (pow.f64 (*.f64 (neg.f64 z) t) #s(literal 3 binary64))) (fma.f64 (*.f64 y x) (*.f64 y x) (fma.f64 (*.f64 (neg.f64 z) t) (*.f64 (neg.f64 z) t) (*.f64 (*.f64 y x) (*.f64 (neg.f64 z) t)))))
(/.f64 (-.f64 (*.f64 (*.f64 y x) (*.f64 y x)) (*.f64 (*.f64 t z) (*.f64 t z))) (-.f64 (*.f64 y x) (*.f64 t z)))
(/.f64 (+.f64 (pow.f64 (*.f64 y x) #s(literal 3 binary64)) (pow.f64 (*.f64 t z) #s(literal 3 binary64))) (fma.f64 (*.f64 y x) (*.f64 y x) (-.f64 (*.f64 (*.f64 t z) (*.f64 t z)) (*.f64 (*.f64 y x) (*.f64 t z)))))
(neg.f64 (neg.f64 (fma.f64 t z (*.f64 y x))))
(fma.f64 (neg.f64 y) (neg.f64 x) (*.f64 t z))
(fma.f64 (neg.f64 x) (neg.f64 y) (*.f64 t z))
(fma.f64 (neg.f64 t) (neg.f64 z) (*.f64 y x))
(fma.f64 (neg.f64 z) (neg.f64 t) (*.f64 y x))
(fma.f64 t z (*.f64 y x))
(fma.f64 z t (*.f64 y x))
(fma.f64 y x (*.f64 t z))
(fma.f64 x y (*.f64 t z))
(-.f64 (*.f64 t z) (*.f64 (neg.f64 y) x))
(-.f64 (*.f64 y x) (*.f64 (neg.f64 z) t))
(+.f64 (*.f64 t z) (*.f64 y x))
(+.f64 (*.f64 y x) (*.f64 t z))
a
b
(*.f64 (neg.f64 b) (neg.f64 a))
(*.f64 (neg.f64 a) (neg.f64 b))
(*.f64 b a)
(*.f64 a b)
(neg.f64 (*.f64 (neg.f64 a) b))
(*.f64 (-.f64 #s(literal 1 binary64) (/.f64 (*.f64 (neg.f64 y) x) (fma.f64 b a (*.f64 t z)))) (fma.f64 b a (*.f64 t z)))
(*.f64 (-.f64 #s(literal 1 binary64) (/.f64 (neg.f64 (fma.f64 b a (*.f64 y x))) (*.f64 t z))) (*.f64 t z))
(*.f64 (+.f64 #s(literal 1 binary64) (/.f64 (*.f64 t z) (fma.f64 b a (*.f64 y x)))) (fma.f64 b a (*.f64 y x)))
(*.f64 (+.f64 #s(literal 1 binary64) (/.f64 (*.f64 y x) (fma.f64 b a (*.f64 t z)))) (fma.f64 b a (*.f64 t z)))
(*.f64 (+.f64 #s(literal 1 binary64) (/.f64 (fma.f64 b a (*.f64 y x)) (*.f64 t z))) (*.f64 t z))
(*.f64 (-.f64 #s(literal 1 binary64) (/.f64 (*.f64 (neg.f64 z) t) (fma.f64 b a (*.f64 y x)))) (fma.f64 b a (*.f64 y x)))
(*.f64 (-.f64 #s(literal 1 binary64) (/.f64 (neg.f64 (fma.f64 t z (*.f64 y x))) (*.f64 b a))) (*.f64 b a))
(*.f64 (-.f64 #s(literal 1 binary64) (/.f64 (neg.f64 (fma.f64 b a (*.f64 t z))) (*.f64 y x))) (*.f64 y x))
(*.f64 (+.f64 #s(literal 1 binary64) (/.f64 (fma.f64 t z (*.f64 y x)) (*.f64 b a))) (*.f64 b a))
(*.f64 (+.f64 #s(literal 1 binary64) (/.f64 (fma.f64 b a (*.f64 t z)) (*.f64 y x))) (*.f64 y x))
(*.f64 (-.f64 #s(literal 1 binary64) (/.f64 (*.f64 (neg.f64 a) b) (fma.f64 t z (*.f64 y x)))) (fma.f64 t z (*.f64 y x)))
(*.f64 (+.f64 #s(literal 1 binary64) (/.f64 (*.f64 b a) (fma.f64 t z (*.f64 y x)))) (fma.f64 t z (*.f64 y x)))
(/.f64 (-.f64 (*.f64 (fma.f64 b a (*.f64 t z)) (fma.f64 b a (*.f64 t z))) (*.f64 (*.f64 (neg.f64 y) x) (*.f64 (neg.f64 y) x))) (+.f64 (fma.f64 b a (*.f64 t z)) (*.f64 (neg.f64 y) x)))
(/.f64 (-.f64 (*.f64 (*.f64 t z) (*.f64 t z)) (*.f64 (neg.f64 (fma.f64 b a (*.f64 y x))) (neg.f64 (fma.f64 b a (*.f64 y x))))) (+.f64 (*.f64 t z) (neg.f64 (fma.f64 b a (*.f64 y x)))))
(/.f64 (-.f64 (pow.f64 (fma.f64 b a (*.f64 t z)) #s(literal 3 binary64)) (pow.f64 (*.f64 (neg.f64 y) x) #s(literal 3 binary64))) (fma.f64 (fma.f64 b a (*.f64 t z)) (fma.f64 b a (*.f64 t z)) (fma.f64 (*.f64 (neg.f64 y) x) (*.f64 (neg.f64 y) x) (*.f64 (fma.f64 b a (*.f64 t z)) (*.f64 (neg.f64 y) x)))))
(/.f64 (-.f64 (pow.f64 (*.f64 t z) #s(literal 3 binary64)) (pow.f64 (neg.f64 (fma.f64 b a (*.f64 y x))) #s(literal 3 binary64))) (fma.f64 (*.f64 t z) (*.f64 t z) (fma.f64 (neg.f64 (fma.f64 b a (*.f64 y x))) (neg.f64 (fma.f64 b a (*.f64 y x))) (*.f64 (*.f64 t z) (neg.f64 (fma.f64 b a (*.f64 y x)))))))
(/.f64 (-.f64 (*.f64 (fma.f64 b a (*.f64 y x)) (fma.f64 b a (*.f64 y x))) (*.f64 (*.f64 t z) (*.f64 t z))) (-.f64 (fma.f64 b a (*.f64 y x)) (*.f64 t z)))
(/.f64 (-.f64 (*.f64 (fma.f64 b a (*.f64 t z)) (fma.f64 b a (*.f64 t z))) (*.f64 (*.f64 y x) (*.f64 y x))) (-.f64 (fma.f64 b a (*.f64 t z)) (*.f64 y x)))
(/.f64 (-.f64 (*.f64 (*.f64 t z) (*.f64 t z)) (*.f64 (fma.f64 b a (*.f64 y x)) (fma.f64 b a (*.f64 y x)))) (-.f64 (*.f64 t z) (fma.f64 b a (*.f64 y x))))
(/.f64 (-.f64 (*.f64 (fma.f64 b a (*.f64 y x)) (fma.f64 b a (*.f64 y x))) (*.f64 (*.f64 (neg.f64 z) t) (*.f64 (neg.f64 z) t))) (+.f64 (fma.f64 b a (*.f64 y x)) (*.f64 (neg.f64 z) t)))
(/.f64 (-.f64 (*.f64 (*.f64 b a) (*.f64 b a)) (*.f64 (neg.f64 (fma.f64 t z (*.f64 y x))) (neg.f64 (fma.f64 t z (*.f64 y x))))) (+.f64 (*.f64 b a) (neg.f64 (fma.f64 t z (*.f64 y x)))))
(/.f64 (-.f64 (*.f64 (*.f64 y x) (*.f64 y x)) (*.f64 (neg.f64 (fma.f64 b a (*.f64 t z))) (neg.f64 (fma.f64 b a (*.f64 t z))))) (+.f64 (*.f64 y x) (neg.f64 (fma.f64 b a (*.f64 t z)))))
(/.f64 (+.f64 (pow.f64 (fma.f64 b a (*.f64 y x)) #s(literal 3 binary64)) (pow.f64 (*.f64 t z) #s(literal 3 binary64))) (fma.f64 (fma.f64 b a (*.f64 y x)) (fma.f64 b a (*.f64 y x)) (-.f64 (*.f64 (*.f64 t z) (*.f64 t z)) (*.f64 (fma.f64 b a (*.f64 y x)) (*.f64 t z)))))
(/.f64 (+.f64 (pow.f64 (fma.f64 b a (*.f64 t z)) #s(literal 3 binary64)) (pow.f64 (*.f64 y x) #s(literal 3 binary64))) (fma.f64 (fma.f64 b a (*.f64 t z)) (fma.f64 b a (*.f64 t z)) (-.f64 (*.f64 (*.f64 y x) (*.f64 y x)) (*.f64 (fma.f64 b a (*.f64 t z)) (*.f64 y x)))))
(/.f64 (+.f64 (pow.f64 (*.f64 t z) #s(literal 3 binary64)) (pow.f64 (fma.f64 b a (*.f64 y x)) #s(literal 3 binary64))) (fma.f64 (*.f64 t z) (*.f64 t z) (-.f64 (*.f64 (fma.f64 b a (*.f64 y x)) (fma.f64 b a (*.f64 y x))) (*.f64 (*.f64 t z) (fma.f64 b a (*.f64 y x))))))
(/.f64 (-.f64 (pow.f64 (fma.f64 b a (*.f64 y x)) #s(literal 3 binary64)) (pow.f64 (*.f64 (neg.f64 z) t) #s(literal 3 binary64))) (fma.f64 (fma.f64 b a (*.f64 y x)) (fma.f64 b a (*.f64 y x)) (fma.f64 (*.f64 (neg.f64 z) t) (*.f64 (neg.f64 z) t) (*.f64 (fma.f64 b a (*.f64 y x)) (*.f64 (neg.f64 z) t)))))
(/.f64 (-.f64 (pow.f64 (*.f64 b a) #s(literal 3 binary64)) (pow.f64 (neg.f64 (fma.f64 t z (*.f64 y x))) #s(literal 3 binary64))) (fma.f64 (*.f64 b a) (*.f64 b a) (fma.f64 (neg.f64 (fma.f64 t z (*.f64 y x))) (neg.f64 (fma.f64 t z (*.f64 y x))) (*.f64 (*.f64 b a) (neg.f64 (fma.f64 t z (*.f64 y x)))))))
(/.f64 (-.f64 (pow.f64 (*.f64 y x) #s(literal 3 binary64)) (pow.f64 (neg.f64 (fma.f64 b a (*.f64 t z))) #s(literal 3 binary64))) (fma.f64 (*.f64 y x) (*.f64 y x) (fma.f64 (neg.f64 (fma.f64 b a (*.f64 t z))) (neg.f64 (fma.f64 b a (*.f64 t z))) (*.f64 (*.f64 y x) (neg.f64 (fma.f64 b a (*.f64 t z)))))))
(/.f64 (-.f64 (*.f64 (*.f64 b a) (*.f64 b a)) (*.f64 (fma.f64 t z (*.f64 y x)) (fma.f64 t z (*.f64 y x)))) (-.f64 (*.f64 b a) (fma.f64 t z (*.f64 y x))))
(/.f64 (-.f64 (*.f64 (*.f64 y x) (*.f64 y x)) (*.f64 (fma.f64 b a (*.f64 t z)) (fma.f64 b a (*.f64 t z)))) (-.f64 (*.f64 y x) (fma.f64 b a (*.f64 t z))))
(/.f64 (-.f64 (*.f64 (fma.f64 t z (*.f64 y x)) (fma.f64 t z (*.f64 y x))) (*.f64 (*.f64 (neg.f64 a) b) (*.f64 (neg.f64 a) b))) (+.f64 (fma.f64 t z (*.f64 y x)) (*.f64 (neg.f64 a) b)))
(/.f64 (+.f64 (pow.f64 (*.f64 b a) #s(literal 3 binary64)) (pow.f64 (fma.f64 t z (*.f64 y x)) #s(literal 3 binary64))) (fma.f64 (*.f64 b a) (*.f64 b a) (-.f64 (*.f64 (fma.f64 t z (*.f64 y x)) (fma.f64 t z (*.f64 y x))) (*.f64 (*.f64 b a) (fma.f64 t z (*.f64 y x))))))
(/.f64 (+.f64 (pow.f64 (*.f64 y x) #s(literal 3 binary64)) (pow.f64 (fma.f64 b a (*.f64 t z)) #s(literal 3 binary64))) (fma.f64 (*.f64 y x) (*.f64 y x) (-.f64 (*.f64 (fma.f64 b a (*.f64 t z)) (fma.f64 b a (*.f64 t z))) (*.f64 (*.f64 y x) (fma.f64 b a (*.f64 t z))))))
(/.f64 (-.f64 (pow.f64 (fma.f64 t z (*.f64 y x)) #s(literal 3 binary64)) (pow.f64 (*.f64 (neg.f64 a) b) #s(literal 3 binary64))) (fma.f64 (fma.f64 t z (*.f64 y x)) (fma.f64 t z (*.f64 y x)) (fma.f64 (*.f64 (neg.f64 a) b) (*.f64 (neg.f64 a) b) (*.f64 (fma.f64 t z (*.f64 y x)) (*.f64 (neg.f64 a) b)))))
(/.f64 (-.f64 (*.f64 (fma.f64 t z (*.f64 y x)) (fma.f64 t z (*.f64 y x))) (*.f64 (*.f64 b a) (*.f64 b a))) (-.f64 (fma.f64 t z (*.f64 y x)) (*.f64 b a)))
(/.f64 (+.f64 (pow.f64 (fma.f64 t z (*.f64 y x)) #s(literal 3 binary64)) (pow.f64 (*.f64 b a) #s(literal 3 binary64))) (fma.f64 (fma.f64 t z (*.f64 y x)) (fma.f64 t z (*.f64 y x)) (-.f64 (*.f64 (*.f64 b a) (*.f64 b a)) (*.f64 (fma.f64 t z (*.f64 y x)) (*.f64 b a)))))
(neg.f64 (neg.f64 (fma.f64 b a (fma.f64 t z (*.f64 y x)))))
(fma.f64 (neg.f64 y) (neg.f64 x) (fma.f64 b a (*.f64 t z)))
(fma.f64 (neg.f64 x) (neg.f64 y) (fma.f64 b a (*.f64 t z)))
(fma.f64 (neg.f64 t) (neg.f64 z) (fma.f64 b a (*.f64 y x)))
(fma.f64 (neg.f64 b) (neg.f64 a) (fma.f64 t z (*.f64 y x)))
(fma.f64 (neg.f64 z) (neg.f64 t) (fma.f64 b a (*.f64 y x)))
(fma.f64 (neg.f64 a) (neg.f64 b) (fma.f64 t z (*.f64 y x)))
(fma.f64 b a (fma.f64 t z (*.f64 y x)))
(fma.f64 a b (fma.f64 t z (*.f64 y x)))
(fma.f64 t z (fma.f64 b a (*.f64 y x)))
(fma.f64 z t (fma.f64 b a (*.f64 y x)))
(fma.f64 y x (fma.f64 b a (*.f64 t z)))
(fma.f64 x y (fma.f64 b a (*.f64 t z)))
(-.f64 (fma.f64 b a (*.f64 y x)) (*.f64 (neg.f64 z) t))
(-.f64 (fma.f64 b a (*.f64 t z)) (*.f64 (neg.f64 y) x))
(-.f64 (*.f64 b a) (neg.f64 (fma.f64 t z (*.f64 y x))))
(-.f64 (fma.f64 t z (*.f64 y x)) (*.f64 (neg.f64 a) b))
(-.f64 (*.f64 t z) (neg.f64 (fma.f64 b a (*.f64 y x))))
(-.f64 (*.f64 y x) (neg.f64 (fma.f64 b a (*.f64 t z))))
(+.f64 (fma.f64 b a (*.f64 y x)) (*.f64 t z))
(+.f64 (fma.f64 b a (*.f64 t z)) (*.f64 y x))
(+.f64 (*.f64 b a) (fma.f64 t z (*.f64 y x)))
(+.f64 (fma.f64 t z (*.f64 y x)) (*.f64 b a))
(+.f64 (*.f64 t z) (fma.f64 b a (*.f64 y x)))
(+.f64 (*.f64 y x) (fma.f64 b a (*.f64 t z)))

eval28.0ms (1.3%)

Memory
-12.3MiB live, 33.5MiB allocated; 3ms collecting garbage
Compiler

Compiled 2 816 to 479 computations (83.0% saved)

prune4.0ms (0.2%)

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

3 alts after pruning (3 fresh and 0 done)

PrunedKeptTotal
New1293132
Fresh000
Picked101
Done000
Total1303133
Accuracy
100.0%
Counts
133 → 3
Alt Table
Click to see full alt table
StatusAccuracyProgram
99.2%
(fma.f64 z t (fma.f64 b a (*.f64 y x)))
68.4%
#s(approx (+ (+ (* x y) (* z t)) (* a b)) (fma.f64 a b (*.f64 x y)))
65.7%
#s(approx (+ (+ (* x y) (* z t)) (* a b)) (fma.f64 a b (*.f64 t z)))
Compiler

Compiled 45 to 37 computations (17.8% saved)

sample0.0ms (0.0%)

Memory
0.1MiB live, 0.1MiB allocated; 0ms collecting garbage
Calls
Call 1
Inputs
Outputs

series20.0ms (0.9%)

Memory
-8.1MiB live, 38.1MiB allocated; 3ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0172729
Stop Event
iter-limit
Counts
15 → 41
Calls
Call 1
Inputs
x
y
z
t
a
b
(*.f64 t z)
(fma.f64 a b (*.f64 t z))
#s(approx (+ (+ (* x y) (* z t)) (* a b)) (fma.f64 a b (*.f64 t z)))
(*.f64 x y)
(fma.f64 a b (*.f64 x y))
#s(approx (+ (+ (* x y) (* z t)) (* a b)) (fma.f64 a b (*.f64 x y)))
(*.f64 y x)
(fma.f64 b a (*.f64 y x))
(fma.f64 z t (fma.f64 b a (*.f64 y x)))
Outputs
#s(approx x x)
#s(approx (+ (+ (* x y) (* z t)) (* a b)) (fma.f64 a b (*.f64 t z)))
#s(approx (+ (+ (* x y) (* z t)) (* a b)) (fma.f64 a b (fma.f64 t z (*.f64 x y))))
#s(approx (* x y) (*.f64 x y))
#s(approx (+ (* a b) (* x y)) (*.f64 a b))
#s(approx (+ (* a b) (* x y)) (fma.f64 a b (*.f64 x y)))
#s(approx (+ (+ (* x y) (* z t)) (* a b)) (*.f64 x (+.f64 y (+.f64 (/.f64 (*.f64 a b) x) (/.f64 (*.f64 t z) x)))))
#s(approx (+ (* a b) (* x y)) (*.f64 x (+.f64 y (/.f64 (*.f64 a b) x))))
#s(approx (+ (+ (* x y) (* z t)) (* a b)) (*.f64 #s(literal -1 binary64) (*.f64 x (fma.f64 #s(literal -1 binary64) y (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 a b (*.f64 t z)) x))))))
#s(approx (+ (* a b) (* x y)) (*.f64 #s(literal -1 binary64) (*.f64 x (fma.f64 #s(literal -1 binary64) y (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 a b) x))))))
#s(approx y y)
#s(approx (+ (+ (* x y) (* z t)) (* a b)) (*.f64 y (+.f64 x (+.f64 (/.f64 (*.f64 a b) y) (/.f64 (*.f64 t z) y)))))
#s(approx (+ (* a b) (* x y)) (*.f64 y (+.f64 x (/.f64 (*.f64 a b) y))))
#s(approx (+ (+ (* x y) (* z t)) (* a b)) (*.f64 #s(literal -1 binary64) (*.f64 y (fma.f64 #s(literal -1 binary64) x (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 a b (*.f64 t z)) y))))))
#s(approx (+ (* a b) (* x y)) (*.f64 #s(literal -1 binary64) (*.f64 y (fma.f64 #s(literal -1 binary64) x (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 a b) y))))))
#s(approx z z)
#s(approx (* t z) (*.f64 t z))
#s(approx (+ (* a b) (* t z)) (*.f64 z (+.f64 t (/.f64 (*.f64 a b) z))))
#s(approx (+ (+ (* x y) (* z t)) (* a b)) (*.f64 z (+.f64 t (+.f64 (/.f64 (*.f64 a b) z) (/.f64 (*.f64 x y) z)))))
#s(approx (+ (* a b) (* t z)) (*.f64 #s(literal -1 binary64) (*.f64 z (fma.f64 #s(literal -1 binary64) t (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 a b) z))))))
#s(approx (+ (+ (* x y) (* z t)) (* a b)) (*.f64 #s(literal -1 binary64) (*.f64 z (fma.f64 #s(literal -1 binary64) t (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 a b (*.f64 x y)) z))))))
#s(approx t t)
#s(approx (+ (* a b) (* t z)) (*.f64 t (+.f64 z (/.f64 (*.f64 a b) t))))
#s(approx (+ (+ (* x y) (* z t)) (* a b)) (*.f64 t (+.f64 z (+.f64 (/.f64 (*.f64 a b) t) (/.f64 (*.f64 x y) t)))))
#s(approx (+ (* a b) (* t z)) (*.f64 #s(literal -1 binary64) (*.f64 t (fma.f64 #s(literal -1 binary64) z (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 a b) t))))))
#s(approx (+ (+ (* x y) (* z t)) (* a b)) (*.f64 #s(literal -1 binary64) (*.f64 t (fma.f64 #s(literal -1 binary64) z (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 a b (*.f64 x y)) t))))))
#s(approx a a)
#s(approx (+ (+ (* x y) (* z t)) (* a b)) (fma.f64 t z (*.f64 x y)))
#s(approx (+ (* a b) (* t z)) (*.f64 a (+.f64 b (/.f64 (*.f64 t z) a))))
#s(approx (+ (+ (* x y) (* z t)) (* a b)) (*.f64 a (+.f64 b (+.f64 (/.f64 (*.f64 t z) a) (/.f64 (*.f64 x y) a)))))
#s(approx (+ (* a b) (* x y)) (*.f64 a (+.f64 b (/.f64 (*.f64 x y) a))))
#s(approx (+ (* a b) (* t z)) (*.f64 #s(literal -1 binary64) (*.f64 a (fma.f64 #s(literal -1 binary64) b (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 t z) a))))))
#s(approx (+ (+ (* x y) (* z t)) (* a b)) (*.f64 #s(literal -1 binary64) (*.f64 a (fma.f64 #s(literal -1 binary64) b (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 t z (*.f64 x y)) a))))))
#s(approx (+ (* a b) (* x y)) (*.f64 #s(literal -1 binary64) (*.f64 a (fma.f64 #s(literal -1 binary64) b (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 x y) a))))))
#s(approx b b)
#s(approx (+ (* a b) (* t z)) (*.f64 b (+.f64 a (/.f64 (*.f64 t z) b))))
#s(approx (+ (+ (* x y) (* z t)) (* a b)) (*.f64 b (+.f64 a (+.f64 (/.f64 (*.f64 t z) b) (/.f64 (*.f64 x y) b)))))
#s(approx (+ (* a b) (* x y)) (*.f64 b (+.f64 a (/.f64 (*.f64 x y) b))))
#s(approx (+ (* a b) (* t z)) (*.f64 #s(literal -1 binary64) (*.f64 b (fma.f64 #s(literal -1 binary64) a (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 t z) b))))))
#s(approx (+ (+ (* x y) (* z t)) (* a b)) (*.f64 #s(literal -1 binary64) (*.f64 b (fma.f64 #s(literal -1 binary64) a (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 t z (*.f64 x y)) b))))))
#s(approx (+ (* a b) (* x y)) (*.f64 #s(literal -1 binary64) (*.f64 b (fma.f64 #s(literal -1 binary64) a (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 x y) b))))))
Calls

18 calls:

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

rewrite143.0ms (6.7%)

Memory
-28.2MiB live, 167.8MiB allocated; 44ms collecting garbage
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
02078
02876
116874
248574
3101274
4124974
5157674
0400274
Stop Event
iter-limit
node-limit
iter-limit
Counts
15 → 159
Calls
Call 1
Inputs
x
y
z
t
a
b
(*.f64 t z)
(fma.f64 a b (*.f64 t z))
#s(approx (+ (+ (* x y) (* z t)) (* a b)) (fma.f64 a b (*.f64 t z)))
(*.f64 x y)
(fma.f64 a b (*.f64 x y))
#s(approx (+ (+ (* x y) (* z t)) (* a b)) (fma.f64 a b (*.f64 x y)))
(*.f64 y x)
(fma.f64 b a (*.f64 y x))
(fma.f64 z t (fma.f64 b a (*.f64 y x)))
Outputs
x
y
z
t
a
b
(*.f64 (neg.f64 z) (neg.f64 t))
(*.f64 (neg.f64 t) (neg.f64 z))
(*.f64 t z)
(*.f64 z t)
(neg.f64 (*.f64 (neg.f64 z) t))
(*.f64 (-.f64 #s(literal 1 binary64) (/.f64 (*.f64 (neg.f64 b) a) (*.f64 t z))) (*.f64 t z))
(*.f64 (+.f64 #s(literal 1 binary64) (/.f64 (*.f64 b a) (*.f64 t z))) (*.f64 t z))
(*.f64 (-.f64 #s(literal 1 binary64) (/.f64 (*.f64 (neg.f64 z) t) (*.f64 b a))) (*.f64 b a))
(*.f64 (+.f64 #s(literal 1 binary64) (/.f64 (*.f64 t z) (*.f64 b a))) (*.f64 b a))
(/.f64 (-.f64 (*.f64 (*.f64 t z) (*.f64 t z)) (*.f64 (*.f64 (neg.f64 b) a) (*.f64 (neg.f64 b) a))) (+.f64 (*.f64 t z) (*.f64 (neg.f64 b) a)))
(/.f64 (-.f64 (pow.f64 (*.f64 t z) #s(literal 3 binary64)) (pow.f64 (*.f64 (neg.f64 b) a) #s(literal 3 binary64))) (fma.f64 (*.f64 t z) (*.f64 t z) (fma.f64 (*.f64 (neg.f64 b) a) (*.f64 (neg.f64 b) a) (*.f64 (*.f64 t z) (*.f64 (neg.f64 b) a)))))
(/.f64 (-.f64 (*.f64 (*.f64 t z) (*.f64 t z)) (*.f64 (*.f64 b a) (*.f64 b a))) (-.f64 (*.f64 t z) (*.f64 b a)))
(/.f64 (-.f64 (*.f64 (*.f64 b a) (*.f64 b a)) (*.f64 (*.f64 (neg.f64 z) t) (*.f64 (neg.f64 z) t))) (+.f64 (*.f64 b a) (*.f64 (neg.f64 z) t)))
(/.f64 (+.f64 (pow.f64 (*.f64 t z) #s(literal 3 binary64)) (pow.f64 (*.f64 b a) #s(literal 3 binary64))) (fma.f64 (*.f64 t z) (*.f64 t z) (-.f64 (*.f64 (*.f64 b a) (*.f64 b a)) (*.f64 (*.f64 t z) (*.f64 b a)))))
(/.f64 (-.f64 (pow.f64 (*.f64 b a) #s(literal 3 binary64)) (pow.f64 (*.f64 (neg.f64 z) t) #s(literal 3 binary64))) (fma.f64 (*.f64 b a) (*.f64 b a) (fma.f64 (*.f64 (neg.f64 z) t) (*.f64 (neg.f64 z) t) (*.f64 (*.f64 b a) (*.f64 (neg.f64 z) t)))))
(/.f64 (-.f64 (*.f64 (*.f64 b a) (*.f64 b a)) (*.f64 (*.f64 t z) (*.f64 t z))) (-.f64 (*.f64 b a) (*.f64 t z)))
(/.f64 (+.f64 (pow.f64 (*.f64 b a) #s(literal 3 binary64)) (pow.f64 (*.f64 t z) #s(literal 3 binary64))) (fma.f64 (*.f64 b a) (*.f64 b a) (-.f64 (*.f64 (*.f64 t z) (*.f64 t z)) (*.f64 (*.f64 b a) (*.f64 t z)))))
(neg.f64 (neg.f64 (fma.f64 b a (*.f64 t z))))
(fma.f64 (neg.f64 b) (neg.f64 a) (*.f64 t z))
(fma.f64 (neg.f64 z) (neg.f64 t) (*.f64 b a))
(fma.f64 (neg.f64 t) (neg.f64 z) (*.f64 b a))
(fma.f64 (neg.f64 a) (neg.f64 b) (*.f64 t z))
(fma.f64 b a (*.f64 t z))
(fma.f64 a b (*.f64 t z))
(fma.f64 t z (*.f64 b a))
(fma.f64 z t (*.f64 b a))
(-.f64 (*.f64 b a) (*.f64 (neg.f64 z) t))
(-.f64 (*.f64 t z) (*.f64 (neg.f64 b) a))
(+.f64 (*.f64 b a) (*.f64 t z))
(+.f64 (*.f64 t z) (*.f64 b a))
#s(approx (+ (+ (* x y) (* z t)) (* a b)) (fma.f64 b a (*.f64 t z)))
(*.f64 (neg.f64 x) (neg.f64 y))
(*.f64 (neg.f64 y) (neg.f64 x))
(*.f64 y x)
(*.f64 x y)
(neg.f64 (*.f64 (neg.f64 x) y))
(*.f64 (-.f64 #s(literal 1 binary64) (/.f64 (*.f64 (neg.f64 b) a) (*.f64 y x))) (*.f64 y x))
(*.f64 (+.f64 #s(literal 1 binary64) (/.f64 (*.f64 b a) (*.f64 y x))) (*.f64 y x))
(*.f64 (-.f64 #s(literal 1 binary64) (/.f64 (*.f64 (neg.f64 x) y) (*.f64 b a))) (*.f64 b a))
(*.f64 (+.f64 #s(literal 1 binary64) (/.f64 (*.f64 y x) (*.f64 b a))) (*.f64 b a))
(/.f64 (-.f64 (*.f64 (*.f64 y x) (*.f64 y x)) (*.f64 (*.f64 (neg.f64 b) a) (*.f64 (neg.f64 b) a))) (+.f64 (*.f64 y x) (*.f64 (neg.f64 b) a)))
(/.f64 (-.f64 (pow.f64 (*.f64 y x) #s(literal 3 binary64)) (pow.f64 (*.f64 (neg.f64 b) a) #s(literal 3 binary64))) (fma.f64 (*.f64 y x) (*.f64 y x) (fma.f64 (*.f64 (neg.f64 b) a) (*.f64 (neg.f64 b) a) (*.f64 (*.f64 y x) (*.f64 (neg.f64 b) a)))))
(/.f64 (-.f64 (*.f64 (*.f64 y x) (*.f64 y x)) (*.f64 (*.f64 b a) (*.f64 b a))) (-.f64 (*.f64 y x) (*.f64 b a)))
(/.f64 (-.f64 (*.f64 (*.f64 b a) (*.f64 b a)) (*.f64 (*.f64 (neg.f64 x) y) (*.f64 (neg.f64 x) y))) (+.f64 (*.f64 b a) (*.f64 (neg.f64 x) y)))
(/.f64 (+.f64 (pow.f64 (*.f64 y x) #s(literal 3 binary64)) (pow.f64 (*.f64 b a) #s(literal 3 binary64))) (fma.f64 (*.f64 y x) (*.f64 y x) (-.f64 (*.f64 (*.f64 b a) (*.f64 b a)) (*.f64 (*.f64 y x) (*.f64 b a)))))
(/.f64 (-.f64 (pow.f64 (*.f64 b a) #s(literal 3 binary64)) (pow.f64 (*.f64 (neg.f64 x) y) #s(literal 3 binary64))) (fma.f64 (*.f64 b a) (*.f64 b a) (fma.f64 (*.f64 (neg.f64 x) y) (*.f64 (neg.f64 x) y) (*.f64 (*.f64 b a) (*.f64 (neg.f64 x) y)))))
(/.f64 (-.f64 (*.f64 (*.f64 b a) (*.f64 b a)) (*.f64 (*.f64 y x) (*.f64 y x))) (-.f64 (*.f64 b a) (*.f64 y x)))
(/.f64 (+.f64 (pow.f64 (*.f64 b a) #s(literal 3 binary64)) (pow.f64 (*.f64 y x) #s(literal 3 binary64))) (fma.f64 (*.f64 b a) (*.f64 b a) (-.f64 (*.f64 (*.f64 y x) (*.f64 y x)) (*.f64 (*.f64 b a) (*.f64 y x)))))
(neg.f64 (neg.f64 (fma.f64 b a (*.f64 y x))))
(fma.f64 (neg.f64 b) (neg.f64 a) (*.f64 y x))
(fma.f64 (neg.f64 x) (neg.f64 y) (*.f64 b a))
(fma.f64 (neg.f64 y) (neg.f64 x) (*.f64 b a))
(fma.f64 (neg.f64 a) (neg.f64 b) (*.f64 y x))
(fma.f64 b a (*.f64 y x))
(fma.f64 a b (*.f64 y x))
(fma.f64 y x (*.f64 b a))
(fma.f64 x y (*.f64 b a))
(-.f64 (*.f64 y x) (*.f64 (neg.f64 b) a))
(-.f64 (*.f64 b a) (*.f64 (neg.f64 x) y))
(+.f64 (*.f64 y x) (*.f64 b a))
(+.f64 (*.f64 b a) (*.f64 y x))
#s(approx (+ (+ (* x y) (* z t)) (* a b)) (fma.f64 b a (*.f64 y x)))
(*.f64 (neg.f64 x) (neg.f64 y))
(*.f64 (neg.f64 y) (neg.f64 x))
(*.f64 y x)
(*.f64 x y)
(neg.f64 (*.f64 (neg.f64 x) y))
(*.f64 (-.f64 #s(literal 1 binary64) (/.f64 (*.f64 (neg.f64 b) a) (*.f64 y x))) (*.f64 y x))
(*.f64 (+.f64 #s(literal 1 binary64) (/.f64 (*.f64 b a) (*.f64 y x))) (*.f64 y x))
(*.f64 (-.f64 #s(literal 1 binary64) (/.f64 (*.f64 (neg.f64 x) y) (*.f64 b a))) (*.f64 b a))
(*.f64 (+.f64 #s(literal 1 binary64) (/.f64 (*.f64 y x) (*.f64 b a))) (*.f64 b a))
(/.f64 (-.f64 (*.f64 (*.f64 y x) (*.f64 y x)) (*.f64 (*.f64 (neg.f64 b) a) (*.f64 (neg.f64 b) a))) (+.f64 (*.f64 y x) (*.f64 (neg.f64 b) a)))
(/.f64 (-.f64 (pow.f64 (*.f64 y x) #s(literal 3 binary64)) (pow.f64 (*.f64 (neg.f64 b) a) #s(literal 3 binary64))) (fma.f64 (*.f64 y x) (*.f64 y x) (fma.f64 (*.f64 (neg.f64 b) a) (*.f64 (neg.f64 b) a) (*.f64 (*.f64 y x) (*.f64 (neg.f64 b) a)))))
(/.f64 (-.f64 (*.f64 (*.f64 y x) (*.f64 y x)) (*.f64 (*.f64 b a) (*.f64 b a))) (-.f64 (*.f64 y x) (*.f64 b a)))
(/.f64 (-.f64 (*.f64 (*.f64 b a) (*.f64 b a)) (*.f64 (*.f64 (neg.f64 x) y) (*.f64 (neg.f64 x) y))) (+.f64 (*.f64 b a) (*.f64 (neg.f64 x) y)))
(/.f64 (+.f64 (pow.f64 (*.f64 y x) #s(literal 3 binary64)) (pow.f64 (*.f64 b a) #s(literal 3 binary64))) (fma.f64 (*.f64 y x) (*.f64 y x) (-.f64 (*.f64 (*.f64 b a) (*.f64 b a)) (*.f64 (*.f64 y x) (*.f64 b a)))))
(/.f64 (-.f64 (pow.f64 (*.f64 b a) #s(literal 3 binary64)) (pow.f64 (*.f64 (neg.f64 x) y) #s(literal 3 binary64))) (fma.f64 (*.f64 b a) (*.f64 b a) (fma.f64 (*.f64 (neg.f64 x) y) (*.f64 (neg.f64 x) y) (*.f64 (*.f64 b a) (*.f64 (neg.f64 x) y)))))
(/.f64 (-.f64 (*.f64 (*.f64 b a) (*.f64 b a)) (*.f64 (*.f64 y x) (*.f64 y x))) (-.f64 (*.f64 b a) (*.f64 y x)))
(/.f64 (+.f64 (pow.f64 (*.f64 b a) #s(literal 3 binary64)) (pow.f64 (*.f64 y x) #s(literal 3 binary64))) (fma.f64 (*.f64 b a) (*.f64 b a) (-.f64 (*.f64 (*.f64 y x) (*.f64 y x)) (*.f64 (*.f64 b a) (*.f64 y x)))))
(neg.f64 (neg.f64 (fma.f64 b a (*.f64 y x))))
(fma.f64 (neg.f64 b) (neg.f64 a) (*.f64 y x))
(fma.f64 (neg.f64 x) (neg.f64 y) (*.f64 b a))
(fma.f64 (neg.f64 y) (neg.f64 x) (*.f64 b a))
(fma.f64 (neg.f64 a) (neg.f64 b) (*.f64 y x))
(fma.f64 b a (*.f64 y x))
(fma.f64 a b (*.f64 y x))
(fma.f64 y x (*.f64 b a))
(fma.f64 x y (*.f64 b a))
(-.f64 (*.f64 y x) (*.f64 (neg.f64 b) a))
(-.f64 (*.f64 b a) (*.f64 (neg.f64 x) y))
(+.f64 (*.f64 y x) (*.f64 b a))
(+.f64 (*.f64 b a) (*.f64 y x))
(*.f64 (-.f64 #s(literal 1 binary64) (/.f64 (*.f64 (neg.f64 x) y) (fma.f64 b a (*.f64 t z)))) (fma.f64 b a (*.f64 t z)))
(*.f64 (-.f64 #s(literal 1 binary64) (/.f64 (*.f64 (neg.f64 z) t) (fma.f64 b a (*.f64 y x)))) (fma.f64 b a (*.f64 y x)))
(*.f64 (-.f64 #s(literal 1 binary64) (/.f64 (neg.f64 (fma.f64 b a (*.f64 t z))) (*.f64 y x))) (*.f64 y x))
(*.f64 (-.f64 #s(literal 1 binary64) (/.f64 (neg.f64 (fma.f64 y x (*.f64 t z))) (*.f64 b a))) (*.f64 b a))
(*.f64 (+.f64 #s(literal 1 binary64) (/.f64 (*.f64 y x) (fma.f64 b a (*.f64 t z)))) (fma.f64 b a (*.f64 t z)))
(*.f64 (+.f64 #s(literal 1 binary64) (/.f64 (*.f64 t z) (fma.f64 b a (*.f64 y x)))) (fma.f64 b a (*.f64 y x)))
(*.f64 (+.f64 #s(literal 1 binary64) (/.f64 (fma.f64 b a (*.f64 t z)) (*.f64 y x))) (*.f64 y x))
(*.f64 (+.f64 #s(literal 1 binary64) (/.f64 (fma.f64 y x (*.f64 t z)) (*.f64 b a))) (*.f64 b a))
(*.f64 (-.f64 #s(literal 1 binary64) (/.f64 (neg.f64 (fma.f64 b a (*.f64 y x))) (*.f64 t z))) (*.f64 t z))
(*.f64 (-.f64 #s(literal 1 binary64) (/.f64 (*.f64 (neg.f64 b) a) (fma.f64 y x (*.f64 t z)))) (fma.f64 y x (*.f64 t z)))
(*.f64 (+.f64 #s(literal 1 binary64) (/.f64 (fma.f64 b a (*.f64 y x)) (*.f64 t z))) (*.f64 t z))
(*.f64 (+.f64 #s(literal 1 binary64) (/.f64 (*.f64 b a) (fma.f64 y x (*.f64 t z)))) (fma.f64 y x (*.f64 t z)))
(/.f64 (-.f64 (*.f64 (fma.f64 b a (*.f64 t z)) (fma.f64 b a (*.f64 t z))) (*.f64 (*.f64 (neg.f64 x) y) (*.f64 (neg.f64 x) y))) (+.f64 (fma.f64 b a (*.f64 t z)) (*.f64 (neg.f64 x) y)))
(/.f64 (-.f64 (*.f64 (fma.f64 b a (*.f64 y x)) (fma.f64 b a (*.f64 y x))) (*.f64 (*.f64 (neg.f64 z) t) (*.f64 (neg.f64 z) t))) (+.f64 (fma.f64 b a (*.f64 y x)) (*.f64 (neg.f64 z) t)))
(/.f64 (-.f64 (*.f64 (*.f64 y x) (*.f64 y x)) (*.f64 (neg.f64 (fma.f64 b a (*.f64 t z))) (neg.f64 (fma.f64 b a (*.f64 t z))))) (+.f64 (*.f64 y x) (neg.f64 (fma.f64 b a (*.f64 t z)))))
(/.f64 (-.f64 (*.f64 (*.f64 b a) (*.f64 b a)) (*.f64 (neg.f64 (fma.f64 y x (*.f64 t z))) (neg.f64 (fma.f64 y x (*.f64 t z))))) (+.f64 (*.f64 b a) (neg.f64 (fma.f64 y x (*.f64 t z)))))
(/.f64 (-.f64 (pow.f64 (fma.f64 b a (*.f64 t z)) #s(literal 3 binary64)) (pow.f64 (*.f64 (neg.f64 x) y) #s(literal 3 binary64))) (fma.f64 (fma.f64 b a (*.f64 t z)) (fma.f64 b a (*.f64 t z)) (fma.f64 (*.f64 (neg.f64 x) y) (*.f64 (neg.f64 x) y) (*.f64 (fma.f64 b a (*.f64 t z)) (*.f64 (neg.f64 x) y)))))
(/.f64 (-.f64 (pow.f64 (fma.f64 b a (*.f64 y x)) #s(literal 3 binary64)) (pow.f64 (*.f64 (neg.f64 z) t) #s(literal 3 binary64))) (fma.f64 (fma.f64 b a (*.f64 y x)) (fma.f64 b a (*.f64 y x)) (fma.f64 (*.f64 (neg.f64 z) t) (*.f64 (neg.f64 z) t) (*.f64 (fma.f64 b a (*.f64 y x)) (*.f64 (neg.f64 z) t)))))
(/.f64 (-.f64 (pow.f64 (*.f64 y x) #s(literal 3 binary64)) (pow.f64 (neg.f64 (fma.f64 b a (*.f64 t z))) #s(literal 3 binary64))) (fma.f64 (*.f64 y x) (*.f64 y x) (fma.f64 (neg.f64 (fma.f64 b a (*.f64 t z))) (neg.f64 (fma.f64 b a (*.f64 t z))) (*.f64 (*.f64 y x) (neg.f64 (fma.f64 b a (*.f64 t z)))))))
(/.f64 (-.f64 (pow.f64 (*.f64 b a) #s(literal 3 binary64)) (pow.f64 (neg.f64 (fma.f64 y x (*.f64 t z))) #s(literal 3 binary64))) (fma.f64 (*.f64 b a) (*.f64 b a) (fma.f64 (neg.f64 (fma.f64 y x (*.f64 t z))) (neg.f64 (fma.f64 y x (*.f64 t z))) (*.f64 (*.f64 b a) (neg.f64 (fma.f64 y x (*.f64 t z)))))))
(/.f64 (-.f64 (*.f64 (fma.f64 b a (*.f64 t z)) (fma.f64 b a (*.f64 t z))) (*.f64 (*.f64 y x) (*.f64 y x))) (-.f64 (fma.f64 b a (*.f64 t z)) (*.f64 y x)))
(/.f64 (-.f64 (*.f64 (fma.f64 b a (*.f64 y x)) (fma.f64 b a (*.f64 y x))) (*.f64 (*.f64 t z) (*.f64 t z))) (-.f64 (fma.f64 b a (*.f64 y x)) (*.f64 t z)))
(/.f64 (-.f64 (*.f64 (*.f64 y x) (*.f64 y x)) (*.f64 (fma.f64 b a (*.f64 t z)) (fma.f64 b a (*.f64 t z)))) (-.f64 (*.f64 y x) (fma.f64 b a (*.f64 t z))))
(/.f64 (-.f64 (*.f64 (*.f64 b a) (*.f64 b a)) (*.f64 (fma.f64 y x (*.f64 t z)) (fma.f64 y x (*.f64 t z)))) (-.f64 (*.f64 b a) (fma.f64 y x (*.f64 t z))))
(/.f64 (-.f64 (*.f64 (*.f64 t z) (*.f64 t z)) (*.f64 (neg.f64 (fma.f64 b a (*.f64 y x))) (neg.f64 (fma.f64 b a (*.f64 y x))))) (+.f64 (*.f64 t z) (neg.f64 (fma.f64 b a (*.f64 y x)))))
(/.f64 (-.f64 (*.f64 (fma.f64 y x (*.f64 t z)) (fma.f64 y x (*.f64 t z))) (*.f64 (*.f64 (neg.f64 b) a) (*.f64 (neg.f64 b) a))) (+.f64 (fma.f64 y x (*.f64 t z)) (*.f64 (neg.f64 b) a)))
(/.f64 (+.f64 (pow.f64 (fma.f64 b a (*.f64 t z)) #s(literal 3 binary64)) (pow.f64 (*.f64 y x) #s(literal 3 binary64))) (fma.f64 (fma.f64 b a (*.f64 t z)) (fma.f64 b a (*.f64 t z)) (-.f64 (*.f64 (*.f64 y x) (*.f64 y x)) (*.f64 (fma.f64 b a (*.f64 t z)) (*.f64 y x)))))
(/.f64 (+.f64 (pow.f64 (fma.f64 b a (*.f64 y x)) #s(literal 3 binary64)) (pow.f64 (*.f64 t z) #s(literal 3 binary64))) (fma.f64 (fma.f64 b a (*.f64 y x)) (fma.f64 b a (*.f64 y x)) (-.f64 (*.f64 (*.f64 t z) (*.f64 t z)) (*.f64 (fma.f64 b a (*.f64 y x)) (*.f64 t z)))))
(/.f64 (+.f64 (pow.f64 (*.f64 y x) #s(literal 3 binary64)) (pow.f64 (fma.f64 b a (*.f64 t z)) #s(literal 3 binary64))) (fma.f64 (*.f64 y x) (*.f64 y x) (-.f64 (*.f64 (fma.f64 b a (*.f64 t z)) (fma.f64 b a (*.f64 t z))) (*.f64 (*.f64 y x) (fma.f64 b a (*.f64 t z))))))
(/.f64 (+.f64 (pow.f64 (*.f64 b a) #s(literal 3 binary64)) (pow.f64 (fma.f64 y x (*.f64 t z)) #s(literal 3 binary64))) (fma.f64 (*.f64 b a) (*.f64 b a) (-.f64 (*.f64 (fma.f64 y x (*.f64 t z)) (fma.f64 y x (*.f64 t z))) (*.f64 (*.f64 b a) (fma.f64 y x (*.f64 t z))))))
(/.f64 (-.f64 (pow.f64 (*.f64 t z) #s(literal 3 binary64)) (pow.f64 (neg.f64 (fma.f64 b a (*.f64 y x))) #s(literal 3 binary64))) (fma.f64 (*.f64 t z) (*.f64 t z) (fma.f64 (neg.f64 (fma.f64 b a (*.f64 y x))) (neg.f64 (fma.f64 b a (*.f64 y x))) (*.f64 (*.f64 t z) (neg.f64 (fma.f64 b a (*.f64 y x)))))))
(/.f64 (-.f64 (pow.f64 (fma.f64 y x (*.f64 t z)) #s(literal 3 binary64)) (pow.f64 (*.f64 (neg.f64 b) a) #s(literal 3 binary64))) (fma.f64 (fma.f64 y x (*.f64 t z)) (fma.f64 y x (*.f64 t z)) (fma.f64 (*.f64 (neg.f64 b) a) (*.f64 (neg.f64 b) a) (*.f64 (fma.f64 y x (*.f64 t z)) (*.f64 (neg.f64 b) a)))))
(/.f64 (-.f64 (*.f64 (*.f64 t z) (*.f64 t z)) (*.f64 (fma.f64 b a (*.f64 y x)) (fma.f64 b a (*.f64 y x)))) (-.f64 (*.f64 t z) (fma.f64 b a (*.f64 y x))))
(/.f64 (-.f64 (*.f64 (fma.f64 y x (*.f64 t z)) (fma.f64 y x (*.f64 t z))) (*.f64 (*.f64 b a) (*.f64 b a))) (-.f64 (fma.f64 y x (*.f64 t z)) (*.f64 b a)))
(/.f64 (+.f64 (pow.f64 (*.f64 t z) #s(literal 3 binary64)) (pow.f64 (fma.f64 b a (*.f64 y x)) #s(literal 3 binary64))) (fma.f64 (*.f64 t z) (*.f64 t z) (-.f64 (*.f64 (fma.f64 b a (*.f64 y x)) (fma.f64 b a (*.f64 y x))) (*.f64 (*.f64 t z) (fma.f64 b a (*.f64 y x))))))
(/.f64 (+.f64 (pow.f64 (fma.f64 y x (*.f64 t z)) #s(literal 3 binary64)) (pow.f64 (*.f64 b a) #s(literal 3 binary64))) (fma.f64 (fma.f64 y x (*.f64 t z)) (fma.f64 y x (*.f64 t z)) (-.f64 (*.f64 (*.f64 b a) (*.f64 b a)) (*.f64 (fma.f64 y x (*.f64 t z)) (*.f64 b a)))))
(neg.f64 (neg.f64 (fma.f64 b a (fma.f64 y x (*.f64 t z)))))
(fma.f64 (neg.f64 b) (neg.f64 a) (fma.f64 y x (*.f64 t z)))
(fma.f64 (neg.f64 z) (neg.f64 t) (fma.f64 b a (*.f64 y x)))
(fma.f64 (neg.f64 t) (neg.f64 z) (fma.f64 b a (*.f64 y x)))
(fma.f64 (neg.f64 x) (neg.f64 y) (fma.f64 b a (*.f64 t z)))
(fma.f64 (neg.f64 y) (neg.f64 x) (fma.f64 b a (*.f64 t z)))
(fma.f64 (neg.f64 a) (neg.f64 b) (fma.f64 y x (*.f64 t z)))
(fma.f64 b a (fma.f64 y x (*.f64 t z)))
(fma.f64 a b (fma.f64 y x (*.f64 t z)))
(fma.f64 t z (fma.f64 b a (*.f64 y x)))
(fma.f64 z t (fma.f64 b a (*.f64 y x)))
(fma.f64 y x (fma.f64 b a (*.f64 t z)))
(fma.f64 x y (fma.f64 b a (*.f64 t z)))
(-.f64 (fma.f64 b a (*.f64 t z)) (*.f64 (neg.f64 x) y))
(-.f64 (fma.f64 b a (*.f64 y x)) (*.f64 (neg.f64 z) t))
(-.f64 (*.f64 y x) (neg.f64 (fma.f64 b a (*.f64 t z))))
(-.f64 (*.f64 b a) (neg.f64 (fma.f64 y x (*.f64 t z))))
(-.f64 (fma.f64 y x (*.f64 t z)) (*.f64 (neg.f64 b) a))
(-.f64 (*.f64 t z) (neg.f64 (fma.f64 b a (*.f64 y x))))
(+.f64 (fma.f64 b a (*.f64 t z)) (*.f64 y x))
(+.f64 (fma.f64 b a (*.f64 y x)) (*.f64 t z))
(+.f64 (*.f64 y x) (fma.f64 b a (*.f64 t z)))
(+.f64 (*.f64 b a) (fma.f64 y x (*.f64 t z)))
(+.f64 (fma.f64 y x (*.f64 t z)) (*.f64 b a))
(+.f64 (*.f64 t z) (fma.f64 b a (*.f64 y x)))

eval23.0ms (1.1%)

Memory
-2.4MiB live, 46.8MiB allocated; 11ms collecting garbage
Compiler

Compiled 4 175 to 608 computations (85.4% saved)

prune4.0ms (0.2%)

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

4 alts after pruning (2 fresh and 2 done)

PrunedKeptTotal
New1652167
Fresh000
Picked303
Done-220
Total1664170
Accuracy
100.0%
Counts
170 → 4
Alt Table
Click to see full alt table
StatusAccuracyProgram
68.7%
#s(approx (+ (+ (* x y) (* z t)) (* a b)) (fma.f64 t z (*.f64 x y)))
68.4%
#s(approx (+ (+ (* x y) (* z t)) (* a b)) (fma.f64 a b (*.f64 x y)))
65.7%
#s(approx (+ (+ (* x y) (* z t)) (* a b)) (fma.f64 a b (*.f64 t z)))
34.9%
#s(approx (+ (+ (* x y) (* z t)) (* a b)) #s(approx (+ (* a b) (* x y)) (*.f64 a b)))
Compiler

Compiled 77 to 57 computations (26.0% saved)

sample0.0ms (0.0%)

Memory
0.1MiB live, 0.1MiB allocated; 0ms collecting garbage
Calls
Call 1
Inputs
Outputs

series18.0ms (0.9%)

Memory
-2.0MiB live, 42.8MiB allocated; 5ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0172728
Stop Event
iter-limit
Counts
12 → 41
Calls
Call 1
Inputs
x
y
z
t
a
b
(*.f64 a b)
#s(approx (+ (* a b) (* x y)) (*.f64 a b))
#s(approx (+ (+ (* x y) (* z t)) (* a b)) #s(approx (+ (* a b) (* x y)) (*.f64 a b)))
(*.f64 x y)
(fma.f64 t z (*.f64 x y))
#s(approx (+ (+ (* x y) (* z t)) (* a b)) (fma.f64 t z (*.f64 x y)))
Outputs
#s(approx x x)
#s(approx (+ (* a b) (* x y)) (*.f64 a b))
#s(approx (+ (* a b) (* x y)) (fma.f64 a b (*.f64 x y)))
#s(approx (+ (+ (* x y) (* z t)) (* a b)) (fma.f64 a b (*.f64 t z)))
#s(approx (+ (+ (* x y) (* z t)) (* a b)) (fma.f64 a b (fma.f64 t z (*.f64 x y))))
#s(approx (* x y) (*.f64 x y))
#s(approx (+ (* t z) (* x y)) (*.f64 t z))
#s(approx (+ (* t z) (* x y)) (fma.f64 t z (*.f64 x y)))
#s(approx (+ (* a b) (* x y)) (*.f64 x (+.f64 y (/.f64 (*.f64 a b) x))))
#s(approx (+ (+ (* x y) (* z t)) (* a b)) (*.f64 x (+.f64 y (+.f64 (/.f64 (*.f64 a b) x) (/.f64 (*.f64 t z) x)))))
#s(approx (+ (* t z) (* x y)) (*.f64 x (+.f64 y (/.f64 (*.f64 t z) x))))
#s(approx (+ (* a b) (* x y)) (*.f64 #s(literal -1 binary64) (*.f64 x (fma.f64 #s(literal -1 binary64) y (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 a b) x))))))
#s(approx (+ (+ (* x y) (* z t)) (* a b)) (*.f64 #s(literal -1 binary64) (*.f64 x (fma.f64 #s(literal -1 binary64) y (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 a b (*.f64 t z)) x))))))
#s(approx (+ (* t z) (* x y)) (*.f64 #s(literal -1 binary64) (*.f64 x (fma.f64 #s(literal -1 binary64) y (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 t z) x))))))
#s(approx y y)
#s(approx (+ (* a b) (* x y)) (*.f64 y (+.f64 x (/.f64 (*.f64 a b) y))))
#s(approx (+ (+ (* x y) (* z t)) (* a b)) (*.f64 y (+.f64 x (+.f64 (/.f64 (*.f64 a b) y) (/.f64 (*.f64 t z) y)))))
#s(approx (+ (* t z) (* x y)) (*.f64 y (+.f64 x (/.f64 (*.f64 t z) y))))
#s(approx (+ (* a b) (* x y)) (*.f64 #s(literal -1 binary64) (*.f64 y (fma.f64 #s(literal -1 binary64) x (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 a b) y))))))
#s(approx (+ (+ (* x y) (* z t)) (* a b)) (*.f64 #s(literal -1 binary64) (*.f64 y (fma.f64 #s(literal -1 binary64) x (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 a b (*.f64 t z)) y))))))
#s(approx (+ (* t z) (* x y)) (*.f64 #s(literal -1 binary64) (*.f64 y (fma.f64 #s(literal -1 binary64) x (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 t z) y))))))
#s(approx z z)
#s(approx (+ (+ (* x y) (* z t)) (* a b)) (*.f64 z (+.f64 t (+.f64 (/.f64 (*.f64 a b) z) (/.f64 (*.f64 x y) z)))))
#s(approx (+ (* t z) (* x y)) (*.f64 z (+.f64 t (/.f64 (*.f64 x y) z))))
#s(approx (+ (+ (* x y) (* z t)) (* a b)) (*.f64 #s(literal -1 binary64) (*.f64 z (fma.f64 #s(literal -1 binary64) t (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 a b (*.f64 x y)) z))))))
#s(approx (+ (* t z) (* x y)) (*.f64 #s(literal -1 binary64) (*.f64 z (fma.f64 #s(literal -1 binary64) t (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 x y) z))))))
#s(approx t t)
#s(approx (+ (+ (* x y) (* z t)) (* a b)) (*.f64 t (+.f64 z (+.f64 (/.f64 (*.f64 a b) t) (/.f64 (*.f64 x y) t)))))
#s(approx (+ (* t z) (* x y)) (*.f64 t (+.f64 z (/.f64 (*.f64 x y) t))))
#s(approx (+ (+ (* x y) (* z t)) (* a b)) (*.f64 #s(literal -1 binary64) (*.f64 t (fma.f64 #s(literal -1 binary64) z (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 a b (*.f64 x y)) t))))))
#s(approx (+ (* t z) (* x y)) (*.f64 #s(literal -1 binary64) (*.f64 t (fma.f64 #s(literal -1 binary64) z (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 x y) t))))))
#s(approx a a)
#s(approx (+ (* a b) (* x y)) (*.f64 a (+.f64 b (/.f64 (*.f64 x y) a))))
#s(approx (+ (+ (* x y) (* z t)) (* a b)) (*.f64 a (+.f64 b (+.f64 (/.f64 (*.f64 t z) a) (/.f64 (*.f64 x y) a)))))
#s(approx (+ (* a b) (* x y)) (*.f64 #s(literal -1 binary64) (*.f64 a (fma.f64 #s(literal -1 binary64) b (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 x y) a))))))
#s(approx (+ (+ (* x y) (* z t)) (* a b)) (*.f64 #s(literal -1 binary64) (*.f64 a (fma.f64 #s(literal -1 binary64) b (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 t z (*.f64 x y)) a))))))
#s(approx b b)
#s(approx (+ (* a b) (* x y)) (*.f64 b (+.f64 a (/.f64 (*.f64 x y) b))))
#s(approx (+ (+ (* x y) (* z t)) (* a b)) (*.f64 b (+.f64 a (+.f64 (/.f64 (*.f64 t z) b) (/.f64 (*.f64 x y) b)))))
#s(approx (+ (* a b) (* x y)) (*.f64 #s(literal -1 binary64) (*.f64 b (fma.f64 #s(literal -1 binary64) a (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 x y) b))))))
#s(approx (+ (+ (* x y) (* z t)) (* a b)) (*.f64 #s(literal -1 binary64) (*.f64 b (fma.f64 #s(literal -1 binary64) a (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 t z (*.f64 x y)) b))))))
Calls

18 calls:

TimeVariablePoint
1.0ms
y
-inf
1.0ms
x
-inf
1.0ms
a
-inf
1.0ms
b
-inf
1.0ms
x
inf

rewrite118.0ms (5.5%)

Memory
-9.9MiB live, 275.3MiB allocated; 19ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01870
02368
111268
235468
386668
4121568
5155368
0402964
Stop Event
iter-limit
node-limit
iter-limit
Counts
12 → 44
Calls
Call 1
Inputs
x
y
z
t
a
b
(*.f64 a b)
#s(approx (+ (* a b) (* x y)) (*.f64 a b))
#s(approx (+ (+ (* x y) (* z t)) (* a b)) #s(approx (+ (* a b) (* x y)) (*.f64 a b)))
(*.f64 x y)
(fma.f64 t z (*.f64 x y))
#s(approx (+ (+ (* x y) (* z t)) (* a b)) (fma.f64 t z (*.f64 x y)))
Outputs
x
y
z
t
a
b
(*.f64 (neg.f64 b) (neg.f64 a))
(*.f64 (neg.f64 a) (neg.f64 b))
(*.f64 b a)
(*.f64 a b)
(neg.f64 (*.f64 (neg.f64 a) b))
#s(approx (+ (* a b) (* x y)) (*.f64 b a))
#s(approx (+ (+ (* x y) (* z t)) (* a b)) #s(approx (+ (* a b) (* x y)) (*.f64 b a)))
(*.f64 (neg.f64 y) (neg.f64 x))
(*.f64 (neg.f64 x) (neg.f64 y))
(*.f64 y x)
(*.f64 x y)
(neg.f64 (*.f64 (neg.f64 x) y))
(*.f64 (-.f64 #s(literal 1 binary64) (/.f64 (*.f64 (neg.f64 x) y) (*.f64 t z))) (*.f64 t z))
(*.f64 (-.f64 #s(literal 1 binary64) (/.f64 (*.f64 (neg.f64 z) t) (*.f64 y x))) (*.f64 y x))
(*.f64 (+.f64 #s(literal 1 binary64) (/.f64 (*.f64 t z) (*.f64 y x))) (*.f64 y x))
(*.f64 (+.f64 #s(literal 1 binary64) (/.f64 (*.f64 y x) (*.f64 t z))) (*.f64 t z))
(/.f64 (-.f64 (*.f64 (*.f64 t z) (*.f64 t z)) (*.f64 (*.f64 (neg.f64 x) y) (*.f64 (neg.f64 x) y))) (+.f64 (*.f64 t z) (*.f64 (neg.f64 x) y)))
(/.f64 (-.f64 (*.f64 (*.f64 y x) (*.f64 y x)) (*.f64 (*.f64 (neg.f64 z) t) (*.f64 (neg.f64 z) t))) (+.f64 (*.f64 y x) (*.f64 (neg.f64 z) t)))
(/.f64 (-.f64 (pow.f64 (*.f64 t z) #s(literal 3 binary64)) (pow.f64 (*.f64 (neg.f64 x) y) #s(literal 3 binary64))) (fma.f64 (*.f64 t z) (*.f64 t z) (fma.f64 (*.f64 (neg.f64 x) y) (*.f64 (neg.f64 x) y) (*.f64 (*.f64 t z) (*.f64 (neg.f64 x) y)))))
(/.f64 (-.f64 (pow.f64 (*.f64 y x) #s(literal 3 binary64)) (pow.f64 (*.f64 (neg.f64 z) t) #s(literal 3 binary64))) (fma.f64 (*.f64 y x) (*.f64 y x) (fma.f64 (*.f64 (neg.f64 z) t) (*.f64 (neg.f64 z) t) (*.f64 (*.f64 y x) (*.f64 (neg.f64 z) t)))))
(/.f64 (-.f64 (*.f64 (*.f64 y x) (*.f64 y x)) (*.f64 (*.f64 t z) (*.f64 t z))) (-.f64 (*.f64 y x) (*.f64 t z)))
(/.f64 (-.f64 (*.f64 (*.f64 t z) (*.f64 t z)) (*.f64 (*.f64 y x) (*.f64 y x))) (-.f64 (*.f64 t z) (*.f64 y x)))
(/.f64 (+.f64 (pow.f64 (*.f64 y x) #s(literal 3 binary64)) (pow.f64 (*.f64 t z) #s(literal 3 binary64))) (fma.f64 (*.f64 y x) (*.f64 y x) (-.f64 (*.f64 (*.f64 t z) (*.f64 t z)) (*.f64 (*.f64 y x) (*.f64 t z)))))
(/.f64 (+.f64 (pow.f64 (*.f64 t z) #s(literal 3 binary64)) (pow.f64 (*.f64 y x) #s(literal 3 binary64))) (fma.f64 (*.f64 t z) (*.f64 t z) (-.f64 (*.f64 (*.f64 y x) (*.f64 y x)) (*.f64 (*.f64 t z) (*.f64 y x)))))
(neg.f64 (neg.f64 (fma.f64 t z (*.f64 y x))))
(fma.f64 (neg.f64 y) (neg.f64 x) (*.f64 t z))
(fma.f64 (neg.f64 t) (neg.f64 z) (*.f64 y x))
(fma.f64 (neg.f64 z) (neg.f64 t) (*.f64 y x))
(fma.f64 (neg.f64 x) (neg.f64 y) (*.f64 t z))
(fma.f64 t z (*.f64 y x))
(fma.f64 z t (*.f64 y x))
(fma.f64 y x (*.f64 t z))
(fma.f64 x y (*.f64 t z))
(-.f64 (*.f64 t z) (*.f64 (neg.f64 x) y))
(-.f64 (*.f64 y x) (*.f64 (neg.f64 z) t))
(+.f64 (*.f64 t z) (*.f64 y x))
(+.f64 (*.f64 y x) (*.f64 t z))
#s(approx (+ (+ (* x y) (* z t)) (* a b)) (fma.f64 t z (*.f64 y x)))

eval7.0ms (0.3%)

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

Compiled 1 993 to 334 computations (83.2% saved)

prune4.0ms (0.2%)

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

5 alts after pruning (1 fresh and 4 done)

PrunedKeptTotal
New73174
Fresh000
Picked202
Done-242
Total73578
Accuracy
100.0%
Counts
78 → 5
Alt Table
Click to see full alt table
StatusAccuracyProgram
68.7%
#s(approx (+ (+ (* x y) (* z t)) (* a b)) (fma.f64 t z (*.f64 x y)))
68.4%
#s(approx (+ (+ (* x y) (* z t)) (* a b)) (fma.f64 a b (*.f64 x y)))
65.7%
#s(approx (+ (+ (* x y) (* z t)) (* a b)) (fma.f64 a b (*.f64 t z)))
35.1%
#s(approx (+ (+ (* x y) (* z t)) (* a b)) #s(approx (+ (* t z) (* x y)) (*.f64 t z)))
34.9%
#s(approx (+ (+ (* x y) (* z t)) (* a b)) #s(approx (+ (* a b) (* x y)) (*.f64 a b)))
Compiler

Compiled 100 to 73 computations (27.0% saved)

sample0.0ms (0.0%)

Memory
0.1MiB live, 0.1MiB allocated; 0ms collecting garbage
Calls
Call 1
Inputs
Outputs

series12.0ms (0.5%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
0136579
Stop Event
iter-limit
Counts
5 → 29
Calls
Call 1
Inputs
z
t
(*.f64 t z)
#s(approx (+ (* t z) (* x y)) (*.f64 t z))
#s(approx (+ (+ (* x y) (* z t)) (* a b)) #s(approx (+ (* t z) (* x y)) (*.f64 t z)))
Outputs
#s(approx (+ (* t z) (* x y)) (*.f64 t z))
#s(approx (+ (* t z) (* x y)) (fma.f64 t z (*.f64 x y)))
#s(approx (+ (+ (* x y) (* z t)) (* a b)) (fma.f64 a b (*.f64 t z)))
#s(approx (+ (+ (* x y) (* z t)) (* a b)) (fma.f64 a b (fma.f64 t z (*.f64 x y))))
#s(approx (+ (* t z) (* x y)) (*.f64 x y))
#s(approx (+ (* t z) (* x y)) (*.f64 x (+.f64 y (/.f64 (*.f64 t z) x))))
#s(approx (+ (+ (* x y) (* z t)) (* a b)) (*.f64 x (+.f64 y (+.f64 (/.f64 (*.f64 a b) x) (/.f64 (*.f64 t z) x)))))
#s(approx (+ (* t z) (* x y)) (*.f64 #s(literal -1 binary64) (*.f64 x (fma.f64 #s(literal -1 binary64) y (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 t z) x))))))
#s(approx (+ (+ (* x y) (* z t)) (* a b)) (*.f64 #s(literal -1 binary64) (*.f64 x (fma.f64 #s(literal -1 binary64) y (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 a b (*.f64 t z)) x))))))
#s(approx (+ (* t z) (* x y)) (*.f64 y (+.f64 x (/.f64 (*.f64 t z) y))))
#s(approx (+ (+ (* x y) (* z t)) (* a b)) (*.f64 y (+.f64 x (+.f64 (/.f64 (*.f64 a b) y) (/.f64 (*.f64 t z) y)))))
#s(approx (+ (* t z) (* x y)) (*.f64 #s(literal -1 binary64) (*.f64 y (fma.f64 #s(literal -1 binary64) x (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 t z) y))))))
#s(approx (+ (+ (* x y) (* z t)) (* a b)) (*.f64 #s(literal -1 binary64) (*.f64 y (fma.f64 #s(literal -1 binary64) x (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 a b (*.f64 t z)) y))))))
#s(approx z z)
#s(approx (+ (+ (* x y) (* z t)) (* a b)) (fma.f64 a b (*.f64 x y)))
#s(approx (+ (* t z) (* x y)) (*.f64 z (+.f64 t (/.f64 (*.f64 x y) z))))
#s(approx (+ (+ (* x y) (* z t)) (* a b)) (*.f64 z (+.f64 t (+.f64 (/.f64 (*.f64 a b) z) (/.f64 (*.f64 x y) z)))))
#s(approx (+ (* t z) (* x y)) (*.f64 #s(literal -1 binary64) (*.f64 z (fma.f64 #s(literal -1 binary64) t (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 x y) z))))))
#s(approx (+ (+ (* x y) (* z t)) (* a b)) (*.f64 #s(literal -1 binary64) (*.f64 z (fma.f64 #s(literal -1 binary64) t (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 a b (*.f64 x y)) z))))))
#s(approx t t)
#s(approx (+ (* t z) (* x y)) (*.f64 t (+.f64 z (/.f64 (*.f64 x y) t))))
#s(approx (+ (+ (* x y) (* z t)) (* a b)) (*.f64 t (+.f64 z (+.f64 (/.f64 (*.f64 a b) t) (/.f64 (*.f64 x y) t)))))
#s(approx (+ (* t z) (* x y)) (*.f64 #s(literal -1 binary64) (*.f64 t (fma.f64 #s(literal -1 binary64) z (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 x y) t))))))
#s(approx (+ (+ (* x y) (* z t)) (* a b)) (*.f64 #s(literal -1 binary64) (*.f64 t (fma.f64 #s(literal -1 binary64) z (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 a b (*.f64 x y)) t))))))
#s(approx (+ (+ (* x y) (* z t)) (* a b)) (*.f64 a b))
#s(approx (+ (+ (* x y) (* z t)) (* a b)) (*.f64 a (+.f64 b (+.f64 (/.f64 (*.f64 t z) a) (/.f64 (*.f64 x y) a)))))
#s(approx (+ (+ (* x y) (* z t)) (* a b)) (*.f64 #s(literal -1 binary64) (*.f64 a (fma.f64 #s(literal -1 binary64) b (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 t z (*.f64 x y)) a))))))
#s(approx (+ (+ (* x y) (* z t)) (* a b)) (*.f64 b (+.f64 a (+.f64 (/.f64 (*.f64 t z) b) (/.f64 (*.f64 x y) b)))))
#s(approx (+ (+ (* x y) (* z t)) (* a b)) (*.f64 #s(literal -1 binary64) (*.f64 b (fma.f64 #s(literal -1 binary64) a (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 t z (*.f64 x y)) b))))))
Calls

18 calls:

TimeVariablePoint
1.0ms
t
-inf
1.0ms
z
-inf
0.0ms
z
inf
0.0ms
t
inf
0.0ms
x
-inf

rewrite112.0ms (5.2%)

Memory
-17.8MiB live, 119.4MiB allocated; 18ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01639
01739
19239
229239
382439
4120339
5154139
0401735
Stop Event
iter-limit
node-limit
iter-limit
Counts
5 → 9
Calls
Call 1
Inputs
z
t
(*.f64 t z)
#s(approx (+ (* t z) (* x y)) (*.f64 t z))
#s(approx (+ (+ (* x y) (* z t)) (* a b)) #s(approx (+ (* t z) (* x y)) (*.f64 t z)))
Outputs
z
t
(*.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 z) t))
#s(approx (+ (* t z) (* x y)) (*.f64 t z))
#s(approx (+ (+ (* x y) (* z t)) (* a b)) #s(approx (+ (* t z) (* x y)) (*.f64 t z)))

eval3.0ms (0.2%)

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

Compiled 880 to 166 computations (81.1% saved)

prune3.0ms (0.1%)

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

6 alts after pruning (1 fresh and 5 done)

PrunedKeptTotal
New32133
Fresh000
Picked101
Done-154
Total32638
Accuracy
100.0%
Counts
38 → 6
Alt Table
Click to see full alt table
StatusAccuracyProgram
68.7%
#s(approx (+ (+ (* x y) (* z t)) (* a b)) (fma.f64 t z (*.f64 x y)))
68.4%
#s(approx (+ (+ (* x y) (* z t)) (* a b)) (fma.f64 a b (*.f64 x y)))
65.7%
#s(approx (+ (+ (* x y) (* z t)) (* a b)) (fma.f64 a b (*.f64 t z)))
36.3%
#s(approx (+ (+ (* x y) (* z t)) (* a b)) #s(approx (+ (* t z) (* x y)) (*.f64 x y)))
35.1%
#s(approx (+ (+ (* x y) (* z t)) (* a b)) #s(approx (+ (* t z) (* x y)) (*.f64 t z)))
34.9%
#s(approx (+ (+ (* x y) (* z t)) (* a b)) #s(approx (+ (* a b) (* x y)) (*.f64 a b)))
Compiler

Compiled 123 to 89 computations (27.6% saved)

regimes274.0ms (12.8%)

Memory
-14.2MiB live, 478.9MiB allocated; 128ms collecting garbage
Counts
1 → 1
2 → 3
3 → 4
4 → 3
5 → 3
6 → 3
8 → 1
Calls
Call 1
Inputs
#s(approx (+ (+ (* x y) (* z t)) (* a b)) #s(approx (+ (* a b) (* x y)) (*.f64 a b)))
Outputs
#s(approx (+ (+ (* x y) (* z t)) (* a b)) #s(approx (+ (* a b) (* x y)) (*.f64 a b)))
Call 2
Inputs
#s(approx (+ (+ (* x y) (* z t)) (* a b)) #s(approx (+ (* a b) (* x y)) (*.f64 a b)))
#s(approx (+ (+ (* x y) (* z t)) (* a b)) #s(approx (+ (* t z) (* x y)) (*.f64 t z)))
Outputs
#s(approx (+ (+ (* x y) (* z t)) (* a b)) #s(approx (+ (* a b) (* x y)) (*.f64 a b)))
#s(approx (+ (+ (* x y) (* z t)) (* a b)) #s(approx (+ (* t z) (* x y)) (*.f64 t z)))
#s(approx (+ (+ (* x y) (* z t)) (* a b)) #s(approx (+ (* a b) (* x y)) (*.f64 a b)))
Call 3
Inputs
#s(approx (+ (+ (* x y) (* z t)) (* a b)) #s(approx (+ (* a b) (* x y)) (*.f64 a b)))
#s(approx (+ (+ (* x y) (* z t)) (* a b)) #s(approx (+ (* t z) (* x y)) (*.f64 t z)))
#s(approx (+ (+ (* x y) (* z t)) (* a b)) #s(approx (+ (* t z) (* x y)) (*.f64 x y)))
Outputs
#s(approx (+ (+ (* x y) (* z t)) (* a b)) #s(approx (+ (* a b) (* x y)) (*.f64 a b)))
#s(approx (+ (+ (* x y) (* z t)) (* a b)) #s(approx (+ (* t z) (* x y)) (*.f64 t z)))
#s(approx (+ (+ (* x y) (* z t)) (* a b)) #s(approx (+ (* t z) (* x y)) (*.f64 x y)))
#s(approx (+ (+ (* x y) (* z t)) (* a b)) #s(approx (+ (* a b) (* x y)) (*.f64 a b)))
Call 4
Inputs
#s(approx (+ (+ (* x y) (* z t)) (* a b)) #s(approx (+ (* a b) (* x y)) (*.f64 a b)))
#s(approx (+ (+ (* x y) (* z t)) (* a b)) #s(approx (+ (* t z) (* x y)) (*.f64 t z)))
#s(approx (+ (+ (* x y) (* z t)) (* a b)) #s(approx (+ (* t z) (* x y)) (*.f64 x y)))
#s(approx (+ (+ (* x y) (* z t)) (* a b)) (fma.f64 a b (*.f64 t z)))
Outputs
#s(approx (+ (+ (* x y) (* z t)) (* a b)) #s(approx (+ (* t z) (* x y)) (*.f64 x y)))
#s(approx (+ (+ (* x y) (* z t)) (* a b)) (fma.f64 a b (*.f64 t z)))
#s(approx (+ (+ (* x y) (* z t)) (* a b)) #s(approx (+ (* t z) (* x y)) (*.f64 x y)))
Call 5
Inputs
#s(approx (+ (+ (* x y) (* z t)) (* a b)) #s(approx (+ (* a b) (* x y)) (*.f64 a b)))
#s(approx (+ (+ (* x y) (* z t)) (* a b)) #s(approx (+ (* t z) (* x y)) (*.f64 t z)))
#s(approx (+ (+ (* x y) (* z t)) (* a b)) #s(approx (+ (* t z) (* x y)) (*.f64 x y)))
#s(approx (+ (+ (* x y) (* z t)) (* a b)) (fma.f64 a b (*.f64 t z)))
#s(approx (+ (+ (* x y) (* z t)) (* a b)) (fma.f64 a b (*.f64 x y)))
Outputs
#s(approx (+ (+ (* x y) (* z t)) (* a b)) (fma.f64 a b (*.f64 x y)))
#s(approx (+ (+ (* x y) (* z t)) (* a b)) (fma.f64 a b (*.f64 t z)))
#s(approx (+ (+ (* x y) (* z t)) (* a b)) (fma.f64 a b (*.f64 x y)))
Call 6
Inputs
#s(approx (+ (+ (* x y) (* z t)) (* a b)) #s(approx (+ (* a b) (* x y)) (*.f64 a b)))
#s(approx (+ (+ (* x y) (* z t)) (* a b)) #s(approx (+ (* t z) (* x y)) (*.f64 t z)))
#s(approx (+ (+ (* x y) (* z t)) (* a b)) #s(approx (+ (* t z) (* x y)) (*.f64 x y)))
#s(approx (+ (+ (* x y) (* z t)) (* a b)) (fma.f64 a b (*.f64 t z)))
#s(approx (+ (+ (* x y) (* z t)) (* a b)) (fma.f64 a b (*.f64 x y)))
#s(approx (+ (+ (* x y) (* z t)) (* a b)) (fma.f64 t z (*.f64 x y)))
Outputs
#s(approx (+ (+ (* x y) (* z t)) (* a b)) (fma.f64 a b (*.f64 x y)))
#s(approx (+ (+ (* x y) (* z t)) (* a b)) (fma.f64 t z (*.f64 x y)))
#s(approx (+ (+ (* x y) (* z t)) (* a b)) (fma.f64 a b (*.f64 x y)))
Call 7
Inputs
#s(approx (+ (+ (* x y) (* z t)) (* a b)) #s(approx (+ (* a b) (* x y)) (*.f64 a b)))
#s(approx (+ (+ (* x y) (* z t)) (* a b)) #s(approx (+ (* t z) (* x y)) (*.f64 t z)))
#s(approx (+ (+ (* x y) (* z t)) (* a b)) #s(approx (+ (* t z) (* x y)) (*.f64 x y)))
#s(approx (+ (+ (* x y) (* z t)) (* a b)) (fma.f64 a b (*.f64 t z)))
#s(approx (+ (+ (* x y) (* z t)) (* a b)) (fma.f64 a b (*.f64 x y)))
#s(approx (+ (+ (* x y) (* z t)) (* a b)) (fma.f64 t z (*.f64 x y)))
(fma.f64 z t (fma.f64 b a (*.f64 y x)))
(+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b))
Outputs
(fma.f64 z t (fma.f64 b a (*.f64 y x)))
Calls

56 calls:

77.0ms
x
37.0ms
(*.f64 a b)
11.0ms
t
8.0ms
y
7.0ms
b
Results
AccuracySegmentsBranch
34.9%1(*.f64 x y)
34.9%1(+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b))
34.9%1z
34.9%1t
34.9%1a
34.9%1(+.f64 (*.f64 x y) (*.f64 z t))
34.9%1b
34.9%1y
34.9%1x
34.9%1(*.f64 z t)
34.9%1(*.f64 a b)
53.0%3t
39.3%3(*.f64 x y)
58.3%3(*.f64 a b)
60.7%5(*.f64 z t)
58.1%5(+.f64 (*.f64 x y) (*.f64 z t))
55.6%4a
63.0%6t
62.3%4(*.f64 a b)
58.9%5y
51.8%6(+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b))
57.6%4x
58.8%5b
54.9%5z
62.9%5(*.f64 x y)
65.7%1a
77.1%3y
65.7%1(*.f64 z t)
70.9%3t
65.7%1(+.f64 (*.f64 x y) (*.f64 z t))
85.2%3(*.f64 x y)
88.7%3(*.f64 x y)
87.0%3(*.f64 z t)
73.1%3(*.f64 a b)
91.1%3(*.f64 a b)
89.9%3(*.f64 z t)
89.9%3(*.f64 x y)
89.6%4(+.f64 (*.f64 x y) (*.f64 z t))
77.6%2(+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b))
84.6%3x
86.3%3y
84.9%3z
87.1%3t
85.9%3a
86.3%4b
99.2%1(*.f64 a b)
99.2%1(*.f64 z t)
99.2%1(*.f64 x y)
99.2%1(+.f64 (*.f64 x y) (*.f64 z t))
99.2%1(+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b))
99.2%1x
99.2%1y
99.2%1z
99.2%1t
99.2%1a
99.2%1b
Compiler

Compiled 307 to 425 computations (-38.4% saved)

bsearch1.0ms (0.0%)

Memory
1.3MiB live, 1.3MiB allocated; 0ms collecting garbage
Algorithm
left-value
Steps
TimeLeftRight
0.0ms
0.000338593413436818
0.018732175395062313
0.0ms
-9.612096184340115e+34
-2.0300022551420483e+32
Compiler

Compiled 16 to 21 computations (-31.3% saved)

bsearch25.0ms (1.1%)

Memory
10.1MiB live, 55.7MiB allocated; 4ms collecting garbage
Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
Steps
TimeLeftRight
12.0ms
3.8795617249946935e+58
6.149333235232622e+64
11.0ms
-3.100469008395745e+40
-3.627411697135997e+39
Samples
12.0ms240×0valid
Compiler

Compiled 526 to 456 computations (13.3% saved)

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

bsearch12.0ms (0.6%)

Memory
-19.4MiB live, 26.4MiB allocated; 4ms collecting garbage
Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
Steps
TimeLeftRight
8.0ms
1.5329891124824028e+125
7.636579103652763e+125
3.0ms
-3.100469008395745e+40
-3.627411697135997e+39
Samples
5.0ms96×0valid
Compiler

Compiled 484 to 393 computations (18.8% saved)

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

bsearch61.0ms (2.9%)

Memory
23.4MiB live, 68.9MiB allocated; 5ms collecting garbage
Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
narrow-enough
Steps
TimeLeftRight
11.0ms
4.295639887462471e+155
1.2830671302752486e+160
36.0ms
9.615971006301414e-281
7.215801588808238e-280
12.0ms
-2.0300022551420483e+32
-1.93545855542332e+25
Samples
45.0ms368×0valid
Compiler

Compiled 1 040 to 769 computations (26.1% saved)

Precisions
Click to see histograms. Total time spent on operations: 6.0ms
ival-mult!: 5.0ms (78.4% of total)
ival-add!: 1.0ms (15.7% of total)
adjust: 0.0ms (0.0% of total)

bsearch15.0ms (0.7%)

Memory
-25.3MiB live, 29.3MiB allocated; 6ms collecting garbage
Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
Steps
TimeLeftRight
10.0ms
0.000338593413436818
0.018732175395062313
4.0ms
-2.0300022551420483e+32
-1.93545855542332e+25
Samples
6.0ms112×0valid
Compiler

Compiled 720 to 533 computations (26.0% saved)

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

derivations27.0ms (1.3%)

Memory
-16.4MiB live, 29.8MiB allocated; 3ms collecting garbage
Stop Event
fuel
Compiler

Compiled 431 to 61 computations (85.8% saved)

preprocess126.0ms (5.9%)

Memory
19.2MiB live, 267.5MiB allocated; 22ms collecting garbage
Compiler

Compiled 3 028 to 990 computations (67.3% saved)

end0.0ms (0.0%)

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

Profiling

Loading profile data...