Using float32 as map key returns unexpected result
package main
import "fmt"
func main() {
result := make(map[float32]map[float32]float32)
var t1 float32 = 1586238540
var t2 float32 = 1586238600
result[t1] = map[float32]float32{1:1,2:2}
result[t2] = map[float32]float32{3:3,4:4}
fmt.Println(result[t1])
fmt.Println(result[t2])
}
map[3:3 4:4]
map[3:3 4:4]
Go version: go version go1.14 linux/amd64
Changing result to map[float64]map[float32]float32 and t1, t2 accordingly gives the right result.
What could be a reason for this weird behavior?