\begin{picture}(569,515)(24,9)
  \gasset{Nadjust=n}
  \node[Nadjust=w](block1)(322,445){$\mathtt{list\_even}$}
  \node[Nadjust=wh](block2)(387,342){${\scriptstyle\wedge}$}
  \node[Nadjust=w](block3)(583,398){$\mathtt{odd}$}
  \node[Nadjust=wh](block4)(337,356){${\scriptstyle\wedge}$}
  \node[Nadjust=w](block5)(128,83){$\mathtt{zero\_mod\_3}$}
  \node[Nadjust=w](block6)(34,189){$\mathtt{two\_mod\_3}$}
  \node[Nadjust=w](block7)(293,318){$\mathtt{tree\_3n\_plus\_2}$}
  \node[Nadjust=w](block8)(442,412){$\mathtt{even}$}
  \node[Nadjust=n](block9)(463,218){$\mathtt{q}$}
  \node[Nadjust=w](block10)(160,230){$\mathtt{one\_mod\_3}$}
  \gasset{Nadjust=n,Nw=1,Nh=20,Nmr=0,fillgray=0} % black rectangle
  \gasset{ExtNL=y,NLdist=3,NLangle=45} % external label right and above the node
  \node(trans14)(315,241){$\mathtt{cons}$}
  \node(trans12)(231,378){$\mathtt{nil}$}
  \node(trans6)(517,436){$\mathtt{s}$}
  \node(trans13)(223,278){$\mathtt{s}$}
  \gasset{Nadjust=n,Nw=20,Nh=1,Nmr=0,fillgray=0} % black rectangle
  \gasset{ExtNL=y,NLdist=3,NLangle=135} % external label right and above the node
  \node(trans4)(390,476){$\mathtt{cons}$}
  \node(trans10)(168,19){$\mathtt{o}$}
  \node(trans1)(502,151){$\mathtt{nil}$}
  \node(trans9)(166,147){$\mathtt{s}$}
  \gasset{Nadjust=n,Nw=1,Nh=20,Nmr=0,fillgray=0} % black rectangle
  \gasset{ExtNL=y,NLdist=3,NLangle=225} % external label right and above the node
  \node(trans8)(515,373){$\mathtt{s}$}
  \node(trans5)(80,250){$\mathtt{s}$}
  \gasset{Nadjust=n,Nw=20,Nh=1,Nmr=0,fillgray=0} % black rectangle
  \gasset{ExtNL=y,NLdist=3,NLangle=315} % external label right and above the node
  \node(trans2)(413,286){$\mathtt{cons}$}
  \node(trans11)(54,112){$\mathtt{s}$}
  \node(trans7)(460,493){$\mathtt{o}$}
  \node(trans3)(275,514){$\mathtt{nil}$}
  \gasset{ELpos=85,ELdistC=y,ELdist=0} % put (argument number) labels on the edge, toward the end
  \drawqbedge[exo=5](block8,390,436,trans4){\tiny 1}
  \drawqbedge[exo=-5](block1,390,396,trans4){\tiny 2}
  \drawqbedge(trans4,390,536,block1){}
  \drawqbedge[eyo=0](block3,575,373,trans8){}
  \drawqbedge(trans8,455,373,block8){}
  \drawqbedge[eyo=-5](block7,235,241,trans14){\tiny 1}
  \drawqbedge[eyo=5](block7,275,241,trans14){\tiny 2}
  \drawqbedge(trans14,375,241,block7){}
  \drawqbedge(trans10,168,79,block5){}
  \drawqbedge(trans12,291,378,block7){}
  \drawqbedge[exo=-5](block2,413,326,trans2){\tiny 1}
  \drawedge(block8,block2){}
  \drawedge(block7,block2){}
  \drawqbedge[exo=5](block4,413,366,trans2){\tiny 2}
  \drawedge(block1,block4){}
  \drawedge(block7,block4){}
  \drawqbedge(trans2,413,226,block9){}
  \drawqbedge[eyo=0](block8,457,436,trans6){}
  \drawqbedge(trans6,577,436,block3){}
  \drawqbedge[exo=0](block6,54,172,trans11){}
  \drawqbedge(trans11,54,52,block5){}
  \drawqbedge[eyo=0](block10,163,278,trans13){}
  \drawqbedge(trans13,283,278,block7){}
  \drawqbedge(trans7,460,433,block8){}
  \drawqbedge(trans3,275,454,block1){}
  \drawqbedge[eyo=0](block10,140,250,trans5){}
  \drawqbedge(trans5,20,250,block6){}
  \drawqbedge(trans1,502,211,block9){}
  \drawqbedge[exo=0](block5,166,87,trans9){}
  \drawqbedge(trans9,166,207,block10){}
\end{picture}
