digraph D {
  graph [ranksep="1" splines=line];
  node [shape=box];
  edge [arrowhead=none];

  input
  const
  temp
  alt_temp

  opcode [shape=none];
  a [label = "a"];
  b [label = "b"];
  c [label = "c"];

  subgraph cluster_R {

    {rank=same opcode a b c}
  }

  input:s -> a:n
  input:s -> b:n
  input:s -> c:n

  const:s -> a:n
  const:s -> b:n
  const:s -> c:n

  temp:s -> a:n
  temp:s -> b:n
  temp:s -> c:n

  alt_temp:s -> a:n
  alt_temp:s -> b:n
  alt_temp:s -> c:n
}
