     (graphs/compute-reachable-nodes-and-necessary-predecessors
      (map reverse (util/safe-get *simple-dtgs* var-name)) to-val)))
 
-(defn get-possibly-acyclic-edges
+#_ (defn get-possibly-acyclic-edges
   "Return a list of edges, where those provably on no acyclic s-t path have been eliminated.
    Do so in polynomial time, possibly missing some always-cyclic edges."  
   [var from-val to-val]

        any-new? (some identity (doall (map #(add-new-vv-edge! var dst-val %) edges)))]
;    (when any-new? (println "adding edges" edges "for" src-val "-->" dst-val))
;    (gv/graphviz-el edges)
    (when-not (or (seq edges) (= src-val dst-val))
      (println "Warning: trying to induce impossible path from" src-val "to" dst-val))
;    (util/assert-is (or (seq edges) (= src-val dst-val)) "%s" [src-val dst-val])
    (reset! src?-atom true)
    (when any-new? 

;; Memoized partial computations to speed up acylic edge generation.
(def #^HashMap *forward-reachability-cache* nil)
(def #^HashMap *backward-reachability-cache* nil)
(def #^HashMap *good-edge-cache* nil) ; Map from [var, to-val] to HashSet of unused edges.

(defn forward-reachable-nodes-and-necessary-predecessors [var-name from-val]
  (util/cache-with *forward-reachability-cache* [var-name from-val]
