(setglobal Example6! (let (mm/81 = (function x/89 (catch (if x/89 (let (*match*/92 =a (field 0 x/89)) (if *match*/92 (let (x/83 =a (field 0 *match*/92) x/86 =a (field 0 x/83) *match*/93 =a (field 0 x/86)) (catch (if (!= *match*/93 1) (exit 2) (let (*match*/94 =a (field 1 x/86)) (if (!= *match*/94 2) (exit 2) (let (x/82 =a (field 1 x/83)) (catch (if (!= x/82 2) (exit 3) (let (*match*/95 =a (field 1 *match*/92)) (if *match*/95 (exit 1) (let (*match*/96 =a (field 1 x/89)) (catch (if *match*/96 (exit 4) (observe [0: [0: [0: [0: 1 2] 2] 0a] 0a])) with (4) (observe [0: [0: [0: 1 2] 2] 0a])))))) with (3) (let (*match*/97 =a (field 1 *match*/92)) (if *match*/97 (exit 1) (let (*match*/98 =a (field 1 x/89)) (observe (makeblock 0 (makeblock 0 (*,int) [0: 1 2] x/82) 0a)))))))))) with (2) (let (*match*/100 =a (field 1 *match*/92)) (if *match*/100 (exit 1) (let (z/88 =a (field 1 x/89) y/87 =a (field 1 x/83) *match*/99 =a (field 1 x/86)) (catch (if z/88 (let (*match*/101 =a (field 0 z/88)) (if *match*/101 (let (*match*/102 =a (field 1 *match*/101)) (if *match*/102 (exit 5) (let (*match*/103 =a (field 1 z/88)) (if *match*/103 (exit 5) (let (x/84 =a x/83 y/85 =a (field 0 *match*/101)) (observe (makeblock 0 (makeblock 0 x/84 y/85) 0a))))))) (exit 5))) (observe (makeblock 0 x/83 0a))) with (5) (observe (makeblock 0 (makeblock 0 (makeblock 0 (*,int) x/86 y/87) z/88) 0a)))))))) (exit 1))) (exit 1)) with (1) (observe x/89)))) (makeblock 0 mm/81)))