// Copyright 2019 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.

#include "textflag.h"

TEXT ·Acosh(SB), NOSPLIT, $0
	JMP ·acosh(SB)

TEXT ·Asinh(SB), NOSPLIT, $0
	JMP ·asinh(SB)

TEXT ·Atanh(SB), NOSPLIT, $0
	JMP ·atanh(SB)

TEXT ·Cbrt(SB), NOSPLIT, $0
	JMP ·cbrt(SB)

TEXT ·Cos(SB), NOSPLIT, $0
	JMP ·cos(SB)

TEXT ·Cosh(SB), NOSPLIT, $0
	JMP ·cosh(SB)

TEXT ·Erf(SB), NOSPLIT, $0
	JMP ·erf(SB)

TEXT ·Erfc(SB), NOSPLIT, $0
	JMP ·erfc(SB)

TEXT ·Exp(SB), NOSPLIT, $0
	JMP ·exp(SB)

TEXT ·Max(SB), NOSPLIT, $0
	JMP ·max(SB)

TEXT ·Min(SB), NOSPLIT, $0
	JMP ·min(SB)

TEXT ·Pow(SB), NOSPLIT, $0
	JMP ·pow(SB)

TEXT ·Sin(SB), NOSPLIT, $0
	JMP ·sin(SB)

TEXT ·Sinh(SB), NOSPLIT, $0
	JMP ·sinh(SB)

TEXT ·Tan(SB), NOSPLIT, $0
	JMP ·tan(SB)

TEXT ·Tanh(SB), NOSPLIT, $0
	JMP ·tanh(SB)
