public static ulong[] Hash(this ISymbolicExpressionTreeNode node, bool simplify = false, bool strict = false) { var hashNodes = simplify ? node.MakeNodes(strict).Simplify(HashFunction) : node.MakeNodes(strict).Sort(HashFunction); var hashes = new ulong[hashNodes.Length]; for (int i = 0; i < hashes.Length; ++i) { hashes[i] = hashNodes[i].CalculatedHashValue; } return(hashes); }