Extension and optimising compilation of constraint handling rules door