Diagrams.Solve.Polynomial:quadForm from diagrams-solve-0.1, A

Time bar (total: 2.3s)

analyze14.0ms (0.6%)

Memory
4.1MiB live, 4.1MiB allocated
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 20 to 17 computations (15% saved)

sample2.1s (94.1%)

Memory
8.4MiB live, 667.1MiB allocated
Samples
468.0ms8 256×0valid-sollya
404.0ms8 256×0valid-baseline
344.0ms8 256×0valid-rival
Precisions
Click to see Rival histograms. Total time spent on operations: 159.0ms
ival-mult: 111.0ms (69.8% of total)
ival-sub: 36.0ms (22.6% of total)
ival-true: 7.0ms (4.4% of total)
ival-assert: 3.0ms (1.9% of total)
...in/eval/compile.rkt:110:19: 2.0ms (1.3% of total)
Precisions
Click to see Base histograms. Total time spent on operations: 156.0ms
ival-mult: 108.0ms (69.3% of total)
ival-sub: 38.0ms (24.4% of total)
const: 10.0ms (6.4% of total)
Bogosity

preprocess96.0ms (4.2%)

Memory
6.1MiB live, 21.5MiB allocated
Algorithm
egg-herbie
Rules
360×fma-define
206×fmm-def
92×cancel-sign-sub-inv
89×associate-*r*
85×distribute-lft-neg-in
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
034332
1103314
2247276
3629276
41120276
51518276
61555276
71560276
81560276
91560276
Stop Event
saturated
Calls
Call 1
Inputs
(-.f64 x (*.f64 (*.f64 y #s(literal 4 binary64)) z))
(-.f64 x (*.f64 (*.f64 y #s(literal 4 binary64)) z))
(-.f64 (neg.f64 x) (*.f64 (*.f64 y #s(literal 4 binary64)) z))
(-.f64 x (*.f64 (*.f64 (neg.f64 y) #s(literal 4 binary64)) z))
(-.f64 x (*.f64 (*.f64 y #s(literal 4 binary64)) (neg.f64 z)))
(neg.f64 (-.f64 (neg.f64 x) (*.f64 (*.f64 y #s(literal 4 binary64)) z)))
(neg.f64 (-.f64 x (*.f64 (*.f64 (neg.f64 y) #s(literal 4 binary64)) z)))
(neg.f64 (-.f64 x (*.f64 (*.f64 y #s(literal 4 binary64)) (neg.f64 z))))
(-.f64 y (*.f64 (*.f64 x #s(literal 4 binary64)) z))
(-.f64 z (*.f64 (*.f64 y #s(literal 4 binary64)) x))
(-.f64 x (*.f64 (*.f64 z #s(literal 4 binary64)) y))
Outputs
(-.f64 x (*.f64 (*.f64 y #s(literal 4 binary64)) z))
(-.f64 x (*.f64 y (*.f64 #s(literal 4 binary64) z)))
(+.f64 x (*.f64 z (*.f64 y #s(literal -4 binary64))))
(fma.f64 y (*.f64 z #s(literal -4 binary64)) x)
(fma.f64 z (*.f64 y #s(literal -4 binary64)) x)
(-.f64 x (*.f64 (*.f64 y #s(literal 4 binary64)) z))
(-.f64 x (*.f64 y (*.f64 #s(literal 4 binary64) z)))
(+.f64 x (*.f64 z (*.f64 y #s(literal -4 binary64))))
(fma.f64 y (*.f64 z #s(literal -4 binary64)) x)
(fma.f64 z (*.f64 y #s(literal -4 binary64)) x)
(-.f64 (neg.f64 x) (*.f64 (*.f64 y #s(literal 4 binary64)) z))
(-.f64 (neg.f64 x) (*.f64 y (*.f64 #s(literal 4 binary64) z)))
(fma.f64 #s(literal -1 binary64) x (*.f64 z (*.f64 y #s(literal -4 binary64))))
(-.f64 (*.f64 z (*.f64 y #s(literal -4 binary64))) x)
(-.f64 (*.f64 y (*.f64 z #s(literal -4 binary64))) x)
(-.f64 x (*.f64 (*.f64 (neg.f64 y) #s(literal 4 binary64)) z))
(-.f64 x (*.f64 z (*.f64 #s(literal 4 binary64) (neg.f64 y))))
(+.f64 x (*.f64 y (*.f64 #s(literal 4 binary64) z)))
(fma.f64 y (*.f64 #s(literal 4 binary64) z) x)
(-.f64 x (*.f64 (*.f64 y #s(literal 4 binary64)) (neg.f64 z)))
(-.f64 x (*.f64 z (*.f64 #s(literal 4 binary64) (neg.f64 y))))
(+.f64 x (*.f64 y (*.f64 #s(literal 4 binary64) z)))
(fma.f64 y (*.f64 #s(literal 4 binary64) z) x)
(neg.f64 (-.f64 (neg.f64 x) (*.f64 (*.f64 y #s(literal 4 binary64)) z)))
(-.f64 x (*.f64 z (*.f64 #s(literal 4 binary64) (neg.f64 y))))
(+.f64 x (*.f64 y (*.f64 #s(literal 4 binary64) z)))
(fma.f64 y (*.f64 #s(literal 4 binary64) z) x)
(neg.f64 (-.f64 x (*.f64 (*.f64 (neg.f64 y) #s(literal 4 binary64)) z)))
(-.f64 (neg.f64 x) (*.f64 y (*.f64 #s(literal 4 binary64) z)))
(fma.f64 #s(literal -1 binary64) x (*.f64 z (*.f64 y #s(literal -4 binary64))))
(-.f64 (*.f64 z (*.f64 y #s(literal -4 binary64))) x)
(-.f64 (*.f64 y (*.f64 z #s(literal -4 binary64))) x)
(neg.f64 (-.f64 x (*.f64 (*.f64 y #s(literal 4 binary64)) (neg.f64 z))))
(-.f64 (neg.f64 x) (*.f64 y (*.f64 #s(literal 4 binary64) z)))
(fma.f64 #s(literal -1 binary64) x (*.f64 z (*.f64 y #s(literal -4 binary64))))
(-.f64 (*.f64 z (*.f64 y #s(literal -4 binary64))) x)
(-.f64 (*.f64 y (*.f64 z #s(literal -4 binary64))) x)
(-.f64 y (*.f64 (*.f64 x #s(literal 4 binary64)) z))
(-.f64 y (*.f64 x (*.f64 #s(literal 4 binary64) z)))
(+.f64 y (*.f64 z (*.f64 x #s(literal -4 binary64))))
(fma.f64 x (*.f64 z #s(literal -4 binary64)) y)
(-.f64 z (*.f64 (*.f64 y #s(literal 4 binary64)) x))
(-.f64 z (*.f64 x (*.f64 y #s(literal 4 binary64))))
(+.f64 z (*.f64 x (*.f64 y #s(literal -4 binary64))))
(fma.f64 x (*.f64 y #s(literal -4 binary64)) z)
(-.f64 x (*.f64 (*.f64 z #s(literal 4 binary64)) y))
(-.f64 x (*.f64 y (*.f64 #s(literal 4 binary64) z)))
(+.f64 x (*.f64 z (*.f64 y #s(literal -4 binary64))))
(fma.f64 y (*.f64 z #s(literal -4 binary64)) x)
(fma.f64 z (*.f64 y #s(literal -4 binary64)) x)
Symmetry

(sort y z)

Compiler

Compiled 10 to 7 computations (30% saved)

eval0.0ms (0%)

Memory
0.3MiB live, 0.3MiB allocated
Compiler

Compiled 3 to 3 computations (0% saved)

prune1.0ms (0%)

Memory
0.9MiB live, 0.9MiB allocated
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(-.f64 x (*.f64 (*.f64 y #s(literal 4 binary64)) z))
Compiler

Compiled 20 to 14 computations (30% saved)

simplify2.0ms (0.1%)

Memory
0.4MiB live, 0.4MiB allocated
Algorithm
egg-herbie
Rules
*-commutative
sub-neg
+-commutative
neg-sub0
neg-mul-1
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01328
12128
23928
34928
45728
56028
Stop Event
saturated
Calls
Call 1
Inputs
(-.f64 x (*.f64 (*.f64 y #s(literal 4 binary64)) z))
Outputs
(-.f64 x (*.f64 (*.f64 y #s(literal 4 binary64)) z))

soundness0.0ms (0%)

Memory
0.3MiB live, 0.3MiB allocated
Stop Event
fuel
Compiler

Compiled 10 to 7 computations (30% saved)

preprocess23.0ms (1%)

Memory
-11.2MiB live, 23.8MiB allocated
Remove

(sort y z)

Compiler

Compiled 80 to 56 computations (30% saved)

end0.0ms (0%)

Memory
0.0MiB live, 0.0MiB allocated

Profiling

Loading profile data...