Formal Verification of DHKE protocol using ProVerif
I think it's because par1 and par2 start "out".
As you know, a client will start to send message to the server first. And after do thart, the server will receive the message.
It seems that it's probably possible to fine if your code in one of them code is fixed like below.

let par1 = out(..); 
                  in(..);

let par2 = in(..); 
                  out(..);