Follow @Openwall on Twitter for new release announcements and other news
[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <tencent_3FE6CDED4F8BDB5D27463C26@qq.com>
Date: Tue, 11 Feb 2020 23:51:51 +0800
From: "mg1633068" <songyue@...il.nju.edu.cn>
To: "musl" <musl@...ts.openwall.com>
Subject: casinh function accuracy problem

Hi everyone,
I'm writing testcases for complex math function. Considering the following simple code

#include <stdio.h>
#include <complex.h>
int main(int argc, char *argv[])
{
    double complex d = 3.0+6.6*I;
    double complex ret = casinh(d);
    printf("casinh(3.0+6.6*I)=%.15f+%.15f*I\n", creal(ret), cimag(ret));

    return 0;
}

With musl libc, the result is:
    casinh(3.0+6.6*I)=2.671002221994648+1.140551372972568*I
but with glibc, the result is:
    casinh(3.0+6.6*I)=2.671002221994652+1.140551372972565*I

We can see that musl is less accurate. I'm trying to solve this problem.
With little knowledge of numerical computing, any comment is appreciated!

Thank you in advance!

BR,
Song Yue

Powered by blists - more mailing lists

Confused about mailing lists and their use? Read about mailing lists on Wikipedia and check out these guidelines on proper formatting of your messages.