Improve performance by reducing unnecessary function calls
Benchmarks:
Tme old time/op new time/op delta
Cosh-8 229ns ± 0% 138ns ± 0% -39.74% (p=0.008 n=5+5)
Sinh-8 231ns ± 0% 139ns ± 0% -39.83% (p=0.008 n=5+5)
Change-Id: Icab5485849bbfaafca8429d06b67c558101f4f3c
Reviewed-on: https://go-review.googlesource.com/85477
Reviewed-by: Robert Griesemer <gri@golang.org>
var temp float64
switch true {
case x > 21:
- temp = Exp(x) / 2
+ temp = Exp(x) * 0.5
case x > 0.5:
- temp = (Exp(x) - Exp(-x)) / 2
+ ex := Exp(x)
+ temp = (ex - 1/ex) * 0.5
default:
sq := x * x
func cosh(x float64) float64 {
x = Abs(x)
if x > 21 {
- return Exp(x) / 2
+ return Exp(x) * 0.5
}
- return (Exp(x) + Exp(-x)) / 2
+ ex := Exp(x)
+ return (ex + 1/ex) * 0.5
}