ocaml/ocaml — pull request #107 by vbrankov (2014-10-23 18:51:30+00:00)
Title: Prevent more unnecessary float boxing, especially in `if` and `match`

This patch prevents unnecessary boxing in more language constructs. Especially important are `if` and `match` blocks, for example:

```ocaml
let reduce dir price ~by =
match dir with
| Buy -> price -. by
| Sell -> price +. by
```

All OCaml tests passed. The test code that shows that the extra allocations are gone is here:

> https://github.com/vbrankov/ocaml-demos/blob/master/unnecessary-boxing/test.ml