fix primop
add optimizer and dataflow analyzer