< 1497225727 0 :oerjan!~oerjan@hagbart.nvg.ntnu.no JOIN :#esoteric < 1497225854 0 :oerjan!~oerjan@hagbart.nvg.ntnu.no PRIVMSG #esoteric :@metar ENVA < 1497225854 0 :lambdabot!~lambdabot@haskell/bot/lambdabot PRIVMSG #esoteric :ENVA 112250Z 12005KT 9999 -RA FEW039 SCT074CB BKN098 14/12 Q0998 RMK WIND 670FT 23010KT < 1497225862 0 :oerjan!~oerjan@hagbart.nvg.ntnu.no PRIVMSG #esoteric :SO HUMID < 1497226422 0 :fizzie!?@? PRIVMSG #esoteric :@metar EGLL < 1497226422 0 :lambdabot!~lambdabot@haskell/bot/lambdabot PRIVMSG #esoteric :EGLL 112250Z AUTO 25012KT 9999 FEW032 15/08 Q1015 NOSIG < 1497227410 0 :Phantom_Hoover!~phantomho@unaffiliated/phantom-hoover QUIT :Read error: Connection reset by peer < 1497227841 0 :sleffy!~sleffy@c-24-7-67-0.hsd1.ca.comcast.net QUIT :Ping timeout: 260 seconds < 1497228089 0 :HackEgo!~HackEgo@162.248.166.242 PRIVMSG #esoteric :[wiki] 14[[07Special:Log/newusers14]]4 create10 02 5* 03Theking42 5* 10New user account < 1497228302 0 :HackEgo!~HackEgo@162.248.166.242 PRIVMSG #esoteric :[wiki] 14[[07Esolang:Introduce yourself14]]4 10 02https://esolangs.org/w/index.php?diff=52145&oldid=52135 5* 03Theking42 5* (+148) 10/* Introductions */ < 1497228310 0 :HackEgo!~HackEgo@162.248.166.242 PRIVMSG #esoteric :[wiki] 14[[07Total BF14]]4 10 02https://esolangs.org/w/index.php?diff=52146&oldid=28221 5* 03Theking42 5* (+43) 10Added some categories < 1497228639 0 :HackEgo!~HackEgo@162.248.166.242 PRIVMSG #esoteric :[wiki] 14[[07Category:Total14]]4 N10 02https://esolangs.org/w/index.php?oldid=52147 5* 03Theking42 5* (+585) 10Created page with "A total programming language is one in which all programs are guaranteed to terminate. As such, such languages are not Turing complete. It is also impossible to implement a se..." < 1497229215 0 :Akaibu!uid118096@gateway/web/irccloud.com/x-nvfqpnjxunlibqrp JOIN :#esoteric < 1497229648 0 :HackEgo!~HackEgo@162.248.166.242 PRIVMSG #esoteric :[wiki] 14[[07Category:Total14]]4 10 02https://esolangs.org/w/index.php?diff=52148&oldid=52147 5* 03Theking42 5* (+203) 10 < 1497229882 0 :sleffy!~sleffy@c-24-7-67-0.hsd1.ca.comcast.net JOIN :#esoteric < 1497229924 0 :jaboja!~jaboja@jaboja.pl QUIT :Remote host closed the connection < 1497230620 0 :jaboja!~jaboja@jaboja.pl JOIN :#esoteric < 1497231526 0 :jaboja!~jaboja@jaboja.pl QUIT :Remote host closed the connection < 1497232305 0 :doesthiswork!~Adium@207.55.82.149 JOIN :#esoteric < 1497232812 0 :LKoen!~LKoen@2a01:e35:2eed:a430:d1bf:ca00:721b:8492 QUIT :Quit: “It’s only logical. First you learn to talk, then you learn to think. Too bad it’s not the other way round.” < 1497233426 0 :augur!~augur@2601:643:8400:9b9b:90cf:201e:3de7:2570 JOIN :#esoteric < 1497237345 0 :HackEgo!~HackEgo@162.248.166.242 PRIVMSG #esoteric :[wiki] 14[[07Special:Log/newusers14]]4 create10 02 5* 03PedroContipelli 5* 10New user account < 1497237855 0 :HackEgo!~HackEgo@162.248.166.242 PRIVMSG #esoteric :[wiki] 14[[07Esolang:Introduce yourself14]]4 10 02https://esolangs.org/w/index.php?diff=52149&oldid=52145 5* 03PedroContipelli 5* (+115) 10 < 1497237894 0 :HackEgo!~HackEgo@162.248.166.242 PRIVMSG #esoteric :[wiki] 14[[07Language list14]]4 10 02https://esolangs.org/w/index.php?diff=52150&oldid=52142 5* 03PedroContipelli 5* (+11) 10 < 1497238269 0 :HackEgo!~HackEgo@162.248.166.242 PRIVMSG #esoteric :[wiki] 14[[07Language list14]]4 10 02https://esolangs.org/w/index.php?diff=52151&oldid=52150 5* 03Oerjan 5* (-11) 10Undo revision 52150 by [[Special:Contributions/PedroContipelli|PedroContipelli]] ([[User talk:PedroContipelli|talk]]) (We have that in the joke language list) < 1497241585 0 :oerjan!~oerjan@hagbart.nvg.ntnu.no QUIT :Quit: Nite < 1497246482 0 :zzo38!~zzo38@24-207-56-48.eastlink.ca PRIVMSG #esoteric :Is this document OK? http://zzo38computer.org/fossil/farbfeld.ui/wiki?name=ffjpeg < 1497247089 0 :lifthrasiir!~lifthrasi@ec2-52-79-98-81.ap-northeast-2.compute.amazonaws.com QUIT :Remote host closed the connection < 1497247652 0 :lifthrasiir!~lifthrasi@ec2-52-79-98-81.ap-northeast-2.compute.amazonaws.com JOIN :#esoteric < 1497250326 0 :HackEgo!~HackEgo@162.248.166.242 PRIVMSG #esoteric :[wiki] 14[[07Talk:Kangaroo14]]4 N10 02https://esolangs.org/w/index.php?oldid=52152 5* 03Zzo38 5* (+288) 10/* Matrix Kangaroo */ new section < 1497250688 0 :FreeFull!~freefull@defocus/sausage-lover QUIT : < 1497251857 0 :Sgeo_!~Sgeo@ool-18e4354b.dyn.optonline.net JOIN :#esoteric < 1497252089 0 :Sgeo!~Sgeo@ool-18e4354b.dyn.optonline.net QUIT :Ping timeout: 268 seconds < 1497254913 0 :sleffy!~sleffy@c-24-7-67-0.hsd1.ca.comcast.net QUIT :Ping timeout: 240 seconds < 1497257922 0 :augur!~augur@2601:643:8400:9b9b:90cf:201e:3de7:2570 QUIT :Remote host closed the connection < 1497257971 0 :doesthiswork!~Adium@207.55.82.149 QUIT :Quit: Leaving. < 1497259040 0 :augur!~augur@2601:643:8400:9b9b:90cf:201e:3de7:2570 JOIN :#esoteric < 1497259327 0 :augur!~augur@2601:643:8400:9b9b:90cf:201e:3de7:2570 QUIT :Ping timeout: 240 seconds < 1497264500 0 :augur!~augur@2601:643:8400:9b9b:90cf:201e:3de7:2570 JOIN :#esoteric < 1497264772 0 :augur!~augur@2601:643:8400:9b9b:90cf:201e:3de7:2570 QUIT :Ping timeout: 246 seconds < 1497265243 0 :boily!~alexandre@cable-192.222.245.222.electronicbox.net JOIN :#esoteric < 1497268790 0 :LKoen!~LKoen@2a01:e35:2eed:a430:d0cd:946d:672f:a8a1 JOIN :#esoteric < 1497269727 0 :boily!~alexandre@cable-192.222.245.222.electronicbox.net PRIVMSG #esoteric :`w < 1497269730 0 :HackEgo!~HackEgo@162.248.166.242 PRIVMSG #esoteric :usa//USA apparently doesn't stand for United State Automaton. < 1497269928 0 :augur!~augur@2601:643:8400:9b9b:90cf:201e:3de7:2570 JOIN :#esoteric < 1497270106 0 :HackEgo!~HackEgo@162.248.166.242 PRIVMSG #esoteric :[wiki] 14[[07Talk:Footsteps14]]4 N10 02https://esolangs.org/w/index.php?oldid=52153 5* 03Keymaker 5* (+407) 10More undefined behaviour? < 1497270191 0 :boily!~alexandre@cable-192.222.245.222.electronicbox.net QUIT :Quit: WORTH CHICKEN < 1497270198 0 :augur!~augur@2601:643:8400:9b9b:90cf:201e:3de7:2570 QUIT :Ping timeout: 246 seconds < 1497271643 0 :LKoen!~LKoen@2a01:e35:2eed:a430:d0cd:946d:672f:a8a1 QUIT :Quit: “It’s only logical. First you learn to talk, then you learn to think. Too bad it’s not the other way round.” < 1497271790 0 :h0rsep0wer!~h0rsep0we@unaffiliated/h0rsep0wer JOIN :#esoteric < 1497271948 0 :int-e!~noone@int-e.eu PRIVMSG #esoteric :`cwlprits USA < 1497271956 0 :HackEgo!~HackEgo@162.248.166.242 PRIVMSG #esoteric :No output. < 1497271961 0 :int-e!~noone@int-e.eu PRIVMSG #esoteric :. o O ( shouldn't it be "unified" or "universal" ) < 1497271970 0 :int-e!~noone@int-e.eu PRIVMSG #esoteric :`cwlprits usa < 1497271977 0 :HackEgo!~HackEgo@162.248.166.242 PRIVMSG #esoteric :oerjän coppr̈o oerjän < 1497275359 0 :augur!~augur@2601:643:8400:9b9b:90cf:201e:3de7:2570 JOIN :#esoteric < 1497275653 0 :augur!~augur@2601:643:8400:9b9b:90cf:201e:3de7:2570 QUIT :Ping timeout: 258 seconds < 1497276034 0 :doesthiswork!~Adium@207.55.82.149 JOIN :#esoteric < 1497276579 0 :kerbal!aeffcc98@gateway/web/freenode/ip.174.255.204.152 JOIN :#esoteric < 1497277417 0 :kerbal!aeffcc98@gateway/web/freenode/ip.174.255.204.152 QUIT :Ping timeout: 260 seconds < 1497277708 0 :jaboja!~jaboja@jaboja.pl JOIN :#esoteric < 1497278330 0 :sebbu2!~sebbu@unaffiliated/sebbu JOIN :#esoteric < 1497278540 0 :sebbu!~sebbu@unaffiliated/sebbu QUIT :Ping timeout: 255 seconds < 1497278693 0 :`^_^v!~nycs@gw.hq.meetup.com JOIN :#esoteric < 1497279349 0 :h0rsep0wer!~h0rsep0we@unaffiliated/h0rsep0wer QUIT :Quit: Leaving < 1497280674 0 :oerjan!~oerjan@hagbart.nvg.ntnu.no JOIN :#esoteric < 1497280785 0 :augur!~augur@2601:643:8400:9b9b:90cf:201e:3de7:2570 JOIN :#esoteric < 1497281154 0 :augur!~augur@2601:643:8400:9b9b:90cf:201e:3de7:2570 QUIT :Ping timeout: 255 seconds < 1497281541 0 :nullcone!uid11626@gateway/web/irccloud.com/x-hvqmgbbraflhmxbi QUIT :Quit: Connection closed for inactivity < 1497281665 0 :sebbu2!?@? NICK :sebbu < 1497282190 0 :atslash!~atslash@static.231.107.9.5.clients.your-server.de QUIT :Ping timeout: 260 seconds < 1497282236 0 :atslash!~atslash@broadband-46-188-0-82.2com.net JOIN :#esoteric < 1497283051 0 :LKoen!~LKoen@2a01:e35:2eed:a430:dd65:6c77:7f27:e10a JOIN :#esoteric < 1497283232 0 :`^_^v!~nycs@gw.hq.meetup.com QUIT :Quit: Leaving < 1497283242 0 :`^_^v!~nycs@gw.hq.meetup.com JOIN :#esoteric < 1497284658 0 :Zarutian!~zarutian@168-110-22-46.fiber.hringdu.is JOIN :#esoteric < 1497286214 0 :augur!~augur@2601:643:8400:9b9b:90cf:201e:3de7:2570 JOIN :#esoteric < 1497286488 0 :augur!~augur@2601:643:8400:9b9b:90cf:201e:3de7:2570 QUIT :Ping timeout: 240 seconds < 1497287388 0 :atslash!~atslash@broadband-46-188-0-82.2com.net QUIT :Ping timeout: 240 seconds < 1497287423 0 :atslash!~atslash@static.231.107.9.5.clients.your-server.de JOIN :#esoteric < 1497288315 0 :HackEgo!~HackEgo@162.248.166.242 PRIVMSG #esoteric :[wiki] 14[[07User:MD XF14]]4 10 02https://esolangs.org/w/index.php?diff=52154&oldid=52115 5* 03MD XF 5* (+184) 10Triangular < 1497289083 0 :LKoen!~LKoen@2a01:e35:2eed:a430:dd65:6c77:7f27:e10a QUIT :Remote host closed the connection < 1497289470 0 :jaboja!~jaboja@jaboja.pl QUIT :Ping timeout: 255 seconds < 1497289566 0 :atslash!~atslash@static.231.107.9.5.clients.your-server.de QUIT :Quit: Leaving < 1497289702 0 :DHeadshot!~DHeadshot@cpc88301-woki8-2-0-cust688.6-2.cable.virginm.net JOIN :#esoteric < 1497289926 0 :augur!~augur@2601:643:8400:9b9b:90cf:201e:3de7:2570 JOIN :#esoteric < 1497291163 0 :FreeFull!~freefull@defocus/sausage-lover JOIN :#esoteric < 1497291722 0 :oerjan!~oerjan@hagbart.nvg.ntnu.no QUIT :Quit: Later < 1497292194 0 :erkin!~erkin@unaffiliated/erkin JOIN :#esoteric < 1497292934 0 :jaboja!~jaboja@jaboja.pl JOIN :#esoteric < 1497293287 0 :sleffy!~sleffy@c-24-7-67-0.hsd1.ca.comcast.net JOIN :#esoteric < 1497294332 0 :Kerbal!683239a0@gateway/web/freenode/ip.104.50.57.160 JOIN :#esoteric < 1497294333 0 :jaboja!~jaboja@jaboja.pl QUIT :Ping timeout: 240 seconds < 1497294398 0 :LKoen!~LKoen@vbo91-1-82-238-218-67.fbx.proxad.net JOIN :#esoteric < 1497294423 0 :Kerbal!683239a0@gateway/web/freenode/ip.104.50.57.160 PRIVMSG #esoteric :Hi < 1497294527 0 :zzo38!~zzo38@24-207-56-48.eastlink.ca PRIVMSG #esoteric :Hello < 1497294663 0 :LKoen!~LKoen@vbo91-1-82-238-218-67.fbx.proxad.net QUIT :Ping timeout: 240 seconds < 1497295264 0 :Phantom_Hoover!~phantomho@unaffiliated/phantom-hoover JOIN :#esoteric < 1497295703 0 :Kerbal!683239a0@gateway/web/freenode/ip.104.50.57.160 PRIVMSG #esoteric :Hey, is the user who wrote Triangular online? I have a question for him or her < 1497295885 0 :zzo38!~zzo38@24-207-56-48.eastlink.ca PRIVMSG #esoteric :I don't know < 1497295907 0 :Kerbal!683239a0@gateway/web/freenode/ip.104.50.57.160 PRIVMSG #esoteric :ah < 1497296015 0 :nullcone!uid11626@gateway/web/irccloud.com/x-knosoovkgvkiwrcs JOIN :#esoteric < 1497297057 0 :wob_jonas!b03f1256@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.18.86 JOIN :#esoteric < 1497297858 0 :zzo38!~zzo38@24-207-56-48.eastlink.ca PRIVMSG #esoteric :Does MMIX define a specific method of converting between single precision and double precision numbers? < 1497297936 0 :wob_jonas!b03f1256@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.18.86 PRIVMSG #esoteric :zzo38: yes, but it only stores double precision in registers (just like how traditional 387 only stores extended precision in its registers), so it only has load and store single float instructions, and an instruction that rounds to a single but keeps the result in double format. < 1497297987 0 :zzo38!~zzo38@24-207-56-48.eastlink.ca PRIVMSG #esoteric :I know what instructions it has, I meant if there is a guaranteed result of the way the number is encoded when the conversion is done in either direction. < 1497297998 0 :wob_jonas!b03f1256@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.18.86 PRIVMSG #esoteric :zzo38: this is also analogous to how modern x86 only stores single and double precision in XMM/YMM registers, but now has instructions to load and store half-precision floats (at least one of the half-precision formats) < 1497298047 0 :int-e!~noone@int-e.eu PRIVMSG #esoteric :you seem to be talking cross purposes < 1497298066 0 :Sprocklem!~sprocklem@unaffiliated/sprocklem QUIT :Quit: [ < 1497298086 0 :zzo38!~zzo38@24-207-56-48.eastlink.ca PRIVMSG #esoteric :int-e: I do not understand? < 1497298090 0 :wob_jonas!b03f1256@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.18.86 PRIVMSG #esoteric :zzo38: I don't quite understand the question there. the single and double floating point formats are quite well specified, so there can only be flexibility when you need to represent a NaN value. I'm not sure if MMIX specifies how NaNs are represented, and it's possible you have to wait for reworked volume 4 for that. < 1497298138 0 :wob_jonas!b03f1256@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.18.86 PRIVMSG #esoteric :zzo38: it works the same as other operations: you convert by taking the real value the source float represents, and taking the closest representable float in the destination format according to the roudning mode < 1497298179 0 :wob_jonas!b03f1256@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.18.86 PRIVMSG #esoteric :so if the rounding mode is round to nearest, then it takes the float closest to the theoretical value, or the one with zero last bit if there's two equally close ones < 1497298195 0 :wob_jonas!b03f1256@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.18.86 PRIVMSG #esoteric :just like how arithmetic on floats works, as explained in volume 3 < 1497298202 0 :wob_jonas!b03f1256@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.18.86 PRIVMSG #esoteric :s/volume 4/volume 2/ < 1497298205 0 :wob_jonas!b03f1256@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.18.86 PRIVMSG #esoteric :s/volume 3/volume 2/ < 1497298214 0 :wob_jonas!b03f1256@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.18.86 PRIVMSG #esoteric :I'm confused about volume numbers, but you know < 1497298219 0 :zzo38!~zzo38@24-207-56-48.eastlink.ca PRIVMSG #esoteric :I mean if you have one sequence of bits in one format and convert to the other format, if you are guaranteed to get the same sequence of bits as a result on all implementations or not. < 1497298220 0 :wob_jonas!b03f1256@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.18.86 PRIVMSG #esoteric :volume 2 explains how floating point arithmetic works < 1497298235 0 :zzo38!~zzo38@24-207-56-48.eastlink.ca PRIVMSG #esoteric :(Assuming all of the modes and so on are set the same way) < 1497298258 0 :wob_jonas!b03f1256@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.18.86 PRIVMSG #esoteric :zzo38: if the value is not NaN, and you use the same operations and same rounding mode, then you're definitely guaranteed the same sequence of bits in the result. If the value is a NaN, then I'm not sure. < 1497298339 0 :wob_jonas!b03f1256@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.18.86 PRIVMSG #esoteric :For non-NaN, MMIX and other modern cpus work the same way, deterministically. For NaN results, I'm not sure what MMIX does, and x86 is a bit complicated and partly depends on what instructions you use and partly implementation-defined. < 1497298340 0 :erkin!~erkin@unaffiliated/erkin QUIT :Read error: Connection reset by peer < 1497298425 0 :int-e!~noone@int-e.eu PRIVMSG #esoteric :zzo38: I meant that you asked about how rounding is done and wob_jonas answered with when rounding is done... but it's all okay now < 1497298523 0 :zzo38!~zzo38@24-207-56-48.eastlink.ca PRIVMSG #esoteric :I think that may be a definition should be made up for if the value is NaN, probably whatever kind would be simplest in hardware while still resulting NaN, and then define it as that way. < 1497298610 0 :wob_jonas!b03f1256@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.18.86 PRIVMSG #esoteric :zzo38: there is probably a definition about how MMIX handles NaN, but I'm not sure if it's already in the volume 1 MMIX fascicle, or is only in MMIXware and the part of future volume 2 that talks about infinities and NaNs. < 1497298663 0 :zzo38!~zzo38@24-207-56-48.eastlink.ca PRIVMSG #esoteric :I do not actually have the book, but I can look in MMIXware and see if it says if it is supposed to be guaranteed. < 1497298888 0 :wob_jonas!b03f1256@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.18.86 PRIVMSG #esoteric :Also, what I said above doesn't apply to the x87 transcendent instructions (F2XM1, FYL2X, FYL2XP1, FCOS, FSIN, FSINCOS, FPTAN, FPATAN), which are essentially not deterministic and partly implementation-defined; also nothing I say applies to 287 and 8087 (the chips before 387) which are not modern and has strange quirks. < 1497298909 0 :wob_jonas!b03f1256@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.18.86 PRIVMSG #esoteric :But MMIX and SSE don't have such transcendental instructions, and these x87 ones are kept only for compatibility. < 1497298976 0 :zzo38!~zzo38@24-207-56-48.eastlink.ca PRIVMSG #esoteric :I am asking only about MMIX anyways < 1497299003 0 :erkin!~erkin@unaffiliated/erkin JOIN :#esoteric < 1497299034 0 :wob_jonas!b03f1256@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.18.86 PRIVMSG #esoteric :Also the x87 extended precision (10 byte long) format has trap representations that are unsupported and behave in a mostly implementation-defined way, but you can only get those trap representations by directly loading them, not from loading singles or doubles or integers, nor from operations on non-trap representations. < 1497299252 0 :wob_jonas!b03f1256@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.18.86 PRIVMSG #esoteric :As for NaN values on x86 architecture, the way x87 handles them is completely specified; MMX doesn't handle them at all; and the way SSE and modern extensions handles them is mostly but not completely specified (by at least one of Intel and AMD), but is different from the x87 method (and IMO worse). Let me look this up. < 1497299347 0 :wob_jonas!b03f1256@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.18.86 PRIVMSG #esoteric :Obviously results are deterministic only if the settings in the relevant floating point control register (rounding mode and other flags) are given. < 1497299487 0 :wob_jonas!b03f1256@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.18.86 PRIVMSG #esoteric :In the Intel 64 and IA-32 architectures software developer's manual, chapter 4.8.3 tells how NaN behaves. < 1497299606 0 :\oren\!~oren@ec2-52-2-213-98.compute-1.amazonaws.com PRIVMSG #esoteric :there is legistlation being proposed < 1497299608 0 :\oren\!~oren@ec2-52-2-213-98.compute-1.amazonaws.com PRIVMSG #esoteric :“Communications Over Various Feeds Electronically for Engagement” Act < 1497299611 0 :\oren\!~oren@ec2-52-2-213-98.compute-1.amazonaws.com PRIVMSG #esoteric :the COVFEFE Act < 1497299666 0 :int-e!~noone@int-e.eu PRIVMSG #esoteric :smooth coverup < 1497299775 0 :Kerbal!683239a0@gateway/web/freenode/ip.104.50.57.160 PRIVMSG #esoteric :That actually makes sense < 1497299822 0 :wob_jonas!b03f1256@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.18.86 PRIVMSG #esoteric :In the AMD manual (possibly an old version I have, I haven't checked for updates), for SSE instructions, chapter 4.3.3.3 is relevant about NaN ruels. < 1497299923 0 :wob_jonas!b03f1256@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.18.86 PRIVMSG #esoteric :Oh, I remembered wrong! < 1497299930 0 :wob_jonas!b03f1256@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.18.86 PRIVMSG #esoteric :The situation is even better than I thought. < 1497299991 0 :wob_jonas!b03f1256@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.18.86 PRIVMSG #esoteric :The representation of a NaN result used for SSE instructions (and modern extensions) is completely defined and so deterministic; < 1497300068 0 :wob_jonas!b03f1256@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.18.86 PRIVMSG #esoteric :and for x87 instructions, Intel defines the result completely (but this is different from SSE instructions), and AMD defines them only almost completely but leaves the sign bit of the NaN implementation-defined in some cases. < 1497300129 0 :wob_jonas!b03f1256@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.18.86 PRIVMSG #esoteric :This means that if you only use modern instructions (SSE, SSE2, AVX etc) on x86, then the floating point operation result is completely deterministic. < 1497300156 0 :wob_jonas!b03f1256@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.18.86 PRIVMSG #esoteric :(Modern x86 does have some other implementation-defined behavior, but that has nothing to do with floating-point representations.) < 1497300231 0 :int-e!~noone@int-e.eu PRIVMSG #esoteric :. o O ( it all started with CPUID *runs* ) < 1497300233 0 :wob_jonas!b03f1256@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.18.86 PRIVMSG #esoteric :zzo38: sorry for the confusion, and I'm glad I checked this < 1497300287 0 :wob_jonas!b03f1256@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.18.86 PRIVMSG #esoteric :Oh, and by the way the AMD and the Intel definitions are compatible, so apart from that one implementation-defined sign bit on x87, and the other x87 stuff I mentioned above, the results are deterministic even across the two cpu manufacturers. < 1497300308 0 :wob_jonas!b03f1256@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.18.86 PRIVMSG #esoteric :(This is a feature. AMD and Intel are deliberately making compatible cpus.) < 1497300349 0 :wob_jonas!b03f1256@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.18.86 PRIVMSG #esoteric :However, the SSE rules mean that the results are deterministic only for machine code, not for C code. < 1497300399 0 :int-e!~noone@int-e.eu PRIVMSG #esoteric :some x86 operations left some flags undefined, is that still the case? (stuff like aaa, aas, das, daa, aam, aad) < 1497300440 0 :wob_jonas!b03f1256@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.18.86 PRIVMSG #esoteric :If you write x+y in C code where x and y are floats or doubles, C does not promise any particular NaN representation, and the compiler has the right to compile this as an addition with either x or y as the first input argument of the instruction, and the NaN representation of the results are different in those cases for some inputs. < 1497300461 0 :wob_jonas!b03f1256@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.18.86 PRIVMSG #esoteric :int-e: yes, there are some flags left in an implementation-defined state < 1497300517 0 :int-e!~noone@int-e.eu PRIVMSG #esoteric :(of course those particular instructions have been dropped in x86_64 mode, so sad ;)) < 1497300549 0 :wob_jonas!b03f1256@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.18.86 PRIVMSG #esoteric :int-e: no, this still applies to x86_64 slightly: the OR instruction leaves the value of the AF flag implementation-defined. < 1497300555 0 :wob_jonas!b03f1256@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.18.86 PRIVMSG #esoteric :Or undefined, rather. < 1497300595 0 :wob_jonas!b03f1256@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.18.86 PRIVMSG #esoteric :The flag has an unspecified value after the instruction, but using it further isn't undefined behavior or anything crazy like that, it's just unpredictably 1 or 0. < 1497300622 0 :int-e!~noone@int-e.eu PRIVMSG #esoteric :(do I still remember this snipped correctly? cmp al, 10; sbb al, 0x3f; das) < 1497300671 0 :wob_jonas!b03f1256@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.18.86 PRIVMSG #esoteric :int-e: no idea < 1497300698 0 :sdhand!~sam@runciman.hacksoc.org JOIN :#esoteric < 1497300699 0 :int-e!~noone@int-e.eu PRIVMSG #esoteric :(I think I got this right: convert a value from 0 to 15 to a hex digit (upper case)) < 1497300705 0 :HackEgo!~HackEgo@162.248.166.242 PRIVMSG #esoteric :[wiki] 14[[07User talk:MD XF14]]4 10 02https://esolangs.org/w/index.php?diff=52155&oldid=52126 5* 03MD XF 5* (-207) 10 < 1497300708 0 :sdhand!~sam@runciman.hacksoc.org QUIT :Changing host < 1497300708 0 :sdhand!~sam@unaffiliated/kyubiko JOIN :#esoteric < 1497300774 0 :wob_jonas!b03f1256@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.18.86 PRIVMSG #esoteric :The AND, OR, XOR, TEST instructions all leave AF in an undefined state (but then people almost never use AF, there aren't even conditional jumps using it, so you only read it by explicitly saving FLAGS or with the decimal instructions). < 1497301091 0 :wob_jonas!b03f1256@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.18.86 PRIVMSG #esoteric :A more significant case is that the shift instructions (SAR, SHR, SHL, ROL, ROR, RCL, RCR, SHLD, SHRD) sometimes leave CF and/or OF (as well as AF) in an undefined state. The exact rules for when are complicated. < 1497301200 0 :int-e!~noone@int-e.eu PRIVMSG #esoteric :wait... CF?! < 1497301298 0 :wob_jonas!b03f1256@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.18.86 PRIVMSG #esoteric :Yes, sometimes CF is undefined, depending on the exact operation and arguments and inputs. < 1497301427 0 :wob_jonas!b03f1256@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.18.86 PRIVMSG #esoteric :Also the 386 bit scan instructions BSF, BSR leave the destination operand with an undefined value if no bit is found. < 1497301541 0 :int-e!~noone@int-e.eu PRIVMSG #esoteric :I guess I only ever cared about CF for RCL, RCR and shifts/rotations by 1 bit. < 1497301560 0 :wob_jonas!b03f1256@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.18.86 PRIVMSG #esoteric :I think the bitwise arithmetic and shift instructions leave some of the flags in an undefined state, because older cpus handle them in different ugly ways, so to define them, intel would have to write complicated documentation about what older cpus do. The bit scan instructions have a different cause: there 386 used to leave the destination registe < 1497301560 0 :wob_jonas!b03f1256@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.18.86 PRIVMSG #esoteric :r unchanged, but insisting on that implementation would slow down modern cpus. < 1497301593 0 :wob_jonas!b03f1256@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.18.86 PRIVMSG #esoteric :int-e: like I said, those flags are sometimes defined, the exact rules are in the Intel and AMD manuals. for the cases most programs care about, they're defined. < 1497301734 0 :wob_jonas!b03f1256@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.18.86 PRIVMSG #esoteric :There are also some undefined results about memory accesses and IO that are essential, that is, caused not by historical compatibility, but because it would slow down the system to make caching or paging or multi-processor memory races deterministic. < 1497301820 0 :wob_jonas!b03f1256@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.18.86 PRIVMSG #esoteric :And there's of course a lot of undefined behavior connected to operations or arguments or field values that are (or once were) reserved for future compatibility, especially with system instructions. There has to be some of these so that the cpu can be extended with new instructions or modes in the future. < 1497301872 0 :wob_jonas!b03f1256@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.18.86 PRIVMSG #esoteric :But generally x86 doesn't have much cases of undefined results for no good reason. It tries to be deterministic and defined except in cases when there's a good reason (history or otherwise) not to. < 1497302067 0 :wob_jonas!b03f1256@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.18.86 PRIVMSG #esoteric :And there are cases when some cases were undefined in past versions of the docs, but are defined retroactively for older cpus too in later versions of the docs because of new extensions. < 1497302117 0 :LKoen!~LKoen@vbo91-1-82-238-218-67.fbx.proxad.net JOIN :#esoteric < 1497302209 0 :wob_jonas!b03f1256@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.18.86 PRIVMSG #esoteric :And there are a few borderline cases that used to be defined in old cpu manuals (like 286) but are now either undefined, or defined to always give an error in new cpus. < 1497302220 0 :wob_jonas!b03f1256@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.18.86 PRIVMSG #esoteric :There's not many of these, because they like compatibility, but still. < 1497302223 0 :DHeadshot!~DHeadshot@cpc88301-woki8-2-0-cust688.6-2.cable.virginm.net QUIT :Ping timeout: 240 seconds < 1497302341 0 :wob_jonas!b03f1256@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.18.86 PRIVMSG #esoteric :For example, on 8086, you could use the LOCK prefix with any instruction; now you can only use them with some instructions, and it gives a fault with some instructions that existed on 8086 like shifts. < 1497302507 0 :wob_jonas!b03f1256@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.18.86 PRIVMSG #esoteric :The manuals don't completely define how very old cpus behave, but define a significant portion of it, enough to write typical non-obfuscated programs, and more than enough to write boot loaders that check what cpu they're running on and error out on old cpus. < 1497302557 0 :wob_jonas!b03f1256@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.18.86 PRIVMSG #esoteric :Some of that information is delegated out of the main text to special compatibility chapters, because the main text doesn't want to bother saying "this feature isn't available on cpus older than 386 or 286" too many times. < 1497303216 0 :jaboja!~jaboja@jaboja.pl JOIN :#esoteric < 1497303267 0 :Kerbal!683239a0@gateway/web/freenode/ip.104.50.57.160 PRIVMSG #esoteric :Integ 1.1 is out at https://github.com/kerbin111/Integ. (Sorry, zzo38, but I haven't written the wiki article yet) < 1497303317 0 :DHeadshot!~DHeadshot@cpc88301-woki8-2-0-cust688.6-2.cable.virginm.net JOIN :#esoteric < 1497303343 0 :Kerbal!683239a0@gateway/web/freenode/ip.104.50.57.160 PRIVMSG #esoteric :Integ 1.1 features time, random, and deallocation operators, as well as better error messaging and a better interpreter mode < 1497303351 0 :Kerbal!683239a0@gateway/web/freenode/ip.104.50.57.160 PRIVMSG #esoteric :in the Python reference implementation < 1497304458 0 :wob_jonas!b03f1256@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.18.86 QUIT :Quit: http://www.kiwiirc.com/ - A hand crafted IRC client < 1497305814 0 :Sprocklem!~sprocklem@unaffiliated/sprocklem JOIN :#esoteric < 1497305998 0 :LKoen!~LKoen@vbo91-1-82-238-218-67.fbx.proxad.net QUIT :Remote host closed the connection < 1497306342 0 :xkapastel!uid17782@gateway/web/irccloud.com/x-vbjfgxthipaovpcg JOIN :#esoteric < 1497306654 0 :`^_^v!~nycs@gw.hq.meetup.com QUIT :Quit: This computer has gone to sleep < 1497307185 0 :esoman!47ad8463@gateway/web/freenode/ip.71.173.132.99 JOIN :#esoteric < 1497307200 0 :esoman!47ad8463@gateway/web/freenode/ip.71.173.132.99 PRIVMSG #esoteric :https://area51.stackexchange.com/proposals/110478/esoteric-programming-languages?referrer=FNgVtmBdD3clrEfV5E-5mg2 < 1497307256 0 :esoman!47ad8463@gateway/web/freenode/ip.71.173.132.99 QUIT :Client Quit < 1497307731 0 :LKoen!~LKoen@vbo91-1-82-238-218-67.fbx.proxad.net JOIN :#esoteric < 1497308122 0 :hakatashi!~hakatashi@104.131.49.125 QUIT :Remote host closed the connection < 1497308138 0 :hakatashi!~hakatashi@104.131.49.125 JOIN :#esoteric < 1497308874 0 :boily!~alexandre@cable-192.222.245.222.electronicbox.net JOIN :#esoteric < 1497309006 0 :boily!~alexandre@cable-192.222.245.222.electronicbox.net PRIVMSG #esoteric :@metar CYUL < 1497309007 0 :lambdabot!~lambdabot@haskell/bot/lambdabot PRIVMSG #esoteric :CYUL 122200Z 22015G20KT 30SM FEW140 SCT250 31/19 A2978 RMK AC1CI2 SLP084 DENSITY ALT 2100FT < 1497309328 0 :fizzie!?@? PRIVMSG #esoteric :31?! < 1497309337 0 :fizzie!?@? PRIVMSG #esoteric :@metar EGLL < 1497309337 0 :lambdabot!~lambdabot@haskell/bot/lambdabot PRIVMSG #esoteric :EGLL 122150Z AUTO 27009KT 9999 NCD 14/10 Q1020 NOSIG < 1497309505 0 :boily!~alexandre@cable-192.222.245.222.electronicbox.net PRIVMSG #esoteric :fizziello. 31. < 1497309511 0 :boily!~alexandre@cable-192.222.245.222.electronicbox.net PRIVMSG #esoteric :I love my AC unit. < 1497309743 0 :erkin!~erkin@unaffiliated/erkin QUIT :Quit: Ouch! Got SIGABRT, dying... < 1497310147 0 :Phantom_Hoover!~phantomho@unaffiliated/phantom-hoover QUIT :Read error: Connection reset by peer < 1497310799 0 :wob_jonas!b03f1256@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.18.86 JOIN :#esoteric < 1497310833 0 :wob_jonas!b03f1256@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.18.86 PRIVMSG #esoteric :In his feature article, Mark Rosewater announces that Wizards have once again found a way to print more new M:tG cards per year than before. This has happened like five times already. < 1497310854 0 :wob_jonas!b03f1256@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.18.86 PRIVMSG #esoteric :Sure, he gives a nice explanation for why the changes are good, but still. < 1497310868 0 :jaboja!~jaboja@jaboja.pl QUIT :Ping timeout: 240 seconds < 1497310900 0 :wob_jonas!b03f1256@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.18.86 PRIVMSG #esoteric :If you don't care about Standard or new set drafts, you get few of the advantages, and the amount of new cards printed gets harder and harder to follow. < 1497311051 0 :boily!~alexandre@cable-192.222.245.222.electronicbox.net PRIVMSG #esoteric :I don't think they are good or bad changes. just... changes. < 1497311058 0 :wob_jonas!b03f1256@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.18.86 PRIVMSG #esoteric :oh yeah, linky http://magic.wizards.com/en/articles/archive/making-magic/metamorphosis-2-0-2017-06-12 < 1497311098 0 :wob_jonas!b03f1256@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.18.86 PRIVMSG #esoteric :boily: I'm not saying they're bad alone, the bad part is that each time they change the structure, whether permanently or temporarily for just one set or block, it goes towards printing more new cards than before. < 1497311135 0 :wob_jonas!b03f1256@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.18.86 PRIVMSG #esoteric :I've no clue what's in the last several years of sets because there are so many new cards that I didn't start to invest the time to get familiar with them. < 1497311258 0 :wob_jonas!b03f1256@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.18.86 QUIT :Quit: http://www.kiwiirc.com/ - A hand crafted IRC client < 1497311505 0 :oerjan!~oerjan@hagbart.nvg.ntnu.no JOIN :#esoteric < 1497311819 0 :Warrigal!~tswett@unaffiliated/tswett JOIN :#esoteric < 1497311916 0 :tomcr00se!67dd4b17@gateway/web/freenode/ip.103.221.75.23 JOIN :#esoteric