なんだか type_info::name() がバグってない?
MSVC6ではちゃんとfloatと出てくる。

C:\temp>cat a.cpp
#include <iostream>
#include <typeinfo>

int main()
{
        std::cout << typeid(float).name() << std::endl;
}

C:\temp>g++ a.cpp

C:\temp>a
f