egg|nomz|egg changed the topic of #kspacademia to: https://gist.github.com/pdn4kd/164b9b85435d87afbec0c3a7e69d3e6d | Dogs are cats. Spiders are cat interferometers. | Космизм сегодня! | Document well, for tomorrow you may get mauled by a ネコバス. | <UmbralRaptor> egg|nomz|egg: generally if your eyes are dewing over, that's not the weather. | <ferram4> I shall beat my problems to death with an engineer.
<kmath>
<N3X15> I've tried several times to work with them on it. But time and time again, I get fucked and have to make a manual… https://t.co/rKoUTpBe3p
<bofh>
Like this is why I pay rent with physical checks still tbh.
<kmath>
<PlavchanPeter> 1 of many reasons to NOT cut @NASAedu funding as proposed in the FY19 WH budget request: the SpaceGrant program! In… https://t.co/st7SJQIFRw
<egg>
bofh: excluding cases where the nonsense I do that involves doubles overflows, it's correctly rounded because it crashes if it encounters a tie, and since it uses truncation not enough bits for round to nearest results in a tie :-p
* UmbralRaptop
stares at egg.
<UmbralRaptop>
*crashing* is correct behavior? o_O
<egg>
UmbralRaptop: well, if it returns the result is correctly rounded
<egg>
and it probably returns, but I don't want it to silently incorrectly round since the point of this function is that it correctly rounds at any cost
<UmbralRaptop>
Crashing makes it sound like there's no error message, though.
awang has joined #kspacademia
<bofh>
egg: rofl
<UmbralRaptop>
… I've been so corrupted by the internet that my first thought upon seeing this label is that I can make a tuna sandwich with it. https://photos.app.goo.gl/5VQmDufUqIRKSJ8o1
<bofh>
otherwise uh it feels like you're hitting a case where you're borrowing from the exponent in your mantissa (consider that invsqrt magic constant paper and how he divided the functions to optimize into different classes based on whether your exponent was even or odd)
<bofh>
like basically I am curious if the brokenness is happening for a given exponent value mod 3
<bofh>
or if it's totally random against that
<egg>
yeah, it's in [4, 8[
<egg>
there's some elementarily broken logic three
<egg>
s/three/there
<bofh>
since it's weirdly close to exactly a third.
<Qboid>
egg meant to say: there's some elementarily broken logic there
<egg>
1.90198 not in {0.475496, 0.475496}
<egg>
with y=6.88049
<egg>
etc.
<bofh>
LOL
<bofh>
YEAH I WOULD HOPE IT'S NOT
<egg>
bofh: 0x1p300 because the root is in integer arithmetic, so I need to shift the decimal point far, far away
<egg>
tried 0x1p201 previously and got the tie mentioned above so went with 0x1p300 which doesn't hit ties on ten million random values :-p
<bofh>
ahh.
<egg>
bofh: I'm suspecting my while loop
<egg>
is it obviously wrong
<bofh>
I'm not seeing any *obvious* errors offhand
<egg>
(ignore any overflows, ignore negatives, ignore underflows, we're in [1,8[)
<bofh>
yeah obv
<egg>
;rpn 0.475496 2 *
<kmath>
egg: 0.950992
<egg>
;rpn 0.475496 3 *
<kmath>
egg: 1.426488
<egg>
;rpn 0.475496 4 *
<kmath>
egg: 1.901984
<egg>
so I'm off by a factor of 4 somehow
<egg>
if y is in [4, 8[
<egg>
bofh: in [4,8[ exponent is 3, right?
* egg
pokes frexp with a stick
<bofh>
egg: yes, I think
<egg>
bofh: -exponent/3 has the wrong sign?
<egg>
bofh: okay that's more reasonable:
<egg>
Tested 10000000 values in [1, 8[.
<egg>
incorrect roundings : 3028009(30.2801 %)
<egg>
unfaithful roundings : 267162(2.67162 %)
<egg>
(microsoft)
<egg>
atlas:
<egg>
Tested 10000000 values in [1, 8[.
<egg>
unfaithful roundings : 0(0 %)
<egg>
incorrect roundings : 802855(8.02855 %)
<egg>
egg:
<egg>
Tested 10000000 values in [1, 8[.
<egg>
incorrect roundings : 101(0.00101 %)
<egg>
unfaithful roundings : 0(0 %)
<egg>
bofh: they're good cube roots brent
<egg>
bofh: I should try the sun microsystems implementation and its variations someday (also maybe the glibc thing)
<egg>
bofh: 0.000873 % on 100000000 values
<egg>
(percentages are getting clumsy)
<egg>
bofh: 8.73 ppm incorrect roundings
<bofh>
rofl
<egg>
bofh: so interestingly clobbering more than 36 bits makes things worse (currently sitting at 12-13 ppm and refining)
<bofh>
I'm not surprised, clobbering more bits would rather unsurprisingly be bad, you lose actual precision then
<egg>
bofh: it's not clear that you have 16 bits
<egg>
bofh: I think you don't have 16 bits worst case, at least
<egg>
(and I'm not doing an error analysis that yields percentiles, the maximum norm is sufficiently maddening thanks :-p)
<bofh>
rofl so like the maximum norm suffices here imho
<egg>
bofh: hm, descending to 5th order householder might be improving things otoh
<egg>
bofh: yeah but additional clobbering might improve the maximum norm :-p
<egg>
hmmm, nah, 5th order householder is either worsening things or not significantly improving them
<egg>
(and iirc it doesn't change performance because the critical path is the same depth so meh)
<egg>
bofh: actually the critical path being the same depth kind of relates to the rounding errors being the same
<egg>
bofh: got 8.60 ppm on the same sample values, really not sure whether it's actually improving things (e.g. at 89000000 it was still at 8.81 ppm, this stuff fluctuates quite a bit)
<egg>
bofh: fmas don't appear to noticeably improve precision either, although if they were done in hardware they would probably nicely improve performance
<egg|phone|egg>
Why am I awake
<egg|phone|egg>
喵
Majiir is now known as Snoozee
Snoozee has quit [Ping timeout: 190 seconds]
Majiir has joined #kspacademia
<egg>
!wpn whitequark
* Qboid
gives whitequark a power polytrope
<egg>
!wpn котя
* Qboid
gives котя a molten barrel
egg|phone|egg has quit [Remote host closed the connection]
<egg>
!acr -add:DIP Dual In-line Package
<Qboid>
egg: I already know an explanation for DIP! (Update it with !acr -update:DIP Dual In-line Package)
<egg>
DIP?
<Qboid>
egg: [DIP] => Dual In-line Package
<egg>
hah
<egg>
whitequark: the "bug" terminology is also used for non-DIP packages?
<Qboid>
whitequark: I already know an explanation for TSOP! (Update it with !acr -update:TSOP Thin Shrink Outline Package)
<whitequark>
egg|work|egg: ha
<whitequark>
I wondered who added these
<egg|work|egg>
whitequark: essentially what was there before you came is largely astronomy or aerospace
<egg|work|egg>
HD?
<Qboid>
egg|work|egg: [HD] => Henry Draper
<egg|work|egg>
PAL?
<Qboid>
egg|work|egg: [PAL] => Propulseur d'Appoint à Liquides
<whitequark>
SECAM?
<Qboid>
whitequark: [SECAM] => SÉquentiel Couleur Avec Mémoire
<egg|work|egg>
whitequark: yeah I added that one after adding PAL for maximum trolling
<whitequark>
...
<egg|work|egg>
SÉCAM?
<egg|work|egg>
huh
<egg|work|egg>
whitequark: actually related to PAL, there's PAP
<egg|work|egg>
PAP?
<Qboid>
egg|work|egg: [PAP] => Propulseur d'Appoint à Poudre
<egg|work|egg>
(liquid and solid boosters of Ariane 4 respectively)
<whitequark>
analog delay lines...
<whitequark>
PoP?
<Qboid>
whitequark: [PoP] => Package-on-Package
<egg|work|egg>
whitequark: but it says "d'appoint" which clarifies the fact that you don't actually need to have them on, whereas "booster" doesn't imply that
<egg|work|egg>
whitequark: e.g. Ariane 5 doesn't have propulseurs d'appoint, it has an étage d'acceleration (an acceleration stage)
<egg|work|egg>
because if you remove that it goes down rather than up :-p
<iximeow>
the C# repl bundled with mono crashes if you line wrap
<iximeow>
oh my god
<UmbralRaptop>
o_O
<iximeow>
the reason doesn't make it any better
<iximeow>
(they try to have an autocomplete dropdown for fields/methods/types, and if that would go past the right side of the terminal it tries to set position to an invalid position to draw it)
* iximeow
mental note to report bug/PR after work
awang has joined #kspacademia
<egg>
!wpn bofh
* Qboid
gives bofh a chlorine class
<egg>
bofh: yeah so I'm finding eggsperimentally 111111111111111 as the longest run of 1s after a 0 and 0000000000000000 as the longest run of 0s following a 1 as the round bit of a cube root of a binary64?
<egg>
bofh: also eggsperimentally, my cbrt has a max error of at least 0,500077 ULPs
<egg>
I feel like it should be possible to bound that fairly decently on the other side by taking another look at that error analysis
<egg>
bofh: but as for the number of bit needed, it's weird that I'm not seeing anything with more than a third of the bits in the run?
<bofh>
I mean intuitively after a bit of thought that makes sense, you have p bits of mantissa & it's a cube root, so p/3+1 is sensible even if it also seems a bit small.
<egg>
hm I can find 1111111111111111 too, but that's just one more than the other
<egg>
bofh: intuitively as in there's a 3 and a p, or do you have a vague direction for something that might conceivably yield a proof
<kmath>
<cathomas09> Graduate advisor just sent me this fun fact: "This week contains Friday APRIL 13. After this week, the next occurre… https://t.co/Hmpgy7xcaC
* UmbralRaptop
🔪 Proxima Centauri again.
* UmbralRaptop
will apparently be calculating stellar parameters from photometry.
<bofh>
ouch
<UmbralRaptop>
It's only the second closest star to earth…