Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
research-article

Genetic Improvement of Data for Maths Functions

Published: 29 July 2021 Publication History

Abstract

We use continuous optimisation and manual code changes to evolve up to 1024 Newton-Raphson numerical values embedded in an open source GNU C library glibc square root sqrt to implement a double precision cube root routine cbrt, binary logarithm log2 and reciprocal square root function for C in seconds. The GI inverted square root x -1/2 is far more accurate than Quake’s InvSqrt, Quare root. GI shows potential for automatically creating mobile or low resource mote smart dust bespoke custom mathematical libraries with new functionality.

References

[1]
B. J. Alexander and M. J. Gratton. 2009. Constructing an optimisation phase using grammatical evolution. In 2009 IEEE Congress on Evolutionary Computation, Andy Tyrrell (Ed.). IEEE Computational Intelligence Society, IEEE Press, Trondheim, Norway, 1209–1216. http://dx.doi.org/10.1109/CEC.2009.4983083
[2]
Saswat Anand, Edmund K. Burke, Tsong Yueh Chen, John A. Clark, Myra B. Cohen, Wolfgang Grieskamp, Mark Harman, Mary Jean Harrold, and Phil McMinn. 2013. An orchestrated survey of methodologies for automated software test case generation. Journal of Systems and Software 86, 8 (Aug. 2013), 1978–2001. http://dx.doi.org/10.1016/j.jss.2013.02.061
[3]
Mirela Andronescu, Anne Condon, Holger H. Hoos, David H. Mathews, and Kevin P. Murphy. 2007. Efficient parameter estimation for RNA secondary structure prediction. Bioinformatics 23, 13 (2007), i19–i28. http://dx.doi.org/10.1093/bioinformatics/btm223
[4]
Earl T. Barr, Mark Harman, Yue Jia, Alexandru Marginean, and Justyna Petke. 2015. Automated software transplantation. In International Symposium on Software Testing and Analysis, ISSTA 2015, Tao Xie and Michal Young (Eds.). ACM, Baltimore, MD, 257–269. http://dx.doi.org/10.1145/2771783.2771796
[5]
Mahmoud A. Bokhari, Bobby R. Bruce, Brad Alexander, and Markus Wagner. 2017. Deep parameter optimisation on Android smartphones for energy minimisation—A tale of woe and a proof-of-concept. In GI-2017, Justyna Petke, David R. White, W. B. Langdon, and Westley Weimer (Eds.). ACM, Berlin, Germany, 1501–1508. http://dx.doi.org/10.1145/3067695.3082519
[6]
Bobby R. Bruce. 2015. Energy optimisation via genetic improvement a SBSE technique for a new era in software development. In Genetic Improvement 2015 Workshop, William B. Langdon, Justyna Petke, and David R. White (Eds.). ACM, Madrid, Spain, 819–820. http://dx.doi.org/10.1145/2739482.2768420
[7]
Bobby R. Bruce. 2018. The Blind Software Engineer: Improving the Non-Functional Properties of Software by Means of Genetic Improvement. Ph.D. Dissertation. Computer Science, University College, London, UK. http://www.cs.ucl.ac.uk/staff/W.Langdon/ftp/papers/bruce_bobby_r_thesis.pdf
[8]
Bobby R. Bruce, Jonathan M. Aitken, and Justyna Petke. 2016. Deep parameter optimisation for face detection using the Viola-Jones algorithm in OpenCV. In Search Based Software Engineering. Lecture Notes in Computer Science, Vol. 9962. Springer, 238–243. http://dx.doi.org/10.1007/978-3-319-47106-8_18.
[9]
Nathan Burles, Edward Bowles, Alexander E. I. Brownlee, Zoltan A. Kocsis, Jerry Swan, and Nadarajen Veerapen. 2015. Object-oriented genetic improvement for improved energy consumption in Google Guava. In Search Based Software Engineering. Lecture Notes in Computer Science, Vol 9275. Springer, 255–261. http://dx.doi.org/10.1007/978-3-319-22183-0_20
[10]
Simon Butler. 2015. Analysing Java Identifier Names. Ph.D. Dissertation. Open University, UK. http://oro.open.ac.uk/46653/
[11]
L. Cao, H. Sihler, U. Platt, and E. Gutheil. 2014. Numerical analysis of the chemical kinetic mechanisms of ozone depletion and halogen release in the polar troposphere. Atmospheric Chemistry and Physics 14, 7 (2014), 3771–3787. http://dx.doi.org/10.5194/acp-14-3771-2014
[12]
Milan Ceska, Jiri Matyas, Vojtech Mrazek, Lukas Sekanina, Zdenek Vasicek, and Tomas Vojnar. 2017. Approximating complex arithmetic circuits with formal error guarantees: 32-bit multipliers accomplished. In Proceedings of the 36th IEEE/ACM International Conference on Computer Aided Design (ICCAD), Iris Bahar and Sri Parameswaran (Eds.). Institute of Electrical and Electronics Engineers, Irvine, CA, 416–423. http://dx.doi.org/10.1109/ICCAD.2017.8203807
[13]
David Peter Alfred Corney. 2002. Intelligent Analysis of Small Data Sets for Food Design. Ph.D. Dissertation. University College, London. https://discovery.ucl.ac.uk/id/eprint/10099629.
[14]
Fabricio Gomes de Freitas and Jerffeson Teixeira de Souza. 2011. Ten years of search based software engineering: A bibliometric analysis. In Search Based Software Engineering. Lecture Notes in Computer Science, Vol. 6956. Springer, 18–32. http://dx.doi.org/10.1007/978-3-642-23716-4_5
[15]
Sayed Mehdi Hejazi Dehaghani and Nafiseh Hajrahimi. 2013. Which factors affect software projects maintenance cost more?Acta Informatica Medica 21, 1 (March 2013), 63–66. http://dx.doi.org/10.5455/AIM.2012.21.63-66
[16]
E. W. Dijkstra. 1969. Testing shows the presence, not the absence of bugs. In Software Engineering Techniques: Report of a Conference Sponsored by the NATO Science Committee, Robert M. McClure (Ed.). Scientific Affairs Division, NATO, Brussels, Belgium, 16. http://homepages.cs.ncl.ac.uk/brian.randell/NATO/nato1969.PDF.
[17]
Nikolaus Hansen and Andreas Ostermeier. 2001. Completely derandomized self-adaptation in evolution strategies. Evolutionary Computation 9, 2 (Summer 2001), 159–195. http://dx.doi.org/10.1162/106365601750190398
[18]
Mark Harman, Yue Jia, and William B. Langdon. 2014. Babel Pidgin: SBSE can grow and graft entirely new functionality into a real world system. In Search Based Software Engineering. Lecture Notes in Computer Science, Vol. 8636. Springer, 247–252. http://dx.doi.org/10.1007/978-3-319-09940-8_20Winner SSBSE 2014 Challange Track.
[19]
Mark Harman and Bryan F. Jones. 2001. Search based software engineering. Information and Software Technology 43, 14 (Dec. 2001), 833–839. http://dx.doi.org/10.1016/S0950-5849(01)00189-6
[20]
Yue Jia, Mark Harman, William B. Langdon, and Alexandru Marginean. 2015. Grow and serve: Growing Django citation services using SBSE. In Search Based Software Engineering. Lecture Notes in Computer Science, Vol. 9275. Springer, 269–275. http://dx.doi.org/10.1007/978-3-319-22183-0_22
[21]
John R. Koza, Forrest H. Bennett III, Jason Lohn, Frank Dunlap, Martin A. Keane, and David Andre. 1997. Automated synthesis of computational circuits using genetic programming. In Proceedings of the 1997 IEEE International Conference on Evolutionary Computation. IEEE, Los Alamitos, CA, 447–452. http://dx.doi.org/10.1109/ICEC.1997.592353
[22]
Oliver Krauss and W. B. Langdon. 2020. Automatically evolving lookup tables for function approximation. In Genetic Programming. Lecture Notes in Computer Science, Vol. 12101. Springer, 84–100. http://dx.doi.org/10.1007/978-3-030-44094-7_6
[23]
W. B. Langdon. 2012. Genetic improvement of programs. In 18th International Conference on Soft Computing, MENDEL 2012 (2nd ed.), Radomil Matousek (Ed.). Brno University of Technology, Brno, Czech Republic. http://www.cs.ucl.ac.uk/staff/W.Langdon/ftp/papers/Langdon_2012_mendel.pdf.
[24]
William B. Langdon. 2014. Genetic improvement of programs. In 16th International Symposium on Symbolic and Numeric Algorithms for Scientific Computing (SYNASC’14), Franz Winkler, Viorel Negru, Tetsuo Ida, Tudor Jebelean, Dana Petcu, Stephen Watt, and Daniela Zaharie (Eds.). IEEE, Timisoara, Romania, 14–19. http://dx.doi.org/10.1109/SYNASC.2014.10
[25]
W. B. Langdon. 2015. Genetic improvement of software for multiple objectives. In Search Based Software Engineering. Lecture Notes in Computer Science, Vol. 9275. Springer, 12–28. http://dx.doi.org/10.1007/978-3-319-22183-0_2
[26]
William B. Langdon. 2015. Genetically improved software. In Handbook of Genetic Programming Applications, Amir H. Gandomi, Amir H. Alavi, and Conor Ryan (Eds.). Springer, 181–220. http://dx.doi.org/10.1007/978-3-319-20883-1_8
[27]
W. B. Langdon. 2018. Evolving Square Root into Binary Logarithm. Technical Report RN/18/05. University College, London, London, UK. http://www.cs.ucl.ac.uk/fileadmin/UCL-CS/research/Research_Notes/RN_18_05.pdf.
[28]
W. B. Langdon. 2019. Genetic improvement of data gives double precision invsqrt. In 7th edition of GI @ GECCO 2019, Brad Alexander, Saemundur O. Haraldsson, Markus Wagner, and John R. Woodward (Eds.). ACM, Prague, Czech Republic, 1709–1714. http://dx.doi.org/10.1145/3319619.3326800
[29]
W. B. Langdon and M. Harman. 2010. Evolving a CUDA kernel from an nVidia template. In 2010 IEEE World Congress on Computational Intelligence, Pilar Sobrevilla (Ed.). IEEE, Barcelona, Spain, 2376–2383. http://dx.doi.org/10.1109/CEC.2010.5585922
[30]
William B. Langdon and Mark Harman. 2015. Grow and graft a better CUDA pknotsRG for RNA pseudoknot free energy calculation. In Genetic Improvement 2015 Workshop, William B. Langdon, Justyna Petke, and David R. White (Eds.). ACM, Madrid, Spain, 805–810. http://dx.doi.org/10.1145/2739482.2768418
[31]
William B. Langdon and Mark Harman. 2015. Optimising existing software with genetic programming. IEEE Transactions on Evolutionary Computation 19, 1 (Feb. 2015), 118–135. http://dx.doi.org/10.1109/TEVC.2013.2281544
[32]
William B. Langdon and Oliver Krauss. 2020. Evolving sqrt into 1/x via software data maintenance. In 9th edition of GI @ GECCO 2020, Brad Alexander, Alexander (Sandy) Brownlee, Saemundur O. Haraldsson, Markus Wagner, and John R. Woodward (Eds.). ACM, New York, NY, 1928–1936. http://dx.doi.org/10.1145/3377929.3398110
[33]
William B. Langdon, Brian Yee Hong Lam, Marc Modat, Justyna Petke, and Mark Harman. 2017. Genetic improvement of GPU software. Genetic Programming and Evolvable Machines 18, 1 (March 2017), 5–44. http://dx.doi.org/10.1007/s10710-016-9273-9
[34]
William B. Langdon and Justyna Petke. 2015. Software is not fragile. In Complex Systems Digital Campus E-Conference, CS-DC’15 (Proceedings in Complexity), Pierre Parrend, Paul Bourgine, and Pierre Collet (Eds.). Springer, 203–211. http://dx.doi.org/10.1007/978-3-319-45901-1_24
[35]
William B. Langdon and Justyna Petke. 2018. Evolving better software parameters. In Search Based Software Engineering. Lecture Notes in Computer Science, Vol. 11036. Springer, 363–369. http://dx.doi.org/10.1007/978-3-319-99241-9_22
[36]
W. B. Langdon and Justyna Petke. 2019. Genetic improvement of data gives binary logarithm from sqrt. In GECCO’19: Proceedings of the Genetic and Evolutionary Computation Conference Companion, Richard Allmendinger et al. (Eds.). ACM, Prague, Czech Republic, 413–414. http://dx.doi.org/10.1145/3319619.3321954
[37]
William B. Langdon, Justyna Petke, and Bobby R. Bruce. 2016. Optimising quantisation noise in energy measurement. In Parallel Problem Solving from Nature. Lecture Notes in Computer Science, Vol. 9921. Springer, 249–259. http://dx.doi.org/10.1007/978-3-319-45823-6_23
[38]
William B. Langdon, Justyna Petke, and Ronny Lorenz. 2018. Evolving better RNAfold structure prediction. In Genetic Programming. Lecture Notes in Computer Science, Vol. 10781. Springer, 220–236. 7 http://dx.doi.org/10.1007/978-3-319-77553-1_14
[39]
Ronny Lorenz, Stephan H. Bernhart, Christian Höner zu Siederdissen, Hakim Tafer, Christoph Flamm, Peter F. Stadler, and Ivo L. Hofacker. 2011. ViennaRNA Package 2.0. Algorithms for Molecular Biology 6, 1 (2011), Article 26. http://dx.doi.org/10.1186/1748-7188-6-26
[40]
Jie Lu, Hongyang Jia, Naveen Verma, and Niraj K. Jha. 2018. Genetic programming for energy-efficient and energy-scalable approximate feature computation in embedded inference systems. IEEE Transactions on Computers 67, 2 (Feb. 2018), 222–236. http://dx.doi.org/10.1109/TC.2017.2738642
[41]
Yanxin Lu, Swarat Chaudhuri, Chris Jermaine, and David Melski. 2018. Program splicing. In 40th International Conference on Software Engineering, Marsha Chechik and Mark Harman (Eds.). ACM, Gothenburg, Sweden, 338–349. http://dx.doi.org/10.1145/3180155.3180190
[42]
Alexandru Marginean, Earl T. Barr, Mark Harman, and Yue Jia. 2015. Automated transplantation of call graph and layout features into Kate. In Search Based Software Engineering. Lecture Notes in Computer Science, Vol. 9275. Springer, 262–268. http://dx.doi.org/10.1007/978-3-319-22183-0_21
[43]
P. W. Markstein. 1990. Computation of elementary functions on the IBM RISC System/6000 processor. IBM Journal of Research and Development 34, 1 (Jan. 1990), 111–119. http://dx.doi.org/10.1147/rd.341.0111
[44]
Petr Marounek. 2012. Simplified approach to effort estimation in software maintenance. Journal of Systems Integration 3, 3 (2012), 51–63.
[45]
Roger J. Martin and Wilma M. Osborne. 1983. Guidance on Software Maintenance. NBS Special Publication 500-106. National Bureau of Standards, Department of Commerce, Washington DC. http://nvlpubs.nist.gov/nistpubs/Legacy/SP/nbsspecialpublication500-106.pdf.
[46]
Michael Mohan and Des Greer. 2018. A survey of search-based refactoring for software maintenance. Journal of Software Engineering Research and Development 6, 3 (7 Feb. 2018), Article 3. http://dx.doi.org/10.1186/s40411-018-0046-4
[47]
Michael Orlov and Moshe Sipper. 2011. Flight of the FINCH through the Java Wilderness. IEEE Transactions on Evolutionary Computation 15, 2 (April 2011), 166–182. http://dx.doi.org/10.1109/TEVC.2010.2052622
[48]
Justyna Petke. 2015. Constraints: The future of combinatorial interaction testing. In Proceedings of the 2015 IEEE/ACM 8th International Workshop on Search-Based Software Testing. 17–18. http://dx.doi.org/
[49]
Justyna Petke. 2017. Preface to the special issue on genetic improvement. Genetic Programming and Evolvable Machines 18, 1 (March 2017), 3–4. http://dx.doi.org/10.1007/s10710-016-9280-x
[50]
Justyna Petke, Saemundur O. Haraldsson, Mark Harman, William B. Langdon, David R. White, and John R. Woodward. 2018. Genetic improvement of software: A comprehensive survey. IEEE Transactions on Evolutionary Computation 22, 3 (June 2018), 415–432. http://dx.doi.org/
[51]
Justyna Petke, Mark Harman, William B. Langdon, and Westley Weimer. 2014. Using genetic improvement and code transplants to specialise a C++ program to a problem class. In Genetic Programming. Lecture Notes in Computer Science, Vol. 8599. Springer, 137–149. http://dx.doi.org/10.1007/978-3-662-44303-3_12
[52]
Eric Schulte, Jonathan Dorn, Stephen Harding, Stephanie Forrest, and Westley Weimer. 2014. Post-compiler software optimization for reducing energy. In Proceedings of the 19th International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS’14). ACM, New York, NY, 639–652. http://dx.doi.org/10.1145/2541940.2541980
[53]
Eric Schulte, Stephanie Forrest, and Westley Weimer. 2010. Automated program repair through the evolution of assembly code. In Proceedings of the IEEE/ACM International Conference on Automated Software Engineering. ACM, New York, NY, 313–316. http://dx.doi.org/10.1145/1858996.1859059
[54]
Eric Schulte, Westley Weimer, and Stephanie Forrest. 2015. Repairing COTS router firmware without access to source code or test suites: A case study in evolutionary software repair. In Genetic Improvement 2015 Workshop, William B. Langdon, Justyna Petke, and David R. White (Eds.). ACM, Madrid, Spain, 847–854. http://dx.doi.org/10.1145/2739482.2768427
[55]
Madura A. Shelton, Niels Samwel, Lejla Batina, Francesco Regazzoni, Markus Wagner, and Yuval Yarom. 2019. Rosita: Towards automatic elimination of power-analysis leakage in ciphers. arXiv:1912.05183.
[56]
Jeongju Sohn, Seongmin Lee, and Shin Yoo. 2016. Amortised deep parameter optimisation of GPGPU work group size for OpenCV. In Search Based Software Engineering. Lecture Notes in Computer Science, Vol. 9962. Springer, 211–217. http://dx.doi.org/10.1007/978-3-319-47106-8_14
[57]
Hideyuki Takagi. 2001. Interactive evolutionary computation: Fusion of the capabilities of EC optimization and human evaluation. Proceedings of the IEEE 89, 9 (Sept. 2001), 1275–1296. http://dx.doi.org/10.1109/5.949485
[58]
Roberto Tiella and Mariano Ceccato. 2017. Automatic generation of opaque constants based on the K-clique problem for resilient data obfuscation. In Proceedings of the 2017 IEEE 24th International Conference on Software Analysis, Evolution, and Reengineering (SANER’17). IEEE, Los Alamitos, CA, 182–192. http://dx.doi.org/10.1109/SANER.2017.7884620
[59]
Zdenek Vasicek and Vojtech Mrazek. 2017. Trading between quality and non-functional properties of median filter in embedded systems. Genetic Programming and Evolvable Machines 18, 1 (March 2017), 45–82. http://dx.doi.org/10.1007/s10710-016-9275-7
[60]
David R. White. 2017. GI in no time. In GI-2017, Justyna Petke, David R. White, W. B. Langdon, and Westley Weimer (Eds.). ACM, Berlin, Germany, 1549–1550. http://dx.doi.org/
[61]
David R. White, Andrea Arcuri, and John A. Clark. 2011. Evolutionary improvement of programs. IEEE Transactions on Evolutionary Computation 15, 4 (Aug. 2011), 515–538. http://dx.doi.org/10.1109/TEVC.2010.2083669
[62]
David R. White, John Clark, Jeremy Jacob, and Simon M. Poulding. 2008. Searching for resource-efficient programs: Low-power pseudorandom number generators. In GECCO’08: Proceedings of the 10th Annual Conference on Genetic and Evolutionary Computation, Maarten Keijzer et al. (Eds.). ACM, Atlanta, GA, 1775–1782. http://dx.doi.org/10.1145/1389095.1389437
[63]
David R. White, Leonid Joffe, Edward Bowles, and Jerry Swan. 2017. Deep parameter tuning of concurrent divide and conquer algorithms in Akka. In Applications of Evolutionary Computation. Lecture Notes in Computer Science, Vol. 10200. Springer, 35–48. http://dx.doi.org/10.1007/978-3-319-55792-2_3
[64]
Michal Wiglasz and Lukas Sekanina. 2018. Cooperative coevolutionary approximation in HOG-based human detection embedded system. In Proceedings of the 2018 IEEE Symposium Series on Computational Intelligence (SSCI’18). IEEE, Los Alamitos, CA, 1313–1320. http://dx.doi.org/10.1109/SSCI.2018.8628910
[65]
John R. Woodward, Colin G. Johnson, and Alexander E. I. Brownlee. 2016. Connecting automatic parameter tuning, genetic programming as a hyper-heuristic, and genetic improvement programming. In GECCO’16 Companion: Proceedings of the Companion Publication of the 2016 Annual Conference on Genetic and Evolutionary Computation. ACM, Denver, CO, 1357–1358. http://dx.doi.org/10.1145/2908961.2931728
[66]
Fan Wu. 2017. Mutation-Based Genetic Improvement of Software. Ph.D. Dissertation. Department of Computer Science, University College, London, UK. http://www.cs.ucl.ac.uk/staff/W.Langdon/ftp/papers/Thesis_Fan_v2.1.pdf.
[67]
Fan Wu, Westley Weimer, Mark Harman, Yue Jia, and Jens Krinke. 2015. Deep parameter optimisation. In GECCO’15: Proceedings of the 2015 Annual Conference on Genetic and Evolutionary Computation, Sara Silva et al. (Eds.). ACM, Madrid, Spain, 1375–1382. http://dx.doi.org/10.1145/2739480.2754648

