Numeric.Histogram:binBounds from Chart-1.5.3

Time bar (total: 2.4s)

start0.0ms (0%)

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

analyze76.0ms (3.1%)

Memory
7.9MiB live, 100.3MiB allocated; 17ms collecting garbage
Algorithm
search
Search
ProbabilityValidUnknownPreconditionInfiniteDomainCan'tIter
0%0%99.8%0.2%0%0%0%0
0%0%99.8%0.2%0%0%0%1
0%0%99.8%0.2%0%0%0%2
0%0%99.8%0.2%0%0%0%3
0%0%99.8%0.2%0%0%0%4
50%49.9%49.9%0.2%0%0%0%5
50%49.9%49.9%0.2%0%0%0%6
50%49.9%49.9%0.2%0%0%0%7
50%49.9%49.9%0.2%0%0%0%8
75%74.9%25%0.2%0%0%0%9
75%74.9%25%0.2%0%0%0%10
75%74.9%25%0.2%0%0%0%11
75%74.9%25%0.2%0%0%0%12
Compiler

Compiled 11 to 10 computations (9.1% saved)

sample882.0ms (36.2%)

Memory
7.6MiB live, 685.4MiB allocated; 422ms collecting garbage
Samples
444.0ms8 256×0valid
Precisions
Click to see histograms. Total time spent on operations: 173.0ms
ival-mult!: 63.0ms (36.5% of total)
ival-div!: 55.0ms (31.8% of total)
ival-sub!: 30.0ms (17.4% of total)
ival-add!: 22.0ms (12.7% of total)
adjust: 2.0ms (1.2% of total)
Bogosity

preprocess22.0ms (0.9%)

Memory
-23.8MiB live, 28.5MiB allocated; 11ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
052147
1214147
Stop Event
node-limit
Alt Table
Click to see full alt table
StatusAccuracyProgram
94.0%
(+.f64 x (/.f64 (*.f64 (-.f64 y x) z) t))
Compiler

Compiled 18 to 16 computations (11.1% saved)

series90.0ms (3.7%)

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

12 calls:

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

rewrite160.0ms (6.6%)

