Skip to content

Commit 9272b25

Browse files
committed
Fix and_, strengthen or_
1 parent c64ef0b commit 9272b25

File tree

1 file changed

+6
-3
lines changed

1 file changed

+6
-3
lines changed

compiler/core/js_exp_make.ml

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -752,8 +752,8 @@ let rec simplify_and ~n (e1 : t) (e2 : t) : t option =
752752
match simplify_and ~n:(n + 1) a b with
753753
| None -> None
754754
| Some e -> simplify_and_force ~n:(n + 1) e e2)
755-
| Some a_, None -> simplify_and_force ~n:(n + 1) a_ e2
756-
| None, Some b_ -> simplify_and_force ~n:(n + 1) e1 b_
755+
| Some a_, None -> simplify_and_force ~n:(n + 1) a_ b
756+
| None, Some b_ -> simplify_and_force ~n:(n + 1) a b_
757757
| Some a_, Some b_ -> simplify_and_force ~n:(n + 1) a_ b_)
758758
| _, Bin (And, a, b) ->
759759
simplify_and ~n:(n + 1)
@@ -763,7 +763,10 @@ let rec simplify_and ~n (e1 : t) (e2 : t) : t option =
763763
let ao = simplify_and ~n:(n + 1) a e2 in
764764
let bo = simplify_and ~n:(n + 1) b e2 in
765765
match (ao, bo) with
766-
| None, _ | _, None -> None
766+
| None, _ | _, None -> (
767+
match simplify_or ~n:(n + 1) a b with
768+
| None -> None
769+
| Some e -> simplify_and_force ~n:(n + 1) e e2)
767770
| Some a_, Some b_ -> simplify_or_force ~n:(n + 1) a_ b_)
768771
| ( Bin
769772
( ((EqEqEq | NotEqEq) as op1),

0 commit comments

Comments
 (0)