./Ultimate.py --spec ../../sv-benchmarks/c/properties/unreach-call.prp --file ../../sv-benchmarks/c/float-newlib/double_req_bl_0683b_true-unreach-call.c --full-output --architecture 32bit -------------------------------------------------------------------------------- Checking for ERROR reachability Using default analysis Version aa418289 Calling Ultimate with: java -Dosgi.configuration.area=/tmp/vcloud-vcloud-master/worker/working_dir_843b8523-52fc-434f-a3c3-4dd61ab60740/bin-2019/ukojak/data/config -Xmx12G -Xms1G -jar /tmp/vcloud-vcloud-master/worker/working_dir_843b8523-52fc-434f-a3c3-4dd61ab60740/bin-2019/ukojak/plugins/org.eclipse.equinox.launcher_1.3.100.v20150511-1540.jar -data @noDefault -ultimatedata /tmp/vcloud-vcloud-master/worker/working_dir_843b8523-52fc-434f-a3c3-4dd61ab60740/bin-2019/ukojak/data -tc /tmp/vcloud-vcloud-master/worker/working_dir_843b8523-52fc-434f-a3c3-4dd61ab60740/bin-2019/ukojak/config/KojakReach.xml -i ../../sv-benchmarks/c/float-newlib/double_req_bl_0683b_true-unreach-call.c -s /tmp/vcloud-vcloud-master/worker/working_dir_843b8523-52fc-434f-a3c3-4dd61ab60740/bin-2019/ukojak/config/svcomp-Reach-32bit-Kojak_Default.epf --cacsl2boogietranslator.entry.function main --witnessprinter.witness.directory /tmp/vcloud-vcloud-master/worker/working_dir_843b8523-52fc-434f-a3c3-4dd61ab60740/bin-2019/ukojak --witnessprinter.witness.filename witness.graphml --witnessprinter.write.witness.besides.input.file false --witnessprinter.graph.data.specification CHECK( init(main()), LTL(G ! call(__VERIFIER_error())) ) --witnessprinter.graph.data.producer Kojak --witnessprinter.graph.data.architecture 32bit --witnessprinter.graph.data.programhash 516e79809fe70e7ecdc6c9a291a13d34f08e7bb9 .......................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................... Execution finished normally Using bit-precise analysis Retrying with bit-precise analysis Calling Ultimate with: java -Dosgi.configuration.area=/tmp/vcloud-vcloud-master/worker/working_dir_843b8523-52fc-434f-a3c3-4dd61ab60740/bin-2019/ukojak/data/config -Xmx12G -Xms1G -jar /tmp/vcloud-vcloud-master/worker/working_dir_843b8523-52fc-434f-a3c3-4dd61ab60740/bin-2019/ukojak/plugins/org.eclipse.equinox.launcher_1.3.100.v20150511-1540.jar -data @noDefault -ultimatedata /tmp/vcloud-vcloud-master/worker/working_dir_843b8523-52fc-434f-a3c3-4dd61ab60740/bin-2019/ukojak/data -tc /tmp/vcloud-vcloud-master/worker/working_dir_843b8523-52fc-434f-a3c3-4dd61ab60740/bin-2019/ukojak/config/KojakReach.xml -i ../../sv-benchmarks/c/float-newlib/double_req_bl_0683b_true-unreach-call.c -s /tmp/vcloud-vcloud-master/worker/working_dir_843b8523-52fc-434f-a3c3-4dd61ab60740/bin-2019/ukojak/config/svcomp-Reach-32bit-Kojak_Bitvector.epf --cacsl2boogietranslator.entry.function main --witnessprinter.witness.directory /tmp/vcloud-vcloud-master/worker/working_dir_843b8523-52fc-434f-a3c3-4dd61ab60740/bin-2019/ukojak --witnessprinter.witness.filename witness.graphml --witnessprinter.write.witness.besides.input.file false --witnessprinter.graph.data.specification CHECK( init(main()), LTL(G ! call(__VERIFIER_error())) ) --witnessprinter.graph.data.producer Kojak --witnessprinter.graph.data.architecture 32bit --witnessprinter.graph.data.programhash 516e79809fe70e7ecdc6c9a291a13d34f08e7bb9 ........................................................................................................................................................................................................................................................................................................................................................................................................ Execution finished normally Writing output log to file Ultimate.log Result: ERROR: ExceptionOrErrorResult: SMTLIBException: External (z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:10000)Received EOF on stdin. stderr output: (error "out of memory") --- Real Ultimate output --- This is Ultimate 0.1.23-aa41828 [2018-11-23 06:43:51,743 INFO L170 SettingsManager]: Resetting all preferences to default values... [2018-11-23 06:43:51,744 INFO L174 SettingsManager]: Resetting UltimateCore preferences to default values [2018-11-23 06:43:51,750 INFO L177 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2018-11-23 06:43:51,751 INFO L174 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2018-11-23 06:43:51,751 INFO L174 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2018-11-23 06:43:51,752 INFO L174 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2018-11-23 06:43:51,753 INFO L174 SettingsManager]: Resetting LassoRanker preferences to default values [2018-11-23 06:43:51,754 INFO L174 SettingsManager]: Resetting Reaching Definitions preferences to default values [2018-11-23 06:43:51,755 INFO L174 SettingsManager]: Resetting SyntaxChecker preferences to default values [2018-11-23 06:43:51,755 INFO L177 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2018-11-23 06:43:51,755 INFO L174 SettingsManager]: Resetting LTL2Aut preferences to default values [2018-11-23 06:43:51,756 INFO L174 SettingsManager]: Resetting PEA to Boogie preferences to default values [2018-11-23 06:43:51,757 INFO L174 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2018-11-23 06:43:51,757 INFO L174 SettingsManager]: Resetting ChcToBoogie preferences to default values [2018-11-23 06:43:51,758 INFO L174 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2018-11-23 06:43:51,758 INFO L174 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2018-11-23 06:43:51,760 INFO L174 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2018-11-23 06:43:51,761 INFO L174 SettingsManager]: Resetting CodeCheck preferences to default values [2018-11-23 06:43:51,762 INFO L174 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2018-11-23 06:43:51,762 INFO L174 SettingsManager]: Resetting RCFGBuilder preferences to default values [2018-11-23 06:43:51,763 INFO L174 SettingsManager]: Resetting TraceAbstraction preferences to default values [2018-11-23 06:43:51,764 INFO L177 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2018-11-23 06:43:51,764 INFO L177 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2018-11-23 06:43:51,764 INFO L174 SettingsManager]: Resetting TreeAutomizer preferences to default values [2018-11-23 06:43:51,765 INFO L174 SettingsManager]: Resetting IcfgTransformer preferences to default values [2018-11-23 06:43:51,766 INFO L174 SettingsManager]: Resetting Boogie Printer preferences to default values [2018-11-23 06:43:51,766 INFO L174 SettingsManager]: Resetting ReqPrinter preferences to default values [2018-11-23 06:43:51,767 INFO L174 SettingsManager]: Resetting Witness Printer preferences to default values [2018-11-23 06:43:51,767 INFO L177 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2018-11-23 06:43:51,768 INFO L174 SettingsManager]: Resetting CDTParser preferences to default values [2018-11-23 06:43:51,768 INFO L177 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2018-11-23 06:43:51,768 INFO L177 SettingsManager]: ReqParser provides no preferences, ignoring... [2018-11-23 06:43:51,768 INFO L174 SettingsManager]: Resetting SmtParser preferences to default values [2018-11-23 06:43:51,769 INFO L174 SettingsManager]: Resetting Witness Parser preferences to default values [2018-11-23 06:43:51,769 INFO L181 SettingsManager]: Finished resetting all preferences to default values... [2018-11-23 06:43:51,769 INFO L98 SettingsManager]: Beginning loading settings from /tmp/vcloud-vcloud-master/worker/working_dir_843b8523-52fc-434f-a3c3-4dd61ab60740/bin-2019/ukojak/config/svcomp-Reach-32bit-Kojak_Default.epf [2018-11-23 06:43:51,777 INFO L110 SettingsManager]: Loading preferences was successful [2018-11-23 06:43:51,777 INFO L112 SettingsManager]: Preferences different from defaults after loading the file: [2018-11-23 06:43:51,778 INFO L131 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2018-11-23 06:43:51,778 INFO L133 SettingsManager]: * ... to procedures called more than once=ALWAYS [2018-11-23 06:43:51,778 INFO L131 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2018-11-23 06:43:51,779 INFO L133 SettingsManager]: * Create parallel compositions if possible=false [2018-11-23 06:43:51,779 INFO L131 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2018-11-23 06:43:51,779 INFO L133 SettingsManager]: * sizeof long=4 [2018-11-23 06:43:51,779 INFO L133 SettingsManager]: * Overapproximate operations on floating types=true [2018-11-23 06:43:51,779 INFO L133 SettingsManager]: * sizeof POINTER=4 [2018-11-23 06:43:51,779 INFO L133 SettingsManager]: * Check division by zero=IGNORE [2018-11-23 06:43:51,779 INFO L133 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2018-11-23 06:43:51,780 INFO L133 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2018-11-23 06:43:51,780 INFO L133 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2018-11-23 06:43:51,780 INFO L133 SettingsManager]: * sizeof long double=12 [2018-11-23 06:43:51,780 INFO L133 SettingsManager]: * Check if freed pointer was valid=false [2018-11-23 06:43:51,780 INFO L133 SettingsManager]: * Use constant arrays=true [2018-11-23 06:43:51,780 INFO L133 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2018-11-23 06:43:51,780 INFO L131 SettingsManager]: Preferences of CodeCheck differ from their defaults: [2018-11-23 06:43:51,780 INFO L133 SettingsManager]: * Timeout in seconds=1000000 [2018-11-23 06:43:51,781 INFO L131 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2018-11-23 06:43:51,781 INFO L133 SettingsManager]: * To the following directory=./dump/ [2018-11-23 06:43:51,781 INFO L133 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:10000 [2018-11-23 06:43:51,781 INFO L131 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2018-11-23 06:43:51,781 INFO L133 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2018-11-23 06:43:51,781 INFO L133 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopsAndPotentialCycles [2018-11-23 06:43:51,781 INFO L133 SettingsManager]: * Trace refinement strategy=PENGUIN [2018-11-23 06:43:51,782 INFO L133 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode [2018-11-23 06:43:51,782 INFO L133 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2018-11-23 06:43:51,782 INFO L133 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true Applying setting for plugin de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator: Entry function -> main Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Witness directory -> /tmp/vcloud-vcloud-master/worker/working_dir_843b8523-52fc-434f-a3c3-4dd61ab60740/bin-2019/ukojak Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Witness filename -> witness.graphml Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Write witness besides input file -> false Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Graph data specification -> CHECK( init(main()), LTL(G ! call(__VERIFIER_error())) ) Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Graph data producer -> Kojak Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Graph data architecture -> 32bit Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Graph data programhash -> 516e79809fe70e7ecdc6c9a291a13d34f08e7bb9 [2018-11-23 06:43:51,805 INFO L81 nceAwareModelManager]: Repository-Root is: /tmp [2018-11-23 06:43:51,814 INFO L258 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2018-11-23 06:43:51,816 INFO L214 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2018-11-23 06:43:51,817 INFO L271 PluginConnector]: Initializing CDTParser... [2018-11-23 06:43:51,817 INFO L276 PluginConnector]: CDTParser initialized [2018-11-23 06:43:51,818 INFO L418 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /tmp/vcloud-vcloud-master/worker/working_dir_843b8523-52fc-434f-a3c3-4dd61ab60740/bin-2019/ukojak/../../sv-benchmarks/c/float-newlib/double_req_bl_0683b_true-unreach-call.c [2018-11-23 06:43:51,860 INFO L221 CDTParser]: Created temporary CDT project at /tmp/vcloud-vcloud-master/worker/working_dir_843b8523-52fc-434f-a3c3-4dd61ab60740/bin-2019/ukojak/data/ee591ea07/6c3c86cfefbf4c4a821656aabdc4357a/FLAG02101be03 [2018-11-23 06:43:52,271 INFO L307 CDTParser]: Found 1 translation units. [2018-11-23 06:43:52,271 INFO L161 CDTParser]: Scanning /tmp/vcloud-vcloud-master/worker/working_dir_843b8523-52fc-434f-a3c3-4dd61ab60740/sv-benchmarks/c/float-newlib/double_req_bl_0683b_true-unreach-call.c [2018-11-23 06:43:52,276 INFO L355 CDTParser]: About to delete temporary CDT project at /tmp/vcloud-vcloud-master/worker/working_dir_843b8523-52fc-434f-a3c3-4dd61ab60740/bin-2019/ukojak/data/ee591ea07/6c3c86cfefbf4c4a821656aabdc4357a/FLAG02101be03 [2018-11-23 06:43:52,284 INFO L363 CDTParser]: Successfully deleted /tmp/vcloud-vcloud-master/worker/working_dir_843b8523-52fc-434f-a3c3-4dd61ab60740/bin-2019/ukojak/data/ee591ea07/6c3c86cfefbf4c4a821656aabdc4357a [2018-11-23 06:43:52,286 INFO L296 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2018-11-23 06:43:52,287 INFO L131 ToolchainWalker]: Walking toolchain with 6 elements. [2018-11-23 06:43:52,288 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2018-11-23 06:43:52,288 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2018-11-23 06:43:52,291 INFO L276 PluginConnector]: CACSL2BoogieTranslator initialized [2018-11-23 06:43:52,291 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 23.11 06:43:52" (1/1) ... [2018-11-23 06:43:52,293 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@4a7c0064 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 06:43:52, skipping insertion in model container [2018-11-23 06:43:52,293 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 23.11 06:43:52" (1/1) ... [2018-11-23 06:43:52,298 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2018-11-23 06:43:52,320 INFO L176 MainTranslator]: Built tables and reachable declarations [2018-11-23 06:43:52,464 INFO L201 PostProcessor]: Analyzing one entry point: main [2018-11-23 06:43:52,467 INFO L191 MainTranslator]: Completed pre-run [2018-11-23 06:43:52,545 INFO L201 PostProcessor]: Analyzing one entry point: main [2018-11-23 06:43:52,562 INFO L195 MainTranslator]: Completed translation [2018-11-23 06:43:52,563 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 06:43:52 WrapperNode [2018-11-23 06:43:52,563 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2018-11-23 06:43:52,563 INFO L113 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2018-11-23 06:43:52,563 INFO L271 PluginConnector]: Initializing Boogie Procedure Inliner... [2018-11-23 06:43:52,563 INFO L276 PluginConnector]: Boogie Procedure Inliner initialized [2018-11-23 06:43:52,570 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 06:43:52" (1/1) ... [2018-11-23 06:43:52,583 INFO L185 PluginConnector]: Executing the observer Inliner from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 06:43:52" (1/1) ... [2018-11-23 06:43:52,607 INFO L132 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2018-11-23 06:43:52,608 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2018-11-23 06:43:52,608 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2018-11-23 06:43:52,608 INFO L276 PluginConnector]: Boogie Preprocessor initialized [2018-11-23 06:43:52,616 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 06:43:52" (1/1) ... [2018-11-23 06:43:52,616 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 06:43:52" (1/1) ... [2018-11-23 06:43:52,621 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 06:43:52" (1/1) ... [2018-11-23 06:43:52,621 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 06:43:52" (1/1) ... [2018-11-23 06:43:52,636 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 06:43:52" (1/1) ... [2018-11-23 06:43:52,643 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 06:43:52" (1/1) ... [2018-11-23 06:43:52,645 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 06:43:52" (1/1) ... [2018-11-23 06:43:52,647 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2018-11-23 06:43:52,648 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2018-11-23 06:43:52,648 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2018-11-23 06:43:52,648 INFO L276 PluginConnector]: RCFGBuilder initialized [2018-11-23 06:43:52,649 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 06:43:52" (1/1) ... No working directory specified, using /tmp/vcloud-vcloud-master/worker/working_dir_843b8523-52fc-434f-a3c3-4dd61ab60740/bin-2019/ukojak/z3 Starting monitored process 1 with z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:10000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 1 with z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:10000 [2018-11-23 06:43:52,685 INFO L130 BoogieDeclarations]: Found specification of procedure read~real [2018-11-23 06:43:52,685 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2018-11-23 06:43:52,685 INFO L130 BoogieDeclarations]: Found specification of procedure fabs_double [2018-11-23 06:43:52,686 INFO L138 BoogieDeclarations]: Found implementation of procedure fabs_double [2018-11-23 06:43:52,686 INFO L130 BoogieDeclarations]: Found specification of procedure write~real [2018-11-23 06:43:52,686 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.alloc [2018-11-23 06:43:52,686 INFO L130 BoogieDeclarations]: Found specification of procedure atan_double [2018-11-23 06:43:52,686 INFO L138 BoogieDeclarations]: Found implementation of procedure atan_double [2018-11-23 06:43:52,686 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2018-11-23 06:43:52,686 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2018-11-23 06:43:52,686 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2018-11-23 06:43:52,686 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~real [2018-11-23 06:43:52,687 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2018-11-23 06:43:53,280 INFO L275 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2018-11-23 06:43:53,281 INFO L280 CfgBuilder]: Removed 34 assue(true) statements. [2018-11-23 06:43:53,281 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 23.11 06:43:53 BoogieIcfgContainer [2018-11-23 06:43:53,281 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2018-11-23 06:43:53,281 INFO L113 PluginConnector]: ------------------------CodeCheck---------------------------- [2018-11-23 06:43:53,282 INFO L271 PluginConnector]: Initializing CodeCheck... [2018-11-23 06:43:53,290 INFO L276 PluginConnector]: CodeCheck initialized [2018-11-23 06:43:53,291 INFO L185 PluginConnector]: Executing the observer CodeCheckObserver from plugin CodeCheck for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 23.11 06:43:53" (1/1) ... [2018-11-23 06:43:53,300 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 06:43:53,324 INFO L82 GeneralOperation]: Start removeUnreachable. Operand no size info available [2018-11-23 06:43:53,331 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 136 states to 83 states and 136 transitions. [2018-11-23 06:43:53,331 INFO L276 IsEmpty]: Start isEmpty. Operand 83 states and 136 transitions. [2018-11-23 06:43:53,332 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 15 [2018-11-23 06:43:53,333 INFO L427 CodeCheckObserver]: Error Path is FOUND. [2018-11-23 06:43:53,397 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 06:43:53,432 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-23 06:43:53,442 INFO L82 GeneralOperation]: Start removeUnreachable. Operand no size info available [2018-11-23 06:43:53,443 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 129 states to 83 states and 129 transitions. [2018-11-23 06:43:53,443 INFO L276 IsEmpty]: Start isEmpty. Operand 83 states and 129 transitions. [2018-11-23 06:43:53,444 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 18 [2018-11-23 06:43:53,444 INFO L427 CodeCheckObserver]: Error Path is FOUND. [2018-11-23 06:43:53,473 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 06:43:53,513 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-23 06:43:53,548 INFO L82 GeneralOperation]: Start removeUnreachable. Operand no size info available [2018-11-23 06:43:53,549 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 131 states to 84 states and 131 transitions. [2018-11-23 06:43:53,549 INFO L276 IsEmpty]: Start isEmpty. Operand 84 states and 131 transitions. [2018-11-23 06:43:53,550 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 20 [2018-11-23 06:43:53,550 INFO L427 CodeCheckObserver]: Error Path is FOUND. [2018-11-23 06:43:53,565 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 06:43:53,584 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-23 06:43:53,588 INFO L82 GeneralOperation]: Start removeUnreachable. Operand no size info available [2018-11-23 06:43:53,589 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 129 states to 84 states and 129 transitions. [2018-11-23 06:43:53,589 INFO L276 IsEmpty]: Start isEmpty. Operand 84 states and 129 transitions. [2018-11-23 06:43:53,589 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 21 [2018-11-23 06:43:53,589 INFO L427 CodeCheckObserver]: Error Path is FOUND. [2018-11-23 06:43:53,652 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-11-23 06:43:53,695 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-11-23 06:43:53,777 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-11-23 06:43:53,816 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-11-23 06:43:53,851 WARN L493 CodeCheckObserver]: This program is UNSAFE, Check terminated with 4 iterations. ----- class de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder.RCFGBacktranslator [?] #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];call ~#atanhi_atan~0.base, ~#atanhi_atan~0.offset := #Ultimate.alloc(32);call write~init~real(0.4636476090008061, ~#atanhi_atan~0.base, ~#atanhi_atan~0.offset, 8);call write~init~real(0.7853981633974483, ~#atanhi_atan~0.base, 8 + ~#atanhi_atan~0.offset, 8);call write~init~real(0.982793723247329, ~#atanhi_atan~0.base, 16 + ~#atanhi_atan~0.offset, 8);call write~init~real(1.5707963267948966, ~#atanhi_atan~0.base, 24 + ~#atanhi_atan~0.offset, 8);call ~#atanlo_atan~0.base, ~#atanlo_atan~0.offset := #Ultimate.alloc(32);call write~init~real(2.2698777452961687E-17, ~#atanlo_atan~0.base, ~#atanlo_atan~0.offset, 8);call write~init~real(3.061616997868383E-17, ~#atanlo_atan~0.base, 8 + ~#atanlo_atan~0.offset, 8);call write~init~real(1.3903311031230998E-17, ~#atanlo_atan~0.base, 16 + ~#atanlo_atan~0.offset, 8);call write~init~real(6.123233995736766E-17, ~#atanlo_atan~0.base, 24 + ~#atanlo_atan~0.offset, 8);call ~#aT_atan~0.base, ~#aT_atan~0.offset := #Ultimate.alloc(88);call write~init~real(0.3333333333333293, ~#aT_atan~0.base, ~#aT_atan~0.offset, 8);call write~init~real(~someUnaryDOUBLEoperation(0.19999999999876483), ~#aT_atan~0.base, 8 + ~#aT_atan~0.offset, 8);call write~init~real(0.14285714272503466, ~#aT_atan~0.base, 16 + ~#aT_atan~0.offset, 8);call write~init~real(~someUnaryDOUBLEoperation(0.11111110405462356), ~#aT_atan~0.base, 24 + ~#aT_atan~0.offset, 8);call write~init~real(0.09090887133436507, ~#aT_atan~0.base, 32 + ~#aT_atan~0.offset, 8);call write~init~real(~someUnaryDOUBLEoperation(0.0769187620504483), ~#aT_atan~0.base, 40 + ~#aT_atan~0.offset, 8);call write~init~real(0.06661073137387531, ~#aT_atan~0.base, 48 + ~#aT_atan~0.offset, 8);call write~init~real(~someUnaryDOUBLEoperation(0.058335701337905735), ~#aT_atan~0.base, 56 + ~#aT_atan~0.offset, 8);call write~init~real(0.049768779946159324, ~#aT_atan~0.base, 64 + ~#aT_atan~0.offset, 8);call write~init~real(~someUnaryDOUBLEoperation(0.036531572744216916), ~#aT_atan~0.base, 72 + ~#aT_atan~0.offset, 8);call write~init~real(0.016285820115365782, ~#aT_atan~0.base, 80 + ~#aT_atan~0.offset, 8);~one_atan~0 := 1.0;~pi_o_4~0 := 0.7853981633974483;~pi_o_2~0 := 1.5707963267948966;~pi~0 := 3.141592653589793;~huge_atan~0 := 1.0E300;~tiny_atan2~0 := 1.0E-300;~zero_atan2~0 := 0.0;~pi_lo_atan2~0 := 1.2246467991473532E-16;havoc main_#res;havoc main_#t~nondet56, main_#t~ret57, main_#t~ret58, main_#t~short59, main_#t~ret60, main_#t~ret61, main_#t~short62, main_~res~0, main_~x~0, main_~y~0;main_~x~0 := ~someBinaryArithmeticDOUBLEoperation(1.0, 0.0);main_~y~0 := main_#t~nondet56;havoc main_#t~nondet56;isinf_double_#in~x := main_~x~0;havoc isinf_double_#res;havoc isinf_double_#t~mem48, isinf_double_#t~union49, isinf_double_#t~mem50, isinf_double_#t~union51, isinf_double_~#ew_u~2.base, isinf_double_~#ew_u~2.offset, isinf_double_~x, isinf_double_~hx~2, isinf_double_~lx~1;isinf_double_~x := isinf_double_#in~x;havoc isinf_double_~hx~2;havoc isinf_double_~lx~1; VAL [ULTIMATE.start_isinf_double_~x=2.0, ULTIMATE.start_main_~x~0=2.0, |#NULL.base|=0, |#NULL.offset|=0, |ULTIMATE.start_isinf_double_#in~x|=2.0, |~#aT_atan~0.base|=3, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=5, |~#atanhi_atan~0.offset|=0, |~#atanlo_atan~0.base|=6, |~#atanlo_atan~0.offset|=0, ~huge_atan~0=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0, ~one_atan~0=1.0, ~pi_lo_atan2~0=(/ 3061616997868382943.0 25000000000000000000000000000000000.0), ~pi_o_2~0=(/ 785398163397448279.0 500000000000000000.0), ~pi_o_4~0=(/ 785398163397448279.0 1000000000000000000.0), ~pi~0=(/ 785398163397448279.0 250000000000000000.0), ~tiny_atan2~0=(/ 1.0 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0), ~zero_atan2~0=0.0] [?] call isinf_double_~#ew_u~2.base, isinf_double_~#ew_u~2.offset := #Ultimate.alloc(8);call write~real(isinf_double_~x, isinf_double_~#ew_u~2.base, isinf_double_~#ew_u~2.offset, 8);call isinf_double_#t~mem48 := read~int(isinf_double_~#ew_u~2.base, 4 + isinf_double_~#ew_u~2.offset, 4);isinf_double_~hx~2 := (if isinf_double_#t~mem48 % 4294967296 % 4294967296 <= 2147483647 then isinf_double_#t~mem48 % 4294967296 % 4294967296 else isinf_double_#t~mem48 % 4294967296 % 4294967296 - 4294967296);call write~real(isinf_double_#t~union49, isinf_double_~#ew_u~2.base, isinf_double_~#ew_u~2.offset, 8);havoc isinf_double_#t~mem48;havoc isinf_double_#t~union49;call isinf_double_#t~mem50 := read~int(isinf_double_~#ew_u~2.base, isinf_double_~#ew_u~2.offset, 4);isinf_double_~lx~1 := (if isinf_double_#t~mem50 % 4294967296 % 4294967296 <= 2147483647 then isinf_double_#t~mem50 % 4294967296 % 4294967296 else isinf_double_#t~mem50 % 4294967296 % 4294967296 - 4294967296);call write~real(isinf_double_#t~union51, isinf_double_~#ew_u~2.base, isinf_double_~#ew_u~2.offset, 8);havoc isinf_double_#t~union51;havoc isinf_double_#t~mem50;call ULTIMATE.dealloc(isinf_double_~#ew_u~2.base, isinf_double_~#ew_u~2.offset);havoc isinf_double_~#ew_u~2.base, isinf_double_~#ew_u~2.offset; VAL [ULTIMATE.start_isinf_double_~hx~2=0, ULTIMATE.start_isinf_double_~lx~1=2331, ULTIMATE.start_isinf_double_~x=2.0, ULTIMATE.start_main_~x~0=2.0, |#NULL.base|=0, |#NULL.offset|=0, |ULTIMATE.start_isinf_double_#in~x|=2.0, |~#aT_atan~0.base|=3, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=5, |~#atanhi_atan~0.offset|=0, |~#atanlo_atan~0.base|=6, |~#atanlo_atan~0.offset|=0, ~huge_atan~0=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0, ~one_atan~0=1.0, ~pi_lo_atan2~0=(/ 3061616997868382943.0 25000000000000000000000000000000000.0), ~pi_o_2~0=(/ 785398163397448279.0 500000000000000000.0), ~pi_o_4~0=(/ 785398163397448279.0 1000000000000000000.0), ~pi~0=(/ 785398163397448279.0 250000000000000000.0), ~tiny_atan2~0=(/ 1.0 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0), ~zero_atan2~0=0.0] [?] goto; VAL [ULTIMATE.start_isinf_double_~hx~2=0, ULTIMATE.start_isinf_double_~lx~1=2331, ULTIMATE.start_isinf_double_~x=2.0, ULTIMATE.start_main_~x~0=2.0, |#NULL.base|=0, |#NULL.offset|=0, |ULTIMATE.start_isinf_double_#in~x|=2.0, |~#aT_atan~0.base|=3, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=5, |~#atanhi_atan~0.offset|=0, |~#atanlo_atan~0.base|=6, |~#atanlo_atan~0.offset|=0, ~huge_atan~0=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0, ~one_atan~0=1.0, ~pi_lo_atan2~0=(/ 3061616997868382943.0 25000000000000000000000000000000000.0), ~pi_o_2~0=(/ 785398163397448279.0 500000000000000000.0), ~pi_o_4~0=(/ 785398163397448279.0 1000000000000000000.0), ~pi~0=(/ 785398163397448279.0 250000000000000000.0), ~tiny_atan2~0=(/ 1.0 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0), ~zero_atan2~0=0.0] [?] isinf_double_~hx~2 := ~bitwiseAnd(isinf_double_~hx~2, 2147483647);isinf_double_~hx~2 := (if ~bitwiseOr(isinf_double_~hx~2, ~bitwiseOr(isinf_double_~lx~1, -isinf_double_~lx~1) / 2147483648) % 4294967296 % 4294967296 <= 2147483647 then ~bitwiseOr(isinf_double_~hx~2, ~bitwiseOr(isinf_double_~lx~1, -isinf_double_~lx~1) / 2147483648) % 4294967296 % 4294967296 else ~bitwiseOr(isinf_double_~hx~2, ~bitwiseOr(isinf_double_~lx~1, -isinf_double_~lx~1) / 2147483648) % 4294967296 % 4294967296 - 4294967296);isinf_double_~hx~2 := 2146435072 - isinf_double_~hx~2;isinf_double_#res := 1 - (if ~bitwiseOr(isinf_double_~hx~2, -isinf_double_~hx~2) / 2147483648 % 4294967296 % 4294967296 <= 2147483647 then ~bitwiseOr(isinf_double_~hx~2, -isinf_double_~hx~2) / 2147483648 % 4294967296 % 4294967296 else ~bitwiseOr(isinf_double_~hx~2, -isinf_double_~hx~2) / 2147483648 % 4294967296 % 4294967296 - 4294967296);main_#t~ret57 := isinf_double_#res;assume -2147483648 <= main_#t~ret57 && main_#t~ret57 <= 2147483647;main_#t~short59 := 0 != main_#t~ret57; VAL [ULTIMATE.start_isinf_double_~hx~2=2146435072, ULTIMATE.start_isinf_double_~lx~1=2331, ULTIMATE.start_isinf_double_~x=2.0, ULTIMATE.start_main_~x~0=2.0, |#NULL.base|=0, |#NULL.offset|=0, |ULTIMATE.start_isinf_double_#in~x|=2.0, |ULTIMATE.start_isinf_double_#res|=(- 1), |ULTIMATE.start_main_#t~ret57|=(- 1), |ULTIMATE.start_main_#t~short59|=true, |~#aT_atan~0.base|=3, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=5, |~#atanhi_atan~0.offset|=0, |~#atanlo_atan~0.base|=6, |~#atanlo_atan~0.offset|=0, ~huge_atan~0=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0, ~one_atan~0=1.0, ~pi_lo_atan2~0=(/ 3061616997868382943.0 25000000000000000000000000000000000.0), ~pi_o_2~0=(/ 785398163397448279.0 500000000000000000.0), ~pi_o_4~0=(/ 785398163397448279.0 1000000000000000000.0), ~pi~0=(/ 785398163397448279.0 250000000000000000.0), ~tiny_atan2~0=(/ 1.0 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0), ~zero_atan2~0=0.0] [?] assume main_#t~short59;isfinite_double_#in~x := main_~y~0;havoc isfinite_double_#res;havoc isfinite_double_#t~mem52, isfinite_double_#t~union53, isfinite_double_~#gh_u~3.base, isfinite_double_~#gh_u~3.offset, isfinite_double_~x, isfinite_double_~hx~3;isfinite_double_~x := isfinite_double_#in~x;havoc isfinite_double_~hx~3; VAL [ULTIMATE.start_isfinite_double_~x=4.0, ULTIMATE.start_isinf_double_~hx~2=2146435072, ULTIMATE.start_isinf_double_~lx~1=2331, ULTIMATE.start_isinf_double_~x=2.0, ULTIMATE.start_main_~x~0=2.0, ULTIMATE.start_main_~y~0=4.0, |#NULL.base|=0, |#NULL.offset|=0, |ULTIMATE.start_isfinite_double_#in~x|=4.0, |ULTIMATE.start_isinf_double_#in~x|=2.0, |ULTIMATE.start_isinf_double_#res|=(- 1), |ULTIMATE.start_main_#t~ret57|=(- 1), |ULTIMATE.start_main_#t~short59|=true, |~#aT_atan~0.base|=3, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=5, |~#atanhi_atan~0.offset|=0, |~#atanlo_atan~0.base|=6, |~#atanlo_atan~0.offset|=0, ~huge_atan~0=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0, ~one_atan~0=1.0, ~pi_lo_atan2~0=(/ 3061616997868382943.0 25000000000000000000000000000000000.0), ~pi_o_2~0=(/ 785398163397448279.0 500000000000000000.0), ~pi_o_4~0=(/ 785398163397448279.0 1000000000000000000.0), ~pi~0=(/ 785398163397448279.0 250000000000000000.0), ~tiny_atan2~0=(/ 1.0 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0), ~zero_atan2~0=0.0] [?] call isfinite_double_~#gh_u~3.base, isfinite_double_~#gh_u~3.offset := #Ultimate.alloc(8);call write~real(isfinite_double_~x, isfinite_double_~#gh_u~3.base, isfinite_double_~#gh_u~3.offset, 8);call isfinite_double_#t~mem52 := read~int(isfinite_double_~#gh_u~3.base, 4 + isfinite_double_~#gh_u~3.offset, 4);isfinite_double_~hx~3 := (if isfinite_double_#t~mem52 % 4294967296 % 4294967296 <= 2147483647 then isfinite_double_#t~mem52 % 4294967296 % 4294967296 else isfinite_double_#t~mem52 % 4294967296 % 4294967296 - 4294967296);call write~real(isfinite_double_#t~union53, isfinite_double_~#gh_u~3.base, isfinite_double_~#gh_u~3.offset, 8);havoc isfinite_double_#t~mem52;havoc isfinite_double_#t~union53;call ULTIMATE.dealloc(isfinite_double_~#gh_u~3.base, isfinite_double_~#gh_u~3.offset);havoc isfinite_double_~#gh_u~3.base, isfinite_double_~#gh_u~3.offset; VAL [ULTIMATE.start_isfinite_double_~hx~3=9263, ULTIMATE.start_isfinite_double_~x=4.0, ULTIMATE.start_isinf_double_~hx~2=2146435072, ULTIMATE.start_isinf_double_~lx~1=2331, ULTIMATE.start_isinf_double_~x=2.0, ULTIMATE.start_main_~x~0=2.0, ULTIMATE.start_main_~y~0=4.0, |#NULL.base|=0, |#NULL.offset|=0, |ULTIMATE.start_isfinite_double_#in~x|=4.0, |ULTIMATE.start_isinf_double_#in~x|=2.0, |ULTIMATE.start_isinf_double_#res|=(- 1), |ULTIMATE.start_main_#t~ret57|=(- 1), |ULTIMATE.start_main_#t~short59|=true, |~#aT_atan~0.base|=3, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=5, |~#atanhi_atan~0.offset|=0, |~#atanlo_atan~0.base|=6, |~#atanlo_atan~0.offset|=0, ~huge_atan~0=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0, ~one_atan~0=1.0, ~pi_lo_atan2~0=(/ 3061616997868382943.0 25000000000000000000000000000000000.0), ~pi_o_2~0=(/ 785398163397448279.0 500000000000000000.0), ~pi_o_4~0=(/ 785398163397448279.0 1000000000000000000.0), ~pi~0=(/ 785398163397448279.0 250000000000000000.0), ~tiny_atan2~0=(/ 1.0 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0), ~zero_atan2~0=0.0] [?] goto; VAL [ULTIMATE.start_isfinite_double_~hx~3=9263, ULTIMATE.start_isfinite_double_~x=4.0, ULTIMATE.start_isinf_double_~hx~2=2146435072, ULTIMATE.start_isinf_double_~lx~1=2331, ULTIMATE.start_isinf_double_~x=2.0, ULTIMATE.start_main_~x~0=2.0, ULTIMATE.start_main_~y~0=4.0, |#NULL.base|=0, |#NULL.offset|=0, |ULTIMATE.start_isfinite_double_#in~x|=4.0, |ULTIMATE.start_isinf_double_#in~x|=2.0, |ULTIMATE.start_isinf_double_#res|=(- 1), |ULTIMATE.start_main_#t~ret57|=(- 1), |ULTIMATE.start_main_#t~short59|=true, |~#aT_atan~0.base|=3, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=5, |~#atanhi_atan~0.offset|=0, |~#atanlo_atan~0.base|=6, |~#atanlo_atan~0.offset|=0, ~huge_atan~0=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0, ~one_atan~0=1.0, ~pi_lo_atan2~0=(/ 3061616997868382943.0 25000000000000000000000000000000000.0), ~pi_o_2~0=(/ 785398163397448279.0 500000000000000000.0), ~pi_o_4~0=(/ 785398163397448279.0 1000000000000000000.0), ~pi~0=(/ 785398163397448279.0 250000000000000000.0), ~tiny_atan2~0=(/ 1.0 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0), ~zero_atan2~0=0.0] [?] isfinite_double_#res := (if (~bitwiseAnd(isfinite_double_~hx~3, 2147483647) - 2146435072) / 2147483648 % 4294967296 % 4294967296 <= 2147483647 then (~bitwiseAnd(isfinite_double_~hx~3, 2147483647) - 2146435072) / 2147483648 % 4294967296 % 4294967296 else (~bitwiseAnd(isfinite_double_~hx~3, 2147483647) - 2146435072) / 2147483648 % 4294967296 % 4294967296 - 4294967296);main_#t~ret58 := isfinite_double_#res;assume -2147483648 <= main_#t~ret58 && main_#t~ret58 <= 2147483647;main_#t~short59 := 0 != main_#t~ret58; VAL [ULTIMATE.start_isfinite_double_~hx~3=9263, ULTIMATE.start_isfinite_double_~x=4.0, ULTIMATE.start_isinf_double_~hx~2=2146435072, ULTIMATE.start_isinf_double_~lx~1=2331, ULTIMATE.start_isinf_double_~x=2.0, ULTIMATE.start_main_~x~0=2.0, ULTIMATE.start_main_~y~0=4.0, |#NULL.base|=0, |#NULL.offset|=0, |ULTIMATE.start_isfinite_double_#in~x|=4.0, |ULTIMATE.start_isfinite_double_#res|=1, |ULTIMATE.start_isinf_double_#in~x|=2.0, |ULTIMATE.start_isinf_double_#res|=(- 1), |ULTIMATE.start_main_#t~ret57|=(- 1), |ULTIMATE.start_main_#t~ret58|=1, |ULTIMATE.start_main_#t~short59|=true, |~#aT_atan~0.base|=3, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=5, |~#atanhi_atan~0.offset|=0, |~#atanlo_atan~0.base|=6, |~#atanlo_atan~0.offset|=0, ~huge_atan~0=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0, ~one_atan~0=1.0, ~pi_lo_atan2~0=(/ 3061616997868382943.0 25000000000000000000000000000000000.0), ~pi_o_2~0=(/ 785398163397448279.0 500000000000000000.0), ~pi_o_4~0=(/ 785398163397448279.0 1000000000000000000.0), ~pi~0=(/ 785398163397448279.0 250000000000000000.0), ~tiny_atan2~0=(/ 1.0 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0), ~zero_atan2~0=0.0] [?] assume main_#t~short59 && ~someBinaryDOUBLEComparisonOperation(main_~y~0, 0.0);havoc main_#t~short59;havoc main_#t~ret57;havoc main_#t~ret58;__ieee754_atan2_#in~y, __ieee754_atan2_#in~x := main_~y~0, main_~x~0;havoc __ieee754_atan2_#res;havoc __ieee754_atan2_#t~mem27, __ieee754_atan2_#t~union28, __ieee754_atan2_#t~mem29, __ieee754_atan2_#t~union30, __ieee754_atan2_~#ew_u~0.base, __ieee754_atan2_~#ew_u~0.offset, __ieee754_atan2_#t~mem31, __ieee754_atan2_#t~union32, __ieee754_atan2_#t~mem33, __ieee754_atan2_#t~union34, __ieee754_atan2_~#ew_u~1.base, __ieee754_atan2_~#ew_u~1.offset, __ieee754_atan2_#t~ret35, __ieee754_atan2_#t~switch36, __ieee754_atan2_#t~ite37, __ieee754_atan2_#t~switch38, __ieee754_atan2_#t~switch39, __ieee754_atan2_#t~ite40, __ieee754_atan2_#t~ret41, __ieee754_atan2_#t~ret42, __ieee754_atan2_#t~switch43, __ieee754_atan2_#t~mem44, __ieee754_atan2_#t~union45, __ieee754_atan2_~#gh_u~2.base, __ieee754_atan2_~#gh_u~2.offset, __ieee754_atan2_#t~mem46, __ieee754_atan2_#t~union47.lsw, __ieee754_atan2_#t~union47.msw, __ieee754_atan2_~#sh_u~1.base, __ieee754_atan2_~#sh_u~1.offset, __ieee754_atan2_~zh~0, __ieee754_atan2_~y, __ieee754_atan2_~x, __ieee754_atan2_~z~1, __ieee754_atan2_~k~0, __ieee754_atan2_~m~0, __ieee754_atan2_~hx~1, __ieee754_atan2_~hy~0, __ieee754_atan2_~ix~1, __ieee754_atan2_~iy~0, __ieee754_atan2_~lx~0, __ieee754_atan2_~ly~0;__ieee754_atan2_~y := __ieee754_atan2_#in~y;__ieee754_atan2_~x := __ieee754_atan2_#in~x;havoc __ieee754_atan2_~z~1;havoc __ieee754_atan2_~k~0;havoc __ieee754_atan2_~m~0;havoc __ieee754_atan2_~hx~1;havoc __ieee754_atan2_~hy~0;havoc __ieee754_atan2_~ix~1;havoc __ieee754_atan2_~iy~0;havoc __ieee754_atan2_~lx~0;havoc __ieee754_atan2_~ly~0; VAL [ULTIMATE.start___ieee754_atan2_~x=2.0, ULTIMATE.start___ieee754_atan2_~y=4.0, ULTIMATE.start_isfinite_double_~hx~3=9263, ULTIMATE.start_isfinite_double_~x=4.0, ULTIMATE.start_isinf_double_~hx~2=2146435072, ULTIMATE.start_isinf_double_~lx~1=2331, ULTIMATE.start_isinf_double_~x=2.0, ULTIMATE.start_main_~x~0=2.0, ULTIMATE.start_main_~y~0=4.0, |#NULL.base|=0, |#NULL.offset|=0, |ULTIMATE.start___ieee754_atan2_#in~x|=2.0, |ULTIMATE.start___ieee754_atan2_#in~y|=4.0, |ULTIMATE.start_isfinite_double_#in~x|=4.0, |ULTIMATE.start_isfinite_double_#res|=1, |ULTIMATE.start_isinf_double_#in~x|=2.0, |ULTIMATE.start_isinf_double_#res|=(- 1), |~#aT_atan~0.base|=3, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=5, |~#atanhi_atan~0.offset|=0, |~#atanlo_atan~0.base|=6, |~#atanlo_atan~0.offset|=0, ~huge_atan~0=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0, ~one_atan~0=1.0, ~pi_lo_atan2~0=(/ 3061616997868382943.0 25000000000000000000000000000000000.0), ~pi_o_2~0=(/ 785398163397448279.0 500000000000000000.0), ~pi_o_4~0=(/ 785398163397448279.0 1000000000000000000.0), ~pi~0=(/ 785398163397448279.0 250000000000000000.0), ~tiny_atan2~0=(/ 1.0 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0), ~zero_atan2~0=0.0] [?] call __ieee754_atan2_~#ew_u~0.base, __ieee754_atan2_~#ew_u~0.offset := #Ultimate.alloc(8);call write~real(__ieee754_atan2_~x, __ieee754_atan2_~#ew_u~0.base, __ieee754_atan2_~#ew_u~0.offset, 8);call __ieee754_atan2_#t~mem27 := read~int(__ieee754_atan2_~#ew_u~0.base, 4 + __ieee754_atan2_~#ew_u~0.offset, 4);__ieee754_atan2_~hx~1 := (if __ieee754_atan2_#t~mem27 % 4294967296 % 4294967296 <= 2147483647 then __ieee754_atan2_#t~mem27 % 4294967296 % 4294967296 else __ieee754_atan2_#t~mem27 % 4294967296 % 4294967296 - 4294967296);call write~real(__ieee754_atan2_#t~union28, __ieee754_atan2_~#ew_u~0.base, __ieee754_atan2_~#ew_u~0.offset, 8);havoc __ieee754_atan2_#t~mem27;havoc __ieee754_atan2_#t~union28;call __ieee754_atan2_#t~mem29 := read~int(__ieee754_atan2_~#ew_u~0.base, __ieee754_atan2_~#ew_u~0.offset, 4);__ieee754_atan2_~lx~0 := __ieee754_atan2_#t~mem29;call write~real(__ieee754_atan2_#t~union30, __ieee754_atan2_~#ew_u~0.base, __ieee754_atan2_~#ew_u~0.offset, 8);havoc __ieee754_atan2_#t~mem29;havoc __ieee754_atan2_#t~union30;call ULTIMATE.dealloc(__ieee754_atan2_~#ew_u~0.base, __ieee754_atan2_~#ew_u~0.offset);havoc __ieee754_atan2_~#ew_u~0.base, __ieee754_atan2_~#ew_u~0.offset; VAL [ULTIMATE.start___ieee754_atan2_~hx~1=4135, ULTIMATE.start___ieee754_atan2_~lx~0=15, ULTIMATE.start___ieee754_atan2_~x=2.0, ULTIMATE.start___ieee754_atan2_~y=4.0, ULTIMATE.start_isfinite_double_~hx~3=9263, ULTIMATE.start_isfinite_double_~x=4.0, ULTIMATE.start_isinf_double_~hx~2=2146435072, ULTIMATE.start_isinf_double_~lx~1=2331, ULTIMATE.start_isinf_double_~x=2.0, ULTIMATE.start_main_~x~0=2.0, ULTIMATE.start_main_~y~0=4.0, |#NULL.base|=0, |#NULL.offset|=0, |ULTIMATE.start___ieee754_atan2_#in~x|=2.0, |ULTIMATE.start___ieee754_atan2_#in~y|=4.0, |ULTIMATE.start_isfinite_double_#in~x|=4.0, |ULTIMATE.start_isfinite_double_#res|=1, |ULTIMATE.start_isinf_double_#in~x|=2.0, |ULTIMATE.start_isinf_double_#res|=(- 1), |~#aT_atan~0.base|=3, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=5, |~#atanhi_atan~0.offset|=0, |~#atanlo_atan~0.base|=6, |~#atanlo_atan~0.offset|=0, ~huge_atan~0=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0, ~one_atan~0=1.0, ~pi_lo_atan2~0=(/ 3061616997868382943.0 25000000000000000000000000000000000.0), ~pi_o_2~0=(/ 785398163397448279.0 500000000000000000.0), ~pi_o_4~0=(/ 785398163397448279.0 1000000000000000000.0), ~pi~0=(/ 785398163397448279.0 250000000000000000.0), ~tiny_atan2~0=(/ 1.0 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0), ~zero_atan2~0=0.0] [?] goto; VAL [ULTIMATE.start___ieee754_atan2_~hx~1=4135, ULTIMATE.start___ieee754_atan2_~lx~0=15, ULTIMATE.start___ieee754_atan2_~x=2.0, ULTIMATE.start___ieee754_atan2_~y=4.0, ULTIMATE.start_isfinite_double_~hx~3=9263, ULTIMATE.start_isfinite_double_~x=4.0, ULTIMATE.start_isinf_double_~hx~2=2146435072, ULTIMATE.start_isinf_double_~lx~1=2331, ULTIMATE.start_isinf_double_~x=2.0, ULTIMATE.start_main_~x~0=2.0, ULTIMATE.start_main_~y~0=4.0, |#NULL.base|=0, |#NULL.offset|=0, |ULTIMATE.start___ieee754_atan2_#in~x|=2.0, |ULTIMATE.start___ieee754_atan2_#in~y|=4.0, |ULTIMATE.start_isfinite_double_#in~x|=4.0, |ULTIMATE.start_isfinite_double_#res|=1, |ULTIMATE.start_isinf_double_#in~x|=2.0, |ULTIMATE.start_isinf_double_#res|=(- 1), |~#aT_atan~0.base|=3, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=5, |~#atanhi_atan~0.offset|=0, |~#atanlo_atan~0.base|=6, |~#atanlo_atan~0.offset|=0, ~huge_atan~0=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0, ~one_atan~0=1.0, ~pi_lo_atan2~0=(/ 3061616997868382943.0 25000000000000000000000000000000000.0), ~pi_o_2~0=(/ 785398163397448279.0 500000000000000000.0), ~pi_o_4~0=(/ 785398163397448279.0 1000000000000000000.0), ~pi~0=(/ 785398163397448279.0 250000000000000000.0), ~tiny_atan2~0=(/ 1.0 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0), ~zero_atan2~0=0.0] [?] __ieee754_atan2_~ix~1 := ~bitwiseAnd(__ieee754_atan2_~hx~1, 2147483647); VAL [ULTIMATE.start___ieee754_atan2_~hx~1=4135, ULTIMATE.start___ieee754_atan2_~lx~0=15, ULTIMATE.start___ieee754_atan2_~x=2.0, ULTIMATE.start___ieee754_atan2_~y=4.0, ULTIMATE.start_isfinite_double_~hx~3=9263, ULTIMATE.start_isfinite_double_~x=4.0, ULTIMATE.start_isinf_double_~hx~2=2146435072, ULTIMATE.start_isinf_double_~lx~1=2331, ULTIMATE.start_isinf_double_~x=2.0, ULTIMATE.start_main_~x~0=2.0, ULTIMATE.start_main_~y~0=4.0, |#NULL.base|=0, |#NULL.offset|=0, |ULTIMATE.start___ieee754_atan2_#in~x|=2.0, |ULTIMATE.start___ieee754_atan2_#in~y|=4.0, |ULTIMATE.start_isfinite_double_#in~x|=4.0, |ULTIMATE.start_isfinite_double_#res|=1, |ULTIMATE.start_isinf_double_#in~x|=2.0, |ULTIMATE.start_isinf_double_#res|=(- 1), |~#aT_atan~0.base|=3, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=5, |~#atanhi_atan~0.offset|=0, |~#atanlo_atan~0.base|=6, |~#atanlo_atan~0.offset|=0, ~huge_atan~0=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0, ~one_atan~0=1.0, ~pi_lo_atan2~0=(/ 3061616997868382943.0 25000000000000000000000000000000000.0), ~pi_o_2~0=(/ 785398163397448279.0 500000000000000000.0), ~pi_o_4~0=(/ 785398163397448279.0 1000000000000000000.0), ~pi~0=(/ 785398163397448279.0 250000000000000000.0), ~tiny_atan2~0=(/ 1.0 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0), ~zero_atan2~0=0.0] [?] call __ieee754_atan2_~#ew_u~1.base, __ieee754_atan2_~#ew_u~1.offset := #Ultimate.alloc(8);call write~real(__ieee754_atan2_~y, __ieee754_atan2_~#ew_u~1.base, __ieee754_atan2_~#ew_u~1.offset, 8);call __ieee754_atan2_#t~mem31 := read~int(__ieee754_atan2_~#ew_u~1.base, 4 + __ieee754_atan2_~#ew_u~1.offset, 4);__ieee754_atan2_~hy~0 := (if __ieee754_atan2_#t~mem31 % 4294967296 % 4294967296 <= 2147483647 then __ieee754_atan2_#t~mem31 % 4294967296 % 4294967296 else __ieee754_atan2_#t~mem31 % 4294967296 % 4294967296 - 4294967296);call write~real(__ieee754_atan2_#t~union32, __ieee754_atan2_~#ew_u~1.base, __ieee754_atan2_~#ew_u~1.offset, 8);havoc __ieee754_atan2_#t~union32;havoc __ieee754_atan2_#t~mem31;call __ieee754_atan2_#t~mem33 := read~int(__ieee754_atan2_~#ew_u~1.base, __ieee754_atan2_~#ew_u~1.offset, 4);__ieee754_atan2_~ly~0 := __ieee754_atan2_#t~mem33;call write~real(__ieee754_atan2_#t~union34, __ieee754_atan2_~#ew_u~1.base, __ieee754_atan2_~#ew_u~1.offset, 8);havoc __ieee754_atan2_#t~union34;havoc __ieee754_atan2_#t~mem33;call ULTIMATE.dealloc(__ieee754_atan2_~#ew_u~1.base, __ieee754_atan2_~#ew_u~1.offset);havoc __ieee754_atan2_~#ew_u~1.base, __ieee754_atan2_~#ew_u~1.offset; VAL [ULTIMATE.start___ieee754_atan2_~hx~1=4135, ULTIMATE.start___ieee754_atan2_~hy~0=4135, ULTIMATE.start___ieee754_atan2_~lx~0=15, ULTIMATE.start___ieee754_atan2_~ly~0=20, ULTIMATE.start___ieee754_atan2_~x=2.0, ULTIMATE.start___ieee754_atan2_~y=4.0, ULTIMATE.start_isfinite_double_~hx~3=9263, ULTIMATE.start_isfinite_double_~x=4.0, ULTIMATE.start_isinf_double_~hx~2=2146435072, ULTIMATE.start_isinf_double_~lx~1=2331, ULTIMATE.start_isinf_double_~x=2.0, ULTIMATE.start_main_~x~0=2.0, ULTIMATE.start_main_~y~0=4.0, |#NULL.base|=0, |#NULL.offset|=0, |ULTIMATE.start___ieee754_atan2_#in~x|=2.0, |ULTIMATE.start___ieee754_atan2_#in~y|=4.0, |ULTIMATE.start_isfinite_double_#in~x|=4.0, |ULTIMATE.start_isfinite_double_#res|=1, |ULTIMATE.start_isinf_double_#in~x|=2.0, |ULTIMATE.start_isinf_double_#res|=(- 1), |~#aT_atan~0.base|=3, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=5, |~#atanhi_atan~0.offset|=0, |~#atanlo_atan~0.base|=6, |~#atanlo_atan~0.offset|=0, ~huge_atan~0=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0, ~one_atan~0=1.0, ~pi_lo_atan2~0=(/ 3061616997868382943.0 25000000000000000000000000000000000.0), ~pi_o_2~0=(/ 785398163397448279.0 500000000000000000.0), ~pi_o_4~0=(/ 785398163397448279.0 1000000000000000000.0), ~pi~0=(/ 785398163397448279.0 250000000000000000.0), ~tiny_atan2~0=(/ 1.0 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0), ~zero_atan2~0=0.0] [?] goto; VAL [ULTIMATE.start___ieee754_atan2_~hx~1=4135, ULTIMATE.start___ieee754_atan2_~hy~0=4135, ULTIMATE.start___ieee754_atan2_~lx~0=15, ULTIMATE.start___ieee754_atan2_~ly~0=20, ULTIMATE.start___ieee754_atan2_~x=2.0, ULTIMATE.start___ieee754_atan2_~y=4.0, ULTIMATE.start_isfinite_double_~hx~3=9263, ULTIMATE.start_isfinite_double_~x=4.0, ULTIMATE.start_isinf_double_~hx~2=2146435072, ULTIMATE.start_isinf_double_~lx~1=2331, ULTIMATE.start_isinf_double_~x=2.0, ULTIMATE.start_main_~x~0=2.0, ULTIMATE.start_main_~y~0=4.0, |#NULL.base|=0, |#NULL.offset|=0, |ULTIMATE.start___ieee754_atan2_#in~x|=2.0, |ULTIMATE.start___ieee754_atan2_#in~y|=4.0, |ULTIMATE.start_isfinite_double_#in~x|=4.0, |ULTIMATE.start_isfinite_double_#res|=1, |ULTIMATE.start_isinf_double_#in~x|=2.0, |ULTIMATE.start_isinf_double_#res|=(- 1), |~#aT_atan~0.base|=3, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=5, |~#atanhi_atan~0.offset|=0, |~#atanlo_atan~0.base|=6, |~#atanlo_atan~0.offset|=0, ~huge_atan~0=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0, ~one_atan~0=1.0, ~pi_lo_atan2~0=(/ 3061616997868382943.0 25000000000000000000000000000000000.0), ~pi_o_2~0=(/ 785398163397448279.0 500000000000000000.0), ~pi_o_4~0=(/ 785398163397448279.0 1000000000000000000.0), ~pi~0=(/ 785398163397448279.0 250000000000000000.0), ~tiny_atan2~0=(/ 1.0 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0), ~zero_atan2~0=0.0] [?] __ieee754_atan2_~iy~0 := ~bitwiseAnd(__ieee754_atan2_~hy~0, 2147483647); VAL [ULTIMATE.start___ieee754_atan2_~hx~1=4135, ULTIMATE.start___ieee754_atan2_~hy~0=4135, ULTIMATE.start___ieee754_atan2_~lx~0=15, ULTIMATE.start___ieee754_atan2_~ly~0=20, ULTIMATE.start___ieee754_atan2_~x=2.0, ULTIMATE.start___ieee754_atan2_~y=4.0, ULTIMATE.start_isfinite_double_~hx~3=9263, ULTIMATE.start_isfinite_double_~x=4.0, ULTIMATE.start_isinf_double_~hx~2=2146435072, ULTIMATE.start_isinf_double_~lx~1=2331, ULTIMATE.start_isinf_double_~x=2.0, ULTIMATE.start_main_~x~0=2.0, ULTIMATE.start_main_~y~0=4.0, |#NULL.base|=0, |#NULL.offset|=0, |ULTIMATE.start___ieee754_atan2_#in~x|=2.0, |ULTIMATE.start___ieee754_atan2_#in~y|=4.0, |ULTIMATE.start_isfinite_double_#in~x|=4.0, |ULTIMATE.start_isfinite_double_#res|=1, |ULTIMATE.start_isinf_double_#in~x|=2.0, |ULTIMATE.start_isinf_double_#res|=(- 1), |~#aT_atan~0.base|=3, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=5, |~#atanhi_atan~0.offset|=0, |~#atanlo_atan~0.base|=6, |~#atanlo_atan~0.offset|=0, ~huge_atan~0=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0, ~one_atan~0=1.0, ~pi_lo_atan2~0=(/ 3061616997868382943.0 25000000000000000000000000000000000.0), ~pi_o_2~0=(/ 785398163397448279.0 500000000000000000.0), ~pi_o_4~0=(/ 785398163397448279.0 1000000000000000000.0), ~pi~0=(/ 785398163397448279.0 250000000000000000.0), ~tiny_atan2~0=(/ 1.0 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0), ~zero_atan2~0=0.0] [?] assume ~bitwiseOr(__ieee754_atan2_~ix~1, ~bitwiseOr(__ieee754_atan2_~lx~0, -__ieee754_atan2_~lx~0) / 2147483648) % 4294967296 > 2146435072 || ~bitwiseOr(__ieee754_atan2_~iy~0, ~bitwiseOr(__ieee754_atan2_~ly~0, -__ieee754_atan2_~ly~0) / 2147483648) % 4294967296 > 2146435072;__ieee754_atan2_#res := ~someBinaryArithmeticDOUBLEoperation(__ieee754_atan2_~x, __ieee754_atan2_~y); VAL [ULTIMATE.start___ieee754_atan2_~hx~1=4135, ULTIMATE.start___ieee754_atan2_~hy~0=4135, ULTIMATE.start___ieee754_atan2_~lx~0=15, ULTIMATE.start___ieee754_atan2_~ly~0=20, ULTIMATE.start___ieee754_atan2_~x=2.0, ULTIMATE.start___ieee754_atan2_~y=4.0, ULTIMATE.start_isfinite_double_~hx~3=9263, ULTIMATE.start_isfinite_double_~x=4.0, ULTIMATE.start_isinf_double_~hx~2=2146435072, ULTIMATE.start_isinf_double_~lx~1=2331, ULTIMATE.start_isinf_double_~x=2.0, ULTIMATE.start_main_~x~0=2.0, ULTIMATE.start_main_~y~0=4.0, |#NULL.base|=0, |#NULL.offset|=0, |ULTIMATE.start___ieee754_atan2_#in~x|=2.0, |ULTIMATE.start___ieee754_atan2_#in~y|=4.0, |ULTIMATE.start_isfinite_double_#in~x|=4.0, |ULTIMATE.start_isfinite_double_#res|=1, |ULTIMATE.start_isinf_double_#in~x|=2.0, |ULTIMATE.start_isinf_double_#res|=(- 1), |~#aT_atan~0.base|=3, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=5, |~#atanhi_atan~0.offset|=0, |~#atanlo_atan~0.base|=6, |~#atanlo_atan~0.offset|=0, ~huge_atan~0=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0, ~one_atan~0=1.0, ~pi_lo_atan2~0=(/ 3061616997868382943.0 25000000000000000000000000000000000.0), ~pi_o_2~0=(/ 785398163397448279.0 500000000000000000.0), ~pi_o_4~0=(/ 785398163397448279.0 1000000000000000000.0), ~pi~0=(/ 785398163397448279.0 250000000000000000.0), ~tiny_atan2~0=(/ 1.0 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0), ~zero_atan2~0=0.0] [?] main_#t~ret60 := __ieee754_atan2_#res;main_~res~0 := main_#t~ret60;havoc main_#t~ret60;main_#t~short62 := ~someBinaryDOUBLEComparisonOperation(main_~res~0, 0.0); VAL [ULTIMATE.start___ieee754_atan2_~hx~1=4135, ULTIMATE.start___ieee754_atan2_~hy~0=4135, ULTIMATE.start___ieee754_atan2_~lx~0=15, ULTIMATE.start___ieee754_atan2_~ly~0=20, ULTIMATE.start___ieee754_atan2_~x=2.0, ULTIMATE.start___ieee754_atan2_~y=4.0, ULTIMATE.start_isfinite_double_~hx~3=9263, ULTIMATE.start_isfinite_double_~x=4.0, ULTIMATE.start_isinf_double_~hx~2=2146435072, ULTIMATE.start_isinf_double_~lx~1=2331, ULTIMATE.start_isinf_double_~x=2.0, ULTIMATE.start_main_~res~0=8.0, ULTIMATE.start_main_~x~0=2.0, ULTIMATE.start_main_~y~0=4.0, |#NULL.base|=0, |#NULL.offset|=0, |ULTIMATE.start___ieee754_atan2_#in~x|=2.0, |ULTIMATE.start___ieee754_atan2_#in~y|=4.0, |ULTIMATE.start___ieee754_atan2_#res|=8.0, |ULTIMATE.start_isfinite_double_#in~x|=4.0, |ULTIMATE.start_isfinite_double_#res|=1, |ULTIMATE.start_isinf_double_#in~x|=2.0, |ULTIMATE.start_isinf_double_#res|=(- 1), |ULTIMATE.start_main_#t~short62|=false, |~#aT_atan~0.base|=3, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=5, |~#atanhi_atan~0.offset|=0, |~#atanlo_atan~0.base|=6, |~#atanlo_atan~0.offset|=0, ~huge_atan~0=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0, ~one_atan~0=1.0, ~pi_lo_atan2~0=(/ 3061616997868382943.0 25000000000000000000000000000000000.0), ~pi_o_2~0=(/ 785398163397448279.0 500000000000000000.0), ~pi_o_4~0=(/ 785398163397448279.0 1000000000000000000.0), ~pi~0=(/ 785398163397448279.0 250000000000000000.0), ~tiny_atan2~0=(/ 1.0 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0), ~zero_atan2~0=0.0] [?] assume !main_#t~short62; VAL [ULTIMATE.start___ieee754_atan2_~hx~1=4135, ULTIMATE.start___ieee754_atan2_~hy~0=4135, ULTIMATE.start___ieee754_atan2_~lx~0=15, ULTIMATE.start___ieee754_atan2_~ly~0=20, ULTIMATE.start___ieee754_atan2_~x=2.0, ULTIMATE.start___ieee754_atan2_~y=4.0, ULTIMATE.start_isfinite_double_~hx~3=9263, ULTIMATE.start_isfinite_double_~x=4.0, ULTIMATE.start_isinf_double_~hx~2=2146435072, ULTIMATE.start_isinf_double_~lx~1=2331, ULTIMATE.start_isinf_double_~x=2.0, ULTIMATE.start_main_~res~0=8.0, ULTIMATE.start_main_~x~0=2.0, ULTIMATE.start_main_~y~0=4.0, |#NULL.base|=0, |#NULL.offset|=0, |ULTIMATE.start___ieee754_atan2_#in~x|=2.0, |ULTIMATE.start___ieee754_atan2_#in~y|=4.0, |ULTIMATE.start___ieee754_atan2_#res|=8.0, |ULTIMATE.start_isfinite_double_#in~x|=4.0, |ULTIMATE.start_isfinite_double_#res|=1, |ULTIMATE.start_isinf_double_#in~x|=2.0, |ULTIMATE.start_isinf_double_#res|=(- 1), |ULTIMATE.start_main_#t~short62|=false, |~#aT_atan~0.base|=3, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=5, |~#atanhi_atan~0.offset|=0, |~#atanlo_atan~0.base|=6, |~#atanlo_atan~0.offset|=0, ~huge_atan~0=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0, ~one_atan~0=1.0, ~pi_lo_atan2~0=(/ 3061616997868382943.0 25000000000000000000000000000000000.0), ~pi_o_2~0=(/ 785398163397448279.0 500000000000000000.0), ~pi_o_4~0=(/ 785398163397448279.0 1000000000000000000.0), ~pi~0=(/ 785398163397448279.0 250000000000000000.0), ~tiny_atan2~0=(/ 1.0 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0), ~zero_atan2~0=0.0] [?] assume !main_#t~short62;havoc main_#t~ret61;havoc main_#t~short62; VAL [ULTIMATE.start___ieee754_atan2_~hx~1=4135, ULTIMATE.start___ieee754_atan2_~hy~0=4135, ULTIMATE.start___ieee754_atan2_~lx~0=15, ULTIMATE.start___ieee754_atan2_~ly~0=20, ULTIMATE.start___ieee754_atan2_~x=2.0, ULTIMATE.start___ieee754_atan2_~y=4.0, ULTIMATE.start_isfinite_double_~hx~3=9263, ULTIMATE.start_isfinite_double_~x=4.0, ULTIMATE.start_isinf_double_~hx~2=2146435072, ULTIMATE.start_isinf_double_~lx~1=2331, ULTIMATE.start_isinf_double_~x=2.0, ULTIMATE.start_main_~res~0=8.0, ULTIMATE.start_main_~x~0=2.0, ULTIMATE.start_main_~y~0=4.0, |#NULL.base|=0, |#NULL.offset|=0, |ULTIMATE.start___ieee754_atan2_#in~x|=2.0, |ULTIMATE.start___ieee754_atan2_#in~y|=4.0, |ULTIMATE.start___ieee754_atan2_#res|=8.0, |ULTIMATE.start_isfinite_double_#in~x|=4.0, |ULTIMATE.start_isfinite_double_#res|=1, |ULTIMATE.start_isinf_double_#in~x|=2.0, |ULTIMATE.start_isinf_double_#res|=(- 1), |~#aT_atan~0.base|=3, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=5, |~#atanhi_atan~0.offset|=0, |~#atanlo_atan~0.base|=6, |~#atanlo_atan~0.offset|=0, ~huge_atan~0=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0, ~one_atan~0=1.0, ~pi_lo_atan2~0=(/ 3061616997868382943.0 25000000000000000000000000000000000.0), ~pi_o_2~0=(/ 785398163397448279.0 500000000000000000.0), ~pi_o_4~0=(/ 785398163397448279.0 1000000000000000000.0), ~pi~0=(/ 785398163397448279.0 250000000000000000.0), ~tiny_atan2~0=(/ 1.0 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0), ~zero_atan2~0=0.0] [?] assume !false; VAL [ULTIMATE.start___ieee754_atan2_~hx~1=4135, ULTIMATE.start___ieee754_atan2_~hy~0=4135, ULTIMATE.start___ieee754_atan2_~lx~0=15, ULTIMATE.start___ieee754_atan2_~ly~0=20, ULTIMATE.start___ieee754_atan2_~x=2.0, ULTIMATE.start___ieee754_atan2_~y=4.0, ULTIMATE.start_isfinite_double_~hx~3=9263, ULTIMATE.start_isfinite_double_~x=4.0, ULTIMATE.start_isinf_double_~hx~2=2146435072, ULTIMATE.start_isinf_double_~lx~1=2331, ULTIMATE.start_isinf_double_~x=2.0, ULTIMATE.start_main_~res~0=8.0, ULTIMATE.start_main_~x~0=2.0, ULTIMATE.start_main_~y~0=4.0, |#NULL.base|=0, |#NULL.offset|=0, |ULTIMATE.start___ieee754_atan2_#in~x|=2.0, |ULTIMATE.start___ieee754_atan2_#in~y|=4.0, |ULTIMATE.start___ieee754_atan2_#res|=8.0, |ULTIMATE.start_isfinite_double_#in~x|=4.0, |ULTIMATE.start_isfinite_double_#res|=1, |ULTIMATE.start_isinf_double_#in~x|=2.0, |ULTIMATE.start_isinf_double_#res|=(- 1), |~#aT_atan~0.base|=3, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=5, |~#atanhi_atan~0.offset|=0, |~#atanlo_atan~0.base|=6, |~#atanlo_atan~0.offset|=0, ~huge_atan~0=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0, ~one_atan~0=1.0, ~pi_lo_atan2~0=(/ 3061616997868382943.0 25000000000000000000000000000000000.0), ~pi_o_2~0=(/ 785398163397448279.0 500000000000000000.0), ~pi_o_4~0=(/ 785398163397448279.0 1000000000000000000.0), ~pi~0=(/ 785398163397448279.0 250000000000000000.0), ~tiny_atan2~0=(/ 1.0 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0), ~zero_atan2~0=0.0] [?] #NULL.base, #NULL.offset := 0, 0; [?] #valid := #valid[0 := 0]; [L37-L42] call ~#atanhi_atan~0.base, ~#atanhi_atan~0.offset := #Ultimate.alloc(32); [L37-L42] call write~init~real(0.4636476090008061, ~#atanhi_atan~0.base, ~#atanhi_atan~0.offset, 8); [L37-L42] call write~init~real(0.7853981633974483, ~#atanhi_atan~0.base, 8 + ~#atanhi_atan~0.offset, 8); [L37-L42] call write~init~real(0.982793723247329, ~#atanhi_atan~0.base, 16 + ~#atanhi_atan~0.offset, 8); [L37-L42] call write~init~real(1.5707963267948966, ~#atanhi_atan~0.base, 24 + ~#atanhi_atan~0.offset, 8); [L44-L49] call ~#atanlo_atan~0.base, ~#atanlo_atan~0.offset := #Ultimate.alloc(32); [L44-L49] call write~init~real(2.2698777452961687E-17, ~#atanlo_atan~0.base, ~#atanlo_atan~0.offset, 8); [L44-L49] call write~init~real(3.061616997868383E-17, ~#atanlo_atan~0.base, 8 + ~#atanlo_atan~0.offset, 8); [L44-L49] call write~init~real(1.3903311031230998E-17, ~#atanlo_atan~0.base, 16 + ~#atanlo_atan~0.offset, 8); [L44-L49] call write~init~real(6.123233995736766E-17, ~#atanlo_atan~0.base, 24 + ~#atanlo_atan~0.offset, 8); [L51-L58] call ~#aT_atan~0.base, ~#aT_atan~0.offset := #Ultimate.alloc(88); [L51-L58] call write~init~real(0.3333333333333293, ~#aT_atan~0.base, ~#aT_atan~0.offset, 8); [L51-L58] call write~init~real(~someUnaryDOUBLEoperation(0.19999999999876483), ~#aT_atan~0.base, 8 + ~#aT_atan~0.offset, 8); [L51-L58] call write~init~real(0.14285714272503466, ~#aT_atan~0.base, 16 + ~#aT_atan~0.offset, 8); [L51-L58] call write~init~real(~someUnaryDOUBLEoperation(0.11111110405462356), ~#aT_atan~0.base, 24 + ~#aT_atan~0.offset, 8); [L51-L58] call write~init~real(0.09090887133436507, ~#aT_atan~0.base, 32 + ~#aT_atan~0.offset, 8); [L51-L58] call write~init~real(~someUnaryDOUBLEoperation(0.0769187620504483), ~#aT_atan~0.base, 40 + ~#aT_atan~0.offset, 8); [L51-L58] call write~init~real(0.06661073137387531, ~#aT_atan~0.base, 48 + ~#aT_atan~0.offset, 8); [L51-L58] call write~init~real(~someUnaryDOUBLEoperation(0.058335701337905735), ~#aT_atan~0.base, 56 + ~#aT_atan~0.offset, 8); [L51-L58] call write~init~real(0.049768779946159324, ~#aT_atan~0.base, 64 + ~#aT_atan~0.offset, 8); [L51-L58] call write~init~real(~someUnaryDOUBLEoperation(0.036531572744216916), ~#aT_atan~0.base, 72 + ~#aT_atan~0.offset, 8); [L51-L58] call write~init~real(0.016285820115365782, ~#aT_atan~0.base, 80 + ~#aT_atan~0.offset, 8); [L60-L62] ~one_atan~0 := 1.0; [L60-L62] ~pi_o_4~0 := 0.7853981633974483; [L60-L62] ~pi_o_2~0 := 1.5707963267948966; [L60-L62] ~pi~0 := 3.141592653589793; [L60-L62] ~huge_atan~0 := 1.0E300; [L139-L140] ~tiny_atan2~0 := 1.0E-300; [L139-L140] ~zero_atan2~0 := 0.0; [L139-L140] ~pi_lo_atan2~0 := 1.2246467991473532E-16; [?] havoc main_#res; [?] havoc main_#t~nondet56, main_#t~ret57, main_#t~ret58, main_#t~short59, main_#t~ret60, main_#t~ret61, main_#t~short62, main_~res~0, main_~x~0, main_~y~0; [L289] main_~x~0 := ~someBinaryArithmeticDOUBLEoperation(1.0, 0.0); [L290] main_~y~0 := main_#t~nondet56; [L290] havoc main_#t~nondet56; [L292] isinf_double_#in~x := main_~x~0; [L292] havoc isinf_double_#res; [L292] havoc isinf_double_#t~mem48, isinf_double_#t~union49, isinf_double_#t~mem50, isinf_double_#t~union51, isinf_double_~#ew_u~2.base, isinf_double_~#ew_u~2.offset, isinf_double_~x, isinf_double_~hx~2, isinf_double_~lx~1; [L245-L257] isinf_double_~x := isinf_double_#in~x; [L246] havoc isinf_double_~hx~2; [L246] havoc isinf_double_~lx~1; VAL [#NULL.base=0, #NULL.offset=0, isinf_double_#in~x=2.0, isinf_double_~x=2.0, main_~x~0=2.0, ~#aT_atan~0.base=3, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=5, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=6, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [L248] call isinf_double_~#ew_u~2.base, isinf_double_~#ew_u~2.offset := #Ultimate.alloc(8); [L249] call write~real(isinf_double_~x, isinf_double_~#ew_u~2.base, isinf_double_~#ew_u~2.offset, 8); [L250] call isinf_double_#t~mem48 := read~int(isinf_double_~#ew_u~2.base, 4 + isinf_double_~#ew_u~2.offset, 4); [L250] isinf_double_~hx~2 := (if isinf_double_#t~mem48 % 4294967296 % 4294967296 <= 2147483647 then isinf_double_#t~mem48 % 4294967296 % 4294967296 else isinf_double_#t~mem48 % 4294967296 % 4294967296 - 4294967296); [L250] call write~real(isinf_double_#t~union49, isinf_double_~#ew_u~2.base, isinf_double_~#ew_u~2.offset, 8); [L250] havoc isinf_double_#t~mem48; [L250] havoc isinf_double_#t~union49; [L251] call isinf_double_#t~mem50 := read~int(isinf_double_~#ew_u~2.base, isinf_double_~#ew_u~2.offset, 4); [L251] isinf_double_~lx~1 := (if isinf_double_#t~mem50 % 4294967296 % 4294967296 <= 2147483647 then isinf_double_#t~mem50 % 4294967296 % 4294967296 else isinf_double_#t~mem50 % 4294967296 % 4294967296 - 4294967296); [L251] call write~real(isinf_double_#t~union51, isinf_double_~#ew_u~2.base, isinf_double_~#ew_u~2.offset, 8); [L251] havoc isinf_double_#t~union51; [L251] havoc isinf_double_#t~mem50; [L248] call ULTIMATE.dealloc(isinf_double_~#ew_u~2.base, isinf_double_~#ew_u~2.offset); [L248] havoc isinf_double_~#ew_u~2.base, isinf_double_~#ew_u~2.offset; VAL [#NULL.base=0, #NULL.offset=0, isinf_double_#in~x=2.0, isinf_double_~hx~2=0, isinf_double_~lx~1=2331, isinf_double_~x=2.0, main_~x~0=2.0, ~#aT_atan~0.base=3, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=5, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=6, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [L253] isinf_double_~hx~2 := ~bitwiseAnd(isinf_double_~hx~2, 2147483647); [L254] isinf_double_~hx~2 := (if ~bitwiseOr(isinf_double_~hx~2, ~bitwiseOr(isinf_double_~lx~1, -isinf_double_~lx~1) / 2147483648) % 4294967296 % 4294967296 <= 2147483647 then ~bitwiseOr(isinf_double_~hx~2, ~bitwiseOr(isinf_double_~lx~1, -isinf_double_~lx~1) / 2147483648) % 4294967296 % 4294967296 else ~bitwiseOr(isinf_double_~hx~2, ~bitwiseOr(isinf_double_~lx~1, -isinf_double_~lx~1) / 2147483648) % 4294967296 % 4294967296 - 4294967296); [L255] isinf_double_~hx~2 := 2146435072 - isinf_double_~hx~2; [L256] isinf_double_#res := 1 - (if ~bitwiseOr(isinf_double_~hx~2, -isinf_double_~hx~2) / 2147483648 % 4294967296 % 4294967296 <= 2147483647 then ~bitwiseOr(isinf_double_~hx~2, -isinf_double_~hx~2) / 2147483648 % 4294967296 % 4294967296 else ~bitwiseOr(isinf_double_~hx~2, -isinf_double_~hx~2) / 2147483648 % 4294967296 % 4294967296 - 4294967296); [L292] main_#t~ret57 := isinf_double_#res; [L292] assume -2147483648 <= main_#t~ret57 && main_#t~ret57 <= 2147483647; [L292] main_#t~short59 := 0 != main_#t~ret57; VAL [#NULL.base=0, #NULL.offset=0, isinf_double_#in~x=2.0, isinf_double_#res=-1, isinf_double_~hx~2=2146435072, isinf_double_~lx~1=2331, isinf_double_~x=2.0, main_#t~ret57=-1, main_#t~short59=true, main_~x~0=2.0, ~#aT_atan~0.base=3, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=5, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=6, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [L292] assume main_#t~short59; [L292] isfinite_double_#in~x := main_~y~0; [L292] havoc isfinite_double_#res; [L292] havoc isfinite_double_#t~mem52, isfinite_double_#t~union53, isfinite_double_~#gh_u~3.base, isfinite_double_~#gh_u~3.offset, isfinite_double_~x, isfinite_double_~hx~3; [L259-L267] isfinite_double_~x := isfinite_double_#in~x; [L260] havoc isfinite_double_~hx~3; VAL [#NULL.base=0, #NULL.offset=0, isfinite_double_#in~x=4.0, isfinite_double_~x=4.0, isinf_double_#in~x=2.0, isinf_double_#res=-1, isinf_double_~hx~2=2146435072, isinf_double_~lx~1=2331, isinf_double_~x=2.0, main_#t~ret57=-1, main_#t~short59=true, main_~x~0=2.0, main_~y~0=4.0, ~#aT_atan~0.base=3, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=5, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=6, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [L262] call isfinite_double_~#gh_u~3.base, isfinite_double_~#gh_u~3.offset := #Ultimate.alloc(8); [L263] call write~real(isfinite_double_~x, isfinite_double_~#gh_u~3.base, isfinite_double_~#gh_u~3.offset, 8); [L264] call isfinite_double_#t~mem52 := read~int(isfinite_double_~#gh_u~3.base, 4 + isfinite_double_~#gh_u~3.offset, 4); [L264] isfinite_double_~hx~3 := (if isfinite_double_#t~mem52 % 4294967296 % 4294967296 <= 2147483647 then isfinite_double_#t~mem52 % 4294967296 % 4294967296 else isfinite_double_#t~mem52 % 4294967296 % 4294967296 - 4294967296); [L264] call write~real(isfinite_double_#t~union53, isfinite_double_~#gh_u~3.base, isfinite_double_~#gh_u~3.offset, 8); [L264] havoc isfinite_double_#t~mem52; [L264] havoc isfinite_double_#t~union53; [L262] call ULTIMATE.dealloc(isfinite_double_~#gh_u~3.base, isfinite_double_~#gh_u~3.offset); [L262] havoc isfinite_double_~#gh_u~3.base, isfinite_double_~#gh_u~3.offset; VAL [#NULL.base=0, #NULL.offset=0, isfinite_double_#in~x=4.0, isfinite_double_~hx~3=9263, isfinite_double_~x=4.0, isinf_double_#in~x=2.0, isinf_double_#res=-1, isinf_double_~hx~2=2146435072, isinf_double_~lx~1=2331, isinf_double_~x=2.0, main_#t~ret57=-1, main_#t~short59=true, main_~x~0=2.0, main_~y~0=4.0, ~#aT_atan~0.base=3, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=5, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=6, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [L266] isfinite_double_#res := (if (~bitwiseAnd(isfinite_double_~hx~3, 2147483647) - 2146435072) / 2147483648 % 4294967296 % 4294967296 <= 2147483647 then (~bitwiseAnd(isfinite_double_~hx~3, 2147483647) - 2146435072) / 2147483648 % 4294967296 % 4294967296 else (~bitwiseAnd(isfinite_double_~hx~3, 2147483647) - 2146435072) / 2147483648 % 4294967296 % 4294967296 - 4294967296); [L292] main_#t~ret58 := isfinite_double_#res; [L292] assume -2147483648 <= main_#t~ret58 && main_#t~ret58 <= 2147483647; [L292] main_#t~short59 := 0 != main_#t~ret58; VAL [#NULL.base=0, #NULL.offset=0, isfinite_double_#in~x=4.0, isfinite_double_#res=1, isfinite_double_~hx~3=9263, isfinite_double_~x=4.0, isinf_double_#in~x=2.0, isinf_double_#res=-1, isinf_double_~hx~2=2146435072, isinf_double_~lx~1=2331, isinf_double_~x=2.0, main_#t~ret57=-1, main_#t~ret58=1, main_#t~short59=true, main_~x~0=2.0, main_~y~0=4.0, ~#aT_atan~0.base=3, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=5, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=6, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [L292-L301] assume main_#t~short59 && ~someBinaryDOUBLEComparisonOperation(main_~y~0, 0.0); [L292] havoc main_#t~short59; [L292] havoc main_#t~ret57; [L292] havoc main_#t~ret58; [L294] __ieee754_atan2_#in~y, __ieee754_atan2_#in~x := main_~y~0, main_~x~0; [L294] havoc __ieee754_atan2_#res; [L294] havoc __ieee754_atan2_#t~mem27, __ieee754_atan2_#t~union28, __ieee754_atan2_#t~mem29, __ieee754_atan2_#t~union30, __ieee754_atan2_~#ew_u~0.base, __ieee754_atan2_~#ew_u~0.offset, __ieee754_atan2_#t~mem31, __ieee754_atan2_#t~union32, __ieee754_atan2_#t~mem33, __ieee754_atan2_#t~union34, __ieee754_atan2_~#ew_u~1.base, __ieee754_atan2_~#ew_u~1.offset, __ieee754_atan2_#t~ret35, __ieee754_atan2_#t~switch36, __ieee754_atan2_#t~ite37, __ieee754_atan2_#t~switch38, __ieee754_atan2_#t~switch39, __ieee754_atan2_#t~ite40, __ieee754_atan2_#t~ret41, __ieee754_atan2_#t~ret42, __ieee754_atan2_#t~switch43, __ieee754_atan2_#t~mem44, __ieee754_atan2_#t~union45, __ieee754_atan2_~#gh_u~2.base, __ieee754_atan2_~#gh_u~2.offset, __ieee754_atan2_#t~mem46, __ieee754_atan2_#t~union47.lsw, __ieee754_atan2_#t~union47.msw, __ieee754_atan2_~#sh_u~1.base, __ieee754_atan2_~#sh_u~1.offset, __ieee754_atan2_~zh~0, __ieee754_atan2_~y, __ieee754_atan2_~x, __ieee754_atan2_~z~1, __ieee754_atan2_~k~0, __ieee754_atan2_~m~0, __ieee754_atan2_~hx~1, __ieee754_atan2_~hy~0, __ieee754_atan2_~ix~1, __ieee754_atan2_~iy~0, __ieee754_atan2_~lx~0, __ieee754_atan2_~ly~0; [L142-L242] __ieee754_atan2_~y := __ieee754_atan2_#in~y; [L142-L242] __ieee754_atan2_~x := __ieee754_atan2_#in~x; [L143] havoc __ieee754_atan2_~z~1; [L144] havoc __ieee754_atan2_~k~0; [L144] havoc __ieee754_atan2_~m~0; [L144] havoc __ieee754_atan2_~hx~1; [L144] havoc __ieee754_atan2_~hy~0; [L144] havoc __ieee754_atan2_~ix~1; [L144] havoc __ieee754_atan2_~iy~0; [L145] havoc __ieee754_atan2_~lx~0; [L145] havoc __ieee754_atan2_~ly~0; VAL [#NULL.base=0, #NULL.offset=0, __ieee754_atan2_#in~x=2.0, __ieee754_atan2_#in~y=4.0, __ieee754_atan2_~x=2.0, __ieee754_atan2_~y=4.0, isfinite_double_#in~x=4.0, isfinite_double_#res=1, isfinite_double_~hx~3=9263, isfinite_double_~x=4.0, isinf_double_#in~x=2.0, isinf_double_#res=-1, isinf_double_~hx~2=2146435072, isinf_double_~lx~1=2331, isinf_double_~x=2.0, main_~x~0=2.0, main_~y~0=4.0, ~#aT_atan~0.base=3, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=5, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=6, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [L148] call __ieee754_atan2_~#ew_u~0.base, __ieee754_atan2_~#ew_u~0.offset := #Ultimate.alloc(8); [L149] call write~real(__ieee754_atan2_~x, __ieee754_atan2_~#ew_u~0.base, __ieee754_atan2_~#ew_u~0.offset, 8); [L150] call __ieee754_atan2_#t~mem27 := read~int(__ieee754_atan2_~#ew_u~0.base, 4 + __ieee754_atan2_~#ew_u~0.offset, 4); [L150] __ieee754_atan2_~hx~1 := (if __ieee754_atan2_#t~mem27 % 4294967296 % 4294967296 <= 2147483647 then __ieee754_atan2_#t~mem27 % 4294967296 % 4294967296 else __ieee754_atan2_#t~mem27 % 4294967296 % 4294967296 - 4294967296); [L150] call write~real(__ieee754_atan2_#t~union28, __ieee754_atan2_~#ew_u~0.base, __ieee754_atan2_~#ew_u~0.offset, 8); [L150] havoc __ieee754_atan2_#t~mem27; [L150] havoc __ieee754_atan2_#t~union28; [L151] call __ieee754_atan2_#t~mem29 := read~int(__ieee754_atan2_~#ew_u~0.base, __ieee754_atan2_~#ew_u~0.offset, 4); [L151] __ieee754_atan2_~lx~0 := __ieee754_atan2_#t~mem29; [L151] call write~real(__ieee754_atan2_#t~union30, __ieee754_atan2_~#ew_u~0.base, __ieee754_atan2_~#ew_u~0.offset, 8); [L151] havoc __ieee754_atan2_#t~mem29; [L151] havoc __ieee754_atan2_#t~union30; [L148] call ULTIMATE.dealloc(__ieee754_atan2_~#ew_u~0.base, __ieee754_atan2_~#ew_u~0.offset); [L148] havoc __ieee754_atan2_~#ew_u~0.base, __ieee754_atan2_~#ew_u~0.offset; VAL [#NULL.base=0, #NULL.offset=0, __ieee754_atan2_#in~x=2.0, __ieee754_atan2_#in~y=4.0, __ieee754_atan2_~hx~1=4135, __ieee754_atan2_~lx~0=15, __ieee754_atan2_~x=2.0, __ieee754_atan2_~y=4.0, isfinite_double_#in~x=4.0, isfinite_double_#res=1, isfinite_double_~hx~3=9263, isfinite_double_~x=4.0, isinf_double_#in~x=2.0, isinf_double_#res=-1, isinf_double_~hx~2=2146435072, isinf_double_~lx~1=2331, isinf_double_~x=2.0, main_~x~0=2.0, main_~y~0=4.0, ~#aT_atan~0.base=3, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=5, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=6, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [L153] __ieee754_atan2_~ix~1 := ~bitwiseAnd(__ieee754_atan2_~hx~1, 2147483647); VAL [#NULL.base=0, #NULL.offset=0, __ieee754_atan2_#in~x=2.0, __ieee754_atan2_#in~y=4.0, __ieee754_atan2_~hx~1=4135, __ieee754_atan2_~lx~0=15, __ieee754_atan2_~x=2.0, __ieee754_atan2_~y=4.0, isfinite_double_#in~x=4.0, isfinite_double_#res=1, isfinite_double_~hx~3=9263, isfinite_double_~x=4.0, isinf_double_#in~x=2.0, isinf_double_#res=-1, isinf_double_~hx~2=2146435072, isinf_double_~lx~1=2331, isinf_double_~x=2.0, main_~x~0=2.0, main_~y~0=4.0, ~#aT_atan~0.base=3, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=5, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=6, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [L155] call __ieee754_atan2_~#ew_u~1.base, __ieee754_atan2_~#ew_u~1.offset := #Ultimate.alloc(8); [L156] call write~real(__ieee754_atan2_~y, __ieee754_atan2_~#ew_u~1.base, __ieee754_atan2_~#ew_u~1.offset, 8); [L157] call __ieee754_atan2_#t~mem31 := read~int(__ieee754_atan2_~#ew_u~1.base, 4 + __ieee754_atan2_~#ew_u~1.offset, 4); [L157] __ieee754_atan2_~hy~0 := (if __ieee754_atan2_#t~mem31 % 4294967296 % 4294967296 <= 2147483647 then __ieee754_atan2_#t~mem31 % 4294967296 % 4294967296 else __ieee754_atan2_#t~mem31 % 4294967296 % 4294967296 - 4294967296); [L157] call write~real(__ieee754_atan2_#t~union32, __ieee754_atan2_~#ew_u~1.base, __ieee754_atan2_~#ew_u~1.offset, 8); [L157] havoc __ieee754_atan2_#t~union32; [L157] havoc __ieee754_atan2_#t~mem31; [L158] call __ieee754_atan2_#t~mem33 := read~int(__ieee754_atan2_~#ew_u~1.base, __ieee754_atan2_~#ew_u~1.offset, 4); [L158] __ieee754_atan2_~ly~0 := __ieee754_atan2_#t~mem33; [L158] call write~real(__ieee754_atan2_#t~union34, __ieee754_atan2_~#ew_u~1.base, __ieee754_atan2_~#ew_u~1.offset, 8); [L158] havoc __ieee754_atan2_#t~union34; [L158] havoc __ieee754_atan2_#t~mem33; [L155] call ULTIMATE.dealloc(__ieee754_atan2_~#ew_u~1.base, __ieee754_atan2_~#ew_u~1.offset); [L155] havoc __ieee754_atan2_~#ew_u~1.base, __ieee754_atan2_~#ew_u~1.offset; VAL [#NULL.base=0, #NULL.offset=0, __ieee754_atan2_#in~x=2.0, __ieee754_atan2_#in~y=4.0, __ieee754_atan2_~hx~1=4135, __ieee754_atan2_~hy~0=4135, __ieee754_atan2_~lx~0=15, __ieee754_atan2_~ly~0=20, __ieee754_atan2_~x=2.0, __ieee754_atan2_~y=4.0, isfinite_double_#in~x=4.0, isfinite_double_#res=1, isfinite_double_~hx~3=9263, isfinite_double_~x=4.0, isinf_double_#in~x=2.0, isinf_double_#res=-1, isinf_double_~hx~2=2146435072, isinf_double_~lx~1=2331, isinf_double_~x=2.0, main_~x~0=2.0, main_~y~0=4.0, ~#aT_atan~0.base=3, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=5, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=6, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [L160] __ieee754_atan2_~iy~0 := ~bitwiseAnd(__ieee754_atan2_~hy~0, 2147483647); VAL [#NULL.base=0, #NULL.offset=0, __ieee754_atan2_#in~x=2.0, __ieee754_atan2_#in~y=4.0, __ieee754_atan2_~hx~1=4135, __ieee754_atan2_~hy~0=4135, __ieee754_atan2_~lx~0=15, __ieee754_atan2_~ly~0=20, __ieee754_atan2_~x=2.0, __ieee754_atan2_~y=4.0, isfinite_double_#in~x=4.0, isfinite_double_#res=1, isfinite_double_~hx~3=9263, isfinite_double_~x=4.0, isinf_double_#in~x=2.0, isinf_double_#res=-1, isinf_double_~hx~2=2146435072, isinf_double_~lx~1=2331, isinf_double_~x=2.0, main_~x~0=2.0, main_~y~0=4.0, ~#aT_atan~0.base=3, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=5, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=6, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [L161-L163] assume ~bitwiseOr(__ieee754_atan2_~ix~1, ~bitwiseOr(__ieee754_atan2_~lx~0, -__ieee754_atan2_~lx~0) / 2147483648) % 4294967296 > 2146435072 || ~bitwiseOr(__ieee754_atan2_~iy~0, ~bitwiseOr(__ieee754_atan2_~ly~0, -__ieee754_atan2_~ly~0) / 2147483648) % 4294967296 > 2146435072; [L163] __ieee754_atan2_#res := ~someBinaryArithmeticDOUBLEoperation(__ieee754_atan2_~x, __ieee754_atan2_~y); VAL [#NULL.base=0, #NULL.offset=0, __ieee754_atan2_#in~x=2.0, __ieee754_atan2_#in~y=4.0, __ieee754_atan2_~hx~1=4135, __ieee754_atan2_~hy~0=4135, __ieee754_atan2_~lx~0=15, __ieee754_atan2_~ly~0=20, __ieee754_atan2_~x=2.0, __ieee754_atan2_~y=4.0, isfinite_double_#in~x=4.0, isfinite_double_#res=1, isfinite_double_~hx~3=9263, isfinite_double_~x=4.0, isinf_double_#in~x=2.0, isinf_double_#res=-1, isinf_double_~hx~2=2146435072, isinf_double_~lx~1=2331, isinf_double_~x=2.0, main_~x~0=2.0, main_~y~0=4.0, ~#aT_atan~0.base=3, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=5, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=6, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [L294] main_#t~ret60 := __ieee754_atan2_#res; [L294] main_~res~0 := main_#t~ret60; [L294] havoc main_#t~ret60; [L297] main_#t~short62 := ~someBinaryDOUBLEComparisonOperation(main_~res~0, 0.0); VAL [#NULL.base=0, #NULL.offset=0, __ieee754_atan2_#in~x=2.0, __ieee754_atan2_#in~y=4.0, __ieee754_atan2_#res=8.0, __ieee754_atan2_~hx~1=4135, __ieee754_atan2_~hy~0=4135, __ieee754_atan2_~lx~0=15, __ieee754_atan2_~ly~0=20, __ieee754_atan2_~x=2.0, __ieee754_atan2_~y=4.0, isfinite_double_#in~x=4.0, isfinite_double_#res=1, isfinite_double_~hx~3=9263, isfinite_double_~x=4.0, isinf_double_#in~x=2.0, isinf_double_#res=-1, isinf_double_~hx~2=2146435072, isinf_double_~lx~1=2331, isinf_double_~x=2.0, main_#t~short62=false, main_~res~0=8.0, main_~x~0=2.0, main_~y~0=4.0, ~#aT_atan~0.base=3, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=5, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=6, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [L297] assume !main_#t~short62; VAL [#NULL.base=0, #NULL.offset=0, __ieee754_atan2_#in~x=2.0, __ieee754_atan2_#in~y=4.0, __ieee754_atan2_#res=8.0, __ieee754_atan2_~hx~1=4135, __ieee754_atan2_~hy~0=4135, __ieee754_atan2_~lx~0=15, __ieee754_atan2_~ly~0=20, __ieee754_atan2_~x=2.0, __ieee754_atan2_~y=4.0, isfinite_double_#in~x=4.0, isfinite_double_#res=1, isfinite_double_~hx~3=9263, isfinite_double_~x=4.0, isinf_double_#in~x=2.0, isinf_double_#res=-1, isinf_double_~hx~2=2146435072, isinf_double_~lx~1=2331, isinf_double_~x=2.0, main_#t~short62=false, main_~res~0=8.0, main_~x~0=2.0, main_~y~0=4.0, ~#aT_atan~0.base=3, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=5, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=6, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [L297-L300] assume !main_#t~short62; [L297] havoc main_#t~ret61; [L297] havoc main_#t~short62; VAL [#NULL.base=0, #NULL.offset=0, __ieee754_atan2_#in~x=2.0, __ieee754_atan2_#in~y=4.0, __ieee754_atan2_#res=8.0, __ieee754_atan2_~hx~1=4135, __ieee754_atan2_~hy~0=4135, __ieee754_atan2_~lx~0=15, __ieee754_atan2_~ly~0=20, __ieee754_atan2_~x=2.0, __ieee754_atan2_~y=4.0, isfinite_double_#in~x=4.0, isfinite_double_#res=1, isfinite_double_~hx~3=9263, isfinite_double_~x=4.0, isinf_double_#in~x=2.0, isinf_double_#res=-1, isinf_double_~hx~2=2146435072, isinf_double_~lx~1=2331, isinf_double_~x=2.0, main_~res~0=8.0, main_~x~0=2.0, main_~y~0=4.0, ~#aT_atan~0.base=3, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=5, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=6, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [L298] assert false; VAL [#NULL.base=0, #NULL.offset=0, __ieee754_atan2_#in~x=2.0, __ieee754_atan2_#in~y=4.0, __ieee754_atan2_#res=8.0, __ieee754_atan2_~hx~1=4135, __ieee754_atan2_~hy~0=4135, __ieee754_atan2_~lx~0=15, __ieee754_atan2_~ly~0=20, __ieee754_atan2_~x=2.0, __ieee754_atan2_~y=4.0, isfinite_double_#in~x=4.0, isfinite_double_#res=1, isfinite_double_~hx~3=9263, isfinite_double_~x=4.0, isinf_double_#in~x=2.0, isinf_double_#res=-1, isinf_double_~hx~2=2146435072, isinf_double_~lx~1=2331, isinf_double_~x=2.0, main_~res~0=8.0, main_~x~0=2.0, main_~y~0=4.0, ~#aT_atan~0.base=3, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=5, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=6, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] ----- ----- class de.uni_freiburg.informatik.ultimate.boogie.preprocessor.BoogiePreprocessorBacktranslator [?] #NULL.base, #NULL.offset := 0, 0; [?] #valid := #valid[0 := 0]; [L37-L42] call ~#atanhi_atan~0.base, ~#atanhi_atan~0.offset := #Ultimate.alloc(32); [L37-L42] call write~init~real(0.4636476090008061, ~#atanhi_atan~0.base, ~#atanhi_atan~0.offset, 8); [L37-L42] call write~init~real(0.7853981633974483, ~#atanhi_atan~0.base, 8 + ~#atanhi_atan~0.offset, 8); [L37-L42] call write~init~real(0.982793723247329, ~#atanhi_atan~0.base, 16 + ~#atanhi_atan~0.offset, 8); [L37-L42] call write~init~real(1.5707963267948966, ~#atanhi_atan~0.base, 24 + ~#atanhi_atan~0.offset, 8); [L44-L49] call ~#atanlo_atan~0.base, ~#atanlo_atan~0.offset := #Ultimate.alloc(32); [L44-L49] call write~init~real(2.2698777452961687E-17, ~#atanlo_atan~0.base, ~#atanlo_atan~0.offset, 8); [L44-L49] call write~init~real(3.061616997868383E-17, ~#atanlo_atan~0.base, 8 + ~#atanlo_atan~0.offset, 8); [L44-L49] call write~init~real(1.3903311031230998E-17, ~#atanlo_atan~0.base, 16 + ~#atanlo_atan~0.offset, 8); [L44-L49] call write~init~real(6.123233995736766E-17, ~#atanlo_atan~0.base, 24 + ~#atanlo_atan~0.offset, 8); [L51-L58] call ~#aT_atan~0.base, ~#aT_atan~0.offset := #Ultimate.alloc(88); [L51-L58] call write~init~real(0.3333333333333293, ~#aT_atan~0.base, ~#aT_atan~0.offset, 8); [L51-L58] call write~init~real(~someUnaryDOUBLEoperation(0.19999999999876483), ~#aT_atan~0.base, 8 + ~#aT_atan~0.offset, 8); [L51-L58] call write~init~real(0.14285714272503466, ~#aT_atan~0.base, 16 + ~#aT_atan~0.offset, 8); [L51-L58] call write~init~real(~someUnaryDOUBLEoperation(0.11111110405462356), ~#aT_atan~0.base, 24 + ~#aT_atan~0.offset, 8); [L51-L58] call write~init~real(0.09090887133436507, ~#aT_atan~0.base, 32 + ~#aT_atan~0.offset, 8); [L51-L58] call write~init~real(~someUnaryDOUBLEoperation(0.0769187620504483), ~#aT_atan~0.base, 40 + ~#aT_atan~0.offset, 8); [L51-L58] call write~init~real(0.06661073137387531, ~#aT_atan~0.base, 48 + ~#aT_atan~0.offset, 8); [L51-L58] call write~init~real(~someUnaryDOUBLEoperation(0.058335701337905735), ~#aT_atan~0.base, 56 + ~#aT_atan~0.offset, 8); [L51-L58] call write~init~real(0.049768779946159324, ~#aT_atan~0.base, 64 + ~#aT_atan~0.offset, 8); [L51-L58] call write~init~real(~someUnaryDOUBLEoperation(0.036531572744216916), ~#aT_atan~0.base, 72 + ~#aT_atan~0.offset, 8); [L51-L58] call write~init~real(0.016285820115365782, ~#aT_atan~0.base, 80 + ~#aT_atan~0.offset, 8); [L60-L62] ~one_atan~0 := 1.0; [L60-L62] ~pi_o_4~0 := 0.7853981633974483; [L60-L62] ~pi_o_2~0 := 1.5707963267948966; [L60-L62] ~pi~0 := 3.141592653589793; [L60-L62] ~huge_atan~0 := 1.0E300; [L139-L140] ~tiny_atan2~0 := 1.0E-300; [L139-L140] ~zero_atan2~0 := 0.0; [L139-L140] ~pi_lo_atan2~0 := 1.2246467991473532E-16; [?] havoc main_#res; [?] havoc main_#t~nondet56, main_#t~ret57, main_#t~ret58, main_#t~short59, main_#t~ret60, main_#t~ret61, main_#t~short62, main_~res~0, main_~x~0, main_~y~0; [L289] main_~x~0 := ~someBinaryArithmeticDOUBLEoperation(1.0, 0.0); [L290] main_~y~0 := main_#t~nondet56; [L290] havoc main_#t~nondet56; [L292] isinf_double_#in~x := main_~x~0; [L292] havoc isinf_double_#res; [L292] havoc isinf_double_#t~mem48, isinf_double_#t~union49, isinf_double_#t~mem50, isinf_double_#t~union51, isinf_double_~#ew_u~2.base, isinf_double_~#ew_u~2.offset, isinf_double_~x, isinf_double_~hx~2, isinf_double_~lx~1; [L245-L257] isinf_double_~x := isinf_double_#in~x; [L246] havoc isinf_double_~hx~2; [L246] havoc isinf_double_~lx~1; VAL [#NULL.base=0, #NULL.offset=0, isinf_double_#in~x=2.0, isinf_double_~x=2.0, main_~x~0=2.0, ~#aT_atan~0.base=3, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=5, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=6, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [L248] call isinf_double_~#ew_u~2.base, isinf_double_~#ew_u~2.offset := #Ultimate.alloc(8); [L249] call write~real(isinf_double_~x, isinf_double_~#ew_u~2.base, isinf_double_~#ew_u~2.offset, 8); [L250] call isinf_double_#t~mem48 := read~int(isinf_double_~#ew_u~2.base, 4 + isinf_double_~#ew_u~2.offset, 4); [L250] isinf_double_~hx~2 := (if isinf_double_#t~mem48 % 4294967296 % 4294967296 <= 2147483647 then isinf_double_#t~mem48 % 4294967296 % 4294967296 else isinf_double_#t~mem48 % 4294967296 % 4294967296 - 4294967296); [L250] call write~real(isinf_double_#t~union49, isinf_double_~#ew_u~2.base, isinf_double_~#ew_u~2.offset, 8); [L250] havoc isinf_double_#t~mem48; [L250] havoc isinf_double_#t~union49; [L251] call isinf_double_#t~mem50 := read~int(isinf_double_~#ew_u~2.base, isinf_double_~#ew_u~2.offset, 4); [L251] isinf_double_~lx~1 := (if isinf_double_#t~mem50 % 4294967296 % 4294967296 <= 2147483647 then isinf_double_#t~mem50 % 4294967296 % 4294967296 else isinf_double_#t~mem50 % 4294967296 % 4294967296 - 4294967296); [L251] call write~real(isinf_double_#t~union51, isinf_double_~#ew_u~2.base, isinf_double_~#ew_u~2.offset, 8); [L251] havoc isinf_double_#t~union51; [L251] havoc isinf_double_#t~mem50; [L248] call ULTIMATE.dealloc(isinf_double_~#ew_u~2.base, isinf_double_~#ew_u~2.offset); [L248] havoc isinf_double_~#ew_u~2.base, isinf_double_~#ew_u~2.offset; VAL [#NULL.base=0, #NULL.offset=0, isinf_double_#in~x=2.0, isinf_double_~hx~2=0, isinf_double_~lx~1=2331, isinf_double_~x=2.0, main_~x~0=2.0, ~#aT_atan~0.base=3, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=5, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=6, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [L253] isinf_double_~hx~2 := ~bitwiseAnd(isinf_double_~hx~2, 2147483647); [L254] isinf_double_~hx~2 := (if ~bitwiseOr(isinf_double_~hx~2, ~bitwiseOr(isinf_double_~lx~1, -isinf_double_~lx~1) / 2147483648) % 4294967296 % 4294967296 <= 2147483647 then ~bitwiseOr(isinf_double_~hx~2, ~bitwiseOr(isinf_double_~lx~1, -isinf_double_~lx~1) / 2147483648) % 4294967296 % 4294967296 else ~bitwiseOr(isinf_double_~hx~2, ~bitwiseOr(isinf_double_~lx~1, -isinf_double_~lx~1) / 2147483648) % 4294967296 % 4294967296 - 4294967296); [L255] isinf_double_~hx~2 := 2146435072 - isinf_double_~hx~2; [L256] isinf_double_#res := 1 - (if ~bitwiseOr(isinf_double_~hx~2, -isinf_double_~hx~2) / 2147483648 % 4294967296 % 4294967296 <= 2147483647 then ~bitwiseOr(isinf_double_~hx~2, -isinf_double_~hx~2) / 2147483648 % 4294967296 % 4294967296 else ~bitwiseOr(isinf_double_~hx~2, -isinf_double_~hx~2) / 2147483648 % 4294967296 % 4294967296 - 4294967296); [L292] main_#t~ret57 := isinf_double_#res; [L292] assume -2147483648 <= main_#t~ret57 && main_#t~ret57 <= 2147483647; [L292] main_#t~short59 := 0 != main_#t~ret57; VAL [#NULL.base=0, #NULL.offset=0, isinf_double_#in~x=2.0, isinf_double_#res=-1, isinf_double_~hx~2=2146435072, isinf_double_~lx~1=2331, isinf_double_~x=2.0, main_#t~ret57=-1, main_#t~short59=true, main_~x~0=2.0, ~#aT_atan~0.base=3, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=5, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=6, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [L292] assume main_#t~short59; [L292] isfinite_double_#in~x := main_~y~0; [L292] havoc isfinite_double_#res; [L292] havoc isfinite_double_#t~mem52, isfinite_double_#t~union53, isfinite_double_~#gh_u~3.base, isfinite_double_~#gh_u~3.offset, isfinite_double_~x, isfinite_double_~hx~3; [L259-L267] isfinite_double_~x := isfinite_double_#in~x; [L260] havoc isfinite_double_~hx~3; VAL [#NULL.base=0, #NULL.offset=0, isfinite_double_#in~x=4.0, isfinite_double_~x=4.0, isinf_double_#in~x=2.0, isinf_double_#res=-1, isinf_double_~hx~2=2146435072, isinf_double_~lx~1=2331, isinf_double_~x=2.0, main_#t~ret57=-1, main_#t~short59=true, main_~x~0=2.0, main_~y~0=4.0, ~#aT_atan~0.base=3, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=5, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=6, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [L262] call isfinite_double_~#gh_u~3.base, isfinite_double_~#gh_u~3.offset := #Ultimate.alloc(8); [L263] call write~real(isfinite_double_~x, isfinite_double_~#gh_u~3.base, isfinite_double_~#gh_u~3.offset, 8); [L264] call isfinite_double_#t~mem52 := read~int(isfinite_double_~#gh_u~3.base, 4 + isfinite_double_~#gh_u~3.offset, 4); [L264] isfinite_double_~hx~3 := (if isfinite_double_#t~mem52 % 4294967296 % 4294967296 <= 2147483647 then isfinite_double_#t~mem52 % 4294967296 % 4294967296 else isfinite_double_#t~mem52 % 4294967296 % 4294967296 - 4294967296); [L264] call write~real(isfinite_double_#t~union53, isfinite_double_~#gh_u~3.base, isfinite_double_~#gh_u~3.offset, 8); [L264] havoc isfinite_double_#t~mem52; [L264] havoc isfinite_double_#t~union53; [L262] call ULTIMATE.dealloc(isfinite_double_~#gh_u~3.base, isfinite_double_~#gh_u~3.offset); [L262] havoc isfinite_double_~#gh_u~3.base, isfinite_double_~#gh_u~3.offset; VAL [#NULL.base=0, #NULL.offset=0, isfinite_double_#in~x=4.0, isfinite_double_~hx~3=9263, isfinite_double_~x=4.0, isinf_double_#in~x=2.0, isinf_double_#res=-1, isinf_double_~hx~2=2146435072, isinf_double_~lx~1=2331, isinf_double_~x=2.0, main_#t~ret57=-1, main_#t~short59=true, main_~x~0=2.0, main_~y~0=4.0, ~#aT_atan~0.base=3, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=5, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=6, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [L266] isfinite_double_#res := (if (~bitwiseAnd(isfinite_double_~hx~3, 2147483647) - 2146435072) / 2147483648 % 4294967296 % 4294967296 <= 2147483647 then (~bitwiseAnd(isfinite_double_~hx~3, 2147483647) - 2146435072) / 2147483648 % 4294967296 % 4294967296 else (~bitwiseAnd(isfinite_double_~hx~3, 2147483647) - 2146435072) / 2147483648 % 4294967296 % 4294967296 - 4294967296); [L292] main_#t~ret58 := isfinite_double_#res; [L292] assume -2147483648 <= main_#t~ret58 && main_#t~ret58 <= 2147483647; [L292] main_#t~short59 := 0 != main_#t~ret58; VAL [#NULL.base=0, #NULL.offset=0, isfinite_double_#in~x=4.0, isfinite_double_#res=1, isfinite_double_~hx~3=9263, isfinite_double_~x=4.0, isinf_double_#in~x=2.0, isinf_double_#res=-1, isinf_double_~hx~2=2146435072, isinf_double_~lx~1=2331, isinf_double_~x=2.0, main_#t~ret57=-1, main_#t~ret58=1, main_#t~short59=true, main_~x~0=2.0, main_~y~0=4.0, ~#aT_atan~0.base=3, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=5, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=6, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [L292-L301] assume main_#t~short59 && ~someBinaryDOUBLEComparisonOperation(main_~y~0, 0.0); [L292] havoc main_#t~short59; [L292] havoc main_#t~ret57; [L292] havoc main_#t~ret58; [L294] __ieee754_atan2_#in~y, __ieee754_atan2_#in~x := main_~y~0, main_~x~0; [L294] havoc __ieee754_atan2_#res; [L294] havoc __ieee754_atan2_#t~mem27, __ieee754_atan2_#t~union28, __ieee754_atan2_#t~mem29, __ieee754_atan2_#t~union30, __ieee754_atan2_~#ew_u~0.base, __ieee754_atan2_~#ew_u~0.offset, __ieee754_atan2_#t~mem31, __ieee754_atan2_#t~union32, __ieee754_atan2_#t~mem33, __ieee754_atan2_#t~union34, __ieee754_atan2_~#ew_u~1.base, __ieee754_atan2_~#ew_u~1.offset, __ieee754_atan2_#t~ret35, __ieee754_atan2_#t~switch36, __ieee754_atan2_#t~ite37, __ieee754_atan2_#t~switch38, __ieee754_atan2_#t~switch39, __ieee754_atan2_#t~ite40, __ieee754_atan2_#t~ret41, __ieee754_atan2_#t~ret42, __ieee754_atan2_#t~switch43, __ieee754_atan2_#t~mem44, __ieee754_atan2_#t~union45, __ieee754_atan2_~#gh_u~2.base, __ieee754_atan2_~#gh_u~2.offset, __ieee754_atan2_#t~mem46, __ieee754_atan2_#t~union47.lsw, __ieee754_atan2_#t~union47.msw, __ieee754_atan2_~#sh_u~1.base, __ieee754_atan2_~#sh_u~1.offset, __ieee754_atan2_~zh~0, __ieee754_atan2_~y, __ieee754_atan2_~x, __ieee754_atan2_~z~1, __ieee754_atan2_~k~0, __ieee754_atan2_~m~0, __ieee754_atan2_~hx~1, __ieee754_atan2_~hy~0, __ieee754_atan2_~ix~1, __ieee754_atan2_~iy~0, __ieee754_atan2_~lx~0, __ieee754_atan2_~ly~0; [L142-L242] __ieee754_atan2_~y := __ieee754_atan2_#in~y; [L142-L242] __ieee754_atan2_~x := __ieee754_atan2_#in~x; [L143] havoc __ieee754_atan2_~z~1; [L144] havoc __ieee754_atan2_~k~0; [L144] havoc __ieee754_atan2_~m~0; [L144] havoc __ieee754_atan2_~hx~1; [L144] havoc __ieee754_atan2_~hy~0; [L144] havoc __ieee754_atan2_~ix~1; [L144] havoc __ieee754_atan2_~iy~0; [L145] havoc __ieee754_atan2_~lx~0; [L145] havoc __ieee754_atan2_~ly~0; VAL [#NULL.base=0, #NULL.offset=0, __ieee754_atan2_#in~x=2.0, __ieee754_atan2_#in~y=4.0, __ieee754_atan2_~x=2.0, __ieee754_atan2_~y=4.0, isfinite_double_#in~x=4.0, isfinite_double_#res=1, isfinite_double_~hx~3=9263, isfinite_double_~x=4.0, isinf_double_#in~x=2.0, isinf_double_#res=-1, isinf_double_~hx~2=2146435072, isinf_double_~lx~1=2331, isinf_double_~x=2.0, main_~x~0=2.0, main_~y~0=4.0, ~#aT_atan~0.base=3, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=5, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=6, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [L148] call __ieee754_atan2_~#ew_u~0.base, __ieee754_atan2_~#ew_u~0.offset := #Ultimate.alloc(8); [L149] call write~real(__ieee754_atan2_~x, __ieee754_atan2_~#ew_u~0.base, __ieee754_atan2_~#ew_u~0.offset, 8); [L150] call __ieee754_atan2_#t~mem27 := read~int(__ieee754_atan2_~#ew_u~0.base, 4 + __ieee754_atan2_~#ew_u~0.offset, 4); [L150] __ieee754_atan2_~hx~1 := (if __ieee754_atan2_#t~mem27 % 4294967296 % 4294967296 <= 2147483647 then __ieee754_atan2_#t~mem27 % 4294967296 % 4294967296 else __ieee754_atan2_#t~mem27 % 4294967296 % 4294967296 - 4294967296); [L150] call write~real(__ieee754_atan2_#t~union28, __ieee754_atan2_~#ew_u~0.base, __ieee754_atan2_~#ew_u~0.offset, 8); [L150] havoc __ieee754_atan2_#t~mem27; [L150] havoc __ieee754_atan2_#t~union28; [L151] call __ieee754_atan2_#t~mem29 := read~int(__ieee754_atan2_~#ew_u~0.base, __ieee754_atan2_~#ew_u~0.offset, 4); [L151] __ieee754_atan2_~lx~0 := __ieee754_atan2_#t~mem29; [L151] call write~real(__ieee754_atan2_#t~union30, __ieee754_atan2_~#ew_u~0.base, __ieee754_atan2_~#ew_u~0.offset, 8); [L151] havoc __ieee754_atan2_#t~mem29; [L151] havoc __ieee754_atan2_#t~union30; [L148] call ULTIMATE.dealloc(__ieee754_atan2_~#ew_u~0.base, __ieee754_atan2_~#ew_u~0.offset); [L148] havoc __ieee754_atan2_~#ew_u~0.base, __ieee754_atan2_~#ew_u~0.offset; VAL [#NULL.base=0, #NULL.offset=0, __ieee754_atan2_#in~x=2.0, __ieee754_atan2_#in~y=4.0, __ieee754_atan2_~hx~1=4135, __ieee754_atan2_~lx~0=15, __ieee754_atan2_~x=2.0, __ieee754_atan2_~y=4.0, isfinite_double_#in~x=4.0, isfinite_double_#res=1, isfinite_double_~hx~3=9263, isfinite_double_~x=4.0, isinf_double_#in~x=2.0, isinf_double_#res=-1, isinf_double_~hx~2=2146435072, isinf_double_~lx~1=2331, isinf_double_~x=2.0, main_~x~0=2.0, main_~y~0=4.0, ~#aT_atan~0.base=3, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=5, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=6, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [L153] __ieee754_atan2_~ix~1 := ~bitwiseAnd(__ieee754_atan2_~hx~1, 2147483647); VAL [#NULL.base=0, #NULL.offset=0, __ieee754_atan2_#in~x=2.0, __ieee754_atan2_#in~y=4.0, __ieee754_atan2_~hx~1=4135, __ieee754_atan2_~lx~0=15, __ieee754_atan2_~x=2.0, __ieee754_atan2_~y=4.0, isfinite_double_#in~x=4.0, isfinite_double_#res=1, isfinite_double_~hx~3=9263, isfinite_double_~x=4.0, isinf_double_#in~x=2.0, isinf_double_#res=-1, isinf_double_~hx~2=2146435072, isinf_double_~lx~1=2331, isinf_double_~x=2.0, main_~x~0=2.0, main_~y~0=4.0, ~#aT_atan~0.base=3, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=5, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=6, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [L155] call __ieee754_atan2_~#ew_u~1.base, __ieee754_atan2_~#ew_u~1.offset := #Ultimate.alloc(8); [L156] call write~real(__ieee754_atan2_~y, __ieee754_atan2_~#ew_u~1.base, __ieee754_atan2_~#ew_u~1.offset, 8); [L157] call __ieee754_atan2_#t~mem31 := read~int(__ieee754_atan2_~#ew_u~1.base, 4 + __ieee754_atan2_~#ew_u~1.offset, 4); [L157] __ieee754_atan2_~hy~0 := (if __ieee754_atan2_#t~mem31 % 4294967296 % 4294967296 <= 2147483647 then __ieee754_atan2_#t~mem31 % 4294967296 % 4294967296 else __ieee754_atan2_#t~mem31 % 4294967296 % 4294967296 - 4294967296); [L157] call write~real(__ieee754_atan2_#t~union32, __ieee754_atan2_~#ew_u~1.base, __ieee754_atan2_~#ew_u~1.offset, 8); [L157] havoc __ieee754_atan2_#t~union32; [L157] havoc __ieee754_atan2_#t~mem31; [L158] call __ieee754_atan2_#t~mem33 := read~int(__ieee754_atan2_~#ew_u~1.base, __ieee754_atan2_~#ew_u~1.offset, 4); [L158] __ieee754_atan2_~ly~0 := __ieee754_atan2_#t~mem33; [L158] call write~real(__ieee754_atan2_#t~union34, __ieee754_atan2_~#ew_u~1.base, __ieee754_atan2_~#ew_u~1.offset, 8); [L158] havoc __ieee754_atan2_#t~union34; [L158] havoc __ieee754_atan2_#t~mem33; [L155] call ULTIMATE.dealloc(__ieee754_atan2_~#ew_u~1.base, __ieee754_atan2_~#ew_u~1.offset); [L155] havoc __ieee754_atan2_~#ew_u~1.base, __ieee754_atan2_~#ew_u~1.offset; VAL [#NULL.base=0, #NULL.offset=0, __ieee754_atan2_#in~x=2.0, __ieee754_atan2_#in~y=4.0, __ieee754_atan2_~hx~1=4135, __ieee754_atan2_~hy~0=4135, __ieee754_atan2_~lx~0=15, __ieee754_atan2_~ly~0=20, __ieee754_atan2_~x=2.0, __ieee754_atan2_~y=4.0, isfinite_double_#in~x=4.0, isfinite_double_#res=1, isfinite_double_~hx~3=9263, isfinite_double_~x=4.0, isinf_double_#in~x=2.0, isinf_double_#res=-1, isinf_double_~hx~2=2146435072, isinf_double_~lx~1=2331, isinf_double_~x=2.0, main_~x~0=2.0, main_~y~0=4.0, ~#aT_atan~0.base=3, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=5, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=6, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [L160] __ieee754_atan2_~iy~0 := ~bitwiseAnd(__ieee754_atan2_~hy~0, 2147483647); VAL [#NULL.base=0, #NULL.offset=0, __ieee754_atan2_#in~x=2.0, __ieee754_atan2_#in~y=4.0, __ieee754_atan2_~hx~1=4135, __ieee754_atan2_~hy~0=4135, __ieee754_atan2_~lx~0=15, __ieee754_atan2_~ly~0=20, __ieee754_atan2_~x=2.0, __ieee754_atan2_~y=4.0, isfinite_double_#in~x=4.0, isfinite_double_#res=1, isfinite_double_~hx~3=9263, isfinite_double_~x=4.0, isinf_double_#in~x=2.0, isinf_double_#res=-1, isinf_double_~hx~2=2146435072, isinf_double_~lx~1=2331, isinf_double_~x=2.0, main_~x~0=2.0, main_~y~0=4.0, ~#aT_atan~0.base=3, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=5, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=6, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [L161-L163] assume ~bitwiseOr(__ieee754_atan2_~ix~1, ~bitwiseOr(__ieee754_atan2_~lx~0, -__ieee754_atan2_~lx~0) / 2147483648) % 4294967296 > 2146435072 || ~bitwiseOr(__ieee754_atan2_~iy~0, ~bitwiseOr(__ieee754_atan2_~ly~0, -__ieee754_atan2_~ly~0) / 2147483648) % 4294967296 > 2146435072; [L163] __ieee754_atan2_#res := ~someBinaryArithmeticDOUBLEoperation(__ieee754_atan2_~x, __ieee754_atan2_~y); VAL [#NULL.base=0, #NULL.offset=0, __ieee754_atan2_#in~x=2.0, __ieee754_atan2_#in~y=4.0, __ieee754_atan2_~hx~1=4135, __ieee754_atan2_~hy~0=4135, __ieee754_atan2_~lx~0=15, __ieee754_atan2_~ly~0=20, __ieee754_atan2_~x=2.0, __ieee754_atan2_~y=4.0, isfinite_double_#in~x=4.0, isfinite_double_#res=1, isfinite_double_~hx~3=9263, isfinite_double_~x=4.0, isinf_double_#in~x=2.0, isinf_double_#res=-1, isinf_double_~hx~2=2146435072, isinf_double_~lx~1=2331, isinf_double_~x=2.0, main_~x~0=2.0, main_~y~0=4.0, ~#aT_atan~0.base=3, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=5, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=6, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [L294] main_#t~ret60 := __ieee754_atan2_#res; [L294] main_~res~0 := main_#t~ret60; [L294] havoc main_#t~ret60; [L297] main_#t~short62 := ~someBinaryDOUBLEComparisonOperation(main_~res~0, 0.0); VAL [#NULL.base=0, #NULL.offset=0, __ieee754_atan2_#in~x=2.0, __ieee754_atan2_#in~y=4.0, __ieee754_atan2_#res=8.0, __ieee754_atan2_~hx~1=4135, __ieee754_atan2_~hy~0=4135, __ieee754_atan2_~lx~0=15, __ieee754_atan2_~ly~0=20, __ieee754_atan2_~x=2.0, __ieee754_atan2_~y=4.0, isfinite_double_#in~x=4.0, isfinite_double_#res=1, isfinite_double_~hx~3=9263, isfinite_double_~x=4.0, isinf_double_#in~x=2.0, isinf_double_#res=-1, isinf_double_~hx~2=2146435072, isinf_double_~lx~1=2331, isinf_double_~x=2.0, main_#t~short62=false, main_~res~0=8.0, main_~x~0=2.0, main_~y~0=4.0, ~#aT_atan~0.base=3, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=5, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=6, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [L297] assume !main_#t~short62; VAL [#NULL.base=0, #NULL.offset=0, __ieee754_atan2_#in~x=2.0, __ieee754_atan2_#in~y=4.0, __ieee754_atan2_#res=8.0, __ieee754_atan2_~hx~1=4135, __ieee754_atan2_~hy~0=4135, __ieee754_atan2_~lx~0=15, __ieee754_atan2_~ly~0=20, __ieee754_atan2_~x=2.0, __ieee754_atan2_~y=4.0, isfinite_double_#in~x=4.0, isfinite_double_#res=1, isfinite_double_~hx~3=9263, isfinite_double_~x=4.0, isinf_double_#in~x=2.0, isinf_double_#res=-1, isinf_double_~hx~2=2146435072, isinf_double_~lx~1=2331, isinf_double_~x=2.0, main_#t~short62=false, main_~res~0=8.0, main_~x~0=2.0, main_~y~0=4.0, ~#aT_atan~0.base=3, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=5, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=6, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [L297-L300] assume !main_#t~short62; [L297] havoc main_#t~ret61; [L297] havoc main_#t~short62; VAL [#NULL.base=0, #NULL.offset=0, __ieee754_atan2_#in~x=2.0, __ieee754_atan2_#in~y=4.0, __ieee754_atan2_#res=8.0, __ieee754_atan2_~hx~1=4135, __ieee754_atan2_~hy~0=4135, __ieee754_atan2_~lx~0=15, __ieee754_atan2_~ly~0=20, __ieee754_atan2_~x=2.0, __ieee754_atan2_~y=4.0, isfinite_double_#in~x=4.0, isfinite_double_#res=1, isfinite_double_~hx~3=9263, isfinite_double_~x=4.0, isinf_double_#in~x=2.0, isinf_double_#res=-1, isinf_double_~hx~2=2146435072, isinf_double_~lx~1=2331, isinf_double_~x=2.0, main_~res~0=8.0, main_~x~0=2.0, main_~y~0=4.0, ~#aT_atan~0.base=3, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=5, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=6, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [L298] assert false; VAL [#NULL.base=0, #NULL.offset=0, __ieee754_atan2_#in~x=2.0, __ieee754_atan2_#in~y=4.0, __ieee754_atan2_#res=8.0, __ieee754_atan2_~hx~1=4135, __ieee754_atan2_~hy~0=4135, __ieee754_atan2_~lx~0=15, __ieee754_atan2_~ly~0=20, __ieee754_atan2_~x=2.0, __ieee754_atan2_~y=4.0, isfinite_double_#in~x=4.0, isfinite_double_#res=1, isfinite_double_~hx~3=9263, isfinite_double_~x=4.0, isinf_double_#in~x=2.0, isinf_double_#res=-1, isinf_double_~hx~2=2146435072, isinf_double_~lx~1=2331, isinf_double_~x=2.0, main_~res~0=8.0, main_~x~0=2.0, main_~y~0=4.0, ~#aT_atan~0.base=3, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=5, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=6, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [?] #NULL := { base: 0, offset: 0 }; [?] #valid[0] := 0; [L37-L42] FCALL call ~#atanhi_atan~0 := #Ultimate.alloc(32); [L37-L42] FCALL call write~init~real(0.4636476090008061, { base: ~#atanhi_atan~0!base, offset: ~#atanhi_atan~0!offset }, 8); [L37-L42] FCALL call write~init~real(0.7853981633974483, { base: ~#atanhi_atan~0!base, offset: 8 + ~#atanhi_atan~0!offset }, 8); [L37-L42] FCALL call write~init~real(0.982793723247329, { base: ~#atanhi_atan~0!base, offset: 16 + ~#atanhi_atan~0!offset }, 8); [L37-L42] FCALL call write~init~real(1.5707963267948966, { base: ~#atanhi_atan~0!base, offset: 24 + ~#atanhi_atan~0!offset }, 8); [L44-L49] FCALL call ~#atanlo_atan~0 := #Ultimate.alloc(32); [L44-L49] FCALL call write~init~real(2.2698777452961687E-17, { base: ~#atanlo_atan~0!base, offset: ~#atanlo_atan~0!offset }, 8); [L44-L49] FCALL call write~init~real(3.061616997868383E-17, { base: ~#atanlo_atan~0!base, offset: 8 + ~#atanlo_atan~0!offset }, 8); [L44-L49] FCALL call write~init~real(1.3903311031230998E-17, { base: ~#atanlo_atan~0!base, offset: 16 + ~#atanlo_atan~0!offset }, 8); [L44-L49] FCALL call write~init~real(6.123233995736766E-17, { base: ~#atanlo_atan~0!base, offset: 24 + ~#atanlo_atan~0!offset }, 8); [L51-L58] FCALL call ~#aT_atan~0 := #Ultimate.alloc(88); [L51-L58] FCALL call write~init~real(0.3333333333333293, { base: ~#aT_atan~0!base, offset: ~#aT_atan~0!offset }, 8); [L51-L58] FCALL call write~init~real(~someUnaryDOUBLEoperation(0.19999999999876483), { base: ~#aT_atan~0!base, offset: 8 + ~#aT_atan~0!offset }, 8); [L51-L58] FCALL call write~init~real(0.14285714272503466, { base: ~#aT_atan~0!base, offset: 16 + ~#aT_atan~0!offset }, 8); [L51-L58] FCALL call write~init~real(~someUnaryDOUBLEoperation(0.11111110405462356), { base: ~#aT_atan~0!base, offset: 24 + ~#aT_atan~0!offset }, 8); [L51-L58] FCALL call write~init~real(0.09090887133436507, { base: ~#aT_atan~0!base, offset: 32 + ~#aT_atan~0!offset }, 8); [L51-L58] FCALL call write~init~real(~someUnaryDOUBLEoperation(0.0769187620504483), { base: ~#aT_atan~0!base, offset: 40 + ~#aT_atan~0!offset }, 8); [L51-L58] FCALL call write~init~real(0.06661073137387531, { base: ~#aT_atan~0!base, offset: 48 + ~#aT_atan~0!offset }, 8); [L51-L58] FCALL call write~init~real(~someUnaryDOUBLEoperation(0.058335701337905735), { base: ~#aT_atan~0!base, offset: 56 + ~#aT_atan~0!offset }, 8); [L51-L58] FCALL call write~init~real(0.049768779946159324, { base: ~#aT_atan~0!base, offset: 64 + ~#aT_atan~0!offset }, 8); [L51-L58] FCALL call write~init~real(~someUnaryDOUBLEoperation(0.036531572744216916), { base: ~#aT_atan~0!base, offset: 72 + ~#aT_atan~0!offset }, 8); [L51-L58] FCALL call write~init~real(0.016285820115365782, { base: ~#aT_atan~0!base, offset: 80 + ~#aT_atan~0!offset }, 8); [L60-L62] ~one_atan~0 := 1.0; [L60-L62] ~pi_o_4~0 := 0.7853981633974483; [L60-L62] ~pi_o_2~0 := 1.5707963267948966; [L60-L62] ~pi~0 := 3.141592653589793; [L60-L62] ~huge_atan~0 := 1.0E300; [L139-L140] ~tiny_atan2~0 := 1.0E-300; [L139-L140] ~zero_atan2~0 := 0.0; [L139-L140] ~pi_lo_atan2~0 := 1.2246467991473532E-16; [?] havoc main_#res; [?] havoc main_#t~nondet56, main_#t~ret57, main_#t~ret58, main_#t~short59, main_#t~ret60, main_#t~ret61, main_#t~short62, main_~res~0, main_~x~0, main_~y~0; [L289] main_~x~0 := ~someBinaryArithmeticDOUBLEoperation(1.0, 0.0); [L290] main_~y~0 := main_#t~nondet56; [L290] havoc main_#t~nondet56; [L292] isinf_double_#in~x := main_~x~0; [L292] havoc isinf_double_#res; [L292] havoc isinf_double_#t~mem48, isinf_double_#t~union49, isinf_double_#t~mem50, isinf_double_#t~union51, isinf_double_~#ew_u~2, isinf_double_~x, isinf_double_~hx~2, isinf_double_~lx~1; [L245-L257] isinf_double_~x := isinf_double_#in~x; [L246] havoc isinf_double_~hx~2; [L246] havoc isinf_double_~lx~1; VAL [#NULL!base=0, #NULL!offset=0, isinf_double_#in~x=2.0, isinf_double_~x=2.0, main_~x~0=2.0, ~#aT_atan~0!base=3, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=5, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=6, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [L248] FCALL call isinf_double_~#ew_u~2 := #Ultimate.alloc(8); [L249] FCALL call write~real(isinf_double_~x, { base: isinf_double_~#ew_u~2!base, offset: isinf_double_~#ew_u~2!offset }, 8); [L250] FCALL call isinf_double_#t~mem48 := read~int({ base: isinf_double_~#ew_u~2!base, offset: 4 + isinf_double_~#ew_u~2!offset }, 4); [L250] isinf_double_~hx~2 := (if isinf_double_#t~mem48 % 4294967296 % 4294967296 <= 2147483647 then isinf_double_#t~mem48 % 4294967296 % 4294967296 else isinf_double_#t~mem48 % 4294967296 % 4294967296 - 4294967296); [L250] FCALL call write~real(isinf_double_#t~union49, { base: isinf_double_~#ew_u~2!base, offset: isinf_double_~#ew_u~2!offset }, 8); [L250] havoc isinf_double_#t~mem48; [L250] havoc isinf_double_#t~union49; [L251] FCALL call isinf_double_#t~mem50 := read~int({ base: isinf_double_~#ew_u~2!base, offset: isinf_double_~#ew_u~2!offset }, 4); [L251] isinf_double_~lx~1 := (if isinf_double_#t~mem50 % 4294967296 % 4294967296 <= 2147483647 then isinf_double_#t~mem50 % 4294967296 % 4294967296 else isinf_double_#t~mem50 % 4294967296 % 4294967296 - 4294967296); [L251] FCALL call write~real(isinf_double_#t~union51, { base: isinf_double_~#ew_u~2!base, offset: isinf_double_~#ew_u~2!offset }, 8); [L251] havoc isinf_double_#t~union51; [L251] havoc isinf_double_#t~mem50; [L248] FCALL call ULTIMATE.dealloc(isinf_double_~#ew_u~2); [L248] havoc isinf_double_~#ew_u~2; VAL [#NULL!base=0, #NULL!offset=0, isinf_double_#in~x=2.0, isinf_double_~hx~2=0, isinf_double_~lx~1=2331, isinf_double_~x=2.0, main_~x~0=2.0, ~#aT_atan~0!base=3, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=5, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=6, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [L253] isinf_double_~hx~2 := ~bitwiseAnd(isinf_double_~hx~2, 2147483647); [L254] isinf_double_~hx~2 := (if ~bitwiseOr(isinf_double_~hx~2, ~bitwiseOr(isinf_double_~lx~1, -isinf_double_~lx~1) / 2147483648) % 4294967296 % 4294967296 <= 2147483647 then ~bitwiseOr(isinf_double_~hx~2, ~bitwiseOr(isinf_double_~lx~1, -isinf_double_~lx~1) / 2147483648) % 4294967296 % 4294967296 else ~bitwiseOr(isinf_double_~hx~2, ~bitwiseOr(isinf_double_~lx~1, -isinf_double_~lx~1) / 2147483648) % 4294967296 % 4294967296 - 4294967296); [L255] isinf_double_~hx~2 := 2146435072 - isinf_double_~hx~2; [L256] isinf_double_#res := 1 - (if ~bitwiseOr(isinf_double_~hx~2, -isinf_double_~hx~2) / 2147483648 % 4294967296 % 4294967296 <= 2147483647 then ~bitwiseOr(isinf_double_~hx~2, -isinf_double_~hx~2) / 2147483648 % 4294967296 % 4294967296 else ~bitwiseOr(isinf_double_~hx~2, -isinf_double_~hx~2) / 2147483648 % 4294967296 % 4294967296 - 4294967296); [L292] main_#t~ret57 := isinf_double_#res; [L292] assume -2147483648 <= main_#t~ret57 && main_#t~ret57 <= 2147483647; [L292] main_#t~short59 := 0 != main_#t~ret57; VAL [#NULL!base=0, #NULL!offset=0, isinf_double_#in~x=2.0, isinf_double_#res=-1, isinf_double_~hx~2=2146435072, isinf_double_~lx~1=2331, isinf_double_~x=2.0, main_#t~ret57=-1, main_#t~short59=true, main_~x~0=2.0, ~#aT_atan~0!base=3, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=5, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=6, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [L292] COND TRUE main_#t~short59 [L292] isfinite_double_#in~x := main_~y~0; [L292] havoc isfinite_double_#res; [L292] havoc isfinite_double_#t~mem52, isfinite_double_#t~union53, isfinite_double_~#gh_u~3, isfinite_double_~x, isfinite_double_~hx~3; [L259-L267] isfinite_double_~x := isfinite_double_#in~x; [L260] havoc isfinite_double_~hx~3; VAL [#NULL!base=0, #NULL!offset=0, isfinite_double_#in~x=4.0, isfinite_double_~x=4.0, isinf_double_#in~x=2.0, isinf_double_#res=-1, isinf_double_~hx~2=2146435072, isinf_double_~lx~1=2331, isinf_double_~x=2.0, main_#t~ret57=-1, main_#t~short59=true, main_~x~0=2.0, main_~y~0=4.0, ~#aT_atan~0!base=3, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=5, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=6, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [L262] FCALL call isfinite_double_~#gh_u~3 := #Ultimate.alloc(8); [L263] FCALL call write~real(isfinite_double_~x, { base: isfinite_double_~#gh_u~3!base, offset: isfinite_double_~#gh_u~3!offset }, 8); [L264] FCALL call isfinite_double_#t~mem52 := read~int({ base: isfinite_double_~#gh_u~3!base, offset: 4 + isfinite_double_~#gh_u~3!offset }, 4); [L264] isfinite_double_~hx~3 := (if isfinite_double_#t~mem52 % 4294967296 % 4294967296 <= 2147483647 then isfinite_double_#t~mem52 % 4294967296 % 4294967296 else isfinite_double_#t~mem52 % 4294967296 % 4294967296 - 4294967296); [L264] FCALL call write~real(isfinite_double_#t~union53, { base: isfinite_double_~#gh_u~3!base, offset: isfinite_double_~#gh_u~3!offset }, 8); [L264] havoc isfinite_double_#t~mem52; [L264] havoc isfinite_double_#t~union53; [L262] FCALL call ULTIMATE.dealloc(isfinite_double_~#gh_u~3); [L262] havoc isfinite_double_~#gh_u~3; VAL [#NULL!base=0, #NULL!offset=0, isfinite_double_#in~x=4.0, isfinite_double_~hx~3=9263, isfinite_double_~x=4.0, isinf_double_#in~x=2.0, isinf_double_#res=-1, isinf_double_~hx~2=2146435072, isinf_double_~lx~1=2331, isinf_double_~x=2.0, main_#t~ret57=-1, main_#t~short59=true, main_~x~0=2.0, main_~y~0=4.0, ~#aT_atan~0!base=3, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=5, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=6, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [L266] isfinite_double_#res := (if (~bitwiseAnd(isfinite_double_~hx~3, 2147483647) - 2146435072) / 2147483648 % 4294967296 % 4294967296 <= 2147483647 then (~bitwiseAnd(isfinite_double_~hx~3, 2147483647) - 2146435072) / 2147483648 % 4294967296 % 4294967296 else (~bitwiseAnd(isfinite_double_~hx~3, 2147483647) - 2146435072) / 2147483648 % 4294967296 % 4294967296 - 4294967296); [L292] main_#t~ret58 := isfinite_double_#res; [L292] assume -2147483648 <= main_#t~ret58 && main_#t~ret58 <= 2147483647; [L292] main_#t~short59 := 0 != main_#t~ret58; VAL [#NULL!base=0, #NULL!offset=0, isfinite_double_#in~x=4.0, isfinite_double_#res=1, isfinite_double_~hx~3=9263, isfinite_double_~x=4.0, isinf_double_#in~x=2.0, isinf_double_#res=-1, isinf_double_~hx~2=2146435072, isinf_double_~lx~1=2331, isinf_double_~x=2.0, main_#t~ret57=-1, main_#t~ret58=1, main_#t~short59=true, main_~x~0=2.0, main_~y~0=4.0, ~#aT_atan~0!base=3, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=5, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=6, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [L292] COND TRUE main_#t~short59 && ~someBinaryDOUBLEComparisonOperation(main_~y~0, 0.0) [L292] havoc main_#t~short59; [L292] havoc main_#t~ret57; [L292] havoc main_#t~ret58; [L294] __ieee754_atan2_#in~y, __ieee754_atan2_#in~x := main_~y~0, main_~x~0; [L294] havoc __ieee754_atan2_#res; [L294] havoc __ieee754_atan2_#t~mem27, __ieee754_atan2_#t~union28, __ieee754_atan2_#t~mem29, __ieee754_atan2_#t~union30, __ieee754_atan2_~#ew_u~0, __ieee754_atan2_#t~mem31, __ieee754_atan2_#t~union32, __ieee754_atan2_#t~mem33, __ieee754_atan2_#t~union34, __ieee754_atan2_~#ew_u~1, __ieee754_atan2_#t~ret35, __ieee754_atan2_#t~switch36, __ieee754_atan2_#t~ite37, __ieee754_atan2_#t~switch38, __ieee754_atan2_#t~switch39, __ieee754_atan2_#t~ite40, __ieee754_atan2_#t~ret41, __ieee754_atan2_#t~ret42, __ieee754_atan2_#t~switch43, __ieee754_atan2_#t~mem44, __ieee754_atan2_#t~union45, __ieee754_atan2_~#gh_u~2, __ieee754_atan2_#t~mem46, __ieee754_atan2_#t~union47, __ieee754_atan2_~#sh_u~1, __ieee754_atan2_~zh~0, __ieee754_atan2_~y, __ieee754_atan2_~x, __ieee754_atan2_~z~1, __ieee754_atan2_~k~0, __ieee754_atan2_~m~0, __ieee754_atan2_~hx~1, __ieee754_atan2_~hy~0, __ieee754_atan2_~ix~1, __ieee754_atan2_~iy~0, __ieee754_atan2_~lx~0, __ieee754_atan2_~ly~0; [L142-L242] __ieee754_atan2_~y := __ieee754_atan2_#in~y; [L142-L242] __ieee754_atan2_~x := __ieee754_atan2_#in~x; [L143] havoc __ieee754_atan2_~z~1; [L144] havoc __ieee754_atan2_~k~0; [L144] havoc __ieee754_atan2_~m~0; [L144] havoc __ieee754_atan2_~hx~1; [L144] havoc __ieee754_atan2_~hy~0; [L144] havoc __ieee754_atan2_~ix~1; [L144] havoc __ieee754_atan2_~iy~0; [L145] havoc __ieee754_atan2_~lx~0; [L145] havoc __ieee754_atan2_~ly~0; VAL [#NULL!base=0, #NULL!offset=0, __ieee754_atan2_#in~x=2.0, __ieee754_atan2_#in~y=4.0, __ieee754_atan2_~x=2.0, __ieee754_atan2_~y=4.0, isfinite_double_#in~x=4.0, isfinite_double_#res=1, isfinite_double_~hx~3=9263, isfinite_double_~x=4.0, isinf_double_#in~x=2.0, isinf_double_#res=-1, isinf_double_~hx~2=2146435072, isinf_double_~lx~1=2331, isinf_double_~x=2.0, main_~x~0=2.0, main_~y~0=4.0, ~#aT_atan~0!base=3, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=5, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=6, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [L148] FCALL call __ieee754_atan2_~#ew_u~0 := #Ultimate.alloc(8); [L149] FCALL call write~real(__ieee754_atan2_~x, { base: __ieee754_atan2_~#ew_u~0!base, offset: __ieee754_atan2_~#ew_u~0!offset }, 8); [L150] FCALL call __ieee754_atan2_#t~mem27 := read~int({ base: __ieee754_atan2_~#ew_u~0!base, offset: 4 + __ieee754_atan2_~#ew_u~0!offset }, 4); [L150] __ieee754_atan2_~hx~1 := (if __ieee754_atan2_#t~mem27 % 4294967296 % 4294967296 <= 2147483647 then __ieee754_atan2_#t~mem27 % 4294967296 % 4294967296 else __ieee754_atan2_#t~mem27 % 4294967296 % 4294967296 - 4294967296); [L150] FCALL call write~real(__ieee754_atan2_#t~union28, { base: __ieee754_atan2_~#ew_u~0!base, offset: __ieee754_atan2_~#ew_u~0!offset }, 8); [L150] havoc __ieee754_atan2_#t~mem27; [L150] havoc __ieee754_atan2_#t~union28; [L151] FCALL call __ieee754_atan2_#t~mem29 := read~int({ base: __ieee754_atan2_~#ew_u~0!base, offset: __ieee754_atan2_~#ew_u~0!offset }, 4); [L151] __ieee754_atan2_~lx~0 := __ieee754_atan2_#t~mem29; [L151] FCALL call write~real(__ieee754_atan2_#t~union30, { base: __ieee754_atan2_~#ew_u~0!base, offset: __ieee754_atan2_~#ew_u~0!offset }, 8); [L151] havoc __ieee754_atan2_#t~mem29; [L151] havoc __ieee754_atan2_#t~union30; [L148] FCALL call ULTIMATE.dealloc(__ieee754_atan2_~#ew_u~0); [L148] havoc __ieee754_atan2_~#ew_u~0; VAL [#NULL!base=0, #NULL!offset=0, __ieee754_atan2_#in~x=2.0, __ieee754_atan2_#in~y=4.0, __ieee754_atan2_~hx~1=4135, __ieee754_atan2_~lx~0=15, __ieee754_atan2_~x=2.0, __ieee754_atan2_~y=4.0, isfinite_double_#in~x=4.0, isfinite_double_#res=1, isfinite_double_~hx~3=9263, isfinite_double_~x=4.0, isinf_double_#in~x=2.0, isinf_double_#res=-1, isinf_double_~hx~2=2146435072, isinf_double_~lx~1=2331, isinf_double_~x=2.0, main_~x~0=2.0, main_~y~0=4.0, ~#aT_atan~0!base=3, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=5, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=6, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [L153] __ieee754_atan2_~ix~1 := ~bitwiseAnd(__ieee754_atan2_~hx~1, 2147483647); VAL [#NULL!base=0, #NULL!offset=0, __ieee754_atan2_#in~x=2.0, __ieee754_atan2_#in~y=4.0, __ieee754_atan2_~hx~1=4135, __ieee754_atan2_~lx~0=15, __ieee754_atan2_~x=2.0, __ieee754_atan2_~y=4.0, isfinite_double_#in~x=4.0, isfinite_double_#res=1, isfinite_double_~hx~3=9263, isfinite_double_~x=4.0, isinf_double_#in~x=2.0, isinf_double_#res=-1, isinf_double_~hx~2=2146435072, isinf_double_~lx~1=2331, isinf_double_~x=2.0, main_~x~0=2.0, main_~y~0=4.0, ~#aT_atan~0!base=3, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=5, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=6, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [L155] FCALL call __ieee754_atan2_~#ew_u~1 := #Ultimate.alloc(8); [L156] FCALL call write~real(__ieee754_atan2_~y, { base: __ieee754_atan2_~#ew_u~1!base, offset: __ieee754_atan2_~#ew_u~1!offset }, 8); [L157] FCALL call __ieee754_atan2_#t~mem31 := read~int({ base: __ieee754_atan2_~#ew_u~1!base, offset: 4 + __ieee754_atan2_~#ew_u~1!offset }, 4); [L157] __ieee754_atan2_~hy~0 := (if __ieee754_atan2_#t~mem31 % 4294967296 % 4294967296 <= 2147483647 then __ieee754_atan2_#t~mem31 % 4294967296 % 4294967296 else __ieee754_atan2_#t~mem31 % 4294967296 % 4294967296 - 4294967296); [L157] FCALL call write~real(__ieee754_atan2_#t~union32, { base: __ieee754_atan2_~#ew_u~1!base, offset: __ieee754_atan2_~#ew_u~1!offset }, 8); [L157] havoc __ieee754_atan2_#t~union32; [L157] havoc __ieee754_atan2_#t~mem31; [L158] FCALL call __ieee754_atan2_#t~mem33 := read~int({ base: __ieee754_atan2_~#ew_u~1!base, offset: __ieee754_atan2_~#ew_u~1!offset }, 4); [L158] __ieee754_atan2_~ly~0 := __ieee754_atan2_#t~mem33; [L158] FCALL call write~real(__ieee754_atan2_#t~union34, { base: __ieee754_atan2_~#ew_u~1!base, offset: __ieee754_atan2_~#ew_u~1!offset }, 8); [L158] havoc __ieee754_atan2_#t~union34; [L158] havoc __ieee754_atan2_#t~mem33; [L155] FCALL call ULTIMATE.dealloc(__ieee754_atan2_~#ew_u~1); [L155] havoc __ieee754_atan2_~#ew_u~1; VAL [#NULL!base=0, #NULL!offset=0, __ieee754_atan2_#in~x=2.0, __ieee754_atan2_#in~y=4.0, __ieee754_atan2_~hx~1=4135, __ieee754_atan2_~hy~0=4135, __ieee754_atan2_~lx~0=15, __ieee754_atan2_~ly~0=20, __ieee754_atan2_~x=2.0, __ieee754_atan2_~y=4.0, isfinite_double_#in~x=4.0, isfinite_double_#res=1, isfinite_double_~hx~3=9263, isfinite_double_~x=4.0, isinf_double_#in~x=2.0, isinf_double_#res=-1, isinf_double_~hx~2=2146435072, isinf_double_~lx~1=2331, isinf_double_~x=2.0, main_~x~0=2.0, main_~y~0=4.0, ~#aT_atan~0!base=3, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=5, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=6, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [L160] __ieee754_atan2_~iy~0 := ~bitwiseAnd(__ieee754_atan2_~hy~0, 2147483647); VAL [#NULL!base=0, #NULL!offset=0, __ieee754_atan2_#in~x=2.0, __ieee754_atan2_#in~y=4.0, __ieee754_atan2_~hx~1=4135, __ieee754_atan2_~hy~0=4135, __ieee754_atan2_~lx~0=15, __ieee754_atan2_~ly~0=20, __ieee754_atan2_~x=2.0, __ieee754_atan2_~y=4.0, isfinite_double_#in~x=4.0, isfinite_double_#res=1, isfinite_double_~hx~3=9263, isfinite_double_~x=4.0, isinf_double_#in~x=2.0, isinf_double_#res=-1, isinf_double_~hx~2=2146435072, isinf_double_~lx~1=2331, isinf_double_~x=2.0, main_~x~0=2.0, main_~y~0=4.0, ~#aT_atan~0!base=3, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=5, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=6, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [L161-L162] COND TRUE ~bitwiseOr(__ieee754_atan2_~ix~1, ~bitwiseOr(__ieee754_atan2_~lx~0, -__ieee754_atan2_~lx~0) / 2147483648) % 4294967296 > 2146435072 || ~bitwiseOr(__ieee754_atan2_~iy~0, ~bitwiseOr(__ieee754_atan2_~ly~0, -__ieee754_atan2_~ly~0) / 2147483648) % 4294967296 > 2146435072 [L163] __ieee754_atan2_#res := ~someBinaryArithmeticDOUBLEoperation(__ieee754_atan2_~x, __ieee754_atan2_~y); VAL [#NULL!base=0, #NULL!offset=0, __ieee754_atan2_#in~x=2.0, __ieee754_atan2_#in~y=4.0, __ieee754_atan2_~hx~1=4135, __ieee754_atan2_~hy~0=4135, __ieee754_atan2_~lx~0=15, __ieee754_atan2_~ly~0=20, __ieee754_atan2_~x=2.0, __ieee754_atan2_~y=4.0, isfinite_double_#in~x=4.0, isfinite_double_#res=1, isfinite_double_~hx~3=9263, isfinite_double_~x=4.0, isinf_double_#in~x=2.0, isinf_double_#res=-1, isinf_double_~hx~2=2146435072, isinf_double_~lx~1=2331, isinf_double_~x=2.0, main_~x~0=2.0, main_~y~0=4.0, ~#aT_atan~0!base=3, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=5, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=6, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [L294] main_#t~ret60 := __ieee754_atan2_#res; [L294] main_~res~0 := main_#t~ret60; [L294] havoc main_#t~ret60; [L297] main_#t~short62 := ~someBinaryDOUBLEComparisonOperation(main_~res~0, 0.0); VAL [#NULL!base=0, #NULL!offset=0, __ieee754_atan2_#in~x=2.0, __ieee754_atan2_#in~y=4.0, __ieee754_atan2_#res=8.0, __ieee754_atan2_~hx~1=4135, __ieee754_atan2_~hy~0=4135, __ieee754_atan2_~lx~0=15, __ieee754_atan2_~ly~0=20, __ieee754_atan2_~x=2.0, __ieee754_atan2_~y=4.0, isfinite_double_#in~x=4.0, isfinite_double_#res=1, isfinite_double_~hx~3=9263, isfinite_double_~x=4.0, isinf_double_#in~x=2.0, isinf_double_#res=-1, isinf_double_~hx~2=2146435072, isinf_double_~lx~1=2331, isinf_double_~x=2.0, main_#t~short62=false, main_~res~0=8.0, main_~x~0=2.0, main_~y~0=4.0, ~#aT_atan~0!base=3, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=5, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=6, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [L297] COND FALSE !(main_#t~short62) VAL [#NULL!base=0, #NULL!offset=0, __ieee754_atan2_#in~x=2.0, __ieee754_atan2_#in~y=4.0, __ieee754_atan2_#res=8.0, __ieee754_atan2_~hx~1=4135, __ieee754_atan2_~hy~0=4135, __ieee754_atan2_~lx~0=15, __ieee754_atan2_~ly~0=20, __ieee754_atan2_~x=2.0, __ieee754_atan2_~y=4.0, isfinite_double_#in~x=4.0, isfinite_double_#res=1, isfinite_double_~hx~3=9263, isfinite_double_~x=4.0, isinf_double_#in~x=2.0, isinf_double_#res=-1, isinf_double_~hx~2=2146435072, isinf_double_~lx~1=2331, isinf_double_~x=2.0, main_#t~short62=false, main_~res~0=8.0, main_~x~0=2.0, main_~y~0=4.0, ~#aT_atan~0!base=3, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=5, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=6, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [L297] COND TRUE !main_#t~short62 [L297] havoc main_#t~ret61; [L297] havoc main_#t~short62; VAL [#NULL!base=0, #NULL!offset=0, __ieee754_atan2_#in~x=2.0, __ieee754_atan2_#in~y=4.0, __ieee754_atan2_#res=8.0, __ieee754_atan2_~hx~1=4135, __ieee754_atan2_~hy~0=4135, __ieee754_atan2_~lx~0=15, __ieee754_atan2_~ly~0=20, __ieee754_atan2_~x=2.0, __ieee754_atan2_~y=4.0, isfinite_double_#in~x=4.0, isfinite_double_#res=1, isfinite_double_~hx~3=9263, isfinite_double_~x=4.0, isinf_double_#in~x=2.0, isinf_double_#res=-1, isinf_double_~hx~2=2146435072, isinf_double_~lx~1=2331, isinf_double_~x=2.0, main_~res~0=8.0, main_~x~0=2.0, main_~y~0=4.0, ~#aT_atan~0!base=3, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=5, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=6, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [L298] assert false; VAL [#NULL!base=0, #NULL!offset=0, __ieee754_atan2_#in~x=2.0, __ieee754_atan2_#in~y=4.0, __ieee754_atan2_#res=8.0, __ieee754_atan2_~hx~1=4135, __ieee754_atan2_~hy~0=4135, __ieee754_atan2_~lx~0=15, __ieee754_atan2_~ly~0=20, __ieee754_atan2_~x=2.0, __ieee754_atan2_~y=4.0, isfinite_double_#in~x=4.0, isfinite_double_#res=1, isfinite_double_~hx~3=9263, isfinite_double_~x=4.0, isinf_double_#in~x=2.0, isinf_double_#res=-1, isinf_double_~hx~2=2146435072, isinf_double_~lx~1=2331, isinf_double_~x=2.0, main_~res~0=8.0, main_~x~0=2.0, main_~y~0=4.0, ~#aT_atan~0!base=3, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=5, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=6, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] ----- ----- class de.uni_freiburg.informatik.ultimate.boogie.procedureinliner.backtranslation.InlinerBacktranslator [?] #NULL := { base: 0, offset: 0 }; [?] #valid[0] := 0; [L37-L42] FCALL call ~#atanhi_atan~0 := #Ultimate.alloc(32); [L37-L42] FCALL call write~init~real(0.4636476090008061, { base: ~#atanhi_atan~0!base, offset: ~#atanhi_atan~0!offset }, 8); [L37-L42] FCALL call write~init~real(0.7853981633974483, { base: ~#atanhi_atan~0!base, offset: 8 + ~#atanhi_atan~0!offset }, 8); [L37-L42] FCALL call write~init~real(0.982793723247329, { base: ~#atanhi_atan~0!base, offset: 16 + ~#atanhi_atan~0!offset }, 8); [L37-L42] FCALL call write~init~real(1.5707963267948966, { base: ~#atanhi_atan~0!base, offset: 24 + ~#atanhi_atan~0!offset }, 8); [L44-L49] FCALL call ~#atanlo_atan~0 := #Ultimate.alloc(32); [L44-L49] FCALL call write~init~real(2.2698777452961687E-17, { base: ~#atanlo_atan~0!base, offset: ~#atanlo_atan~0!offset }, 8); [L44-L49] FCALL call write~init~real(3.061616997868383E-17, { base: ~#atanlo_atan~0!base, offset: 8 + ~#atanlo_atan~0!offset }, 8); [L44-L49] FCALL call write~init~real(1.3903311031230998E-17, { base: ~#atanlo_atan~0!base, offset: 16 + ~#atanlo_atan~0!offset }, 8); [L44-L49] FCALL call write~init~real(6.123233995736766E-17, { base: ~#atanlo_atan~0!base, offset: 24 + ~#atanlo_atan~0!offset }, 8); [L51-L58] FCALL call ~#aT_atan~0 := #Ultimate.alloc(88); [L51-L58] FCALL call write~init~real(0.3333333333333293, { base: ~#aT_atan~0!base, offset: ~#aT_atan~0!offset }, 8); [L51-L58] FCALL call write~init~real(~someUnaryDOUBLEoperation(0.19999999999876483), { base: ~#aT_atan~0!base, offset: 8 + ~#aT_atan~0!offset }, 8); [L51-L58] FCALL call write~init~real(0.14285714272503466, { base: ~#aT_atan~0!base, offset: 16 + ~#aT_atan~0!offset }, 8); [L51-L58] FCALL call write~init~real(~someUnaryDOUBLEoperation(0.11111110405462356), { base: ~#aT_atan~0!base, offset: 24 + ~#aT_atan~0!offset }, 8); [L51-L58] FCALL call write~init~real(0.09090887133436507, { base: ~#aT_atan~0!base, offset: 32 + ~#aT_atan~0!offset }, 8); [L51-L58] FCALL call write~init~real(~someUnaryDOUBLEoperation(0.0769187620504483), { base: ~#aT_atan~0!base, offset: 40 + ~#aT_atan~0!offset }, 8); [L51-L58] FCALL call write~init~real(0.06661073137387531, { base: ~#aT_atan~0!base, offset: 48 + ~#aT_atan~0!offset }, 8); [L51-L58] FCALL call write~init~real(~someUnaryDOUBLEoperation(0.058335701337905735), { base: ~#aT_atan~0!base, offset: 56 + ~#aT_atan~0!offset }, 8); [L51-L58] FCALL call write~init~real(0.049768779946159324, { base: ~#aT_atan~0!base, offset: 64 + ~#aT_atan~0!offset }, 8); [L51-L58] FCALL call write~init~real(~someUnaryDOUBLEoperation(0.036531572744216916), { base: ~#aT_atan~0!base, offset: 72 + ~#aT_atan~0!offset }, 8); [L51-L58] FCALL call write~init~real(0.016285820115365782, { base: ~#aT_atan~0!base, offset: 80 + ~#aT_atan~0!offset }, 8); [L60-L62] ~one_atan~0 := 1.0; [L60-L62] ~pi_o_4~0 := 0.7853981633974483; [L60-L62] ~pi_o_2~0 := 1.5707963267948966; [L60-L62] ~pi~0 := 3.141592653589793; [L60-L62] ~huge_atan~0 := 1.0E300; [L139-L140] ~tiny_atan2~0 := 1.0E-300; [L139-L140] ~zero_atan2~0 := 0.0; [L139-L140] ~pi_lo_atan2~0 := 1.2246467991473532E-16; [?] havoc main_#res; [?] havoc main_#t~nondet56, main_#t~ret57, main_#t~ret58, main_#t~short59, main_#t~ret60, main_#t~ret61, main_#t~short62, main_~res~0, main_~x~0, main_~y~0; [L289] main_~x~0 := ~someBinaryArithmeticDOUBLEoperation(1.0, 0.0); [L290] main_~y~0 := main_#t~nondet56; [L290] havoc main_#t~nondet56; [L292] isinf_double_#in~x := main_~x~0; [L292] havoc isinf_double_#res; [L292] havoc isinf_double_#t~mem48, isinf_double_#t~union49, isinf_double_#t~mem50, isinf_double_#t~union51, isinf_double_~#ew_u~2, isinf_double_~x, isinf_double_~hx~2, isinf_double_~lx~1; [L245-L257] isinf_double_~x := isinf_double_#in~x; [L246] havoc isinf_double_~hx~2; [L246] havoc isinf_double_~lx~1; VAL [#NULL!base=0, #NULL!offset=0, isinf_double_#in~x=2.0, isinf_double_~x=2.0, main_~x~0=2.0, ~#aT_atan~0!base=3, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=5, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=6, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [L248] FCALL call isinf_double_~#ew_u~2 := #Ultimate.alloc(8); [L249] FCALL call write~real(isinf_double_~x, { base: isinf_double_~#ew_u~2!base, offset: isinf_double_~#ew_u~2!offset }, 8); [L250] FCALL call isinf_double_#t~mem48 := read~int({ base: isinf_double_~#ew_u~2!base, offset: 4 + isinf_double_~#ew_u~2!offset }, 4); [L250] isinf_double_~hx~2 := (if isinf_double_#t~mem48 % 4294967296 % 4294967296 <= 2147483647 then isinf_double_#t~mem48 % 4294967296 % 4294967296 else isinf_double_#t~mem48 % 4294967296 % 4294967296 - 4294967296); [L250] FCALL call write~real(isinf_double_#t~union49, { base: isinf_double_~#ew_u~2!base, offset: isinf_double_~#ew_u~2!offset }, 8); [L250] havoc isinf_double_#t~mem48; [L250] havoc isinf_double_#t~union49; [L251] FCALL call isinf_double_#t~mem50 := read~int({ base: isinf_double_~#ew_u~2!base, offset: isinf_double_~#ew_u~2!offset }, 4); [L251] isinf_double_~lx~1 := (if isinf_double_#t~mem50 % 4294967296 % 4294967296 <= 2147483647 then isinf_double_#t~mem50 % 4294967296 % 4294967296 else isinf_double_#t~mem50 % 4294967296 % 4294967296 - 4294967296); [L251] FCALL call write~real(isinf_double_#t~union51, { base: isinf_double_~#ew_u~2!base, offset: isinf_double_~#ew_u~2!offset }, 8); [L251] havoc isinf_double_#t~union51; [L251] havoc isinf_double_#t~mem50; [L248] FCALL call ULTIMATE.dealloc(isinf_double_~#ew_u~2); [L248] havoc isinf_double_~#ew_u~2; VAL [#NULL!base=0, #NULL!offset=0, isinf_double_#in~x=2.0, isinf_double_~hx~2=0, isinf_double_~lx~1=2331, isinf_double_~x=2.0, main_~x~0=2.0, ~#aT_atan~0!base=3, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=5, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=6, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [L253] isinf_double_~hx~2 := ~bitwiseAnd(isinf_double_~hx~2, 2147483647); [L254] isinf_double_~hx~2 := (if ~bitwiseOr(isinf_double_~hx~2, ~bitwiseOr(isinf_double_~lx~1, -isinf_double_~lx~1) / 2147483648) % 4294967296 % 4294967296 <= 2147483647 then ~bitwiseOr(isinf_double_~hx~2, ~bitwiseOr(isinf_double_~lx~1, -isinf_double_~lx~1) / 2147483648) % 4294967296 % 4294967296 else ~bitwiseOr(isinf_double_~hx~2, ~bitwiseOr(isinf_double_~lx~1, -isinf_double_~lx~1) / 2147483648) % 4294967296 % 4294967296 - 4294967296); [L255] isinf_double_~hx~2 := 2146435072 - isinf_double_~hx~2; [L256] isinf_double_#res := 1 - (if ~bitwiseOr(isinf_double_~hx~2, -isinf_double_~hx~2) / 2147483648 % 4294967296 % 4294967296 <= 2147483647 then ~bitwiseOr(isinf_double_~hx~2, -isinf_double_~hx~2) / 2147483648 % 4294967296 % 4294967296 else ~bitwiseOr(isinf_double_~hx~2, -isinf_double_~hx~2) / 2147483648 % 4294967296 % 4294967296 - 4294967296); [L292] main_#t~ret57 := isinf_double_#res; [L292] assume -2147483648 <= main_#t~ret57 && main_#t~ret57 <= 2147483647; [L292] main_#t~short59 := 0 != main_#t~ret57; VAL [#NULL!base=0, #NULL!offset=0, isinf_double_#in~x=2.0, isinf_double_#res=-1, isinf_double_~hx~2=2146435072, isinf_double_~lx~1=2331, isinf_double_~x=2.0, main_#t~ret57=-1, main_#t~short59=true, main_~x~0=2.0, ~#aT_atan~0!base=3, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=5, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=6, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [L292] COND TRUE main_#t~short59 [L292] isfinite_double_#in~x := main_~y~0; [L292] havoc isfinite_double_#res; [L292] havoc isfinite_double_#t~mem52, isfinite_double_#t~union53, isfinite_double_~#gh_u~3, isfinite_double_~x, isfinite_double_~hx~3; [L259-L267] isfinite_double_~x := isfinite_double_#in~x; [L260] havoc isfinite_double_~hx~3; VAL [#NULL!base=0, #NULL!offset=0, isfinite_double_#in~x=4.0, isfinite_double_~x=4.0, isinf_double_#in~x=2.0, isinf_double_#res=-1, isinf_double_~hx~2=2146435072, isinf_double_~lx~1=2331, isinf_double_~x=2.0, main_#t~ret57=-1, main_#t~short59=true, main_~x~0=2.0, main_~y~0=4.0, ~#aT_atan~0!base=3, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=5, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=6, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [L262] FCALL call isfinite_double_~#gh_u~3 := #Ultimate.alloc(8); [L263] FCALL call write~real(isfinite_double_~x, { base: isfinite_double_~#gh_u~3!base, offset: isfinite_double_~#gh_u~3!offset }, 8); [L264] FCALL call isfinite_double_#t~mem52 := read~int({ base: isfinite_double_~#gh_u~3!base, offset: 4 + isfinite_double_~#gh_u~3!offset }, 4); [L264] isfinite_double_~hx~3 := (if isfinite_double_#t~mem52 % 4294967296 % 4294967296 <= 2147483647 then isfinite_double_#t~mem52 % 4294967296 % 4294967296 else isfinite_double_#t~mem52 % 4294967296 % 4294967296 - 4294967296); [L264] FCALL call write~real(isfinite_double_#t~union53, { base: isfinite_double_~#gh_u~3!base, offset: isfinite_double_~#gh_u~3!offset }, 8); [L264] havoc isfinite_double_#t~mem52; [L264] havoc isfinite_double_#t~union53; [L262] FCALL call ULTIMATE.dealloc(isfinite_double_~#gh_u~3); [L262] havoc isfinite_double_~#gh_u~3; VAL [#NULL!base=0, #NULL!offset=0, isfinite_double_#in~x=4.0, isfinite_double_~hx~3=9263, isfinite_double_~x=4.0, isinf_double_#in~x=2.0, isinf_double_#res=-1, isinf_double_~hx~2=2146435072, isinf_double_~lx~1=2331, isinf_double_~x=2.0, main_#t~ret57=-1, main_#t~short59=true, main_~x~0=2.0, main_~y~0=4.0, ~#aT_atan~0!base=3, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=5, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=6, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [L266] isfinite_double_#res := (if (~bitwiseAnd(isfinite_double_~hx~3, 2147483647) - 2146435072) / 2147483648 % 4294967296 % 4294967296 <= 2147483647 then (~bitwiseAnd(isfinite_double_~hx~3, 2147483647) - 2146435072) / 2147483648 % 4294967296 % 4294967296 else (~bitwiseAnd(isfinite_double_~hx~3, 2147483647) - 2146435072) / 2147483648 % 4294967296 % 4294967296 - 4294967296); [L292] main_#t~ret58 := isfinite_double_#res; [L292] assume -2147483648 <= main_#t~ret58 && main_#t~ret58 <= 2147483647; [L292] main_#t~short59 := 0 != main_#t~ret58; VAL [#NULL!base=0, #NULL!offset=0, isfinite_double_#in~x=4.0, isfinite_double_#res=1, isfinite_double_~hx~3=9263, isfinite_double_~x=4.0, isinf_double_#in~x=2.0, isinf_double_#res=-1, isinf_double_~hx~2=2146435072, isinf_double_~lx~1=2331, isinf_double_~x=2.0, main_#t~ret57=-1, main_#t~ret58=1, main_#t~short59=true, main_~x~0=2.0, main_~y~0=4.0, ~#aT_atan~0!base=3, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=5, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=6, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [L292] COND TRUE main_#t~short59 && ~someBinaryDOUBLEComparisonOperation(main_~y~0, 0.0) [L292] havoc main_#t~short59; [L292] havoc main_#t~ret57; [L292] havoc main_#t~ret58; [L294] __ieee754_atan2_#in~y, __ieee754_atan2_#in~x := main_~y~0, main_~x~0; [L294] havoc __ieee754_atan2_#res; [L294] havoc __ieee754_atan2_#t~mem27, __ieee754_atan2_#t~union28, __ieee754_atan2_#t~mem29, __ieee754_atan2_#t~union30, __ieee754_atan2_~#ew_u~0, __ieee754_atan2_#t~mem31, __ieee754_atan2_#t~union32, __ieee754_atan2_#t~mem33, __ieee754_atan2_#t~union34, __ieee754_atan2_~#ew_u~1, __ieee754_atan2_#t~ret35, __ieee754_atan2_#t~switch36, __ieee754_atan2_#t~ite37, __ieee754_atan2_#t~switch38, __ieee754_atan2_#t~switch39, __ieee754_atan2_#t~ite40, __ieee754_atan2_#t~ret41, __ieee754_atan2_#t~ret42, __ieee754_atan2_#t~switch43, __ieee754_atan2_#t~mem44, __ieee754_atan2_#t~union45, __ieee754_atan2_~#gh_u~2, __ieee754_atan2_#t~mem46, __ieee754_atan2_#t~union47, __ieee754_atan2_~#sh_u~1, __ieee754_atan2_~zh~0, __ieee754_atan2_~y, __ieee754_atan2_~x, __ieee754_atan2_~z~1, __ieee754_atan2_~k~0, __ieee754_atan2_~m~0, __ieee754_atan2_~hx~1, __ieee754_atan2_~hy~0, __ieee754_atan2_~ix~1, __ieee754_atan2_~iy~0, __ieee754_atan2_~lx~0, __ieee754_atan2_~ly~0; [L142-L242] __ieee754_atan2_~y := __ieee754_atan2_#in~y; [L142-L242] __ieee754_atan2_~x := __ieee754_atan2_#in~x; [L143] havoc __ieee754_atan2_~z~1; [L144] havoc __ieee754_atan2_~k~0; [L144] havoc __ieee754_atan2_~m~0; [L144] havoc __ieee754_atan2_~hx~1; [L144] havoc __ieee754_atan2_~hy~0; [L144] havoc __ieee754_atan2_~ix~1; [L144] havoc __ieee754_atan2_~iy~0; [L145] havoc __ieee754_atan2_~lx~0; [L145] havoc __ieee754_atan2_~ly~0; VAL [#NULL!base=0, #NULL!offset=0, __ieee754_atan2_#in~x=2.0, __ieee754_atan2_#in~y=4.0, __ieee754_atan2_~x=2.0, __ieee754_atan2_~y=4.0, isfinite_double_#in~x=4.0, isfinite_double_#res=1, isfinite_double_~hx~3=9263, isfinite_double_~x=4.0, isinf_double_#in~x=2.0, isinf_double_#res=-1, isinf_double_~hx~2=2146435072, isinf_double_~lx~1=2331, isinf_double_~x=2.0, main_~x~0=2.0, main_~y~0=4.0, ~#aT_atan~0!base=3, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=5, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=6, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [L148] FCALL call __ieee754_atan2_~#ew_u~0 := #Ultimate.alloc(8); [L149] FCALL call write~real(__ieee754_atan2_~x, { base: __ieee754_atan2_~#ew_u~0!base, offset: __ieee754_atan2_~#ew_u~0!offset }, 8); [L150] FCALL call __ieee754_atan2_#t~mem27 := read~int({ base: __ieee754_atan2_~#ew_u~0!base, offset: 4 + __ieee754_atan2_~#ew_u~0!offset }, 4); [L150] __ieee754_atan2_~hx~1 := (if __ieee754_atan2_#t~mem27 % 4294967296 % 4294967296 <= 2147483647 then __ieee754_atan2_#t~mem27 % 4294967296 % 4294967296 else __ieee754_atan2_#t~mem27 % 4294967296 % 4294967296 - 4294967296); [L150] FCALL call write~real(__ieee754_atan2_#t~union28, { base: __ieee754_atan2_~#ew_u~0!base, offset: __ieee754_atan2_~#ew_u~0!offset }, 8); [L150] havoc __ieee754_atan2_#t~mem27; [L150] havoc __ieee754_atan2_#t~union28; [L151] FCALL call __ieee754_atan2_#t~mem29 := read~int({ base: __ieee754_atan2_~#ew_u~0!base, offset: __ieee754_atan2_~#ew_u~0!offset }, 4); [L151] __ieee754_atan2_~lx~0 := __ieee754_atan2_#t~mem29; [L151] FCALL call write~real(__ieee754_atan2_#t~union30, { base: __ieee754_atan2_~#ew_u~0!base, offset: __ieee754_atan2_~#ew_u~0!offset }, 8); [L151] havoc __ieee754_atan2_#t~mem29; [L151] havoc __ieee754_atan2_#t~union30; [L148] FCALL call ULTIMATE.dealloc(__ieee754_atan2_~#ew_u~0); [L148] havoc __ieee754_atan2_~#ew_u~0; VAL [#NULL!base=0, #NULL!offset=0, __ieee754_atan2_#in~x=2.0, __ieee754_atan2_#in~y=4.0, __ieee754_atan2_~hx~1=4135, __ieee754_atan2_~lx~0=15, __ieee754_atan2_~x=2.0, __ieee754_atan2_~y=4.0, isfinite_double_#in~x=4.0, isfinite_double_#res=1, isfinite_double_~hx~3=9263, isfinite_double_~x=4.0, isinf_double_#in~x=2.0, isinf_double_#res=-1, isinf_double_~hx~2=2146435072, isinf_double_~lx~1=2331, isinf_double_~x=2.0, main_~x~0=2.0, main_~y~0=4.0, ~#aT_atan~0!base=3, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=5, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=6, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [L153] __ieee754_atan2_~ix~1 := ~bitwiseAnd(__ieee754_atan2_~hx~1, 2147483647); VAL [#NULL!base=0, #NULL!offset=0, __ieee754_atan2_#in~x=2.0, __ieee754_atan2_#in~y=4.0, __ieee754_atan2_~hx~1=4135, __ieee754_atan2_~lx~0=15, __ieee754_atan2_~x=2.0, __ieee754_atan2_~y=4.0, isfinite_double_#in~x=4.0, isfinite_double_#res=1, isfinite_double_~hx~3=9263, isfinite_double_~x=4.0, isinf_double_#in~x=2.0, isinf_double_#res=-1, isinf_double_~hx~2=2146435072, isinf_double_~lx~1=2331, isinf_double_~x=2.0, main_~x~0=2.0, main_~y~0=4.0, ~#aT_atan~0!base=3, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=5, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=6, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [L155] FCALL call __ieee754_atan2_~#ew_u~1 := #Ultimate.alloc(8); [L156] FCALL call write~real(__ieee754_atan2_~y, { base: __ieee754_atan2_~#ew_u~1!base, offset: __ieee754_atan2_~#ew_u~1!offset }, 8); [L157] FCALL call __ieee754_atan2_#t~mem31 := read~int({ base: __ieee754_atan2_~#ew_u~1!base, offset: 4 + __ieee754_atan2_~#ew_u~1!offset }, 4); [L157] __ieee754_atan2_~hy~0 := (if __ieee754_atan2_#t~mem31 % 4294967296 % 4294967296 <= 2147483647 then __ieee754_atan2_#t~mem31 % 4294967296 % 4294967296 else __ieee754_atan2_#t~mem31 % 4294967296 % 4294967296 - 4294967296); [L157] FCALL call write~real(__ieee754_atan2_#t~union32, { base: __ieee754_atan2_~#ew_u~1!base, offset: __ieee754_atan2_~#ew_u~1!offset }, 8); [L157] havoc __ieee754_atan2_#t~union32; [L157] havoc __ieee754_atan2_#t~mem31; [L158] FCALL call __ieee754_atan2_#t~mem33 := read~int({ base: __ieee754_atan2_~#ew_u~1!base, offset: __ieee754_atan2_~#ew_u~1!offset }, 4); [L158] __ieee754_atan2_~ly~0 := __ieee754_atan2_#t~mem33; [L158] FCALL call write~real(__ieee754_atan2_#t~union34, { base: __ieee754_atan2_~#ew_u~1!base, offset: __ieee754_atan2_~#ew_u~1!offset }, 8); [L158] havoc __ieee754_atan2_#t~union34; [L158] havoc __ieee754_atan2_#t~mem33; [L155] FCALL call ULTIMATE.dealloc(__ieee754_atan2_~#ew_u~1); [L155] havoc __ieee754_atan2_~#ew_u~1; VAL [#NULL!base=0, #NULL!offset=0, __ieee754_atan2_#in~x=2.0, __ieee754_atan2_#in~y=4.0, __ieee754_atan2_~hx~1=4135, __ieee754_atan2_~hy~0=4135, __ieee754_atan2_~lx~0=15, __ieee754_atan2_~ly~0=20, __ieee754_atan2_~x=2.0, __ieee754_atan2_~y=4.0, isfinite_double_#in~x=4.0, isfinite_double_#res=1, isfinite_double_~hx~3=9263, isfinite_double_~x=4.0, isinf_double_#in~x=2.0, isinf_double_#res=-1, isinf_double_~hx~2=2146435072, isinf_double_~lx~1=2331, isinf_double_~x=2.0, main_~x~0=2.0, main_~y~0=4.0, ~#aT_atan~0!base=3, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=5, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=6, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [L160] __ieee754_atan2_~iy~0 := ~bitwiseAnd(__ieee754_atan2_~hy~0, 2147483647); VAL [#NULL!base=0, #NULL!offset=0, __ieee754_atan2_#in~x=2.0, __ieee754_atan2_#in~y=4.0, __ieee754_atan2_~hx~1=4135, __ieee754_atan2_~hy~0=4135, __ieee754_atan2_~lx~0=15, __ieee754_atan2_~ly~0=20, __ieee754_atan2_~x=2.0, __ieee754_atan2_~y=4.0, isfinite_double_#in~x=4.0, isfinite_double_#res=1, isfinite_double_~hx~3=9263, isfinite_double_~x=4.0, isinf_double_#in~x=2.0, isinf_double_#res=-1, isinf_double_~hx~2=2146435072, isinf_double_~lx~1=2331, isinf_double_~x=2.0, main_~x~0=2.0, main_~y~0=4.0, ~#aT_atan~0!base=3, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=5, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=6, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [L161-L162] COND TRUE ~bitwiseOr(__ieee754_atan2_~ix~1, ~bitwiseOr(__ieee754_atan2_~lx~0, -__ieee754_atan2_~lx~0) / 2147483648) % 4294967296 > 2146435072 || ~bitwiseOr(__ieee754_atan2_~iy~0, ~bitwiseOr(__ieee754_atan2_~ly~0, -__ieee754_atan2_~ly~0) / 2147483648) % 4294967296 > 2146435072 [L163] __ieee754_atan2_#res := ~someBinaryArithmeticDOUBLEoperation(__ieee754_atan2_~x, __ieee754_atan2_~y); VAL [#NULL!base=0, #NULL!offset=0, __ieee754_atan2_#in~x=2.0, __ieee754_atan2_#in~y=4.0, __ieee754_atan2_~hx~1=4135, __ieee754_atan2_~hy~0=4135, __ieee754_atan2_~lx~0=15, __ieee754_atan2_~ly~0=20, __ieee754_atan2_~x=2.0, __ieee754_atan2_~y=4.0, isfinite_double_#in~x=4.0, isfinite_double_#res=1, isfinite_double_~hx~3=9263, isfinite_double_~x=4.0, isinf_double_#in~x=2.0, isinf_double_#res=-1, isinf_double_~hx~2=2146435072, isinf_double_~lx~1=2331, isinf_double_~x=2.0, main_~x~0=2.0, main_~y~0=4.0, ~#aT_atan~0!base=3, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=5, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=6, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [L294] main_#t~ret60 := __ieee754_atan2_#res; [L294] main_~res~0 := main_#t~ret60; [L294] havoc main_#t~ret60; [L297] main_#t~short62 := ~someBinaryDOUBLEComparisonOperation(main_~res~0, 0.0); VAL [#NULL!base=0, #NULL!offset=0, __ieee754_atan2_#in~x=2.0, __ieee754_atan2_#in~y=4.0, __ieee754_atan2_#res=8.0, __ieee754_atan2_~hx~1=4135, __ieee754_atan2_~hy~0=4135, __ieee754_atan2_~lx~0=15, __ieee754_atan2_~ly~0=20, __ieee754_atan2_~x=2.0, __ieee754_atan2_~y=4.0, isfinite_double_#in~x=4.0, isfinite_double_#res=1, isfinite_double_~hx~3=9263, isfinite_double_~x=4.0, isinf_double_#in~x=2.0, isinf_double_#res=-1, isinf_double_~hx~2=2146435072, isinf_double_~lx~1=2331, isinf_double_~x=2.0, main_#t~short62=false, main_~res~0=8.0, main_~x~0=2.0, main_~y~0=4.0, ~#aT_atan~0!base=3, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=5, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=6, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [L297] COND FALSE !(main_#t~short62) VAL [#NULL!base=0, #NULL!offset=0, __ieee754_atan2_#in~x=2.0, __ieee754_atan2_#in~y=4.0, __ieee754_atan2_#res=8.0, __ieee754_atan2_~hx~1=4135, __ieee754_atan2_~hy~0=4135, __ieee754_atan2_~lx~0=15, __ieee754_atan2_~ly~0=20, __ieee754_atan2_~x=2.0, __ieee754_atan2_~y=4.0, isfinite_double_#in~x=4.0, isfinite_double_#res=1, isfinite_double_~hx~3=9263, isfinite_double_~x=4.0, isinf_double_#in~x=2.0, isinf_double_#res=-1, isinf_double_~hx~2=2146435072, isinf_double_~lx~1=2331, isinf_double_~x=2.0, main_#t~short62=false, main_~res~0=8.0, main_~x~0=2.0, main_~y~0=4.0, ~#aT_atan~0!base=3, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=5, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=6, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [L297] COND TRUE !main_#t~short62 [L297] havoc main_#t~ret61; [L297] havoc main_#t~short62; VAL [#NULL!base=0, #NULL!offset=0, __ieee754_atan2_#in~x=2.0, __ieee754_atan2_#in~y=4.0, __ieee754_atan2_#res=8.0, __ieee754_atan2_~hx~1=4135, __ieee754_atan2_~hy~0=4135, __ieee754_atan2_~lx~0=15, __ieee754_atan2_~ly~0=20, __ieee754_atan2_~x=2.0, __ieee754_atan2_~y=4.0, isfinite_double_#in~x=4.0, isfinite_double_#res=1, isfinite_double_~hx~3=9263, isfinite_double_~x=4.0, isinf_double_#in~x=2.0, isinf_double_#res=-1, isinf_double_~hx~2=2146435072, isinf_double_~lx~1=2331, isinf_double_~x=2.0, main_~res~0=8.0, main_~x~0=2.0, main_~y~0=4.0, ~#aT_atan~0!base=3, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=5, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=6, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [L298] assert false; VAL [#NULL!base=0, #NULL!offset=0, __ieee754_atan2_#in~x=2.0, __ieee754_atan2_#in~y=4.0, __ieee754_atan2_#res=8.0, __ieee754_atan2_~hx~1=4135, __ieee754_atan2_~hy~0=4135, __ieee754_atan2_~lx~0=15, __ieee754_atan2_~ly~0=20, __ieee754_atan2_~x=2.0, __ieee754_atan2_~y=4.0, isfinite_double_#in~x=4.0, isfinite_double_#res=1, isfinite_double_~hx~3=9263, isfinite_double_~x=4.0, isinf_double_#in~x=2.0, isinf_double_#res=-1, isinf_double_~hx~2=2146435072, isinf_double_~lx~1=2331, isinf_double_~x=2.0, main_~res~0=8.0, main_~x~0=2.0, main_~y~0=4.0, ~#aT_atan~0!base=3, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=5, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=6, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [?] #NULL := { base: 0, offset: 0 }; [?] #valid[0] := 0; [L37-L42] FCALL call ~#atanhi_atan~0 := #Ultimate.alloc(32); [L37-L42] FCALL call write~init~real(0.4636476090008061, { base: ~#atanhi_atan~0!base, offset: ~#atanhi_atan~0!offset }, 8); [L37-L42] FCALL call write~init~real(0.7853981633974483, { base: ~#atanhi_atan~0!base, offset: 8 + ~#atanhi_atan~0!offset }, 8); [L37-L42] FCALL call write~init~real(0.982793723247329, { base: ~#atanhi_atan~0!base, offset: 16 + ~#atanhi_atan~0!offset }, 8); [L37-L42] FCALL call write~init~real(1.5707963267948966, { base: ~#atanhi_atan~0!base, offset: 24 + ~#atanhi_atan~0!offset }, 8); [L44-L49] FCALL call ~#atanlo_atan~0 := #Ultimate.alloc(32); [L44-L49] FCALL call write~init~real(2.2698777452961687E-17, { base: ~#atanlo_atan~0!base, offset: ~#atanlo_atan~0!offset }, 8); [L44-L49] FCALL call write~init~real(3.061616997868383E-17, { base: ~#atanlo_atan~0!base, offset: 8 + ~#atanlo_atan~0!offset }, 8); [L44-L49] FCALL call write~init~real(1.3903311031230998E-17, { base: ~#atanlo_atan~0!base, offset: 16 + ~#atanlo_atan~0!offset }, 8); [L44-L49] FCALL call write~init~real(6.123233995736766E-17, { base: ~#atanlo_atan~0!base, offset: 24 + ~#atanlo_atan~0!offset }, 8); [L51-L58] FCALL call ~#aT_atan~0 := #Ultimate.alloc(88); [L51-L58] FCALL call write~init~real(0.3333333333333293, { base: ~#aT_atan~0!base, offset: ~#aT_atan~0!offset }, 8); [L51-L58] FCALL call write~init~real(~someUnaryDOUBLEoperation(0.19999999999876483), { base: ~#aT_atan~0!base, offset: 8 + ~#aT_atan~0!offset }, 8); [L51-L58] FCALL call write~init~real(0.14285714272503466, { base: ~#aT_atan~0!base, offset: 16 + ~#aT_atan~0!offset }, 8); [L51-L58] FCALL call write~init~real(~someUnaryDOUBLEoperation(0.11111110405462356), { base: ~#aT_atan~0!base, offset: 24 + ~#aT_atan~0!offset }, 8); [L51-L58] FCALL call write~init~real(0.09090887133436507, { base: ~#aT_atan~0!base, offset: 32 + ~#aT_atan~0!offset }, 8); [L51-L58] FCALL call write~init~real(~someUnaryDOUBLEoperation(0.0769187620504483), { base: ~#aT_atan~0!base, offset: 40 + ~#aT_atan~0!offset }, 8); [L51-L58] FCALL call write~init~real(0.06661073137387531, { base: ~#aT_atan~0!base, offset: 48 + ~#aT_atan~0!offset }, 8); [L51-L58] FCALL call write~init~real(~someUnaryDOUBLEoperation(0.058335701337905735), { base: ~#aT_atan~0!base, offset: 56 + ~#aT_atan~0!offset }, 8); [L51-L58] FCALL call write~init~real(0.049768779946159324, { base: ~#aT_atan~0!base, offset: 64 + ~#aT_atan~0!offset }, 8); [L51-L58] FCALL call write~init~real(~someUnaryDOUBLEoperation(0.036531572744216916), { base: ~#aT_atan~0!base, offset: 72 + ~#aT_atan~0!offset }, 8); [L51-L58] FCALL call write~init~real(0.016285820115365782, { base: ~#aT_atan~0!base, offset: 80 + ~#aT_atan~0!offset }, 8); [L60-L62] ~one_atan~0 := 1.0; [L60-L62] ~pi_o_4~0 := 0.7853981633974483; [L60-L62] ~pi_o_2~0 := 1.5707963267948966; [L60-L62] ~pi~0 := 3.141592653589793; [L60-L62] ~huge_atan~0 := 1.0E300; [L139-L140] ~tiny_atan2~0 := 1.0E-300; [L139-L140] ~zero_atan2~0 := 0.0; [L139-L140] ~pi_lo_atan2~0 := 1.2246467991473532E-16; [L289] ~x~0 := ~someBinaryArithmeticDOUBLEoperation(1.0, 0.0); [L290] ~y~0 := #t~nondet56; [L290] havoc #t~nondet56; [L245-L257] ~x := #in~x; [L246] havoc ~hx~2; [L246] havoc ~lx~1; VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=3, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=5, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=6, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [L248] FCALL call ~#ew_u~2 := #Ultimate.alloc(8); [L249] FCALL call write~real(~x, { base: ~#ew_u~2!base, offset: ~#ew_u~2!offset }, 8); [L250] FCALL call #t~mem48 := read~int({ base: ~#ew_u~2!base, offset: 4 + ~#ew_u~2!offset }, 4); [L250] ~hx~2 := (if #t~mem48 % 4294967296 % 4294967296 <= 2147483647 then #t~mem48 % 4294967296 % 4294967296 else #t~mem48 % 4294967296 % 4294967296 - 4294967296); [L250] FCALL call write~real(#t~union49, { base: ~#ew_u~2!base, offset: ~#ew_u~2!offset }, 8); [L250] havoc #t~mem48; [L250] havoc #t~union49; [L251] FCALL call #t~mem50 := read~int({ base: ~#ew_u~2!base, offset: ~#ew_u~2!offset }, 4); [L251] ~lx~1 := (if #t~mem50 % 4294967296 % 4294967296 <= 2147483647 then #t~mem50 % 4294967296 % 4294967296 else #t~mem50 % 4294967296 % 4294967296 - 4294967296); [L251] FCALL call write~real(#t~union51, { base: ~#ew_u~2!base, offset: ~#ew_u~2!offset }, 8); [L251] havoc #t~union51; [L251] havoc #t~mem50; [L248] FCALL call ULTIMATE.dealloc(~#ew_u~2); [L248] havoc ~#ew_u~2; VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=3, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=5, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=6, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [L253] ~hx~2 := ~bitwiseAnd(~hx~2, 2147483647); [L254] ~hx~2 := (if ~bitwiseOr(~hx~2, ~bitwiseOr(~lx~1, -~lx~1) / 2147483648) % 4294967296 % 4294967296 <= 2147483647 then ~bitwiseOr(~hx~2, ~bitwiseOr(~lx~1, -~lx~1) / 2147483648) % 4294967296 % 4294967296 else ~bitwiseOr(~hx~2, ~bitwiseOr(~lx~1, -~lx~1) / 2147483648) % 4294967296 % 4294967296 - 4294967296); [L255] ~hx~2 := 2146435072 - ~hx~2; [L256] #res := 1 - (if ~bitwiseOr(~hx~2, -~hx~2) / 2147483648 % 4294967296 % 4294967296 <= 2147483647 then ~bitwiseOr(~hx~2, -~hx~2) / 2147483648 % 4294967296 % 4294967296 else ~bitwiseOr(~hx~2, -~hx~2) / 2147483648 % 4294967296 % 4294967296 - 4294967296); [L292] assume -2147483648 <= #t~ret57 && #t~ret57 <= 2147483647; [L292] #t~short59 := 0 != #t~ret57; VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=3, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=5, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=6, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [L292] COND TRUE #t~short59 [L259-L267] ~x := #in~x; [L260] havoc ~hx~3; VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=3, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=5, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=6, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [L262] FCALL call ~#gh_u~3 := #Ultimate.alloc(8); [L263] FCALL call write~real(~x, { base: ~#gh_u~3!base, offset: ~#gh_u~3!offset }, 8); [L264] FCALL call #t~mem52 := read~int({ base: ~#gh_u~3!base, offset: 4 + ~#gh_u~3!offset }, 4); [L264] ~hx~3 := (if #t~mem52 % 4294967296 % 4294967296 <= 2147483647 then #t~mem52 % 4294967296 % 4294967296 else #t~mem52 % 4294967296 % 4294967296 - 4294967296); [L264] FCALL call write~real(#t~union53, { base: ~#gh_u~3!base, offset: ~#gh_u~3!offset }, 8); [L264] havoc #t~mem52; [L264] havoc #t~union53; [L262] FCALL call ULTIMATE.dealloc(~#gh_u~3); [L262] havoc ~#gh_u~3; VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=3, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=5, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=6, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [L266] #res := (if (~bitwiseAnd(~hx~3, 2147483647) - 2146435072) / 2147483648 % 4294967296 % 4294967296 <= 2147483647 then (~bitwiseAnd(~hx~3, 2147483647) - 2146435072) / 2147483648 % 4294967296 % 4294967296 else (~bitwiseAnd(~hx~3, 2147483647) - 2146435072) / 2147483648 % 4294967296 % 4294967296 - 4294967296); [L292] assume -2147483648 <= #t~ret58 && #t~ret58 <= 2147483647; [L292] #t~short59 := 0 != #t~ret58; VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=3, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=5, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=6, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [L292] COND TRUE #t~short59 && ~someBinaryDOUBLEComparisonOperation(~y~0, 0.0) [L292] havoc #t~short59; [L292] havoc #t~ret57; [L292] havoc #t~ret58; [L142-L242] ~y := #in~y; [L142-L242] ~x := #in~x; [L143] havoc ~z~1; [L144] havoc ~k~0; [L144] havoc ~m~0; [L144] havoc ~hx~1; [L144] havoc ~hy~0; [L144] havoc ~ix~1; [L144] havoc ~iy~0; [L145] havoc ~lx~0; [L145] havoc ~ly~0; VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=3, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=5, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=6, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [L148] FCALL call ~#ew_u~0 := #Ultimate.alloc(8); [L149] FCALL call write~real(~x, { base: ~#ew_u~0!base, offset: ~#ew_u~0!offset }, 8); [L150] FCALL call #t~mem27 := read~int({ base: ~#ew_u~0!base, offset: 4 + ~#ew_u~0!offset }, 4); [L150] ~hx~1 := (if #t~mem27 % 4294967296 % 4294967296 <= 2147483647 then #t~mem27 % 4294967296 % 4294967296 else #t~mem27 % 4294967296 % 4294967296 - 4294967296); [L150] FCALL call write~real(#t~union28, { base: ~#ew_u~0!base, offset: ~#ew_u~0!offset }, 8); [L150] havoc #t~mem27; [L150] havoc #t~union28; [L151] FCALL call #t~mem29 := read~int({ base: ~#ew_u~0!base, offset: ~#ew_u~0!offset }, 4); [L151] ~lx~0 := #t~mem29; [L151] FCALL call write~real(#t~union30, { base: ~#ew_u~0!base, offset: ~#ew_u~0!offset }, 8); [L151] havoc #t~mem29; [L151] havoc #t~union30; [L148] FCALL call ULTIMATE.dealloc(~#ew_u~0); [L148] havoc ~#ew_u~0; VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=3, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=5, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=6, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [L153] ~ix~1 := ~bitwiseAnd(~hx~1, 2147483647); VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=3, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=5, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=6, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [L155] FCALL call ~#ew_u~1 := #Ultimate.alloc(8); [L156] FCALL call write~real(~y, { base: ~#ew_u~1!base, offset: ~#ew_u~1!offset }, 8); [L157] FCALL call #t~mem31 := read~int({ base: ~#ew_u~1!base, offset: 4 + ~#ew_u~1!offset }, 4); [L157] ~hy~0 := (if #t~mem31 % 4294967296 % 4294967296 <= 2147483647 then #t~mem31 % 4294967296 % 4294967296 else #t~mem31 % 4294967296 % 4294967296 - 4294967296); [L157] FCALL call write~real(#t~union32, { base: ~#ew_u~1!base, offset: ~#ew_u~1!offset }, 8); [L157] havoc #t~union32; [L157] havoc #t~mem31; [L158] FCALL call #t~mem33 := read~int({ base: ~#ew_u~1!base, offset: ~#ew_u~1!offset }, 4); [L158] ~ly~0 := #t~mem33; [L158] FCALL call write~real(#t~union34, { base: ~#ew_u~1!base, offset: ~#ew_u~1!offset }, 8); [L158] havoc #t~union34; [L158] havoc #t~mem33; [L155] FCALL call ULTIMATE.dealloc(~#ew_u~1); [L155] havoc ~#ew_u~1; VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=3, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=5, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=6, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [L160] ~iy~0 := ~bitwiseAnd(~hy~0, 2147483647); VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=3, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=5, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=6, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [L161-L162] COND TRUE ~bitwiseOr(~ix~1, ~bitwiseOr(~lx~0, -~lx~0) / 2147483648) % 4294967296 > 2146435072 || ~bitwiseOr(~iy~0, ~bitwiseOr(~ly~0, -~ly~0) / 2147483648) % 4294967296 > 2146435072 [L163] #res := ~someBinaryArithmeticDOUBLEoperation(~x, ~y); VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=3, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=5, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=6, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [L294] ~res~0 := #t~ret60; [L294] havoc #t~ret60; [L297] #t~short62 := ~someBinaryDOUBLEComparisonOperation(~res~0, 0.0); VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=3, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=5, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=6, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [L297] COND FALSE !(#t~short62) VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=3, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=5, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=6, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [L297] COND TRUE !#t~short62 [L297] havoc #t~ret61; [L297] havoc #t~short62; VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=3, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=5, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=6, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [L298] assert false; VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=3, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=5, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=6, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] ----- ----- class de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.CACSL2BoogieBacktranslator [?] #NULL := { base: 0, offset: 0 }; [?] #valid[0] := 0; [L37-L42] FCALL call ~#atanhi_atan~0 := #Ultimate.alloc(32); [L37-L42] FCALL call write~init~real(0.4636476090008061, { base: ~#atanhi_atan~0!base, offset: ~#atanhi_atan~0!offset }, 8); [L37-L42] FCALL call write~init~real(0.7853981633974483, { base: ~#atanhi_atan~0!base, offset: 8 + ~#atanhi_atan~0!offset }, 8); [L37-L42] FCALL call write~init~real(0.982793723247329, { base: ~#atanhi_atan~0!base, offset: 16 + ~#atanhi_atan~0!offset }, 8); [L37-L42] FCALL call write~init~real(1.5707963267948966, { base: ~#atanhi_atan~0!base, offset: 24 + ~#atanhi_atan~0!offset }, 8); [L44-L49] FCALL call ~#atanlo_atan~0 := #Ultimate.alloc(32); [L44-L49] FCALL call write~init~real(2.2698777452961687E-17, { base: ~#atanlo_atan~0!base, offset: ~#atanlo_atan~0!offset }, 8); [L44-L49] FCALL call write~init~real(3.061616997868383E-17, { base: ~#atanlo_atan~0!base, offset: 8 + ~#atanlo_atan~0!offset }, 8); [L44-L49] FCALL call write~init~real(1.3903311031230998E-17, { base: ~#atanlo_atan~0!base, offset: 16 + ~#atanlo_atan~0!offset }, 8); [L44-L49] FCALL call write~init~real(6.123233995736766E-17, { base: ~#atanlo_atan~0!base, offset: 24 + ~#atanlo_atan~0!offset }, 8); [L51-L58] FCALL call ~#aT_atan~0 := #Ultimate.alloc(88); [L51-L58] FCALL call write~init~real(0.3333333333333293, { base: ~#aT_atan~0!base, offset: ~#aT_atan~0!offset }, 8); [L51-L58] FCALL call write~init~real(~someUnaryDOUBLEoperation(0.19999999999876483), { base: ~#aT_atan~0!base, offset: 8 + ~#aT_atan~0!offset }, 8); [L51-L58] FCALL call write~init~real(0.14285714272503466, { base: ~#aT_atan~0!base, offset: 16 + ~#aT_atan~0!offset }, 8); [L51-L58] FCALL call write~init~real(~someUnaryDOUBLEoperation(0.11111110405462356), { base: ~#aT_atan~0!base, offset: 24 + ~#aT_atan~0!offset }, 8); [L51-L58] FCALL call write~init~real(0.09090887133436507, { base: ~#aT_atan~0!base, offset: 32 + ~#aT_atan~0!offset }, 8); [L51-L58] FCALL call write~init~real(~someUnaryDOUBLEoperation(0.0769187620504483), { base: ~#aT_atan~0!base, offset: 40 + ~#aT_atan~0!offset }, 8); [L51-L58] FCALL call write~init~real(0.06661073137387531, { base: ~#aT_atan~0!base, offset: 48 + ~#aT_atan~0!offset }, 8); [L51-L58] FCALL call write~init~real(~someUnaryDOUBLEoperation(0.058335701337905735), { base: ~#aT_atan~0!base, offset: 56 + ~#aT_atan~0!offset }, 8); [L51-L58] FCALL call write~init~real(0.049768779946159324, { base: ~#aT_atan~0!base, offset: 64 + ~#aT_atan~0!offset }, 8); [L51-L58] FCALL call write~init~real(~someUnaryDOUBLEoperation(0.036531572744216916), { base: ~#aT_atan~0!base, offset: 72 + ~#aT_atan~0!offset }, 8); [L51-L58] FCALL call write~init~real(0.016285820115365782, { base: ~#aT_atan~0!base, offset: 80 + ~#aT_atan~0!offset }, 8); [L60-L62] ~one_atan~0 := 1.0; [L60-L62] ~pi_o_4~0 := 0.7853981633974483; [L60-L62] ~pi_o_2~0 := 1.5707963267948966; [L60-L62] ~pi~0 := 3.141592653589793; [L60-L62] ~huge_atan~0 := 1.0E300; [L139-L140] ~tiny_atan2~0 := 1.0E-300; [L139-L140] ~zero_atan2~0 := 0.0; [L139-L140] ~pi_lo_atan2~0 := 1.2246467991473532E-16; [L289] ~x~0 := ~someBinaryArithmeticDOUBLEoperation(1.0, 0.0); [L290] ~y~0 := #t~nondet56; [L290] havoc #t~nondet56; [L245-L257] ~x := #in~x; [L246] havoc ~hx~2; [L246] havoc ~lx~1; VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=3, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=5, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=6, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [L248] FCALL call ~#ew_u~2 := #Ultimate.alloc(8); [L249] FCALL call write~real(~x, { base: ~#ew_u~2!base, offset: ~#ew_u~2!offset }, 8); [L250] FCALL call #t~mem48 := read~int({ base: ~#ew_u~2!base, offset: 4 + ~#ew_u~2!offset }, 4); [L250] ~hx~2 := (if #t~mem48 % 4294967296 % 4294967296 <= 2147483647 then #t~mem48 % 4294967296 % 4294967296 else #t~mem48 % 4294967296 % 4294967296 - 4294967296); [L250] FCALL call write~real(#t~union49, { base: ~#ew_u~2!base, offset: ~#ew_u~2!offset }, 8); [L250] havoc #t~mem48; [L250] havoc #t~union49; [L251] FCALL call #t~mem50 := read~int({ base: ~#ew_u~2!base, offset: ~#ew_u~2!offset }, 4); [L251] ~lx~1 := (if #t~mem50 % 4294967296 % 4294967296 <= 2147483647 then #t~mem50 % 4294967296 % 4294967296 else #t~mem50 % 4294967296 % 4294967296 - 4294967296); [L251] FCALL call write~real(#t~union51, { base: ~#ew_u~2!base, offset: ~#ew_u~2!offset }, 8); [L251] havoc #t~union51; [L251] havoc #t~mem50; [L248] FCALL call ULTIMATE.dealloc(~#ew_u~2); [L248] havoc ~#ew_u~2; VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=3, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=5, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=6, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [L253] ~hx~2 := ~bitwiseAnd(~hx~2, 2147483647); [L254] ~hx~2 := (if ~bitwiseOr(~hx~2, ~bitwiseOr(~lx~1, -~lx~1) / 2147483648) % 4294967296 % 4294967296 <= 2147483647 then ~bitwiseOr(~hx~2, ~bitwiseOr(~lx~1, -~lx~1) / 2147483648) % 4294967296 % 4294967296 else ~bitwiseOr(~hx~2, ~bitwiseOr(~lx~1, -~lx~1) / 2147483648) % 4294967296 % 4294967296 - 4294967296); [L255] ~hx~2 := 2146435072 - ~hx~2; [L256] #res := 1 - (if ~bitwiseOr(~hx~2, -~hx~2) / 2147483648 % 4294967296 % 4294967296 <= 2147483647 then ~bitwiseOr(~hx~2, -~hx~2) / 2147483648 % 4294967296 % 4294967296 else ~bitwiseOr(~hx~2, -~hx~2) / 2147483648 % 4294967296 % 4294967296 - 4294967296); [L292] assume -2147483648 <= #t~ret57 && #t~ret57 <= 2147483647; [L292] #t~short59 := 0 != #t~ret57; VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=3, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=5, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=6, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [L292] COND TRUE #t~short59 [L259-L267] ~x := #in~x; [L260] havoc ~hx~3; VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=3, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=5, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=6, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [L262] FCALL call ~#gh_u~3 := #Ultimate.alloc(8); [L263] FCALL call write~real(~x, { base: ~#gh_u~3!base, offset: ~#gh_u~3!offset }, 8); [L264] FCALL call #t~mem52 := read~int({ base: ~#gh_u~3!base, offset: 4 + ~#gh_u~3!offset }, 4); [L264] ~hx~3 := (if #t~mem52 % 4294967296 % 4294967296 <= 2147483647 then #t~mem52 % 4294967296 % 4294967296 else #t~mem52 % 4294967296 % 4294967296 - 4294967296); [L264] FCALL call write~real(#t~union53, { base: ~#gh_u~3!base, offset: ~#gh_u~3!offset }, 8); [L264] havoc #t~mem52; [L264] havoc #t~union53; [L262] FCALL call ULTIMATE.dealloc(~#gh_u~3); [L262] havoc ~#gh_u~3; VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=3, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=5, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=6, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [L266] #res := (if (~bitwiseAnd(~hx~3, 2147483647) - 2146435072) / 2147483648 % 4294967296 % 4294967296 <= 2147483647 then (~bitwiseAnd(~hx~3, 2147483647) - 2146435072) / 2147483648 % 4294967296 % 4294967296 else (~bitwiseAnd(~hx~3, 2147483647) - 2146435072) / 2147483648 % 4294967296 % 4294967296 - 4294967296); [L292] assume -2147483648 <= #t~ret58 && #t~ret58 <= 2147483647; [L292] #t~short59 := 0 != #t~ret58; VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=3, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=5, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=6, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [L292] COND TRUE #t~short59 && ~someBinaryDOUBLEComparisonOperation(~y~0, 0.0) [L292] havoc #t~short59; [L292] havoc #t~ret57; [L292] havoc #t~ret58; [L142-L242] ~y := #in~y; [L142-L242] ~x := #in~x; [L143] havoc ~z~1; [L144] havoc ~k~0; [L144] havoc ~m~0; [L144] havoc ~hx~1; [L144] havoc ~hy~0; [L144] havoc ~ix~1; [L144] havoc ~iy~0; [L145] havoc ~lx~0; [L145] havoc ~ly~0; VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=3, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=5, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=6, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [L148] FCALL call ~#ew_u~0 := #Ultimate.alloc(8); [L149] FCALL call write~real(~x, { base: ~#ew_u~0!base, offset: ~#ew_u~0!offset }, 8); [L150] FCALL call #t~mem27 := read~int({ base: ~#ew_u~0!base, offset: 4 + ~#ew_u~0!offset }, 4); [L150] ~hx~1 := (if #t~mem27 % 4294967296 % 4294967296 <= 2147483647 then #t~mem27 % 4294967296 % 4294967296 else #t~mem27 % 4294967296 % 4294967296 - 4294967296); [L150] FCALL call write~real(#t~union28, { base: ~#ew_u~0!base, offset: ~#ew_u~0!offset }, 8); [L150] havoc #t~mem27; [L150] havoc #t~union28; [L151] FCALL call #t~mem29 := read~int({ base: ~#ew_u~0!base, offset: ~#ew_u~0!offset }, 4); [L151] ~lx~0 := #t~mem29; [L151] FCALL call write~real(#t~union30, { base: ~#ew_u~0!base, offset: ~#ew_u~0!offset }, 8); [L151] havoc #t~mem29; [L151] havoc #t~union30; [L148] FCALL call ULTIMATE.dealloc(~#ew_u~0); [L148] havoc ~#ew_u~0; VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=3, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=5, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=6, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [L153] ~ix~1 := ~bitwiseAnd(~hx~1, 2147483647); VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=3, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=5, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=6, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [L155] FCALL call ~#ew_u~1 := #Ultimate.alloc(8); [L156] FCALL call write~real(~y, { base: ~#ew_u~1!base, offset: ~#ew_u~1!offset }, 8); [L157] FCALL call #t~mem31 := read~int({ base: ~#ew_u~1!base, offset: 4 + ~#ew_u~1!offset }, 4); [L157] ~hy~0 := (if #t~mem31 % 4294967296 % 4294967296 <= 2147483647 then #t~mem31 % 4294967296 % 4294967296 else #t~mem31 % 4294967296 % 4294967296 - 4294967296); [L157] FCALL call write~real(#t~union32, { base: ~#ew_u~1!base, offset: ~#ew_u~1!offset }, 8); [L157] havoc #t~union32; [L157] havoc #t~mem31; [L158] FCALL call #t~mem33 := read~int({ base: ~#ew_u~1!base, offset: ~#ew_u~1!offset }, 4); [L158] ~ly~0 := #t~mem33; [L158] FCALL call write~real(#t~union34, { base: ~#ew_u~1!base, offset: ~#ew_u~1!offset }, 8); [L158] havoc #t~union34; [L158] havoc #t~mem33; [L155] FCALL call ULTIMATE.dealloc(~#ew_u~1); [L155] havoc ~#ew_u~1; VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=3, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=5, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=6, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [L160] ~iy~0 := ~bitwiseAnd(~hy~0, 2147483647); VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=3, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=5, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=6, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [L161-L162] COND TRUE ~bitwiseOr(~ix~1, ~bitwiseOr(~lx~0, -~lx~0) / 2147483648) % 4294967296 > 2146435072 || ~bitwiseOr(~iy~0, ~bitwiseOr(~ly~0, -~ly~0) / 2147483648) % 4294967296 > 2146435072 [L163] #res := ~someBinaryArithmeticDOUBLEoperation(~x, ~y); VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=3, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=5, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=6, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [L294] ~res~0 := #t~ret60; [L294] havoc #t~ret60; [L297] #t~short62 := ~someBinaryDOUBLEComparisonOperation(~res~0, 0.0); VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=3, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=5, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=6, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [L297] COND FALSE !(#t~short62) VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=3, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=5, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=6, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [L297] COND TRUE !#t~short62 [L297] havoc #t~ret61; [L297] havoc #t~short62; VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=3, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=5, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=6, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [L298] assert false; VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=3, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=5, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=6, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [L37-L42] static const double atanhi_atan[] = { 4.63647609000806093515e-01, 7.85398163397448278999e-01, 9.82793723247329054082e-01, 1.57079632679489655800e+00, }; [L44-L49] static const double atanlo_atan[] = { 2.26987774529616870924e-17, 3.06161699786838301793e-17, 1.39033110312309984516e-17, 6.12323399573676603587e-17, }; [L51-L58] static const double aT_atan[] = { 3.33333333333329318027e-01, -1.99999999998764832476e-01, 1.42857142725034663711e-01, -1.11111104054623557880e-01, 9.09088713343650656196e-02, -7.69187620504482999495e-02, 6.66107313738753120669e-02, -5.83357013379057348645e-02, 4.97687799461593236017e-02, -3.65315727442169155270e-02, 1.62858201153657823623e-02, }; [L60-L62] static const double one_atan = 1.0, pi_o_4 = 7.8539816339744827900E-01, pi_o_2 = 1.5707963267948965580E+00, pi = 3.1415926535897931160E+00, huge_atan = 1.0e300; [L139-L140] static const double tiny_atan2 = 1.0e-300, zero_atan2 = 0.0, pi_lo_atan2 = 1.2246467991473531772E-16; [L289] double x = 1.0 / 0.0; [L290] double y = __VERIFIER_nondet_double(); [L246] __int32_t hx, lx; VAL [aT_atan={3:0}, atanhi_atan={5:0}, atanlo_atan={6:0}, huge_atan=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, one_atan=1, pi=785398163397448279/250000000000000000, pi_lo_atan2=3061616997868382943/25000000000000000000000000000000000, pi_o_2=785398163397448279/500000000000000000, pi_o_4=785398163397448279/1000000000000000000, tiny_atan2=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, zero_atan2=0] [L248] ieee_double_shape_type ew_u; [L249] ew_u.value = (x) [L250] EXPR ew_u.parts.msw [L250] (hx) = ew_u.parts.msw [L251] EXPR ew_u.parts.lsw [L251] (lx) = ew_u.parts.lsw [L253] hx &= 0x7fffffff [L254] hx |= (__uint32_t)(lx | (-lx)) >> 31 [L255] hx = 0x7ff00000 - hx [L256] return 1 - (int)((__uint32_t)(hx | (-hx)) >> 31); [L292] EXPR isinf_double(x) && isfinite_double(y) [L260] __int32_t hx; VAL [aT_atan={3:0}, atanhi_atan={5:0}, atanlo_atan={6:0}, huge_atan=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, one_atan=1, pi=785398163397448279/250000000000000000, pi_lo_atan2=3061616997868382943/25000000000000000000000000000000000, pi_o_2=785398163397448279/500000000000000000, pi_o_4=785398163397448279/1000000000000000000, tiny_atan2=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, zero_atan2=0] [L262] ieee_double_shape_type gh_u; [L263] gh_u.value = (x) [L264] EXPR gh_u.parts.msw [L264] (hx) = gh_u.parts.msw [L266] return (int)((__uint32_t)((hx & 0x7fffffff) - 0x7ff00000) >> 31); [L292] EXPR isinf_double(x) && isfinite_double(y) VAL [aT_atan={3:0}, atanhi_atan={5:0}, atanlo_atan={6:0}, huge_atan=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, one_atan=1, pi=785398163397448279/250000000000000000, pi_lo_atan2=3061616997868382943/25000000000000000000000000000000000, pi_o_2=785398163397448279/500000000000000000, pi_o_4=785398163397448279/1000000000000000000, tiny_atan2=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, zero_atan2=0] [L292] COND TRUE isinf_double(x) && isfinite_double(y) && y > 0.0 [L143] double z; [L144] __int32_t k, m, hx, hy, ix, iy; [L145] __uint32_t lx, ly; VAL [aT_atan={3:0}, atanhi_atan={5:0}, atanlo_atan={6:0}, huge_atan=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, one_atan=1, pi=785398163397448279/250000000000000000, pi_lo_atan2=3061616997868382943/25000000000000000000000000000000000, pi_o_2=785398163397448279/500000000000000000, pi_o_4=785398163397448279/1000000000000000000, tiny_atan2=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, zero_atan2=0] [L148] ieee_double_shape_type ew_u; [L149] ew_u.value = (x) [L150] EXPR ew_u.parts.msw [L150] (hx) = ew_u.parts.msw [L151] EXPR ew_u.parts.lsw [L151] (lx) = ew_u.parts.lsw [L153] ix = hx & 0x7fffffff VAL [aT_atan={3:0}, atanhi_atan={5:0}, atanlo_atan={6:0}, huge_atan=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, one_atan=1, pi=785398163397448279/250000000000000000, pi_lo_atan2=3061616997868382943/25000000000000000000000000000000000, pi_o_2=785398163397448279/500000000000000000, pi_o_4=785398163397448279/1000000000000000000, tiny_atan2=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, zero_atan2=0] [L155] ieee_double_shape_type ew_u; [L156] ew_u.value = (y) [L157] EXPR ew_u.parts.msw [L157] (hy) = ew_u.parts.msw [L158] EXPR ew_u.parts.lsw [L158] (ly) = ew_u.parts.lsw [L160] iy = hy & 0x7fffffff VAL [aT_atan={3:0}, atanhi_atan={5:0}, atanlo_atan={6:0}, huge_atan=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, one_atan=1, pi=785398163397448279/250000000000000000, pi_lo_atan2=3061616997868382943/25000000000000000000000000000000000, pi_o_2=785398163397448279/500000000000000000, pi_o_4=785398163397448279/1000000000000000000, tiny_atan2=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, zero_atan2=0] [L161-L162] COND TRUE ((ix | ((lx | -lx) >> 31)) > 0x7ff00000) || ((iy | ((ly | -ly) >> 31)) > 0x7ff00000) [L163] return x + y; VAL [aT_atan={3:0}, atanhi_atan={5:0}, atanlo_atan={6:0}, huge_atan=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, one_atan=1, pi=785398163397448279/250000000000000000, pi_lo_atan2=3061616997868382943/25000000000000000000000000000000000, pi_o_2=785398163397448279/500000000000000000, pi_o_4=785398163397448279/1000000000000000000, tiny_atan2=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, zero_atan2=0] [L294] double res = __ieee754_atan2(y, x); [L297] EXPR res == 0.0 && __signbit_double(res) == 0 VAL [aT_atan={3:0}, atanhi_atan={5:0}, atanlo_atan={6:0}, huge_atan=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, one_atan=1, pi=785398163397448279/250000000000000000, pi_lo_atan2=3061616997868382943/25000000000000000000000000000000000, pi_o_2=785398163397448279/500000000000000000, pi_o_4=785398163397448279/1000000000000000000, tiny_atan2=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, zero_atan2=0] [L297] COND TRUE !(res == 0.0 && __signbit_double(res) == 0) [L298] __VERIFIER_error() VAL [aT_atan={3:0}, atanhi_atan={5:0}, atanlo_atan={6:0}, huge_atan=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, one_atan=1, pi=785398163397448279/250000000000000000, pi_lo_atan2=3061616997868382943/25000000000000000000000000000000000, pi_o_2=785398163397448279/500000000000000000, pi_o_4=785398163397448279/1000000000000000000, tiny_atan2=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, zero_atan2=0] ----- [2018-11-23 06:43:54,095 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.codecheck CFG 23.11 06:43:54 ImpRootNode [2018-11-23 06:43:54,095 INFO L132 PluginConnector]: ------------------------ END CodeCheck---------------------------- [2018-11-23 06:43:54,095 INFO L113 PluginConnector]: ------------------------Witness Printer---------------------------- [2018-11-23 06:43:54,095 INFO L271 PluginConnector]: Initializing Witness Printer... [2018-11-23 06:43:54,096 INFO L276 PluginConnector]: Witness Printer initialized [2018-11-23 06:43:54,096 INFO L185 PluginConnector]: Executing the observer RCFGCatcher from plugin Witness Printer for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 23.11 06:43:53" (3/4) ... [2018-11-23 06:43:54,099 INFO L147 WitnessPrinter]: No result that supports witness generation found [2018-11-23 06:43:54,099 INFO L132 PluginConnector]: ------------------------ END Witness Printer---------------------------- [2018-11-23 06:43:54,100 INFO L168 Benchmark]: Toolchain (without parser) took 1813.71 ms. Allocated memory was 1.0 GB in the beginning and 1.2 GB in the end (delta: 137.9 MB). Free memory was 959.2 MB in the beginning and 966.7 MB in the end (delta: -7.5 MB). Peak memory consumption was 130.4 MB. Max. memory is 11.5 GB. [2018-11-23 06:43:54,101 INFO L168 Benchmark]: CDTParser took 0.14 ms. Allocated memory is still 1.0 GB. Free memory is still 985.5 MB. There was no memory consumed. Max. memory is 11.5 GB. [2018-11-23 06:43:54,101 INFO L168 Benchmark]: CACSL2BoogieTranslator took 275.37 ms. Allocated memory was 1.0 GB in the beginning and 1.2 GB in the end (delta: 137.9 MB). Free memory was 959.2 MB in the beginning and 1.1 GB in the end (delta: -173.3 MB). Peak memory consumption was 30.8 MB. Max. memory is 11.5 GB. [2018-11-23 06:43:54,102 INFO L168 Benchmark]: Boogie Procedure Inliner took 44.26 ms. Allocated memory is still 1.2 GB. Free memory was 1.1 GB in the beginning and 1.1 GB in the end (delta: 2.7 MB). Peak memory consumption was 2.7 MB. Max. memory is 11.5 GB. [2018-11-23 06:43:54,102 INFO L168 Benchmark]: Boogie Preprocessor took 39.92 ms. Allocated memory is still 1.2 GB. Free memory was 1.1 GB in the beginning and 1.1 GB in the end (delta: 2.7 MB). Peak memory consumption was 2.7 MB. Max. memory is 11.5 GB. [2018-11-23 06:43:54,103 INFO L168 Benchmark]: RCFGBuilder took 633.39 ms. Allocated memory is still 1.2 GB. Free memory was 1.1 GB in the beginning and 1.1 GB in the end (delta: 73.5 MB). Peak memory consumption was 73.5 MB. Max. memory is 11.5 GB. [2018-11-23 06:43:54,103 INFO L168 Benchmark]: CodeCheck took 813.61 ms. Allocated memory is still 1.2 GB. Free memory was 1.1 GB in the beginning and 966.7 MB in the end (delta: 84.3 MB). Peak memory consumption was 84.3 MB. Max. memory is 11.5 GB. [2018-11-23 06:43:54,104 INFO L168 Benchmark]: Witness Printer took 4.04 ms. Allocated memory is still 1.2 GB. Free memory is still 966.7 MB. There was no memory consumed. Max. memory is 11.5 GB. [2018-11-23 06:43:54,106 INFO L336 ainManager$Toolchain]: ####################### End [Toolchain 1] ####################### --- Results --- * Results from de.uni_freiburg.informatik.ultimate.plugins.generator.codecheck: - StatisticsResult: Ultimate CodeCheck benchmark data CFG has 3 procedures, 108 locations, 1 error locations. UNSAFE Result, 0.5s OverallTime, 4 OverallIterations, 0 TraceHistogramMax, 0.0s AutomataDifference, 0.0s DeadEndRemovalTime, 0.0s HoareAnnotationTime, HoareTripleCheckerStatistics: 168 SDtfs, 0 SDslu, 0 SDs, 0 SdLazy, 24 SolverSat, 8 SolverUnsat, 0 SolverUnknown, 0 SolverNotchecked, 0.0s Time, PredicateUnifierStatistics: 0 DeclaredPredicates, 404 GetRequests, 402 SyntacticMatches, 0 SemanticMatches, 2 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s Time, 0.0s BasicInterpolantAutomatonTime, BiggestAbstraction: size=-1occurred in iteration=-1, traceCheckStatistics: 0.0s SsaConstructionTime, 0.0s SatisfiabilityAnalysisTime, 0.0s InterpolantComputationTime, 70 NumberOfCodeBlocks, 70 NumberOfCodeBlocksAsserted, 4 NumberOfCheckSat, 47 ConstructedInterpolants, 0 QuantifiedInterpolants, 765 SizeOfPredicates, 0 NumberOfNonLiveVariables, 0 ConjunctsInSsa, 0 ConjunctsInUnsatCore, 3 InterpolantComputations, 3 PerfectInterpolantSequences, 0/0 InterpolantCoveringCapability, InterpolantConsolidationStatistics: No data available, PathInvariantsStatistics: No data available, 0/0 InterpolantCoveringCapability, TotalInterpolationStatistics: No data available, 0.0s AbstIntTime, 0 AbstIntIterations, 0 AbstIntStrong, NaN AbsIntWeakeningRatio, NaN AbsIntAvgWeakeningVarsNumRemoved, NaN AbsIntAvgWeakenedConjuncts, 0.0s DumpTime, AutomataMinimizationStatistics: No data available, HoareAnnotationStatistics: No data available, RefinementEngineStatistics: No data available, ReuseStatistics: No data available - UnprovableResult [Line: 298]: Unable to prove that call of __VERIFIER_error() unreachable Unable to prove that call of __VERIFIER_error() unreachable Reason: overapproximation of bitwiseOr at line 162, overapproximation of someUnaryDOUBLEoperation at line 52, overapproximation of someBinaryArithmeticDOUBLEoperation at line 163, overapproximation of bitwiseAnd at line 160, overapproximation of someBinaryDOUBLEComparisonOperation at line 297. Possible FailurePath: [L37-L42] static const double atanhi_atan[] = { 4.63647609000806093515e-01, 7.85398163397448278999e-01, 9.82793723247329054082e-01, 1.57079632679489655800e+00, }; [L44-L49] static const double atanlo_atan[] = { 2.26987774529616870924e-17, 3.06161699786838301793e-17, 1.39033110312309984516e-17, 6.12323399573676603587e-17, }; [L51-L58] static const double aT_atan[] = { 3.33333333333329318027e-01, -1.99999999998764832476e-01, 1.42857142725034663711e-01, -1.11111104054623557880e-01, 9.09088713343650656196e-02, -7.69187620504482999495e-02, 6.66107313738753120669e-02, -5.83357013379057348645e-02, 4.97687799461593236017e-02, -3.65315727442169155270e-02, 1.62858201153657823623e-02, }; [L60-L62] static const double one_atan = 1.0, pi_o_4 = 7.8539816339744827900E-01, pi_o_2 = 1.5707963267948965580E+00, pi = 3.1415926535897931160E+00, huge_atan = 1.0e300; [L139-L140] static const double tiny_atan2 = 1.0e-300, zero_atan2 = 0.0, pi_lo_atan2 = 1.2246467991473531772E-16; [L289] double x = 1.0 / 0.0; [L290] double y = __VERIFIER_nondet_double(); [L246] __int32_t hx, lx; VAL [aT_atan={3:0}, atanhi_atan={5:0}, atanlo_atan={6:0}, huge_atan=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, one_atan=1, pi=785398163397448279/250000000000000000, pi_lo_atan2=3061616997868382943/25000000000000000000000000000000000, pi_o_2=785398163397448279/500000000000000000, pi_o_4=785398163397448279/1000000000000000000, tiny_atan2=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, zero_atan2=0] [L248] ieee_double_shape_type ew_u; [L249] ew_u.value = (x) [L250] EXPR ew_u.parts.msw [L250] (hx) = ew_u.parts.msw [L251] EXPR ew_u.parts.lsw [L251] (lx) = ew_u.parts.lsw [L253] hx &= 0x7fffffff [L254] hx |= (__uint32_t)(lx | (-lx)) >> 31 [L255] hx = 0x7ff00000 - hx [L256] return 1 - (int)((__uint32_t)(hx | (-hx)) >> 31); [L292] EXPR isinf_double(x) && isfinite_double(y) [L260] __int32_t hx; VAL [aT_atan={3:0}, atanhi_atan={5:0}, atanlo_atan={6:0}, huge_atan=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, one_atan=1, pi=785398163397448279/250000000000000000, pi_lo_atan2=3061616997868382943/25000000000000000000000000000000000, pi_o_2=785398163397448279/500000000000000000, pi_o_4=785398163397448279/1000000000000000000, tiny_atan2=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, zero_atan2=0] [L262] ieee_double_shape_type gh_u; [L263] gh_u.value = (x) [L264] EXPR gh_u.parts.msw [L264] (hx) = gh_u.parts.msw [L266] return (int)((__uint32_t)((hx & 0x7fffffff) - 0x7ff00000) >> 31); [L292] EXPR isinf_double(x) && isfinite_double(y) VAL [aT_atan={3:0}, atanhi_atan={5:0}, atanlo_atan={6:0}, huge_atan=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, one_atan=1, pi=785398163397448279/250000000000000000, pi_lo_atan2=3061616997868382943/25000000000000000000000000000000000, pi_o_2=785398163397448279/500000000000000000, pi_o_4=785398163397448279/1000000000000000000, tiny_atan2=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, zero_atan2=0] [L292] COND TRUE isinf_double(x) && isfinite_double(y) && y > 0.0 [L143] double z; [L144] __int32_t k, m, hx, hy, ix, iy; [L145] __uint32_t lx, ly; VAL [aT_atan={3:0}, atanhi_atan={5:0}, atanlo_atan={6:0}, huge_atan=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, one_atan=1, pi=785398163397448279/250000000000000000, pi_lo_atan2=3061616997868382943/25000000000000000000000000000000000, pi_o_2=785398163397448279/500000000000000000, pi_o_4=785398163397448279/1000000000000000000, tiny_atan2=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, zero_atan2=0] [L148] ieee_double_shape_type ew_u; [L149] ew_u.value = (x) [L150] EXPR ew_u.parts.msw [L150] (hx) = ew_u.parts.msw [L151] EXPR ew_u.parts.lsw [L151] (lx) = ew_u.parts.lsw [L153] ix = hx & 0x7fffffff VAL [aT_atan={3:0}, atanhi_atan={5:0}, atanlo_atan={6:0}, huge_atan=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, one_atan=1, pi=785398163397448279/250000000000000000, pi_lo_atan2=3061616997868382943/25000000000000000000000000000000000, pi_o_2=785398163397448279/500000000000000000, pi_o_4=785398163397448279/1000000000000000000, tiny_atan2=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, zero_atan2=0] [L155] ieee_double_shape_type ew_u; [L156] ew_u.value = (y) [L157] EXPR ew_u.parts.msw [L157] (hy) = ew_u.parts.msw [L158] EXPR ew_u.parts.lsw [L158] (ly) = ew_u.parts.lsw [L160] iy = hy & 0x7fffffff VAL [aT_atan={3:0}, atanhi_atan={5:0}, atanlo_atan={6:0}, huge_atan=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, one_atan=1, pi=785398163397448279/250000000000000000, pi_lo_atan2=3061616997868382943/25000000000000000000000000000000000, pi_o_2=785398163397448279/500000000000000000, pi_o_4=785398163397448279/1000000000000000000, tiny_atan2=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, zero_atan2=0] [L161-L162] COND TRUE ((ix | ((lx | -lx) >> 31)) > 0x7ff00000) || ((iy | ((ly | -ly) >> 31)) > 0x7ff00000) [L163] return x + y; VAL [aT_atan={3:0}, atanhi_atan={5:0}, atanlo_atan={6:0}, huge_atan=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, one_atan=1, pi=785398163397448279/250000000000000000, pi_lo_atan2=3061616997868382943/25000000000000000000000000000000000, pi_o_2=785398163397448279/500000000000000000, pi_o_4=785398163397448279/1000000000000000000, tiny_atan2=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, zero_atan2=0] [L294] double res = __ieee754_atan2(y, x); [L297] EXPR res == 0.0 && __signbit_double(res) == 0 VAL [aT_atan={3:0}, atanhi_atan={5:0}, atanlo_atan={6:0}, huge_atan=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, one_atan=1, pi=785398163397448279/250000000000000000, pi_lo_atan2=3061616997868382943/25000000000000000000000000000000000, pi_o_2=785398163397448279/500000000000000000, pi_o_4=785398163397448279/1000000000000000000, tiny_atan2=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, zero_atan2=0] [L297] COND TRUE !(res == 0.0 && __signbit_double(res) == 0) [L298] __VERIFIER_error() VAL [aT_atan={3:0}, atanhi_atan={5:0}, atanlo_atan={6:0}, huge_atan=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, one_atan=1, pi=785398163397448279/250000000000000000, pi_lo_atan2=3061616997868382943/25000000000000000000000000000000000, pi_o_2=785398163397448279/500000000000000000, pi_o_4=785398163397448279/1000000000000000000, tiny_atan2=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, zero_atan2=0] * Results from de.uni_freiburg.informatik.ultimate.core: - StatisticsResult: Toolchain Benchmarks Benchmark results are: * CDTParser took 0.14 ms. Allocated memory is still 1.0 GB. Free memory is still 985.5 MB. There was no memory consumed. Max. memory is 11.5 GB. * CACSL2BoogieTranslator took 275.37 ms. Allocated memory was 1.0 GB in the beginning and 1.2 GB in the end (delta: 137.9 MB). Free memory was 959.2 MB in the beginning and 1.1 GB in the end (delta: -173.3 MB). Peak memory consumption was 30.8 MB. Max. memory is 11.5 GB. * Boogie Procedure Inliner took 44.26 ms. Allocated memory is still 1.2 GB. Free memory was 1.1 GB in the beginning and 1.1 GB in the end (delta: 2.7 MB). Peak memory consumption was 2.7 MB. Max. memory is 11.5 GB. * Boogie Preprocessor took 39.92 ms. Allocated memory is still 1.2 GB. Free memory was 1.1 GB in the beginning and 1.1 GB in the end (delta: 2.7 MB). Peak memory consumption was 2.7 MB. Max. memory is 11.5 GB. * RCFGBuilder took 633.39 ms. Allocated memory is still 1.2 GB. Free memory was 1.1 GB in the beginning and 1.1 GB in the end (delta: 73.5 MB). Peak memory consumption was 73.5 MB. Max. memory is 11.5 GB. * CodeCheck took 813.61 ms. Allocated memory is still 1.2 GB. Free memory was 1.1 GB in the beginning and 966.7 MB in the end (delta: 84.3 MB). Peak memory consumption was 84.3 MB. Max. memory is 11.5 GB. * Witness Printer took 4.04 ms. Allocated memory is still 1.2 GB. Free memory is still 966.7 MB. There was no memory consumed. Max. memory is 11.5 GB. RESULT: Ultimate could not prove your program: unable to determine feasibility of some traces Received shutdown request... ### Bit-precise run ### This is Ultimate 0.1.23-aa41828 [2018-11-23 06:43:55,516 INFO L170 SettingsManager]: Resetting all preferences to default values... [2018-11-23 06:43:55,518 INFO L174 SettingsManager]: Resetting UltimateCore preferences to default values [2018-11-23 06:43:55,526 INFO L177 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2018-11-23 06:43:55,527 INFO L174 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2018-11-23 06:43:55,527 INFO L174 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2018-11-23 06:43:55,528 INFO L174 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2018-11-23 06:43:55,529 INFO L174 SettingsManager]: Resetting LassoRanker preferences to default values [2018-11-23 06:43:55,530 INFO L174 SettingsManager]: Resetting Reaching Definitions preferences to default values [2018-11-23 06:43:55,531 INFO L174 SettingsManager]: Resetting SyntaxChecker preferences to default values [2018-11-23 06:43:55,531 INFO L177 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2018-11-23 06:43:55,532 INFO L174 SettingsManager]: Resetting LTL2Aut preferences to default values [2018-11-23 06:43:55,532 INFO L174 SettingsManager]: Resetting PEA to Boogie preferences to default values [2018-11-23 06:43:55,533 INFO L174 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2018-11-23 06:43:55,534 INFO L174 SettingsManager]: Resetting ChcToBoogie preferences to default values [2018-11-23 06:43:55,534 INFO L174 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2018-11-23 06:43:55,535 INFO L174 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2018-11-23 06:43:55,536 INFO L174 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2018-11-23 06:43:55,537 INFO L174 SettingsManager]: Resetting CodeCheck preferences to default values [2018-11-23 06:43:55,538 INFO L174 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2018-11-23 06:43:55,539 INFO L174 SettingsManager]: Resetting RCFGBuilder preferences to default values [2018-11-23 06:43:55,540 INFO L174 SettingsManager]: Resetting TraceAbstraction preferences to default values [2018-11-23 06:43:55,541 INFO L177 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2018-11-23 06:43:55,541 INFO L177 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2018-11-23 06:43:55,541 INFO L174 SettingsManager]: Resetting TreeAutomizer preferences to default values [2018-11-23 06:43:55,542 INFO L174 SettingsManager]: Resetting IcfgTransformer preferences to default values [2018-11-23 06:43:55,543 INFO L174 SettingsManager]: Resetting Boogie Printer preferences to default values [2018-11-23 06:43:55,543 INFO L174 SettingsManager]: Resetting ReqPrinter preferences to default values [2018-11-23 06:43:55,544 INFO L174 SettingsManager]: Resetting Witness Printer preferences to default values [2018-11-23 06:43:55,544 INFO L177 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2018-11-23 06:43:55,545 INFO L174 SettingsManager]: Resetting CDTParser preferences to default values [2018-11-23 06:43:55,545 INFO L177 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2018-11-23 06:43:55,545 INFO L177 SettingsManager]: ReqParser provides no preferences, ignoring... [2018-11-23 06:43:55,545 INFO L174 SettingsManager]: Resetting SmtParser preferences to default values [2018-11-23 06:43:55,546 INFO L174 SettingsManager]: Resetting Witness Parser preferences to default values [2018-11-23 06:43:55,546 INFO L181 SettingsManager]: Finished resetting all preferences to default values... [2018-11-23 06:43:55,547 INFO L98 SettingsManager]: Beginning loading settings from /tmp/vcloud-vcloud-master/worker/working_dir_843b8523-52fc-434f-a3c3-4dd61ab60740/bin-2019/ukojak/config/svcomp-Reach-32bit-Kojak_Bitvector.epf [2018-11-23 06:43:55,557 INFO L110 SettingsManager]: Loading preferences was successful [2018-11-23 06:43:55,557 INFO L112 SettingsManager]: Preferences different from defaults after loading the file: [2018-11-23 06:43:55,558 INFO L131 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2018-11-23 06:43:55,558 INFO L133 SettingsManager]: * ... to procedures called more than once=ALWAYS [2018-11-23 06:43:55,558 INFO L131 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2018-11-23 06:43:55,558 INFO L133 SettingsManager]: * Create parallel compositions if possible=false [2018-11-23 06:43:55,559 INFO L131 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2018-11-23 06:43:55,559 INFO L133 SettingsManager]: * sizeof long=4 [2018-11-23 06:43:55,559 INFO L133 SettingsManager]: * sizeof POINTER=4 [2018-11-23 06:43:55,559 INFO L133 SettingsManager]: * Check division by zero=IGNORE [2018-11-23 06:43:55,559 INFO L133 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2018-11-23 06:43:55,559 INFO L133 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2018-11-23 06:43:55,559 INFO L133 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2018-11-23 06:43:55,559 INFO L133 SettingsManager]: * Use bitvectors instead of ints=true [2018-11-23 06:43:55,560 INFO L133 SettingsManager]: * Memory model=HoenickeLindenmann_4ByteResolution [2018-11-23 06:43:55,560 INFO L133 SettingsManager]: * sizeof long double=12 [2018-11-23 06:43:55,560 INFO L133 SettingsManager]: * Check if freed pointer was valid=false [2018-11-23 06:43:55,560 INFO L133 SettingsManager]: * Use constant arrays=true [2018-11-23 06:43:55,560 INFO L133 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2018-11-23 06:43:55,560 INFO L131 SettingsManager]: Preferences of CodeCheck differ from their defaults: [2018-11-23 06:43:55,560 INFO L133 SettingsManager]: * Timeout in seconds=1000000 [2018-11-23 06:43:55,560 INFO L131 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2018-11-23 06:43:55,561 INFO L133 SettingsManager]: * To the following directory=./dump/ [2018-11-23 06:43:55,561 INFO L133 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:10000 [2018-11-23 06:43:55,561 INFO L131 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2018-11-23 06:43:55,561 INFO L133 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2018-11-23 06:43:55,561 INFO L133 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopsAndPotentialCycles [2018-11-23 06:43:55,561 INFO L133 SettingsManager]: * Use separate solver for trace checks=false [2018-11-23 06:43:55,561 INFO L133 SettingsManager]: * Trace refinement strategy=WALRUS [2018-11-23 06:43:55,562 INFO L133 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode [2018-11-23 06:43:55,562 INFO L133 SettingsManager]: * Command for external solver=cvc4nyu --tear-down-incremental --rewrite-divk --print-success --lang smt [2018-11-23 06:43:55,562 INFO L133 SettingsManager]: * Logic for external solver=AUFBV [2018-11-23 06:43:55,562 INFO L133 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true Applying setting for plugin de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator: Entry function -> main Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Witness directory -> /tmp/vcloud-vcloud-master/worker/working_dir_843b8523-52fc-434f-a3c3-4dd61ab60740/bin-2019/ukojak Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Witness filename -> witness.graphml Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Write witness besides input file -> false Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Graph data specification -> CHECK( init(main()), LTL(G ! call(__VERIFIER_error())) ) Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Graph data producer -> Kojak Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Graph data architecture -> 32bit Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Graph data programhash -> 516e79809fe70e7ecdc6c9a291a13d34f08e7bb9 [2018-11-23 06:43:55,591 INFO L81 nceAwareModelManager]: Repository-Root is: /tmp [2018-11-23 06:43:55,599 INFO L258 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2018-11-23 06:43:55,602 INFO L214 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2018-11-23 06:43:55,603 INFO L271 PluginConnector]: Initializing CDTParser... [2018-11-23 06:43:55,603 INFO L276 PluginConnector]: CDTParser initialized [2018-11-23 06:43:55,604 INFO L418 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /tmp/vcloud-vcloud-master/worker/working_dir_843b8523-52fc-434f-a3c3-4dd61ab60740/bin-2019/ukojak/../../sv-benchmarks/c/float-newlib/double_req_bl_0683b_true-unreach-call.c [2018-11-23 06:43:55,647 INFO L221 CDTParser]: Created temporary CDT project at /tmp/vcloud-vcloud-master/worker/working_dir_843b8523-52fc-434f-a3c3-4dd61ab60740/bin-2019/ukojak/data/41ddcf36f/9128c89d5f00487f901d0348bd23b7dd/FLAGbc1b7f306 [2018-11-23 06:43:55,983 INFO L307 CDTParser]: Found 1 translation units. [2018-11-23 06:43:55,983 INFO L161 CDTParser]: Scanning /tmp/vcloud-vcloud-master/worker/working_dir_843b8523-52fc-434f-a3c3-4dd61ab60740/sv-benchmarks/c/float-newlib/double_req_bl_0683b_true-unreach-call.c [2018-11-23 06:43:55,988 INFO L355 CDTParser]: About to delete temporary CDT project at /tmp/vcloud-vcloud-master/worker/working_dir_843b8523-52fc-434f-a3c3-4dd61ab60740/bin-2019/ukojak/data/41ddcf36f/9128c89d5f00487f901d0348bd23b7dd/FLAGbc1b7f306 [2018-11-23 06:43:56,401 INFO L363 CDTParser]: Successfully deleted /tmp/vcloud-vcloud-master/worker/working_dir_843b8523-52fc-434f-a3c3-4dd61ab60740/bin-2019/ukojak/data/41ddcf36f/9128c89d5f00487f901d0348bd23b7dd [2018-11-23 06:43:56,404 INFO L296 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2018-11-23 06:43:56,404 INFO L131 ToolchainWalker]: Walking toolchain with 6 elements. [2018-11-23 06:43:56,405 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2018-11-23 06:43:56,405 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2018-11-23 06:43:56,408 INFO L276 PluginConnector]: CACSL2BoogieTranslator initialized [2018-11-23 06:43:56,409 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 23.11 06:43:56" (1/1) ... [2018-11-23 06:43:56,411 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@411c904e and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 06:43:56, skipping insertion in model container [2018-11-23 06:43:56,411 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 23.11 06:43:56" (1/1) ... [2018-11-23 06:43:56,417 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2018-11-23 06:43:56,438 INFO L176 MainTranslator]: Built tables and reachable declarations [2018-11-23 06:43:56,604 INFO L201 PostProcessor]: Analyzing one entry point: main [2018-11-23 06:43:56,609 INFO L191 MainTranslator]: Completed pre-run [2018-11-23 06:43:56,659 INFO L201 PostProcessor]: Analyzing one entry point: main [2018-11-23 06:43:56,683 INFO L195 MainTranslator]: Completed translation [2018-11-23 06:43:56,683 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 06:43:56 WrapperNode [2018-11-23 06:43:56,684 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2018-11-23 06:43:56,684 INFO L113 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2018-11-23 06:43:56,684 INFO L271 PluginConnector]: Initializing Boogie Procedure Inliner... [2018-11-23 06:43:56,684 INFO L276 PluginConnector]: Boogie Procedure Inliner initialized [2018-11-23 06:43:56,689 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 06:43:56" (1/1) ... [2018-11-23 06:43:56,699 INFO L185 PluginConnector]: Executing the observer Inliner from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 06:43:56" (1/1) ... [2018-11-23 06:43:56,763 INFO L132 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2018-11-23 06:43:56,764 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2018-11-23 06:43:56,764 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2018-11-23 06:43:56,764 INFO L276 PluginConnector]: Boogie Preprocessor initialized [2018-11-23 06:43:56,769 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 06:43:56" (1/1) ... [2018-11-23 06:43:56,769 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 06:43:56" (1/1) ... [2018-11-23 06:43:56,775 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 06:43:56" (1/1) ... [2018-11-23 06:43:56,775 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 06:43:56" (1/1) ... [2018-11-23 06:43:56,790 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 06:43:56" (1/1) ... [2018-11-23 06:43:56,797 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 06:43:56" (1/1) ... [2018-11-23 06:43:56,800 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 06:43:56" (1/1) ... [2018-11-23 06:43:56,804 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2018-11-23 06:43:56,804 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2018-11-23 06:43:56,804 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2018-11-23 06:43:56,804 INFO L276 PluginConnector]: RCFGBuilder initialized [2018-11-23 06:43:56,805 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 06:43:56" (1/1) ... No working directory specified, using /tmp/vcloud-vcloud-master/worker/working_dir_843b8523-52fc-434f-a3c3-4dd61ab60740/bin-2019/ukojak/z3 Starting monitored process 1 with z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:10000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 1 with z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:10000 [2018-11-23 06:43:56,840 INFO L130 BoogieDeclarations]: Found specification of procedure read~intFLOATTYPE8 [2018-11-23 06:43:56,840 INFO L130 BoogieDeclarations]: Found specification of procedure write~intFLOATTYPE8 [2018-11-23 06:43:56,840 INFO L130 BoogieDeclarations]: Found specification of procedure fabs_double [2018-11-23 06:43:56,840 INFO L138 BoogieDeclarations]: Found implementation of procedure fabs_double [2018-11-23 06:43:56,840 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~intFLOATTYPE8 [2018-11-23 06:43:56,840 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.alloc [2018-11-23 06:43:56,841 INFO L130 BoogieDeclarations]: Found specification of procedure atan_double [2018-11-23 06:43:56,841 INFO L138 BoogieDeclarations]: Found implementation of procedure atan_double [2018-11-23 06:43:56,841 INFO L130 BoogieDeclarations]: Found specification of procedure read~intINTTYPE4 [2018-11-23 06:43:56,841 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2018-11-23 06:43:56,841 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2018-11-23 06:43:56,841 INFO L130 BoogieDeclarations]: Found specification of procedure write~intINTTYPE4 [2018-11-23 06:43:56,841 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2018-11-23 06:43:56,995 WARN L317 ript$VariableManager]: TermVariabe |q#valueAsBitvector| not constructed by VariableManager. Cannot ensure absence of name clashes. [2018-11-23 06:43:57,021 WARN L317 ript$VariableManager]: TermVariabe |q#valueAsBitvector| not constructed by VariableManager. Cannot ensure absence of name clashes. [2018-11-23 06:44:04,840 WARN L317 ript$VariableManager]: TermVariabe |q#valueAsBitvector| not constructed by VariableManager. Cannot ensure absence of name clashes. [2018-11-23 06:44:32,143 WARN L317 ript$VariableManager]: TermVariabe |q#valueAsBitvector| not constructed by VariableManager. Cannot ensure absence of name clashes. [2018-11-23 06:44:32,976 WARN L317 ript$VariableManager]: TermVariabe |q#valueAsBitvector| not constructed by VariableManager. Cannot ensure absence of name clashes. [2018-11-23 06:44:32,997 WARN L317 ript$VariableManager]: TermVariabe |q#valueAsBitvector| not constructed by VariableManager. Cannot ensure absence of name clashes. [2018-11-23 06:44:33,630 WARN L317 ript$VariableManager]: TermVariabe |q#valueAsBitvector| not constructed by VariableManager. Cannot ensure absence of name clashes. [2018-11-23 06:44:33,649 WARN L317 ript$VariableManager]: TermVariabe |q#valueAsBitvector| not constructed by VariableManager. Cannot ensure absence of name clashes. [2018-11-23 06:44:33,663 WARN L317 ript$VariableManager]: TermVariabe |q#valueAsBitvector| not constructed by VariableManager. Cannot ensure absence of name clashes. [2018-11-23 06:44:33,693 WARN L317 ript$VariableManager]: TermVariabe |q#valueAsBitvector| not constructed by VariableManager. Cannot ensure absence of name clashes. [2018-11-23 06:44:33,716 WARN L317 ript$VariableManager]: TermVariabe |q#valueAsBitvector| not constructed by VariableManager. Cannot ensure absence of name clashes. [2018-11-23 06:44:33,730 WARN L317 ript$VariableManager]: TermVariabe |q#valueAsBitvector| not constructed by VariableManager. Cannot ensure absence of name clashes. [2018-11-23 06:47:38,865 INFO L275 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2018-11-23 06:47:38,866 INFO L280 CfgBuilder]: Removed 34 assue(true) statements. [2018-11-23 06:47:38,866 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 23.11 06:47:38 BoogieIcfgContainer [2018-11-23 06:47:38,866 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2018-11-23 06:47:38,867 INFO L113 PluginConnector]: ------------------------CodeCheck---------------------------- [2018-11-23 06:47:38,867 INFO L271 PluginConnector]: Initializing CodeCheck... [2018-11-23 06:47:38,875 INFO L276 PluginConnector]: CodeCheck initialized [2018-11-23 06:47:38,875 INFO L185 PluginConnector]: Executing the observer CodeCheckObserver from plugin CodeCheck for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 23.11 06:47:38" (1/1) ... [2018-11-23 06:47:38,882 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 06:47:38,899 INFO L82 GeneralOperation]: Start removeUnreachable. Operand no size info available [2018-11-23 06:47:38,905 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 136 states to 83 states and 136 transitions. [2018-11-23 06:47:38,906 INFO L276 IsEmpty]: Start isEmpty. Operand 83 states and 136 transitions. [2018-11-23 06:47:38,907 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 15 [2018-11-23 06:47:38,907 INFO L427 CodeCheckObserver]: Error Path is FOUND. [2018-11-23 06:47:38,940 ERROR L613 CodeCheckObserver]: First Tracecheck threw exception Indexed Sort FloatingPoint undefined [2018-11-23 06:47:38,985 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 06:47:38,994 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 06:47:39,003 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-23 06:47:39,013 INFO L82 GeneralOperation]: Start removeUnreachable. Operand no size info available [2018-11-23 06:47:39,014 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 129 states to 83 states and 129 transitions. [2018-11-23 06:47:39,014 INFO L276 IsEmpty]: Start isEmpty. Operand 83 states and 129 transitions. [2018-11-23 06:47:39,015 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 18 [2018-11-23 06:47:39,015 INFO L427 CodeCheckObserver]: Error Path is FOUND. [2018-11-23 06:47:39,016 ERROR L613 CodeCheckObserver]: First Tracecheck threw exception Indexed Sort FloatingPoint undefined [2018-11-23 06:47:39,061 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 06:47:39,067 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 06:47:39,076 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-23 06:47:39,104 INFO L82 GeneralOperation]: Start removeUnreachable. Operand no size info available [2018-11-23 06:47:39,105 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 131 states to 84 states and 131 transitions. [2018-11-23 06:47:39,106 INFO L276 IsEmpty]: Start isEmpty. Operand 84 states and 131 transitions. [2018-11-23 06:47:39,106 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 20 [2018-11-23 06:47:39,107 INFO L427 CodeCheckObserver]: Error Path is FOUND. [2018-11-23 06:47:39,107 ERROR L613 CodeCheckObserver]: First Tracecheck threw exception Indexed Sort FloatingPoint undefined [2018-11-23 06:47:39,147 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 06:47:39,153 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 06:47:39,155 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-23 06:47:39,160 INFO L82 GeneralOperation]: Start removeUnreachable. Operand no size info available [2018-11-23 06:47:39,161 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 129 states to 84 states and 129 transitions. [2018-11-23 06:47:39,161 INFO L276 IsEmpty]: Start isEmpty. Operand 84 states and 129 transitions. [2018-11-23 06:47:39,162 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 21 [2018-11-23 06:47:39,162 INFO L427 CodeCheckObserver]: Error Path is FOUND. [2018-11-23 06:47:39,162 ERROR L613 CodeCheckObserver]: First Tracecheck threw exception Indexed Sort FloatingPoint undefined [2018-11-23 06:47:39,277 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 06:47:39,285 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 06:47:39,356 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 06:47:39,357 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 06:47:39,362 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 2 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 33 treesize of output 43 [2018-11-23 06:47:39,419 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 27 treesize of output 21 [2018-11-23 06:47:39,420 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 06:47:39,436 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 17 treesize of output 13 [2018-11-23 06:47:39,442 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 13 treesize of output 1 [2018-11-23 06:47:39,442 INFO L267 ElimStorePlain]: Start of recursive call 5: End of recursive call: and 1 xjuncts. [2018-11-23 06:47:39,444 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 06:47:39,446 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 06:47:39,460 INFO L267 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-2 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2018-11-23 06:47:39,461 INFO L202 ElimStorePlain]: Needed 5 recursive calls to eliminate 3 variables, input treesize:50, output treesize:22 [2018-11-23 06:47:39,657 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 06:47:39,657 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 06:47:39,659 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 2 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 48 treesize of output 56 [2018-11-23 06:47:39,710 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 06:47:39,711 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 06:47:39,712 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 2 stores, 1 select indices, 1 select index equivalence classes, 2 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 37 treesize of output 44 [2018-11-23 06:47:39,712 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 06:47:39,731 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 35 treesize of output 27 [2018-11-23 06:47:39,745 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 06:47:39,745 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 2 select indices, 2 select index equivalence classes, 2 disjoint index pairs (out of 1 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 23 treesize of output 13 [2018-11-23 06:47:39,746 INFO L267 ElimStorePlain]: Start of recursive call 5: End of recursive call: and 1 xjuncts. [2018-11-23 06:47:39,756 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 06:47:39,764 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 06:47:39,787 INFO L267 ElimStorePlain]: Start of recursive call 1: 4 dim-0 vars, 1 dim-2 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2018-11-23 06:47:39,788 INFO L202 ElimStorePlain]: Needed 5 recursive calls to eliminate 5 variables, input treesize:85, output treesize:46 [2018-11-23 06:47:39,934 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 06:47:39,935 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 06:47:39,936 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 2 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 33 treesize of output 43 [2018-11-23 06:47:39,972 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 06:47:39,979 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 2 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 24 treesize of output 24 [2018-11-23 06:47:39,979 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 06:47:39,997 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 24 treesize of output 18 [2018-11-23 06:47:40,005 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 18 treesize of output 4 [2018-11-23 06:47:40,005 INFO L267 ElimStorePlain]: Start of recursive call 5: End of recursive call: and 1 xjuncts. [2018-11-23 06:47:40,010 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 06:47:40,014 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 06:47:40,045 INFO L267 ElimStorePlain]: Start of recursive call 1: 4 dim-0 vars, 1 dim-2 vars, End of recursive call: 3 dim-0 vars, and 1 xjuncts. [2018-11-23 06:47:40,045 INFO L202 ElimStorePlain]: Needed 5 recursive calls to eliminate 5 variables, input treesize:92, output treesize:64 [2018-11-23 06:47:41,407 WARN L180 SmtUtils]: Spent 383.00 ms on a formula simplification that was a NOOP. DAG size: 48 [2018-11-23 06:47:41,969 WARN L180 SmtUtils]: Spent 465.00 ms on a formula simplification that was a NOOP. DAG size: 49 [2018-11-23 06:47:41,981 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-23 06:47:43,932 WARN L180 SmtUtils]: Spent 290.00 ms on a formula simplification that was a NOOP. DAG size: 50 [2018-11-23 06:47:44,109 INFO L82 GeneralOperation]: Start removeUnreachable. Operand no size info available [2018-11-23 06:47:44,110 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 128 states to 84 states and 128 transitions. [2018-11-23 06:47:44,110 INFO L276 IsEmpty]: Start isEmpty. Operand 84 states and 128 transitions. [2018-11-23 06:47:44,110 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 24 [2018-11-23 06:47:44,110 INFO L427 CodeCheckObserver]: Error Path is FOUND. [2018-11-23 06:47:44,111 ERROR L613 CodeCheckObserver]: First Tracecheck threw exception Indexed Sort FloatingPoint undefined [2018-11-23 06:47:44,181 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 06:47:44,189 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 06:47:44,285 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 06:47:44,285 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 06:47:44,286 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 2 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 48 treesize of output 56 [2018-11-23 06:47:44,329 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 2 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 40 treesize of output 43 [2018-11-23 06:47:44,351 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 23 treesize of output 9 [2018-11-23 06:47:44,351 INFO L267 ElimStorePlain]: Start of recursive call 4: End of recursive call: and 1 xjuncts. [2018-11-23 06:47:44,363 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 06:47:44,375 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 17 treesize of output 13 [2018-11-23 06:47:44,379 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 13 treesize of output 1 [2018-11-23 06:47:44,380 INFO L267 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2018-11-23 06:47:44,381 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 06:47:44,387 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 06:47:44,397 INFO L267 ElimStorePlain]: Start of recursive call 1: 3 dim-0 vars, 1 dim-2 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2018-11-23 06:47:44,397 INFO L202 ElimStorePlain]: Needed 6 recursive calls to eliminate 4 variables, input treesize:57, output treesize:18 [2018-11-23 06:47:51,547 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-23 06:48:42,960 WARN L180 SmtUtils]: Spent 7.63 s on a formula simplification that was a NOOP. DAG size: 62 [2018-11-23 06:48:46,399 WARN L180 SmtUtils]: Spent 294.00 ms on a formula simplification that was a NOOP. DAG size: 62 [2018-11-23 06:49:30,046 WARN L180 SmtUtils]: Spent 16.13 s on a formula simplification that was a NOOP. DAG size: 63 [2018-11-23 06:50:43,819 WARN L180 SmtUtils]: Spent 8.91 s on a formula simplification that was a NOOP. DAG size: 64 [2018-11-23 06:51:39,323 WARN L180 SmtUtils]: Spent 5.37 s on a formula simplification that was a NOOP. DAG size: 65 [2018-11-23 06:51:55,796 INFO L82 GeneralOperation]: Start removeUnreachable. Operand no size info available [2018-11-23 06:51:55,796 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 121 states to 81 states and 121 transitions. [2018-11-23 06:51:55,797 INFO L276 IsEmpty]: Start isEmpty. Operand 81 states and 121 transitions. [2018-11-23 06:51:55,797 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 24 [2018-11-23 06:51:55,797 INFO L427 CodeCheckObserver]: Error Path is FOUND. [2018-11-23 06:51:55,798 ERROR L613 CodeCheckObserver]: First Tracecheck threw exception Indexed Sort FloatingPoint undefined [2018-11-23 06:51:55,857 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 06:51:55,865 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 06:52:12,528 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 06:52:12,529 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 06:52:12,530 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 2 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 33 treesize of output 43 [2018-11-23 06:52:12,576 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 06:52:12,577 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 2 disjoint index pairs (out of 1 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 27 treesize of output 33 [2018-11-23 06:52:12,578 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 06:52:12,589 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 24 treesize of output 18 [2018-11-23 06:52:12,593 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 06:52:12,593 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 2 select indices, 2 select index equivalence classes, 2 disjoint index pairs (out of 1 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 18 treesize of output 11 [2018-11-23 06:52:12,594 INFO L267 ElimStorePlain]: Start of recursive call 5: End of recursive call: and 1 xjuncts. [2018-11-23 06:52:12,598 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 06:52:12,600 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 06:52:12,605 INFO L267 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-2 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2018-11-23 06:52:12,605 INFO L202 ElimStorePlain]: Needed 5 recursive calls to eliminate 3 variables, input treesize:47, output treesize:19 [2018-11-23 06:52:16,842 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-23 06:52:40,612 INFO L82 GeneralOperation]: Start removeUnreachable. Operand no size info available [2018-11-23 06:52:40,613 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 120 states to 81 states and 120 transitions. [2018-11-23 06:52:40,613 INFO L276 IsEmpty]: Start isEmpty. Operand 81 states and 120 transitions. [2018-11-23 06:52:40,615 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 26 [2018-11-23 06:52:40,616 INFO L427 CodeCheckObserver]: Error Path is FOUND. [2018-11-23 06:52:40,616 ERROR L613 CodeCheckObserver]: First Tracecheck threw exception Indexed Sort FloatingPoint undefined [2018-11-23 06:52:40,702 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 06:52:40,713 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 06:52:40,720 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 06:52:40,720 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 06:52:40,721 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 2 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 33 treesize of output 43 [2018-11-23 06:52:40,768 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 06:52:40,769 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 2 disjoint index pairs (out of 1 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 27 treesize of output 33 [2018-11-23 06:52:40,770 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 06:52:40,786 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 24 treesize of output 18 [2018-11-23 06:52:40,789 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 06:52:40,790 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 2 select indices, 2 select index equivalence classes, 2 disjoint index pairs (out of 1 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 18 treesize of output 10 [2018-11-23 06:52:40,790 INFO L267 ElimStorePlain]: Start of recursive call 5: End of recursive call: and 1 xjuncts. [2018-11-23 06:52:40,796 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 06:52:40,798 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 06:52:40,806 INFO L267 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-2 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2018-11-23 06:52:40,806 INFO L202 ElimStorePlain]: Needed 5 recursive calls to eliminate 3 variables, input treesize:47, output treesize:19 [2018-11-23 06:52:51,674 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-23 06:52:51,705 INFO L82 GeneralOperation]: Start removeUnreachable. Operand no size info available [2018-11-23 06:52:51,706 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 119 states to 81 states and 119 transitions. [2018-11-23 06:52:51,706 INFO L276 IsEmpty]: Start isEmpty. Operand 81 states and 119 transitions. [2018-11-23 06:52:51,707 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 27 [2018-11-23 06:52:51,707 INFO L427 CodeCheckObserver]: Error Path is FOUND. [2018-11-23 06:52:51,708 ERROR L613 CodeCheckObserver]: First Tracecheck threw exception Indexed Sort FloatingPoint undefined [2018-11-23 06:52:51,799 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 06:52:51,806 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 06:53:04,668 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-23 06:53:21,462 WARN L194 Executor]: External (z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:10000) stderr output: (error "out of memory") [2018-11-23 06:53:21,463 FATAL L265 ToolchainWalker]: An unrecoverable error occured during an interaction with an SMT solver: de.uni_freiburg.informatik.ultimate.logic.SMTLIBException: External (z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:10000)Received EOF on stdin. stderr output: (error "out of memory") at de.uni_freiburg.informatik.ultimate.smtsolver.external.Executor.parse(Executor.java:208) at de.uni_freiburg.informatik.ultimate.smtsolver.external.Executor.parseCheckSatResult(Executor.java:225) at de.uni_freiburg.informatik.ultimate.smtsolver.external.Scriptor.checkSat(Scriptor.java:155) at de.uni_freiburg.informatik.ultimate.modelcheckerutils.smt.WrapperScript.checkSat(WrapperScript.java:116) at de.uni_freiburg.informatik.ultimate.modelcheckerutils.smt.managedscript.ManagedScript.checkSat(ManagedScript.java:141) at de.uni_freiburg.informatik.ultimate.modelcheckerutils.smt.MonolithicImplicationChecker.checkImplication(MonolithicImplicationChecker.java:84) at de.uni_freiburg.informatik.ultimate.modelcheckerutils.smt.predicates.PredicateUnifier$PredicateComparison.compare(PredicateUnifier.java:928) at de.uni_freiburg.informatik.ultimate.modelcheckerutils.smt.predicates.PredicateUnifier$PredicateComparison.(PredicateUnifier.java:767) at de.uni_freiburg.informatik.ultimate.modelcheckerutils.smt.predicates.PredicateUnifier.getOrConstructPredicate(PredicateUnifier.java:339) at de.uni_freiburg.informatik.ultimate.modelcheckerutils.smt.predicates.PredicateUnifier.getOrConstructPredicate(PredicateUnifier.java:286) at de.uni_freiburg.informatik.ultimate.plugins.generator.codecheck.CodeChecker.negatePredicate(CodeChecker.java:100) at de.uni_freiburg.informatik.ultimate.plugins.generator.codecheck.kojak.UltimateChecker.isSatEdge(UltimateChecker.java:237) at de.uni_freiburg.informatik.ultimate.plugins.generator.codecheck.kojak.UltimateChecker.connectOutgoingIfSat(UltimateChecker.java:199) at de.uni_freiburg.informatik.ultimate.plugins.generator.codecheck.kojak.UltimateChecker.splitNode(UltimateChecker.java:126) at de.uni_freiburg.informatik.ultimate.plugins.generator.codecheck.kojak.UltimateChecker.codeCheck(UltimateChecker.java:95) at de.uni_freiburg.informatik.ultimate.plugins.generator.codecheck.CodeCheckObserver.process(CodeCheckObserver.java:489) at de.uni_freiburg.informatik.ultimate.core.coreplugin.modelwalker.CFGWalker.runObserver(CFGWalker.java:57) at de.uni_freiburg.informatik.ultimate.core.coreplugin.modelwalker.BaseWalker.runObserver(BaseWalker.java:93) at de.uni_freiburg.informatik.ultimate.core.coreplugin.modelwalker.BaseWalker.run(BaseWalker.java:86) at de.uni_freiburg.informatik.ultimate.core.coreplugin.PluginConnector.runObserver(PluginConnector.java:167) at de.uni_freiburg.informatik.ultimate.core.coreplugin.PluginConnector.runTool(PluginConnector.java:151) at de.uni_freiburg.informatik.ultimate.core.coreplugin.PluginConnector.run(PluginConnector.java:128) at de.uni_freiburg.informatik.ultimate.core.coreplugin.ToolchainWalker.executePluginConnector(ToolchainWalker.java:232) at de.uni_freiburg.informatik.ultimate.core.coreplugin.ToolchainWalker.processPlugin(ToolchainWalker.java:226) at de.uni_freiburg.informatik.ultimate.core.coreplugin.ToolchainWalker.walkUnprotected(ToolchainWalker.java:142) at de.uni_freiburg.informatik.ultimate.core.coreplugin.ToolchainWalker.walk(ToolchainWalker.java:104) at de.uni_freiburg.informatik.ultimate.core.coreplugin.ToolchainManager$Toolchain.processToolchain(ToolchainManager.java:316) at de.uni_freiburg.informatik.ultimate.core.coreplugin.toolchain.DefaultToolchainJob.run(DefaultToolchainJob.java:145) at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55) Caused by: de.uni_freiburg.informatik.ultimate.logic.SMTLIBException: EOF at de.uni_freiburg.informatik.ultimate.smtsolver.external.Parser$Action$.CUP$do_action(Parser.java:1427) at de.uni_freiburg.informatik.ultimate.smtsolver.external.Parser.do_action(Parser.java:630) at com.github.jhoenicke.javacup.runtime.LRParser.parse(LRParser.java:419) at de.uni_freiburg.informatik.ultimate.smtsolver.external.Executor.parse(Executor.java:205) ... 28 more [2018-11-23 06:53:21,465 INFO L168 Benchmark]: Toolchain (without parser) took 565061.04 ms. Allocated memory was 1.0 GB in the beginning and 1.2 GB in the end (delta: 186.1 MB). Free memory was 942.5 MB in the beginning and 1.2 GB in the end (delta: -210.1 MB). There was no memory consumed. Max. memory is 11.5 GB. [2018-11-23 06:53:21,465 INFO L168 Benchmark]: CDTParser took 0.15 ms. Allocated memory is still 1.0 GB. Free memory is still 978.7 MB. There was no memory consumed. Max. memory is 11.5 GB. [2018-11-23 06:53:21,466 INFO L168 Benchmark]: CACSL2BoogieTranslator took 278.73 ms. Allocated memory is still 1.0 GB. Free memory was 937.1 MB in the beginning and 921.0 MB in the end (delta: 16.1 MB). Peak memory consumption was 16.1 MB. Max. memory is 11.5 GB. [2018-11-23 06:53:21,466 INFO L168 Benchmark]: Boogie Procedure Inliner took 79.35 ms. Allocated memory was 1.0 GB in the beginning and 1.2 GB in the end (delta: 127.9 MB). Free memory was 921.0 MB in the beginning and 1.1 GB in the end (delta: -201.4 MB). Peak memory consumption was 16.0 MB. Max. memory is 11.5 GB. [2018-11-23 06:53:21,467 INFO L168 Benchmark]: Boogie Preprocessor took 40.14 ms. Allocated memory is still 1.2 GB. Free memory was 1.1 GB in the beginning and 1.1 GB in the end (delta: 6.6 MB). Peak memory consumption was 6.6 MB. Max. memory is 11.5 GB. [2018-11-23 06:53:21,467 INFO L168 Benchmark]: RCFGBuilder took 222062.48 ms. Allocated memory is still 1.2 GB. Free memory was 1.1 GB in the beginning and 1.0 GB in the end (delta: 103.2 MB). Peak memory consumption was 103.2 MB. Max. memory is 11.5 GB. [2018-11-23 06:53:21,467 INFO L168 Benchmark]: CodeCheck took 342597.67 ms. Allocated memory was 1.2 GB in the beginning and 1.2 GB in the end (delta: 58.2 MB). Free memory was 1.0 GB in the beginning and 1.2 GB in the end (delta: -140.1 MB). There was no memory consumed. Max. memory is 11.5 GB. [2018-11-23 06:53:21,470 INFO L336 ainManager$Toolchain]: ####################### End [Toolchain 1] ####################### --- Results --- * Results from de.uni_freiburg.informatik.ultimate.plugins.generator.codecheck: - ExceptionOrErrorResult: SMTLIBException: External (z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:10000)Received EOF on stdin. stderr output: (error "out of memory") de.uni_freiburg.informatik.ultimate.plugins.generator.codecheck: SMTLIBException: External (z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:10000)Received EOF on stdin. stderr output: (error "out of memory") : de.uni_freiburg.informatik.ultimate.smtsolver.external.Executor.parse(Executor.java:208) * Results from de.uni_freiburg.informatik.ultimate.core: - StatisticsResult: Toolchain Benchmarks Benchmark results are: * CDTParser took 0.15 ms. Allocated memory is still 1.0 GB. Free memory is still 978.7 MB. There was no memory consumed. Max. memory is 11.5 GB. * CACSL2BoogieTranslator took 278.73 ms. Allocated memory is still 1.0 GB. Free memory was 937.1 MB in the beginning and 921.0 MB in the end (delta: 16.1 MB). Peak memory consumption was 16.1 MB. Max. memory is 11.5 GB. * Boogie Procedure Inliner took 79.35 ms. Allocated memory was 1.0 GB in the beginning and 1.2 GB in the end (delta: 127.9 MB). Free memory was 921.0 MB in the beginning and 1.1 GB in the end (delta: -201.4 MB). Peak memory consumption was 16.0 MB. Max. memory is 11.5 GB. * Boogie Preprocessor took 40.14 ms. Allocated memory is still 1.2 GB. Free memory was 1.1 GB in the beginning and 1.1 GB in the end (delta: 6.6 MB). Peak memory consumption was 6.6 MB. Max. memory is 11.5 GB. * RCFGBuilder took 222062.48 ms. Allocated memory is still 1.2 GB. Free memory was 1.1 GB in the beginning and 1.0 GB in the end (delta: 103.2 MB). Peak memory consumption was 103.2 MB. Max. memory is 11.5 GB. * CodeCheck took 342597.67 ms. Allocated memory was 1.2 GB in the beginning and 1.2 GB in the end (delta: 58.2 MB). Free memory was 1.0 GB in the beginning and 1.2 GB in the end (delta: -140.1 MB). There was no memory consumed. Max. memory is 11.5 GB. RESULT: Ultimate could not prove your program: Toolchain returned no result. Received shutdown request...