Cited By

View all
  • (2023)Jaws 30Genetic Programming and Evolvable Machines10.1007/s10710-023-09467-x24:2Online publication date: 22-Nov-2023
  • (2022)Code and Data Synthesis for Genetic Improvement in Emergent Software SystemsACM Transactions on Evolutionary Learning and Optimization10.1145/35428232:2(1-35)Online publication date: 16-Aug-2022
  • (2022)Evaluation of genetic improvement tools for improvement of non-functional properties of softwareProceedings of the Genetic and Evolutionary Computation Conference Companion10.1145/3520304.3534004(1956-1965)Online publication date: 9-Jul-2022

Index Terms

  1. Genetic Improvement of Data for Maths Functions
        Index terms have been assigned to the content through auto-classification.

        Recommendations

        Comments

        Information & Contributors

        Information

        Published In

        cover image ACM Transactions on Evolutionary Learning and Optimization
        ACM Transactions on Evolutionary Learning and Optimization  Volume 1, Issue 2
        June 2021
        107 pages
        EISSN:2688-3007
        DOI:10.1145/3476125
        Issue’s Table of Contents
        Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than the author(s) must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected].

        Publisher

        Association for Computing Machinery

        New York, NY, United States

        Publication History

        Published: 29 July 2021
        Accepted: 01 April 2021
        Revised: 01 March 2021
        Received: 01 January 2020
        Published in TELO Volume 1, Issue 2

        Check for updates

        Author Tags

        1. Evolutionary computing
        2. software engineering
        3. search based software engineering
        4. SBSE
        5. software maintenance of empirical constants
        6. data transplantation
        7. glibc
        8. vector normalisation
        9. Newton’s method

        Qualifiers

        • Research-article
        • Refereed

        Funding Sources

        • EPSRC

        Contributors

        Other Metrics

        Bibliometrics & Citations

        Bibliometrics

        Article Metrics

        • Downloads (Last 12 months)11
        • Downloads (Last 6 weeks)1
        Reflects downloads up to 18 Feb 2025

        Other Metrics

        Citations

        Cited By

        View all
        • (2023)Jaws 30Genetic Programming and Evolvable Machines10.1007/s10710-023-09467-x24:2Online publication date: 22-Nov-2023
        • (2022)Code and Data Synthesis for Genetic Improvement in Emergent Software SystemsACM Transactions on Evolutionary Learning and Optimization10.1145/35428232:2(1-35)Online publication date: 16-Aug-2022
        • (2022)Evaluation of genetic improvement tools for improvement of non-functional properties of softwareProceedings of the Genetic and Evolutionary Computation Conference Companion10.1145/3520304.3534004(1956-1965)Online publication date: 9-Jul-2022

        View Options

        Login options

        Full Access

        View options

        PDF

        View or Download as a PDF file.

        PDF

        eReader

        View online with eReader.

        eReader

        Figures

        Tables

        Media

        Share

        Share

        Share this Publication link

        Share on social media