`float` and `float64` are equivalent, even on 32bit architectures. `int` and `int64` on the other hand are distinct types which may or may not have the same underlying type. So you only need `avFloat64`, not `avFloat`.
You can observe this by naming the two converters the same - the compiler will complain that they have the same signature. Perhaps the compiler should complain when there are multiple converters with the same arguments/return type in the scope, since it's not clear which one will be called.