On Fri, 12 Nov 2021 05:47:56 GMT, Jeremy <d...@openjdk.java.net> wrote:
>> see condition number = magnitude range on such plot: >> https://github.com/JuliaMath/AccurateArithmetic.jl/blob/master/test/figs/sum_accuracy.svg > > I just pushed a commit ( 40bda06 ) that addresses the machine error problem > to my satisfaction. It includes a unit test that failed before that commit > and now passes. > > At your convenience let me know your thoughts. (That commit continues to > focus on very small doubles; it may (?) need help to address very large > double errors.) That looks interesting as the new margin looks like ulp(x - bbox), however it may be not enough as the position error depends on curve polynom coefficients (magnitude). I derived your (yesterday) test to play with the margin and try small to huge curves. I found the condition number ~ sum (abs(coeffs)) so margin = math.ulp(cond). But sometimes the quad solver is giving t with few ulps error that cause high position shifts. I will go on testing your last approach and share my experiments ------------- PR: https://git.openjdk.java.net/jdk/pull/6227