{"id":"https://openalex.org/W3136820792","doi":"https://doi.org/10.1109/cgo51591.2021.9370307","title":"An Interval Compiler for Sound Floating-Point Computations","display_name":"An Interval Compiler for Sound Floating-Point Computations","publication_year":2021,"publication_date":"2021-02-27","ids":{"openalex":"https://openalex.org/W3136820792","doi":"https://doi.org/10.1109/cgo51591.2021.9370307","mag":"3136820792"},"language":"en","primary_location":{"id":"doi:10.1109/cgo51591.2021.9370307","is_oa":false,"landing_page_url":"https://doi.org/10.1109/cgo51591.2021.9370307","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"2021 IEEE/ACM International Symposium on Code Generation and Optimization (CGO)","raw_type":"proceedings-article"},"type":"article","indexed_in":["crossref"],"open_access":{"is_oa":false,"oa_status":"closed","oa_url":null,"any_repository_has_fulltext":false},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5053101985","display_name":"Joao Rivera","orcid":"https://orcid.org/0000-0002-3261-0642"},"institutions":[{"id":"https://openalex.org/I35440088","display_name":"ETH Zurich","ror":"https://ror.org/05a28rw58","country_code":"CH","type":"education","lineage":["https://openalex.org/I2799323385","https://openalex.org/I35440088"]}],"countries":["CH"],"is_corresponding":true,"raw_author_name":"Joao Rivera","raw_affiliation_strings":["Computer Science ETH Zurich, Switzerland"],"affiliations":[{"raw_affiliation_string":"Computer Science ETH Zurich, Switzerland","institution_ids":["https://openalex.org/I35440088"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5062806943","display_name":"Franz Franchetti","orcid":"https://orcid.org/0000-0002-3529-8973"},"institutions":[{"id":"https://openalex.org/I74973139","display_name":"Carnegie Mellon University","ror":"https://ror.org/05x2bcf33","country_code":"US","type":"education","lineage":["https://openalex.org/I74973139"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Franz Franchetti","raw_affiliation_strings":["Electrical and Computer Engineering, Carnegie Mellon University, USA"],"affiliations":[{"raw_affiliation_string":"Electrical and Computer Engineering, Carnegie Mellon University, USA","institution_ids":["https://openalex.org/I74973139"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5076407181","display_name":"Markus P\u00fcschel","orcid":"https://orcid.org/0000-0001-8834-8551"},"institutions":[{"id":"https://openalex.org/I35440088","display_name":"ETH Zurich","ror":"https://ror.org/05a28rw58","country_code":"CH","type":"education","lineage":["https://openalex.org/I2799323385","https://openalex.org/I35440088"]}],"countries":["CH"],"is_corresponding":false,"raw_author_name":"Markus Puschel","raw_affiliation_strings":["Computer Science ETH Zurich, Switzerland"],"affiliations":[{"raw_affiliation_string":"Computer Science ETH Zurich, Switzerland","institution_ids":["https://openalex.org/I35440088"]}]}],"institutions":[],"countries_distinct_count":2,"institutions_distinct_count":3,"corresponding_author_ids":["https://openalex.org/A5053101985"],"corresponding_institution_ids":["https://openalex.org/I35440088"],"apc_list":null,"apc_paid":null,"fwci":0.5919,"has_fulltext":false,"cited_by_count":5,"citation_normalized_percentile":{"value":0.70332536,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":{"min":89,"max":96},"biblio":{"volume":null,"issue":null,"first_page":"52","last_page":"64"},"is_retracted":false,"is_paratext":false,"is_xpac":false,"primary_topic":{"id":"https://openalex.org/T11697","display_name":"Numerical Methods and Algorithms","score":1.0,"subfield":{"id":"https://openalex.org/subfields/1703","display_name":"Computational Theory and Mathematics"},"field":{"id":"https://openalex.org/fields/17","display_name":"Computer Science"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}},"topics":[{"id":"https://openalex.org/T11697","display_name":"Numerical Methods and Algorithms","score":1.0,"subfield":{"id":"https://openalex.org/subfields/1703","display_name":"Computational Theory and Mathematics"},"field":{"id":"https://openalex.org/fields/17","display_name":"Computer Science"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}},{"id":"https://openalex.org/T10363","display_name":"Low-power high-performance VLSI design","score":0.9994000196456909,"subfield":{"id":"https://openalex.org/subfields/2208","display_name":"Electrical and Electronic Engineering"},"field":{"id":"https://openalex.org/fields/22","display_name":"Engineering"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}},{"id":"https://openalex.org/T11034","display_name":"Digital Filter Design and Implementation","score":0.9979000091552734,"subfield":{"id":"https://openalex.org/subfields/1711","display_name":"Signal Processing"},"field":{"id":"https://openalex.org/fields/17","display_name":"Computer Science"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}}],"keywords":[{"id":"https://openalex.org/keywords/compiler","display_name":"Compiler","score":0.8478397130966187},{"id":"https://openalex.org/keywords/computer-science","display_name":"Computer science","score":0.8239107131958008},{"id":"https://openalex.org/keywords/intrinsics","display_name":"Intrinsics","score":0.7653567790985107},{"id":"https://openalex.org/keywords/floating-point","display_name":"Floating point","score":0.6932162642478943},{"id":"https://openalex.org/keywords/double-precision-floating-point-format","display_name":"Double-precision floating-point format","score":0.6327871084213257},{"id":"https://openalex.org/keywords/simd","display_name":"SIMD","score":0.6210216879844666},{"id":"https://openalex.org/keywords/parallel-computing","display_name":"Parallel computing","score":0.5933046340942383},{"id":"https://openalex.org/keywords/interprocedural-optimization","display_name":"Interprocedural optimization","score":0.5880232453346252},{"id":"https://openalex.org/keywords/benchmark","display_name":"Benchmark (surveying)","score":0.5564289689064026},{"id":"https://openalex.org/keywords/single-precision-floating-point-format","display_name":"Single-precision floating-point format","score":0.5430336594581604},{"id":"https://openalex.org/keywords/optimizing-compiler","display_name":"Optimizing compiler","score":0.4987325668334961},{"id":"https://openalex.org/keywords/code","display_name":"Code (set theory)","score":0.494735449552536},{"id":"https://openalex.org/keywords/interval","display_name":"Interval (graph theory)","score":0.48324474692344666},{"id":"https://openalex.org/keywords/interval-arithmetic","display_name":"Interval arithmetic","score":0.4601164162158966},{"id":"https://openalex.org/keywords/algorithm","display_name":"Algorithm","score":0.4410237967967987},{"id":"https://openalex.org/keywords/mathematics","display_name":"Mathematics","score":0.13113781809806824},{"id":"https://openalex.org/keywords/loop-optimization","display_name":"Loop optimization","score":0.11681288480758667},{"id":"https://openalex.org/keywords/set","display_name":"Set (abstract data type)","score":0.11325573921203613},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.10734272003173828}],"concepts":[{"id":"https://openalex.org/C169590947","wikidata":"https://www.wikidata.org/wiki/Q47506","display_name":"Compiler","level":2,"score":0.8478397130966187},{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.8239107131958008},{"id":"https://openalex.org/C2908650547","wikidata":"https://www.wikidata.org/wiki/Q20999234","display_name":"Intrinsics","level":2,"score":0.7653567790985107},{"id":"https://openalex.org/C84211073","wikidata":"https://www.wikidata.org/wiki/Q117879","display_name":"Floating point","level":2,"score":0.6932162642478943},{"id":"https://openalex.org/C35912277","wikidata":"https://www.wikidata.org/wiki/Q1243369","display_name":"Double-precision floating-point format","level":3,"score":0.6327871084213257},{"id":"https://openalex.org/C150552126","wikidata":"https://www.wikidata.org/wiki/Q339387","display_name":"SIMD","level":2,"score":0.6210216879844666},{"id":"https://openalex.org/C173608175","wikidata":"https://www.wikidata.org/wiki/Q232661","display_name":"Parallel computing","level":1,"score":0.5933046340942383},{"id":"https://openalex.org/C111564260","wikidata":"https://www.wikidata.org/wiki/Q4288856","display_name":"Interprocedural optimization","level":5,"score":0.5880232453346252},{"id":"https://openalex.org/C185798385","wikidata":"https://www.wikidata.org/wiki/Q1161707","display_name":"Benchmark (surveying)","level":2,"score":0.5564289689064026},{"id":"https://openalex.org/C133095886","wikidata":"https://www.wikidata.org/wiki/Q1307173","display_name":"Single-precision floating-point format","level":3,"score":0.5430336594581604},{"id":"https://openalex.org/C190902152","wikidata":"https://www.wikidata.org/wiki/Q1325106","display_name":"Optimizing compiler","level":3,"score":0.4987325668334961},{"id":"https://openalex.org/C2776760102","wikidata":"https://www.wikidata.org/wiki/Q5139990","display_name":"Code (set theory)","level":3,"score":0.494735449552536},{"id":"https://openalex.org/C2778067643","wikidata":"https://www.wikidata.org/wiki/Q166507","display_name":"Interval (graph theory)","level":2,"score":0.48324474692344666},{"id":"https://openalex.org/C191252586","wikidata":"https://www.wikidata.org/wiki/Q1671453","display_name":"Interval arithmetic","level":3,"score":0.4601164162158966},{"id":"https://openalex.org/C11413529","wikidata":"https://www.wikidata.org/wiki/Q8366","display_name":"Algorithm","level":1,"score":0.4410237967967987},{"id":"https://openalex.org/C33923547","wikidata":"https://www.wikidata.org/wiki/Q395","display_name":"Mathematics","level":0,"score":0.13113781809806824},{"id":"https://openalex.org/C29331672","wikidata":"https://www.wikidata.org/wiki/Q3354468","display_name":"Loop optimization","level":4,"score":0.11681288480758667},{"id":"https://openalex.org/C177264268","wikidata":"https://www.wikidata.org/wiki/Q1514741","display_name":"Set (abstract data type)","level":2,"score":0.11325573921203613},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.10734272003173828},{"id":"https://openalex.org/C134306372","wikidata":"https://www.wikidata.org/wiki/Q7754","display_name":"Mathematical analysis","level":1,"score":0.0},{"id":"https://openalex.org/C205649164","wikidata":"https://www.wikidata.org/wiki/Q1071","display_name":"Geography","level":0,"score":0.0},{"id":"https://openalex.org/C114614502","wikidata":"https://www.wikidata.org/wiki/Q76592","display_name":"Combinatorics","level":1,"score":0.0},{"id":"https://openalex.org/C34388435","wikidata":"https://www.wikidata.org/wiki/Q2267362","display_name":"Bounded function","level":2,"score":0.0},{"id":"https://openalex.org/C13280743","wikidata":"https://www.wikidata.org/wiki/Q131089","display_name":"Geodesy","level":1,"score":0.0}],"mesh":[],"locations_count":1,"locations":[{"id":"doi:10.1109/cgo51591.2021.9370307","is_oa":false,"landing_page_url":"https://doi.org/10.1109/cgo51591.2021.9370307","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"2021 IEEE/ACM International Symposium on Code Generation and Optimization (CGO)","raw_type":"proceedings-article"}],"best_oa_location":null,"sustainable_development_goals":[],"awards":[],"funders":[],"has_content":{"pdf":false,"grobid_xml":false},"content_urls":null,"referenced_works_count":61,"referenced_works":["https://openalex.org/W1518592224","https://openalex.org/W1528042415","https://openalex.org/W1849426162","https://openalex.org/W1999470254","https://openalex.org/W2011100413","https://openalex.org/W2012407419","https://openalex.org/W2041313350","https://openalex.org/W2048504605","https://openalex.org/W2061091230","https://openalex.org/W2075208936","https://openalex.org/W2081368694","https://openalex.org/W2088861915","https://openalex.org/W2102976251","https://openalex.org/W2104380208","https://openalex.org/W2107996047","https://openalex.org/W2131798279","https://openalex.org/W2132661148","https://openalex.org/W2135653967","https://openalex.org/W2136952590","https://openalex.org/W2183393188","https://openalex.org/W2217569097","https://openalex.org/W2226528584","https://openalex.org/W2227234579","https://openalex.org/W2287505824","https://openalex.org/W2295915207","https://openalex.org/W2299696796","https://openalex.org/W2482799402","https://openalex.org/W2527665568","https://openalex.org/W2552835512","https://openalex.org/W2566629575","https://openalex.org/W2595625343","https://openalex.org/W2610467942","https://openalex.org/W2611416658","https://openalex.org/W2623582941","https://openalex.org/W2624158749","https://openalex.org/W2735413273","https://openalex.org/W2791759077","https://openalex.org/W2797985644","https://openalex.org/W2885062192","https://openalex.org/W2887397219","https://openalex.org/W2900153411","https://openalex.org/W2904117297","https://openalex.org/W2907642723","https://openalex.org/W2963521335","https://openalex.org/W2963743473","https://openalex.org/W3009766965","https://openalex.org/W3136479147","https://openalex.org/W3138624857","https://openalex.org/W3210373155","https://openalex.org/W4253704944","https://openalex.org/W4296396029","https://openalex.org/W4297810223","https://openalex.org/W6665413881","https://openalex.org/W6669116624","https://openalex.org/W6680007323","https://openalex.org/W6685885234","https://openalex.org/W6688723587","https://openalex.org/W6737319536","https://openalex.org/W6749268479","https://openalex.org/W6749277416","https://openalex.org/W6774782742"],"related_works":["https://openalex.org/W3150370983","https://openalex.org/W2239119680","https://openalex.org/W3022016791","https://openalex.org/W1638830944","https://openalex.org/W2963207152","https://openalex.org/W1564887326","https://openalex.org/W2185760795","https://openalex.org/W2044409366","https://openalex.org/W1980667043","https://openalex.org/W3136820792"],"abstract_inverted_index":{"Floating-point":[0],"arithmetic":[1],"is":[2,9,13],"widely":[3],"used":[4,148],"by":[5],"software":[6],"developers":[7],"but":[8],"unsound,":[10],"i.e.,":[11,181],"there":[12],"no":[14],"guarantee":[15],"on":[16,108],"the":[17,57,80,100,112,124],"accuracy":[18,77,97],"obtained,":[19],"which":[20],"can":[21,67,86],"be":[22],"imperative":[23],"in":[24,56,111,178],"safety-critical":[25],"applications.":[26],"We":[27,104],"present":[28],"IGen,":[29],"a":[30,35,61,73],"source-to-source":[31],"compiler":[32,107,159],"that":[33,47,123,162],"translates":[34],"given":[36],"C":[37,45],"function":[38,46,59],"using":[39,60,151],"floating-point":[40],"into":[41],"an":[42,96],"equivalent":[43],"sound":[44,128],"uses":[48],"interval":[49,83,149],"arithmetic.":[50],"IGen":[51,85,94],"supports":[52],"Intel":[53],"SIMD":[54],"intrinsics":[55],"input":[58],"specially":[62],"designed":[63],"code":[64,110,126],"generator":[65],"and":[66,117],"produce":[68],"SIMD-optimized":[69],"output.":[70],"To":[71],"mitigate":[72],"possible":[74],"loss":[75],"of":[76,82,114,140,176],"due":[78],"to":[79,88,142,146,156,168],"increase":[81],"sizes,":[84],"compile":[87],"double-double":[89],"precision,":[90,180],"again":[91],"SIMD-optimized.":[92],"Finally,":[93],"implements":[95],"optimization":[98],"for":[99],"common":[101],"reduction":[102],"pattern.":[103],"benchmark":[105],"our":[106,158],"high-performance":[109],"domain":[113],"linear":[115],"algebra":[116],"signal":[118],"processing.":[119],"The":[120],"results":[121,131,170],"show":[122],"generated":[125],"delivers":[127,160],"double":[129,152,179,183],"precision":[130,184],"at":[132,172],"high":[133],"performance.":[134],"In":[135],"particular,":[136],"we":[137],"observe":[138],"speed-ups":[139],"up":[141],"9.8":[143],"when":[144],"compared":[145],"commonly":[147],"libraries":[150],"precision.":[153],"When":[154],"compiling":[155],"double-double,":[157],"intervals":[161],"keep":[163],"error":[164,177],"accumulation":[165],"small":[166],"enough":[167],"compute":[169],"with":[171],"most":[173],"one":[174],"bit":[175],"certified":[182],"results.":[185]},"counts_by_year":[{"year":2025,"cited_by_count":1},{"year":2024,"cited_by_count":1},{"year":2023,"cited_by_count":2},{"year":2022,"cited_by_count":1}],"updated_date":"2025-11-06T03:46:38.306776","created_date":"2025-10-10T00:00:00"}
