Can anyone recommend a performance profiling tool with good F# support?

I’ve been using Visual Studio 2010 profiler but I’ve found a few issues when using F#. It feels more like I’m profiling the byte code after reflection than the original F#.

For example when profiling the following slightly contrived example:

```
let Add a b = 
    a + b

let Add1 = Add 1

let rec MultiAdd count = 
    match count with
    | 1 -> 1
    | _ -> (Add1 1) + (MultiAdd (count - 1))

MultiAdd 10000 |> ignore

```

I get the following call tree:

![CallTree](https://i.stack.imgur.com/y7ig7.jpg)

When I view Microsoft.FSharp.Core.FSharpFunc`2.Invoke(0) in the Function Details I see:
![Function Details](https://i.stack.imgur.com/vtyK3.jpg)

I understand that what I seeing is based on the underlying implementation of the compiled code and although I can follow it, it’s hard going. 

Does anyone have experience of using other profiling tools with F# and do they do a better job of mapping to the original F# code?