 
   July 1, 1994                                                        SIS(1)
 
   decomp [-gqd] [node-list]
 
     Decompose all the nodes in the node-list.  If the node-list is not
     specified, all the nodes in the current network will be decomposed.
     Decompostion will factor nodes and make the divisor a new node within
     the network, re-expressing other nodes in terms of this newly introduced
     node.  It is one of the transforms used to break down large functions
     into smaller pieces, usually at the cost of introducing a few more
     literals.
 
     If the -q option (the default) is specified, the _q_u_i_c_k _d_e_c_o_m_p algorithm
     is used which extracts out an _a_r_b_i_t_r_a_r_y kernel successively.  Because of
     the fast algorithm for generating an arbitrary kernel, decomp -q is very
     fast compared with the decomp -g.  In most cases, the result is very
     close.  This command is recommended at the early phase of the optimiza-
     tion.
 
     If the -g option is specified, the _g_o_o_d _d_e_c_o_m_p algorithm is used which
     successively extracts out the _b_e_s_t _k_e_r_n_e_l until the function is factor
     free, and applies the same algorithm to all the kernels just extracted.
     This operation will give the best _a_l_g_e_b_r_a_i_c decomposition for the nodes.
     But, since it generates all the kernels at each step, it takes more CPU
     time.  In general, decomp -q should be used in the early stage of the
     optimization. Only at the end of the optimization, should decomp -g be
     used.
 
     If the -d option is specified, the disjoint decomposition is performed.
     Currently, the disjoint decomposition is limited to the following simple
     algorithm:  It partitions the cubes into sets of cubes having disjoint
     variable support, creates one node for each partition, and a node (the
     root of the decomposition) which is the OR of all the partitions.
 
                                                                            1
