// run // Copyright 2012 The Go Authors. All rights reserved. // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. // Issue 4138: bug in floating-point registers numbering. // Makes 6g unable to use more than 11 registers. package main func formula() float32 { mA := [1]float32{1.0} det1 := mA[0] det2 := mA[0] det3 := mA[0] det4 := mA[0] det5 := mA[0] det6 := mA[0] det7 := mA[0] det8 := mA[0] det9 := mA[0] det10 := mA[0] det11 := mA[0] det12 := mA[0] return det1 + det2*det3 + det4*det5 + det6*det7 + det8*det9 + det10*det11 + det12 } func main() { x := formula() if x != 7.0 { println(x, 7.0) panic("x != 7.0") } }