  We present knot primality tests that are built from knot Floer homology. The
most basic of these is a simply stated and elementary consequence of Heegaard
Floer theory: if the two-variable knot Floer polynomial of a knot K is
irreducible, then K is prime. Improvements in this test yield a primality
condition that has been over 90 percent effective in identifying prime knots of
up to 30 crossings. As another illustration of the strength of these tools,
there are 1,315 non-hyperbolic prime knots with crossing number 20 or less; the
tests we develop prove the primality of over 96 percent of them.
  The filtered chain homotopy class of the knot Floer hat complex of a knot K
has a unique minimal-dimension representative that is the direct sum of a
one-dimensional complex and two-dimensional complexes, each of which can be
assigned a parity. Let delta(K), b_e(K), and b_o(K) denote the dimension of
this minimal representative and the number of even and odd two-dimensional
summands, respectively. For a composite knot K, we observe that there is a
non-trivial factorization delta(K) = mn satisfying (m-1)(n-1) \le 4 min(b_e(K),
b_o(K)). This yields another knot primality test. One corollary is a simple
proof of Krcatovich's result that L-space knots are prime.
