{"id":"https://openalex.org/W2610944277","doi":"https://doi.org/10.1145/1366110.1366143","title":"Recursion flattening","display_name":"Recursion flattening","publication_year":2008,"publication_date":"2008-05-04","ids":{"openalex":"https://openalex.org/W2610944277","doi":"https://doi.org/10.1145/1366110.1366143","mag":"2610944277"},"language":"en","primary_location":{"id":"doi:10.1145/1366110.1366143","is_oa":false,"landing_page_url":"https://doi.org/10.1145/1366110.1366143","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 18th ACM Great Lakes symposium on VLSI","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/A5088031457","display_name":"Greg Stitt","orcid":"https://orcid.org/0000-0001-7159-7439"},"institutions":[{"id":"https://openalex.org/I33213144","display_name":"University of Florida","ror":"https://ror.org/02y3ad647","country_code":"US","type":"education","lineage":["https://openalex.org/I33213144"]}],"countries":["US"],"is_corresponding":true,"raw_author_name":"Greg Stitt","raw_affiliation_strings":["University of Florida, Gaineville, FL, USA"],"affiliations":[{"raw_affiliation_string":"University of Florida, Gaineville, FL, USA","institution_ids":["https://openalex.org/I33213144"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5012012492","display_name":"Jason Villarreal","orcid":null},"institutions":[{"id":"https://openalex.org/I103635307","display_name":"University of California, Riverside","ror":"https://ror.org/03nawhv43","country_code":"US","type":"education","lineage":["https://openalex.org/I103635307"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Jason Villarreal","raw_affiliation_strings":["University of California, Riverside, Riverside, CA, USA"],"affiliations":[{"raw_affiliation_string":"University of California, Riverside, Riverside, CA, USA","institution_ids":["https://openalex.org/I103635307"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":2,"corresponding_author_ids":["https://openalex.org/A5088031457"],"corresponding_institution_ids":["https://openalex.org/I33213144"],"apc_list":null,"apc_paid":null,"fwci":1.3778,"has_fulltext":false,"cited_by_count":14,"citation_normalized_percentile":{"value":0.851751,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":{"min":89,"max":99},"biblio":{"volume":null,"issue":null,"first_page":"131","last_page":"134"},"is_retracted":false,"is_paratext":false,"is_xpac":false,"primary_topic":{"id":"https://openalex.org/T10904","display_name":"Embedded Systems Design Techniques","score":0.9998999834060669,"subfield":{"id":"https://openalex.org/subfields/1708","display_name":"Hardware and Architecture"},"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/T10904","display_name":"Embedded Systems Design Techniques","score":0.9998999834060669,"subfield":{"id":"https://openalex.org/subfields/1708","display_name":"Hardware and Architecture"},"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/T10054","display_name":"Parallel Computing and Optimization Techniques","score":0.9997000098228455,"subfield":{"id":"https://openalex.org/subfields/1708","display_name":"Hardware and Architecture"},"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/T11032","display_name":"VLSI and Analog Circuit Testing","score":0.9994000196456909,"subfield":{"id":"https://openalex.org/subfields/1708","display_name":"Hardware and Architecture"},"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/recursion","display_name":"Recursion (computer science)","score":0.8983398675918579},{"id":"https://openalex.org/keywords/benchmark","display_name":"Benchmark (surveying)","score":0.8050894737243652},{"id":"https://openalex.org/keywords/computer-science","display_name":"Computer science","score":0.7684258222579956},{"id":"https://openalex.org/keywords/mutual-recursion","display_name":"Mutual recursion","score":0.563281774520874},{"id":"https://openalex.org/keywords/limiting","display_name":"Limiting","score":0.537025511264801},{"id":"https://openalex.org/keywords/algorithm","display_name":"Algorithm","score":0.5117880702018738},{"id":"https://openalex.org/keywords/parallel-computing","display_name":"Parallel computing","score":0.474761962890625},{"id":"https://openalex.org/keywords/divide-and-conquer-algorithms","display_name":"Divide and conquer algorithms","score":0.45544835925102234},{"id":"https://openalex.org/keywords/electronic-circuit","display_name":"Electronic circuit","score":0.4310384690761566},{"id":"https://openalex.org/keywords/flattening","display_name":"Flattening","score":0.42810332775115967},{"id":"https://openalex.org/keywords/theoretical-computer-science","display_name":"Theoretical computer science","score":0.3534659147262573}],"concepts":[{"id":"https://openalex.org/C168773036","wikidata":"https://www.wikidata.org/wiki/Q264164","display_name":"Recursion (computer science)","level":2,"score":0.8983398675918579},{"id":"https://openalex.org/C185798385","wikidata":"https://www.wikidata.org/wiki/Q1161707","display_name":"Benchmark (surveying)","level":2,"score":0.8050894737243652},{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.7684258222579956},{"id":"https://openalex.org/C124416688","wikidata":"https://www.wikidata.org/wiki/Q3454656","display_name":"Mutual recursion","level":3,"score":0.563281774520874},{"id":"https://openalex.org/C188198153","wikidata":"https://www.wikidata.org/wiki/Q1613840","display_name":"Limiting","level":2,"score":0.537025511264801},{"id":"https://openalex.org/C11413529","wikidata":"https://www.wikidata.org/wiki/Q8366","display_name":"Algorithm","level":1,"score":0.5117880702018738},{"id":"https://openalex.org/C173608175","wikidata":"https://www.wikidata.org/wiki/Q232661","display_name":"Parallel computing","level":1,"score":0.474761962890625},{"id":"https://openalex.org/C71559656","wikidata":"https://www.wikidata.org/wiki/Q671298","display_name":"Divide and conquer algorithms","level":2,"score":0.45544835925102234},{"id":"https://openalex.org/C134146338","wikidata":"https://www.wikidata.org/wiki/Q1815901","display_name":"Electronic circuit","level":2,"score":0.4310384690761566},{"id":"https://openalex.org/C19444555","wikidata":"https://www.wikidata.org/wiki/Q212750","display_name":"Flattening","level":2,"score":0.42810332775115967},{"id":"https://openalex.org/C80444323","wikidata":"https://www.wikidata.org/wiki/Q2878974","display_name":"Theoretical computer science","level":1,"score":0.3534659147262573},{"id":"https://openalex.org/C13280743","wikidata":"https://www.wikidata.org/wiki/Q131089","display_name":"Geodesy","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/C119599485","wikidata":"https://www.wikidata.org/wiki/Q43035","display_name":"Electrical engineering","level":1,"score":0.0},{"id":"https://openalex.org/C159985019","wikidata":"https://www.wikidata.org/wiki/Q181790","display_name":"Composite material","level":1,"score":0.0},{"id":"https://openalex.org/C78519656","wikidata":"https://www.wikidata.org/wiki/Q101333","display_name":"Mechanical engineering","level":1,"score":0.0},{"id":"https://openalex.org/C192562407","wikidata":"https://www.wikidata.org/wiki/Q228736","display_name":"Materials science","level":0,"score":0.0},{"id":"https://openalex.org/C127413603","wikidata":"https://www.wikidata.org/wiki/Q11023","display_name":"Engineering","level":0,"score":0.0}],"mesh":[],"locations_count":1,"locations":[{"id":"doi:10.1145/1366110.1366143","is_oa":false,"landing_page_url":"https://doi.org/10.1145/1366110.1366143","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 18th ACM Great Lakes symposium on VLSI","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":15,"referenced_works":["https://openalex.org/W1498270842","https://openalex.org/W1596289985","https://openalex.org/W1996679397","https://openalex.org/W2007873462","https://openalex.org/W2013286553","https://openalex.org/W2032094184","https://openalex.org/W2034636167","https://openalex.org/W2089641827","https://openalex.org/W2098708308","https://openalex.org/W2103581911","https://openalex.org/W2106542378","https://openalex.org/W2113996446","https://openalex.org/W2131023841","https://openalex.org/W2148740615","https://openalex.org/W2150427624"],"related_works":["https://openalex.org/W2006836388","https://openalex.org/W2155605358","https://openalex.org/W2044963554","https://openalex.org/W2374742784","https://openalex.org/W1563586960","https://openalex.org/W3161063338","https://openalex.org/W2073366168","https://openalex.org/W2075052434","https://openalex.org/W560887346","https://openalex.org/W2896379815"],"abstract_inverted_index":{"High-level":[0],"synthesis":[1,44,50],"tools":[2],"automatically":[3],"generate":[4],"custom":[5],"hardware":[6,117,138],"circuits":[7,118,139,141],"from":[8,143],"high-level":[9,43,62],"languages,":[10],"including":[11],"popular":[12],"programming":[13,36],"languages":[14],"like":[15],"standard":[16],"ANSI":[17],"C,":[18],"but":[19,87],"are":[20],"unable":[21],"to":[22,103,140],"handle":[23],"recursive":[24,29,79,97,105],"functions.":[25],"The":[26],"convenience":[27],"of":[28,42,70],"algorithms":[30],"has":[31],"made":[32],"recursion":[33,52,60,71,74],"a":[34,48],"widespread":[35],"practice,":[37],"therefore":[38],"limiting":[39],"the":[40,56,91,101,127,144],"applicability":[41],"tools.":[45],"We":[46,99],"introduce":[47],"new":[49],"technique,":[51],"flattening,":[53],"that":[54,90,107,119],"reduces":[55],"limitations":[57],"caused":[58],"by":[59,72],"for":[61,94,158,165],"synthesis.":[63],"Recursion":[64,81],"flattening":[65,82],"can":[66],"eliminate":[67,84],"many":[68,95,159],"instances":[69],"determining":[73],"depth,":[75],"and":[76,151,156,161],"then":[77],"inlining":[78],"calls.":[80],"cannot":[83],"all":[85],"recursion,":[86],"we":[88,135],"show":[89,152],"technique":[92,102],"succeeds":[93],"common":[96],"algorithms.":[98],"applied":[100],"seven":[104],"benchmarks":[106,146],"previously":[108],"would":[109],"not":[110],"have":[111],"been":[112],"synthesizable,":[113],"resulting":[114],"in":[115],"FPGA":[116],"run":[120,130],"75x":[121],"faster":[122],"on":[123],"average":[124],"than":[125],"if":[126],"benchmark":[128],"were":[129],"as":[131],"microprocessor":[132],"software.":[133],"Furthermore,":[134],"compared":[136],"those":[137],"synthesized":[142],"same":[145],"coded":[147],"using":[148],"non-recursive":[149],"algorithms,":[150],"nearly":[153],"identical":[154],"performance":[155,164],"area":[157],"examples,":[160],"significantly":[162],"increased":[163],"several":[166],"examples.":[167]},"counts_by_year":[{"year":2026,"cited_by_count":1},{"year":2025,"cited_by_count":2},{"year":2021,"cited_by_count":1},{"year":2019,"cited_by_count":2},{"year":2016,"cited_by_count":1},{"year":2015,"cited_by_count":2},{"year":2012,"cited_by_count":1}],"updated_date":"2026-04-04T16:13:02.066488","created_date":"2025-10-10T00:00:00"}