Memory
36.0MiB live, 131.0MiB allocated; 21ms collecting garbage
Counts
8 → 19
Calls
Call 1
Inputs
(+.f64 x (/.f64 (*.f64 (-.f64 y x) z) t))
x
(/.f64 (*.f64 (-.f64 y x) z) t)
(*.f64 (-.f64 y x) z)
(-.f64 y x)
y
z
t
Outputs
(+.f64 x (*.f64 (-.f64 y x) (/.f64 z t)))
(+.f64 (*.f64 (-.f64 y x) (/.f64 z t)) x)
(-.f64 x (neg.f64 (*.f64 (-.f64 y x) (/.f64 z t))))
(/.f64 (fma.f64 x t (*.f64 (-.f64 y x) z)) t)
(fma.f64 (-.f64 y x) (/.f64 z t) x)
(fma.f64 (*.f64 (-.f64 y x) z) (/.f64 #s(literal 1 binary64) t) x)
x
(*.f64 (-.f64 y x) (/.f64 z t))
(*.f64 (*.f64 (-.f64 y x) z) (/.f64 #s(literal 1 binary64) t))
(/.f64 (*.f64 (-.f64 y x) z) t)
(/.f64 (neg.f64 (*.f64 (-.f64 y x) z)) (neg.f64 t))
(*.f64 (-.f64 y x) z)
(*.f64 z (-.f64 y x))
(+.f64 y (neg.f64 x))
(-.f64 y x)
(neg.f64 (-.f64 x y))
y
z
t

eval9.0ms (0.4%)

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

Compiled 944 to 230 computations (75.6% saved)

prune21.0ms (0.9%)

Memory
-40.5MiB live, 5.5MiB allocated; 17ms collecting garbage
Pruning

7 alts after pruning (6 fresh and 1 done)

PrunedKeptTotal
New48654
Fresh000
Picked011
Done000
Total48755
Accuracy
100.0%
Counts
55 → 7
Alt Table
Click to see full alt table
StatusAccuracyProgram
96.6%
(fma.f64 (-.f64 y x) (/.f64 z t) x)
94.0%
(fma.f64 (*.f64 (-.f64 y x) z) (/.f64 #s(literal 1 binary64) t) x)
94.0%
(+.f64 x (/.f64 (*.f64 (-.f64 y x) z) t))
74.8%
(+.f64 x (/.f64 (*.f64 #s(approx (- y x) y) z) t))
79.3%
(+.f64 x #s(approx (/ (* (- y x) z) t) (*.f64 x (fma.f64 #s(literal -1 binary64) (/.f64 z t) (/.f64 (*.f64 y z) (*.f64 t x))))))
43.5%
#s(approx (+ x (/ (* (- y x) z) t)) (/.f64 (*.f64 y z) t))
62.3%
#s(approx (+ x (/ (* (- y x) z) t)) (*.f64 z (-.f64 (/.f64 y t) (/.f64 x t))))
Compiler

Compiled 183 to 138 computations (24.6% saved)

series155.0ms (6.4%)

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

12 calls:

TimeVariablePoint
17.0ms
z
-inf
16.0ms
y
-inf
6.0ms
t
inf
5.0ms
z
0
4.0ms
y
inf

rewrite162.0ms (6.6%)

Memory
-12.3MiB live, 87.0MiB allocated; 17ms collecting garbage
Counts
23 → 64
Calls
Call 1
Inputs
(fma.f64 (-.f64 y x) (/.f64 z t) x)
(-.f64 y x)
y
x
(/.f64 z t)
z
t
#s(approx (+ x (/ (* (- y x) z) t)) (/.f64 (*.f64 y z) t))
(/.f64 (*.f64 y z) t)
(*.f64 y z)
(+.f64 x (/.f64 (*.f64 #s(approx (- y x) y) z) t))
(/.f64 (*.f64 #s(approx (- y x) y) z) t)
(*.f64 #s(approx (- y x) y) z)
#s(approx (- y x) y)
#s(approx (+ x (/ (* (- y x) z) t)) (*.f64 z (-.f64 (/.f64 y t) (/.f64 x t))))
(*.f64 z (-.f64 (/.f64 y t) (/.f64 x t)))
(-.f64 (/.f64 y t) (/.f64 x t))
(/.f64 y t)
(/.f64 x t)
(fma.f64 (*.f64 (-.f64 y x) z) (/.f64 #s(literal 1 binary64) t) x)
(*.f64 (-.f64 y x) z)
(/.f64 #s(literal 1 binary64) t)
#s(literal 1 binary64)
Outputs
(+.f64 (*.f64 (-.f64 y x) (/.f64 z t)) x)
(+.f64 x (*.f64 (-.f64 y x) (/.f64 z t)))
(-.f64 (*.f64 (-.f64 y x) (/.f64 z t)) (neg.f64 x))
(-.f64 x (neg.f64 (*.f64 (-.f64 y x) (/.f64 z t))))
(/.f64 (fma.f64 x t (*.f64 (-.f64 y x) z)) t)
(fma.f64 (-.f64 y x) (/.f64 z t) x)
(fma.f64 (/.f64 z t) (-.f64 y x) x)
(fma.f64 (*.f64 (-.f64 y x) z) (/.f64 #s(literal 1 binary64) t) x)
(fma.f64 (/.f64 #s(literal 1 binary64) t) (*.f64 (-.f64 y x) z) x)
(+.f64 y (neg.f64 x))
(-.f64 y x)
(neg.f64 (-.f64 x y))
y
x
(*.f64 z (/.f64 #s(literal 1 binary64) t))
(/.f64 z t)
(/.f64 (neg.f64 z) (neg.f64 t))
z
t
#s(approx (+ (* (- y x) (/ z t)) x) (/.f64 (*.f64 y z) t))
(*.f64 (*.f64 y z) (/.f64 #s(literal 1 binary64) t))
(*.f64 y (/.f64 z t))
(/.f64 (*.f64 y z) t)
(/.f64 (neg.f64 (*.f64 y z)) (neg.f64 t))
(*.f64 y z)
(*.f64 z y)
(+.f64 x (/.f64 (*.f64 #s(approx (- y x) y) z) t))
(/.f64 (*.f64 #s(approx (- y x) y) z) t)
(*.f64 #s(approx (- y x) y) z)
#s(approx (- y x) y)
#s(approx (+ (* (- y x) (/ z t)) x) (*.f64 z (/.f64 (-.f64 y x) t)))
(*.f64 z (/.f64 (-.f64 y x) t))
(*.f64 (/.f64 (-.f64 y x) t) z)
(+.f64 (/.f64 y t) (neg.f64 (/.f64 x t)))
(-.f64 (/.f64 y t) (/.f64 x t))
(/.f64 (-.f64 y x) t)
(/.f64 (-.f64 (*.f64 y t) (*.f64 t x)) (*.f64 t t))
(/.f64 (-.f64 (*.f64 (/.f64 y t) t) x) t)
(fma.f64 y (/.f64 #s(literal 1 binary64) t) (neg.f64 (/.f64 x t)))
(neg.f64 (-.f64 (/.f64 x t) (/.f64 y t)))
(*.f64 y (/.f64 #s(literal 1 binary64) t))
(/.f64 y t)
(/.f64 (neg.f64 y) (neg.f64 t))
(*.f64 x (/.f64 #s(literal 1 binary64) t))
(/.f64 x t)
(/.f64 (neg.f64 x) (neg.f64 t))
(+.f64 (*.f64 (-.f64 y x) (/.f64 z t)) x)
(+.f64 x (*.f64 (-.f64 y x) (/.f64 z t)))
(-.f64 (*.f64 (-.f64 y x) (/.f64 z t)) (neg.f64 x))
(-.f64 x (neg.f64 (*.f64 (-.f64 y x) (/.f64 z t))))
(/.f64 (fma.f64 x t (*.f64 (-.f64 y x) z)) t)
(fma.f64 (-.f64 y x) (/.f64 z t) x)
(fma.f64 (/.f64 z t) (-.f64 y x) x)
(fma.f64 (*.f64 (-.f64 y x) z) (/.f64 #s(literal 1 binary64) t) x)
(fma.f64 (/.f64 #s(literal 1 binary64) t) (*.f64 (-.f64 y x) z) x)
(*.f64 (-.f64 y x) z)
(*.f64 z (-.f64 y x))
(*.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) t))
(/.f64 #s(literal 1 binary64) t)
(/.f64 #s(literal -1 binary64) (neg.f64 t))
(pow.f64 t #s(literal -1 binary64))
#s(literal 1 binary64)
(cosh.f64 #s(literal 0 binary64))
(exp.f64 #s(literal 0 binary64))

eval21.0ms (0.9%)

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

Compiled 1 976 to 391 computations (80.2% saved)

prune16.0ms (0.7%)

Memory
-34.4MiB live, 12.1MiB allocated; 5ms collecting garbage
Pruning

11 alts after pruning (6 fresh and 5 done)

PrunedKeptTotal
New1035108
Fresh011
Picked145
Done011
Total10411115
Accuracy
100.0%
Counts
115 → 11
Alt Table
Click to see full alt table
StatusAccuracyProgram
96.6%
(fma.f64 (-.f64 y x) (/.f64 z t) x)
96.6%
(fma.f64 (-.f64 y x) (*.f64 z (/.f64 #s(literal 1 binary64) t)) x)
94.0%
(fma.f64 (*.f64 (-.f64 y x) z) (/.f64 #s(literal 1 binary64) t) x)
94.0%
(+.f64 x (/.f64 (*.f64 (-.f64 y x) z) t))
74.8%
(+.f64 x (/.f64 (*.f64 #s(approx (- y x) y) z) t))
79.3%
(+.f64 x #s(approx (/ (* (- y x) z) t) (*.f64 x (fma.f64 #s(literal -1 binary64) (/.f64 z t) (/.f64 (*.f64 y z) (*.f64 t x))))))
63.2%
#s(approx (+ (* (- y x) (/ z t)) x) (*.f64 z (/.f64 (-.f64 y x) t)))
43.5%
#s(approx (+ x (/ (* (- y x) z) t)) (/.f64 (*.f64 y z) t))
62.3%
#s(approx (+ x (/ (* (- y x) z) t)) (*.f64 z (-.f64 (/.f64 y t) (*.f64 x (/.f64 #s(literal 1 binary64) t)))))
42.1%
#s(approx (+ x (/ (* (- y x) z) t)) (*.f64 z #s(approx (- (/ y t) (/ x t)) (/.f64 y t))))
46.0%
#s(approx (+ x (/ (* (- y x) z) t)) (*.f64 y (/.f64 z t)))
Compiler

Compiled 273 to 200 computations (26.7% saved)

series131.0ms (5.4%)

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

12 calls:

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

rewrite138.0ms (5.7%)

Memory
19.3MiB live, 65.5MiB allocated; 5ms collecting garbage
Counts
23 → 87
Calls
Call 1
Inputs
(fma.f64 (-.f64 y x) (*.f64 z (/.f64 #s(literal 1 binary64) t)) x)
(-.f64 y x)
y
x
(*.f64 z (/.f64 #s(literal 1 binary64) t))
z
(/.f64 #s(literal 1 binary64) t)
#s(literal 1 binary64)
t
#s(approx (+ x (/ (* (- y x) z) t)) (*.f64 y (/.f64 z t)))
(*.f64 y (/.f64 z t))
(/.f64 z t)
#s(approx (+ x (/ (* (- y x) z) t)) (*.f64 z #s(approx (- (/ y t) (/ x t)) (/.f64 y t))))
(*.f64 z #s(approx (- (/ y t) (/ x t)) (/.f64 y t)))
#s(approx (- (/ y t) (/ x t)) (/.f64 y t))
(/.f64 y t)
#s(approx (+ (* (- y x) (/ z t)) x) (*.f64 z (/.f64 (-.f64 y x) t)))
(*.f64 z (/.f64 (-.f64 y x) t))
(/.f64 (-.f64 y x) t)
#s(approx (+ x (/ (* (- y x) z) t)) (*.f64 z (-.f64 (/.f64 y t) (*.f64 x (/.f64 #s(literal 1 binary64) t)))))
(*.f64 z (-.f64 (/.f64 y t) (*.f64 x (/.f64 #s(literal 1 binary64) t))))
(-.f64 (/.f64 y t) (*.f64 x (/.f64 #s(literal 1 binary64) t)))
(*.f64 x (/.f64 #s(literal 1 binary64) t))
Outputs
(+.f64 (*.f64 (-.f64 y x) (/.f64 z t)) x)
(+.f64 x (*.f64 (-.f64 y x) (/.f64 z t)))
(-.f64 (*.f64 (-.f64 y x) (/.f64 z t)) (neg.f64 x))
(-.f64 x (neg.f64 (*.f64 (-.f64 y x) (/.f64 z t))))
(/.f64 (fma.f64 x t (*.f64 (-.f64 y x) z)) t)
(fma.f64 (-.f64 y x) (/.f64 z t) x)
(fma.f64 (/.f64 z t) (-.f64 y x) x)
(fma.f64 (/.f64 (-.f64 y x) t) z x)
(fma.f64 (*.f64 (-.f64 y x) z) (/.f64 #s(literal 1 binary64) t) x)
(fma.f64 z (/.f64 (-.f64 y x) t) x)
(+.f64 y (neg.f64 x))
(-.f64 y x)
(neg.f64 (-.f64 x y))
y
x
(*.f64 z (/.f64 #s(literal 1 binary64) t))
(*.f64 (/.f64 #s(literal 1 binary64) t) z)
(/.f64 z t)
(/.f64 (*.f64 z #s(literal 1 binary64)) t)
(/.f64 (neg.f64 z) (neg.f64 t))
z
(*.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) t))
(/.f64 #s(literal 1 binary64) t)
(/.f64 #s(literal -1 binary64) (neg.f64 t))
(pow.f64 t #s(literal -1 binary64))
#s(literal 1 binary64)
(cosh.f64 #s(literal 0 binary64))
(exp.f64 #s(literal 0 binary64))
t
#s(approx (+ (* z (/ (- y x) t)) x) (/.f64 (*.f64 y z) t))
(*.f64 y (/.f64 z t))
(*.f64 (/.f64 z t) y)
(/.f64 (*.f64 y z) t)
(*.f64 z (/.f64 #s(literal 1 binary64) t))
(*.f64 (/.f64 #s(literal 1 binary64) t) z)
(/.f64 z t)
(/.f64 (*.f64 z #s(literal 1 binary64)) t)
(/.f64 (neg.f64 z) (neg.f64 t))
#s(approx (+ (* z (/ (- y x) t)) x) (*.f64 z #s(approx (/ (- y x) t) (/.f64 y t))))
(*.f64 z #s(approx (/ (- y x) t) (/.f64 y t)))
#s(approx (/ (- y x) t) (/.f64 y t))
(*.f64 y (/.f64 #s(literal 1 binary64) t))
(/.f64 y t)
(/.f64 (neg.f64 y) (neg.f64 t))
#s(approx (+ (* z (/ (- y x) t)) x) (*.f64 (-.f64 y x) (/.f64 z t)))
(*.f64 (-.f64 y x) (/.f64 z t))
(*.f64 (/.f64 z t) (-.f64 y x))
(*.f64 z (/.f64 (-.f64 y x) t))
(*.f64 (*.f64 (-.f64 y x) z) (/.f64 #s(literal 1 binary64) t))
(*.f64 (/.f64 (-.f64 y x) t) z)
(/.f64 (*.f64 (-.f64 y x) z) t)
(/.f64 (neg.f64 (*.f64 (-.f64 y x) z)) (neg.f64 t))
(*.f64 (-.f64 y x) (/.f64 #s(literal 1 binary64) t))
(+.f64 (/.f64 y t) (neg.f64 (/.f64 x t)))
(+.f64 (/.f64 y t) (*.f64 (neg.f64 x) (/.f64 #s(literal 1 binary64) t)))
(-.f64 (/.f64 y t) (/.f64 x t))
(/.f64 (-.f64 y x) t)
(/.f64 (-.f64 (*.f64 y t) (*.f64 t x)) (*.f64 t t))
(/.f64 (neg.f64 (-.f64 y x)) (neg.f64 t))
(/.f64 (-.f64 (*.f64 (/.f64 y t) t) x) t)
(fma.f64 y (/.f64 #s(literal 1 binary64) t) (neg.f64 (/.f64 x t)))
(fma.f64 y (/.f64 #s(literal 1 binary64) t) (*.f64 (neg.f64 x) (/.f64 #s(literal 1 binary64) t)))
(neg.f64 (-.f64 (/.f64 x t) (/.f64 y t)))
#s(approx (+ (* z (/ (- y x) t)) x) (*.f64 (-.f64 y x) (/.f64 z t)))
(*.f64 (-.f64 y x) (/.f64 z t))
(*.f64 (/.f64 z t) (-.f64 y x))
(*.f64 z (/.f64 (-.f64 y x) t))
(*.f64 (*.f64 (-.f64 y x) z) (/.f64 #s(literal 1 binary64) t))
(*.f64 (/.f64 (-.f64 y x) t) z)
(/.f64 (*.f64 (-.f64 y x) z) t)
(/.f64 (neg.f64 (*.f64 (-.f64 y x) z)) (neg.f64 t))
(*.f64 (-.f64 y x) (/.f64 #s(literal 1 binary64) t))
(+.f64 (/.f64 y t) (neg.f64 (/.f64 x t)))
(+.f64 (/.f64 y t) (*.f64 (neg.f64 x) (/.f64 #s(literal 1 binary64) t)))
(-.f64 (/.f64 y t) (/.f64 x t))
(/.f64 (-.f64 y x) t)
(/.f64 (-.f64 (*.f64 y t) (*.f64 t x)) (*.f64 t t))
(/.f64 (neg.f64 (-.f64 y x)) (neg.f64 t))
(/.f64 (-.f64 (*.f64 (/.f64 y t) t) x) t)
(fma.f64 y (/.f64 #s(literal 1 binary64) t) (neg.f64 (/.f64 x t)))
(fma.f64 y (/.f64 #s(literal 1 binary64) t) (*.f64 (neg.f64 x) (/.f64 #s(literal 1 binary64) t)))
(neg.f64 (-.f64 (/.f64 x t) (/.f64 y t)))
(*.f64 x (/.f64 #s(literal 1 binary64) t))
(*.f64 (/.f64 #s(literal 1 binary64) t) x)
(/.f64 x t)
(/.f64 (*.f64 x #s(literal 1 binary64)) t)
(/.f64 (neg.f64 x) (neg.f64 t))

eval29.0ms (1.2%)

Memory
-30.1MiB live, 15.7MiB allocated; 8ms collecting garbage
Compiler

Compiled 2 507 to 441 computations (82.4% saved)

prune13.0ms (0.5%)

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

12 alts after pruning (6 fresh and 6 done)

PrunedKeptTotal
New1156121
Fresh101
Picked235
Done235
Total12012132
Accuracy
100.0%
Counts
132 → 12
Alt Table
Click to see full alt table
StatusAccuracyProgram
92.2%
(fma.f64 (/.f64 (-.f64 y x) t) z x)
96.6%
(fma.f64 (-.f64 y x) (/.f64 z t) x)
74.8%
(+.f64 x (/.f64 (*.f64 #s(approx (- y x) y) z) t))
64.2%
#s(approx (+ (* (- y x) (/ z t)) x) (/.f64 (*.f64 (-.f64 y x) z) t))
64.9%
#s(approx (+ (* (- y x) (/ z t)) x) (*.f64 (/.f64 z t) (-.f64 y x)))
63.2%
#s(approx (+ (* (- y x) (/ z t)) x) (*.f64 z (/.f64 (-.f64 y x) t)))
63.1%
#s(approx (+ (* (- y x) (/ z t)) x) (*.f64 z (*.f64 (-.f64 y x) (/.f64 #s(literal 1 binary64) t))))
43.5%
#s(approx (+ x (/ (* (- y x) z) t)) (/.f64 (*.f64 y z) t))
42.1%
#s(approx (+ x (/ (* (- y x) z) t)) (*.f64 z #s(approx (- (/ y t) (/ x t)) (/.f64 y t))))
42.0%
#s(approx (+ x (/ (* (- y x) z) t)) (*.f64 z #s(approx (- (/ y t) (/ x t)) (*.f64 y (/.f64 #s(literal 1 binary64) t)))))
46.0%
#s(approx (+ x (/ (* (- y x) z) t)) (*.f64 y (/.f64 z t)))
48.4%
#s(approx (+ x (/ (* (- y x) z) t)) #s(approx (* z (- (/ y t) (/ x t))) (*.f64 x (fma.f64 #s(literal -1 binary64) (/.f64 z t) (/.f64 (*.f64 y z) (*.f64 t x))))))
Compiler

Compiled 329 to 231 computations (29.8% saved)

series134.0ms (5.5%)

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

12 calls:

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

rewrite172.0ms (7.1%)

Memory
-7.9MiB live, 94.7MiB allocated; 55ms collecting garbage
Counts
22 → 85
Calls
Call 1
Inputs
(fma.f64 (/.f64 (-.f64 y x) t) z x)
(/.f64 (-.f64 y x) t)
(-.f64 y x)
y
x
t
z
#s(approx (+ (* (- y x) (/ z t)) x) (*.f64 (/.f64 z t) (-.f64 y x)))
(*.f64 (/.f64 z t) (-.f64 y x))
(/.f64 z t)
#s(approx (+ (* (- y x) (/ z t)) x) (/.f64 (*.f64 (-.f64 y x) z) t))
(/.f64 (*.f64 (-.f64 y x) z) t)
(*.f64 (-.f64 y x) z)
#s(approx (+ x (/ (* (- y x) z) t)) (*.f64 z #s(approx (- (/ y t) (/ x t)) (*.f64 y (/.f64 #s(literal 1 binary64) t)))))
(*.f64 z #s(approx (- (/ y t) (/ x t)) (*.f64 y (/.f64 #s(literal 1 binary64) t))))
#s(approx (- (/ y t) (/ x t)) (*.f64 y (/.f64 #s(literal 1 binary64) t)))
(*.f64 y (/.f64 #s(literal 1 binary64) t))
(/.f64 #s(literal 1 binary64) t)
#s(literal 1 binary64)
#s(approx (+ (* (- y x) (/ z t)) x) (*.f64 z (*.f64 (-.f64 y x) (/.f64 #s(literal 1 binary64) t))))
(*.f64 z (*.f64 (-.f64 y x) (/.f64 #s(literal 1 binary64) t)))
(*.f64 (-.f64 y x) (/.f64 #s(literal 1 binary64) t))
Outputs
(+.f64 (*.f64 (/.f64 z t) (-.f64 y x)) x)
(+.f64 x (*.f64 (/.f64 z t) (-.f64 y x)))
(-.f64 (*.f64 (/.f64 z t) (-.f64 y x)) (neg.f64 x))
(-.f64 x (neg.f64 (*.f64 (/.f64 z t) (-.f64 y x))))
(/.f64 (fma.f64 x t (*.f64 (-.f64 y x) z)) t)
(fma.f64 (-.f64 y x) (/.f64 z t) x)
(fma.f64 (/.f64 z t) (-.f64 y x) x)
(fma.f64 (/.f64 (-.f64 y x) t) z x)
(fma.f64 (*.f64 (-.f64 y x) z) (/.f64 #s(literal 1 binary64) t) x)
(fma.f64 z (/.f64 (-.f64 y x) t) x)
(*.f64 (-.f64 y x) (/.f64 #s(literal 1 binary64) t))
(*.f64 (/.f64 #s(literal 1 binary64) t) (-.f64 y x))
(+.f64 (/.f64 y t) (neg.f64 (/.f64 x t)))
(-.f64 (/.f64 y t) (/.f64 x t))
(/.f64 (-.f64 y x) t)
(/.f64 (*.f64 (-.f64 y x) #s(literal 1 binary64)) t)
(/.f64 (-.f64 (*.f64 y t) (*.f64 t x)) (*.f64 t t))
(/.f64 (neg.f64 (-.f64 y x)) (neg.f64 t))
(/.f64 (-.f64 (*.f64 (/.f64 y t) t) x) t)
(fma.f64 y (/.f64 #s(literal 1 binary64) t) (neg.f64 (/.f64 x t)))
(fma.f64 (/.f64 #s(literal 1 binary64) t) y (neg.f64 (/.f64 x t)))
(neg.f64 (-.f64 (/.f64 x t) (/.f64 y t)))
(+.f64 y (neg.f64 x))
(-.f64 y x)
(neg.f64 (-.f64 x y))
y
x
t
z
#s(approx (+ x (* z (/ (- y x) t))) (*.f64 (/.f64 z t) (-.f64 y x)))
(*.f64 (/.f64 z t) (-.f64 y x))
(*.f64 (-.f64 y x) (/.f64 z t))
(*.f64 z (/.f64 (-.f64 y x) t))
(*.f64 (*.f64 (-.f64 y x) z) (/.f64 #s(literal 1 binary64) t))
(*.f64 (/.f64 (-.f64 y x) t) z)
(/.f64 (*.f64 (-.f64 y x) z) t)
(/.f64 (neg.f64 (*.f64 (-.f64 y x) z)) (neg.f64 t))
(*.f64 z (/.f64 #s(literal 1 binary64) t))
(/.f64 z t)
(/.f64 (neg.f64 z) (neg.f64 t))
#s(approx (+ x (* z (/ (- y x) t))) (*.f64 (/.f64 z t) (-.f64 y x)))
(*.f64 (/.f64 z t) (-.f64 y x))
(*.f64 (-.f64 y x) (/.f64 z t))
(*.f64 z (/.f64 (-.f64 y x) t))
(*.f64 (*.f64 (-.f64 y x) z) (/.f64 #s(literal 1 binary64) t))
(*.f64 (/.f64 (-.f64 y x) t) z)
(/.f64 (*.f64 (-.f64 y x) z) t)
(/.f64 (neg.f64 (*.f64 (-.f64 y x) z)) (neg.f64 t))
(*.f64 (-.f64 y x) z)
(*.f64 z (-.f64 y x))
#s(approx (+ x (* z (/ (- y x) t))) (*.f64 z #s(approx (/ (- y x) t) (/.f64 y t))))
(*.f64 z #s(approx (/ (- y x) t) (/.f64 y t)))
#s(approx (/ (- y x) t) (/.f64 y t))
(*.f64 y (/.f64 #s(literal 1 binary64) t))
(*.f64 (/.f64 #s(literal 1 binary64) t) y)
(/.f64 y t)
(/.f64 (*.f64 y #s(literal 1 binary64)) t)
(/.f64 (neg.f64 y) (neg.f64 t))
(*.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) t))
(/.f64 #s(literal 1 binary64) t)
(/.f64 #s(literal -1 binary64) (neg.f64 t))
(pow.f64 t #s(literal -1 binary64))
#s(literal 1 binary64)
(cosh.f64 #s(literal 0 binary64))
(exp.f64 #s(literal 0 binary64))
#s(approx (+ x (* z (/ (- y x) t))) (*.f64 (/.f64 z t) (-.f64 y x)))
(*.f64 (/.f64 z t) (-.f64 y x))
(*.f64 (-.f64 y x) (/.f64 z t))
(*.f64 z (/.f64 (-.f64 y x) t))
(*.f64 (*.f64 (-.f64 y x) z) (/.f64 #s(literal 1 binary64) t))
(*.f64 (/.f64 (-.f64 y x) t) z)
(/.f64 (*.f64 (-.f64 y x) z) t)
(/.f64 (neg.f64 (*.f64 (-.f64 y x) z)) (neg.f64 t))
(*.f64 (-.f64 y x) (/.f64 #s(literal 1 binary64) t))
(*.f64 (/.f64 #s(literal 1 binary64) t) (-.f64 y x))
(+.f64 (/.f64 y t) (neg.f64 (/.f64 x t)))
(-.f64 (/.f64 y t) (/.f64 x t))
(/.f64 (-.f64 y x) t)
(/.f64 (*.f64 (-.f64 y x) #s(literal 1 binary64)) t)
(/.f64 (-.f64 (*.f64 y t) (*.f64 t x)) (*.f64 t t))
(/.f64 (neg.f64 (-.f64 y x)) (neg.f64 t))
(/.f64 (-.f64 (*.f64 (/.f64 y t) t) x) t)
(fma.f64 y (/.f64 #s(literal 1 binary64) t) (neg.f64 (/.f64 x t)))
(fma.f64 (/.f64 #s(literal 1 binary64) t) y (neg.f64 (/.f64 x t)))
(neg.f64 (-.f64 (/.f64 x t) (/.f64 y t)))

eval14.0ms (0.6%)

Memory
-11.2MiB live, 36.1MiB allocated; 1ms collecting garbage
Compiler

Compiled 2 903 to 506 computations (82.6% saved)

prune8.0ms (0.3%)

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

12 alts after pruning (2 fresh and 10 done)

PrunedKeptTotal
New1392141
Fresh101
Picked145
Done066
Total14112153
Accuracy
100.0%
Counts
153 → 12
Alt Table
Click to see full alt table
StatusAccuracyProgram
72.9%
(fma.f64 (/.f64 #s(approx (- y x) y) t) z x)
96.6%
(fma.f64 (-.f64 y x) (/.f64 z t) x)
74.8%
(+.f64 x (/.f64 (*.f64 #s(approx (- y x) y) z) t))
64.2%
#s(approx (+ (* (- y x) (/ z t)) x) (/.f64 (*.f64 (-.f64 y x) z) t))
64.9%
#s(approx (+ (* (- y x) (/ z t)) x) (*.f64 (/.f64 z t) (-.f64 y x)))
63.2%
#s(approx (+ (* (- y x) (/ z t)) x) (*.f64 z (/.f64 (-.f64 y x) t)))
63.1%
#s(approx (+ (* (- y x) (/ z t)) x) (*.f64 z (*.f64 (-.f64 y x) (/.f64 #s(literal 1 binary64) t))))
48.4%
#s(approx (+ (* (- y x) (/ z t)) x) #s(approx (* (/ z t) (- y x)) (*.f64 x (fma.f64 #s(literal -1 binary64) (/.f64 z t) (/.f64 (*.f64 y z) (*.f64 t x))))))
43.5%
#s(approx (+ x (/ (* (- y x) z) t)) (/.f64 (*.f64 y z) t))
42.1%
#s(approx (+ x (/ (* (- y x) z) t)) (*.f64 z #s(approx (- (/ y t) (/ x t)) (/.f64 y t))))
42.0%
#s(approx (+ x (/ (* (- y x) z) t)) (*.f64 z #s(approx (- (/ y t) (/ x t)) (*.f64 y (/.f64 #s(literal 1 binary64) t)))))
46.0%
#s(approx (+ x (/ (* (- y x) z) t)) (*.f64 y (/.f64 z t)))
Compiler

Compiled 209 to 146 computations (30.1% saved)

regimes89.0ms (3.6%)

Memory
-1.3MiB live, 188.5MiB allocated; 16ms collecting garbage
Accuracy

Total -5.3b remaining (-7.4%)

Threshold costs -5.3b (-7.4%)

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

25 calls:

7.0ms
t
6.0ms
y
5.0ms
z
5.0ms
y
5.0ms
x
Results
AccuracySegmentsBranch
46.0%1y
46.0%1x
46.0%1z
46.0%1t
46.0%1(+.f64 x (/.f64 (*.f64 (-.f64 y x) z) t))
72.9%1x
72.9%1y
72.9%1(+.f64 x (/.f64 (*.f64 (-.f64 y x) z) t))
72.9%1t
72.9%1z
83.9%3(+.f64 x (/.f64 (*.f64 (-.f64 y x) z) t))
85.5%3z
87.3%3(+.f64 x (/.f64 (*.f64 (-.f64 y x) z) t))
76.6%2x
79.5%3y
89.5%3z
84.3%3t
96.6%1t
96.6%1(+.f64 x (/.f64 (*.f64 (-.f64 y x) z) t))
98.3%2(+.f64 x (/.f64 (*.f64 (-.f64 y x) z) t))
98.3%2(+.f64 x (/.f64 (*.f64 (-.f64 y x) z) t))
96.6%1x
96.6%1y
96.6%1z
96.6%1t
Compiler

Compiled 425 to 203 computations (52.2% saved)

bsearch0.0ms (0%)

Memory
1.0MiB live, 0.9MiB allocated; 0ms collecting garbage
Algorithm
left-value
Steps
TimeLeftRight
0.0ms
6.174534298086923e+295
4.0024194011153555e+296
Compiler

Compiled 12 to 15 computations (-25% saved)

bsearch0.0ms (0%)

Memory
0.9MiB live, 0.9MiB allocated; 0ms collecting garbage
Algorithm
left-value
Steps
TimeLeftRight
0.0ms
6.174534298086923e+295
4.0024194011153555e+296
Compiler

Compiled 12 to 15 computations (-25% saved)

bsearch26.0ms (1.1%)

Memory
3.1MiB live, 49.3MiB allocated; 4ms collecting garbage
Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
Steps
TimeLeftRight
11.0ms
2.5171889407895635e+53
9.179934195098154e+58
14.0ms
-1.1606009104656784e+29
-2.1045928809154684e+25
Samples
15.0ms272×0valid
Compiler

Compiled 488 to 406 computations (16.8% saved)

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

bsearch19.0ms (0.8%)

Memory
-13.6MiB live, 36.8MiB allocated; 5ms collecting garbage
Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
Steps
TimeLeftRight
7.0ms
2.5171889407895635e+53
9.179934195098154e+58
10.0ms
-1.1606009104656784e+29
-2.1045928809154684e+25
Samples
11.0ms176×0valid
Compiler

Compiled 471 to 389 computations (17.4% saved)

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

derivations2.0ms (0.1%)

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

Compiled 197 to 47 computations (76.1% saved)

preprocess46.0ms (1.9%)

Memory
-6.5MiB live, 134.1MiB allocated; 7ms collecting garbage
Compiler

Compiled 206 to 55 computations (73.3% saved)

end0.0ms (0%)

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

Profiling

Loading profile data...