} func div3(x uint16) uint16 { return x / 3 } > go tool compile -S ./div-const.g o 0x0000 00000 (./div-const.go:8) MOVHU "".x(FP), R 0 0x0004 00004 (./div-const.go:8) MOVD $87382, R 1 0x000c 00012 (./div-const.go:8) MUL R0, R1, R 0 0x0010 00016 (./div-const.go:8) LSR $18, R0, R 0 0x0014 00020 (./div-const.go:8) MOVH R0, "".~r1+8(FP ) 0x0018 00024 (./div-const.go:8) RET (R30) x 3 = x × 1 3 = x × 218 3 × 1 218 ≃ x × 218 + 2 3 × 1 218