// File: /workspace/github_cpp_makefile_star2_O1/philipperemy[P]digital-setting-circles/Test.cpp
// Function: Test::test_MathLib_hyperbolic()
void Test::test_MathLib_hyperbolic()
{
    setUpErrorMessage("test_MathLib_hyperbolic() - failed");

    assertEquals((MathLib::exp(3) + MathLib::exp(-3))/2, MathLib::cosh(3));
    assertEquals((MathLib::exp(3) - MathLib::exp(-3))/2, MathLib::sinh(3));
    assertEquals((MathLib::exp(3) - MathLib::exp(-3))/(MathLib::exp(3) + MathLib::exp(-3)), MathLib::tanh(3));

    assertEquals(MathLib::log(33 + MathLib::sqrt(33*33 - 1)), MathLib::acosh(33));
    assertEquals(MathLib::log(33 + MathLib::sqrt(33*33 + 1)), MathLib::asinh(33));

    //ERREUR NEED TO SEE WHATS GOING ON THERE
    //assertEquals(MathLib::log(0.5*MathLib::log((double)(1.0+0.6)/(1.0-0.6))), MathLib::atanh(0.6));

}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %rbx
subq $0x38, %rsp
movq %rdi, %rbx
leaq -0x38(%rbp), %r15
movq %r15, -0x10(%r15)
leaq 0xa7b5(%rip), %rsi      # 0x31d02
leaq 0xa7d0(%rip), %rdx      # 0x31d24
leaq -0x48(%rbp), %r14
movq %r14, %rdi
callq 0x4e0a
movq %rbx, %rdi
movq %r14, %rsi
callq 0x28e38
movq -0x48(%rbp), %rdi
cmpq %r15, %rdi
je 0x27580
movq -0x38(%rbp), %rsi
incq %rsi
callq 0x32e0
movsd 0xa4d8(%rip), %xmm0     # 0x31a60
callq 0x577e
movsd %xmm0, -0x20(%rbp)
movsd 0x5fc6(%rip), %xmm0     # 0x2d560
callq 0x577e
addsd -0x20(%rbp), %xmm0
mulsd 0x4a94(%rip), %xmm0     # 0x2c040
movsd %xmm0, -0x20(%rbp)
movsd 0xa4a7(%rip), %xmm0     # 0x31a60
callq 0x5742
movaps %xmm0, %xmm1
movq %rbx, %rdi
movsd -0x20(%rbp), %xmm0
callq 0x2943c
movsd 0xa48a(%rip), %xmm0     # 0x31a60
callq 0x577e
movsd %xmm0, -0x20(%rbp)
movsd 0x5f78(%rip), %xmm0     # 0x2d560
callq 0x577e
movsd -0x20(%rbp), %xmm1
subsd %xmm0, %xmm1
mulsd 0x4a42(%rip), %xmm1     # 0x2c040
movsd %xmm1, -0x20(%rbp)
movsd 0xa455(%rip), %xmm0     # 0x31a60
callq 0x574c
movaps %xmm0, %xmm1
movq %rbx, %rdi
movsd -0x20(%rbp), %xmm0
callq 0x2943c
movsd 0xa438(%rip), %xmm0     # 0x31a60
callq 0x577e
movsd %xmm0, -0x20(%rbp)
movsd 0x5f26(%rip), %xmm0     # 0x2d560
callq 0x577e
movsd -0x20(%rbp), %xmm1
subsd %xmm0, %xmm1
movsd %xmm1, -0x20(%rbp)
movsd 0xa40b(%rip), %xmm0     # 0x31a60
callq 0x577e
movsd %xmm0, -0x28(%rbp)
movsd 0x5ef9(%rip), %xmm0     # 0x2d560
callq 0x577e
addsd -0x28(%rbp), %xmm0
movsd -0x20(%rbp), %xmm1
divsd %xmm0, %xmm1
movsd %xmm1, -0x20(%rbp)
movsd 0xa3d9(%rip), %xmm0     # 0x31a60
callq 0x5756
movaps %xmm0, %xmm1
movq %rbx, %rdi
movsd -0x20(%rbp), %xmm0
callq 0x2943c
movsd 0xa46c(%rip), %xmm0     # 0x31b10
callq 0x57ec
addsd 0xa41f(%rip), %xmm0     # 0x31ad0
callq 0x579c
movsd %xmm0, -0x20(%rbp)
movsd 0xa40d(%rip), %xmm0     # 0x31ad0
callq 0x5760
movaps %xmm0, %xmm1
movq %rbx, %rdi
movsd -0x20(%rbp), %xmm0
callq 0x2943c
movsd 0xa438(%rip), %xmm0     # 0x31b18
callq 0x57ec
addsd 0xa3e3(%rip), %xmm0     # 0x31ad0
callq 0x579c
movsd %xmm0, -0x20(%rbp)
movsd 0xa3d1(%rip), %xmm0     # 0x31ad0
callq 0x576a
movaps %xmm0, %xmm1
movq %rbx, %rdi
movsd -0x20(%rbp), %xmm0
callq 0x2943c
addq $0x38, %rsp
popq %rbx
popq %r14
popq %r15
popq %rbp
retq
movq %rax, %rbx
movq -0x48(%rbp), %rdi
cmpq %r15, %rdi
je 0x27737
movq -0x38(%rbp), %rsi
incq %rsi
callq 0x32e0
movq %rbx, %rdi
callq 0x34b0
nop