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

Time bar (total: 1.8s)

start0.0ms (0%)

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

analyze1.0ms (0%)

Memory
0.7MiB live, 0.7MiB allocated; 0ms collecting garbage
Algorithm
search
Search
ProbabilityValidUnknownPreconditionInfiniteDomainCan'tIter
0%0%99.9%0.1%0%0%0%0
100%99.9%0%0.1%0%0%0%1
Compiler

Compiled 9 to 9 computations (0% saved)

sample597.0ms (32.4%)

Memory
-31.0MiB live, 497.3MiB allocated; 197ms collecting garbage
Samples
368.0ms8 256×0valid
Precisions
Click to see histograms. Total time spent on operations: 147.0ms
ival-mult!: 126.0ms (85.5% of total)
ival-sub!: 19.0ms (12.9% of total)
adjust: 1.0ms (0.7% of total)
Bogosity

preprocess20.0ms (1.1%)

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

Useful iterations: 1 (0.0ms)

IterNodesCost
02773
17170
216970
342770
462570
Stop Event
saturated
Alt Table
Click to see full alt table
StatusAccuracyProgram
99.8%
(-.f64 (*.f64 (*.f64 x #s(literal 3 binary64)) y) z)
Symmetry

(sort x y)

Compiler

Compiled 14 to 14 computations (0% saved)

series86.0ms (4.7%)

Memory
-16.9MiB live, 28.4MiB allocated; 19ms collecting garbage
Counts
7 → 14
Calls
Call 1
Inputs
(-.f64 (*.f64 (*.f64 x #s(literal 3 binary64)) y) z)
(*.f64 (*.f64 x #s(literal 3 binary64)) y)
(*.f64 x #s(literal 3 binary64))
x
#s(literal 3 binary64)
y
z
Outputs
#s(approx (- (* (* x 3) y) z) (*.f64 #s(literal -1 binary64) z))
#s(approx (- (* (* x 3) y) z) (-.f64 (*.f64 #s(literal 3 binary64) (*.f64 x y)) z))
#s(approx (* (* x 3) y) (*.f64 #s(literal 3 binary64) (*.f64 x y)))
#s(approx (* x 3) (*.f64 #s(literal 3 binary64) x))
#s(approx x x)
#s(approx (- (* (* x 3) y) z) (*.f64 x (fma.f64 #s(literal -1 binary64) (/.f64 z x) (*.f64 #s(literal 3 binary64) y))))
#s(approx (- (* (* x 3) y) z) (*.f64 #s(literal -1 binary64) (*.f64 x (fma.f64 #s(literal -3 binary64) y (/.f64 z x)))))
#s(approx y y)
#s(approx (- (* (* x 3) y) z) (*.f64 y (fma.f64 #s(literal -1 binary64) (/.f64 z y) (*.f64 #s(literal 3 binary64) x))))
#s(approx (- (* (* x 3) y) z) (*.f64 #s(literal -1 binary64) (*.f64 y (fma.f64 #s(literal -3 binary64) x (/.f64 z y)))))
#s(approx (- (* (* x 3) y) z) (fma.f64 #s(literal -1 binary64) z (*.f64 #s(literal 3 binary64) (*.f64 x y))))
#s(approx z z)
#s(approx (- (* (* x 3) y) z) (*.f64 z (-.f64 (*.f64 #s(literal 3 binary64) (/.f64 (*.f64 x y) z)) #s(literal 1 binary64))))
#s(approx (- (* (* x 3) y) z) (*.f64 #s(literal -1 binary64) (*.f64 z (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -3 binary64) (/.f64 (*.f64 x y) z))))))
Calls

9 calls:

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

rewrite173.0ms (9.4%)

Memory
6.1MiB live, 52.3MiB allocated; 6ms collecting garbage
Counts
7 → 15
Calls
Call 1
Inputs
(-.f64 (*.f64 (*.f64 x #s(literal 3 binary64)) y) z)
(*.f64 (*.f64 x #s(literal 3 binary64)) y)
(*.f64 x #s(literal 3 binary64))
x
#s(literal 3 binary64)
y
z
Outputs
(+.f64 (*.f64 (*.f64 x #s(literal 3 binary64)) y) (neg.f64 z))
(-.f64 (*.f64 (*.f64 x #s(literal 3 binary64)) y) z)
(fma.f64 (*.f64 x #s(literal 3 binary64)) y (neg.f64 z))
(fma.f64 x (*.f64 #s(literal 3 binary64) y) (neg.f64 z))
(fma.f64 y (*.f64 x #s(literal 3 binary64)) (neg.f64 z))
(neg.f64 (-.f64 z (*.f64 (*.f64 x #s(literal 3 binary64)) y)))
(*.f64 (*.f64 x #s(literal 3 binary64)) y)
(*.f64 y (*.f64 x #s(literal 3 binary64)))
(*.f64 x (*.f64 #s(literal 3 binary64) y))
(*.f64 x #s(literal 3 binary64))
(*.f64 #s(literal 3 binary64) x)
x
#s(literal 3 binary64)
y
z

eval2.0ms (0.1%)

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

Compiled 263 to 76 computations (71.1% saved)

prune2.0ms (0.1%)

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

5 alts after pruning (4 fresh and 1 done)

PrunedKeptTotal
New18422
Fresh000
Picked011
Done000
Total18523
Accuracy
100.0%
Counts
23 → 5
Alt Table
Click to see full alt table
StatusAccuracyProgram
99.8%
(-.f64 (*.f64 (*.f64 x #s(literal 3 binary64)) y) z)
99.9%
(-.f64 (*.f64 x (*.f64 #s(literal 3 binary64) y)) z)
99.8%
(-.f64 #s(approx (* (* x 3) y) (*.f64 #s(literal 3 binary64) (*.f64 x y))) z)
92.8%
#s(approx (- (* (* x 3) y) z) (*.f64 z (-.f64 (*.f64 #s(literal 3 binary64) (/.f64 (*.f64 x y) z)) #s(literal 1 binary64))))
50.6%
#s(approx (- (* (* x 3) y) z) (*.f64 #s(literal -1 binary64) z))
Compiler

Compiled 57 to 50 computations (12.3% saved)

series134.0ms (7.3%)

Memory
19.5MiB live, 70.8MiB allocated; 43ms collecting garbage
Counts
20 → 24
Calls
Call 1
Inputs
#s(approx (- (* (* x 3) y) z) (*.f64 #s(literal -1 binary64) z))
(*.f64 #s(literal -1 binary64) z)
#s(literal -1 binary64)
z
#s(approx (- (* (* x 3) y) z) (*.f64 z (-.f64 (*.f64 #s(literal 3 binary64) (/.f64 (*.f64 x y) z)) #s(literal 1 binary64))))
(*.f64 z (-.f64 (*.f64 #s(literal 3 binary64) (/.f64 (*.f64 x y) z)) #s(literal 1 binary64)))
(-.f64 (*.f64 #s(literal 3 binary64) (/.f64 (*.f64 x y) z)) #s(literal 1 binary64))
(*.f64 #s(literal 3 binary64) (/.f64 (*.f64 x y) z))
#s(literal 3 binary64)
(/.f64 (*.f64 x y) z)
(*.f64 x y)
x
y
#s(literal 1 binary64)
(-.f64 #s(approx (* (* x 3) y) (*.f64 #s(literal 3 binary64) (*.f64 x y))) z)
#s(approx (* (* x 3) y) (*.f64 #s(literal 3 binary64) (*.f64 x y)))
(*.f64 #s(literal 3 binary64) (*.f64 x y))
(-.f64 (*.f64 x (*.f64 #s(literal 3 binary64) y)) z)
(*.f64 x (*.f64 #s(literal 3 binary64) y))
(*.f64 #s(literal 3 binary64) y)
Outputs
#s(approx (- (* (* x 3) y) z) (*.f64 #s(literal -1 binary64) z))
#s(approx (- (* (* x 3) y) z) (-.f64 (*.f64 #s(literal 3 binary64) (*.f64 x y)) z))
#s(approx (* z (- (* 3 (/ (* x y) z)) 1)) (fma.f64 #s(literal -1 binary64) z (*.f64 #s(literal 3 binary64) (*.f64 x y))))
#s(approx (- (* 3 (/ (* x y) z)) 1) #s(literal -1 binary64))
#s(approx (- (* 3 (/ (* x y) z)) 1) (-.f64 (*.f64 #s(literal 3 binary64) (/.f64 (*.f64 x y) z)) #s(literal 1 binary64)))
#s(approx (* 3 (/ (* x y) z)) (*.f64 #s(literal 3 binary64) (/.f64 (*.f64 x y) z)))
#s(approx (/ (* x y) z) (/.f64 (*.f64 x y) z))
#s(approx (* x y) (*.f64 x y))
#s(approx x x)
#s(approx (* (* x 3) y) (*.f64 #s(literal 3 binary64) (*.f64 x y)))
#s(approx (- (* (* x 3) y) z) (*.f64 x (fma.f64 #s(literal -1 binary64) (/.f64 z x) (*.f64 #s(literal 3 binary64) y))))
#s(approx (- (* 3 (/ (* x y) z)) 1) (*.f64 x (-.f64 (*.f64 #s(literal 3 binary64) (/.f64 y z)) (/.f64 #s(literal 1 binary64) x))))
#s(approx (- (* (* x 3) y) z) (*.f64 #s(literal -1 binary64) (*.f64 x (fma.f64 #s(literal -3 binary64) y (/.f64 z x)))))
#s(approx (- (* 3 (/ (* x y) z)) 1) (*.f64 #s(literal -1 binary64) (*.f64 x (fma.f64 #s(literal -3 binary64) (/.f64 y z) (/.f64 #s(literal 1 binary64) x)))))
#s(approx y y)
#s(approx (* 3 y) (*.f64 #s(literal 3 binary64) y))
#s(approx (- (* (* x 3) y) z) (*.f64 y (fma.f64 #s(literal -1 binary64) (/.f64 z y) (*.f64 #s(literal 3 binary64) x))))
#s(approx (- (* 3 (/ (* x y) z)) 1) (*.f64 y (-.f64 (*.f64 #s(literal 3 binary64) (/.f64 x z)) (/.f64 #s(literal 1 binary64) y))))
#s(approx (- (* (* x 3) y) z) (*.f64 #s(literal -1 binary64) (*.f64 y (fma.f64 #s(literal -3 binary64) x (/.f64 z y)))))
#s(approx (- (* 3 (/ (* x y) z)) 1) (*.f64 #s(literal -1 binary64) (*.f64 y (fma.f64 #s(literal -3 binary64) (/.f64 x z) (/.f64 #s(literal 1 binary64) y)))))
#s(approx z z)
#s(approx (- (* 3 (/ (* x y) z)) 1) (/.f64 (fma.f64 #s(literal -1 binary64) z (*.f64 #s(literal 3 binary64) (*.f64 x y))) z))
#s(approx (- (* (* x 3) y) z) (*.f64 z (-.f64 (*.f64 #s(literal 3 binary64) (/.f64 (*.f64 x y) z)) #s(literal 1 binary64))))
#s(approx (- (* (* x 3) y) z) (*.f64 #s(literal -1 binary64) (*.f64 z (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -3 binary64) (/.f64 (*.f64 x y) z))))))
Calls

9 calls:

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

rewrite151.0ms (8.2%)

Memory
-24.6MiB live, 63.9MiB allocated; 32ms collecting garbage
Counts
20 → 55
Calls
Call 1
Inputs
#s(approx (- (* (* x 3) y) z) (*.f64 #s(literal -1 binary64) z))
(*.f64 #s(literal -1 binary64) z)
#s(literal -1 binary64)
z
#s(approx (- (* (* x 3) y) z) (*.f64 z (-.f64 (*.f64 #s(literal 3 binary64) (/.f64 (*.f64 x y) z)) #s(literal 1 binary64))))
(*.f64 z (-.f64 (*.f64 #s(literal 3 binary64) (/.f64 (*.f64 x y) z)) #s(literal 1 binary64)))
(-.f64 (*.f64 #s(literal 3 binary64) (/.f64 (*.f64 x y) z)) #s(literal 1 binary64))
(*.f64 #s(literal 3 binary64) (/.f64 (*.f64 x y) z))
#s(literal 3 binary64)
(/.f64 (*.f64 x y) z)
(*.f64 x y)
x
y
#s(literal 1 binary64)
(-.f64 #s(approx (* (* x 3) y) (*.f64 #s(literal 3 binary64) (*.f64 x y))) z)
#s(approx (* (* x 3) y) (*.f64 #s(literal 3 binary64) (*.f64 x y)))
(*.f64 #s(literal 3 binary64) (*.f64 x y))
(-.f64 (*.f64 x (*.f64 #s(literal 3 binary64) y)) z)
(*.f64 x (*.f64 #s(literal 3 binary64) y))
(*.f64 #s(literal 3 binary64) y)
Outputs
#s(approx (- (* (* x 3) y) z) (neg.f64 z))
(*.f64 #s(literal -1 binary64) z)
(*.f64 z #s(literal -1 binary64))
(neg.f64 z)
#s(literal -1 binary64)
(neg.f64 #s(literal 1 binary64))
z
#s(approx (- (* (* x 3) y) z) (*.f64 z (fma.f64 (/.f64 (*.f64 x y) z) #s(literal 3 binary64) #s(literal -1 binary64))))
(*.f64 z (fma.f64 (/.f64 (*.f64 x y) z) #s(literal 3 binary64) #s(literal -1 binary64)))
(*.f64 (fma.f64 (/.f64 (*.f64 x y) z) #s(literal 3 binary64) #s(literal -1 binary64)) z)
(+.f64 (/.f64 (*.f64 #s(literal 3 binary64) (*.f64 x y)) z) #s(literal -1 binary64))
(-.f64 (/.f64 (*.f64 #s(literal 3 binary64) (*.f64 x y)) z) #s(literal 1 binary64))
(fma.f64 (/.f64 (*.f64 x y) z) #s(literal 3 binary64) #s(literal -1 binary64))
(fma.f64 #s(literal 3 binary64) (/.f64 (*.f64 x y) z) #s(literal -1 binary64))
(neg.f64 (-.f64 #s(literal 1 binary64) (/.f64 (*.f64 #s(literal 3 binary64) (*.f64 x y)) z)))
(*.f64 (/.f64 (*.f64 x y) z) #s(literal 3 binary64))
(*.f64 #s(literal 3 binary64) (/.f64 (*.f64 x y) z))
(/.f64 (*.f64 #s(literal 3 binary64) (*.f64 x y)) z)
#s(literal 3 binary64)
(*.f64 (*.f64 x y) (/.f64 #s(literal 1 binary64) z))
(*.f64 x (/.f64 y z))
(/.f64 (*.f64 x y) z)
(/.f64 (neg.f64 (*.f64 x y)) (neg.f64 z))
(*.f64 x y)
(*.f64 y x)
x
y
#s(literal 1 binary64)
(cosh.f64 #s(literal 0 binary64))
(exp.f64 #s(literal 0 binary64))
(-.f64 #s(approx (* (* x 3) y) (*.f64 #s(literal 3 binary64) (*.f64 x y))) z)
#s(approx (* (* x 3) y) (*.f64 #s(literal 3 binary64) (*.f64 x y)))
(*.f64 #s(literal 3 binary64) (*.f64 x y))
(*.f64 x (*.f64 #s(literal 3 binary64) y))
(*.f64 (*.f64 x #s(literal 3 binary64)) y)
(*.f64 (*.f64 #s(literal 3 binary64) y) x)
(*.f64 (*.f64 x y) #s(literal 3 binary64))
(*.f64 y (*.f64 x #s(literal 3 binary64)))
(+.f64 (*.f64 #s(literal 3 binary64) (*.f64 x y)) (neg.f64 z))
(-.f64 (*.f64 #s(literal 3 binary64) (*.f64 x y)) z)
(fma.f64 (*.f64 x #s(literal 3 binary64)) y (neg.f64 z))
(fma.f64 (*.f64 #s(literal 3 binary64) y) x (neg.f64 z))
(fma.f64 (*.f64 x y) #s(literal 3 binary64) (neg.f64 z))
(fma.f64 x (*.f64 #s(literal 3 binary64) y) (neg.f64 z))
(fma.f64 y (*.f64 x #s(literal 3 binary64)) (neg.f64 z))
(fma.f64 #s(literal 3 binary64) (*.f64 x y) (neg.f64 z))
(neg.f64 (-.f64 z (*.f64 #s(literal 3 binary64) (*.f64 x y))))
(*.f64 #s(literal 3 binary64) (*.f64 x y))
(*.f64 x (*.f64 #s(literal 3 binary64) y))
(*.f64 (*.f64 x #s(literal 3 binary64)) y)
(*.f64 (*.f64 #s(literal 3 binary64) y) x)
(*.f64 (*.f64 x y) #s(literal 3 binary64))
(*.f64 y (*.f64 x #s(literal 3 binary64)))
(*.f64 #s(literal 3 binary64) y)
(*.f64 y #s(literal 3 binary64))

eval6.0ms (0.3%)

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

Compiled 1 094 to 239 computations (78.2% saved)

prune4.0ms (0.2%)

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

5 alts after pruning (2 fresh and 3 done)

PrunedKeptTotal
New63265
Fresh000
Picked224
Done011
Total65570
Accuracy
100.0%
Counts
70 → 5
Alt Table
Click to see full alt table
StatusAccuracyProgram
99.8%
(fma.f64 (*.f64 x y) #s(literal 3 binary64) (neg.f64 z))
99.8%
(-.f64 (*.f64 (*.f64 x #s(literal 3 binary64)) y) z)
99.9%
(-.f64 (*.f64 x (*.f64 #s(literal 3 binary64) y)) z)
99.8%
(-.f64 #s(approx (* (* x 3) y) (*.f64 #s(literal 3 binary64) (*.f64 x y))) z)
50.6%
#s(approx (- (* (* x 3) y) z) (neg.f64 z))
Compiler

Compiled 44 to 41 computations (6.8% saved)

series105.0ms (5.7%)

Memory
-25.3MiB live, 20.8MiB allocated; 12ms collecting garbage
Counts
8 → 14
Calls
Call 1
Inputs
#s(approx (- (* (* x 3) y) z) (neg.f64 z))
(neg.f64 z)
z
(fma.f64 (*.f64 x y) #s(literal 3 binary64) (neg.f64 z))
(*.f64 x y)
x
y
#s(literal 3 binary64)
Outputs
#s(approx (- (* (* x 3) y) z) (*.f64 #s(literal -1 binary64) z))
#s(approx (- (* (* x 3) y) z) (-.f64 (*.f64 #s(literal 3 binary64) (*.f64 x y)) z))
#s(approx (* x y) (*.f64 x y))
#s(approx x x)
#s(approx (- (* (* x 3) y) z) (*.f64 #s(literal 3 binary64) (*.f64 x y)))
#s(approx (- (* (* x 3) y) z) (*.f64 x (fma.f64 #s(literal -1 binary64) (/.f64 z x) (*.f64 #s(literal 3 binary64) y))))
#s(approx (- (* (* x 3) y) z) (*.f64 #s(literal -1 binary64) (*.f64 x (fma.f64 #s(literal -3 binary64) y (/.f64 z x)))))
#s(approx y y)
#s(approx (- (* (* x 3) y) z) (*.f64 y (fma.f64 #s(literal -1 binary64) (/.f64 z y) (*.f64 #s(literal 3 binary64) x))))
#s(approx (- (* (* x 3) y) z) (*.f64 #s(literal -1 binary64) (*.f64 y (fma.f64 #s(literal -3 binary64) x (/.f64 z y)))))
#s(approx (- (* (* x 3) y) z) (fma.f64 #s(literal -1 binary64) z (*.f64 #s(literal 3 binary64) (*.f64 x y))))
#s(approx z z)
#s(approx (- (* (* x 3) y) z) (*.f64 z (-.f64 (*.f64 #s(literal 3 binary64) (/.f64 (*.f64 x y) z)) #s(literal 1 binary64))))
#s(approx (- (* (* x 3) y) z) (*.f64 #s(literal -1 binary64) (*.f64 z (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -3 binary64) (/.f64 (*.f64 x y) z))))))
Calls

9 calls:

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

rewrite181.0ms (9.8%)

Memory
1.9MiB live, 65.2MiB allocated; 97ms collecting garbage
Counts
8 → 15
Calls
Call 1
Inputs
#s(approx (- (* (* x 3) y) z) (neg.f64 z))
(neg.f64 z)
z
(fma.f64 (*.f64 x y) #s(literal 3 binary64) (neg.f64 z))
(*.f64 x y)
x
y
#s(literal 3 binary64)
Outputs
#s(approx (- (* (* x 3) y) z) (neg.f64 z))
(neg.f64 z)
z
(+.f64 (*.f64 (*.f64 x y) #s(literal 3 binary64)) (neg.f64 z))
(+.f64 (neg.f64 z) (*.f64 (*.f64 x y) #s(literal 3 binary64)))
(-.f64 (*.f64 (*.f64 x y) #s(literal 3 binary64)) (neg.f64 (neg.f64 z)))
(-.f64 (*.f64 (*.f64 x y) #s(literal 3 binary64)) z)
(fma.f64 (*.f64 x y) #s(literal 3 binary64) (neg.f64 z))
(fma.f64 x (*.f64 y #s(literal 3 binary64)) (neg.f64 z))
(fma.f64 #s(literal 3 binary64) (*.f64 x y) (neg.f64 z))
(*.f64 x y)
(*.f64 y x)
x
y
#s(literal 3 binary64)

eval2.0ms (0.1%)

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

Compiled 270 to 73 computations (73% saved)

prune2.0ms (0.1%)

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

5 alts after pruning (1 fresh and 4 done)

PrunedKeptTotal
New21122
Fresh000
Picked022
Done123
Total22527
Accuracy
100.0%
Counts
27 → 5
Alt Table
Click to see full alt table
StatusAccuracyProgram
99.8%
(fma.f64 (*.f64 x y) #s(literal 3 binary64) (neg.f64 z))
99.8%
(-.f64 (*.f64 (*.f64 x #s(literal 3 binary64)) y) z)
99.9%
(-.f64 (*.f64 x (*.f64 #s(literal 3 binary64) y)) z)
50.7%
#s(approx (- (* (* x 3) y) z) (*.f64 #s(literal 3 binary64) (*.f64 x y)))
50.6%
#s(approx (- (* (* x 3) y) z) (neg.f64 z))
Compiler

Compiled 44 to 41 computations (6.8% saved)

series85.0ms (4.6%)

Memory
-17.6MiB live, 75.7MiB allocated; 27ms collecting garbage
Counts
6 → 13
Calls
Call 1
Inputs
#s(approx (- (* (* x 3) y) z) (*.f64 #s(literal 3 binary64) (*.f64 x y)))
(*.f64 #s(literal 3 binary64) (*.f64 x y))
#s(literal 3 binary64)
(*.f64 x y)
x
y
Outputs
#s(approx (- (* (* x 3) y) z) (*.f64 #s(literal -1 binary64) z))
#s(approx (- (* (* x 3) y) z) (-.f64 (*.f64 #s(literal 3 binary64) (*.f64 x y)) z))
#s(approx (* 3 (* x y)) (*.f64 #s(literal 3 binary64) (*.f64 x y)))
#s(approx (* x y) (*.f64 x y))
#s(approx x x)
#s(approx (- (* (* x 3) y) z) (*.f64 x (fma.f64 #s(literal -1 binary64) (/.f64 z x) (*.f64 #s(literal 3 binary64) y))))
#s(approx (- (* (* x 3) y) z) (*.f64 #s(literal -1 binary64) (*.f64 x (fma.f64 #s(literal -3 binary64) y (/.f64 z x)))))
#s(approx y y)
#s(approx (- (* (* x 3) y) z) (*.f64 y (fma.f64 #s(literal -1 binary64) (/.f64 z y) (*.f64 #s(literal 3 binary64) x))))
#s(approx (- (* (* x 3) y) z) (*.f64 #s(literal -1 binary64) (*.f64 y (fma.f64 #s(literal -3 binary64) x (/.f64 z y)))))
#s(approx (- (* (* x 3) y) z) (fma.f64 #s(literal -1 binary64) z (*.f64 #s(literal 3 binary64) (*.f64 x y))))
#s(approx (- (* (* x 3) y) z) (*.f64 z (-.f64 (*.f64 #s(literal 3 binary64) (/.f64 (*.f64 x y) z)) #s(literal 1 binary64))))
#s(approx (- (* (* x 3) y) z) (*.f64 #s(literal -1 binary64) (*.f64 z (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -3 binary64) (/.f64 (*.f64 x y) z))))))
Calls

9 calls:

TimeVariablePoint
1.0ms
x
-inf
1.0ms
y
-inf
1.0ms
x
inf
0.0ms
y
inf
0.0ms
x
0

rewrite128.0ms (6.9%)

Memory
32.6MiB live, 130.1MiB allocated; 28ms collecting garbage
Counts
6 → 11
Calls
Call 1
Inputs
#s(approx (- (* (* x 3) y) z) (*.f64 #s(literal 3 binary64) (*.f64 x y)))
(*.f64 #s(literal 3 binary64) (*.f64 x y))
#s(literal 3 binary64)
(*.f64 x y)
x
y
Outputs
#s(approx (- (* (* x 3) y) z) (*.f64 #s(literal 3 binary64) (*.f64 x y)))
(*.f64 #s(literal 3 binary64) (*.f64 x y))
(*.f64 (*.f64 x #s(literal 3 binary64)) y)
(*.f64 (*.f64 x y) #s(literal 3 binary64))
(*.f64 y (*.f64 x #s(literal 3 binary64)))
(*.f64 x (*.f64 #s(literal 3 binary64) y))
#s(literal 3 binary64)
(*.f64 x y)
(*.f64 y x)
x
y

eval2.0ms (0.1%)

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

Compiled 285 to 74 computations (74% saved)

prune21.0ms (1.1%)

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

6 alts after pruning (2 fresh and 4 done)

PrunedKeptTotal
New16218
Fresh000
Picked011
Done134
Total17623
Accuracy
100.0%
Counts
23 → 6
Alt Table
Click to see full alt table
StatusAccuracyProgram
99.8%
(fma.f64 (*.f64 x y) #s(literal 3 binary64) (neg.f64 z))
99.8%
(-.f64 (*.f64 (*.f64 x #s(literal 3 binary64)) y) z)
50.7%
#s(approx (- (* (* x 3) y) z) (*.f64 (*.f64 x #s(literal 3 binary64)) y))
50.7%
#s(approx (- (* (* x 3) y) z) (*.f64 x (*.f64 #s(literal 3 binary64) y)))
50.7%
#s(approx (- (* (* x 3) y) z) (*.f64 #s(literal 3 binary64) (*.f64 x y)))
50.6%
#s(approx (- (* (* x 3) y) z) (neg.f64 z))
Compiler

Compiled 63 to 56 computations (11.1% saved)

regimes81.0ms (4.4%)

Memory
-8.0MiB live, 84.7MiB allocated; 19ms collecting garbage
Accuracy

Total -0.0b remaining (-0%)

Threshold costs -0b (-0%)

Counts
2 → 1
3 → 3
4 → 3
5 → 3
6 → 1
10 → 1
Calls
Call 1
Inputs
#s(approx (- (* (* x 3) y) z) (neg.f64 z))
#s(approx (- (* (* x 3) y) z) (*.f64 #s(literal -1 binary64) z))
Outputs
#s(approx (- (* (* x 3) y) z) (neg.f64 z))
Call 2
Inputs
#s(approx (- (* (* x 3) y) z) (neg.f64 z))
#s(approx (- (* (* x 3) y) z) (*.f64 #s(literal -1 binary64) z))
#s(approx (- (* (* x 3) y) z) (*.f64 #s(literal 3 binary64) (*.f64 x y)))
Outputs
#s(approx (- (* (* x 3) y) z) (*.f64 #s(literal 3 binary64) (*.f64 x y)))
#s(approx (- (* (* x 3) y) z) (neg.f64 z))
#s(approx (- (* (* x 3) y) z) (*.f64 #s(literal 3 binary64) (*.f64 x y)))
Call 3
Inputs
#s(approx (- (* (* x 3) y) z) (neg.f64 z))
#s(approx (- (* (* x 3) y) z) (*.f64 #s(literal -1 binary64) z))
#s(approx (- (* (* x 3) y) z) (*.f64 #s(literal 3 binary64) (*.f64 x y)))
#s(approx (- (* (* x 3) y) z) (*.f64 x (*.f64 #s(literal 3 binary64) y)))
Outputs
#s(approx (- (* (* x 3) y) z) (*.f64 x (*.f64 #s(literal 3 binary64) y)))
#s(approx (- (* (* x 3) y) z) (neg.f64 z))
#s(approx (- (* (* x 3) y) z) (*.f64 x (*.f64 #s(literal 3 binary64) y)))
Call 4
Inputs
#s(approx (- (* (* x 3) y) z) (neg.f64 z))
#s(approx (- (* (* x 3) y) z) (*.f64 #s(literal -1 binary64) z))
#s(approx (- (* (* x 3) y) z) (*.f64 #s(literal 3 binary64) (*.f64 x y)))
#s(approx (- (* (* x 3) y) z) (*.f64 x (*.f64 #s(literal 3 binary64) y)))
#s(approx (- (* (* x 3) y) z) (*.f64 (*.f64 x #s(literal 3 binary64)) y))
Outputs
#s(approx (- (* (* x 3) y) z) (*.f64 x (*.f64 #s(literal 3 binary64) y)))
#s(approx (- (* (* x 3) y) z) (neg.f64 z))
#s(approx (- (* (* x 3) y) z) (*.f64 (*.f64 x #s(literal 3 binary64)) y))
Call 5
Inputs
#s(approx (- (* (* x 3) y) z) (neg.f64 z))
#s(approx (- (* (* x 3) y) z) (*.f64 #s(literal -1 binary64) z))
#s(approx (- (* (* x 3) y) z) (*.f64 #s(literal 3 binary64) (*.f64 x y)))
#s(approx (- (* (* x 3) y) z) (*.f64 x (*.f64 #s(literal 3 binary64) y)))
#s(approx (- (* (* x 3) y) z) (*.f64 (*.f64 x #s(literal 3 binary64)) y))
(-.f64 #s(approx (* (* x 3) y) (*.f64 #s(literal 3 binary64) (*.f64 x y))) z)
Outputs
(-.f64 #s(approx (* (* x 3) y) (*.f64 #s(literal 3 binary64) (*.f64 x y))) z)
Call 6
Inputs
#s(approx (- (* (* x 3) y) z) (neg.f64 z))
#s(approx (- (* (* x 3) y) z) (*.f64 #s(literal -1 binary64) z))
#s(approx (- (* (* x 3) y) z) (*.f64 #s(literal 3 binary64) (*.f64 x y)))
#s(approx (- (* (* x 3) y) z) (*.f64 x (*.f64 #s(literal 3 binary64) y)))
#s(approx (- (* (* x 3) y) z) (*.f64 (*.f64 x #s(literal 3 binary64)) y))
(-.f64 #s(approx (* (* x 3) y) (*.f64 #s(literal 3 binary64) (*.f64 x y))) z)
(-.f64 (*.f64 x (*.f64 #s(literal 3 binary64) y)) z)
(-.f64 (*.f64 (*.f64 x #s(literal 3 binary64)) y) z)
(fma.f64 (*.f64 x y) #s(literal 3 binary64) (neg.f64 z))
#s(approx (- (* (* x 3) y) z) (*.f64 z (-.f64 (*.f64 #s(literal 3 binary64) (/.f64 (*.f64 x y) z)) #s(literal 1 binary64))))
Outputs
(-.f64 (*.f64 x (*.f64 #s(literal 3 binary64) y)) z)
Calls

26 calls:

16.0ms
z
4.0ms
(*.f64 x #s(literal 3 binary64))
4.0ms
(*.f64 x #s(literal 3 binary64))
4.0ms
y
4.0ms
x
Results
AccuracySegmentsBranch
50.6%1(-.f64 (*.f64 (*.f64 x #s(literal 3 binary64)) y) z)
50.6%1(*.f64 x #s(literal 3 binary64))
50.6%1x
50.6%1y
50.6%1z
50.6%1(*.f64 (*.f64 x #s(literal 3 binary64)) y)
80.7%3(*.f64 (*.f64 x #s(literal 3 binary64)) y)
80.7%3(*.f64 (*.f64 x #s(literal 3 binary64)) y)
73.1%3(*.f64 x #s(literal 3 binary64))
80.7%3(*.f64 (*.f64 x #s(literal 3 binary64)) y)
70.0%5(-.f64 (*.f64 (*.f64 x #s(literal 3 binary64)) y) z)
73.1%3x
75.3%3y
75.5%3z
99.8%1(*.f64 x #s(literal 3 binary64))
99.8%1(*.f64 (*.f64 x #s(literal 3 binary64)) y)
99.8%1(-.f64 (*.f64 (*.f64 x #s(literal 3 binary64)) y) z)
99.8%1x
99.8%1y
99.8%1z
99.9%1(*.f64 x #s(literal 3 binary64))
99.9%1(*.f64 (*.f64 x #s(literal 3 binary64)) y)
99.9%1(-.f64 (*.f64 (*.f64 x #s(literal 3 binary64)) y) z)
99.9%1x
99.9%1y
99.9%1z
Compiler

Compiled 195 to 153 computations (21.5% saved)

bsearch1.0ms (0%)

Memory
0.2MiB live, 0.2MiB allocated; 0ms collecting garbage
Algorithm
left-value
Steps
TimeLeftRight
0.0ms
1.450936135498131e+46
2.6838407457776903e+52
0.0ms
-1.815432645427428e+38
-5.420695126106443e+30
Compiler

Compiled 10 to 13 computations (-30% saved)

bsearch0.0ms (0%)

Memory
0.2MiB live, 0.2MiB allocated; 0ms collecting garbage
Algorithm
left-value
Steps
TimeLeftRight
0.0ms
1.450936135498131e+46
2.6838407457776903e+52
0.0ms
-1.815432645427428e+38
-5.420695126106443e+30
Compiler

Compiled 10 to 13 computations (-30% saved)

bsearch0.0ms (0%)

Memory
0.2MiB live, 0.2MiB allocated; 0ms collecting garbage
Algorithm
left-value
Steps
TimeLeftRight
0.0ms
1.450936135498131e+46
2.6838407457776903e+52
0.0ms
-1.815432645427428e+38
-5.420695126106443e+30
Compiler

Compiled 10 to 13 computations (-30% saved)

derivations2.0ms (0.1%)

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

Compiled 186 to 32 computations (82.8% saved)

preprocess56.0ms (3%)

Memory
-24.6MiB live, 73.3MiB allocated; 13ms collecting garbage
Remove

(sort x y)

Compiler

Compiled 565 to 221 computations (60.9% saved)

end0.0ms (0%)

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

Profiling

Loading profile data...