Diagrams.Solve.Polynomial:quartForm from diagrams-solve-0.1, B

Time bar (total: 4.3s)

start0.0ms (0%)

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

analyze0.0ms (0%)

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

Compiled 15 to 15 computations (0% saved)

sample1.1s (25%)

Memory
27.0MiB live, 635.3MiB allocated; 229ms collecting garbage
Samples
589.0ms8 255×0valid
0.0ms2valid
Precisions
Click to see histograms. Total time spent on operations: 283.0ms
ival-mult!: 110.0ms (38.9% of total)
ival-div!: 90.0ms (31.8% of total)
ival-sub!: 63.0ms (22.3% of total)
ival-add!: 19.0ms (6.7% of total)
adjust: 2.0ms (0.7% of total)
Bogosity

preprocess139.0ms (3.2%)

Memory
-21.9MiB live, 21.5MiB allocated; 27ms collecting garbage
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
059177
1401170
Stop Event
iter-limit
node-limit
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(+.f64 (-.f64 (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 8 binary64)) x) (/.f64 (*.f64 y z) #s(literal 2 binary64))) t)
Symmetry

(sort y z)

Compiler

Compiled 26 to 26 computations (0% saved)

series161.0ms (3.7%)

Memory
-11.3MiB live, 35.5MiB allocated; 14ms collecting garbage
Counts
13 → 28
Calls
Call 1
Inputs
(+.f64 (-.f64 (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 8 binary64)) x) (/.f64 (*.f64 y z) #s(literal 2 binary64))) t)
(-.f64 (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 8 binary64)) x) (/.f64 (*.f64 y z) #s(literal 2 binary64)))
(*.f64 (/.f64 #s(literal 1 binary64) #s(literal 8 binary64)) x)
(/.f64 #s(literal 1 binary64) #s(literal 8 binary64))
#s(literal 1 binary64)
#s(literal 8 binary64)
x
(/.f64 (*.f64 y z) #s(literal 2 binary64))
(*.f64 y z)
y
z
#s(literal 2 binary64)
t
Outputs
#s(approx (+ (- (* (/ 1 8) x) (/ (* y z) 2)) t) (-.f64 t (*.f64 #s(literal 1/2 binary64) (*.f64 y z))))
#s(approx (+ (- (* (/ 1 8) x) (/ (* y z) 2)) t) (-.f64 (+.f64 t (*.f64 #s(literal 1/8 binary64) x)) (*.f64 #s(literal 1/2 binary64) (*.f64 y z))))
#s(approx (- (* (/ 1 8) x) (/ (* y z) 2)) (*.f64 #s(literal -1/2 binary64) (*.f64 y z)))
#s(approx (- (* (/ 1 8) x) (/ (* y z) 2)) (-.f64 (*.f64 #s(literal 1/8 binary64) x) (*.f64 #s(literal 1/2 binary64) (*.f64 y z))))
#s(approx (* (/ 1 8) x) (*.f64 #s(literal 1/8 binary64) x))
#s(approx x x)
#s(approx (+ (- (* (/ 1 8) x) (/ (* y z) 2)) t) (*.f64 x (-.f64 (+.f64 #s(literal 1/8 binary64) (/.f64 t x)) (*.f64 #s(literal 1/2 binary64) (/.f64 (*.f64 y z) x)))))
#s(approx (- (* (/ 1 8) x) (/ (* y z) 2)) (*.f64 x (+.f64 #s(literal 1/8 binary64) (*.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 y z) x)))))
#s(approx (+ (- (* (/ 1 8) x) (/ (* y z) 2)) t) (*.f64 #s(literal -1 binary64) (*.f64 x (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (-.f64 t (*.f64 #s(literal 1/2 binary64) (*.f64 y z))) x)) #s(literal 1/8 binary64)))))
#s(approx (- (* (/ 1 8) x) (/ (* y z) 2)) (*.f64 #s(literal -1 binary64) (*.f64 x (-.f64 (*.f64 #s(literal 1/2 binary64) (/.f64 (*.f64 y z) x)) #s(literal 1/8 binary64)))))
#s(approx (+ (- (* (/ 1 8) x) (/ (* y z) 2)) t) (+.f64 t (*.f64 #s(literal 1/8 binary64) x)))
#s(approx (+ (- (* (/ 1 8) x) (/ (* y z) 2)) t) (+.f64 t (fma.f64 #s(literal -1/2 binary64) (*.f64 y z) (*.f64 #s(literal 1/8 binary64) x))))
#s(approx (- (* (/ 1 8) x) (/ (* y z) 2)) (fma.f64 #s(literal -1/2 binary64) (*.f64 y z) (*.f64 #s(literal 1/8 binary64) x)))
#s(approx (/ (* y z) 2) (*.f64 #s(literal 1/2 binary64) (*.f64 y z)))
#s(approx (* y z) (*.f64 y z))
#s(approx y y)
#s(approx (+ (- (* (/ 1 8) x) (/ (* y z) 2)) t) (*.f64 y (-.f64 (fma.f64 #s(literal 1/8 binary64) (/.f64 x y) (/.f64 t y)) (*.f64 #s(literal 1/2 binary64) z))))
#s(approx (- (* (/ 1 8) x) (/ (* y z) 2)) (*.f64 y (-.f64 (*.f64 #s(literal 1/8 binary64) (/.f64 x y)) (*.f64 #s(literal 1/2 binary64) z))))
#s(approx (+ (- (* (/ 1 8) x) (/ (* y z) 2)) t) (*.f64 #s(literal -1 binary64) (*.f64 y (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (+.f64 t (*.f64 #s(literal 1/8 binary64) x)) y)) (*.f64 #s(literal -1/2 binary64) z)))))
#s(approx (- (* (/ 1 8) x) (/ (* y z) 2)) (*.f64 #s(literal -1 binary64) (*.f64 y (-.f64 (*.f64 #s(literal -1/8 binary64) (/.f64 x y)) (*.f64 #s(literal -1/2 binary64) z)))))
#s(approx z z)
#s(approx (+ (- (* (/ 1 8) x) (/ (* y z) 2)) t) (*.f64 z (-.f64 (fma.f64 #s(literal 1/8 binary64) (/.f64 x z) (/.f64 t z)) (*.f64 #s(literal 1/2 binary64) y))))
#s(approx (- (* (/ 1 8) x) (/ (* y z) 2)) (*.f64 z (-.f64 (*.f64 #s(literal 1/8 binary64) (/.f64 x z)) (*.f64 #s(literal 1/2 binary64) y))))
#s(approx (+ (- (* (/ 1 8) x) (/ (* y z) 2)) t) (*.f64 #s(literal -1 binary64) (*.f64 z (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (+.f64 t (*.f64 #s(literal 1/8 binary64) x)) z)) (*.f64 #s(literal -1/2 binary64) y)))))
#s(approx (- (* (/ 1 8) x) (/ (* y z) 2)) (*.f64 #s(literal -1 binary64) (*.f64 z (-.f64 (*.f64 #s(literal -1/8 binary64) (/.f64 x z)) (*.f64 #s(literal -1/2 binary64) y)))))
#s(approx t t)
#s(approx (+ (- (* (/ 1 8) x) (/ (* y z) 2)) t) (*.f64 t (-.f64 (+.f64 #s(literal 1 binary64) (*.f64 #s(literal 1/8 binary64) (/.f64 x t))) (*.f64 #s(literal 1/2 binary64) (/.f64 (*.f64 y z) t)))))
#s(approx (+ (- (* (/ 1 8) x) (/ (* y z) 2)) t) (*.f64 #s(literal -1 binary64) (*.f64 t (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (-.f64 (*.f64 #s(literal 1/8 binary64) x) (*.f64 #s(literal 1/2 binary64) (*.f64 y z))) t)) #s(literal 1 binary64)))))
Calls

12 calls:

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

rewrite261.0ms (6%)

Memory
16.0MiB live, 70.2MiB allocated; 16ms collecting garbage
Counts
13 → 50
Calls
Call 1
Inputs
(+.f64 (-.f64 (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 8 binary64)) x) (/.f64 (*.f64 y z) #s(literal 2 binary64))) t)
(-.f64 (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 8 binary64)) x) (/.f64 (*.f64 y z) #s(literal 2 binary64)))
(*.f64 (/.f64 #s(literal 1 binary64) #s(literal 8 binary64)) x)
(/.f64 #s(literal 1 binary64) #s(literal 8 binary64))
#s(literal 1 binary64)
#s(literal 8 binary64)
x
(/.f64 (*.f64 y z) #s(literal 2 binary64))
(*.f64 y z)
y
z
#s(literal 2 binary64)
t
Outputs
(*.f64 (fma.f64 t t (fma.f64 (/.f64 y #s(literal 1 binary64)) z (/.f64 x #s(literal 8 binary64)))) (-.f64 t (fma.f64 (/.f64 y #s(literal 1 binary64)) z (/.f64 x #s(literal 8 binary64)))))
(*.f64 (fma.f64 t t (fma.f64 (/.f64 y #s(literal 1 binary64)) z (/.f64 x #s(literal 8 binary64)))) (fma.f64 (-.f64 t (fma.f64 (/.f64 y #s(literal 1 binary64)) z (/.f64 x #s(literal 8 binary64)))) t (fma.f64 (/.f64 y #s(literal 1 binary64)) z (/.f64 x #s(literal 8 binary64)))))
(*.f64 (-.f64 t (fma.f64 (/.f64 y #s(literal 1 binary64)) z (/.f64 x #s(literal 8 binary64)))) (/.f64 (-.f64 (fma.f64 (/.f64 y #s(literal 1 binary64)) z (/.f64 x #s(literal 8 binary64))) t) (-.f64 (fma.f64 (/.f64 y #s(literal 1 binary64)) z (/.f64 x #s(literal 8 binary64))) t)))
(*.f64 (/.f64 (fma.f64 t t (fma.f64 (/.f64 y #s(literal 1 binary64)) z (/.f64 x #s(literal 8 binary64)))) (-.f64 (fma.f64 (/.f64 y #s(literal 1 binary64)) z (/.f64 x #s(literal 8 binary64))) (fma.f64 (fma.f64 (/.f64 y #s(literal 1 binary64)) z (/.f64 x #s(literal 8 binary64))) (*.f64 t t) (*.f64 t t)))) (-.f64 (fma.f64 (/.f64 y #s(literal 1 binary64)) z (/.f64 x #s(literal 8 binary64))) (*.f64 (-.f64 t (fma.f64 (/.f64 y #s(literal 1 binary64)) z (/.f64 x #s(literal 8 binary64)))) t)))
(*.f64 (/.f64 (fma.f64 t t (fma.f64 (/.f64 y #s(literal 1 binary64)) z (/.f64 x #s(literal 8 binary64)))) (+.f64 (pow.f64 (*.f64 (-.f64 t (fma.f64 (/.f64 y #s(literal 1 binary64)) z (/.f64 x #s(literal 8 binary64)))) t) #s(literal 3 binary64)) (fma.f64 (/.f64 y #s(literal 1 binary64)) z (/.f64 x #s(literal 8 binary64))))) (fma.f64 (*.f64 (-.f64 t (fma.f64 (/.f64 y #s(literal 1 binary64)) z (/.f64 x #s(literal 8 binary64)))) t) (fma.f64 (-.f64 t (fma.f64 (/.f64 y #s(literal 1 binary64)) z (/.f64 x #s(literal 8 binary64)))) t (fma.f64 (/.f64 y #s(literal 1 binary64)) z (/.f64 x #s(literal 8 binary64)))) (fma.f64 (/.f64 y #s(literal 1 binary64)) z (/.f64 x #s(literal 8 binary64)))))
(*.f64 (fma.f64 (/.f64 y #s(literal 1 binary64)) z (/.f64 x #s(literal 8 binary64))) (fma.f64 (/.f64 y #s(literal 1 binary64)) z (/.f64 x #s(literal 8 binary64))))
(*.f64 (+.f64 (fabs.f64 (/.f64 x #s(literal 8 binary64))) (/.f64 (*.f64 y z) #s(literal 1 binary64))) (-.f64 (fabs.f64 (/.f64 x #s(literal 8 binary64))) (/.f64 (*.f64 y z) #s(literal 1 binary64))))
(*.f64 (/.f64 (fma.f64 (/.f64 y #s(literal 1 binary64)) z (/.f64 x #s(literal 8 binary64))) (fma.f64 (*.f64 #s(literal 8 binary64) y) (neg.f64 z) x)) (*.f64 #s(literal 1 binary64) #s(literal 8 binary64)))
(*.f64 (/.f64 (fma.f64 (/.f64 y #s(literal 1 binary64)) z (/.f64 x #s(literal 8 binary64))) (fma.f64 (*.f64 #s(literal 8 binary64) y) z x)) (*.f64 #s(literal 1 binary64) #s(literal 8 binary64)))
(*.f64 (fma.f64 x (/.f64 (*.f64 y z) (*.f64 #s(literal 1 binary64) #s(literal 8 binary64))) (fma.f64 (/.f64 y #s(literal 1 binary64)) z (/.f64 x #s(literal 8 binary64)))) (fma.f64 (/.f64 y #s(literal 1 binary64)) z (/.f64 x #s(literal 8 binary64))))
(*.f64 (/.f64 #s(literal 1 binary64) #s(literal 8 binary64)) x)
(*.f64 (/.f64 #s(literal 1 binary64) #s(literal 8 binary64)) (/.f64 x #s(literal 8 binary64)))
(*.f64 (/.f64 x #s(literal 8 binary64)) #s(literal 1 binary64))
(*.f64 (/.f64 x #s(literal 8 binary64)) (/.f64 #s(literal 1 binary64) #s(literal 8 binary64)))
(*.f64 #s(literal 1 binary64) (/.f64 x #s(literal 8 binary64)))
(*.f64 (/.f64 #s(literal 1 binary64) #s(literal 8 binary64)) (/.f64 #s(literal 1 binary64) #s(literal 8 binary64)))
(*.f64 (fabs.f64 (/.f64 #s(literal 1 binary64) #s(literal 8 binary64))) (fabs.f64 (/.f64 #s(literal 1 binary64) #s(literal 8 binary64))))
(*.f64 (pow.f64 (/.f64 #s(literal 1 binary64) #s(literal 8 binary64)) (/.f64 #s(literal 3 binary64) #s(literal 1 binary64))) (pow.f64 (/.f64 #s(literal 1 binary64) #s(literal 8 binary64)) (/.f64 #s(literal 3 binary64) #s(literal 1 binary64))))
(+.f64 (/.f64 #s(literal 1 binary64) #s(literal 8 binary64)) (/.f64 #s(literal 1 binary64) #s(literal 8 binary64)))
(+.f64 (cosh.f64 (*.f64 (log.f64 #s(literal 8 binary64)) #s(literal -1 binary64))) (sinh.f64 (*.f64 (log.f64 #s(literal 8 binary64)) #s(literal -1 binary64))))
#s(literal 1 binary64)
#s(literal 2 binary64)
#s(literal 0 binary64)
(*.f64 #s(literal 1 binary64) #s(literal 1 binary64))
(*.f64 (fabs.f64 #s(literal 1 binary64)) (fabs.f64 #s(literal 1 binary64)))
#s(literal 8 binary64)
(neg.f64 (neg.f64 #s(literal 8 binary64)))
x
(*.f64 x #s(literal 1 binary64))
(*.f64 #s(literal 1 binary64) x)
(+.f64 x x)
(/.f64 x #s(literal 1 binary64))
(*.f64 (/.f64 y #s(literal 1 binary64)) (/.f64 z #s(literal 1 binary64)))
(*.f64 (/.f64 y #s(literal 1 binary64)) z)
(*.f64 (/.f64 z #s(literal 1 binary64)) y)
(*.f64 (/.f64 z #s(literal 1 binary64)) (/.f64 y #s(literal 1 binary64)))
(*.f64 (/.f64 z #s(literal 1 binary64)) (neg.f64 y))
(*.f64 y z)
(*.f64 z y)
(*.f64 (neg.f64 y) (neg.f64 z))
(*.f64 (neg.f64 z) (neg.f64 y))
(*.f64 (neg.f64 (neg.f64 y)) z)
y
z
#s(literal 1 binary64)
#s(literal 2 binary64)
#s(literal 0 binary64)
(*.f64 #s(literal 1 binary64) #s(literal 1 binary64))
(*.f64 (fabs.f64 #s(literal 1 binary64)) (fabs.f64 #s(literal 1 binary64)))
t

eval15.0ms (0.3%)

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

Compiled 1 414 to 320 computations (77.4% saved)

prune5.0ms (0.1%)

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

4 alts after pruning (4 fresh and 0 done)

PrunedKeptTotal
New61465
Fresh000
Picked101
Done000
Total62466
Accuracy
100.0%
Counts
66 → 4
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(+.f64 #s(approx (- (* (/ 1 8) x) (/ (* y z) 2)) (fma.f64 #s(literal -1/2 binary64) (*.f64 y z) (*.f64 #s(literal 1/8 binary64) x))) t)
69.8%
#s(approx (+ (- (* (/ 1 8) x) (/ (* y z) 2)) t) (-.f64 t (*.f64 #s(literal 1/2 binary64) (*.f64 y z))))
67.8%
#s(approx (+ (- (* (/ 1 8) x) (/ (* y z) 2)) t) (+.f64 t (*.f64 #s(literal 1/8 binary64) x)))
75.2%
#s(approx (+ (- (* (/ 1 8) x) (/ (* y z) 2)) t) (*.f64 z (-.f64 (fma.f64 #s(literal 1/8 binary64) (/.f64 x z) (/.f64 t z)) (*.f64 #s(literal 1/2 binary64) y))))
Compiler

Compiled 90 to 76 computations (15.6% saved)

series280.0ms (6.5%)

Memory
-32.2MiB live, 162.7MiB allocated; 103ms collecting garbage
Counts
24 → 79
Calls
Call 1
Inputs
#s(approx (+ (- (* (/ 1 8) x) (/ (* y z) 2)) t) (*.f64 z (-.f64 (fma.f64 #s(literal 1/8 binary64) (/.f64 x z) (/.f64 t z)) (*.f64 #s(literal 1/2 binary64) y))))
(*.f64 z (-.f64 (fma.f64 #s(literal 1/8 binary64) (/.f64 x z) (/.f64 t z)) (*.f64 #s(literal 1/2 binary64) y)))
z
(-.f64 (fma.f64 #s(literal 1/8 binary64) (/.f64 x z) (/.f64 t z)) (*.f64 #s(literal 1/2 binary64) y))
(fma.f64 #s(literal 1/8 binary64) (/.f64 x z) (/.f64 t z))
#s(literal 1/8 binary64)
(/.f64 x z)
x
(/.f64 t z)
t
(*.f64 #s(literal 1/2 binary64) y)
#s(literal 1/2 binary64)
y
#s(approx (+ (- (* (/ 1 8) x) (/ (* y z) 2)) t) (+.f64 t (*.f64 #s(literal 1/8 binary64) x)))
(+.f64 t (*.f64 #s(literal 1/8 binary64) x))
(*.f64 #s(literal 1/8 binary64) x)
#s(approx (+ (- (* (/ 1 8) x) (/ (* y z) 2)) t) (-.f64 t (*.f64 #s(literal 1/2 binary64) (*.f64 y z))))
(-.f64 t (*.f64 #s(literal 1/2 binary64) (*.f64 y z)))
(*.f64 #s(literal 1/2 binary64) (*.f64 y z))
(*.f64 y z)
(+.f64 #s(approx (- (* (/ 1 8) x) (/ (* y z) 2)) (fma.f64 #s(literal -1/2 binary64) (*.f64 y z) (*.f64 #s(literal 1/8 binary64) x))) t)
#s(approx (- (* (/ 1 8) x) (/ (* y z) 2)) (fma.f64 #s(literal -1/2 binary64) (*.f64 y z) (*.f64 #s(literal 1/8 binary64) x)))
(fma.f64 #s(literal -1/2 binary64) (*.f64 y z) (*.f64 #s(literal 1/8 binary64) x))
#s(literal -1/2 binary64)
Outputs
#s(approx (+ (- (* (/ 1 8) x) (/ (* y z) 2)) t) (-.f64 t (*.f64 #s(literal 1/2 binary64) (*.f64 y z))))
#s(approx (+ (- (* (/ 1 8) x) (/ (* y z) 2)) t) (-.f64 (+.f64 t (*.f64 #s(literal 1/8 binary64) x)) (*.f64 #s(literal 1/2 binary64) (*.f64 y z))))
#s(approx (* z (- (+ (* 1/8 (/ x z)) (/ t z)) (* 1/2 y))) (*.f64 z (-.f64 (/.f64 t z) (*.f64 #s(literal 1/2 binary64) y))))
#s(approx (* z (- (+ (* 1/8 (/ x z)) (/ t z)) (* 1/2 y))) (fma.f64 #s(literal 1/8 binary64) x (*.f64 z (-.f64 (/.f64 t z) (*.f64 #s(literal 1/2 binary64) y)))))
#s(approx (- (+ (* 1/8 (/ x z)) (/ t z)) (* 1/2 y)) (-.f64 (/.f64 t z) (*.f64 #s(literal 1/2 binary64) y)))
#s(approx (- (+ (* 1/8 (/ x z)) (/ t z)) (* 1/2 y)) (-.f64 (fma.f64 #s(literal 1/8 binary64) (/.f64 x z) (/.f64 t z)) (*.f64 #s(literal 1/2 binary64) y)))
#s(approx (+ (* 1/8 (/ x z)) (/ t z)) (/.f64 t z))
#s(approx (+ (* 1/8 (/ x z)) (/ t z)) (fma.f64 #s(literal 1/8 binary64) (/.f64 x z) (/.f64 t z)))
#s(approx (/ x z) (/.f64 x z))
#s(approx x x)
#s(approx (+ t (* 1/8 x)) t)
#s(approx (+ t (* 1/8 x)) (+.f64 t (*.f64 #s(literal 1/8 binary64) x)))
#s(approx (* 1/8 x) (*.f64 #s(literal 1/8 binary64) x))
#s(approx (- (* (/ 1 8) x) (/ (* y z) 2)) (*.f64 #s(literal -1/2 binary64) (*.f64 y z)))
#s(approx (- (* (/ 1 8) x) (/ (* y z) 2)) (-.f64 (*.f64 #s(literal 1/8 binary64) x) (*.f64 #s(literal 1/2 binary64) (*.f64 y z))))
#s(approx (+ (* -1/2 (* y z)) (* 1/8 x)) (fma.f64 #s(literal -1/2 binary64) (*.f64 y z) (*.f64 #s(literal 1/8 binary64) x)))
#s(approx (+ (- (* (/ 1 8) x) (/ (* y z) 2)) t) (*.f64 x (-.f64 (+.f64 #s(literal 1/8 binary64) (/.f64 t x)) (*.f64 #s(literal 1/2 binary64) (/.f64 (*.f64 y z) x)))))
#s(approx (* z (- (+ (* 1/8 (/ x z)) (/ t z)) (* 1/2 y))) (*.f64 x (+.f64 #s(literal 1/8 binary64) (/.f64 (*.f64 z (-.f64 (/.f64 t z) (*.f64 #s(literal 1/2 binary64) y))) x))))
#s(approx (- (+ (* 1/8 (/ x z)) (/ t z)) (* 1/2 y)) (*.f64 #s(literal 1/8 binary64) (/.f64 x z)))
#s(approx (- (+ (* 1/8 (/ x z)) (/ t z)) (* 1/2 y)) (*.f64 x (-.f64 (fma.f64 #s(literal 1/8 binary64) (/.f64 #s(literal 1 binary64) z) (/.f64 t (*.f64 x z))) (*.f64 #s(literal 1/2 binary64) (/.f64 y x)))))
#s(approx (+ (* 1/8 (/ x z)) (/ t z)) (*.f64 x (fma.f64 #s(literal 1/8 binary64) (/.f64 #s(literal 1 binary64) z) (/.f64 t (*.f64 x z)))))
#s(approx (+ t (* 1/8 x)) (*.f64 x (+.f64 #s(literal 1/8 binary64) (/.f64 t x))))
#s(approx (- (* (/ 1 8) x) (/ (* y z) 2)) (*.f64 x (+.f64 #s(literal 1/8 binary64) (*.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 y z) x)))))
#s(approx (+ (- (* (/ 1 8) x) (/ (* y z) 2)) t) (*.f64 #s(literal -1 binary64) (*.f64 x (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (-.f64 t (*.f64 #s(literal 1/2 binary64) (*.f64 y z))) x)) #s(literal 1/8 binary64)))))
#s(approx (* z (- (+ (* 1/8 (/ x z)) (/ t z)) (* 1/2 y))) (*.f64 #s(literal -1 binary64) (*.f64 x (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 z (-.f64 (/.f64 t z) (*.f64 #s(literal 1/2 binary64) y))) x)) #s(literal 1/8 binary64)))))
#s(approx (- (+ (* 1/8 (/ x z)) (/ t z)) (* 1/2 y)) (*.f64 #s(literal -1 binary64) (*.f64 x (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (-.f64 (/.f64 t z) (*.f64 #s(literal 1/2 binary64) y)) x)) (*.f64 #s(literal 1/8 binary64) (/.f64 #s(literal 1 binary64) z))))))
#s(approx (+ (* 1/8 (/ x z)) (/ t z)) (*.f64 #s(literal -1 binary64) (*.f64 x (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 t (*.f64 x z))) (*.f64 #s(literal 1/8 binary64) (/.f64 #s(literal 1 binary64) z))))))
#s(approx (+ t (* 1/8 x)) (*.f64 #s(literal -1 binary64) (*.f64 x (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 t x)) #s(literal 1/8 binary64)))))
#s(approx (- (* (/ 1 8) x) (/ (* y z) 2)) (*.f64 #s(literal -1 binary64) (*.f64 x (-.f64 (*.f64 #s(literal 1/2 binary64) (/.f64 (*.f64 y z) x)) #s(literal 1/8 binary64)))))
#s(approx (+ (- (* (/ 1 8) x) (/ (* y z) 2)) t) (+.f64 t (fma.f64 #s(literal -1/2 binary64) (*.f64 y z) (*.f64 #s(literal 1/8 binary64) x))))
#s(approx (* z (- (+ (* 1/8 (/ x z)) (/ t z)) (* 1/2 y))) (*.f64 z (fma.f64 #s(literal 1/8 binary64) (/.f64 x z) (/.f64 t z))))
#s(approx (* z (- (+ (* 1/8 (/ x z)) (/ t z)) (* 1/2 y))) (fma.f64 #s(literal -1/2 binary64) (*.f64 y z) (*.f64 z (fma.f64 #s(literal 1/8 binary64) (/.f64 x z) (/.f64 t z)))))
#s(approx (- (+ (* 1/8 (/ x z)) (/ t z)) (* 1/2 y)) (fma.f64 #s(literal -1/2 binary64) y (fma.f64 #s(literal 1/8 binary64) (/.f64 x z) (/.f64 t z))))
#s(approx (* 1/2 y) (*.f64 #s(literal 1/2 binary64) y))
#s(approx y y)
#s(approx (- t (* 1/2 (* y z))) (+.f64 t (*.f64 #s(literal -1/2 binary64) (*.f64 y z))))
#s(approx (* 1/2 (* y z)) (*.f64 #s(literal 1/2 binary64) (*.f64 y z)))
#s(approx (* y z) (*.f64 y z))
#s(approx (+ (- (* (/ 1 8) x) (/ (* y z) 2)) t) (*.f64 y (-.f64 (fma.f64 #s(literal 1/8 binary64) (/.f64 x y) (/.f64 t y)) (*.f64 #s(literal 1/2 binary64) z))))
#s(approx (* z (- (+ (* 1/8 (/ x z)) (/ t z)) (* 1/2 y))) (*.f64 y (fma.f64 #s(literal -1/2 binary64) z (/.f64 (*.f64 z (fma.f64 #s(literal 1/8 binary64) (/.f64 x z) (/.f64 t z))) y))))
#s(approx (- (+ (* 1/8 (/ x z)) (/ t z)) (* 1/2 y)) (*.f64 #s(literal -1/2 binary64) y))
#s(approx (- (+ (* 1/8 (/ x z)) (/ t z)) (* 1/2 y)) (*.f64 y (-.f64 (fma.f64 #s(literal 1/8 binary64) (/.f64 x (*.f64 y z)) (/.f64 t (*.f64 y z))) #s(literal 1/2 binary64))))
#s(approx (- t (* 1/2 (* y z))) (*.f64 y (-.f64 (/.f64 t y) (*.f64 #s(literal 1/2 binary64) z))))
#s(approx (- (* (/ 1 8) x) (/ (* y z) 2)) (*.f64 y (-.f64 (*.f64 #s(literal 1/8 binary64) (/.f64 x y)) (*.f64 #s(literal 1/2 binary64) z))))
#s(approx (+ (* -1/2 (* y z)) (* 1/8 x)) (*.f64 y (fma.f64 #s(literal -1/2 binary64) z (*.f64 #s(literal 1/8 binary64) (/.f64 x y)))))
#s(approx (+ (- (* (/ 1 8) x) (/ (* y z) 2)) t) (*.f64 #s(literal -1 binary64) (*.f64 y (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (+.f64 t (*.f64 #s(literal 1/8 binary64) x)) y)) (*.f64 #s(literal -1/2 binary64) z)))))
#s(approx (* z (- (+ (* 1/8 (/ x z)) (/ t z)) (* 1/2 y))) (*.f64 #s(literal -1 binary64) (*.f64 y (fma.f64 #s(literal -1 binary64) (/.f64 (*.f64 z (fma.f64 #s(literal 1/8 binary64) (/.f64 x z) (/.f64 t z))) y) (*.f64 #s(literal 1/2 binary64) z)))))
#s(approx (- (+ (* 1/8 (/ x z)) (/ t z)) (* 1/2 y)) (*.f64 #s(literal -1 binary64) (*.f64 y (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal 1/8 binary64) (/.f64 x z) (/.f64 t z)) y))))))
#s(approx (- t (* 1/2 (* y z))) (*.f64 #s(literal -1 binary64) (*.f64 y (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 t y)) (*.f64 #s(literal -1/2 binary64) z)))))
#s(approx (- (* (/ 1 8) x) (/ (* y z) 2)) (*.f64 #s(literal -1 binary64) (*.f64 y (-.f64 (*.f64 #s(literal -1/8 binary64) (/.f64 x y)) (*.f64 #s(literal -1/2 binary64) z)))))
#s(approx (+ (* -1/2 (* y z)) (* 1/8 x)) (*.f64 #s(literal -1 binary64) (*.f64 y (fma.f64 #s(literal -1/8 binary64) (/.f64 x y) (*.f64 #s(literal 1/2 binary64) z)))))
#s(approx z z)
#s(approx (- (+ (* 1/8 (/ x z)) (/ t z)) (* 1/2 y)) (/.f64 (+.f64 t (*.f64 #s(literal 1/8 binary64) x)) z))
#s(approx (- (+ (* 1/8 (/ x z)) (/ t z)) (* 1/2 y)) (/.f64 (+.f64 t (fma.f64 #s(literal -1/2 binary64) (*.f64 y z) (*.f64 #s(literal 1/8 binary64) x))) z))
#s(approx (+ (- (* (/ 1 8) x) (/ (* y z) 2)) t) (*.f64 z (-.f64 (fma.f64 #s(literal 1/8 binary64) (/.f64 x z) (/.f64 t z)) (*.f64 #s(literal 1/2 binary64) y))))
#s(approx (* z (- (+ (* 1/8 (/ x z)) (/ t z)) (* 1/2 y))) (*.f64 z (fma.f64 #s(literal -1/2 binary64) y (fma.f64 #s(literal 1/8 binary64) (/.f64 x z) (/.f64 t z)))))
#s(approx (- (* (/ 1 8) x) (/ (* y z) 2)) (*.f64 z (-.f64 (*.f64 #s(literal 1/8 binary64) (/.f64 x z)) (*.f64 #s(literal 1/2 binary64) y))))
#s(approx (+ (* -1/2 (* y z)) (* 1/8 x)) (*.f64 z (fma.f64 #s(literal -1/2 binary64) y (*.f64 #s(literal 1/8 binary64) (/.f64 x z)))))
#s(approx (+ (- (* (/ 1 8) x) (/ (* y z) 2)) t) (*.f64 #s(literal -1 binary64) (*.f64 z (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (+.f64 t (*.f64 #s(literal 1/8 binary64) x)) z)) (*.f64 #s(literal -1/2 binary64) y)))))
#s(approx (* z (- (+ (* 1/8 (/ x z)) (/ t z)) (* 1/2 y))) (*.f64 #s(literal -1 binary64) (*.f64 z (fma.f64 #s(literal -1 binary64) (/.f64 t z) (fma.f64 #s(literal -1/8 binary64) (/.f64 x z) (*.f64 #s(literal 1/2 binary64) y))))))
#s(approx (- (+ (* 1/8 (/ x z)) (/ t z)) (* 1/2 y)) (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal -1 binary64) t (*.f64 #s(literal -1/8 binary64) x)) z)) (*.f64 #s(literal 1/2 binary64) y)))
#s(approx (+ (* 1/8 (/ x z)) (/ t z)) (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal -1 binary64) t (*.f64 #s(literal -1/8 binary64) x)) z)))
#s(approx (- t (* 1/2 (* y z))) (*.f64 #s(literal -1 binary64) (*.f64 z (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 t z)) (*.f64 #s(literal -1/2 binary64) y)))))
#s(approx (- (* (/ 1 8) x) (/ (* y z) 2)) (*.f64 #s(literal -1 binary64) (*.f64 z (-.f64 (*.f64 #s(literal -1/8 binary64) (/.f64 x z)) (*.f64 #s(literal -1/2 binary64) y)))))
#s(approx (+ (* -1/2 (* y z)) (* 1/8 x)) (*.f64 #s(literal -1 binary64) (*.f64 z (fma.f64 #s(literal -1/8 binary64) (/.f64 x z) (*.f64 #s(literal 1/2 binary64) y)))))
#s(approx (* z (- (+ (* 1/8 (/ x z)) (/ t z)) (* 1/2 y))) (+.f64 t (*.f64 z (-.f64 (*.f64 #s(literal 1/8 binary64) (/.f64 x z)) (*.f64 #s(literal 1/2 binary64) y)))))
#s(approx (- (+ (* 1/8 (/ x z)) (/ t z)) (* 1/2 y)) (-.f64 (*.f64 #s(literal 1/8 binary64) (/.f64 x z)) (*.f64 #s(literal 1/2 binary64) y)))
#s(approx (+ (- (* (/ 1 8) x) (/ (* y z) 2)) t) (*.f64 t (-.f64 (+.f64 #s(literal 1 binary64) (*.f64 #s(literal 1/8 binary64) (/.f64 x t))) (*.f64 #s(literal 1/2 binary64) (/.f64 (*.f64 y z) t)))))
#s(approx (* z (- (+ (* 1/8 (/ x z)) (/ t z)) (* 1/2 y))) (*.f64 t (+.f64 #s(literal 1 binary64) (/.f64 (*.f64 z (-.f64 (*.f64 #s(literal 1/8 binary64) (/.f64 x z)) (*.f64 #s(literal 1/2 binary64) y))) t))))
#s(approx (- (+ (* 1/8 (/ x z)) (/ t z)) (* 1/2 y)) (*.f64 t (-.f64 (fma.f64 #s(literal 1/8 binary64) (/.f64 x (*.f64 t z)) (/.f64 #s(literal 1 binary64) z)) (*.f64 #s(literal 1/2 binary64) (/.f64 y t)))))
#s(approx (+ (* 1/8 (/ x z)) (/ t z)) (*.f64 t (fma.f64 #s(literal 1/8 binary64) (/.f64 x (*.f64 t z)) (/.f64 #s(literal 1 binary64) z))))
#s(approx (+ t (* 1/8 x)) (*.f64 t (+.f64 #s(literal 1 binary64) (*.f64 #s(literal 1/8 binary64) (/.f64 x t)))))
#s(approx (- t (* 1/2 (* y z))) (*.f64 t (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 y z) t)))))
#s(approx (+ (- (* (/ 1 8) x) (/ (* y z) 2)) t) (*.f64 #s(literal -1 binary64) (*.f64 t (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (-.f64 (*.f64 #s(literal 1/8 binary64) x) (*.f64 #s(literal 1/2 binary64) (*.f64 y z))) t)) #s(literal 1 binary64)))))
#s(approx (* z (- (+ (* 1/8 (/ x z)) (/ t z)) (* 1/2 y))) (*.f64 #s(literal -1 binary64) (*.f64 t (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 z (-.f64 (*.f64 #s(literal 1/8 binary64) (/.f64 x z)) (*.f64 #s(literal 1/2 binary64) y))) t)) #s(literal 1 binary64)))))
#s(approx (- (+ (* 1/8 (/ x z)) (/ t z)) (* 1/2 y)) (*.f64 #s(literal -1 binary64) (*.f64 t (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (-.f64 (*.f64 #s(literal 1/8 binary64) (/.f64 x z)) (*.f64 #s(literal 1/2 binary64) y)) t)) (/.f64 #s(literal 1 binary64) z)))))
#s(approx (+ (* 1/8 (/ x z)) (/ t z)) (*.f64 #s(literal -1 binary64) (*.f64 t (-.f64 (*.f64 #s(literal -1/8 binary64) (/.f64 x (*.f64 t z))) (/.f64 #s(literal 1 binary64) z)))))
#s(approx (+ t (* 1/8 x)) (*.f64 #s(literal -1 binary64) (*.f64 t (-.f64 (*.f64 #s(literal -1/8 binary64) (/.f64 x t)) #s(literal 1 binary64)))))
#s(approx (- t (* 1/2 (* y z))) (*.f64 #s(literal -1 binary64) (*.f64 t (-.f64 (*.f64 #s(literal 1/2 binary64) (/.f64 (*.f64 y z) t)) #s(literal 1 binary64)))))
Calls

12 calls:

TimeVariablePoint
59.0ms
t
-inf
5.0ms
x
inf
5.0ms
x
0
4.0ms
z
-inf
3.0ms
x
-inf

rewrite346.0ms (8%)

Memory
26.0MiB live, 305.6MiB allocated; 63ms collecting garbage
Counts
24 → 76
Calls
Call 1
Inputs
#s(approx (+ (- (* (/ 1 8) x) (/ (* y z) 2)) t) (*.f64 z (-.f64 (fma.f64 #s(literal 1/8 binary64) (/.f64 x z) (/.f64 t z)) (*.f64 #s(literal 1/2 binary64) y))))
(*.f64 z (-.f64 (fma.f64 #s(literal 1/8 binary64) (/.f64 x z) (/.f64 t z)) (*.f64 #s(literal 1/2 binary64) y)))
z
(-.f64 (fma.f64 #s(literal 1/8 binary64) (/.f64 x z) (/.f64 t z)) (*.f64 #s(literal 1/2 binary64) y))
(fma.f64 #s(literal 1/8 binary64) (/.f64 x z) (/.f64 t z))
#s(literal 1/8 binary64)
(/.f64 x z)
x
(/.f64 t z)
t
(*.f64 #s(literal 1/2 binary64) y)
#s(literal 1/2 binary64)
y
#s(approx (+ (- (* (/ 1 8) x) (/ (* y z) 2)) t) (+.f64 t (*.f64 #s(literal 1/8 binary64) x)))
(+.f64 t (*.f64 #s(literal 1/8 binary64) x))
(*.f64 #s(literal 1/8 binary64) x)
#s(approx (+ (- (* (/ 1 8) x) (/ (* y z) 2)) t) (-.f64 t (*.f64 #s(literal 1/2 binary64) (*.f64 y z))))
(-.f64 t (*.f64 #s(literal 1/2 binary64) (*.f64 y z)))
(*.f64 #s(literal 1/2 binary64) (*.f64 y z))
(*.f64 y z)
(+.f64 #s(approx (- (* (/ 1 8) x) (/ (* y z) 2)) (fma.f64 #s(literal -1/2 binary64) (*.f64 y z) (*.f64 #s(literal 1/8 binary64) x))) t)
#s(approx (- (* (/ 1 8) x) (/ (* y z) 2)) (fma.f64 #s(literal -1/2 binary64) (*.f64 y z) (*.f64 #s(literal 1/8 binary64) x)))
(fma.f64 #s(literal -1/2 binary64) (*.f64 y z) (*.f64 #s(literal 1/8 binary64) x))
#s(literal -1/2 binary64)
Outputs
#s(approx (+ (/ x 8) (+ (/ (* y z) 1) t)) (*.f64 z (-.f64 (/.f64 (fma.f64 x #s(literal 1/8 binary64) t) z) (*.f64 #s(literal 1/2 binary64) y))))
(*.f64 z (-.f64 (/.f64 (fma.f64 x #s(literal 1/8 binary64) t) z) (*.f64 #s(literal 1/2 binary64) y)))
(*.f64 (-.f64 (/.f64 (fma.f64 x #s(literal 1/8 binary64) t) z) (*.f64 #s(literal 1/2 binary64) y)) z)
(*.f64 (*.f64 (-.f64 (/.f64 (fma.f64 x #s(literal 1/8 binary64) t) z) (*.f64 (*.f64 #s(literal 1/2 binary64) #s(literal 1/2 binary64)) (*.f64 y y))) z) (fma.f64 (*.f64 #s(literal 1/2 binary64) y) (-.f64 (*.f64 #s(literal 1/2 binary64) y) (/.f64 (fma.f64 x #s(literal 1/8 binary64) t) z)) (/.f64 (fma.f64 x #s(literal 1/8 binary64) t) z)))
(*.f64 (-.f64 (/.f64 (fma.f64 x #s(literal 1/8 binary64) t) z) (*.f64 (*.f64 #s(literal 1/2 binary64) #s(literal 1/2 binary64)) (*.f64 y y))) (/.f64 z (fma.f64 y #s(literal 1/2 binary64) (/.f64 (fma.f64 x #s(literal 1/8 binary64) t) z))))
(*.f64 (/.f64 (*.f64 (-.f64 (/.f64 (fma.f64 x #s(literal 1/8 binary64) t) z) (*.f64 (*.f64 #s(literal 1/2 binary64) #s(literal 1/2 binary64)) (*.f64 y y))) z) (-.f64 (/.f64 (fma.f64 x #s(literal 1/8 binary64) t) z) (*.f64 (*.f64 #s(literal 1/2 binary64) #s(literal 1/2 binary64)) (*.f64 y y)))) (-.f64 (/.f64 (fma.f64 x #s(literal 1/8 binary64) t) z) (*.f64 #s(literal 1/2 binary64) y)))
z
(neg.f64 (neg.f64 z))
(*.f64 (fma.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) #s(literal 1/2 binary64)) y) y (/.f64 (fma.f64 x #s(literal 1/8 binary64) t) z)) (-.f64 (/.f64 (fma.f64 x #s(literal 1/8 binary64) t) z) (*.f64 #s(literal 1/2 binary64) y)))
(*.f64 (-.f64 (/.f64 (fma.f64 x #s(literal 1/8 binary64) t) z) (*.f64 (*.f64 #s(literal 1/2 binary64) #s(literal 1/2 binary64)) (*.f64 y y))) (fma.f64 (*.f64 #s(literal 1/2 binary64) y) (-.f64 (*.f64 #s(literal 1/2 binary64) y) (/.f64 (fma.f64 x #s(literal 1/8 binary64) t) z)) (/.f64 (fma.f64 x #s(literal 1/8 binary64) t) z)))
(*.f64 (fma.f64 y #s(literal 1/2 binary64) (/.f64 (fma.f64 x #s(literal 1/8 binary64) t) z)) (/.f64 (-.f64 (/.f64 (fma.f64 x #s(literal 1/8 binary64) t) z) (*.f64 #s(literal 1/2 binary64) y)) (fma.f64 y #s(literal 1/2 binary64) (/.f64 (fma.f64 x #s(literal 1/8 binary64) t) z))))
(*.f64 (fma.f64 (fma.f64 y #s(literal 1/2 binary64) (/.f64 (fma.f64 x #s(literal 1/8 binary64) t) z)) (*.f64 #s(literal 1/2 binary64) y) (/.f64 (fma.f64 x #s(literal 1/8 binary64) t) z)) (/.f64 (-.f64 (/.f64 (fma.f64 x #s(literal 1/8 binary64) t) z) (*.f64 #s(literal 1/2 binary64) y)) (fma.f64 (fma.f64 y #s(literal 1/2 binary64) (/.f64 (fma.f64 x #s(literal 1/8 binary64) t) z)) (*.f64 #s(literal 1/2 binary64) y) (/.f64 (fma.f64 x #s(literal 1/8 binary64) t) z))))
(*.f64 (/.f64 (-.f64 (/.f64 (fma.f64 x #s(literal 1/8 binary64) t) z) (*.f64 (*.f64 #s(literal 1/2 binary64) #s(literal 1/2 binary64)) (*.f64 y y))) (+.f64 (pow.f64 (*.f64 (fma.f64 y #s(literal 1/2 binary64) (/.f64 (fma.f64 x #s(literal 1/8 binary64) t) z)) (*.f64 #s(literal 1/2 binary64) y)) #s(literal 3 binary64)) (/.f64 (fma.f64 x #s(literal 1/8 binary64) t) z))) (fma.f64 (*.f64 (fma.f64 y #s(literal 1/2 binary64) (/.f64 (fma.f64 x #s(literal 1/8 binary64) t) z)) (*.f64 #s(literal 1/2 binary64) y)) (-.f64 (*.f64 (fma.f64 y #s(literal 1/2 binary64) (/.f64 (fma.f64 x #s(literal 1/8 binary64) t) z)) (*.f64 #s(literal 1/2 binary64) y)) (/.f64 (fma.f64 x #s(literal 1/8 binary64) t) z)) (/.f64 (fma.f64 x #s(literal 1/8 binary64) t) z)))
(*.f64 (/.f64 (fma.f64 x #s(literal 1/8 binary64) t) z) (/.f64 (fma.f64 x #s(literal 1/8 binary64) t) z))
(*.f64 (/.f64 (-.f64 (*.f64 #s(literal 1/8 binary64) x) t) z) (/.f64 (-.f64 (*.f64 #s(literal 1/8 binary64) x) t) z))
(*.f64 (+.f64 (fabs.f64 (/.f64 t z)) (/.f64 (*.f64 #s(literal 1/8 binary64) x) z)) (-.f64 (fabs.f64 (/.f64 t z)) (/.f64 (*.f64 #s(literal 1/8 binary64) x) z)))
(*.f64 (/.f64 (/.f64 (-.f64 (*.f64 #s(literal 1/8 binary64) x) t) z) (-.f64 (*.f64 #s(literal 1/8 binary64) x) t)) z)
(*.f64 (-.f64 (/.f64 (fma.f64 x #s(literal 1/8 binary64) t) z) (/.f64 (*.f64 (*.f64 #s(literal 1/8 binary64) x) t) (*.f64 z z))) (/.f64 (fma.f64 x #s(literal 1/8 binary64) t) z))
#s(literal 1/8 binary64)
(neg.f64 (neg.f64 #s(literal 1/8 binary64)))
(*.f64 #s(literal 1 binary64) (/.f64 x z))
(*.f64 x (/.f64 #s(literal 1 binary64) z))
(*.f64 x (/.f64 #s(literal 1 binary64) (neg.f64 z)))
(/.f64 x z)
(/.f64 x (neg.f64 z))
x
(*.f64 x #s(literal 1 binary64))
(*.f64 #s(literal 1 binary64) x)
(+.f64 x x)
(/.f64 x #s(literal 1 binary64))
(/.f64 t z)
(/.f64 (neg.f64 t) (neg.f64 z))
(neg.f64 (neg.f64 (/.f64 t z)))
t
(neg.f64 (neg.f64 t))
(*.f64 #s(literal 1/2 binary64) y)
(*.f64 y #s(literal 1/2 binary64))
(neg.f64 (neg.f64 (*.f64 #s(literal 1/2 binary64) y)))
#s(literal 1/2 binary64)
(neg.f64 (neg.f64 #s(literal 1/2 binary64)))
y
#s(approx (+ (/ x 8) (+ (/ (* y z) 1) t)) (fma.f64 x #s(literal 1/8 binary64) t))
(*.f64 (*.f64 (fma.f64 x #s(literal 1/8 binary64) t) (fma.f64 x #s(literal 1/8 binary64) t)) (fma.f64 x #s(literal 1/8 binary64) t))
(*.f64 (*.f64 (fma.f64 x #s(literal 1/8 binary64) t) (fma.f64 x #s(literal 1/8 binary64) t)) (fma.f64 (*.f64 #s(literal 1/8 binary64) x) (fma.f64 x #s(literal 1/8 binary64) t) (*.f64 t t)))
(*.f64 (fma.f64 (*.f64 #s(literal 1/8 binary64) x) (fma.f64 x #s(literal 1/8 binary64) t) (*.f64 t t)) (*.f64 (fma.f64 x #s(literal 1/8 binary64) t) (fma.f64 x #s(literal 1/8 binary64) t)))
(*.f64 (fma.f64 x #s(literal 1/8 binary64) t) (*.f64 (fma.f64 x #s(literal 1/8 binary64) t) (fma.f64 x #s(literal 1/8 binary64) t)))
(*.f64 (*.f64 (-.f64 (*.f64 #s(literal 1/8 binary64) x) t) (fma.f64 x #s(literal 1/8 binary64) t)) (neg.f64 (fma.f64 (*.f64 #s(literal 1/8 binary64) x) (fma.f64 x #s(literal 1/8 binary64) t) (*.f64 t t))))
(*.f64 #s(literal 1/8 binary64) x)
(*.f64 x #s(literal 1/8 binary64))
(*.f64 (*.f64 #s(literal 1/8 binary64) x) #s(literal 1 binary64))
(*.f64 (*.f64 #s(literal 1/8 binary64) #s(literal 1 binary64)) x)
(*.f64 (neg.f64 #s(literal 1/8 binary64)) x)
#s(approx (+ (/ x 8) (+ (/ (* y z) 1) t)) (-.f64 t (*.f64 #s(literal 1/2 binary64) (*.f64 y z))))
(*.f64 (fma.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) #s(literal 1/2 binary64)) (*.f64 y z)) (*.f64 y z) (*.f64 t t)) (-.f64 t (*.f64 #s(literal 1/2 binary64) (*.f64 y z))))
(*.f64 (fma.f64 (*.f64 #s(literal 1/2 binary64) y) z t) (/.f64 (-.f64 t (*.f64 #s(literal 1/2 binary64) (*.f64 y z))) (fma.f64 (*.f64 #s(literal 1/2 binary64) y) z t)))
(*.f64 (fma.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 y z)) (fma.f64 (*.f64 #s(literal 1/2 binary64) y) z t) (*.f64 t t)) (/.f64 (-.f64 t (*.f64 #s(literal 1/2 binary64) (*.f64 y z))) (fma.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 y z)) (fma.f64 (*.f64 #s(literal 1/2 binary64) y) z t) (*.f64 t t))))
(*.f64 (*.f64 (fma.f64 (*.f64 #s(literal 1/2 binary64) y) z t) (-.f64 t (*.f64 #s(literal 1/2 binary64) (*.f64 y z)))) (fma.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 y z)) (-.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 y z)) t) (*.f64 t t)))
(*.f64 (/.f64 (*.f64 (fma.f64 (*.f64 #s(literal 1/2 binary64) y) z t) (-.f64 t (*.f64 #s(literal 1/2 binary64) (*.f64 y z)))) (fma.f64 t t (pow.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 y z)) (fma.f64 (*.f64 #s(literal 1/2 binary64) y) z t)) #s(literal 3 binary64)))) (fma.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 y z)) (fma.f64 (*.f64 #s(literal 1/2 binary64) y) z t)) (-.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 y z)) (fma.f64 (*.f64 #s(literal 1/2 binary64) y) z t)) (*.f64 t t)) (*.f64 t t)))
(*.f64 #s(literal 1/2 binary64) (*.f64 y z))
(*.f64 (*.f64 #s(literal 1/2 binary64) y) z)
(*.f64 (*.f64 z #s(literal 1/2 binary64)) y)
(*.f64 (*.f64 y z) #s(literal 1/2 binary64))
(*.f64 y (*.f64 z #s(literal 1/2 binary64)))
(*.f64 y z)
(*.f64 z y)
(*.f64 (neg.f64 y) (neg.f64 z))
(*.f64 (neg.f64 z) (neg.f64 y))
(*.f64 (neg.f64 (neg.f64 y)) z)
(+.f64 #s(approx (+ (/ x 8) (/ (* y z) 1)) (fma.f64 #s(literal -1/2 binary64) (*.f64 y z) (*.f64 #s(literal 1/8 binary64) x))) t)
#s(approx (+ (/ x 8) (/ (* y z) 1)) (fma.f64 #s(literal -1/2 binary64) (*.f64 y z) (*.f64 #s(literal 1/8 binary64) x)))
(*.f64 (*.f64 (neg.f64 (fma.f64 #s(literal -1/2 binary64) (*.f64 y z) (*.f64 #s(literal 1/8 binary64) x))) (fma.f64 #s(literal -1/2 binary64) (*.f64 y z) (*.f64 #s(literal 1/8 binary64) x))) (neg.f64 (fma.f64 #s(literal -1/2 binary64) (*.f64 y z) (*.f64 #s(literal 1/8 binary64) x))))
(*.f64 (*.f64 (fma.f64 #s(literal -1/2 binary64) (*.f64 y z) (*.f64 #s(literal 1/8 binary64) x)) (fma.f64 #s(literal -1/2 binary64) (*.f64 y z) (*.f64 #s(literal 1/8 binary64) x))) (fma.f64 #s(literal -1/2 binary64) (*.f64 y z) (*.f64 #s(literal 1/8 binary64) x)))
(*.f64 (*.f64 (fma.f64 #s(literal -1/2 binary64) (*.f64 y z) (*.f64 #s(literal 1/8 binary64) x)) (fma.f64 #s(literal -1/2 binary64) (*.f64 y z) (*.f64 #s(literal 1/8 binary64) x))) (fma.f64 (*.f64 (*.f64 y #s(literal -1/2 binary64)) z) (fma.f64 #s(literal -1/2 binary64) (*.f64 y z) (*.f64 #s(literal 1/8 binary64) x)) (*.f64 (*.f64 #s(literal 1/8 binary64) #s(literal 1/8 binary64)) (*.f64 x x))))
(*.f64 (fma.f64 (*.f64 (*.f64 y #s(literal -1/2 binary64)) z) (fma.f64 #s(literal -1/2 binary64) (*.f64 y z) (*.f64 #s(literal 1/8 binary64) x)) (*.f64 (*.f64 #s(literal 1/8 binary64) #s(literal 1/8 binary64)) (*.f64 x x))) (*.f64 (fma.f64 #s(literal -1/2 binary64) (*.f64 y z) (*.f64 #s(literal 1/8 binary64) x)) (fma.f64 #s(literal -1/2 binary64) (*.f64 y z) (*.f64 #s(literal 1/8 binary64) x))))
(*.f64 (fma.f64 #s(literal -1/2 binary64) (*.f64 y z) (*.f64 #s(literal 1/8 binary64) x)) (*.f64 (fma.f64 #s(literal -1/2 binary64) (*.f64 y z) (*.f64 #s(literal 1/8 binary64) x)) (fma.f64 #s(literal -1/2 binary64) (*.f64 y z) (*.f64 #s(literal 1/8 binary64) x))))
#s(literal -1/2 binary64)

eval19.0ms (0.5%)

Memory
-7.2MiB live, 38.7MiB allocated; 3ms collecting garbage
Compiler

Compiled 5 645 to 818 computations (85.5% saved)

prune9.0ms (0.2%)

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

9 alts after pruning (7 fresh and 2 done)

PrunedKeptTotal
New1657172
Fresh000
Picked224
Done000
Total1679176
Accuracy
100.0%
Counts
176 → 9
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(+.f64 #s(approx (- (* (/ 1 8) x) (/ (* y z) 2)) (fma.f64 #s(literal -1/2 binary64) (*.f64 y z) (*.f64 #s(literal 1/8 binary64) x))) t)
67.8%
#s(approx (+ (/ x 8) (+ (/ (* y z) 1) t)) (fma.f64 x #s(literal 1/8 binary64) t))
75.8%
#s(approx (+ (/ x 8) (+ (/ (* y z) 1) t)) (*.f64 z (-.f64 (/.f64 (fma.f64 x #s(literal 1/8 binary64) t) z) (*.f64 #s(literal 1/2 binary64) y))))
69.8%
#s(approx (+ (- (* (/ 1 8) x) (/ (* y z) 2)) t) (-.f64 t (*.f64 #s(literal 1/2 binary64) (*.f64 y z))))
56.4%
#s(approx (+ (- (* (/ 1 8) x) (/ (* y z) 2)) t) (*.f64 z (-.f64 #s(approx (+ (* 1/8 (/ x z)) (/ t z)) (/.f64 t z)) (*.f64 #s(literal 1/2 binary64) y))))
43.6%
#s(approx (+ (- (* (/ 1 8) x) (/ (* y z) 2)) t) (*.f64 z #s(approx (- (+ (* 1/8 (/ x z)) (/ t z)) (* 1/2 y)) (/.f64 (+.f64 t (*.f64 #s(literal 1/8 binary64) x)) z))))
65.0%
#s(approx (+ (- (* (/ 1 8) x) (/ (* y z) 2)) t) (*.f64 z #s(approx (- (+ (* 1/8 (/ x z)) (/ t z)) (* 1/2 y)) (*.f64 y (-.f64 (fma.f64 #s(literal 1/8 binary64) (/.f64 x (*.f64 y z)) (/.f64 t (*.f64 y z))) #s(literal 1/2 binary64))))))
34.1%
#s(approx (+ (- (* (/ 1 8) x) (/ (* y z) 2)) t) (*.f64 z #s(approx (- (+ (* 1/8 (/ x z)) (/ t z)) (* 1/2 y)) (*.f64 #s(literal -1/2 binary64) y))))
37.8%
#s(approx (+ (- (* (/ 1 8) x) (/ (* y z) 2)) t) #s(approx (+ t (* 1/8 x)) t))
Compiler

Compiled 463 to 361 computations (22% saved)

series307.0ms (7.1%)

Memory
-8.3MiB live, 134.9MiB allocated; 64ms collecting garbage
Counts
25 → 73
Calls
Call 1
Inputs
#s(approx (+ (/ x 8) (+ (/ (* y z) 1) t)) (*.f64 z (-.f64 (/.f64 (fma.f64 x #s(literal 1/8 binary64) t) z) (*.f64 #s(literal 1/2 binary64) y))))
(*.f64 z (-.f64 (/.f64 (fma.f64 x #s(literal 1/8 binary64) t) z) (*.f64 #s(literal 1/2 binary64) y)))
z
(-.f64 (/.f64 (fma.f64 x #s(literal 1/8 binary64) t) z) (*.f64 #s(literal 1/2 binary64) y))
(/.f64 (fma.f64 x #s(literal 1/8 binary64) t) z)
(fma.f64 x #s(literal 1/8 binary64) t)
x
#s(literal 1/8 binary64)
t
(*.f64 #s(literal 1/2 binary64) y)
#s(literal 1/2 binary64)
y
#s(approx (+ (- (* (/ 1 8) x) (/ (* y z) 2)) t) #s(approx (+ t (* 1/8 x)) t))
#s(approx (+ t (* 1/8 x)) t)
#s(approx (+ (/ x 8) (+ (/ (* y z) 1) t)) (fma.f64 x #s(literal 1/8 binary64) t))
#s(approx (+ (- (* (/ 1 8) x) (/ (* y z) 2)) t) (*.f64 z #s(approx (- (+ (* 1/8 (/ x z)) (/ t z)) (* 1/2 y)) (*.f64 #s(literal -1/2 binary64) y))))
(*.f64 z #s(approx (- (+ (* 1/8 (/ x z)) (/ t z)) (* 1/2 y)) (*.f64 #s(literal -1/2 binary64) y)))
#s(approx (- (+ (* 1/8 (/ x z)) (/ t z)) (* 1/2 y)) (*.f64 #s(literal -1/2 binary64) y))
(*.f64 #s(literal -1/2 binary64) y)
#s(literal -1/2 binary64)
#s(approx (+ (- (* (/ 1 8) x) (/ (* y z) 2)) t) (*.f64 z (-.f64 #s(approx (+ (* 1/8 (/ x z)) (/ t z)) (/.f64 t z)) (*.f64 #s(literal 1/2 binary64) y))))
(*.f64 z (-.f64 #s(approx (+ (* 1/8 (/ x z)) (/ t z)) (/.f64 t z)) (*.f64 #s(literal 1/2 binary64) y)))
(-.f64 #s(approx (+ (* 1/8 (/ x z)) (/ t z)) (/.f64 t z)) (*.f64 #s(literal 1/2 binary64) y))
#s(approx (+ (* 1/8 (/ x z)) (/ t z)) (/.f64 t z))
(/.f64 t z)
Outputs
#s(approx (+ (/ x 8) (+ (/ (* y z) 1) t)) (+.f64 t (*.f64 y z)))
#s(approx (+ (/ x 8) (+ (/ (* y z) 1) t)) (+.f64 t (fma.f64 #s(literal 1/8 binary64) x (*.f64 y z))))
#s(approx (* z (- (/ (+ (* x 1/8) t) z) (* 1/2 y))) (*.f64 z (-.f64 (/.f64 t z) (*.f64 #s(literal 1/2 binary64) y))))
#s(approx (* z (- (/ (+ (* x 1/8) t) z) (* 1/2 y))) (fma.f64 #s(literal 1/8 binary64) x (*.f64 z (-.f64 (/.f64 t z) (*.f64 #s(literal 1/2 binary64) y)))))
#s(approx (- (/ (+ (* x 1/8) t) z) (* 1/2 y)) (-.f64 (/.f64 t z) (*.f64 #s(literal 1/2 binary64) y)))
#s(approx (- (/ (+ (* x 1/8) t) z) (* 1/2 y)) (-.f64 (fma.f64 #s(literal 1/8 binary64) (/.f64 x z) (/.f64 t z)) (*.f64 #s(literal 1/2 binary64) y)))
#s(approx (/ (+ (* x 1/8) t) z) (/.f64 t z))
#s(approx (/ (+ (* x 1/8) t) z) (fma.f64 #s(literal 1/8 binary64) (/.f64 x z) (/.f64 t z)))
#s(approx (+ (* x 1/8) t) t)
#s(approx (+ (* x 1/8) t) (+.f64 t (*.f64 #s(literal 1/8 binary64) x)))
#s(approx x x)
#s(approx (+ (- (* (/ 1 8) x) (/ (* y z) 2)) t) (-.f64 t (*.f64 #s(literal 1/2 binary64) (*.f64 y z))))
#s(approx (+ (- (* (/ 1 8) x) (/ (* y z) 2)) t) (-.f64 (+.f64 t (*.f64 #s(literal 1/8 binary64) x)) (*.f64 #s(literal 1/2 binary64) (*.f64 y z))))
#s(approx (+ (/ x 8) (+ (/ (* y z) 1) t)) (*.f64 #s(literal 1/8 binary64) x))
#s(approx (+ (/ x 8) (+ (/ (* y z) 1) t)) (*.f64 x (+.f64 #s(literal 1/8 binary64) (+.f64 (/.f64 t x) (/.f64 (*.f64 y z) x)))))
#s(approx (* z (- (/ (+ (* x 1/8) t) z) (* 1/2 y))) (*.f64 x (+.f64 #s(literal 1/8 binary64) (/.f64 (*.f64 z (-.f64 (/.f64 t z) (*.f64 #s(literal 1/2 binary64) y))) x))))
#s(approx (- (/ (+ (* x 1/8) t) z) (* 1/2 y)) (*.f64 #s(literal 1/8 binary64) (/.f64 x z)))
#s(approx (- (/ (+ (* x 1/8) t) z) (* 1/2 y)) (*.f64 x (-.f64 (fma.f64 #s(literal 1/8 binary64) (/.f64 #s(literal 1 binary64) z) (/.f64 t (*.f64 x z))) (*.f64 #s(literal 1/2 binary64) (/.f64 y x)))))
#s(approx (/ (+ (* x 1/8) t) z) (*.f64 x (fma.f64 #s(literal 1/8 binary64) (/.f64 #s(literal 1 binary64) z) (/.f64 t (*.f64 x z)))))
#s(approx (+ (* x 1/8) t) (*.f64 x (+.f64 #s(literal 1/8 binary64) (/.f64 t x))))
#s(approx (+ (- (* (/ 1 8) x) (/ (* y z) 2)) t) (*.f64 x (-.f64 (+.f64 #s(literal 1/8 binary64) (/.f64 t x)) (*.f64 #s(literal 1/2 binary64) (/.f64 (*.f64 y z) x)))))
#s(approx (+ (/ x 8) (+ (/ (* y z) 1) t)) (*.f64 #s(literal -1 binary64) (*.f64 x (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (+.f64 t (*.f64 y z)) x)) #s(literal 1/8 binary64)))))
#s(approx (* z (- (/ (+ (* x 1/8) t) z) (* 1/2 y))) (*.f64 #s(literal -1 binary64) (*.f64 x (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 z (-.f64 (/.f64 t z) (*.f64 #s(literal 1/2 binary64) y))) x)) #s(literal 1/8 binary64)))))
#s(approx (- (/ (+ (* x 1/8) t) z) (* 1/2 y)) (*.f64 #s(literal -1 binary64) (*.f64 x (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (-.f64 (/.f64 t z) (*.f64 #s(literal 1/2 binary64) y)) x)) (*.f64 #s(literal 1/8 binary64) (/.f64 #s(literal 1 binary64) z))))))
#s(approx (/ (+ (* x 1/8) t) z) (*.f64 #s(literal -1 binary64) (*.f64 x (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 t (*.f64 x z))) (*.f64 #s(literal 1/8 binary64) (/.f64 #s(literal 1 binary64) z))))))
#s(approx (+ (* x 1/8) t) (*.f64 #s(literal -1 binary64) (*.f64 x (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 t x)) #s(literal 1/8 binary64)))))
#s(approx (+ (- (* (/ 1 8) x) (/ (* y z) 2)) t) (*.f64 #s(literal -1 binary64) (*.f64 x (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (-.f64 t (*.f64 #s(literal 1/2 binary64) (*.f64 y z))) x)) #s(literal 1/8 binary64)))))
#s(approx (* z (- (/ (+ (* x 1/8) t) z) (* 1/2 y))) (*.f64 z (fma.f64 #s(literal 1/8 binary64) (/.f64 x z) (/.f64 t z))))
#s(approx (* z (- (/ (+ (* x 1/8) t) z) (* 1/2 y))) (fma.f64 #s(literal -1/2 binary64) (*.f64 y z) (*.f64 z (fma.f64 #s(literal 1/8 binary64) (/.f64 x z) (/.f64 t z)))))
#s(approx (- (/ (+ (* x 1/8) t) z) (* 1/2 y)) (fma.f64 #s(literal -1/2 binary64) y (fma.f64 #s(literal 1/8 binary64) (/.f64 x z) (/.f64 t z))))
#s(approx (* 1/2 y) (*.f64 #s(literal 1/2 binary64) y))
#s(approx y y)
#s(approx (+ (- (* (/ 1 8) x) (/ (* y z) 2)) t) (+.f64 t (fma.f64 #s(literal -1/2 binary64) (*.f64 y z) (*.f64 #s(literal 1/8 binary64) x))))
#s(approx (* -1/2 y) (*.f64 #s(literal -1/2 binary64) y))
#s(approx (+ (/ x 8) (+ (/ (* y z) 1) t)) (*.f64 y z))
#s(approx (+ (/ x 8) (+ (/ (* y z) 1) t)) (*.f64 y (+.f64 z (fma.f64 #s(literal 1/8 binary64) (/.f64 x y) (/.f64 t y)))))
#s(approx (* z (- (/ (+ (* x 1/8) t) z) (* 1/2 y))) (*.f64 #s(literal -1/2 binary64) (*.f64 y z)))
#s(approx (* z (- (/ (+ (* x 1/8) t) z) (* 1/2 y))) (*.f64 y (fma.f64 #s(literal -1/2 binary64) z (/.f64 (*.f64 z (fma.f64 #s(literal 1/8 binary64) (/.f64 x z) (/.f64 t z))) y))))
#s(approx (- (/ (+ (* x 1/8) t) z) (* 1/2 y)) (*.f64 y (-.f64 (fma.f64 #s(literal 1/8 binary64) (/.f64 x (*.f64 y z)) (/.f64 t (*.f64 y z))) #s(literal 1/2 binary64))))
#s(approx (+ (- (* (/ 1 8) x) (/ (* y z) 2)) t) (*.f64 y (-.f64 (fma.f64 #s(literal 1/8 binary64) (/.f64 x y) (/.f64 t y)) (*.f64 #s(literal 1/2 binary64) z))))
#s(approx (+ (/ x 8) (+ (/ (* y z) 1) t)) (*.f64 #s(literal -1 binary64) (*.f64 y (fma.f64 #s(literal -1 binary64) z (*.f64 #s(literal -1 binary64) (/.f64 (+.f64 t (*.f64 #s(literal 1/8 binary64) x)) y))))))
#s(approx (* z (- (/ (+ (* x 1/8) t) z) (* 1/2 y))) (*.f64 #s(literal -1 binary64) (*.f64 y (fma.f64 #s(literal -1 binary64) (/.f64 (*.f64 z (fma.f64 #s(literal 1/8 binary64) (/.f64 x z) (/.f64 t z))) y) (*.f64 #s(literal 1/2 binary64) z)))))
#s(approx (- (/ (+ (* x 1/8) t) z) (* 1/2 y)) (*.f64 #s(literal -1 binary64) (*.f64 y (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal 1/8 binary64) (/.f64 x z) (/.f64 t z)) y))))))
#s(approx (+ (- (* (/ 1 8) x) (/ (* y z) 2)) t) (*.f64 #s(literal -1 binary64) (*.f64 y (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (+.f64 t (*.f64 #s(literal 1/8 binary64) x)) y)) (*.f64 #s(literal -1/2 binary64) z)))))
#s(approx z z)
#s(approx (- (/ (+ (* x 1/8) t) z) (* 1/2 y)) (/.f64 (+.f64 t (*.f64 #s(literal 1/8 binary64) x)) z))
#s(approx (- (/ (+ (* x 1/8) t) z) (* 1/2 y)) (/.f64 (+.f64 t (fma.f64 #s(literal -1/2 binary64) (*.f64 y z) (*.f64 #s(literal 1/8 binary64) x))) z))
#s(approx (+ (/ x 8) (+ (/ (* y z) 1) t)) (*.f64 z (+.f64 y (fma.f64 #s(literal 1/8 binary64) (/.f64 x z) (/.f64 t z)))))
#s(approx (* z (- (/ (+ (* x 1/8) t) z) (* 1/2 y))) (*.f64 z (fma.f64 #s(literal -1/2 binary64) y (fma.f64 #s(literal 1/8 binary64) (/.f64 x z) (/.f64 t z)))))
#s(approx (+ (- (* (/ 1 8) x) (/ (* y z) 2)) t) (*.f64 z (-.f64 (fma.f64 #s(literal 1/8 binary64) (/.f64 x z) (/.f64 t z)) (*.f64 #s(literal 1/2 binary64) y))))
#s(approx (+ (/ x 8) (+ (/ (* y z) 1) t)) (*.f64 #s(literal -1 binary64) (*.f64 z (fma.f64 #s(literal -1 binary64) y (*.f64 #s(literal -1 binary64) (/.f64 (+.f64 t (*.f64 #s(literal 1/8 binary64) x)) z))))))
#s(approx (* z (- (/ (+ (* x 1/8) t) z) (* 1/2 y))) (*.f64 #s(literal -1 binary64) (*.f64 z (fma.f64 #s(literal -1 binary64) (/.f64 (+.f64 t (*.f64 #s(literal 1/8 binary64) x)) z) (*.f64 #s(literal 1/2 binary64) y)))))
#s(approx (+ (- (* (/ 1 8) x) (/ (* y z) 2)) t) (*.f64 #s(literal -1 binary64) (*.f64 z (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (+.f64 t (*.f64 #s(literal 1/8 binary64) x)) z)) (*.f64 #s(literal -1/2 binary64) y)))))
#s(approx (* z (- (+ (* 1/8 (/ x z)) (/ t z)) (* 1/2 y))) (*.f64 #s(literal -1 binary64) (*.f64 z (fma.f64 #s(literal -1 binary64) (/.f64 t z) (fma.f64 #s(literal -1/8 binary64) (/.f64 x z) (*.f64 #s(literal 1/2 binary64) y))))))
#s(approx (- (+ (* 1/8 (/ x z)) (/ t z)) (* 1/2 y)) (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal -1 binary64) t (*.f64 #s(literal -1/8 binary64) x)) z)) (*.f64 #s(literal 1/2 binary64) y)))
#s(approx (+ (* 1/8 (/ x z)) (/ t z)) (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal -1 binary64) t (*.f64 #s(literal -1/8 binary64) x)) z)))
#s(approx (+ (/ x 8) (+ (/ (* y z) 1) t)) (fma.f64 #s(literal 1/8 binary64) x (*.f64 y z)))
#s(approx (* z (- (/ (+ (* x 1/8) t) z) (* 1/2 y))) (*.f64 z (-.f64 (*.f64 #s(literal 1/8 binary64) (/.f64 x z)) (*.f64 #s(literal 1/2 binary64) y))))
#s(approx (* z (- (/ (+ (* x 1/8) t) z) (* 1/2 y))) (+.f64 t (*.f64 z (-.f64 (*.f64 #s(literal 1/8 binary64) (/.f64 x z)) (*.f64 #s(literal 1/2 binary64) y)))))
#s(approx (- (/ (+ (* x 1/8) t) z) (* 1/2 y)) (-.f64 (*.f64 #s(literal 1/8 binary64) (/.f64 x z)) (*.f64 #s(literal 1/2 binary64) y)))
#s(approx (+ (- (* (/ 1 8) x) (/ (* y z) 2)) t) (-.f64 (*.f64 #s(literal 1/8 binary64) x) (*.f64 #s(literal 1/2 binary64) (*.f64 y z))))
#s(approx (+ (/ x 8) (+ (/ (* y z) 1) t)) (*.f64 t (+.f64 #s(literal 1 binary64) (fma.f64 #s(literal 1/8 binary64) (/.f64 x t) (/.f64 (*.f64 y z) t)))))
#s(approx (* z (- (/ (+ (* x 1/8) t) z) (* 1/2 y))) (*.f64 t (+.f64 #s(literal 1 binary64) (/.f64 (*.f64 z (-.f64 (*.f64 #s(literal 1/8 binary64) (/.f64 x z)) (*.f64 #s(literal 1/2 binary64) y))) t))))
#s(approx (- (/ (+ (* x 1/8) t) z) (* 1/2 y)) (*.f64 t (-.f64 (fma.f64 #s(literal 1/8 binary64) (/.f64 x (*.f64 t z)) (/.f64 #s(literal 1 binary64) z)) (*.f64 #s(literal 1/2 binary64) (/.f64 y t)))))
#s(approx (/ (+ (* x 1/8) t) z) (*.f64 t (fma.f64 #s(literal 1/8 binary64) (/.f64 x (*.f64 t z)) (/.f64 #s(literal 1 binary64) z))))
#s(approx (+ (* x 1/8) t) (*.f64 t (+.f64 #s(literal 1 binary64) (*.f64 #s(literal 1/8 binary64) (/.f64 x t)))))
#s(approx (+ (- (* (/ 1 8) x) (/ (* y z) 2)) t) (*.f64 t (-.f64 (+.f64 #s(literal 1 binary64) (*.f64 #s(literal 1/8 binary64) (/.f64 x t))) (*.f64 #s(literal 1/2 binary64) (/.f64 (*.f64 y z) t)))))
#s(approx (+ (/ x 8) (+ (/ (* y z) 1) t)) (*.f64 #s(literal -1 binary64) (*.f64 t (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal 1/8 binary64) x (*.f64 y z)) t)) #s(literal 1 binary64)))))
#s(approx (* z (- (/ (+ (* x 1/8) t) z) (* 1/2 y))) (*.f64 #s(literal -1 binary64) (*.f64 t (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 z (-.f64 (*.f64 #s(literal 1/8 binary64) (/.f64 x z)) (*.f64 #s(literal 1/2 binary64) y))) t)) #s(literal 1 binary64)))))
#s(approx (- (/ (+ (* x 1/8) t) z) (* 1/2 y)) (*.f64 #s(literal -1 binary64) (*.f64 t (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (-.f64 (*.f64 #s(literal 1/8 binary64) (/.f64 x z)) (*.f64 #s(literal 1/2 binary64) y)) t)) (/.f64 #s(literal 1 binary64) z)))))
#s(approx (/ (+ (* x 1/8) t) z) (*.f64 #s(literal -1 binary64) (*.f64 t (-.f64 (*.f64 #s(literal -1/8 binary64) (/.f64 x (*.f64 t z))) (/.f64 #s(literal 1 binary64) z)))))
#s(approx (+ (* x 1/8) t) (*.f64 #s(literal -1 binary64) (*.f64 t (-.f64 (*.f64 #s(literal -1/8 binary64) (/.f64 x t)) #s(literal 1 binary64)))))
#s(approx (+ (- (* (/ 1 8) x) (/ (* y z) 2)) t) (*.f64 #s(literal -1 binary64) (*.f64 t (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (-.f64 (*.f64 #s(literal 1/8 binary64) x) (*.f64 #s(literal 1/2 binary64) (*.f64 y z))) t)) #s(literal 1 binary64)))))
Calls

12 calls:

TimeVariablePoint
40.0ms
x
inf
15.0ms
x
-inf
3.0ms
z
-inf
2.0ms
z
0
2.0ms
y
-inf

rewrite364.0ms (8.4%)

Memory
-16.6MiB live, 219.6MiB allocated; 23ms collecting garbage
Counts
25 → 60
Calls
Call 1
Inputs
#s(approx (+ (/ x 8) (+ (/ (* y z) 1) t)) (*.f64 z (-.f64 (/.f64 (fma.f64 x #s(literal 1/8 binary64) t) z) (*.f64 #s(literal 1/2 binary64) y))))
(*.f64 z (-.f64 (/.f64 (fma.f64 x #s(literal 1/8 binary64) t) z) (*.f64 #s(literal 1/2 binary64) y)))
z
(-.f64 (/.f64 (fma.f64 x #s(literal 1/8 binary64) t) z) (*.f64 #s(literal 1/2 binary64) y))
(/.f64 (fma.f64 x #s(literal 1/8 binary64) t) z)
(fma.f64 x #s(literal 1/8 binary64) t)
x
#s(literal 1/8 binary64)
t
(*.f64 #s(literal 1/2 binary64) y)
#s(literal 1/2 binary64)
y
#s(approx (+ (- (* (/ 1 8) x) (/ (* y z) 2)) t) #s(approx (+ t (* 1/8 x)) t))
#s(approx (+ t (* 1/8 x)) t)
#s(approx (+ (/ x 8) (+ (/ (* y z) 1) t)) (fma.f64 x #s(literal 1/8 binary64) t))
#s(approx (+ (- (* (/ 1 8) x) (/ (* y z) 2)) t) (*.f64 z #s(approx (- (+ (* 1/8 (/ x z)) (/ t z)) (* 1/2 y)) (*.f64 #s(literal -1/2 binary64) y))))
(*.f64 z #s(approx (- (+ (* 1/8 (/ x z)) (/ t z)) (* 1/2 y)) (*.f64 #s(literal -1/2 binary64) y)))
#s(approx (- (+ (* 1/8 (/ x z)) (/ t z)) (* 1/2 y)) (*.f64 #s(literal -1/2 binary64) y))
(*.f64 #s(literal -1/2 binary64) y)
#s(literal -1/2 binary64)
#s(approx (+ (- (* (/ 1 8) x) (/ (* y z) 2)) t) (*.f64 z (-.f64 #s(approx (+ (* 1/8 (/ x z)) (/ t z)) (/.f64 t z)) (*.f64 #s(literal 1/2 binary64) y))))
(*.f64 z (-.f64 #s(approx (+ (* 1/8 (/ x z)) (/ t z)) (/.f64 t z)) (*.f64 #s(literal 1/2 binary64) y)))
(-.f64 #s(approx (+ (* 1/8 (/ x z)) (/ t z)) (/.f64 t z)) (*.f64 #s(literal 1/2 binary64) y))
#s(approx (+ (* 1/8 (/ x z)) (/ t z)) (/.f64 t z))
(/.f64 t z)
Outputs
#s(approx (+ (- (* z y) t) (/ x 8)) (*.f64 z (-.f64 (/.f64 (fma.f64 x #s(literal 1/8 binary64) t) z) (*.f64 #s(literal 1/2 binary64) y))))
(*.f64 z (-.f64 (/.f64 (fma.f64 x #s(literal 1/8 binary64) t) z) (*.f64 #s(literal 1/2 binary64) y)))
(*.f64 (-.f64 (/.f64 (fma.f64 x #s(literal 1/8 binary64) t) z) (*.f64 #s(literal 1/2 binary64) y)) z)
(*.f64 (*.f64 (-.f64 (/.f64 (fma.f64 x #s(literal 1/8 binary64) t) z) (*.f64 (*.f64 #s(literal 1/2 binary64) #s(literal 1/2 binary64)) (*.f64 y y))) z) (fma.f64 (fma.f64 y #s(literal 1/2 binary64) (/.f64 (fma.f64 x #s(literal 1/8 binary64) t) z)) (*.f64 #s(literal 1/2 binary64) y) (/.f64 (fma.f64 x #s(literal 1/8 binary64) t) z)))
(*.f64 (-.f64 (/.f64 (fma.f64 x #s(literal 1/8 binary64) t) z) (*.f64 (*.f64 #s(literal 1/2 binary64) #s(literal 1/2 binary64)) (*.f64 y y))) (/.f64 z (fma.f64 y #s(literal 1/2 binary64) (/.f64 (fma.f64 x #s(literal 1/8 binary64) t) z))))
(*.f64 (/.f64 (*.f64 (-.f64 (/.f64 (fma.f64 x #s(literal 1/8 binary64) t) z) (*.f64 (*.f64 #s(literal 1/2 binary64) #s(literal 1/2 binary64)) (*.f64 y y))) z) (+.f64 (pow.f64 (*.f64 (fma.f64 y #s(literal 1/2 binary64) (/.f64 (fma.f64 x #s(literal 1/8 binary64) t) z)) (*.f64 #s(literal 1/2 binary64) y)) #s(literal 3 binary64)) (/.f64 (fma.f64 x #s(literal 1/8 binary64) t) z))) (fma.f64 (*.f64 (fma.f64 y #s(literal 1/2 binary64) (/.f64 (fma.f64 x #s(literal 1/8 binary64) t) z)) (*.f64 #s(literal 1/2 binary64) y)) (fma.f64 (fma.f64 y #s(literal 1/2 binary64) (/.f64 (fma.f64 x #s(literal 1/8 binary64) t) z)) (*.f64 #s(literal 1/2 binary64) y) (/.f64 (fma.f64 x #s(literal 1/8 binary64) t) z)) (/.f64 (fma.f64 x #s(literal 1/8 binary64) t) z)))
z
(*.f64 z #s(literal 2 binary64))
(/.f64 z #s(literal 2 binary64))
(neg.f64 z)
(*.f64 (fma.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) #s(literal 1/2 binary64)) y) y (/.f64 (fma.f64 x #s(literal 1/8 binary64) t) z)) (-.f64 (/.f64 (fma.f64 x #s(literal 1/8 binary64) t) z) (*.f64 #s(literal 1/2 binary64) y)))
(*.f64 (fma.f64 y #s(literal 1/2 binary64) (/.f64 (fma.f64 x #s(literal 1/8 binary64) t) z)) (-.f64 (/.f64 (fma.f64 x #s(literal 1/8 binary64) t) z) (*.f64 (*.f64 #s(literal 1/2 binary64) #s(literal 1/2 binary64)) (*.f64 y y))))
(*.f64 (fma.f64 (fma.f64 y #s(literal 1/2 binary64) (/.f64 (fma.f64 x #s(literal 1/8 binary64) t) z)) (*.f64 #s(literal 1/2 binary64) y) (/.f64 (fma.f64 x #s(literal 1/8 binary64) t) z)) (-.f64 (/.f64 (fma.f64 x #s(literal 1/8 binary64) t) z) (*.f64 (*.f64 #s(literal 1/2 binary64) #s(literal 1/2 binary64)) (*.f64 y y))))
(*.f64 (-.f64 (/.f64 (fma.f64 x #s(literal 1/8 binary64) t) z) (*.f64 (*.f64 #s(literal 1/2 binary64) #s(literal 1/2 binary64)) (*.f64 y y))) (fma.f64 (fma.f64 y #s(literal 1/2 binary64) (/.f64 (fma.f64 x #s(literal 1/8 binary64) t) z)) (*.f64 #s(literal 1/2 binary64) y) (/.f64 (fma.f64 x #s(literal 1/8 binary64) t) z)))
(*.f64 (/.f64 (-.f64 (/.f64 (fma.f64 x #s(literal 1/8 binary64) t) z) (*.f64 (*.f64 #s(literal 1/2 binary64) #s(literal 1/2 binary64)) (*.f64 y y))) (+.f64 (pow.f64 (*.f64 (fma.f64 y #s(literal 1/2 binary64) (/.f64 (fma.f64 x #s(literal 1/8 binary64) t) z)) (*.f64 #s(literal 1/2 binary64) y)) #s(literal 3 binary64)) (/.f64 (fma.f64 x #s(literal 1/8 binary64) t) z))) (fma.f64 (*.f64 (fma.f64 y #s(literal 1/2 binary64) (/.f64 (fma.f64 x #s(literal 1/8 binary64) t) z)) (*.f64 #s(literal 1/2 binary64) y)) (fma.f64 (fma.f64 y #s(literal 1/2 binary64) (/.f64 (fma.f64 x #s(literal 1/8 binary64) t) z)) (*.f64 #s(literal 1/2 binary64) y) (/.f64 (fma.f64 x #s(literal 1/8 binary64) t) z)) (/.f64 (fma.f64 x #s(literal 1/8 binary64) t) z)))
(*.f64 (*.f64 (fma.f64 x #s(literal 1/8 binary64) t) (fma.f64 x #s(literal 1/8 binary64) t)) (/.f64 (fma.f64 x #s(literal 1/8 binary64) t) z))
(*.f64 (-.f64 (*.f64 x #s(literal 1/8 binary64)) t) (/.f64 (fma.f64 x #s(literal 1/8 binary64) t) (*.f64 z z)))
(*.f64 (/.f64 (fma.f64 x #s(literal 1/8 binary64) t) z) (/.f64 (fma.f64 x #s(literal 1/8 binary64) t) z))
(*.f64 (/.f64 (fma.f64 x #s(literal 1/8 binary64) t) z) #s(literal 2 binary64))
(*.f64 (fma.f64 x #s(literal 1/8 binary64) t) (/.f64 (fma.f64 x #s(literal 1/8 binary64) t) (*.f64 z z)))
(*.f64 (*.f64 (fma.f64 x #s(literal 1/8 binary64) t) (fma.f64 x #s(literal 1/8 binary64) t)) (fma.f64 x #s(literal 1/8 binary64) t))
(*.f64 (*.f64 (fma.f64 x #s(literal 1/8 binary64) t) (fma.f64 x #s(literal 1/8 binary64) t)) (fma.f64 (*.f64 x #s(literal 1/8 binary64)) (fma.f64 x #s(literal 1/8 binary64) t) (*.f64 t t)))
(*.f64 (fma.f64 (*.f64 x #s(literal 1/8 binary64)) (fma.f64 x #s(literal 1/8 binary64) t) (*.f64 t t)) (*.f64 (fma.f64 x #s(literal 1/8 binary64) t) (fma.f64 x #s(literal 1/8 binary64) t)))
(*.f64 (pow.f64 (fma.f64 x #s(literal 1/8 binary64) t) (/.f64 #s(literal 3 binary64) #s(literal 2 binary64))) (pow.f64 (fma.f64 x #s(literal 1/8 binary64) t) (/.f64 #s(literal 3 binary64) #s(literal 2 binary64))))
(*.f64 (fma.f64 x #s(literal 1/8 binary64) t) (*.f64 (fma.f64 x #s(literal 1/8 binary64) t) (fma.f64 x #s(literal 1/8 binary64) t)))
x
(*.f64 x #s(literal 2 binary64))
(*.f64 #s(literal 2 binary64) x)
(+.f64 x x)
(/.f64 x #s(literal 2 binary64))
#s(literal 1/8 binary64)
(neg.f64 (neg.f64 #s(literal 1/8 binary64)))
t
(neg.f64 (neg.f64 t))
(*.f64 #s(literal 1/2 binary64) y)
(*.f64 y #s(literal 1/2 binary64))
(neg.f64 (neg.f64 (*.f64 #s(literal 1/2 binary64) y)))
#s(literal 1/2 binary64)
(neg.f64 (neg.f64 #s(literal 1/2 binary64)))
y
(*.f64 y #s(literal 2 binary64))
(/.f64 y #s(literal 2 binary64))
(/.f64 (neg.f64 y) #s(literal 2 binary64))
#s(approx (+ (- (* z y) t) (/ x 8)) #s(approx (+ t (* x 1/8)) t))
#s(approx (+ t (* x 1/8)) t)
#s(approx (+ (- (* z y) t) (/ x 8)) (fma.f64 x #s(literal 1/8 binary64) t))
#s(approx (+ (- (* z y) t) (/ x 8)) (*.f64 z #s(approx (- (/ (+ t (* x 1/8)) z) (* y 1/2)) (*.f64 #s(literal -1/2 binary64) y))))
(*.f64 z #s(approx (- (/ (+ t (* x 1/8)) z) (* y 1/2)) (*.f64 #s(literal -1/2 binary64) y)))
#s(approx (- (/ (+ t (* x 1/8)) z) (* y 1/2)) (*.f64 #s(literal -1/2 binary64) y))
(*.f64 #s(literal -1/2 binary64) y)
(*.f64 y #s(literal -1/2 binary64))
#s(literal -1/2 binary64)
#s(approx (+ (- (* z y) t) (/ x 8)) (*.f64 z (-.f64 #s(approx (/ (+ t (* x 1/8)) z) (/.f64 t z)) (*.f64 #s(literal 1/2 binary64) y))))
(*.f64 z (-.f64 #s(approx (/ (+ t (* x 1/8)) z) (/.f64 t z)) (*.f64 #s(literal 1/2 binary64) y)))
(-.f64 #s(approx (/ (+ t (* x 1/8)) z) (/.f64 t z)) (*.f64 #s(literal 1/2 binary64) y))
#s(approx (/ (+ t (* x 1/8)) z) (/.f64 t z))
(*.f64 (/.f64 t z) #s(literal 2 binary64))
(/.f64 t z)
(/.f64 (neg.f64 t) z)
(neg.f64 (/.f64 t z))

eval16.0ms (0.4%)

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

Compiled 5 232 to 725 computations (86.1% saved)

prune31.0ms (0.7%)

Memory
-38.7MiB live, 14.9MiB allocated; 39ms collecting garbage
Pruning

12 alts after pruning (5 fresh and 7 done)

PrunedKeptTotal
New1565161
Fresh202
Picked055
Done022
Total15812170
Accuracy
100.0%
Counts
170 → 12
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(+.f64 #s(approx (- (* (/ 1 8) x) (/ (* y z) 2)) (fma.f64 #s(literal -1/2 binary64) (*.f64 y z) (*.f64 #s(literal 1/8 binary64) x))) t)
42.9%
#s(approx (+ (/ x 8) (+ (/ (* y z) 1) t)) (fma.f64 (/.f64 x #s(literal 2 binary64)) #s(literal 1/8 binary64) t))
67.8%
#s(approx (+ (/ x 8) (+ (/ (* y z) 1) t)) (fma.f64 x #s(literal 1/8 binary64) t))
37.1%
#s(approx (+ (/ x 8) (+ (/ (* y z) 1) t)) (+.f64 t (*.f64 y z)))
75.8%
#s(approx (+ (/ x 8) (+ (/ (* y z) 1) t)) (*.f64 z (-.f64 (/.f64 (fma.f64 x #s(literal 1/8 binary64) t) z) (*.f64 #s(literal 1/2 binary64) y))))
65.0%
#s(approx (+ (/ x 8) (+ (/ (* y z) 1) t)) (*.f64 z #s(approx (- (/ (+ (* x 1/8) t) z) (* 1/2 y)) (*.f64 y (-.f64 (fma.f64 #s(literal 1/8 binary64) (/.f64 x (*.f64 y z)) (/.f64 t (*.f64 y z))) #s(literal 1/2 binary64))))))
31.8%
#s(approx (+ (/ x 8) (+ (/ (* y z) 1) t)) (*.f64 #s(literal 1/8 binary64) x))
63.3%
#s(approx (+ (- (* (/ 1 8) x) (/ (* y z) 2)) t) (-.f64 (*.f64 #s(literal 1/8 binary64) x) (*.f64 #s(literal 1/2 binary64) (*.f64 y z))))
69.8%
#s(approx (+ (- (* (/ 1 8) x) (/ (* y z) 2)) t) (-.f64 t (*.f64 #s(literal 1/2 binary64) (*.f64 y z))))
56.4%
#s(approx (+ (- (* (/ 1 8) x) (/ (* y z) 2)) t) (*.f64 z (-.f64 #s(approx (+ (* 1/8 (/ x z)) (/ t z)) (/.f64 t z)) (*.f64 #s(literal 1/2 binary64) y))))
34.1%
#s(approx (+ (- (* (/ 1 8) x) (/ (* y z) 2)) t) (*.f64 z #s(approx (- (+ (* 1/8 (/ x z)) (/ t z)) (* 1/2 y)) (*.f64 #s(literal -1/2 binary64) y))))
37.8%
#s(approx (+ (- (* (/ 1 8) x) (/ (* y z) 2)) t) #s(approx (+ t (* 1/8 x)) t))
Compiler

Compiled 400 to 325 computations (18.8% saved)

series225.0ms (5.2%)

Memory
37.8MiB live, 178.2MiB allocated; 14ms collecting garbage
Counts
26 → 118
Calls
Call 1
Inputs
#s(approx (+ (/ x 8) (+ (/ (* y z) 1) t)) (*.f64 z #s(approx (- (/ (+ (* x 1/8) t) z) (* 1/2 y)) (*.f64 y (-.f64 (fma.f64 #s(literal 1/8 binary64) (/.f64 x (*.f64 y z)) (/.f64 t (*.f64 y z))) #s(literal 1/2 binary64))))))
(*.f64 z #s(approx (- (/ (+ (* x 1/8) t) z) (* 1/2 y)) (*.f64 y (-.f64 (fma.f64 #s(literal 1/8 binary64) (/.f64 x (*.f64 y z)) (/.f64 t (*.f64 y z))) #s(literal 1/2 binary64)))))
z
#s(approx (- (/ (+ (* x 1/8) t) z) (* 1/2 y)) (*.f64 y (-.f64 (fma.f64 #s(literal 1/8 binary64) (/.f64 x (*.f64 y z)) (/.f64 t (*.f64 y z))) #s(literal 1/2 binary64))))
(*.f64 y (-.f64 (fma.f64 #s(literal 1/8 binary64) (/.f64 x (*.f64 y z)) (/.f64 t (*.f64 y z))) #s(literal 1/2 binary64)))
y
(-.f64 (fma.f64 #s(literal 1/8 binary64) (/.f64 x (*.f64 y z)) (/.f64 t (*.f64 y z))) #s(literal 1/2 binary64))
(fma.f64 #s(literal 1/8 binary64) (/.f64 x (*.f64 y z)) (/.f64 t (*.f64 y z)))
#s(literal 1/8 binary64)
(/.f64 x (*.f64 y z))
x
(*.f64 y z)
(/.f64 t (*.f64 y z))
t
#s(literal 1/2 binary64)
#s(approx (+ (/ x 8) (+ (/ (* y z) 1) t)) (*.f64 #s(literal 1/8 binary64) x))
(*.f64 #s(literal 1/8 binary64) x)
#s(approx (+ (/ x 8) (+ (/ (* y z) 1) t)) (+.f64 t (*.f64 y z)))
(+.f64 t (*.f64 y z))
#s(approx (+ (/ x 8) (+ (/ (* y z) 1) t)) (fma.f64 (/.f64 x #s(literal 2 binary64)) #s(literal 1/8 binary64) t))
(fma.f64 (/.f64 x #s(literal 2 binary64)) #s(literal 1/8 binary64) t)
(/.f64 x #s(literal 2 binary64))
#s(literal 2 binary64)
#s(approx (+ (- (* (/ 1 8) x) (/ (* y z) 2)) t) (-.f64 (*.f64 #s(literal 1/8 binary64) x) (*.f64 #s(literal 1/2 binary64) (*.f64 y z))))
(-.f64 (*.f64 #s(literal 1/8 binary64) x) (*.f64 #s(literal 1/2 binary64) (*.f64 y z)))
(*.f64 #s(literal 1/2 binary64) (*.f64 y z))
Outputs
#s(approx (+ (/ x 8) (+ (/ (* y z) 1) t)) (+.f64 t (*.f64 y z)))
#s(approx (+ (/ x 8) (+ (/ (* y z) 1) t)) (+.f64 t (fma.f64 #s(literal 1/8 binary64) x (*.f64 y z))))
#s(approx (* z (- (/ (+ (* x 1/8) t) z) (* 1/2 y))) (*.f64 z (-.f64 (/.f64 t z) (*.f64 #s(literal 1/2 binary64) y))))
#s(approx (* z (- (/ (+ (* x 1/8) t) z) (* 1/2 y))) (fma.f64 #s(literal 1/8 binary64) x (*.f64 z (-.f64 (/.f64 t z) (*.f64 #s(literal 1/2 binary64) y)))))
#s(approx (- (/ (+ (* x 1/8) t) z) (* 1/2 y)) (-.f64 (/.f64 t z) (*.f64 #s(literal 1/2 binary64) y)))
#s(approx (- (/ (+ (* x 1/8) t) z) (* 1/2 y)) (-.f64 (fma.f64 #s(literal 1/8 binary64) (/.f64 x z) (/.f64 t z)) (*.f64 #s(literal 1/2 binary64) y)))
#s(approx (* y (- (+ (* 1/8 (/ x (* y z))) (/ t (* y z))) 1/2)) (*.f64 y (-.f64 (/.f64 t (*.f64 y z)) #s(literal 1/2 binary64))))
#s(approx (* y (- (+ (* 1/8 (/ x (* y z))) (/ t (* y z))) 1/2)) (fma.f64 #s(literal 1/8 binary64) (/.f64 x z) (*.f64 y (-.f64 (/.f64 t (*.f64 y z)) #s(literal 1/2 binary64)))))
#s(approx (- (+ (* 1/8 (/ x (* y z))) (/ t (* y z))) 1/2) (-.f64 (/.f64 t (*.f64 y z)) #s(literal 1/2 binary64)))
#s(approx (- (+ (* 1/8 (/ x (* y z))) (/ t (* y z))) 1/2) (-.f64 (fma.f64 #s(literal 1/8 binary64) (/.f64 x (*.f64 y z)) (/.f64 t (*.f64 y z))) #s(literal 1/2 binary64)))
#s(approx (+ (* 1/8 (/ x (* y z))) (/ t (* y z))) (/.f64 t (*.f64 y z)))
#s(approx (+ (* 1/8 (/ x (* y z))) (/ t (* y z))) (fma.f64 #s(literal 1/8 binary64) (/.f64 x (*.f64 y z)) (/.f64 t (*.f64 y z))))
#s(approx (/ x (* y z)) (/.f64 x (*.f64 y z)))
#s(approx x x)
#s(approx (* 1/8 x) (*.f64 #s(literal 1/8 binary64) x))
#s(approx (+ (* (/ x 2) 1/8) t) t)
#s(approx (+ (* (/ x 2) 1/8) t) (+.f64 t (*.f64 #s(literal 1/16 binary64) x)))
#s(approx (/ x 2) (*.f64 #s(literal 1/2 binary64) x))
#s(approx (+ (- (* (/ 1 8) x) (/ (* y z) 2)) t) (-.f64 t (*.f64 #s(literal 1/2 binary64) (*.f64 y z))))
#s(approx (+ (- (* (/ 1 8) x) (/ (* y z) 2)) t) (-.f64 (+.f64 t (*.f64 #s(literal 1/8 binary64) x)) (*.f64 #s(literal 1/2 binary64) (*.f64 y z))))
#s(approx (- (* 1/8 x) (* 1/2 (* y z))) (*.f64 #s(literal -1/2 binary64) (*.f64 y z)))
#s(approx (- (* 1/8 x) (* 1/2 (* y z))) (-.f64 (*.f64 #s(literal 1/8 binary64) x) (*.f64 #s(literal 1/2 binary64) (*.f64 y z))))
#s(approx (+ (/ x 8) (+ (/ (* y z) 1) t)) (*.f64 x (+.f64 #s(literal 1/8 binary64) (+.f64 (/.f64 t x) (/.f64 (*.f64 y z) x)))))
#s(approx (* z (- (/ (+ (* x 1/8) t) z) (* 1/2 y))) (*.f64 x (+.f64 #s(literal 1/8 binary64) (/.f64 (*.f64 z (-.f64 (/.f64 t z) (*.f64 #s(literal 1/2 binary64) y))) x))))
#s(approx (- (/ (+ (* x 1/8) t) z) (* 1/2 y)) (*.f64 #s(literal 1/8 binary64) (/.f64 x z)))
#s(approx (- (/ (+ (* x 1/8) t) z) (* 1/2 y)) (*.f64 x (-.f64 (fma.f64 #s(literal 1/8 binary64) (/.f64 #s(literal 1 binary64) z) (/.f64 t (*.f64 x z))) (*.f64 #s(literal 1/2 binary64) (/.f64 y x)))))
#s(approx (* y (- (+ (* 1/8 (/ x (* y z))) (/ t (* y z))) 1/2)) (*.f64 x (fma.f64 #s(literal 1/8 binary64) (/.f64 #s(literal 1 binary64) z) (/.f64 (*.f64 y (-.f64 (/.f64 t (*.f64 y z)) #s(literal 1/2 binary64))) x))))
#s(approx (- (+ (* 1/8 (/ x (* y z))) (/ t (* y z))) 1/2) (*.f64 #s(literal 1/8 binary64) (/.f64 x (*.f64 y z))))
#s(approx (- (+ (* 1/8 (/ x (* y z))) (/ t (* y z))) 1/2) (*.f64 x (-.f64 (fma.f64 #s(literal 1/8 binary64) (/.f64 #s(literal 1 binary64) (*.f64 y z)) (/.f64 t (*.f64 x (*.f64 y z)))) (*.f64 #s(literal 1/2 binary64) (/.f64 #s(literal 1 binary64) x)))))
#s(approx (+ (* 1/8 (/ x (* y z))) (/ t (* y z))) (*.f64 x (fma.f64 #s(literal 1/8 binary64) (/.f64 #s(literal 1 binary64) (*.f64 y z)) (/.f64 t (*.f64 x (*.f64 y z))))))
#s(approx (+ (* (/ x 2) 1/8) t) (*.f64 #s(literal 1/16 binary64) x))
#s(approx (+ (* (/ x 2) 1/8) t) (*.f64 x (+.f64 #s(literal 1/16 binary64) (/.f64 t x))))
#s(approx (+ (- (* (/ 1 8) x) (/ (* y z) 2)) t) (*.f64 x (-.f64 (+.f64 #s(literal 1/8 binary64) (/.f64 t x)) (*.f64 #s(literal 1/2 binary64) (/.f64 (*.f64 y z) x)))))
#s(approx (- (* 1/8 x) (* 1/2 (* y z))) (*.f64 x (+.f64 #s(literal 1/8 binary64) (*.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 y z) x)))))
#s(approx (+ (/ x 8) (+ (/ (* y z) 1) t)) (*.f64 #s(literal -1 binary64) (*.f64 x (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (+.f64 t (*.f64 y z)) x)) #s(literal 1/8 binary64)))))
#s(approx (* z (- (/ (+ (* x 1/8) t) z) (* 1/2 y))) (*.f64 #s(literal -1 binary64) (*.f64 x (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 z (-.f64 (/.f64 t z) (*.f64 #s(literal 1/2 binary64) y))) x)) #s(literal 1/8 binary64)))))
#s(approx (- (/ (+ (* x 1/8) t) z) (* 1/2 y)) (*.f64 #s(literal -1 binary64) (*.f64 x (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (-.f64 (/.f64 t z) (*.f64 #s(literal 1/2 binary64) y)) x)) (*.f64 #s(literal 1/8 binary64) (/.f64 #s(literal 1 binary64) z))))))
#s(approx (* y (- (+ (* 1/8 (/ x (* y z))) (/ t (* y z))) 1/2)) (*.f64 #s(literal -1 binary64) (*.f64 x (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 y (-.f64 (/.f64 t (*.f64 y z)) #s(literal 1/2 binary64))) x)) (*.f64 #s(literal 1/8 binary64) (/.f64 #s(literal 1 binary64) z))))))
#s(approx (- (+ (* 1/8 (/ x (* y z))) (/ t (* y z))) 1/2) (*.f64 #s(literal -1 binary64) (*.f64 x (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (-.f64 (/.f64 t (*.f64 y z)) #s(literal 1/2 binary64)) x)) (*.f64 #s(literal 1/8 binary64) (/.f64 #s(literal 1 binary64) (*.f64 y z)))))))
#s(approx (+ (* 1/8 (/ x (* y z))) (/ t (* y z))) (*.f64 #s(literal -1 binary64) (*.f64 x (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 t (*.f64 x (*.f64 y z)))) (*.f64 #s(literal 1/8 binary64) (/.f64 #s(literal 1 binary64) (*.f64 y z)))))))
#s(approx (+ (* (/ x 2) 1/8) t) (*.f64 #s(literal -1 binary64) (*.f64 x (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 t x)) #s(literal 1/16 binary64)))))
#s(approx (+ (- (* (/ 1 8) x) (/ (* y z) 2)) t) (*.f64 #s(literal -1 binary64) (*.f64 x (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (-.f64 t (*.f64 #s(literal 1/2 binary64) (*.f64 y z))) x)) #s(literal 1/8 binary64)))))
#s(approx (- (* 1/8 x) (* 1/2 (* y z))) (*.f64 #s(literal -1 binary64) (*.f64 x (-.f64 (*.f64 #s(literal 1/2 binary64) (/.f64 (*.f64 y z) x)) #s(literal 1/8 binary64)))))
#s(approx (+ (/ x 8) (+ (/ (* y z) 1) t)) (+.f64 t (*.f64 #s(literal 1/8 binary64) x)))
#s(approx (* z (- (/ (+ (* x 1/8) t) z) (* 1/2 y))) (*.f64 z (fma.f64 #s(literal 1/8 binary64) (/.f64 x z) (/.f64 t z))))
#s(approx (* z (- (/ (+ (* x 1/8) t) z) (* 1/2 y))) (fma.f64 #s(literal -1/2 binary64) (*.f64 y z) (*.f64 z (fma.f64 #s(literal 1/8 binary64) (/.f64 x z) (/.f64 t z)))))
#s(approx (- (/ (+ (* x 1/8) t) z) (* 1/2 y)) (fma.f64 #s(literal 1/8 binary64) (/.f64 x z) (/.f64 t z)))
#s(approx (- (/ (+ (* x 1/8) t) z) (* 1/2 y)) (fma.f64 #s(literal -1/2 binary64) y (fma.f64 #s(literal 1/8 binary64) (/.f64 x z) (/.f64 t z))))
#s(approx y y)
#s(approx (- (+ (* 1/8 (/ x (* y z))) (/ t (* y z))) 1/2) (/.f64 (fma.f64 #s(literal 1/8 binary64) (/.f64 x z) (/.f64 t z)) y))
#s(approx (- (+ (* 1/8 (/ x (* y z))) (/ t (* y z))) 1/2) (/.f64 (fma.f64 #s(literal -1/2 binary64) y (fma.f64 #s(literal 1/8 binary64) (/.f64 x z) (/.f64 t z))) y))
#s(approx (* y z) (*.f64 y z))
#s(approx (+ (- (* (/ 1 8) x) (/ (* y z) 2)) t) (+.f64 t (fma.f64 #s(literal -1/2 binary64) (*.f64 y z) (*.f64 #s(literal 1/8 binary64) x))))
#s(approx (- (* 1/8 x) (* 1/2 (* y z))) (fma.f64 #s(literal -1/2 binary64) (*.f64 y z) (*.f64 #s(literal 1/8 binary64) x)))
#s(approx (* 1/2 (* y z)) (*.f64 #s(literal 1/2 binary64) (*.f64 y z)))
#s(approx (+ (/ x 8) (+ (/ (* y z) 1) t)) (*.f64 y (+.f64 z (fma.f64 #s(literal 1/8 binary64) (/.f64 x y) (/.f64 t y)))))
#s(approx (* z (- (/ (+ (* x 1/8) t) z) (* 1/2 y))) (*.f64 y (fma.f64 #s(literal -1/2 binary64) z (/.f64 (*.f64 z (fma.f64 #s(literal 1/8 binary64) (/.f64 x z) (/.f64 t z))) y))))
#s(approx (- (/ (+ (* x 1/8) t) z) (* 1/2 y)) (*.f64 #s(literal -1/2 binary64) y))
#s(approx (- (/ (+ (* x 1/8) t) z) (* 1/2 y)) (*.f64 y (-.f64 (fma.f64 #s(literal 1/8 binary64) (/.f64 x (*.f64 y z)) (/.f64 t (*.f64 y z))) #s(literal 1/2 binary64))))
#s(approx (- (+ (* 1/8 (/ x (* y z))) (/ t (* y z))) 1/2) #s(literal -1/2 binary64))
#s(approx (+ t (* y z)) (*.f64 y (+.f64 z (/.f64 t y))))
#s(approx (+ (- (* (/ 1 8) x) (/ (* y z) 2)) t) (*.f64 y (-.f64 (fma.f64 #s(literal 1/8 binary64) (/.f64 x y) (/.f64 t y)) (*.f64 #s(literal 1/2 binary64) z))))
#s(approx (- (* 1/8 x) (* 1/2 (* y z))) (*.f64 y (-.f64 (*.f64 #s(literal 1/8 binary64) (/.f64 x y)) (*.f64 #s(literal 1/2 binary64) z))))
#s(approx (+ (/ x 8) (+ (/ (* y z) 1) t)) (*.f64 #s(literal -1 binary64) (*.f64 y (fma.f64 #s(literal -1 binary64) z (*.f64 #s(literal -1 binary64) (/.f64 (+.f64 t (*.f64 #s(literal 1/8 binary64) x)) y))))))
#s(approx (* z (- (/ (+ (* x 1/8) t) z) (* 1/2 y))) (*.f64 #s(literal -1 binary64) (*.f64 y (fma.f64 #s(literal -1 binary64) (/.f64 (*.f64 z (fma.f64 #s(literal 1/8 binary64) (/.f64 x z) (/.f64 t z))) y) (*.f64 #s(literal 1/2 binary64) z)))))
#s(approx (- (/ (+ (* x 1/8) t) z) (* 1/2 y)) (*.f64 #s(literal -1 binary64) (*.f64 y (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal 1/8 binary64) (/.f64 x z) (/.f64 t z)) y))))))
#s(approx (* y (- (+ (* 1/8 (/ x (* y z))) (/ t (* y z))) 1/2)) (*.f64 #s(literal -1 binary64) (*.f64 y (+.f64 #s(literal 1/2 binary64) (fma.f64 #s(literal -1 binary64) (/.f64 t (*.f64 y z)) (*.f64 #s(literal -1/8 binary64) (/.f64 x (*.f64 y z))))))))
#s(approx (- (+ (* 1/8 (/ x (* y z))) (/ t (* y z))) 1/2) (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal -1 binary64) (/.f64 t z) (*.f64 #s(literal -1/8 binary64) (/.f64 x z))) y)) #s(literal 1/2 binary64)))
#s(approx (+ (* 1/8 (/ x (* y z))) (/ t (* y z))) (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal -1 binary64) (/.f64 t z) (*.f64 #s(literal -1/8 binary64) (/.f64 x z))) y)))
#s(approx (+ t (* y z)) (*.f64 #s(literal -1 binary64) (*.f64 y (fma.f64 #s(literal -1 binary64) z (*.f64 #s(literal -1 binary64) (/.f64 t y))))))
#s(approx (+ (- (* (/ 1 8) x) (/ (* y z) 2)) t) (*.f64 #s(literal -1 binary64) (*.f64 y (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (+.f64 t (*.f64 #s(literal 1/8 binary64) x)) y)) (*.f64 #s(literal -1/2 binary64) z)))))
#s(approx (- (* 1/8 x) (* 1/2 (* y z))) (*.f64 #s(literal -1 binary64) (*.f64 y (-.f64 (*.f64 #s(literal -1/8 binary64) (/.f64 x y)) (*.f64 #s(literal -1/2 binary64) z)))))
#s(approx z z)
#s(approx (- (/ (+ (* x 1/8) t) z) (* 1/2 y)) (/.f64 (+.f64 t (*.f64 #s(literal 1/8 binary64) x)) z))
#s(approx (- (/ (+ (* x 1/8) t) z) (* 1/2 y)) (/.f64 (+.f64 t (fma.f64 #s(literal -1/2 binary64) (*.f64 y z) (*.f64 #s(literal 1/8 binary64) x))) z))
#s(approx (* y (- (+ (* 1/8 (/ x (* y z))) (/ t (* y z))) 1/2)) (/.f64 (*.f64 y (fma.f64 #s(literal 1/8 binary64) (/.f64 x y) (/.f64 t y))) z))
#s(approx (* y (- (+ (* 1/8 (/ x (* y z))) (/ t (* y z))) 1/2)) (/.f64 (fma.f64 #s(literal -1/2 binary64) (*.f64 y z) (*.f64 y (fma.f64 #s(literal 1/8 binary64) (/.f64 x y) (/.f64 t y)))) z))
#s(approx (- (+ (* 1/8 (/ x (* y z))) (/ t (* y z))) 1/2) (/.f64 (fma.f64 #s(literal 1/8 binary64) (/.f64 x y) (/.f64 t y)) z))
#s(approx (- (+ (* 1/8 (/ x (* y z))) (/ t (* y z))) 1/2) (/.f64 (fma.f64 #s(literal -1/2 binary64) z (fma.f64 #s(literal 1/8 binary64) (/.f64 x y) (/.f64 t y))) z))
#s(approx (+ (/ x 8) (+ (/ (* y z) 1) t)) (*.f64 z (+.f64 y (fma.f64 #s(literal 1/8 binary64) (/.f64 x z) (/.f64 t z)))))
#s(approx (* z (- (/ (+ (* x 1/8) t) z) (* 1/2 y))) (*.f64 z (fma.f64 #s(literal -1/2 binary64) y (fma.f64 #s(literal 1/8 binary64) (/.f64 x z) (/.f64 t z)))))
#s(approx (* y (- (+ (* 1/8 (/ x (* y z))) (/ t (* y z))) 1/2)) (fma.f64 #s(literal -1/2 binary64) y (/.f64 (*.f64 y (fma.f64 #s(literal 1/8 binary64) (/.f64 x y) (/.f64 t y))) z)))
#s(approx (+ t (* y z)) (*.f64 z (+.f64 y (/.f64 t z))))
#s(approx (+ (- (* (/ 1 8) x) (/ (* y z) 2)) t) (*.f64 z (-.f64 (fma.f64 #s(literal 1/8 binary64) (/.f64 x z) (/.f64 t z)) (*.f64 #s(literal 1/2 binary64) y))))
#s(approx (- (* 1/8 x) (* 1/2 (* y z))) (*.f64 z (-.f64 (*.f64 #s(literal 1/8 binary64) (/.f64 x z)) (*.f64 #s(literal 1/2 binary64) y))))
#s(approx (+ (/ x 8) (+ (/ (* y z) 1) t)) (*.f64 #s(literal -1 binary64) (*.f64 z (fma.f64 #s(literal -1 binary64) y (*.f64 #s(literal -1 binary64) (/.f64 (+.f64 t (*.f64 #s(literal 1/8 binary64) x)) z))))))
#s(approx (* z (- (/ (+ (* x 1/8) t) z) (* 1/2 y))) (*.f64 #s(literal -1 binary64) (*.f64 z (fma.f64 #s(literal -1 binary64) (/.f64 (+.f64 t (*.f64 #s(literal 1/8 binary64) x)) z) (*.f64 #s(literal 1/2 binary64) y)))))
#s(approx (* y (- (+ (* 1/8 (/ x (* y z))) (/ t (* y z))) 1/2)) (fma.f64 #s(literal -1 binary64) (/.f64 (*.f64 y (fma.f64 #s(literal -1 binary64) (/.f64 t y) (*.f64 #s(literal -1/8 binary64) (/.f64 x y)))) z) (*.f64 #s(literal -1/2 binary64) y)))
#s(approx (- (+ (* 1/8 (/ x (* y z))) (/ t (* y z))) 1/2) (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal -1 binary64) (/.f64 t y) (*.f64 #s(literal -1/8 binary64) (/.f64 x y))) z)) #s(literal 1/2 binary64)))
#s(approx (+ (* 1/8 (/ x (* y z))) (/ t (* y z))) (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal -1 binary64) (/.f64 t y) (*.f64 #s(literal -1/8 binary64) (/.f64 x y))) z)))
#s(approx (+ t (* y z)) (*.f64 #s(literal -1 binary64) (*.f64 z (fma.f64 #s(literal -1 binary64) y (*.f64 #s(literal -1 binary64) (/.f64 t z))))))
#s(approx (+ (- (* (/ 1 8) x) (/ (* y z) 2)) t) (*.f64 #s(literal -1 binary64) (*.f64 z (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (+.f64 t (*.f64 #s(literal 1/8 binary64) x)) z)) (*.f64 #s(literal -1/2 binary64) y)))))
#s(approx (- (* 1/8 x) (* 1/2 (* y z))) (*.f64 #s(literal -1 binary64) (*.f64 z (-.f64 (*.f64 #s(literal -1/8 binary64) (/.f64 x z)) (*.f64 #s(literal -1/2 binary64) y)))))
#s(approx (+ (/ x 8) (+ (/ (* y z) 1) t)) (fma.f64 #s(literal 1/8 binary64) x (*.f64 y z)))
#s(approx (* z (- (/ (+ (* x 1/8) t) z) (* 1/2 y))) (+.f64 t (*.f64 z (-.f64 (*.f64 #s(literal 1/8 binary64) (/.f64 x z)) (*.f64 #s(literal 1/2 binary64) y)))))
#s(approx (- (/ (+ (* x 1/8) t) z) (* 1/2 y)) (-.f64 (*.f64 #s(literal 1/8 binary64) (/.f64 x z)) (*.f64 #s(literal 1/2 binary64) y)))
#s(approx (* y (- (+ (* 1/8 (/ x (* y z))) (/ t (* y z))) 1/2)) (*.f64 y (-.f64 (*.f64 #s(literal 1/8 binary64) (/.f64 x (*.f64 y z))) #s(literal 1/2 binary64))))
#s(approx (* y (- (+ (* 1/8 (/ x (* y z))) (/ t (* y z))) 1/2)) (fma.f64 y (-.f64 (*.f64 #s(literal 1/8 binary64) (/.f64 x (*.f64 y z))) #s(literal 1/2 binary64)) (/.f64 t z)))
#s(approx (- (+ (* 1/8 (/ x (* y z))) (/ t (* y z))) 1/2) (-.f64 (*.f64 #s(literal 1/8 binary64) (/.f64 x (*.f64 y z))) #s(literal 1/2 binary64)))
#s(approx (+ (/ x 8) (+ (/ (* y z) 1) t)) (*.f64 t (+.f64 #s(literal 1 binary64) (fma.f64 #s(literal 1/8 binary64) (/.f64 x t) (/.f64 (*.f64 y z) t)))))
#s(approx (* z (- (/ (+ (* x 1/8) t) z) (* 1/2 y))) (*.f64 t (+.f64 #s(literal 1 binary64) (/.f64 (*.f64 z (-.f64 (*.f64 #s(literal 1/8 binary64) (/.f64 x z)) (*.f64 #s(literal 1/2 binary64) y))) t))))
#s(approx (- (/ (+ (* x 1/8) t) z) (* 1/2 y)) (/.f64 t z))
#s(approx (- (/ (+ (* x 1/8) t) z) (* 1/2 y)) (*.f64 t (-.f64 (fma.f64 #s(literal 1/8 binary64) (/.f64 x (*.f64 t z)) (/.f64 #s(literal 1 binary64) z)) (*.f64 #s(literal 1/2 binary64) (/.f64 y t)))))
#s(approx (* y (- (+ (* 1/8 (/ x (* y z))) (/ t (* y z))) 1/2)) (*.f64 t (+.f64 (/.f64 #s(literal 1 binary64) z) (/.f64 (*.f64 y (-.f64 (*.f64 #s(literal 1/8 binary64) (/.f64 x (*.f64 y z))) #s(literal 1/2 binary64))) t))))
#s(approx (- (+ (* 1/8 (/ x (* y z))) (/ t (* y z))) 1/2) (*.f64 t (-.f64 (fma.f64 #s(literal 1/8 binary64) (/.f64 x (*.f64 t (*.f64 y z))) (/.f64 #s(literal 1 binary64) (*.f64 y z))) (*.f64 #s(literal 1/2 binary64) (/.f64 #s(literal 1 binary64) t)))))
#s(approx (+ (* 1/8 (/ x (* y z))) (/ t (* y z))) (*.f64 t (fma.f64 #s(literal 1/8 binary64) (/.f64 x (*.f64 t (*.f64 y z))) (/.f64 #s(literal 1 binary64) (*.f64 y z)))))
#s(approx (+ t (* y z)) (*.f64 t (+.f64 #s(literal 1 binary64) (/.f64 (*.f64 y z) t))))
#s(approx (+ (* (/ x 2) 1/8) t) (*.f64 t (+.f64 #s(literal 1 binary64) (*.f64 #s(literal 1/16 binary64) (/.f64 x t)))))
#s(approx (+ (- (* (/ 1 8) x) (/ (* y z) 2)) t) (*.f64 t (-.f64 (+.f64 #s(literal 1 binary64) (*.f64 #s(literal 1/8 binary64) (/.f64 x t))) (*.f64 #s(literal 1/2 binary64) (/.f64 (*.f64 y z) t)))))
#s(approx (+ (/ x 8) (+ (/ (* y z) 1) t)) (*.f64 #s(literal -1 binary64) (*.f64 t (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal 1/8 binary64) x (*.f64 y z)) t)) #s(literal 1 binary64)))))
#s(approx (* z (- (/ (+ (* x 1/8) t) z) (* 1/2 y))) (*.f64 #s(literal -1 binary64) (*.f64 t (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 z (-.f64 (*.f64 #s(literal 1/8 binary64) (/.f64 x z)) (*.f64 #s(literal 1/2 binary64) y))) t)) #s(literal 1 binary64)))))
#s(approx (- (/ (+ (* x 1/8) t) z) (* 1/2 y)) (*.f64 #s(literal -1 binary64) (*.f64 t (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (-.f64 (*.f64 #s(literal 1/8 binary64) (/.f64 x z)) (*.f64 #s(literal 1/2 binary64) y)) t)) (/.f64 #s(literal 1 binary64) z)))))
#s(approx (* y (- (+ (* 1/8 (/ x (* y z))) (/ t (* y z))) 1/2)) (*.f64 #s(literal -1 binary64) (*.f64 t (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 y (-.f64 (*.f64 #s(literal 1/8 binary64) (/.f64 x (*.f64 y z))) #s(literal 1/2 binary64))) t)) (/.f64 #s(literal 1 binary64) z)))))
#s(approx (- (+ (* 1/8 (/ x (* y z))) (/ t (* y z))) 1/2) (*.f64 #s(literal -1 binary64) (*.f64 t (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (-.f64 (*.f64 #s(literal 1/8 binary64) (/.f64 x (*.f64 y z))) #s(literal 1/2 binary64)) t)) (/.f64 #s(literal 1 binary64) (*.f64 y z))))))
#s(approx (+ (* 1/8 (/ x (* y z))) (/ t (* y z))) (*.f64 #s(literal -1 binary64) (*.f64 t (-.f64 (*.f64 #s(literal -1/8 binary64) (/.f64 x (*.f64 t (*.f64 y z)))) (/.f64 #s(literal 1 binary64) (*.f64 y z))))))
#s(approx (+ t (* y z)) (*.f64 #s(literal -1 binary64) (*.f64 t (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 y z) t)) #s(literal 1 binary64)))))
#s(approx (+ (* (/ x 2) 1/8) t) (*.f64 #s(literal -1 binary64) (*.f64 t (-.f64 (*.f64 #s(literal -1/16 binary64) (/.f64 x t)) #s(literal 1 binary64)))))
#s(approx (+ (- (* (/ 1 8) x) (/ (* y z) 2)) t) (*.f64 #s(literal -1 binary64) (*.f64 t (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (-.f64 (*.f64 #s(literal 1/8 binary64) x) (*.f64 #s(literal 1/2 binary64) (*.f64 y z))) t)) #s(literal 1 binary64)))))
Calls

12 calls:

TimeVariablePoint
3.0ms
x
inf
3.0ms
y
-inf
3.0ms
x
0
3.0ms
x
-inf
3.0ms
z
-inf

rewrite421.0ms (9.7%)

Memory
-17.5MiB live, 220.2MiB allocated; 60ms collecting garbage
Counts
26 → 91
Calls
Call 1
Inputs
#s(approx (+ (/ x 8) (+ (/ (* y z) 1) t)) (*.f64 z #s(approx (- (/ (+ (* x 1/8) t) z) (* 1/2 y)) (*.f64 y (-.f64 (fma.f64 #s(literal 1/8 binary64) (/.f64 x (*.f64 y z)) (/.f64 t (*.f64 y z))) #s(literal 1/2 binary64))))))
(*.f64 z #s(approx (- (/ (+ (* x 1/8) t) z) (* 1/2 y)) (*.f64 y (-.f64 (fma.f64 #s(literal 1/8 binary64) (/.f64 x (*.f64 y z)) (/.f64 t (*.f64 y z))) #s(literal 1/2 binary64)))))
z
#s(approx (- (/ (+ (* x 1/8) t) z) (* 1/2 y)) (*.f64 y (-.f64 (fma.f64 #s(literal 1/8 binary64) (/.f64 x (*.f64 y z)) (/.f64 t (*.f64 y z))) #s(literal 1/2 binary64))))
(*.f64 y (-.f64 (fma.f64 #s(literal 1/8 binary64) (/.f64 x (*.f64 y z)) (/.f64 t (*.f64 y z))) #s(literal 1/2 binary64)))
y
(-.f64 (fma.f64 #s(literal 1/8 binary64) (/.f64 x (*.f64 y z)) (/.f64 t (*.f64 y z))) #s(literal 1/2 binary64))
(fma.f64 #s(literal 1/8 binary64) (/.f64 x (*.f64 y z)) (/.f64 t (*.f64 y z)))
#s(literal 1/8 binary64)
(/.f64 x (*.f64 y z))
x
(*.f64 y z)
(/.f64 t (*.f64 y z))
t
#s(literal 1/2 binary64)
#s(approx (+ (/ x 8) (+ (/ (* y z) 1) t)) (*.f64 #s(literal 1/8 binary64) x))
(*.f64 #s(literal 1/8 binary64) x)
#s(approx (+ (/ x 8) (+ (/ (* y z) 1) t)) (+.f64 t (*.f64 y z)))
(+.f64 t (*.f64 y z))
#s(approx (+ (/ x 8) (+ (/ (* y z) 1) t)) (fma.f64 (/.f64 x #s(literal 2 binary64)) #s(literal 1/8 binary64) t))
(fma.f64 (/.f64 x #s(literal 2 binary64)) #s(literal 1/8 binary64) t)
(/.f64 x #s(literal 2 binary64))
#s(literal 2 binary64)
#s(approx (+ (- (* (/ 1 8) x) (/ (* y z) 2)) t) (-.f64 (*.f64 #s(literal 1/8 binary64) x) (*.f64 #s(literal 1/2 binary64) (*.f64 y z))))
(-.f64 (*.f64 #s(literal 1/8 binary64) x) (*.f64 #s(literal 1/2 binary64) (*.f64 y z)))
(*.f64 #s(literal 1/2 binary64) (*.f64 y z))
Outputs
#s(approx (+ (+ t (/ x 8)) (* y z)) (*.f64 z #s(approx (- (/ (- (* x 1/8) t) z) (* y 1/2)) (*.f64 y (-.f64 (/.f64 (fma.f64 x #s(literal 1/8 binary64) t) (*.f64 y z)) #s(literal 1/2 binary64))))))
(*.f64 z #s(approx (- (/ (- (* x 1/8) t) z) (* y 1/2)) (*.f64 y (-.f64 (/.f64 (fma.f64 x #s(literal 1/8 binary64) t) (*.f64 y z)) #s(literal 1/2 binary64)))))
z
(*.f64 z #s(literal 2 binary64))
(/.f64 z #s(literal 2 binary64))
(neg.f64 z)
#s(approx (- (/ (- (* x 1/8) t) z) (* y 1/2)) (*.f64 y (-.f64 (/.f64 (fma.f64 x #s(literal 1/8 binary64) t) (*.f64 y z)) #s(literal 1/2 binary64))))
(*.f64 y (-.f64 (/.f64 (fma.f64 x #s(literal 1/8 binary64) t) (*.f64 y z)) #s(literal 1/2 binary64)))
(*.f64 (-.f64 (/.f64 (fma.f64 x #s(literal 1/8 binary64) t) (*.f64 y z)) #s(literal 1/2 binary64)) y)
(*.f64 (*.f64 (-.f64 (/.f64 (fma.f64 x #s(literal 1/8 binary64) t) (*.f64 y z)) (*.f64 #s(literal 1/2 binary64) #s(literal 1/2 binary64))) y) (fma.f64 #s(literal 1/2 binary64) (-.f64 #s(literal 1/2 binary64) (/.f64 (fma.f64 x #s(literal 1/8 binary64) t) (*.f64 y z))) (/.f64 (fma.f64 x #s(literal 1/8 binary64) t) (*.f64 y z))))
(*.f64 (-.f64 (/.f64 (fma.f64 x #s(literal 1/8 binary64) t) (*.f64 y z)) (*.f64 #s(literal 1/2 binary64) #s(literal 1/2 binary64))) (/.f64 y (+.f64 (/.f64 (fma.f64 x #s(literal 1/8 binary64) t) (*.f64 y z)) #s(literal 1/2 binary64))))
(*.f64 (/.f64 (*.f64 (-.f64 (/.f64 (fma.f64 x #s(literal 1/8 binary64) t) (*.f64 y z)) (*.f64 #s(literal 1/2 binary64) #s(literal 1/2 binary64))) y) (+.f64 (pow.f64 (*.f64 #s(literal 1/2 binary64) (-.f64 #s(literal 1/2 binary64) (/.f64 (fma.f64 x #s(literal 1/8 binary64) t) (*.f64 y z)))) #s(literal 3 binary64)) (/.f64 (fma.f64 x #s(literal 1/8 binary64) t) (*.f64 y z)))) (fma.f64 (*.f64 #s(literal 1/2 binary64) (-.f64 #s(literal 1/2 binary64) (/.f64 (fma.f64 x #s(literal 1/8 binary64) t) (*.f64 y z)))) (fma.f64 #s(literal 1/2 binary64) (-.f64 #s(literal 1/2 binary64) (/.f64 (fma.f64 x #s(literal 1/8 binary64) t) (*.f64 y z))) (/.f64 (fma.f64 x #s(literal 1/8 binary64) t) (*.f64 y z))) (/.f64 (fma.f64 x #s(literal 1/8 binary64) t) (*.f64 y z))))
y
(*.f64 y #s(literal 2 binary64))
(/.f64 y #s(literal 2 binary64))
(/.f64 (neg.f64 y) #s(literal 2 binary64))
(neg.f64 (neg.f64 y))
(*.f64 (fma.f64 #s(literal 1/2 binary64) #s(literal 1/2 binary64) (/.f64 (fma.f64 x #s(literal 1/8 binary64) t) (*.f64 y z))) (-.f64 (/.f64 (fma.f64 x #s(literal 1/8 binary64) t) (*.f64 y z)) #s(literal 1/2 binary64)))
(*.f64 (+.f64 (/.f64 (fma.f64 x #s(literal 1/8 binary64) t) (*.f64 y z)) #s(literal 1/2 binary64)) (-.f64 (/.f64 (fma.f64 x #s(literal 1/8 binary64) t) (*.f64 y z)) (*.f64 #s(literal 1/2 binary64) #s(literal 1/2 binary64))))
(*.f64 (fma.f64 #s(literal 1/2 binary64) (-.f64 #s(literal 1/2 binary64) (/.f64 (fma.f64 x #s(literal 1/8 binary64) t) (*.f64 y z))) (/.f64 (fma.f64 x #s(literal 1/8 binary64) t) (*.f64 y z))) (-.f64 (/.f64 (fma.f64 x #s(literal 1/8 binary64) t) (*.f64 y z)) (*.f64 #s(literal 1/2 binary64) #s(literal 1/2 binary64))))
(*.f64 (-.f64 (/.f64 (fma.f64 x #s(literal 1/8 binary64) t) (*.f64 y z)) (*.f64 #s(literal 1/2 binary64) #s(literal 1/2 binary64))) (fma.f64 #s(literal 1/2 binary64) (-.f64 #s(literal 1/2 binary64) (/.f64 (fma.f64 x #s(literal 1/8 binary64) t) (*.f64 y z))) (/.f64 (fma.f64 x #s(literal 1/8 binary64) t) (*.f64 y z))))
(*.f64 (/.f64 (-.f64 (/.f64 (fma.f64 x #s(literal 1/8 binary64) t) (*.f64 y z)) (*.f64 #s(literal 1/2 binary64) #s(literal 1/2 binary64))) (+.f64 (pow.f64 (*.f64 #s(literal 1/2 binary64) (-.f64 #s(literal 1/2 binary64) (/.f64 (fma.f64 x #s(literal 1/8 binary64) t) (*.f64 y z)))) #s(literal 3 binary64)) (/.f64 (fma.f64 x #s(literal 1/8 binary64) t) (*.f64 y z)))) (fma.f64 (*.f64 #s(literal 1/2 binary64) (-.f64 #s(literal 1/2 binary64) (/.f64 (fma.f64 x #s(literal 1/8 binary64) t) (*.f64 y z)))) (fma.f64 #s(literal 1/2 binary64) (-.f64 #s(literal 1/2 binary64) (/.f64 (fma.f64 x #s(literal 1/8 binary64) t) (*.f64 y z))) (/.f64 (fma.f64 x #s(literal 1/8 binary64) t) (*.f64 y z))) (/.f64 (fma.f64 x #s(literal 1/8 binary64) t) (*.f64 y z))))
(*.f64 (/.f64 (fma.f64 x #s(literal 1/8 binary64) t) (*.f64 y z)) #s(literal 2 binary64))
(*.f64 (/.f64 (fma.f64 x #s(literal 1/8 binary64) t) (*.f64 y z)) (/.f64 (fma.f64 x #s(literal 1/8 binary64) t) (*.f64 y z)))
(*.f64 #s(literal 2 binary64) (/.f64 (fma.f64 x #s(literal 1/8 binary64) t) (*.f64 y z)))
(*.f64 (/.f64 (/.f64 (fma.f64 x #s(literal 1/8 binary64) t) (*.f64 y z)) (-.f64 (*.f64 #s(literal 1/8 binary64) x) t)) (*.f64 y z))
(*.f64 (/.f64 (/.f64 (fma.f64 x #s(literal 1/8 binary64) t) (*.f64 y z)) (*.f64 (*.f64 y z) (fma.f64 x #s(literal 1/8 binary64) t))) (*.f64 (*.f64 y y) (*.f64 z z)))
#s(literal 1/8 binary64)
(*.f64 (/.f64 #s(literal 2 binary64) y) (/.f64 x z))
(*.f64 (/.f64 x y) (/.f64 #s(literal 2 binary64) z))
(*.f64 (/.f64 #s(literal 2 binary64) z) (/.f64 x y))
(*.f64 (/.f64 x z) (/.f64 #s(literal 2 binary64) y))
(*.f64 (/.f64 x (*.f64 y z)) #s(literal 2 binary64))
x
(*.f64 x #s(literal 2 binary64))
(*.f64 #s(literal 2 binary64) x)
(+.f64 x x)
(/.f64 x #s(literal 2 binary64))
(*.f64 y z)
(*.f64 z y)
(*.f64 (*.f64 y z) #s(literal 2 binary64))
(*.f64 (neg.f64 y) z)
(*.f64 z (neg.f64 y))
(*.f64 (/.f64 t (*.f64 y z)) #s(literal 2 binary64))
(*.f64 #s(literal 2 binary64) (/.f64 t (*.f64 y z)))
(+.f64 (/.f64 t (*.f64 y z)) (/.f64 t (*.f64 y z)))
(/.f64 t (*.f64 y z))
(/.f64 (*.f64 t #s(literal 2 binary64)) (*.f64 y z))
t
(neg.f64 (neg.f64 t))
#s(literal 1/2 binary64)
(neg.f64 (neg.f64 #s(literal 1/2 binary64)))
#s(approx (+ (+ t (/ x 8)) (* y z)) (*.f64 #s(literal 1/8 binary64) x))
(*.f64 #s(literal 1/8 binary64) x)
(*.f64 x #s(literal 1/8 binary64))
(*.f64 (*.f64 #s(literal 1/8 binary64) x) #s(literal 2 binary64))
(*.f64 (*.f64 #s(literal 1/8 binary64) #s(literal 2 binary64)) x)
(*.f64 (/.f64 #s(literal 1/8 binary64) #s(literal 2 binary64)) x)
#s(approx (+ (+ t (/ x 8)) (* y z)) (fma.f64 z y t))
(*.f64 (fma.f64 z y t) (fma.f64 z y t))
(*.f64 (-.f64 (*.f64 y z) t) (-.f64 (neg.f64 t) (*.f64 y z)))
(*.f64 (-.f64 (*.f64 y z) t) (-.f64 (*.f64 y z) t))
(*.f64 (+.f64 (fabs.f64 t) (*.f64 y z)) (-.f64 (fabs.f64 t) (*.f64 y z)))
(*.f64 (-.f64 (fma.f64 z y t) (*.f64 (*.f64 y z) t)) (fma.f64 z y t))
#s(approx (+ (+ t (/ x 8)) (* y z)) (fma.f64 x #s(literal 1/8 binary64) t))
(*.f64 (*.f64 (fma.f64 x #s(literal 1/8 binary64) t) (fma.f64 x #s(literal 1/8 binary64) t)) (fma.f64 x #s(literal 1/8 binary64) t))
(*.f64 (pow.f64 (fma.f64 x #s(literal 1/8 binary64) t) (/.f64 #s(literal 3 binary64) #s(literal 2 binary64))) (pow.f64 (fma.f64 x #s(literal 1/8 binary64) t) (/.f64 #s(literal 3 binary64) #s(literal 2 binary64))))
(*.f64 (fma.f64 x #s(literal 1/8 binary64) t) (*.f64 (fma.f64 x #s(literal 1/8 binary64) t) (fma.f64 x #s(literal 1/8 binary64) t)))
(*.f64 (fma.f64 (*.f64 #s(literal 1/8 binary64) x) (-.f64 (*.f64 #s(literal 1/8 binary64) x) t) (*.f64 t t)) (*.f64 (fma.f64 x #s(literal 1/8 binary64) t) (fma.f64 x #s(literal 1/8 binary64) t)))
(*.f64 (*.f64 (fma.f64 x #s(literal 1/8 binary64) t) (fma.f64 x #s(literal 1/8 binary64) t)) (fma.f64 (*.f64 #s(literal 1/8 binary64) x) (-.f64 (*.f64 #s(literal 1/8 binary64) x) t) (*.f64 t t)))
x
(*.f64 x #s(literal 2 binary64))
(*.f64 #s(literal 2 binary64) x)
(+.f64 x x)
(/.f64 x #s(literal 2 binary64))
#s(literal 2 binary64)
#s(literal 1 binary64)
#s(literal 0 binary64)
(*.f64 #s(literal 2 binary64) #s(literal 2 binary64))
(*.f64 (fabs.f64 #s(literal 2 binary64)) (fabs.f64 #s(literal 2 binary64)))
#s(approx (+ (+ t (/ x 8)) (* y z)) (fma.f64 (*.f64 y #s(literal 1/2 binary64)) z (*.f64 #s(literal 1/8 binary64) x)))
(*.f64 (fma.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 y z)) (fma.f64 (*.f64 y #s(literal 1/2 binary64)) z (*.f64 #s(literal 1/8 binary64) x)) (*.f64 (*.f64 #s(literal 1/8 binary64) #s(literal 1/8 binary64)) (*.f64 x x))) (*.f64 (fma.f64 (*.f64 y #s(literal 1/2 binary64)) z (*.f64 #s(literal 1/8 binary64) x)) (fma.f64 (*.f64 y #s(literal 1/2 binary64)) z (*.f64 #s(literal 1/8 binary64) x))))
(*.f64 (*.f64 (fma.f64 (*.f64 y #s(literal 1/2 binary64)) z (*.f64 #s(literal 1/8 binary64) x)) (fma.f64 (*.f64 y #s(literal 1/2 binary64)) z (*.f64 #s(literal 1/8 binary64) x))) (fma.f64 (*.f64 y #s(literal 1/2 binary64)) z (*.f64 #s(literal 1/8 binary64) x)))
(*.f64 (*.f64 (fma.f64 (*.f64 y #s(literal 1/2 binary64)) z (*.f64 #s(literal 1/8 binary64) x)) (fma.f64 (*.f64 y #s(literal 1/2 binary64)) z (*.f64 #s(literal 1/8 binary64) x))) (fma.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 y z)) (fma.f64 (*.f64 y #s(literal 1/2 binary64)) z (*.f64 #s(literal 1/8 binary64) x)) (*.f64 (*.f64 #s(literal 1/8 binary64) #s(literal 1/8 binary64)) (*.f64 x x))))
(*.f64 (fma.f64 (*.f64 y #s(literal 1/2 binary64)) z (*.f64 #s(literal 1/8 binary64) x)) (*.f64 (fma.f64 (*.f64 y #s(literal 1/2 binary64)) z (*.f64 #s(literal 1/8 binary64) x)) (fma.f64 (*.f64 y #s(literal 1/2 binary64)) z (*.f64 #s(literal 1/8 binary64) x))))
(*.f64 (/.f64 (*.f64 (fma.f64 (*.f64 y #s(literal 1/2 binary64)) z (*.f64 #s(literal 1/8 binary64) x)) (fma.f64 (*.f64 y #s(literal 1/2 binary64)) z (*.f64 #s(literal 1/8 binary64) x))) (fma.f64 (*.f64 (*.f64 #s(literal 1/8 binary64) x) x) #s(literal 1/8 binary64) (pow.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 y z)) (fma.f64 (*.f64 y #s(literal 1/2 binary64)) z (*.f64 #s(literal 1/8 binary64) x))) #s(literal 3 binary64)))) (fma.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 y z)) (fma.f64 (*.f64 y #s(literal 1/2 binary64)) z (*.f64 #s(literal 1/8 binary64) x))) (fma.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 y z)) (fma.f64 (*.f64 y #s(literal 1/2 binary64)) z (*.f64 #s(literal 1/8 binary64) x)) (*.f64 (*.f64 #s(literal 1/8 binary64) #s(literal 1/8 binary64)) (*.f64 x x))) (*.f64 (*.f64 #s(literal 1/8 binary64) #s(literal 1/8 binary64)) (*.f64 x x))))
(*.f64 #s(literal 1/2 binary64) (*.f64 y z))
(*.f64 (*.f64 y #s(literal 1/2 binary64)) z)
(*.f64 (*.f64 z #s(literal 1/2 binary64)) y)
(*.f64 (*.f64 z #s(literal 1/2 binary64)) (neg.f64 y))
(*.f64 (*.f64 y z) #s(literal 1/2 binary64))

eval95.0ms (2.2%)

Memory
11.6MiB live, 56.1MiB allocated; 12ms collecting garbage
Compiler

Compiled 8 851 to 1 251 computations (85.9% saved)

prune13.0ms (0.3%)

Memory
-23.1MiB live, 24.1MiB allocated; 2ms collecting garbage
Pruning

15 alts after pruning (7 fresh and 8 done)

PrunedKeptTotal
New2347241
Fresh000
Picked415
Done077
Total23815253
Accuracy
100.0%
Counts
253 → 15
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(+.f64 #s(approx (- (* (/ 1 8) x) (/ (* y z) 2)) (fma.f64 #s(literal -1/2 binary64) (*.f64 y z) (*.f64 #s(literal 1/8 binary64) x))) t)
67.8%
#s(approx (+ (/ x 8) (+ (/ (* y z) 1) t)) (fma.f64 x #s(literal 1/8 binary64) t))
75.8%
#s(approx (+ (/ x 8) (+ (/ (* y z) 1) t)) (*.f64 z (-.f64 (/.f64 (fma.f64 x #s(literal 1/8 binary64) t) z) (*.f64 #s(literal 1/2 binary64) y))))
50.1%
#s(approx (+ (/ x 8) (+ (/ (* y z) 1) t)) (*.f64 z #s(approx (- (/ (+ (* x 1/8) t) z) (* 1/2 y)) (*.f64 y (-.f64 #s(approx (+ (* 1/8 (/ x (* y z))) (/ t (* y z))) (/.f64 t (*.f64 y z))) #s(literal 1/2 binary64))))))
7.8%
#s(approx (+ (/ x 8) (+ (/ (* y z) 1) t)) (*.f64 #s(literal 1/8 binary64) (+.f64 x x)))
31.8%
#s(approx (+ (/ x 8) (+ (/ (* y z) 1) t)) (*.f64 #s(literal 1/8 binary64) x))
42.9%
#s(approx (+ (/ x 8) (+ (/ (* y z) 1) t)) #s(approx (+ (* (/ x 2) 1/8) t) (+.f64 t (*.f64 #s(literal 1/16 binary64) x))))
32.3%
#s(approx (+ (/ x 8) (+ (/ (* y z) 1) t)) #s(approx (+ (* (/ x 2) 1/8) t) (*.f64 x (+.f64 #s(literal 1/16 binary64) (/.f64 t x)))))
7.8%
#s(approx (+ (/ x 8) (+ (/ (* y z) 1) t)) #s(approx (+ (* (/ x 2) 1/8) t) (*.f64 #s(literal 1/16 binary64) x)))
69.8%
#s(approx (+ (- (* (/ 1 8) x) (/ (* y z) 2)) t) (-.f64 t (*.f64 #s(literal 1/2 binary64) (*.f64 y z))))
56.4%
#s(approx (+ (- (* (/ 1 8) x) (/ (* y z) 2)) t) (*.f64 z (-.f64 #s(approx (+ (* 1/8 (/ x z)) (/ t z)) (/.f64 t z)) (*.f64 #s(literal 1/2 binary64) y))))
34.1%
#s(approx (+ (- (* (/ 1 8) x) (/ (* y z) 2)) t) (*.f64 z #s(approx (- (+ (* 1/8 (/ x z)) (/ t z)) (* 1/2 y)) (*.f64 #s(literal -1/2 binary64) y))))
63.3%
#s(approx (+ (- (* (/ 1 8) x) (/ (* y z) 2)) t) #s(approx (- (* 1/8 x) (* 1/2 (* y z))) (fma.f64 #s(literal -1/2 binary64) (*.f64 y z) (*.f64 #s(literal 1/8 binary64) x))))
37.8%
#s(approx (+ (- (* (/ 1 8) x) (/ (* y z) 2)) t) #s(approx (+ t (* 1/8 x)) t))
37.1%
#s(approx (+ (+ t (/ x 8)) (* y z)) (fma.f64 z y t))
Compiler

Compiled 372 to 298 computations (19.9% saved)

regimes370.0ms (8.5%)

Memory
-0.5MiB live, 443.3MiB allocated; 187ms collecting garbage
Accuracy

Total -22.6b remaining (-21%)

Threshold costs -22.6b (-21%)

Counts
2 → 1
4 → 3
9 → 1
11 → 3
13 → 3
17 → 3
24 → 1
Calls
Call 1
Inputs
#s(approx (+ (- (* (/ 1 8) x) (/ (* y z) 2)) t) #s(approx (+ t (* 1/8 x)) t))
#s(approx (+ (/ x 8) (+ (/ (* y z) 1) t)) #s(approx (+ (* (/ x 2) 1/8) t) (*.f64 #s(literal 1/16 binary64) x)))
Outputs
#s(approx (+ (- (* (/ 1 8) x) (/ (* y z) 2)) t) #s(approx (+ t (* 1/8 x)) t))
Call 2
Inputs
#s(approx (+ (- (* (/ 1 8) x) (/ (* y z) 2)) t) #s(approx (+ t (* 1/8 x)) t))
#s(approx (+ (/ x 8) (+ (/ (* y z) 1) t)) #s(approx (+ (* (/ x 2) 1/8) t) (*.f64 #s(literal 1/16 binary64) x)))
#s(approx (+ (/ x 8) (+ (/ (* y z) 1) t)) (*.f64 #s(literal 1/8 binary64) x))
#s(approx (+ (+ t (/ x 8)) (* y z)) (fma.f64 z y t))
Outputs
#s(approx (+ (/ x 8) (+ (/ (* y z) 1) t)) (*.f64 #s(literal 1/8 binary64) x))
#s(approx (+ (- (* (/ 1 8) x) (/ (* y z) 2)) t) #s(approx (+ t (* 1/8 x)) t))
#s(approx (+ (/ x 8) (+ (/ (* y z) 1) t)) (*.f64 #s(literal 1/8 binary64) x))
Call 3
Inputs
#s(approx (+ (- (* (/ 1 8) x) (/ (* y z) 2)) t) #s(approx (+ t (* 1/8 x)) t))
#s(approx (+ (/ x 8) (+ (/ (* y z) 1) t)) #s(approx (+ (* (/ x 2) 1/8) t) (*.f64 #s(literal 1/16 binary64) x)))
#s(approx (+ (/ x 8) (+ (/ (* y z) 1) t)) (*.f64 #s(literal 1/8 binary64) x))
#s(approx (+ (+ t (/ x 8)) (* y z)) (fma.f64 z y t))
#s(approx (+ (/ x 8) (+ (/ (* y z) 1) t)) (fma.f64 x #s(literal 1/8 binary64) t))
#s(approx (+ (- (* (/ 1 8) x) (/ (* y z) 2)) t) (+.f64 t (*.f64 #s(literal 1/8 binary64) x)))
#s(approx (+ (/ x 8) (+ (/ (* y z) 1) t)) #s(approx (+ (* (/ x 2) 1/8) t) (+.f64 t (*.f64 #s(literal 1/16 binary64) x))))
#s(approx (+ (/ x 8) (+ (/ (* y z) 1) t)) (*.f64 #s(literal 1/8 binary64) (+.f64 x x)))
#s(approx (+ (/ x 8) (+ (/ (* y z) 1) t)) (+.f64 t (*.f64 y z)))
Outputs
#s(approx (+ (/ x 8) (+ (/ (* y z) 1) t)) (fma.f64 x #s(literal 1/8 binary64) t))
Call 4
Inputs
#s(approx (+ (- (* (/ 1 8) x) (/ (* y z) 2)) t) #s(approx (+ t (* 1/8 x)) t))
#s(approx (+ (/ x 8) (+ (/ (* y z) 1) t)) #s(approx (+ (* (/ x 2) 1/8) t) (*.f64 #s(literal 1/16 binary64) x)))
#s(approx (+ (/ x 8) (+ (/ (* y z) 1) t)) (*.f64 #s(literal 1/8 binary64) x))
#s(approx (+ (+ t (/ x 8)) (* y z)) (fma.f64 z y t))
#s(approx (+ (/ x 8) (+ (/ (* y z) 1) t)) (fma.f64 x #s(literal 1/8 binary64) t))
#s(approx (+ (- (* (/ 1 8) x) (/ (* y z) 2)) t) (+.f64 t (*.f64 #s(literal 1/8 binary64) x)))
#s(approx (+ (/ x 8) (+ (/ (* y z) 1) t)) #s(approx (+ (* (/ x 2) 1/8) t) (+.f64 t (*.f64 #s(literal 1/16 binary64) x))))
#s(approx (+ (/ x 8) (+ (/ (* y z) 1) t)) (*.f64 #s(literal 1/8 binary64) (+.f64 x x)))
#s(approx (+ (/ x 8) (+ (/ (* y z) 1) t)) (+.f64 t (*.f64 y z)))
#s(approx (+ (- (* (/ 1 8) x) (/ (* y z) 2)) t) (*.f64 z #s(approx (- (+ (* 1/8 (/ x z)) (/ t z)) (* 1/2 y)) (*.f64 #s(literal -1/2 binary64) y))))
#s(approx (+ (/ x 8) (+ (/ (* y z) 1) t)) (fma.f64 (/.f64 x #s(literal 2 binary64)) #s(literal 1/8 binary64) t))
Outputs
#s(approx (+ (- (* (/ 1 8) x) (/ (* y z) 2)) t) (*.f64 z #s(approx (- (+ (* 1/8 (/ x z)) (/ t z)) (* 1/2 y)) (*.f64 #s(literal -1/2 binary64) y))))
#s(approx (+ (/ x 8) (+ (/ (* y z) 1) t)) (fma.f64 x #s(literal 1/8 binary64) t))
#s(approx (+ (- (* (/ 1 8) x) (/ (* y z) 2)) t) (*.f64 z #s(approx (- (+ (* 1/8 (/ x z)) (/ t z)) (* 1/2 y)) (*.f64 #s(literal -1/2 binary64) y))))
Call 5
Inputs
#s(approx (+ (- (* (/ 1 8) x) (/ (* y z) 2)) t) #s(approx (+ t (* 1/8 x)) t))
#s(approx (+ (/ x 8) (+ (/ (* y z) 1) t)) #s(approx (+ (* (/ x 2) 1/8) t) (*.f64 #s(literal 1/16 binary64) x)))
#s(approx (+ (/ x 8) (+ (/ (* y z) 1) t)) (*.f64 #s(literal 1/8 binary64) x))
#s(approx (+ (+ t (/ x 8)) (* y z)) (fma.f64 z y t))
#s(approx (+ (/ x 8) (+ (/ (* y z) 1) t)) (fma.f64 x #s(literal 1/8 binary64) t))
#s(approx (+ (- (* (/ 1 8) x) (/ (* y z) 2)) t) (+.f64 t (*.f64 #s(literal 1/8 binary64) x)))
#s(approx (+ (/ x 8) (+ (/ (* y z) 1) t)) #s(approx (+ (* (/ x 2) 1/8) t) (+.f64 t (*.f64 #s(literal 1/16 binary64) x))))
#s(approx (+ (/ x 8) (+ (/ (* y z) 1) t)) (*.f64 #s(literal 1/8 binary64) (+.f64 x x)))
#s(approx (+ (/ x 8) (+ (/ (* y z) 1) t)) (+.f64 t (*.f64 y z)))
#s(approx (+ (- (* (/ 1 8) x) (/ (* y z) 2)) t) (*.f64 z #s(approx (- (+ (* 1/8 (/ x z)) (/ t z)) (* 1/2 y)) (*.f64 #s(literal -1/2 binary64) y))))
#s(approx (+ (/ x 8) (+ (/ (* y z) 1) t)) (fma.f64 (/.f64 x #s(literal 2 binary64)) #s(literal 1/8 binary64) t))
#s(approx (+ (- (* (/ 1 8) x) (/ (* y z) 2)) t) (-.f64 t (*.f64 #s(literal 1/2 binary64) (*.f64 y z))))
#s(approx (+ (/ x 8) (+ (/ (* y z) 1) t)) #s(approx (+ (* (/ x 2) 1/8) t) (*.f64 x (+.f64 #s(literal 1/16 binary64) (/.f64 t x)))))
Outputs
#s(approx (+ (- (* (/ 1 8) x) (/ (* y z) 2)) t) (-.f64 t (*.f64 #s(literal 1/2 binary64) (*.f64 y z))))
#s(approx (+ (/ x 8) (+ (/ (* y z) 1) t)) (fma.f64 x #s(literal 1/8 binary64) t))
#s(approx (+ (- (* (/ 1 8) x) (/ (* y z) 2)) t) (-.f64 t (*.f64 #s(literal 1/2 binary64) (*.f64 y z))))
Call 6
Inputs
#s(approx (+ (- (* (/ 1 8) x) (/ (* y z) 2)) t) #s(approx (+ t (* 1/8 x)) t))
#s(approx (+ (/ x 8) (+ (/ (* y z) 1) t)) #s(approx (+ (* (/ x 2) 1/8) t) (*.f64 #s(literal 1/16 binary64) x)))
#s(approx (+ (/ x 8) (+ (/ (* y z) 1) t)) (*.f64 #s(literal 1/8 binary64) x))
#s(approx (+ (+ t (/ x 8)) (* y z)) (fma.f64 z y t))
#s(approx (+ (/ x 8) (+ (/ (* y z) 1) t)) (fma.f64 x #s(literal 1/8 binary64) t))
#s(approx (+ (- (* (/ 1 8) x) (/ (* y z) 2)) t) (+.f64 t (*.f64 #s(literal 1/8 binary64) x)))
#s(approx (+ (/ x 8) (+ (/ (* y z) 1) t)) #s(approx (+ (* (/ x 2) 1/8) t) (+.f64 t (*.f64 #s(literal 1/16 binary64) x))))
#s(approx (+ (/ x 8) (+ (/ (* y z) 1) t)) (*.f64 #s(literal 1/8 binary64) (+.f64 x x)))
#s(approx (+ (/ x 8) (+ (/ (* y z) 1) t)) (+.f64 t (*.f64 y z)))
#s(approx (+ (- (* (/ 1 8) x) (/ (* y z) 2)) t) (*.f64 z #s(approx (- (+ (* 1/8 (/ x z)) (/ t z)) (* 1/2 y)) (*.f64 #s(literal -1/2 binary64) y))))
#s(approx (+ (/ x 8) (+ (/ (* y z) 1) t)) (fma.f64 (/.f64 x #s(literal 2 binary64)) #s(literal 1/8 binary64) t))
#s(approx (+ (- (* (/ 1 8) x) (/ (* y z) 2)) t) (-.f64 t (*.f64 #s(literal 1/2 binary64) (*.f64 y z))))
#s(approx (+ (/ x 8) (+ (/ (* y z) 1) t)) #s(approx (+ (* (/ x 2) 1/8) t) (*.f64 x (+.f64 #s(literal 1/16 binary64) (/.f64 t x)))))
#s(approx (+ (- (* (/ 1 8) x) (/ (* y z) 2)) t) #s(approx (- (* 1/8 x) (* 1/2 (* y z))) (fma.f64 #s(literal -1/2 binary64) (*.f64 y z) (*.f64 #s(literal 1/8 binary64) x))))
#s(approx (+ (- (* (/ 1 8) x) (/ (* y z) 2)) t) (-.f64 (*.f64 #s(literal 1/8 binary64) x) (*.f64 #s(literal 1/2 binary64) (*.f64 y z))))
#s(approx (+ (- (* (/ 1 8) x) (/ (* y z) 2)) t) (*.f64 z (-.f64 #s(approx (+ (* 1/8 (/ x z)) (/ t z)) (/.f64 t z)) (*.f64 #s(literal 1/2 binary64) y))))
#s(approx (+ (- (* (/ 1 8) x) (/ (* y z) 2)) t) (*.f64 z #s(approx (- (+ (* 1/8 (/ x z)) (/ t z)) (* 1/2 y)) (/.f64 (+.f64 t (*.f64 #s(literal 1/8 binary64) x)) z))))
Outputs
#s(approx (+ (- (* (/ 1 8) x) (/ (* y z) 2)) t) (-.f64 t (*.f64 #s(literal 1/2 binary64) (*.f64 y z))))
#s(approx (+ (/ x 8) (+ (/ (* y z) 1) t)) (fma.f64 x #s(literal 1/8 binary64) t))
#s(approx (+ (- (* (/ 1 8) x) (/ (* y z) 2)) t) #s(approx (- (* 1/8 x) (* 1/2 (* y z))) (fma.f64 #s(literal -1/2 binary64) (*.f64 y z) (*.f64 #s(literal 1/8 binary64) x))))
Call 7
Inputs
#s(approx (+ (- (* (/ 1 8) x) (/ (* y z) 2)) t) #s(approx (+ t (* 1/8 x)) t))
#s(approx (+ (/ x 8) (+ (/ (* y z) 1) t)) #s(approx (+ (* (/ x 2) 1/8) t) (*.f64 #s(literal 1/16 binary64) x)))
#s(approx (+ (/ x 8) (+ (/ (* y z) 1) t)) (*.f64 #s(literal 1/8 binary64) x))
#s(approx (+ (+ t (/ x 8)) (* y z)) (fma.f64 z y t))
#s(approx (+ (/ x 8) (+ (/ (* y z) 1) t)) (fma.f64 x #s(literal 1/8 binary64) t))
#s(approx (+ (- (* (/ 1 8) x) (/ (* y z) 2)) t) (+.f64 t (*.f64 #s(literal 1/8 binary64) x)))
#s(approx (+ (/ x 8) (+ (/ (* y z) 1) t)) #s(approx (+ (* (/ x 2) 1/8) t) (+.f64 t (*.f64 #s(literal 1/16 binary64) x))))
#s(approx (+ (/ x 8) (+ (/ (* y z) 1) t)) (*.f64 #s(literal 1/8 binary64) (+.f64 x x)))
#s(approx (+ (/ x 8) (+ (/ (* y z) 1) t)) (+.f64 t (*.f64 y z)))
#s(approx (+ (- (* (/ 1 8) x) (/ (* y z) 2)) t) (*.f64 z #s(approx (- (+ (* 1/8 (/ x z)) (/ t z)) (* 1/2 y)) (*.f64 #s(literal -1/2 binary64) y))))
#s(approx (+ (/ x 8) (+ (/ (* y z) 1) t)) (fma.f64 (/.f64 x #s(literal 2 binary64)) #s(literal 1/8 binary64) t))
#s(approx (+ (- (* (/ 1 8) x) (/ (* y z) 2)) t) (-.f64 t (*.f64 #s(literal 1/2 binary64) (*.f64 y z))))
#s(approx (+ (/ x 8) (+ (/ (* y z) 1) t)) #s(approx (+ (* (/ x 2) 1/8) t) (*.f64 x (+.f64 #s(literal 1/16 binary64) (/.f64 t x)))))
#s(approx (+ (- (* (/ 1 8) x) (/ (* y z) 2)) t) #s(approx (- (* 1/8 x) (* 1/2 (* y z))) (fma.f64 #s(literal -1/2 binary64) (*.f64 y z) (*.f64 #s(literal 1/8 binary64) x))))
#s(approx (+ (- (* (/ 1 8) x) (/ (* y z) 2)) t) (-.f64 (*.f64 #s(literal 1/8 binary64) x) (*.f64 #s(literal 1/2 binary64) (*.f64 y z))))
#s(approx (+ (- (* (/ 1 8) x) (/ (* y z) 2)) t) (*.f64 z (-.f64 #s(approx (+ (* 1/8 (/ x z)) (/ t z)) (/.f64 t z)) (*.f64 #s(literal 1/2 binary64) y))))
#s(approx (+ (- (* (/ 1 8) x) (/ (* y z) 2)) t) (*.f64 z #s(approx (- (+ (* 1/8 (/ x z)) (/ t z)) (* 1/2 y)) (/.f64 (+.f64 t (*.f64 #s(literal 1/8 binary64) x)) z))))
(+.f64 #s(approx (- (* (/ 1 8) x) (/ (* y z) 2)) (fma.f64 #s(literal -1/2 binary64) (*.f64 y z) (*.f64 #s(literal 1/8 binary64) x))) t)
#s(approx (+ (/ x 8) (+ (/ (* y z) 1) t)) (*.f64 z #s(approx (- (/ (+ (* x 1/8) t) z) (* 1/2 y)) (*.f64 y (-.f64 #s(approx (+ (* 1/8 (/ x (* y z))) (/ t (* y z))) (/.f64 t (*.f64 y z))) #s(literal 1/2 binary64))))))
#s(approx (+ (/ x 8) (+ (/ (* y z) 1) t)) (*.f64 z (-.f64 (/.f64 (fma.f64 x #s(literal 1/8 binary64) t) z) (*.f64 #s(literal 1/2 binary64) y))))
(+.f64 (-.f64 (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 8 binary64)) x) (/.f64 (*.f64 y z) #s(literal 2 binary64))) t)
#s(approx (+ (- (* (/ 1 8) x) (/ (* y z) 2)) t) (*.f64 z (-.f64 (fma.f64 #s(literal 1/8 binary64) (/.f64 x z) (/.f64 t z)) (*.f64 #s(literal 1/2 binary64) y))))
#s(approx (+ (- (* (/ 1 8) x) (/ (* y z) 2)) t) (*.f64 z #s(approx (- (+ (* 1/8 (/ x z)) (/ t z)) (* 1/2 y)) (*.f64 y (-.f64 (fma.f64 #s(literal 1/8 binary64) (/.f64 x (*.f64 y z)) (/.f64 t (*.f64 y z))) #s(literal 1/2 binary64))))))
#s(approx (+ (/ x 8) (+ (/ (* y z) 1) t)) (*.f64 z #s(approx (- (/ (+ (* x 1/8) t) z) (* 1/2 y)) (*.f64 y (-.f64 (fma.f64 #s(literal 1/8 binary64) (/.f64 x (*.f64 y z)) (/.f64 t (*.f64 y z))) #s(literal 1/2 binary64))))))
Outputs
(+.f64 #s(approx (- (* (/ 1 8) x) (/ (* y z) 2)) (fma.f64 #s(literal -1/2 binary64) (*.f64 y z) (*.f64 #s(literal 1/8 binary64) x))) t)
Calls

53 calls:

98.0ms
(-.f64 (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 8 binary64)) x) (/.f64 (*.f64 y z) #s(literal 2 binary64)))
12.0ms
(+.f64 (-.f64 (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 8 binary64)) x) (/.f64 (*.f64 y z) #s(literal 2 binary64))) t)
8.0ms
(*.f64 (/.f64 #s(literal 1 binary64) #s(literal 8 binary64)) x)
8.0ms
y
7.0ms
(-.f64 (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 8 binary64)) x) (/.f64 (*.f64 y z) #s(literal 2 binary64)))
Results
AccuracySegmentsBranch
37.8%1(*.f64 y z)
37.8%1(/.f64 (*.f64 y z) #s(literal 2 binary64))
37.8%1(+.f64 (-.f64 (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 8 binary64)) x) (/.f64 (*.f64 y z) #s(literal 2 binary64))) t)
37.8%1z
37.8%1y
37.8%1t
37.8%1(-.f64 (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 8 binary64)) x) (/.f64 (*.f64 y z) #s(literal 2 binary64)))
37.8%1(*.f64 (/.f64 #s(literal 1 binary64) #s(literal 8 binary64)) x)
37.8%1x
37.8%1(*.f64 y z)
37.8%1(/.f64 (*.f64 y z) #s(literal 2 binary64))
40.9%2z
57.5%3(*.f64 (/.f64 #s(literal 1 binary64) #s(literal 8 binary64)) x)
57.5%3x
53.7%3t
55.1%3(-.f64 (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 8 binary64)) x) (/.f64 (*.f64 y z) #s(literal 2 binary64)))
39.4%2(+.f64 (-.f64 (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 8 binary64)) x) (/.f64 (*.f64 y z) #s(literal 2 binary64))) t)
41.6%2y
67.8%1t
67.8%1(-.f64 (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 8 binary64)) x) (/.f64 (*.f64 y z) #s(literal 2 binary64)))
67.8%1(+.f64 (-.f64 (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 8 binary64)) x) (/.f64 (*.f64 y z) #s(literal 2 binary64))) t)
67.8%1y
67.8%1z
67.8%1(*.f64 y z)
67.8%1(/.f64 (*.f64 y z) #s(literal 2 binary64))
71.0%3t
78.0%2y
82.1%3z
78.4%3(-.f64 (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 8 binary64)) x) (/.f64 (*.f64 y z) #s(literal 2 binary64)))
67.8%1(*.f64 (/.f64 #s(literal 1 binary64) #s(literal 8 binary64)) x)
67.8%1x
85.8%3(*.f64 y z)
85.8%3(/.f64 (*.f64 y z) #s(literal 2 binary64))
90.7%3(*.f64 y z)
90.7%3(/.f64 (*.f64 y z) #s(literal 2 binary64))
91.9%3(*.f64 y z)
91.9%3(/.f64 (*.f64 y z) #s(literal 2 binary64))
89.3%3(*.f64 (/.f64 #s(literal 1 binary64) #s(literal 8 binary64)) x)
88.6%4(-.f64 (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 8 binary64)) x) (/.f64 (*.f64 y z) #s(literal 2 binary64)))
81.8%5(+.f64 (-.f64 (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 8 binary64)) x) (/.f64 (*.f64 y z) #s(literal 2 binary64))) t)
89.3%3x
86.7%3y
87.0%3z
86.4%3t
100.0%1(*.f64 y z)
100.0%1(/.f64 (*.f64 y z) #s(literal 2 binary64))
100.0%1(*.f64 (/.f64 #s(literal 1 binary64) #s(literal 8 binary64)) x)
100.0%1(-.f64 (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 8 binary64)) x) (/.f64 (*.f64 y z) #s(literal 2 binary64)))
100.0%1(+.f64 (-.f64 (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 8 binary64)) x) (/.f64 (*.f64 y z) #s(literal 2 binary64))) t)
100.0%1x
100.0%1y
100.0%1z
100.0%1t
Compiler

Compiled 850 to 487 computations (42.7% saved)

bsearch1.0ms (0%)

Memory
1.3MiB live, 1.3MiB allocated; 0ms collecting garbage
Algorithm
left-value
Steps
TimeLeftRight
0.0ms
2.4517037661624183e-38
3.8952397504581445e-31
0.0ms
-17309.957648857722
-1191.6545156135853
Compiler

Compiled 16 to 20 computations (-25% saved)

bsearch1.0ms (0%)

Memory
1.3MiB live, 1.3MiB allocated; 0ms collecting garbage
Algorithm
left-value
Steps
TimeLeftRight
0.0ms
2.2295759210834144e-44
2.763474190658228e-40
0.0ms
-17309.957648857722
-1191.6545156135853
Compiler

Compiled 16 to 20 computations (-25% saved)

bsearch1.0ms (0%)

Memory
1.2MiB live, 1.2MiB allocated; 0ms collecting garbage
Algorithm
left-value
Steps
TimeLeftRight
0.0ms
3.1557477821294346e+152
2.5950913931964613e+160
0.0ms
-1.947035272416881e+185
-9.182581907989173e+181
Compiler

Compiled 16 to 20 computations (-25% saved)

bsearch30.0ms (0.7%)

Memory
-14.1MiB live, 33.0MiB allocated; 14ms collecting garbage
Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
Steps
TimeLeftRight
7.0ms
5.688221327627627e+82
7.740900163735347e+83
9.0ms
-8.447312371362658e+154
-8.598484400524556e+152
Samples
9.0ms208×0valid
Compiler

Compiled 484 to 462 computations (4.5% saved)

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

derivations2.0ms (0%)

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

Compiled 375 to 75 computations (80% saved)

preprocess136.0ms (3.1%)

Memory
7.2MiB live, 192.9MiB allocated; 40ms collecting garbage
Remove

(sort y z)

Compiler

Compiled 1 138 to 488 computations (57.1% saved)

end0.0ms (0%)

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

Profiling

Loading profile data...