./Ultimate.py --spec ../../sv-benchmarks/c/properties/unreach-call.prp --file ../../sv-benchmarks/c/float-newlib/double_req_bl_0683a_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_57a03755-f989-4b49-b912-75361c40a199/bin-2019/uautomizer/data/config -Xmx12G -Xms1G -jar /tmp/vcloud-vcloud-master/worker/working_dir_57a03755-f989-4b49-b912-75361c40a199/bin-2019/uautomizer/plugins/org.eclipse.equinox.launcher_1.3.100.v20150511-1540.jar -data @noDefault -ultimatedata /tmp/vcloud-vcloud-master/worker/working_dir_57a03755-f989-4b49-b912-75361c40a199/bin-2019/uautomizer/data -tc /tmp/vcloud-vcloud-master/worker/working_dir_57a03755-f989-4b49-b912-75361c40a199/bin-2019/uautomizer/config/AutomizerReach.xml -i ../../sv-benchmarks/c/float-newlib/double_req_bl_0683a_true-unreach-call.c -s /tmp/vcloud-vcloud-master/worker/working_dir_57a03755-f989-4b49-b912-75361c40a199/bin-2019/uautomizer/config/svcomp-Reach-32bit-Automizer_Default.epf --cacsl2boogietranslator.entry.function main --witnessprinter.witness.directory /tmp/vcloud-vcloud-master/worker/working_dir_57a03755-f989-4b49-b912-75361c40a199/bin-2019/uautomizer --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 Automizer --witnessprinter.graph.data.architecture 32bit --witnessprinter.graph.data.programhash 4b7d4ca5abe407f92e494aeba8bd319058a84bcf ................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................... 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_57a03755-f989-4b49-b912-75361c40a199/bin-2019/uautomizer/data/config -Xmx12G -Xms1G -jar /tmp/vcloud-vcloud-master/worker/working_dir_57a03755-f989-4b49-b912-75361c40a199/bin-2019/uautomizer/plugins/org.eclipse.equinox.launcher_1.3.100.v20150511-1540.jar -data @noDefault -ultimatedata /tmp/vcloud-vcloud-master/worker/working_dir_57a03755-f989-4b49-b912-75361c40a199/bin-2019/uautomizer/data -tc /tmp/vcloud-vcloud-master/worker/working_dir_57a03755-f989-4b49-b912-75361c40a199/bin-2019/uautomizer/config/AutomizerReach.xml -i ../../sv-benchmarks/c/float-newlib/double_req_bl_0683a_true-unreach-call.c -s /tmp/vcloud-vcloud-master/worker/working_dir_57a03755-f989-4b49-b912-75361c40a199/bin-2019/uautomizer/config/svcomp-Reach-32bit-Automizer_Bitvector.epf --cacsl2boogietranslator.entry.function main --witnessprinter.witness.directory /tmp/vcloud-vcloud-master/worker/working_dir_57a03755-f989-4b49-b912-75361c40a199/bin-2019/uautomizer --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 Automizer --witnessprinter.graph.data.architecture 32bit --witnessprinter.graph.data.programhash 4b7d4ca5abe407f92e494aeba8bd319058a84bcf ................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................... Execution finished normally Writing output log to file Ultimate.log Result: ERROR: ExceptionOrErrorResult: SMTLIBException: External (z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000)Received EOF on stdin. stderr output: (error "out of memory") --- Real Ultimate output --- This is Ultimate 0.1.23-aa41828 [2018-11-23 06:45:36,898 INFO L170 SettingsManager]: Resetting all preferences to default values... [2018-11-23 06:45:36,899 INFO L174 SettingsManager]: Resetting UltimateCore preferences to default values [2018-11-23 06:45:36,906 INFO L177 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2018-11-23 06:45:36,906 INFO L174 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2018-11-23 06:45:36,907 INFO L174 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2018-11-23 06:45:36,908 INFO L174 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2018-11-23 06:45:36,909 INFO L174 SettingsManager]: Resetting LassoRanker preferences to default values [2018-11-23 06:45:36,910 INFO L174 SettingsManager]: Resetting Reaching Definitions preferences to default values [2018-11-23 06:45:36,911 INFO L174 SettingsManager]: Resetting SyntaxChecker preferences to default values [2018-11-23 06:45:36,911 INFO L177 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2018-11-23 06:45:36,911 INFO L174 SettingsManager]: Resetting LTL2Aut preferences to default values [2018-11-23 06:45:36,912 INFO L174 SettingsManager]: Resetting PEA to Boogie preferences to default values [2018-11-23 06:45:36,913 INFO L174 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2018-11-23 06:45:36,913 INFO L174 SettingsManager]: Resetting ChcToBoogie preferences to default values [2018-11-23 06:45:36,914 INFO L174 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2018-11-23 06:45:36,915 INFO L174 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2018-11-23 06:45:36,916 INFO L174 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2018-11-23 06:45:36,917 INFO L174 SettingsManager]: Resetting CodeCheck preferences to default values [2018-11-23 06:45:36,918 INFO L174 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2018-11-23 06:45:36,919 INFO L174 SettingsManager]: Resetting RCFGBuilder preferences to default values [2018-11-23 06:45:36,919 INFO L174 SettingsManager]: Resetting TraceAbstraction preferences to default values [2018-11-23 06:45:36,921 INFO L177 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2018-11-23 06:45:36,921 INFO L177 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2018-11-23 06:45:36,921 INFO L174 SettingsManager]: Resetting TreeAutomizer preferences to default values [2018-11-23 06:45:36,922 INFO L174 SettingsManager]: Resetting IcfgTransformer preferences to default values [2018-11-23 06:45:36,923 INFO L174 SettingsManager]: Resetting Boogie Printer preferences to default values [2018-11-23 06:45:36,923 INFO L174 SettingsManager]: Resetting ReqPrinter preferences to default values [2018-11-23 06:45:36,924 INFO L174 SettingsManager]: Resetting Witness Printer preferences to default values [2018-11-23 06:45:36,924 INFO L177 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2018-11-23 06:45:36,925 INFO L174 SettingsManager]: Resetting CDTParser preferences to default values [2018-11-23 06:45:36,925 INFO L177 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2018-11-23 06:45:36,925 INFO L177 SettingsManager]: ReqParser provides no preferences, ignoring... [2018-11-23 06:45:36,925 INFO L174 SettingsManager]: Resetting SmtParser preferences to default values [2018-11-23 06:45:36,926 INFO L174 SettingsManager]: Resetting Witness Parser preferences to default values [2018-11-23 06:45:36,927 INFO L181 SettingsManager]: Finished resetting all preferences to default values... [2018-11-23 06:45:36,927 INFO L98 SettingsManager]: Beginning loading settings from /tmp/vcloud-vcloud-master/worker/working_dir_57a03755-f989-4b49-b912-75361c40a199/bin-2019/uautomizer/config/svcomp-Reach-32bit-Automizer_Default.epf [2018-11-23 06:45:36,937 INFO L110 SettingsManager]: Loading preferences was successful [2018-11-23 06:45:36,937 INFO L112 SettingsManager]: Preferences different from defaults after loading the file: [2018-11-23 06:45:36,938 INFO L131 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2018-11-23 06:45:36,938 INFO L133 SettingsManager]: * ... calls to implemented procedures=ONLY_FOR_CONCURRENT_PROGRAMS [2018-11-23 06:45:36,939 INFO L131 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2018-11-23 06:45:36,939 INFO L133 SettingsManager]: * Create parallel compositions if possible=false [2018-11-23 06:45:36,939 INFO L133 SettingsManager]: * Use SBE=true [2018-11-23 06:45:36,939 INFO L131 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2018-11-23 06:45:36,939 INFO L133 SettingsManager]: * sizeof long=4 [2018-11-23 06:45:36,939 INFO L133 SettingsManager]: * Overapproximate operations on floating types=true [2018-11-23 06:45:36,940 INFO L133 SettingsManager]: * sizeof POINTER=4 [2018-11-23 06:45:36,940 INFO L133 SettingsManager]: * Check division by zero=IGNORE [2018-11-23 06:45:36,940 INFO L133 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2018-11-23 06:45:36,940 INFO L133 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2018-11-23 06:45:36,940 INFO L133 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2018-11-23 06:45:36,940 INFO L133 SettingsManager]: * sizeof long double=12 [2018-11-23 06:45:36,940 INFO L133 SettingsManager]: * Check if freed pointer was valid=false [2018-11-23 06:45:36,940 INFO L133 SettingsManager]: * Use constant arrays=true [2018-11-23 06:45:36,940 INFO L133 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2018-11-23 06:45:36,941 INFO L131 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2018-11-23 06:45:36,941 INFO L133 SettingsManager]: * Size of a code block=SequenceOfStatements [2018-11-23 06:45:36,941 INFO L133 SettingsManager]: * To the following directory=./dump/ [2018-11-23 06:45:36,941 INFO L133 SettingsManager]: * SMT solver=External_DefaultMode [2018-11-23 06:45:36,941 INFO L133 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2018-11-23 06:45:36,941 INFO L131 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2018-11-23 06:45:36,941 INFO L133 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2018-11-23 06:45:36,941 INFO L133 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopsAndPotentialCycles [2018-11-23 06:45:36,941 INFO L133 SettingsManager]: * Trace refinement strategy=CAMEL [2018-11-23 06:45:36,941 INFO L133 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode [2018-11-23 06:45:36,941 INFO L133 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2018-11-23 06:45:36,942 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_57a03755-f989-4b49-b912-75361c40a199/bin-2019/uautomizer 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 -> Automizer 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 -> 4b7d4ca5abe407f92e494aeba8bd319058a84bcf [2018-11-23 06:45:36,965 INFO L81 nceAwareModelManager]: Repository-Root is: /tmp [2018-11-23 06:45:36,973 INFO L258 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2018-11-23 06:45:36,975 INFO L214 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2018-11-23 06:45:36,976 INFO L271 PluginConnector]: Initializing CDTParser... [2018-11-23 06:45:36,976 INFO L276 PluginConnector]: CDTParser initialized [2018-11-23 06:45:36,976 INFO L418 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /tmp/vcloud-vcloud-master/worker/working_dir_57a03755-f989-4b49-b912-75361c40a199/bin-2019/uautomizer/../../sv-benchmarks/c/float-newlib/double_req_bl_0683a_true-unreach-call.c [2018-11-23 06:45:37,010 INFO L221 CDTParser]: Created temporary CDT project at /tmp/vcloud-vcloud-master/worker/working_dir_57a03755-f989-4b49-b912-75361c40a199/bin-2019/uautomizer/data/e2467294c/21ccdc76a56642f298bfcaee5a39c9a2/FLAGb0c557aae [2018-11-23 06:45:37,336 INFO L307 CDTParser]: Found 1 translation units. [2018-11-23 06:45:37,336 INFO L161 CDTParser]: Scanning /tmp/vcloud-vcloud-master/worker/working_dir_57a03755-f989-4b49-b912-75361c40a199/sv-benchmarks/c/float-newlib/double_req_bl_0683a_true-unreach-call.c [2018-11-23 06:45:37,341 INFO L355 CDTParser]: About to delete temporary CDT project at /tmp/vcloud-vcloud-master/worker/working_dir_57a03755-f989-4b49-b912-75361c40a199/bin-2019/uautomizer/data/e2467294c/21ccdc76a56642f298bfcaee5a39c9a2/FLAGb0c557aae [2018-11-23 06:45:37,352 INFO L363 CDTParser]: Successfully deleted /tmp/vcloud-vcloud-master/worker/working_dir_57a03755-f989-4b49-b912-75361c40a199/bin-2019/uautomizer/data/e2467294c/21ccdc76a56642f298bfcaee5a39c9a2 [2018-11-23 06:45:37,355 INFO L296 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2018-11-23 06:45:37,356 INFO L131 ToolchainWalker]: Walking toolchain with 6 elements. [2018-11-23 06:45:37,357 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2018-11-23 06:45:37,357 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2018-11-23 06:45:37,360 INFO L276 PluginConnector]: CACSL2BoogieTranslator initialized [2018-11-23 06:45:37,361 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 23.11 06:45:37" (1/1) ... [2018-11-23 06:45:37,363 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@2780dd4e and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 06:45:37, skipping insertion in model container [2018-11-23 06:45:37,363 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 23.11 06:45:37" (1/1) ... [2018-11-23 06:45:37,371 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2018-11-23 06:45:37,396 INFO L176 MainTranslator]: Built tables and reachable declarations [2018-11-23 06:45:37,546 INFO L201 PostProcessor]: Analyzing one entry point: main [2018-11-23 06:45:37,550 INFO L191 MainTranslator]: Completed pre-run [2018-11-23 06:45:37,586 INFO L201 PostProcessor]: Analyzing one entry point: main [2018-11-23 06:45:37,647 INFO L195 MainTranslator]: Completed translation [2018-11-23 06:45:37,648 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 06:45:37 WrapperNode [2018-11-23 06:45:37,648 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2018-11-23 06:45:37,648 INFO L113 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2018-11-23 06:45:37,648 INFO L271 PluginConnector]: Initializing Boogie Procedure Inliner... [2018-11-23 06:45:37,648 INFO L276 PluginConnector]: Boogie Procedure Inliner initialized [2018-11-23 06:45:37,653 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:45:37" (1/1) ... [2018-11-23 06:45:37,662 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:45:37" (1/1) ... [2018-11-23 06:45:37,667 INFO L132 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2018-11-23 06:45:37,667 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2018-11-23 06:45:37,667 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2018-11-23 06:45:37,667 INFO L276 PluginConnector]: Boogie Preprocessor initialized [2018-11-23 06:45:37,673 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 06:45:37" (1/1) ... [2018-11-23 06:45:37,673 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 06:45:37" (1/1) ... [2018-11-23 06:45:37,678 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 06:45:37" (1/1) ... [2018-11-23 06:45:37,679 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 06:45:37" (1/1) ... [2018-11-23 06:45:37,698 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 06:45:37" (1/1) ... [2018-11-23 06:45:37,704 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 06:45:37" (1/1) ... [2018-11-23 06:45:37,706 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 06:45:37" (1/1) ... [2018-11-23 06:45:37,709 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2018-11-23 06:45:37,709 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2018-11-23 06:45:37,709 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2018-11-23 06:45:37,709 INFO L276 PluginConnector]: RCFGBuilder initialized [2018-11-23 06:45:37,710 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 06:45:37" (1/1) ... No working directory specified, using /tmp/vcloud-vcloud-master/worker/working_dir_57a03755-f989-4b49-b912-75361c40a199/bin-2019/uautomizer/z3 Starting monitored process 1 with z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (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:2000 [2018-11-23 06:45:37,756 INFO L130 BoogieDeclarations]: Found specification of procedure isfinite_double [2018-11-23 06:45:37,756 INFO L138 BoogieDeclarations]: Found implementation of procedure isfinite_double [2018-11-23 06:45:37,756 INFO L130 BoogieDeclarations]: Found specification of procedure isinf_double [2018-11-23 06:45:37,756 INFO L138 BoogieDeclarations]: Found implementation of procedure isinf_double [2018-11-23 06:45:37,756 INFO L130 BoogieDeclarations]: Found specification of procedure __signbit_double [2018-11-23 06:45:37,756 INFO L138 BoogieDeclarations]: Found implementation of procedure __signbit_double [2018-11-23 06:45:37,757 INFO L130 BoogieDeclarations]: Found specification of procedure main [2018-11-23 06:45:37,757 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2018-11-23 06:45:37,757 INFO L130 BoogieDeclarations]: Found specification of procedure __ieee754_atan2 [2018-11-23 06:45:37,757 INFO L138 BoogieDeclarations]: Found implementation of procedure __ieee754_atan2 [2018-11-23 06:45:37,757 INFO L130 BoogieDeclarations]: Found specification of procedure read~real [2018-11-23 06:45:37,757 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2018-11-23 06:45:37,757 INFO L130 BoogieDeclarations]: Found specification of procedure fabs_double [2018-11-23 06:45:37,758 INFO L138 BoogieDeclarations]: Found implementation of procedure fabs_double [2018-11-23 06:45:37,758 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2018-11-23 06:45:37,758 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2018-11-23 06:45:37,758 INFO L130 BoogieDeclarations]: Found specification of procedure write~real [2018-11-23 06:45:37,758 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.alloc [2018-11-23 06:45:37,758 INFO L130 BoogieDeclarations]: Found specification of procedure atan_double [2018-11-23 06:45:37,758 INFO L138 BoogieDeclarations]: Found implementation of procedure atan_double [2018-11-23 06:45:37,758 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2018-11-23 06:45:37,759 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2018-11-23 06:45:37,759 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2018-11-23 06:45:37,759 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~real [2018-11-23 06:45:37,759 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2018-11-23 06:45:38,259 INFO L275 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2018-11-23 06:45:38,259 INFO L280 CfgBuilder]: Removed 22 assue(true) statements. [2018-11-23 06:45:38,259 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 23.11 06:45:38 BoogieIcfgContainer [2018-11-23 06:45:38,259 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2018-11-23 06:45:38,260 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2018-11-23 06:45:38,260 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2018-11-23 06:45:38,262 INFO L276 PluginConnector]: TraceAbstraction initialized [2018-11-23 06:45:38,263 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 23.11 06:45:37" (1/3) ... [2018-11-23 06:45:38,263 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@352bfbb and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 23.11 06:45:38, skipping insertion in model container [2018-11-23 06:45:38,263 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 06:45:37" (2/3) ... [2018-11-23 06:45:38,264 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@352bfbb and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 23.11 06:45:38, skipping insertion in model container [2018-11-23 06:45:38,264 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 23.11 06:45:38" (3/3) ... [2018-11-23 06:45:38,265 INFO L112 eAbstractionObserver]: Analyzing ICFG double_req_bl_0683a_true-unreach-call.c [2018-11-23 06:45:38,271 INFO L156 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2018-11-23 06:45:38,276 INFO L168 ceAbstractionStarter]: Appying trace abstraction to program that has 1 error locations. [2018-11-23 06:45:38,287 INFO L257 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2018-11-23 06:45:38,308 INFO L133 ementStrategyFactory]: Using default assertion order modulation [2018-11-23 06:45:38,309 INFO L382 AbstractCegarLoop]: Interprodecural is true [2018-11-23 06:45:38,309 INFO L383 AbstractCegarLoop]: Hoare is true [2018-11-23 06:45:38,309 INFO L384 AbstractCegarLoop]: Compute interpolants for FPandBP [2018-11-23 06:45:38,309 INFO L385 AbstractCegarLoop]: Backedges is STRAIGHT_LINE [2018-11-23 06:45:38,309 INFO L386 AbstractCegarLoop]: Determinization is PREDICATE_ABSTRACTION [2018-11-23 06:45:38,309 INFO L387 AbstractCegarLoop]: Difference is false [2018-11-23 06:45:38,310 INFO L388 AbstractCegarLoop]: Minimize is MINIMIZE_SEVPA [2018-11-23 06:45:38,310 INFO L393 AbstractCegarLoop]: ======== Iteration 0==of CEGAR loop == AllErrorsAtOnce======== [2018-11-23 06:45:38,324 INFO L276 IsEmpty]: Start isEmpty. Operand 129 states. [2018-11-23 06:45:38,328 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 29 [2018-11-23 06:45:38,329 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 06:45:38,329 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 06:45:38,331 INFO L423 AbstractCegarLoop]: === Iteration 1 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 06:45:38,336 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 06:45:38,336 INFO L82 PathProgramCache]: Analyzing trace with hash 466315102, now seen corresponding path program 1 times [2018-11-23 06:45:38,337 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 06:45:38,338 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 06:45:38,369 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 06:45:38,369 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 06:45:38,369 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 06:45:38,412 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 06:45:38,452 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:45:38,453 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-23 06:45:38,454 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [2] imperfect sequences [] total 2 [2018-11-23 06:45:38,456 INFO L459 AbstractCegarLoop]: Interpolant automaton has 2 states [2018-11-23 06:45:38,465 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 2 interpolants. [2018-11-23 06:45:38,465 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=1, Invalid=1, Unknown=0, NotChecked=0, Total=2 [2018-11-23 06:45:38,466 INFO L87 Difference]: Start difference. First operand 129 states. Second operand 2 states. [2018-11-23 06:45:38,492 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 06:45:38,492 INFO L93 Difference]: Finished difference Result 250 states and 387 transitions. [2018-11-23 06:45:38,492 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 2 states. [2018-11-23 06:45:38,493 INFO L78 Accepts]: Start accepts. Automaton has 2 states. Word has length 28 [2018-11-23 06:45:38,494 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 06:45:38,500 INFO L225 Difference]: With dead ends: 250 [2018-11-23 06:45:38,500 INFO L226 Difference]: Without dead ends: 124 [2018-11-23 06:45:38,503 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 2 GetRequests, 2 SyntacticMatches, 0 SemanticMatches, 0 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=1, Invalid=1, Unknown=0, NotChecked=0, Total=2 [2018-11-23 06:45:38,516 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 124 states. [2018-11-23 06:45:38,537 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 124 to 124. [2018-11-23 06:45:38,539 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 124 states. [2018-11-23 06:45:38,540 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 124 states to 124 states and 165 transitions. [2018-11-23 06:45:38,542 INFO L78 Accepts]: Start accepts. Automaton has 124 states and 165 transitions. Word has length 28 [2018-11-23 06:45:38,542 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 06:45:38,542 INFO L480 AbstractCegarLoop]: Abstraction has 124 states and 165 transitions. [2018-11-23 06:45:38,542 INFO L481 AbstractCegarLoop]: Interpolant automaton has 2 states. [2018-11-23 06:45:38,542 INFO L276 IsEmpty]: Start isEmpty. Operand 124 states and 165 transitions. [2018-11-23 06:45:38,543 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 32 [2018-11-23 06:45:38,543 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 06:45:38,543 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 06:45:38,544 INFO L423 AbstractCegarLoop]: === Iteration 2 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 06:45:38,544 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 06:45:38,544 INFO L82 PathProgramCache]: Analyzing trace with hash 1702044329, now seen corresponding path program 1 times [2018-11-23 06:45:38,544 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 06:45:38,544 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 06:45:38,545 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 06:45:38,545 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 06:45:38,545 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 06:45:38,576 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 06:45:38,625 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:45:38,625 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-23 06:45:38,625 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2018-11-23 06:45:38,627 INFO L459 AbstractCegarLoop]: Interpolant automaton has 3 states [2018-11-23 06:45:38,627 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2018-11-23 06:45:38,627 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2018-11-23 06:45:38,627 INFO L87 Difference]: Start difference. First operand 124 states and 165 transitions. Second operand 3 states. [2018-11-23 06:45:38,661 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 06:45:38,661 INFO L93 Difference]: Finished difference Result 225 states and 306 transitions. [2018-11-23 06:45:38,662 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2018-11-23 06:45:38,662 INFO L78 Accepts]: Start accepts. Automaton has 3 states. Word has length 31 [2018-11-23 06:45:38,662 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 06:45:38,663 INFO L225 Difference]: With dead ends: 225 [2018-11-23 06:45:38,664 INFO L226 Difference]: Without dead ends: 124 [2018-11-23 06:45:38,665 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 3 GetRequests, 2 SyntacticMatches, 0 SemanticMatches, 1 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2018-11-23 06:45:38,665 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 124 states. [2018-11-23 06:45:38,673 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 124 to 124. [2018-11-23 06:45:38,673 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 124 states. [2018-11-23 06:45:38,674 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 124 states to 124 states and 164 transitions. [2018-11-23 06:45:38,674 INFO L78 Accepts]: Start accepts. Automaton has 124 states and 164 transitions. Word has length 31 [2018-11-23 06:45:38,674 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 06:45:38,674 INFO L480 AbstractCegarLoop]: Abstraction has 124 states and 164 transitions. [2018-11-23 06:45:38,674 INFO L481 AbstractCegarLoop]: Interpolant automaton has 3 states. [2018-11-23 06:45:38,675 INFO L276 IsEmpty]: Start isEmpty. Operand 124 states and 164 transitions. [2018-11-23 06:45:38,675 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 40 [2018-11-23 06:45:38,675 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 06:45:38,676 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 06:45:38,676 INFO L423 AbstractCegarLoop]: === Iteration 3 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 06:45:38,676 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 06:45:38,676 INFO L82 PathProgramCache]: Analyzing trace with hash 810186703, now seen corresponding path program 1 times [2018-11-23 06:45:38,676 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 06:45:38,676 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 06:45:38,677 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 06:45:38,677 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 06:45:38,677 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 06:45:38,758 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-11-23 06:45:38,809 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-11-23 06:45:38,832 INFO L469 BasicCegarLoop]: Counterexample might be feasible ----- class de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder.RCFGBacktranslator [?] CALL call ULTIMATE.init(); VAL [|#NULL.base|=10737418270, |#NULL.offset|=10737418263, |old(#NULL.base)|=10737418270, |old(#NULL.offset)|=10737418263, |old(~#aT_atan~0.base)|=10737418253, |old(~#aT_atan~0.offset)|=10737418260, |old(~#atanhi_atan~0.base)|=10737418255, |old(~#atanhi_atan~0.offset)|=10737418266, |old(~#atanlo_atan~0.base)|=10737418246, |old(~#atanlo_atan~0.offset)|=10737418279, |old(~huge_atan~0)|=10737418271.0, |old(~one_atan~0)|=10737418261.0, |old(~pi_lo_atan2~0)|=10737418259.0, |old(~pi_o_2~0)|=10737418241.0, |old(~pi_o_4~0)|=10737418265.0, |old(~pi~0)|=10737418268.0, |old(~tiny_atan2~0)|=10737418275.0, |old(~zero_atan2~0)|=10737418252.0, |~#aT_atan~0.base|=10737418253, |~#aT_atan~0.offset|=10737418260, |~#atanhi_atan~0.base|=10737418255, |~#atanhi_atan~0.offset|=10737418266, |~#atanlo_atan~0.base|=10737418246, |~#atanlo_atan~0.offset|=10737418279, ~huge_atan~0=10737418271.0, ~one_atan~0=10737418261.0, ~pi_lo_atan2~0=10737418259.0, ~pi_o_2~0=10737418241.0, ~pi_o_4~0=10737418265.0, ~pi~0=10737418268.0, ~tiny_atan2~0=10737418275.0, ~zero_atan2~0=10737418252.0] [?] #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; VAL [|#NULL.base|=0, |#NULL.offset|=0, |old(#NULL.base)|=10737418270, |old(#NULL.offset)|=10737418263, |old(~#aT_atan~0.base)|=10737418253, |old(~#aT_atan~0.offset)|=10737418260, |old(~#atanhi_atan~0.base)|=10737418255, |old(~#atanhi_atan~0.offset)|=10737418266, |old(~#atanlo_atan~0.base)|=10737418246, |old(~#atanlo_atan~0.offset)|=10737418279, |old(~huge_atan~0)|=10737418271.0, |old(~one_atan~0)|=10737418261.0, |old(~pi_lo_atan2~0)|=10737418259.0, |old(~pi_o_2~0)|=10737418241.0, |old(~pi_o_4~0)|=10737418265.0, |old(~pi~0)|=10737418268.0, |old(~tiny_atan2~0)|=10737418275.0, |old(~zero_atan2~0)|=10737418252.0, |~#aT_atan~0.base|=10737418254, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=10737418256, |~#atanhi_atan~0.offset|=0, |~#atanlo_atan~0.base|=10737418242, |~#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 true; VAL [|#NULL.base|=0, |#NULL.offset|=0, |old(#NULL.base)|=10737418270, |old(#NULL.offset)|=10737418263, |old(~#aT_atan~0.base)|=10737418253, |old(~#aT_atan~0.offset)|=10737418260, |old(~#atanhi_atan~0.base)|=10737418255, |old(~#atanhi_atan~0.offset)|=10737418266, |old(~#atanlo_atan~0.base)|=10737418246, |old(~#atanlo_atan~0.offset)|=10737418279, |old(~huge_atan~0)|=10737418271.0, |old(~one_atan~0)|=10737418261.0, |old(~pi_lo_atan2~0)|=10737418259.0, |old(~pi_o_2~0)|=10737418241.0, |old(~pi_o_4~0)|=10737418265.0, |old(~pi~0)|=10737418268.0, |old(~tiny_atan2~0)|=10737418275.0, |old(~zero_atan2~0)|=10737418252.0, |~#aT_atan~0.base|=10737418254, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=10737418256, |~#atanhi_atan~0.offset|=0, |~#atanlo_atan~0.base|=10737418242, |~#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] [?] RET #406#return; VAL [|#NULL.base|=0, |#NULL.offset|=0, |~#aT_atan~0.base|=10737418254, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=10737418256, |~#atanhi_atan~0.offset|=0, |~#atanlo_atan~0.base|=10737418242, |~#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 call #t~ret63 := main(); VAL [|#NULL.base|=0, |#NULL.offset|=0, |~#aT_atan~0.base|=10737418254, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=10737418256, |~#atanhi_atan~0.offset|=0, |~#atanlo_atan~0.base|=10737418242, |~#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] [?] ~x~0 := ~someBinaryArithmeticDOUBLEoperation(1.0, 0.0);~y~0 := #t~nondet56;havoc #t~nondet56; VAL [main_~y~0=10737418273.0, |#NULL.base|=0, |#NULL.offset|=0, |~#aT_atan~0.base|=10737418254, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=10737418256, |~#atanhi_atan~0.offset|=0, |~#atanlo_atan~0.base|=10737418242, |~#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 call #t~ret57 := isinf_double(~x~0); VAL [|#NULL.base|=0, |#NULL.offset|=0, |isinf_double_#in~x|=10737418262.0, |~#aT_atan~0.base|=10737418254, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=10737418256, |~#atanhi_atan~0.offset|=0, |~#atanlo_atan~0.base|=10737418242, |~#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] [?] ~x := #in~x;havoc ~hx~2;havoc ~lx~1; VAL [isinf_double_~x=10737418262.0, |#NULL.base|=0, |#NULL.offset|=0, |isinf_double_#in~x|=10737418262.0, |~#aT_atan~0.base|=10737418254, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=10737418256, |~#atanhi_atan~0.offset|=0, |~#atanlo_atan~0.base|=10737418242, |~#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 ~#ew_u~2.base, ~#ew_u~2.offset := #Ultimate.alloc(8);call write~real(~x, ~#ew_u~2.base, ~#ew_u~2.offset, 8);call #t~mem48 := read~int(~#ew_u~2.base, 4 + ~#ew_u~2.offset, 4);~hx~2 := (if #t~mem48 % 4294967296 % 4294967296 <= 2147483647 then #t~mem48 % 4294967296 % 4294967296 else #t~mem48 % 4294967296 % 4294967296 - 4294967296);call write~real(#t~union49, ~#ew_u~2.base, ~#ew_u~2.offset, 8);havoc #t~union49;havoc #t~mem48;call #t~mem50 := read~int(~#ew_u~2.base, ~#ew_u~2.offset, 4);~lx~1 := (if #t~mem50 % 4294967296 % 4294967296 <= 2147483647 then #t~mem50 % 4294967296 % 4294967296 else #t~mem50 % 4294967296 % 4294967296 - 4294967296);call write~real(#t~union51, ~#ew_u~2.base, ~#ew_u~2.offset, 8);havoc #t~union51;havoc #t~mem50;call ULTIMATE.dealloc(~#ew_u~2.base, ~#ew_u~2.offset);havoc ~#ew_u~2.base, ~#ew_u~2.offset; VAL [isinf_double_~hx~2=(- 2147483648), isinf_double_~lx~1=3, isinf_double_~x=10737418262.0, |#NULL.base|=0, |#NULL.offset|=0, |isinf_double_#in~x|=10737418262.0, |~#aT_atan~0.base|=10737418254, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=10737418256, |~#atanhi_atan~0.offset|=0, |~#atanlo_atan~0.base|=10737418242, |~#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 [isinf_double_~hx~2=(- 2147483648), isinf_double_~lx~1=3, isinf_double_~x=10737418262.0, |#NULL.base|=0, |#NULL.offset|=0, |isinf_double_#in~x|=10737418262.0, |~#aT_atan~0.base|=10737418254, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=10737418256, |~#atanhi_atan~0.offset|=0, |~#atanlo_atan~0.base|=10737418242, |~#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] [?] ~hx~2 := ~bitwiseAnd(~hx~2, 2147483647);~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);~hx~2 := 2146435072 - ~hx~2;#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); VAL [isinf_double_~hx~2=2146435073, isinf_double_~lx~1=3, isinf_double_~x=10737418262.0, |#NULL.base|=0, |#NULL.offset|=0, |isinf_double_#in~x|=10737418262.0, |isinf_double_#res|=2, |~#aT_atan~0.base|=10737418254, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=10737418256, |~#atanhi_atan~0.offset|=0, |~#atanlo_atan~0.base|=10737418242, |~#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 true; VAL [isinf_double_~hx~2=2146435073, isinf_double_~lx~1=3, isinf_double_~x=10737418262.0, |#NULL.base|=0, |#NULL.offset|=0, |isinf_double_#in~x|=10737418262.0, |isinf_double_#res|=2, |~#aT_atan~0.base|=10737418254, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=10737418256, |~#atanhi_atan~0.offset|=0, |~#atanlo_atan~0.base|=10737418242, |~#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] [?] RET #390#return; VAL [main_~x~0=10737418262.0, main_~y~0=10737418273.0, |#NULL.base|=0, |#NULL.offset|=0, |main_#t~ret57|=2, |~#aT_atan~0.base|=10737418254, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=10737418256, |~#atanhi_atan~0.offset|=0, |~#atanlo_atan~0.base|=10737418242, |~#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 -2147483648 <= #t~ret57 && #t~ret57 <= 2147483647;#t~short59 := 0 != #t~ret57; VAL [main_~x~0=10737418262.0, main_~y~0=10737418273.0, |#NULL.base|=0, |#NULL.offset|=0, |main_#t~ret57|=2, |main_#t~short59|=true, |~#aT_atan~0.base|=10737418254, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=10737418256, |~#atanhi_atan~0.offset|=0, |~#atanlo_atan~0.base|=10737418242, |~#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 #t~short59; VAL [main_~x~0=10737418262.0, main_~y~0=10737418273.0, |#NULL.base|=0, |#NULL.offset|=0, |main_#t~ret57|=2, |main_#t~short59|=true, |~#aT_atan~0.base|=10737418254, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=10737418256, |~#atanhi_atan~0.offset|=0, |~#atanlo_atan~0.base|=10737418242, |~#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 call #t~ret58 := isfinite_double(~y~0); VAL [|#NULL.base|=0, |#NULL.offset|=0, |isfinite_double_#in~x|=10737418273.0, |~#aT_atan~0.base|=10737418254, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=10737418256, |~#atanhi_atan~0.offset|=0, |~#atanlo_atan~0.base|=10737418242, |~#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] [?] ~x := #in~x;havoc ~hx~3; VAL [isfinite_double_~x=10737418273.0, |#NULL.base|=0, |#NULL.offset|=0, |isfinite_double_#in~x|=10737418273.0, |~#aT_atan~0.base|=10737418254, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=10737418256, |~#atanhi_atan~0.offset|=0, |~#atanlo_atan~0.base|=10737418242, |~#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 ~#gh_u~3.base, ~#gh_u~3.offset := #Ultimate.alloc(8);call write~real(~x, ~#gh_u~3.base, ~#gh_u~3.offset, 8);call #t~mem52 := read~int(~#gh_u~3.base, 4 + ~#gh_u~3.offset, 4);~hx~3 := (if #t~mem52 % 4294967296 % 4294967296 <= 2147483647 then #t~mem52 % 4294967296 % 4294967296 else #t~mem52 % 4294967296 % 4294967296 - 4294967296);call write~real(#t~union53, ~#gh_u~3.base, ~#gh_u~3.offset, 8);havoc #t~union53;havoc #t~mem52;call ULTIMATE.dealloc(~#gh_u~3.base, ~#gh_u~3.offset);havoc ~#gh_u~3.base, ~#gh_u~3.offset; VAL [isfinite_double_~hx~3=2147483647, isfinite_double_~x=10737418273.0, |#NULL.base|=0, |#NULL.offset|=0, |isfinite_double_#in~x|=10737418273.0, |~#aT_atan~0.base|=10737418254, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=10737418256, |~#atanhi_atan~0.offset|=0, |~#atanlo_atan~0.base|=10737418242, |~#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 [isfinite_double_~hx~3=2147483647, isfinite_double_~x=10737418273.0, |#NULL.base|=0, |#NULL.offset|=0, |isfinite_double_#in~x|=10737418273.0, |~#aT_atan~0.base|=10737418254, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=10737418256, |~#atanhi_atan~0.offset|=0, |~#atanlo_atan~0.base|=10737418242, |~#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] [?] #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); VAL [isfinite_double_~hx~3=2147483647, isfinite_double_~x=10737418273.0, |#NULL.base|=0, |#NULL.offset|=0, |isfinite_double_#in~x|=10737418273.0, |isfinite_double_#res|=(- 1), |~#aT_atan~0.base|=10737418254, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=10737418256, |~#atanhi_atan~0.offset|=0, |~#atanlo_atan~0.base|=10737418242, |~#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 true; VAL [isfinite_double_~hx~3=2147483647, isfinite_double_~x=10737418273.0, |#NULL.base|=0, |#NULL.offset|=0, |isfinite_double_#in~x|=10737418273.0, |isfinite_double_#res|=(- 1), |~#aT_atan~0.base|=10737418254, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=10737418256, |~#atanhi_atan~0.offset|=0, |~#atanlo_atan~0.base|=10737418242, |~#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] [?] RET #392#return; VAL [main_~x~0=10737418262.0, main_~y~0=10737418273.0, |#NULL.base|=0, |#NULL.offset|=0, |main_#t~ret57|=2, |main_#t~ret58|=(- 1), |main_#t~short59|=true, |~#aT_atan~0.base|=10737418254, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=10737418256, |~#atanhi_atan~0.offset|=0, |~#atanlo_atan~0.base|=10737418242, |~#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 -2147483648 <= #t~ret58 && #t~ret58 <= 2147483647;#t~short59 := 0 != #t~ret58; VAL [main_~x~0=10737418262.0, main_~y~0=10737418273.0, |#NULL.base|=0, |#NULL.offset|=0, |main_#t~ret57|=2, |main_#t~ret58|=(- 1), |main_#t~short59|=true, |~#aT_atan~0.base|=10737418254, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=10737418256, |~#atanhi_atan~0.offset|=0, |~#atanlo_atan~0.base|=10737418242, |~#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 #t~short59 && ~someBinaryDOUBLEComparisonOperation(~y~0, 0.0);havoc #t~short59;havoc #t~ret57;havoc #t~ret58; VAL [main_~x~0=10737418262.0, main_~y~0=10737418273.0, |#NULL.base|=0, |#NULL.offset|=0, |~#aT_atan~0.base|=10737418254, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=10737418256, |~#atanhi_atan~0.offset|=0, |~#atanlo_atan~0.base|=10737418242, |~#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 call #t~ret60 := __ieee754_atan2(~y~0, ~x~0); VAL [|#NULL.base|=0, |#NULL.offset|=0, |__ieee754_atan2_#in~x|=10737418262.0, |__ieee754_atan2_#in~y|=10737418273.0, |~#aT_atan~0.base|=10737418254, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=10737418256, |~#atanhi_atan~0.offset|=0, |~#atanlo_atan~0.base|=10737418242, |~#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] [?] ~y := #in~y;~x := #in~x;havoc ~z~1;havoc ~k~0;havoc ~m~0;havoc ~hx~1;havoc ~hy~0;havoc ~ix~1;havoc ~iy~0;havoc ~lx~0;havoc ~ly~0; VAL [__ieee754_atan2_~x=10737418262.0, __ieee754_atan2_~y=10737418273.0, |#NULL.base|=0, |#NULL.offset|=0, |__ieee754_atan2_#in~x|=10737418262.0, |__ieee754_atan2_#in~y|=10737418273.0, |~#aT_atan~0.base|=10737418254, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=10737418256, |~#atanhi_atan~0.offset|=0, |~#atanlo_atan~0.base|=10737418242, |~#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 ~#ew_u~0.base, ~#ew_u~0.offset := #Ultimate.alloc(8);call write~real(~x, ~#ew_u~0.base, ~#ew_u~0.offset, 8);call #t~mem27 := read~int(~#ew_u~0.base, 4 + ~#ew_u~0.offset, 4);~hx~1 := (if #t~mem27 % 4294967296 % 4294967296 <= 2147483647 then #t~mem27 % 4294967296 % 4294967296 else #t~mem27 % 4294967296 % 4294967296 - 4294967296);call write~real(#t~union28, ~#ew_u~0.base, ~#ew_u~0.offset, 8);havoc #t~union28;havoc #t~mem27;call #t~mem29 := read~int(~#ew_u~0.base, ~#ew_u~0.offset, 4);~lx~0 := #t~mem29;call write~real(#t~union30, ~#ew_u~0.base, ~#ew_u~0.offset, 8);havoc #t~union30;havoc #t~mem29;call ULTIMATE.dealloc(~#ew_u~0.base, ~#ew_u~0.offset);havoc ~#ew_u~0.base, ~#ew_u~0.offset; VAL [__ieee754_atan2_~hx~1=(- 2147483648), __ieee754_atan2_~lx~0=10737418277, __ieee754_atan2_~x=10737418262.0, __ieee754_atan2_~y=10737418273.0, |#NULL.base|=0, |#NULL.offset|=0, |__ieee754_atan2_#in~x|=10737418262.0, |__ieee754_atan2_#in~y|=10737418273.0, |~#aT_atan~0.base|=10737418254, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=10737418256, |~#atanhi_atan~0.offset|=0, |~#atanlo_atan~0.base|=10737418242, |~#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 [__ieee754_atan2_~hx~1=(- 2147483648), __ieee754_atan2_~lx~0=10737418277, __ieee754_atan2_~x=10737418262.0, __ieee754_atan2_~y=10737418273.0, |#NULL.base|=0, |#NULL.offset|=0, |__ieee754_atan2_#in~x|=10737418262.0, |__ieee754_atan2_#in~y|=10737418273.0, |~#aT_atan~0.base|=10737418254, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=10737418256, |~#atanhi_atan~0.offset|=0, |~#atanlo_atan~0.base|=10737418242, |~#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] [?] ~ix~1 := ~bitwiseAnd(~hx~1, 2147483647); VAL [__ieee754_atan2_~hx~1=(- 2147483648), __ieee754_atan2_~lx~0=10737418277, __ieee754_atan2_~x=10737418262.0, __ieee754_atan2_~y=10737418273.0, |#NULL.base|=0, |#NULL.offset|=0, |__ieee754_atan2_#in~x|=10737418262.0, |__ieee754_atan2_#in~y|=10737418273.0, |~#aT_atan~0.base|=10737418254, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=10737418256, |~#atanhi_atan~0.offset|=0, |~#atanlo_atan~0.base|=10737418242, |~#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 ~#ew_u~1.base, ~#ew_u~1.offset := #Ultimate.alloc(8);call write~real(~y, ~#ew_u~1.base, ~#ew_u~1.offset, 8);call #t~mem31 := read~int(~#ew_u~1.base, 4 + ~#ew_u~1.offset, 4);~hy~0 := (if #t~mem31 % 4294967296 % 4294967296 <= 2147483647 then #t~mem31 % 4294967296 % 4294967296 else #t~mem31 % 4294967296 % 4294967296 - 4294967296);call write~real(#t~union32, ~#ew_u~1.base, ~#ew_u~1.offset, 8);havoc #t~mem31;havoc #t~union32;call #t~mem33 := read~int(~#ew_u~1.base, ~#ew_u~1.offset, 4);~ly~0 := #t~mem33;call write~real(#t~union34, ~#ew_u~1.base, ~#ew_u~1.offset, 8);havoc #t~mem33;havoc #t~union34;call ULTIMATE.dealloc(~#ew_u~1.base, ~#ew_u~1.offset);havoc ~#ew_u~1.base, ~#ew_u~1.offset; VAL [__ieee754_atan2_~hx~1=(- 2147483648), __ieee754_atan2_~hy~0=(- 2147483648), __ieee754_atan2_~lx~0=10737418277, __ieee754_atan2_~ly~0=10737418272, __ieee754_atan2_~x=10737418262.0, __ieee754_atan2_~y=10737418273.0, |#NULL.base|=0, |#NULL.offset|=0, |__ieee754_atan2_#in~x|=10737418262.0, |__ieee754_atan2_#in~y|=10737418273.0, |~#aT_atan~0.base|=10737418254, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=10737418256, |~#atanhi_atan~0.offset|=0, |~#atanlo_atan~0.base|=10737418242, |~#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 [__ieee754_atan2_~hx~1=(- 2147483648), __ieee754_atan2_~hy~0=(- 2147483648), __ieee754_atan2_~lx~0=10737418277, __ieee754_atan2_~ly~0=10737418272, __ieee754_atan2_~x=10737418262.0, __ieee754_atan2_~y=10737418273.0, |#NULL.base|=0, |#NULL.offset|=0, |__ieee754_atan2_#in~x|=10737418262.0, |__ieee754_atan2_#in~y|=10737418273.0, |~#aT_atan~0.base|=10737418254, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=10737418256, |~#atanhi_atan~0.offset|=0, |~#atanlo_atan~0.base|=10737418242, |~#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] [?] ~iy~0 := ~bitwiseAnd(~hy~0, 2147483647); VAL [__ieee754_atan2_~hx~1=(- 2147483648), __ieee754_atan2_~hy~0=(- 2147483648), __ieee754_atan2_~lx~0=10737418277, __ieee754_atan2_~ly~0=10737418272, __ieee754_atan2_~x=10737418262.0, __ieee754_atan2_~y=10737418273.0, |#NULL.base|=0, |#NULL.offset|=0, |__ieee754_atan2_#in~x|=10737418262.0, |__ieee754_atan2_#in~y|=10737418273.0, |~#aT_atan~0.base|=10737418254, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=10737418256, |~#atanhi_atan~0.offset|=0, |~#atanlo_atan~0.base|=10737418242, |~#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(~ix~1, ~bitwiseOr(~lx~0, -~lx~0) / 2147483648) % 4294967296 > 2146435072 || ~bitwiseOr(~iy~0, ~bitwiseOr(~ly~0, -~ly~0) / 2147483648) % 4294967296 > 2146435072;#res := ~someBinaryArithmeticDOUBLEoperation(~x, ~y); VAL [__ieee754_atan2_~hx~1=(- 2147483648), __ieee754_atan2_~hy~0=(- 2147483648), __ieee754_atan2_~lx~0=10737418277, __ieee754_atan2_~ly~0=10737418272, __ieee754_atan2_~x=10737418262.0, __ieee754_atan2_~y=10737418273.0, |#NULL.base|=0, |#NULL.offset|=0, |__ieee754_atan2_#in~x|=10737418262.0, |__ieee754_atan2_#in~y|=10737418273.0, |~#aT_atan~0.base|=10737418254, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=10737418256, |~#atanhi_atan~0.offset|=0, |~#atanlo_atan~0.base|=10737418242, |~#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 true; VAL [__ieee754_atan2_~hx~1=(- 2147483648), __ieee754_atan2_~hy~0=(- 2147483648), __ieee754_atan2_~lx~0=10737418277, __ieee754_atan2_~ly~0=10737418272, __ieee754_atan2_~x=10737418262.0, __ieee754_atan2_~y=10737418273.0, |#NULL.base|=0, |#NULL.offset|=0, |__ieee754_atan2_#in~x|=10737418262.0, |__ieee754_atan2_#in~y|=10737418273.0, |~#aT_atan~0.base|=10737418254, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=10737418256, |~#atanhi_atan~0.offset|=0, |~#atanlo_atan~0.base|=10737418242, |~#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] [?] RET #394#return; VAL [main_~x~0=10737418262.0, main_~y~0=10737418273.0, |#NULL.base|=0, |#NULL.offset|=0, |main_#t~ret60|=10737418269.0, |~#aT_atan~0.base|=10737418254, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=10737418256, |~#atanhi_atan~0.offset|=0, |~#atanlo_atan~0.base|=10737418242, |~#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] [?] ~res~0 := #t~ret60;havoc #t~ret60;#t~short62 := ~someBinaryDOUBLEComparisonOperation(~res~0, ~someUnaryDOUBLEoperation(0.0)); VAL [main_~res~0=10737418269.0, main_~x~0=10737418262.0, main_~y~0=10737418273.0, |#NULL.base|=0, |#NULL.offset|=0, |main_#t~short62|=false, |~#aT_atan~0.base|=10737418254, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=10737418256, |~#atanhi_atan~0.offset|=0, |~#atanlo_atan~0.base|=10737418242, |~#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 !#t~short62; VAL [main_~res~0=10737418269.0, main_~x~0=10737418262.0, main_~y~0=10737418273.0, |#NULL.base|=0, |#NULL.offset|=0, |main_#t~short62|=false, |~#aT_atan~0.base|=10737418254, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=10737418256, |~#atanhi_atan~0.offset|=0, |~#atanlo_atan~0.base|=10737418242, |~#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 !#t~short62;havoc #t~short62;havoc #t~ret61; VAL [main_~res~0=10737418269.0, main_~x~0=10737418262.0, main_~y~0=10737418273.0, |#NULL.base|=0, |#NULL.offset|=0, |~#aT_atan~0.base|=10737418254, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=10737418256, |~#atanhi_atan~0.offset|=0, |~#atanlo_atan~0.base|=10737418242, |~#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 [main_~res~0=10737418269.0, main_~x~0=10737418262.0, main_~y~0=10737418273.0, |#NULL.base|=0, |#NULL.offset|=0, |~#aT_atan~0.base|=10737418254, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=10737418256, |~#atanhi_atan~0.offset|=0, |~#atanlo_atan~0.base|=10737418242, |~#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 call ULTIMATE.init(); VAL [#NULL.base=10737418270, #NULL.offset=10737418263, old(#NULL.base)=10737418270, old(#NULL.offset)=10737418263, old(~#aT_atan~0.base)=10737418253, old(~#aT_atan~0.offset)=10737418260, old(~#atanhi_atan~0.base)=10737418255, old(~#atanhi_atan~0.offset)=10737418266, old(~#atanlo_atan~0.base)=10737418246, old(~#atanlo_atan~0.offset)=10737418279, old(~huge_atan~0)=1.0737418271E10, old(~one_atan~0)=1.0737418261E10, old(~pi_lo_atan2~0)=1.0737418259E10, old(~pi_o_2~0)=1.0737418241E10, old(~pi_o_4~0)=1.0737418265E10, old(~pi~0)=1.0737418268E10, old(~tiny_atan2~0)=1.0737418275E10, old(~zero_atan2~0)=1.0737418252E10, ~#aT_atan~0.base=10737418253, ~#aT_atan~0.offset=10737418260, ~#atanhi_atan~0.base=10737418255, ~#atanhi_atan~0.offset=10737418266, ~#atanlo_atan~0.base=10737418246, ~#atanlo_atan~0.offset=10737418279, ~huge_atan~0=1.0737418271E10, ~one_atan~0=1.0737418261E10, ~pi_lo_atan2~0=1.0737418259E10, ~pi_o_2~0=1.0737418241E10, ~pi_o_4~0=1.0737418265E10, ~pi~0=1.0737418268E10, ~tiny_atan2~0=1.0737418275E10, ~zero_atan2~0=1.0737418252E10] [?] #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; VAL [#NULL.base=0, #NULL.offset=0, old(#NULL.base)=10737418270, old(#NULL.offset)=10737418263, old(~#aT_atan~0.base)=10737418253, old(~#aT_atan~0.offset)=10737418260, old(~#atanhi_atan~0.base)=10737418255, old(~#atanhi_atan~0.offset)=10737418266, old(~#atanlo_atan~0.base)=10737418246, old(~#atanlo_atan~0.offset)=10737418279, old(~huge_atan~0)=1.0737418271E10, old(~one_atan~0)=1.0737418261E10, old(~pi_lo_atan2~0)=1.0737418259E10, old(~pi_o_2~0)=1.0737418241E10, old(~pi_o_4~0)=1.0737418265E10, old(~pi~0)=1.0737418268E10, old(~tiny_atan2~0)=1.0737418275E10, old(~zero_atan2~0)=1.0737418252E10, ~#aT_atan~0.base=10737418254, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=10737418256, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=10737418242, ~#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] [?] ensures true; VAL [#NULL.base=0, #NULL.offset=0, old(#NULL.base)=10737418270, old(#NULL.offset)=10737418263, old(~#aT_atan~0.base)=10737418253, old(~#aT_atan~0.offset)=10737418260, old(~#atanhi_atan~0.base)=10737418255, old(~#atanhi_atan~0.offset)=10737418266, old(~#atanlo_atan~0.base)=10737418246, old(~#atanlo_atan~0.offset)=10737418279, old(~huge_atan~0)=1.0737418271E10, old(~one_atan~0)=1.0737418261E10, old(~pi_lo_atan2~0)=1.0737418259E10, old(~pi_o_2~0)=1.0737418241E10, old(~pi_o_4~0)=1.0737418265E10, old(~pi~0)=1.0737418268E10, old(~tiny_atan2~0)=1.0737418275E10, old(~zero_atan2~0)=1.0737418252E10, ~#aT_atan~0.base=10737418254, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=10737418256, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=10737418242, ~#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] [?] RET call ULTIMATE.init(); VAL [#NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=10737418254, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=10737418256, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=10737418242, ~#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] [?] CALL call #t~ret63 := main(); VAL [#NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=10737418254, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=10737418256, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=10737418242, ~#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] [L289] ~x~0 := ~someBinaryArithmeticDOUBLEoperation(1.0, 0.0); [L290] ~y~0 := #t~nondet56; [L290] havoc #t~nondet56; VAL [#NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=10737418254, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=10737418256, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=10737418242, ~#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, ~y~0=1.0737418273E10, ~zero_atan2~0=0.0] [L292] CALL call #t~ret57 := isinf_double(~x~0); VAL [#in~x=1.0737418262E10, #NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=10737418254, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=10737418256, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=10737418242, ~#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] [L245-L257] ~x := #in~x; [L246] havoc ~hx~2; [L246] havoc ~lx~1; VAL [#in~x=1.0737418262E10, #NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=10737418254, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=10737418256, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=10737418242, ~#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, ~x=1.0737418262E10, ~zero_atan2~0=0.0] [L248] call ~#ew_u~2.base, ~#ew_u~2.offset := #Ultimate.alloc(8); [L249] call write~real(~x, ~#ew_u~2.base, ~#ew_u~2.offset, 8); [L250] call #t~mem48 := read~int(~#ew_u~2.base, 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] call write~real(#t~union49, ~#ew_u~2.base, ~#ew_u~2.offset, 8); [L250] havoc #t~union49; [L250] havoc #t~mem48; [L251] call #t~mem50 := read~int(~#ew_u~2.base, ~#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] call write~real(#t~union51, ~#ew_u~2.base, ~#ew_u~2.offset, 8); [L251] havoc #t~union51; [L251] havoc #t~mem50; [L248] call ULTIMATE.dealloc(~#ew_u~2.base, ~#ew_u~2.offset); [L248] havoc ~#ew_u~2.base, ~#ew_u~2.offset; VAL [#in~x=1.0737418262E10, #NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=10737418254, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=10737418256, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=10737418242, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~hx~2=-2147483648, ~lx~1=3, ~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, ~x=1.0737418262E10, ~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); VAL [#in~x=1.0737418262E10, #NULL.base=0, #NULL.offset=0, #res=2, ~#aT_atan~0.base=10737418254, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=10737418256, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=10737418242, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~hx~2=2146435073, ~lx~1=3, ~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, ~x=1.0737418262E10, ~zero_atan2~0=0.0] [L245-L257] ensures true; VAL [#in~x=1.0737418262E10, #NULL.base=0, #NULL.offset=0, #res=2, ~#aT_atan~0.base=10737418254, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=10737418256, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=10737418242, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~hx~2=2146435073, ~lx~1=3, ~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, ~x=1.0737418262E10, ~zero_atan2~0=0.0] [L292] RET call #t~ret57 := isinf_double(~x~0); VAL [#NULL.base=0, #NULL.offset=0, #t~ret57=2, ~#aT_atan~0.base=10737418254, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=10737418256, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=10737418242, ~#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, ~x~0=1.0737418262E10, ~y~0=1.0737418273E10, ~zero_atan2~0=0.0] [L292] assume -2147483648 <= #t~ret57 && #t~ret57 <= 2147483647; [L292] #t~short59 := 0 != #t~ret57; VAL [#NULL.base=0, #NULL.offset=0, #t~ret57=2, #t~short59=true, ~#aT_atan~0.base=10737418254, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=10737418256, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=10737418242, ~#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, ~x~0=1.0737418262E10, ~y~0=1.0737418273E10, ~zero_atan2~0=0.0] [L292] assume #t~short59; VAL [#NULL.base=0, #NULL.offset=0, #t~ret57=2, #t~short59=true, ~#aT_atan~0.base=10737418254, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=10737418256, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=10737418242, ~#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, ~x~0=1.0737418262E10, ~y~0=1.0737418273E10, ~zero_atan2~0=0.0] [L292] CALL call #t~ret58 := isfinite_double(~y~0); VAL [#in~x=1.0737418273E10, #NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=10737418254, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=10737418256, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=10737418242, ~#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] [L259-L267] ~x := #in~x; [L260] havoc ~hx~3; VAL [#in~x=1.0737418273E10, #NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=10737418254, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=10737418256, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=10737418242, ~#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, ~x=1.0737418273E10, ~zero_atan2~0=0.0] [L262] call ~#gh_u~3.base, ~#gh_u~3.offset := #Ultimate.alloc(8); [L263] call write~real(~x, ~#gh_u~3.base, ~#gh_u~3.offset, 8); [L264] call #t~mem52 := read~int(~#gh_u~3.base, 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] call write~real(#t~union53, ~#gh_u~3.base, ~#gh_u~3.offset, 8); [L264] havoc #t~union53; [L264] havoc #t~mem52; [L262] call ULTIMATE.dealloc(~#gh_u~3.base, ~#gh_u~3.offset); [L262] havoc ~#gh_u~3.base, ~#gh_u~3.offset; VAL [#in~x=1.0737418273E10, #NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=10737418254, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=10737418256, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=10737418242, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~hx~3=2147483647, ~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, ~x=1.0737418273E10, ~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); VAL [#in~x=1.0737418273E10, #NULL.base=0, #NULL.offset=0, #res=-1, ~#aT_atan~0.base=10737418254, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=10737418256, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=10737418242, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~hx~3=2147483647, ~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, ~x=1.0737418273E10, ~zero_atan2~0=0.0] [L259-L267] ensures true; VAL [#in~x=1.0737418273E10, #NULL.base=0, #NULL.offset=0, #res=-1, ~#aT_atan~0.base=10737418254, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=10737418256, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=10737418242, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~hx~3=2147483647, ~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, ~x=1.0737418273E10, ~zero_atan2~0=0.0] [L292] RET call #t~ret58 := isfinite_double(~y~0); VAL [#NULL.base=0, #NULL.offset=0, #t~ret57=2, #t~ret58=-1, #t~short59=true, ~#aT_atan~0.base=10737418254, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=10737418256, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=10737418242, ~#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, ~x~0=1.0737418262E10, ~y~0=1.0737418273E10, ~zero_atan2~0=0.0] [L292] assume -2147483648 <= #t~ret58 && #t~ret58 <= 2147483647; [L292] #t~short59 := 0 != #t~ret58; VAL [#NULL.base=0, #NULL.offset=0, #t~ret57=2, #t~ret58=-1, #t~short59=true, ~#aT_atan~0.base=10737418254, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=10737418256, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=10737418242, ~#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, ~x~0=1.0737418262E10, ~y~0=1.0737418273E10, ~zero_atan2~0=0.0] [L292-L301] assume #t~short59 && ~someBinaryDOUBLEComparisonOperation(~y~0, 0.0); [L292] havoc #t~short59; [L292] havoc #t~ret57; [L292] havoc #t~ret58; VAL [#NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=10737418254, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=10737418256, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=10737418242, ~#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, ~x~0=1.0737418262E10, ~y~0=1.0737418273E10, ~zero_atan2~0=0.0] [L294] CALL call #t~ret60 := __ieee754_atan2(~y~0, ~x~0); VAL [#in~x=1.0737418262E10, #in~y=1.0737418273E10, #NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=10737418254, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=10737418256, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=10737418242, ~#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] [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 [#in~x=1.0737418262E10, #in~y=1.0737418273E10, #NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=10737418254, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=10737418256, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=10737418242, ~#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, ~x=1.0737418262E10, ~y=1.0737418273E10, ~zero_atan2~0=0.0] [L148] call ~#ew_u~0.base, ~#ew_u~0.offset := #Ultimate.alloc(8); [L149] call write~real(~x, ~#ew_u~0.base, ~#ew_u~0.offset, 8); [L150] call #t~mem27 := read~int(~#ew_u~0.base, 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] call write~real(#t~union28, ~#ew_u~0.base, ~#ew_u~0.offset, 8); [L150] havoc #t~union28; [L150] havoc #t~mem27; [L151] call #t~mem29 := read~int(~#ew_u~0.base, ~#ew_u~0.offset, 4); [L151] ~lx~0 := #t~mem29; [L151] call write~real(#t~union30, ~#ew_u~0.base, ~#ew_u~0.offset, 8); [L151] havoc #t~union30; [L151] havoc #t~mem29; [L148] call ULTIMATE.dealloc(~#ew_u~0.base, ~#ew_u~0.offset); [L148] havoc ~#ew_u~0.base, ~#ew_u~0.offset; VAL [#in~x=1.0737418262E10, #in~y=1.0737418273E10, #NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=10737418254, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=10737418256, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=10737418242, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~hx~1=-2147483648, ~lx~0=10737418277, ~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, ~x=1.0737418262E10, ~y=1.0737418273E10, ~zero_atan2~0=0.0] [L153] ~ix~1 := ~bitwiseAnd(~hx~1, 2147483647); VAL [#in~x=1.0737418262E10, #in~y=1.0737418273E10, #NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=10737418254, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=10737418256, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=10737418242, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~hx~1=-2147483648, ~lx~0=10737418277, ~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, ~x=1.0737418262E10, ~y=1.0737418273E10, ~zero_atan2~0=0.0] [L155] call ~#ew_u~1.base, ~#ew_u~1.offset := #Ultimate.alloc(8); [L156] call write~real(~y, ~#ew_u~1.base, ~#ew_u~1.offset, 8); [L157] call #t~mem31 := read~int(~#ew_u~1.base, 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] call write~real(#t~union32, ~#ew_u~1.base, ~#ew_u~1.offset, 8); [L157] havoc #t~mem31; [L157] havoc #t~union32; [L158] call #t~mem33 := read~int(~#ew_u~1.base, ~#ew_u~1.offset, 4); [L158] ~ly~0 := #t~mem33; [L158] call write~real(#t~union34, ~#ew_u~1.base, ~#ew_u~1.offset, 8); [L158] havoc #t~mem33; [L158] havoc #t~union34; [L155] call ULTIMATE.dealloc(~#ew_u~1.base, ~#ew_u~1.offset); [L155] havoc ~#ew_u~1.base, ~#ew_u~1.offset; VAL [#in~x=1.0737418262E10, #in~y=1.0737418273E10, #NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=10737418254, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=10737418256, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=10737418242, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~hx~1=-2147483648, ~hy~0=-2147483648, ~lx~0=10737418277, ~ly~0=10737418272, ~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, ~x=1.0737418262E10, ~y=1.0737418273E10, ~zero_atan2~0=0.0] [L160] ~iy~0 := ~bitwiseAnd(~hy~0, 2147483647); VAL [#in~x=1.0737418262E10, #in~y=1.0737418273E10, #NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=10737418254, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=10737418256, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=10737418242, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~hx~1=-2147483648, ~hy~0=-2147483648, ~lx~0=10737418277, ~ly~0=10737418272, ~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, ~x=1.0737418262E10, ~y=1.0737418273E10, ~zero_atan2~0=0.0] [L161-L163] assume ~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 [#in~x=1.0737418262E10, #in~y=1.0737418273E10, #NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=10737418254, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=10737418256, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=10737418242, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~hx~1=-2147483648, ~hy~0=-2147483648, ~lx~0=10737418277, ~ly~0=10737418272, ~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, ~x=1.0737418262E10, ~y=1.0737418273E10, ~zero_atan2~0=0.0] [L142-L242] ensures true; VAL [#in~x=1.0737418262E10, #in~y=1.0737418273E10, #NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=10737418254, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=10737418256, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=10737418242, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~hx~1=-2147483648, ~hy~0=-2147483648, ~lx~0=10737418277, ~ly~0=10737418272, ~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, ~x=1.0737418262E10, ~y=1.0737418273E10, ~zero_atan2~0=0.0] [L294] RET call #t~ret60 := __ieee754_atan2(~y~0, ~x~0); VAL [#NULL.base=0, #NULL.offset=0, #t~ret60=1.0737418269E10, ~#aT_atan~0.base=10737418254, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=10737418256, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=10737418242, ~#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, ~x~0=1.0737418262E10, ~y~0=1.0737418273E10, ~zero_atan2~0=0.0] [L294] ~res~0 := #t~ret60; [L294] havoc #t~ret60; [L297] #t~short62 := ~someBinaryDOUBLEComparisonOperation(~res~0, ~someUnaryDOUBLEoperation(0.0)); VAL [#NULL.base=0, #NULL.offset=0, #t~short62=false, ~#aT_atan~0.base=10737418254, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=10737418256, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=10737418242, ~#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, ~res~0=1.0737418269E10, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=1.0737418262E10, ~y~0=1.0737418273E10, ~zero_atan2~0=0.0] [L297] assume !#t~short62; VAL [#NULL.base=0, #NULL.offset=0, #t~short62=false, ~#aT_atan~0.base=10737418254, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=10737418256, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=10737418242, ~#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, ~res~0=1.0737418269E10, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=1.0737418262E10, ~y~0=1.0737418273E10, ~zero_atan2~0=0.0] [L297-L300] assume !#t~short62; [L297] havoc #t~short62; [L297] havoc #t~ret61; VAL [#NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=10737418254, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=10737418256, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=10737418242, ~#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, ~res~0=1.0737418269E10, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=1.0737418262E10, ~y~0=1.0737418273E10, ~zero_atan2~0=0.0] [L298] assert false; VAL [#NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=10737418254, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=10737418256, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=10737418242, ~#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, ~res~0=1.0737418269E10, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=1.0737418262E10, ~y~0=1.0737418273E10, ~zero_atan2~0=0.0] ----- ----- class de.uni_freiburg.informatik.ultimate.boogie.preprocessor.BoogiePreprocessorBacktranslator [?] CALL call ULTIMATE.init(); VAL [#NULL.base=10737418270, #NULL.offset=10737418263, old(#NULL.base)=10737418270, old(#NULL.offset)=10737418263, old(~#aT_atan~0.base)=10737418253, old(~#aT_atan~0.offset)=10737418260, old(~#atanhi_atan~0.base)=10737418255, old(~#atanhi_atan~0.offset)=10737418266, old(~#atanlo_atan~0.base)=10737418246, old(~#atanlo_atan~0.offset)=10737418279, old(~huge_atan~0)=1.0737418271E10, old(~one_atan~0)=1.0737418261E10, old(~pi_lo_atan2~0)=1.0737418259E10, old(~pi_o_2~0)=1.0737418241E10, old(~pi_o_4~0)=1.0737418265E10, old(~pi~0)=1.0737418268E10, old(~tiny_atan2~0)=1.0737418275E10, old(~zero_atan2~0)=1.0737418252E10, ~#aT_atan~0.base=10737418253, ~#aT_atan~0.offset=10737418260, ~#atanhi_atan~0.base=10737418255, ~#atanhi_atan~0.offset=10737418266, ~#atanlo_atan~0.base=10737418246, ~#atanlo_atan~0.offset=10737418279, ~huge_atan~0=1.0737418271E10, ~one_atan~0=1.0737418261E10, ~pi_lo_atan2~0=1.0737418259E10, ~pi_o_2~0=1.0737418241E10, ~pi_o_4~0=1.0737418265E10, ~pi~0=1.0737418268E10, ~tiny_atan2~0=1.0737418275E10, ~zero_atan2~0=1.0737418252E10] [?] #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; VAL [#NULL.base=0, #NULL.offset=0, old(#NULL.base)=10737418270, old(#NULL.offset)=10737418263, old(~#aT_atan~0.base)=10737418253, old(~#aT_atan~0.offset)=10737418260, old(~#atanhi_atan~0.base)=10737418255, old(~#atanhi_atan~0.offset)=10737418266, old(~#atanlo_atan~0.base)=10737418246, old(~#atanlo_atan~0.offset)=10737418279, old(~huge_atan~0)=1.0737418271E10, old(~one_atan~0)=1.0737418261E10, old(~pi_lo_atan2~0)=1.0737418259E10, old(~pi_o_2~0)=1.0737418241E10, old(~pi_o_4~0)=1.0737418265E10, old(~pi~0)=1.0737418268E10, old(~tiny_atan2~0)=1.0737418275E10, old(~zero_atan2~0)=1.0737418252E10, ~#aT_atan~0.base=10737418254, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=10737418256, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=10737418242, ~#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] [?] ensures true; VAL [#NULL.base=0, #NULL.offset=0, old(#NULL.base)=10737418270, old(#NULL.offset)=10737418263, old(~#aT_atan~0.base)=10737418253, old(~#aT_atan~0.offset)=10737418260, old(~#atanhi_atan~0.base)=10737418255, old(~#atanhi_atan~0.offset)=10737418266, old(~#atanlo_atan~0.base)=10737418246, old(~#atanlo_atan~0.offset)=10737418279, old(~huge_atan~0)=1.0737418271E10, old(~one_atan~0)=1.0737418261E10, old(~pi_lo_atan2~0)=1.0737418259E10, old(~pi_o_2~0)=1.0737418241E10, old(~pi_o_4~0)=1.0737418265E10, old(~pi~0)=1.0737418268E10, old(~tiny_atan2~0)=1.0737418275E10, old(~zero_atan2~0)=1.0737418252E10, ~#aT_atan~0.base=10737418254, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=10737418256, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=10737418242, ~#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] [?] RET call ULTIMATE.init(); VAL [#NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=10737418254, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=10737418256, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=10737418242, ~#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] [?] CALL call #t~ret63 := main(); VAL [#NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=10737418254, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=10737418256, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=10737418242, ~#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] [L289] ~x~0 := ~someBinaryArithmeticDOUBLEoperation(1.0, 0.0); [L290] ~y~0 := #t~nondet56; [L290] havoc #t~nondet56; VAL [#NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=10737418254, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=10737418256, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=10737418242, ~#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, ~y~0=1.0737418273E10, ~zero_atan2~0=0.0] [L292] CALL call #t~ret57 := isinf_double(~x~0); VAL [#in~x=1.0737418262E10, #NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=10737418254, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=10737418256, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=10737418242, ~#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] [L245-L257] ~x := #in~x; [L246] havoc ~hx~2; [L246] havoc ~lx~1; VAL [#in~x=1.0737418262E10, #NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=10737418254, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=10737418256, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=10737418242, ~#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, ~x=1.0737418262E10, ~zero_atan2~0=0.0] [L248] call ~#ew_u~2.base, ~#ew_u~2.offset := #Ultimate.alloc(8); [L249] call write~real(~x, ~#ew_u~2.base, ~#ew_u~2.offset, 8); [L250] call #t~mem48 := read~int(~#ew_u~2.base, 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] call write~real(#t~union49, ~#ew_u~2.base, ~#ew_u~2.offset, 8); [L250] havoc #t~union49; [L250] havoc #t~mem48; [L251] call #t~mem50 := read~int(~#ew_u~2.base, ~#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] call write~real(#t~union51, ~#ew_u~2.base, ~#ew_u~2.offset, 8); [L251] havoc #t~union51; [L251] havoc #t~mem50; [L248] call ULTIMATE.dealloc(~#ew_u~2.base, ~#ew_u~2.offset); [L248] havoc ~#ew_u~2.base, ~#ew_u~2.offset; VAL [#in~x=1.0737418262E10, #NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=10737418254, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=10737418256, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=10737418242, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~hx~2=-2147483648, ~lx~1=3, ~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, ~x=1.0737418262E10, ~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); VAL [#in~x=1.0737418262E10, #NULL.base=0, #NULL.offset=0, #res=2, ~#aT_atan~0.base=10737418254, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=10737418256, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=10737418242, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~hx~2=2146435073, ~lx~1=3, ~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, ~x=1.0737418262E10, ~zero_atan2~0=0.0] [L245-L257] ensures true; VAL [#in~x=1.0737418262E10, #NULL.base=0, #NULL.offset=0, #res=2, ~#aT_atan~0.base=10737418254, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=10737418256, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=10737418242, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~hx~2=2146435073, ~lx~1=3, ~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, ~x=1.0737418262E10, ~zero_atan2~0=0.0] [L292] RET call #t~ret57 := isinf_double(~x~0); VAL [#NULL.base=0, #NULL.offset=0, #t~ret57=2, ~#aT_atan~0.base=10737418254, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=10737418256, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=10737418242, ~#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, ~x~0=1.0737418262E10, ~y~0=1.0737418273E10, ~zero_atan2~0=0.0] [L292] assume -2147483648 <= #t~ret57 && #t~ret57 <= 2147483647; [L292] #t~short59 := 0 != #t~ret57; VAL [#NULL.base=0, #NULL.offset=0, #t~ret57=2, #t~short59=true, ~#aT_atan~0.base=10737418254, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=10737418256, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=10737418242, ~#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, ~x~0=1.0737418262E10, ~y~0=1.0737418273E10, ~zero_atan2~0=0.0] [L292] assume #t~short59; VAL [#NULL.base=0, #NULL.offset=0, #t~ret57=2, #t~short59=true, ~#aT_atan~0.base=10737418254, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=10737418256, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=10737418242, ~#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, ~x~0=1.0737418262E10, ~y~0=1.0737418273E10, ~zero_atan2~0=0.0] [L292] CALL call #t~ret58 := isfinite_double(~y~0); VAL [#in~x=1.0737418273E10, #NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=10737418254, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=10737418256, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=10737418242, ~#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] [L259-L267] ~x := #in~x; [L260] havoc ~hx~3; VAL [#in~x=1.0737418273E10, #NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=10737418254, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=10737418256, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=10737418242, ~#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, ~x=1.0737418273E10, ~zero_atan2~0=0.0] [L262] call ~#gh_u~3.base, ~#gh_u~3.offset := #Ultimate.alloc(8); [L263] call write~real(~x, ~#gh_u~3.base, ~#gh_u~3.offset, 8); [L264] call #t~mem52 := read~int(~#gh_u~3.base, 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] call write~real(#t~union53, ~#gh_u~3.base, ~#gh_u~3.offset, 8); [L264] havoc #t~union53; [L264] havoc #t~mem52; [L262] call ULTIMATE.dealloc(~#gh_u~3.base, ~#gh_u~3.offset); [L262] havoc ~#gh_u~3.base, ~#gh_u~3.offset; VAL [#in~x=1.0737418273E10, #NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=10737418254, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=10737418256, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=10737418242, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~hx~3=2147483647, ~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, ~x=1.0737418273E10, ~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); VAL [#in~x=1.0737418273E10, #NULL.base=0, #NULL.offset=0, #res=-1, ~#aT_atan~0.base=10737418254, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=10737418256, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=10737418242, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~hx~3=2147483647, ~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, ~x=1.0737418273E10, ~zero_atan2~0=0.0] [L259-L267] ensures true; VAL [#in~x=1.0737418273E10, #NULL.base=0, #NULL.offset=0, #res=-1, ~#aT_atan~0.base=10737418254, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=10737418256, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=10737418242, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~hx~3=2147483647, ~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, ~x=1.0737418273E10, ~zero_atan2~0=0.0] [L292] RET call #t~ret58 := isfinite_double(~y~0); VAL [#NULL.base=0, #NULL.offset=0, #t~ret57=2, #t~ret58=-1, #t~short59=true, ~#aT_atan~0.base=10737418254, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=10737418256, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=10737418242, ~#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, ~x~0=1.0737418262E10, ~y~0=1.0737418273E10, ~zero_atan2~0=0.0] [L292] assume -2147483648 <= #t~ret58 && #t~ret58 <= 2147483647; [L292] #t~short59 := 0 != #t~ret58; VAL [#NULL.base=0, #NULL.offset=0, #t~ret57=2, #t~ret58=-1, #t~short59=true, ~#aT_atan~0.base=10737418254, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=10737418256, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=10737418242, ~#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, ~x~0=1.0737418262E10, ~y~0=1.0737418273E10, ~zero_atan2~0=0.0] [L292-L301] assume #t~short59 && ~someBinaryDOUBLEComparisonOperation(~y~0, 0.0); [L292] havoc #t~short59; [L292] havoc #t~ret57; [L292] havoc #t~ret58; VAL [#NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=10737418254, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=10737418256, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=10737418242, ~#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, ~x~0=1.0737418262E10, ~y~0=1.0737418273E10, ~zero_atan2~0=0.0] [L294] CALL call #t~ret60 := __ieee754_atan2(~y~0, ~x~0); VAL [#in~x=1.0737418262E10, #in~y=1.0737418273E10, #NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=10737418254, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=10737418256, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=10737418242, ~#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] [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 [#in~x=1.0737418262E10, #in~y=1.0737418273E10, #NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=10737418254, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=10737418256, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=10737418242, ~#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, ~x=1.0737418262E10, ~y=1.0737418273E10, ~zero_atan2~0=0.0] [L148] call ~#ew_u~0.base, ~#ew_u~0.offset := #Ultimate.alloc(8); [L149] call write~real(~x, ~#ew_u~0.base, ~#ew_u~0.offset, 8); [L150] call #t~mem27 := read~int(~#ew_u~0.base, 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] call write~real(#t~union28, ~#ew_u~0.base, ~#ew_u~0.offset, 8); [L150] havoc #t~union28; [L150] havoc #t~mem27; [L151] call #t~mem29 := read~int(~#ew_u~0.base, ~#ew_u~0.offset, 4); [L151] ~lx~0 := #t~mem29; [L151] call write~real(#t~union30, ~#ew_u~0.base, ~#ew_u~0.offset, 8); [L151] havoc #t~union30; [L151] havoc #t~mem29; [L148] call ULTIMATE.dealloc(~#ew_u~0.base, ~#ew_u~0.offset); [L148] havoc ~#ew_u~0.base, ~#ew_u~0.offset; VAL [#in~x=1.0737418262E10, #in~y=1.0737418273E10, #NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=10737418254, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=10737418256, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=10737418242, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~hx~1=-2147483648, ~lx~0=10737418277, ~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, ~x=1.0737418262E10, ~y=1.0737418273E10, ~zero_atan2~0=0.0] [L153] ~ix~1 := ~bitwiseAnd(~hx~1, 2147483647); VAL [#in~x=1.0737418262E10, #in~y=1.0737418273E10, #NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=10737418254, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=10737418256, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=10737418242, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~hx~1=-2147483648, ~lx~0=10737418277, ~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, ~x=1.0737418262E10, ~y=1.0737418273E10, ~zero_atan2~0=0.0] [L155] call ~#ew_u~1.base, ~#ew_u~1.offset := #Ultimate.alloc(8); [L156] call write~real(~y, ~#ew_u~1.base, ~#ew_u~1.offset, 8); [L157] call #t~mem31 := read~int(~#ew_u~1.base, 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] call write~real(#t~union32, ~#ew_u~1.base, ~#ew_u~1.offset, 8); [L157] havoc #t~mem31; [L157] havoc #t~union32; [L158] call #t~mem33 := read~int(~#ew_u~1.base, ~#ew_u~1.offset, 4); [L158] ~ly~0 := #t~mem33; [L158] call write~real(#t~union34, ~#ew_u~1.base, ~#ew_u~1.offset, 8); [L158] havoc #t~mem33; [L158] havoc #t~union34; [L155] call ULTIMATE.dealloc(~#ew_u~1.base, ~#ew_u~1.offset); [L155] havoc ~#ew_u~1.base, ~#ew_u~1.offset; VAL [#in~x=1.0737418262E10, #in~y=1.0737418273E10, #NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=10737418254, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=10737418256, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=10737418242, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~hx~1=-2147483648, ~hy~0=-2147483648, ~lx~0=10737418277, ~ly~0=10737418272, ~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, ~x=1.0737418262E10, ~y=1.0737418273E10, ~zero_atan2~0=0.0] [L160] ~iy~0 := ~bitwiseAnd(~hy~0, 2147483647); VAL [#in~x=1.0737418262E10, #in~y=1.0737418273E10, #NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=10737418254, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=10737418256, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=10737418242, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~hx~1=-2147483648, ~hy~0=-2147483648, ~lx~0=10737418277, ~ly~0=10737418272, ~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, ~x=1.0737418262E10, ~y=1.0737418273E10, ~zero_atan2~0=0.0] [L161-L163] assume ~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 [#in~x=1.0737418262E10, #in~y=1.0737418273E10, #NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=10737418254, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=10737418256, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=10737418242, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~hx~1=-2147483648, ~hy~0=-2147483648, ~lx~0=10737418277, ~ly~0=10737418272, ~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, ~x=1.0737418262E10, ~y=1.0737418273E10, ~zero_atan2~0=0.0] [L142-L242] ensures true; VAL [#in~x=1.0737418262E10, #in~y=1.0737418273E10, #NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=10737418254, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=10737418256, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=10737418242, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~hx~1=-2147483648, ~hy~0=-2147483648, ~lx~0=10737418277, ~ly~0=10737418272, ~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, ~x=1.0737418262E10, ~y=1.0737418273E10, ~zero_atan2~0=0.0] [L294] RET call #t~ret60 := __ieee754_atan2(~y~0, ~x~0); VAL [#NULL.base=0, #NULL.offset=0, #t~ret60=1.0737418269E10, ~#aT_atan~0.base=10737418254, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=10737418256, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=10737418242, ~#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, ~x~0=1.0737418262E10, ~y~0=1.0737418273E10, ~zero_atan2~0=0.0] [L294] ~res~0 := #t~ret60; [L294] havoc #t~ret60; [L297] #t~short62 := ~someBinaryDOUBLEComparisonOperation(~res~0, ~someUnaryDOUBLEoperation(0.0)); VAL [#NULL.base=0, #NULL.offset=0, #t~short62=false, ~#aT_atan~0.base=10737418254, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=10737418256, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=10737418242, ~#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, ~res~0=1.0737418269E10, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=1.0737418262E10, ~y~0=1.0737418273E10, ~zero_atan2~0=0.0] [L297] assume !#t~short62; VAL [#NULL.base=0, #NULL.offset=0, #t~short62=false, ~#aT_atan~0.base=10737418254, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=10737418256, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=10737418242, ~#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, ~res~0=1.0737418269E10, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=1.0737418262E10, ~y~0=1.0737418273E10, ~zero_atan2~0=0.0] [L297-L300] assume !#t~short62; [L297] havoc #t~short62; [L297] havoc #t~ret61; VAL [#NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=10737418254, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=10737418256, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=10737418242, ~#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, ~res~0=1.0737418269E10, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=1.0737418262E10, ~y~0=1.0737418273E10, ~zero_atan2~0=0.0] [L298] assert false; VAL [#NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=10737418254, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=10737418256, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=10737418242, ~#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, ~res~0=1.0737418269E10, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=1.0737418262E10, ~y~0=1.0737418273E10, ~zero_atan2~0=0.0] [?] CALL call ULTIMATE.init(); VAL [#NULL!base=10737418270, #NULL!offset=10737418263, old(#NULL!base)=10737418270, old(#NULL!offset)=10737418263, old(~#aT_atan~0!base)=10737418253, old(~#aT_atan~0!offset)=10737418260, old(~#atanhi_atan~0!base)=10737418255, old(~#atanhi_atan~0!offset)=10737418266, old(~#atanlo_atan~0!base)=10737418246, old(~#atanlo_atan~0!offset)=10737418279, old(~huge_atan~0)=1.0737418271E10, old(~one_atan~0)=1.0737418261E10, old(~pi_lo_atan2~0)=1.0737418259E10, old(~pi_o_2~0)=1.0737418241E10, old(~pi_o_4~0)=1.0737418265E10, old(~pi~0)=1.0737418268E10, old(~tiny_atan2~0)=1.0737418275E10, old(~zero_atan2~0)=1.0737418252E10, ~#aT_atan~0!base=10737418253, ~#aT_atan~0!offset=10737418260, ~#atanhi_atan~0!base=10737418255, ~#atanhi_atan~0!offset=10737418266, ~#atanlo_atan~0!base=10737418246, ~#atanlo_atan~0!offset=10737418279, ~huge_atan~0=1.0737418271E10, ~one_atan~0=1.0737418261E10, ~pi_lo_atan2~0=1.0737418259E10, ~pi_o_2~0=1.0737418241E10, ~pi_o_4~0=1.0737418265E10, ~pi~0=1.0737418268E10, ~tiny_atan2~0=1.0737418275E10, ~zero_atan2~0=1.0737418252E10] [?] #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; VAL [#NULL!base=0, #NULL!offset=0, old(#NULL!base)=10737418270, old(#NULL!offset)=10737418263, old(~#aT_atan~0!base)=10737418253, old(~#aT_atan~0!offset)=10737418260, old(~#atanhi_atan~0!base)=10737418255, old(~#atanhi_atan~0!offset)=10737418266, old(~#atanlo_atan~0!base)=10737418246, old(~#atanlo_atan~0!offset)=10737418279, old(~huge_atan~0)=1.0737418271E10, old(~one_atan~0)=1.0737418261E10, old(~pi_lo_atan2~0)=1.0737418259E10, old(~pi_o_2~0)=1.0737418241E10, old(~pi_o_4~0)=1.0737418265E10, old(~pi~0)=1.0737418268E10, old(~tiny_atan2~0)=1.0737418275E10, old(~zero_atan2~0)=1.0737418252E10, ~#aT_atan~0!base=10737418254, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=10737418256, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=10737418242, ~#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] [?] RET call ULTIMATE.init(); VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=10737418254, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=10737418256, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=10737418242, ~#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] [?] CALL call #t~ret63 := main(); VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=10737418254, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=10737418256, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=10737418242, ~#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] [L289] ~x~0 := ~someBinaryArithmeticDOUBLEoperation(1.0, 0.0); [L290] ~y~0 := #t~nondet56; [L290] havoc #t~nondet56; VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=10737418254, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=10737418256, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=10737418242, ~#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, ~y~0=1.0737418273E10, ~zero_atan2~0=0.0] [L292] CALL call #t~ret57 := isinf_double(~x~0); VAL [#in~x=1.0737418262E10, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=10737418254, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=10737418256, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=10737418242, ~#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] [L245-L257] ~x := #in~x; [L246] havoc ~hx~2; [L246] havoc ~lx~1; VAL [#in~x=1.0737418262E10, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=10737418254, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=10737418256, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=10737418242, ~#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, ~x=1.0737418262E10, ~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~union49; [L250] havoc #t~mem48; [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 [#in~x=1.0737418262E10, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=10737418254, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=10737418256, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=10737418242, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~hx~2=-2147483648, ~lx~1=3, ~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, ~x=1.0737418262E10, ~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); VAL [#in~x=1.0737418262E10, #NULL!base=0, #NULL!offset=0, #res=2, ~#aT_atan~0!base=10737418254, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=10737418256, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=10737418242, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~hx~2=2146435073, ~lx~1=3, ~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, ~x=1.0737418262E10, ~zero_atan2~0=0.0] [L292] RET call #t~ret57 := isinf_double(~x~0); VAL [#NULL!base=0, #NULL!offset=0, #t~ret57=2, ~#aT_atan~0!base=10737418254, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=10737418256, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=10737418242, ~#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, ~x~0=1.0737418262E10, ~y~0=1.0737418273E10, ~zero_atan2~0=0.0] [L292] assume -2147483648 <= #t~ret57 && #t~ret57 <= 2147483647; [L292] #t~short59 := 0 != #t~ret57; VAL [#NULL!base=0, #NULL!offset=0, #t~ret57=2, #t~short59=true, ~#aT_atan~0!base=10737418254, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=10737418256, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=10737418242, ~#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, ~x~0=1.0737418262E10, ~y~0=1.0737418273E10, ~zero_atan2~0=0.0] [L292] COND TRUE #t~short59 VAL [#NULL!base=0, #NULL!offset=0, #t~ret57=2, #t~short59=true, ~#aT_atan~0!base=10737418254, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=10737418256, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=10737418242, ~#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, ~x~0=1.0737418262E10, ~y~0=1.0737418273E10, ~zero_atan2~0=0.0] [L292] CALL call #t~ret58 := isfinite_double(~y~0); VAL [#in~x=1.0737418273E10, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=10737418254, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=10737418256, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=10737418242, ~#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] [L259-L267] ~x := #in~x; [L260] havoc ~hx~3; VAL [#in~x=1.0737418273E10, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=10737418254, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=10737418256, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=10737418242, ~#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, ~x=1.0737418273E10, ~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~union53; [L264] havoc #t~mem52; [L262] FCALL call ULTIMATE.dealloc(~#gh_u~3); [L262] havoc ~#gh_u~3; VAL [#in~x=1.0737418273E10, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=10737418254, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=10737418256, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=10737418242, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~hx~3=2147483647, ~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, ~x=1.0737418273E10, ~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); VAL [#in~x=1.0737418273E10, #NULL!base=0, #NULL!offset=0, #res=-1, ~#aT_atan~0!base=10737418254, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=10737418256, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=10737418242, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~hx~3=2147483647, ~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, ~x=1.0737418273E10, ~zero_atan2~0=0.0] [L292] RET call #t~ret58 := isfinite_double(~y~0); VAL [#NULL!base=0, #NULL!offset=0, #t~ret57=2, #t~ret58=-1, #t~short59=true, ~#aT_atan~0!base=10737418254, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=10737418256, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=10737418242, ~#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, ~x~0=1.0737418262E10, ~y~0=1.0737418273E10, ~zero_atan2~0=0.0] [L292] assume -2147483648 <= #t~ret58 && #t~ret58 <= 2147483647; [L292] #t~short59 := 0 != #t~ret58; VAL [#NULL!base=0, #NULL!offset=0, #t~ret57=2, #t~ret58=-1, #t~short59=true, ~#aT_atan~0!base=10737418254, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=10737418256, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=10737418242, ~#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, ~x~0=1.0737418262E10, ~y~0=1.0737418273E10, ~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; VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=10737418254, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=10737418256, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=10737418242, ~#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, ~x~0=1.0737418262E10, ~y~0=1.0737418273E10, ~zero_atan2~0=0.0] [L294] CALL call #t~ret60 := __ieee754_atan2(~y~0, ~x~0); VAL [#in~x=1.0737418262E10, #in~y=1.0737418273E10, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=10737418254, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=10737418256, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=10737418242, ~#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] [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 [#in~x=1.0737418262E10, #in~y=1.0737418273E10, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=10737418254, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=10737418256, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=10737418242, ~#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, ~x=1.0737418262E10, ~y=1.0737418273E10, ~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~union28; [L150] havoc #t~mem27; [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~union30; [L151] havoc #t~mem29; [L148] FCALL call ULTIMATE.dealloc(~#ew_u~0); [L148] havoc ~#ew_u~0; VAL [#in~x=1.0737418262E10, #in~y=1.0737418273E10, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=10737418254, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=10737418256, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=10737418242, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~hx~1=-2147483648, ~lx~0=10737418277, ~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, ~x=1.0737418262E10, ~y=1.0737418273E10, ~zero_atan2~0=0.0] [L153] ~ix~1 := ~bitwiseAnd(~hx~1, 2147483647); VAL [#in~x=1.0737418262E10, #in~y=1.0737418273E10, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=10737418254, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=10737418256, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=10737418242, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~hx~1=-2147483648, ~lx~0=10737418277, ~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, ~x=1.0737418262E10, ~y=1.0737418273E10, ~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~mem31; [L157] havoc #t~union32; [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~mem33; [L158] havoc #t~union34; [L155] FCALL call ULTIMATE.dealloc(~#ew_u~1); [L155] havoc ~#ew_u~1; VAL [#in~x=1.0737418262E10, #in~y=1.0737418273E10, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=10737418254, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=10737418256, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=10737418242, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~hx~1=-2147483648, ~hy~0=-2147483648, ~lx~0=10737418277, ~ly~0=10737418272, ~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, ~x=1.0737418262E10, ~y=1.0737418273E10, ~zero_atan2~0=0.0] [L160] ~iy~0 := ~bitwiseAnd(~hy~0, 2147483647); VAL [#in~x=1.0737418262E10, #in~y=1.0737418273E10, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=10737418254, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=10737418256, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=10737418242, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~hx~1=-2147483648, ~hy~0=-2147483648, ~lx~0=10737418277, ~ly~0=10737418272, ~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, ~x=1.0737418262E10, ~y=1.0737418273E10, ~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 [#in~x=1.0737418262E10, #in~y=1.0737418273E10, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=10737418254, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=10737418256, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=10737418242, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~hx~1=-2147483648, ~hy~0=-2147483648, ~lx~0=10737418277, ~ly~0=10737418272, ~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, ~x=1.0737418262E10, ~y=1.0737418273E10, ~zero_atan2~0=0.0] [L294] RET call #t~ret60 := __ieee754_atan2(~y~0, ~x~0); VAL [#NULL!base=0, #NULL!offset=0, #t~ret60=1.0737418269E10, ~#aT_atan~0!base=10737418254, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=10737418256, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=10737418242, ~#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, ~x~0=1.0737418262E10, ~y~0=1.0737418273E10, ~zero_atan2~0=0.0] [L294] ~res~0 := #t~ret60; [L294] havoc #t~ret60; [L297] #t~short62 := ~someBinaryDOUBLEComparisonOperation(~res~0, ~someUnaryDOUBLEoperation(0.0)); VAL [#NULL!base=0, #NULL!offset=0, #t~short62=false, ~#aT_atan~0!base=10737418254, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=10737418256, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=10737418242, ~#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, ~res~0=1.0737418269E10, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=1.0737418262E10, ~y~0=1.0737418273E10, ~zero_atan2~0=0.0] [L297] COND FALSE !(#t~short62) VAL [#NULL!base=0, #NULL!offset=0, #t~short62=false, ~#aT_atan~0!base=10737418254, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=10737418256, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=10737418242, ~#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, ~res~0=1.0737418269E10, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=1.0737418262E10, ~y~0=1.0737418273E10, ~zero_atan2~0=0.0] [L297] COND TRUE !#t~short62 [L297] havoc #t~short62; [L297] havoc #t~ret61; VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=10737418254, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=10737418256, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=10737418242, ~#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, ~res~0=1.0737418269E10, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=1.0737418262E10, ~y~0=1.0737418273E10, ~zero_atan2~0=0.0] [L298] assert false; VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=10737418254, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=10737418256, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=10737418242, ~#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, ~res~0=1.0737418269E10, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=1.0737418262E10, ~y~0=1.0737418273E10, ~zero_atan2~0=0.0] ----- ----- class de.uni_freiburg.informatik.ultimate.boogie.procedureinliner.backtranslation.InlinerBacktranslator [?] CALL call ULTIMATE.init(); VAL [#NULL!base=10737418270, #NULL!offset=10737418263, old(#NULL!base)=10737418270, old(#NULL!offset)=10737418263, old(~#aT_atan~0!base)=10737418253, old(~#aT_atan~0!offset)=10737418260, old(~#atanhi_atan~0!base)=10737418255, old(~#atanhi_atan~0!offset)=10737418266, old(~#atanlo_atan~0!base)=10737418246, old(~#atanlo_atan~0!offset)=10737418279, old(~huge_atan~0)=1.0737418271E10, old(~one_atan~0)=1.0737418261E10, old(~pi_lo_atan2~0)=1.0737418259E10, old(~pi_o_2~0)=1.0737418241E10, old(~pi_o_4~0)=1.0737418265E10, old(~pi~0)=1.0737418268E10, old(~tiny_atan2~0)=1.0737418275E10, old(~zero_atan2~0)=1.0737418252E10, ~#aT_atan~0!base=10737418253, ~#aT_atan~0!offset=10737418260, ~#atanhi_atan~0!base=10737418255, ~#atanhi_atan~0!offset=10737418266, ~#atanlo_atan~0!base=10737418246, ~#atanlo_atan~0!offset=10737418279, ~huge_atan~0=1.0737418271E10, ~one_atan~0=1.0737418261E10, ~pi_lo_atan2~0=1.0737418259E10, ~pi_o_2~0=1.0737418241E10, ~pi_o_4~0=1.0737418265E10, ~pi~0=1.0737418268E10, ~tiny_atan2~0=1.0737418275E10, ~zero_atan2~0=1.0737418252E10] [?] #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; VAL [#NULL!base=0, #NULL!offset=0, old(#NULL!base)=10737418270, old(#NULL!offset)=10737418263, old(~#aT_atan~0!base)=10737418253, old(~#aT_atan~0!offset)=10737418260, old(~#atanhi_atan~0!base)=10737418255, old(~#atanhi_atan~0!offset)=10737418266, old(~#atanlo_atan~0!base)=10737418246, old(~#atanlo_atan~0!offset)=10737418279, old(~huge_atan~0)=1.0737418271E10, old(~one_atan~0)=1.0737418261E10, old(~pi_lo_atan2~0)=1.0737418259E10, old(~pi_o_2~0)=1.0737418241E10, old(~pi_o_4~0)=1.0737418265E10, old(~pi~0)=1.0737418268E10, old(~tiny_atan2~0)=1.0737418275E10, old(~zero_atan2~0)=1.0737418252E10, ~#aT_atan~0!base=10737418254, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=10737418256, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=10737418242, ~#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] [?] RET call ULTIMATE.init(); VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=10737418254, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=10737418256, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=10737418242, ~#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] [?] CALL call #t~ret63 := main(); VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=10737418254, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=10737418256, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=10737418242, ~#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] [L289] ~x~0 := ~someBinaryArithmeticDOUBLEoperation(1.0, 0.0); [L290] ~y~0 := #t~nondet56; [L290] havoc #t~nondet56; VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=10737418254, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=10737418256, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=10737418242, ~#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, ~y~0=1.0737418273E10, ~zero_atan2~0=0.0] [L292] CALL call #t~ret57 := isinf_double(~x~0); VAL [#in~x=1.0737418262E10, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=10737418254, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=10737418256, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=10737418242, ~#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] [L245-L257] ~x := #in~x; [L246] havoc ~hx~2; [L246] havoc ~lx~1; VAL [#in~x=1.0737418262E10, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=10737418254, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=10737418256, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=10737418242, ~#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, ~x=1.0737418262E10, ~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~union49; [L250] havoc #t~mem48; [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 [#in~x=1.0737418262E10, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=10737418254, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=10737418256, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=10737418242, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~hx~2=-2147483648, ~lx~1=3, ~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, ~x=1.0737418262E10, ~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); VAL [#in~x=1.0737418262E10, #NULL!base=0, #NULL!offset=0, #res=2, ~#aT_atan~0!base=10737418254, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=10737418256, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=10737418242, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~hx~2=2146435073, ~lx~1=3, ~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, ~x=1.0737418262E10, ~zero_atan2~0=0.0] [L292] RET call #t~ret57 := isinf_double(~x~0); VAL [#NULL!base=0, #NULL!offset=0, #t~ret57=2, ~#aT_atan~0!base=10737418254, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=10737418256, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=10737418242, ~#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, ~x~0=1.0737418262E10, ~y~0=1.0737418273E10, ~zero_atan2~0=0.0] [L292] assume -2147483648 <= #t~ret57 && #t~ret57 <= 2147483647; [L292] #t~short59 := 0 != #t~ret57; VAL [#NULL!base=0, #NULL!offset=0, #t~ret57=2, #t~short59=true, ~#aT_atan~0!base=10737418254, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=10737418256, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=10737418242, ~#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, ~x~0=1.0737418262E10, ~y~0=1.0737418273E10, ~zero_atan2~0=0.0] [L292] COND TRUE #t~short59 VAL [#NULL!base=0, #NULL!offset=0, #t~ret57=2, #t~short59=true, ~#aT_atan~0!base=10737418254, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=10737418256, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=10737418242, ~#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, ~x~0=1.0737418262E10, ~y~0=1.0737418273E10, ~zero_atan2~0=0.0] [L292] CALL call #t~ret58 := isfinite_double(~y~0); VAL [#in~x=1.0737418273E10, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=10737418254, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=10737418256, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=10737418242, ~#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] [L259-L267] ~x := #in~x; [L260] havoc ~hx~3; VAL [#in~x=1.0737418273E10, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=10737418254, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=10737418256, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=10737418242, ~#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, ~x=1.0737418273E10, ~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~union53; [L264] havoc #t~mem52; [L262] FCALL call ULTIMATE.dealloc(~#gh_u~3); [L262] havoc ~#gh_u~3; VAL [#in~x=1.0737418273E10, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=10737418254, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=10737418256, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=10737418242, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~hx~3=2147483647, ~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, ~x=1.0737418273E10, ~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); VAL [#in~x=1.0737418273E10, #NULL!base=0, #NULL!offset=0, #res=-1, ~#aT_atan~0!base=10737418254, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=10737418256, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=10737418242, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~hx~3=2147483647, ~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, ~x=1.0737418273E10, ~zero_atan2~0=0.0] [L292] RET call #t~ret58 := isfinite_double(~y~0); VAL [#NULL!base=0, #NULL!offset=0, #t~ret57=2, #t~ret58=-1, #t~short59=true, ~#aT_atan~0!base=10737418254, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=10737418256, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=10737418242, ~#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, ~x~0=1.0737418262E10, ~y~0=1.0737418273E10, ~zero_atan2~0=0.0] [L292] assume -2147483648 <= #t~ret58 && #t~ret58 <= 2147483647; [L292] #t~short59 := 0 != #t~ret58; VAL [#NULL!base=0, #NULL!offset=0, #t~ret57=2, #t~ret58=-1, #t~short59=true, ~#aT_atan~0!base=10737418254, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=10737418256, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=10737418242, ~#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, ~x~0=1.0737418262E10, ~y~0=1.0737418273E10, ~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; VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=10737418254, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=10737418256, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=10737418242, ~#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, ~x~0=1.0737418262E10, ~y~0=1.0737418273E10, ~zero_atan2~0=0.0] [L294] CALL call #t~ret60 := __ieee754_atan2(~y~0, ~x~0); VAL [#in~x=1.0737418262E10, #in~y=1.0737418273E10, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=10737418254, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=10737418256, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=10737418242, ~#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] [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 [#in~x=1.0737418262E10, #in~y=1.0737418273E10, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=10737418254, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=10737418256, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=10737418242, ~#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, ~x=1.0737418262E10, ~y=1.0737418273E10, ~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~union28; [L150] havoc #t~mem27; [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~union30; [L151] havoc #t~mem29; [L148] FCALL call ULTIMATE.dealloc(~#ew_u~0); [L148] havoc ~#ew_u~0; VAL [#in~x=1.0737418262E10, #in~y=1.0737418273E10, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=10737418254, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=10737418256, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=10737418242, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~hx~1=-2147483648, ~lx~0=10737418277, ~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, ~x=1.0737418262E10, ~y=1.0737418273E10, ~zero_atan2~0=0.0] [L153] ~ix~1 := ~bitwiseAnd(~hx~1, 2147483647); VAL [#in~x=1.0737418262E10, #in~y=1.0737418273E10, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=10737418254, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=10737418256, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=10737418242, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~hx~1=-2147483648, ~lx~0=10737418277, ~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, ~x=1.0737418262E10, ~y=1.0737418273E10, ~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~mem31; [L157] havoc #t~union32; [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~mem33; [L158] havoc #t~union34; [L155] FCALL call ULTIMATE.dealloc(~#ew_u~1); [L155] havoc ~#ew_u~1; VAL [#in~x=1.0737418262E10, #in~y=1.0737418273E10, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=10737418254, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=10737418256, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=10737418242, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~hx~1=-2147483648, ~hy~0=-2147483648, ~lx~0=10737418277, ~ly~0=10737418272, ~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, ~x=1.0737418262E10, ~y=1.0737418273E10, ~zero_atan2~0=0.0] [L160] ~iy~0 := ~bitwiseAnd(~hy~0, 2147483647); VAL [#in~x=1.0737418262E10, #in~y=1.0737418273E10, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=10737418254, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=10737418256, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=10737418242, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~hx~1=-2147483648, ~hy~0=-2147483648, ~lx~0=10737418277, ~ly~0=10737418272, ~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, ~x=1.0737418262E10, ~y=1.0737418273E10, ~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 [#in~x=1.0737418262E10, #in~y=1.0737418273E10, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=10737418254, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=10737418256, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=10737418242, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~hx~1=-2147483648, ~hy~0=-2147483648, ~lx~0=10737418277, ~ly~0=10737418272, ~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, ~x=1.0737418262E10, ~y=1.0737418273E10, ~zero_atan2~0=0.0] [L294] RET call #t~ret60 := __ieee754_atan2(~y~0, ~x~0); VAL [#NULL!base=0, #NULL!offset=0, #t~ret60=1.0737418269E10, ~#aT_atan~0!base=10737418254, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=10737418256, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=10737418242, ~#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, ~x~0=1.0737418262E10, ~y~0=1.0737418273E10, ~zero_atan2~0=0.0] [L294] ~res~0 := #t~ret60; [L294] havoc #t~ret60; [L297] #t~short62 := ~someBinaryDOUBLEComparisonOperation(~res~0, ~someUnaryDOUBLEoperation(0.0)); VAL [#NULL!base=0, #NULL!offset=0, #t~short62=false, ~#aT_atan~0!base=10737418254, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=10737418256, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=10737418242, ~#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, ~res~0=1.0737418269E10, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=1.0737418262E10, ~y~0=1.0737418273E10, ~zero_atan2~0=0.0] [L297] COND FALSE !(#t~short62) VAL [#NULL!base=0, #NULL!offset=0, #t~short62=false, ~#aT_atan~0!base=10737418254, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=10737418256, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=10737418242, ~#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, ~res~0=1.0737418269E10, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=1.0737418262E10, ~y~0=1.0737418273E10, ~zero_atan2~0=0.0] [L297] COND TRUE !#t~short62 [L297] havoc #t~short62; [L297] havoc #t~ret61; VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=10737418254, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=10737418256, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=10737418242, ~#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, ~res~0=1.0737418269E10, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=1.0737418262E10, ~y~0=1.0737418273E10, ~zero_atan2~0=0.0] [L298] assert false; VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=10737418254, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=10737418256, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=10737418242, ~#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, ~res~0=1.0737418269E10, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=1.0737418262E10, ~y~0=1.0737418273E10, ~zero_atan2~0=0.0] [?] CALL call ULTIMATE.init(); VAL [#NULL!base=10737418270, #NULL!offset=10737418263, old(#NULL!base)=10737418270, old(#NULL!offset)=10737418263, old(~#aT_atan~0!base)=10737418253, old(~#aT_atan~0!offset)=10737418260, old(~#atanhi_atan~0!base)=10737418255, old(~#atanhi_atan~0!offset)=10737418266, old(~#atanlo_atan~0!base)=10737418246, old(~#atanlo_atan~0!offset)=10737418279, old(~huge_atan~0)=1.0737418271E10, old(~one_atan~0)=1.0737418261E10, old(~pi_lo_atan2~0)=1.0737418259E10, old(~pi_o_2~0)=1.0737418241E10, old(~pi_o_4~0)=1.0737418265E10, old(~pi~0)=1.0737418268E10, old(~tiny_atan2~0)=1.0737418275E10, old(~zero_atan2~0)=1.0737418252E10, ~#aT_atan~0!base=10737418253, ~#aT_atan~0!offset=10737418260, ~#atanhi_atan~0!base=10737418255, ~#atanhi_atan~0!offset=10737418266, ~#atanlo_atan~0!base=10737418246, ~#atanlo_atan~0!offset=10737418279, ~huge_atan~0=1.0737418271E10, ~one_atan~0=1.0737418261E10, ~pi_lo_atan2~0=1.0737418259E10, ~pi_o_2~0=1.0737418241E10, ~pi_o_4~0=1.0737418265E10, ~pi~0=1.0737418268E10, ~tiny_atan2~0=1.0737418275E10, ~zero_atan2~0=1.0737418252E10] [?] #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; VAL [#NULL!base=0, #NULL!offset=0, old(#NULL!base)=10737418270, old(#NULL!offset)=10737418263, old(~#aT_atan~0!base)=10737418253, old(~#aT_atan~0!offset)=10737418260, old(~#atanhi_atan~0!base)=10737418255, old(~#atanhi_atan~0!offset)=10737418266, old(~#atanlo_atan~0!base)=10737418246, old(~#atanlo_atan~0!offset)=10737418279, old(~huge_atan~0)=1.0737418271E10, old(~one_atan~0)=1.0737418261E10, old(~pi_lo_atan2~0)=1.0737418259E10, old(~pi_o_2~0)=1.0737418241E10, old(~pi_o_4~0)=1.0737418265E10, old(~pi~0)=1.0737418268E10, old(~tiny_atan2~0)=1.0737418275E10, old(~zero_atan2~0)=1.0737418252E10, ~#aT_atan~0!base=10737418254, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=10737418256, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=10737418242, ~#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] [?] RET call ULTIMATE.init(); VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=10737418254, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=10737418256, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=10737418242, ~#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] [?] CALL call #t~ret63 := main(); VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=10737418254, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=10737418256, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=10737418242, ~#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] [L289] ~x~0 := ~someBinaryArithmeticDOUBLEoperation(1.0, 0.0); [L290] ~y~0 := #t~nondet56; [L290] havoc #t~nondet56; VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=10737418254, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=10737418256, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=10737418242, ~#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, ~y~0=1.0737418273E10, ~zero_atan2~0=0.0] [L292] CALL call #t~ret57 := isinf_double(~x~0); VAL [#in~x=1.0737418262E10, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=10737418254, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=10737418256, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=10737418242, ~#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] [L245-L257] ~x := #in~x; [L246] havoc ~hx~2; [L246] havoc ~lx~1; VAL [#in~x=1.0737418262E10, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=10737418254, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=10737418256, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=10737418242, ~#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, ~x=1.0737418262E10, ~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~union49; [L250] havoc #t~mem48; [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 [#in~x=1.0737418262E10, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=10737418254, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=10737418256, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=10737418242, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~hx~2=-2147483648, ~lx~1=3, ~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, ~x=1.0737418262E10, ~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); VAL [#in~x=1.0737418262E10, #NULL!base=0, #NULL!offset=0, #res=2, ~#aT_atan~0!base=10737418254, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=10737418256, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=10737418242, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~hx~2=2146435073, ~lx~1=3, ~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, ~x=1.0737418262E10, ~zero_atan2~0=0.0] [L292] RET call #t~ret57 := isinf_double(~x~0); VAL [#NULL!base=0, #NULL!offset=0, #t~ret57=2, ~#aT_atan~0!base=10737418254, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=10737418256, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=10737418242, ~#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, ~x~0=1.0737418262E10, ~y~0=1.0737418273E10, ~zero_atan2~0=0.0] [L292] assume -2147483648 <= #t~ret57 && #t~ret57 <= 2147483647; [L292] #t~short59 := 0 != #t~ret57; VAL [#NULL!base=0, #NULL!offset=0, #t~ret57=2, #t~short59=true, ~#aT_atan~0!base=10737418254, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=10737418256, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=10737418242, ~#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, ~x~0=1.0737418262E10, ~y~0=1.0737418273E10, ~zero_atan2~0=0.0] [L292] COND TRUE #t~short59 VAL [#NULL!base=0, #NULL!offset=0, #t~ret57=2, #t~short59=true, ~#aT_atan~0!base=10737418254, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=10737418256, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=10737418242, ~#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, ~x~0=1.0737418262E10, ~y~0=1.0737418273E10, ~zero_atan2~0=0.0] [L292] CALL call #t~ret58 := isfinite_double(~y~0); VAL [#in~x=1.0737418273E10, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=10737418254, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=10737418256, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=10737418242, ~#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] [L259-L267] ~x := #in~x; [L260] havoc ~hx~3; VAL [#in~x=1.0737418273E10, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=10737418254, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=10737418256, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=10737418242, ~#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, ~x=1.0737418273E10, ~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~union53; [L264] havoc #t~mem52; [L262] FCALL call ULTIMATE.dealloc(~#gh_u~3); [L262] havoc ~#gh_u~3; VAL [#in~x=1.0737418273E10, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=10737418254, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=10737418256, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=10737418242, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~hx~3=2147483647, ~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, ~x=1.0737418273E10, ~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); VAL [#in~x=1.0737418273E10, #NULL!base=0, #NULL!offset=0, #res=-1, ~#aT_atan~0!base=10737418254, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=10737418256, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=10737418242, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~hx~3=2147483647, ~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, ~x=1.0737418273E10, ~zero_atan2~0=0.0] [L292] RET call #t~ret58 := isfinite_double(~y~0); VAL [#NULL!base=0, #NULL!offset=0, #t~ret57=2, #t~ret58=-1, #t~short59=true, ~#aT_atan~0!base=10737418254, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=10737418256, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=10737418242, ~#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, ~x~0=1.0737418262E10, ~y~0=1.0737418273E10, ~zero_atan2~0=0.0] [L292] assume -2147483648 <= #t~ret58 && #t~ret58 <= 2147483647; [L292] #t~short59 := 0 != #t~ret58; VAL [#NULL!base=0, #NULL!offset=0, #t~ret57=2, #t~ret58=-1, #t~short59=true, ~#aT_atan~0!base=10737418254, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=10737418256, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=10737418242, ~#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, ~x~0=1.0737418262E10, ~y~0=1.0737418273E10, ~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; VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=10737418254, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=10737418256, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=10737418242, ~#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, ~x~0=1.0737418262E10, ~y~0=1.0737418273E10, ~zero_atan2~0=0.0] [L294] CALL call #t~ret60 := __ieee754_atan2(~y~0, ~x~0); VAL [#in~x=1.0737418262E10, #in~y=1.0737418273E10, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=10737418254, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=10737418256, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=10737418242, ~#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] [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 [#in~x=1.0737418262E10, #in~y=1.0737418273E10, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=10737418254, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=10737418256, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=10737418242, ~#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, ~x=1.0737418262E10, ~y=1.0737418273E10, ~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~union28; [L150] havoc #t~mem27; [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~union30; [L151] havoc #t~mem29; [L148] FCALL call ULTIMATE.dealloc(~#ew_u~0); [L148] havoc ~#ew_u~0; VAL [#in~x=1.0737418262E10, #in~y=1.0737418273E10, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=10737418254, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=10737418256, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=10737418242, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~hx~1=-2147483648, ~lx~0=10737418277, ~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, ~x=1.0737418262E10, ~y=1.0737418273E10, ~zero_atan2~0=0.0] [L153] ~ix~1 := ~bitwiseAnd(~hx~1, 2147483647); VAL [#in~x=1.0737418262E10, #in~y=1.0737418273E10, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=10737418254, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=10737418256, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=10737418242, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~hx~1=-2147483648, ~lx~0=10737418277, ~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, ~x=1.0737418262E10, ~y=1.0737418273E10, ~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~mem31; [L157] havoc #t~union32; [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~mem33; [L158] havoc #t~union34; [L155] FCALL call ULTIMATE.dealloc(~#ew_u~1); [L155] havoc ~#ew_u~1; VAL [#in~x=1.0737418262E10, #in~y=1.0737418273E10, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=10737418254, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=10737418256, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=10737418242, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~hx~1=-2147483648, ~hy~0=-2147483648, ~lx~0=10737418277, ~ly~0=10737418272, ~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, ~x=1.0737418262E10, ~y=1.0737418273E10, ~zero_atan2~0=0.0] [L160] ~iy~0 := ~bitwiseAnd(~hy~0, 2147483647); VAL [#in~x=1.0737418262E10, #in~y=1.0737418273E10, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=10737418254, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=10737418256, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=10737418242, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~hx~1=-2147483648, ~hy~0=-2147483648, ~lx~0=10737418277, ~ly~0=10737418272, ~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, ~x=1.0737418262E10, ~y=1.0737418273E10, ~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 [#in~x=1.0737418262E10, #in~y=1.0737418273E10, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=10737418254, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=10737418256, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=10737418242, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~hx~1=-2147483648, ~hy~0=-2147483648, ~lx~0=10737418277, ~ly~0=10737418272, ~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, ~x=1.0737418262E10, ~y=1.0737418273E10, ~zero_atan2~0=0.0] [L294] RET call #t~ret60 := __ieee754_atan2(~y~0, ~x~0); VAL [#NULL!base=0, #NULL!offset=0, #t~ret60=1.0737418269E10, ~#aT_atan~0!base=10737418254, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=10737418256, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=10737418242, ~#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, ~x~0=1.0737418262E10, ~y~0=1.0737418273E10, ~zero_atan2~0=0.0] [L294] ~res~0 := #t~ret60; [L294] havoc #t~ret60; [L297] #t~short62 := ~someBinaryDOUBLEComparisonOperation(~res~0, ~someUnaryDOUBLEoperation(0.0)); VAL [#NULL!base=0, #NULL!offset=0, #t~short62=false, ~#aT_atan~0!base=10737418254, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=10737418256, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=10737418242, ~#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, ~res~0=1.0737418269E10, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=1.0737418262E10, ~y~0=1.0737418273E10, ~zero_atan2~0=0.0] [L297] COND FALSE !(#t~short62) VAL [#NULL!base=0, #NULL!offset=0, #t~short62=false, ~#aT_atan~0!base=10737418254, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=10737418256, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=10737418242, ~#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, ~res~0=1.0737418269E10, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=1.0737418262E10, ~y~0=1.0737418273E10, ~zero_atan2~0=0.0] [L297] COND TRUE !#t~short62 [L297] havoc #t~short62; [L297] havoc #t~ret61; VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=10737418254, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=10737418256, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=10737418242, ~#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, ~res~0=1.0737418269E10, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=1.0737418262E10, ~y~0=1.0737418273E10, ~zero_atan2~0=0.0] [L298] assert false; VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=10737418254, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=10737418256, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=10737418242, ~#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, ~res~0=1.0737418269E10, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=1.0737418262E10, ~y~0=1.0737418273E10, ~zero_atan2~0=0.0] ----- [2018-11-23 06:45:39,094 WARN L1272 BoogieBacktranslator]: Unfinished Backtranslation: IntegerLiteral 10737418255 could not be translated for associated CType ARRAY#_4_~DOUBLE# [2018-11-23 06:45:39,095 WARN L1272 BoogieBacktranslator]: Unfinished Backtranslation: IntegerLiteral 10737418253 could not be translated for associated CType ARRAY#_11_~DOUBLE# [2018-11-23 06:45:39,095 WARN L1272 BoogieBacktranslator]: Unfinished Backtranslation: IntegerLiteral 10737418266 could not be translated for associated CType ARRAY#_4_~DOUBLE# [2018-11-23 06:45:39,095 WARN L1272 BoogieBacktranslator]: Unfinished Backtranslation: IntegerLiteral 10737418279 could not be translated for associated CType ARRAY#_4_~DOUBLE# [2018-11-23 06:45:39,096 WARN L1272 BoogieBacktranslator]: Unfinished Backtranslation: IntegerLiteral 10737418246 could not be translated for associated CType ARRAY#_4_~DOUBLE# [2018-11-23 06:45:39,096 WARN L1272 BoogieBacktranslator]: Unfinished Backtranslation: IntegerLiteral 10737418260 could not be translated for associated CType ARRAY#_11_~DOUBLE# ----- class de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.CACSL2BoogieBacktranslator [?] CALL call ULTIMATE.init(); VAL [#NULL!base=10737418270, #NULL!offset=10737418263, old(#NULL!base)=10737418270, old(#NULL!offset)=10737418263, old(~#aT_atan~0!base)=10737418253, old(~#aT_atan~0!offset)=10737418260, old(~#atanhi_atan~0!base)=10737418255, old(~#atanhi_atan~0!offset)=10737418266, old(~#atanlo_atan~0!base)=10737418246, old(~#atanlo_atan~0!offset)=10737418279, old(~huge_atan~0)=1.0737418271E10, old(~one_atan~0)=1.0737418261E10, old(~pi_lo_atan2~0)=1.0737418259E10, old(~pi_o_2~0)=1.0737418241E10, old(~pi_o_4~0)=1.0737418265E10, old(~pi~0)=1.0737418268E10, old(~tiny_atan2~0)=1.0737418275E10, old(~zero_atan2~0)=1.0737418252E10, ~#aT_atan~0!base=10737418253, ~#aT_atan~0!offset=10737418260, ~#atanhi_atan~0!base=10737418255, ~#atanhi_atan~0!offset=10737418266, ~#atanlo_atan~0!base=10737418246, ~#atanlo_atan~0!offset=10737418279, ~huge_atan~0=1.0737418271E10, ~one_atan~0=1.0737418261E10, ~pi_lo_atan2~0=1.0737418259E10, ~pi_o_2~0=1.0737418241E10, ~pi_o_4~0=1.0737418265E10, ~pi~0=1.0737418268E10, ~tiny_atan2~0=1.0737418275E10, ~zero_atan2~0=1.0737418252E10] [?] #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; VAL [#NULL!base=0, #NULL!offset=0, old(#NULL!base)=10737418270, old(#NULL!offset)=10737418263, old(~#aT_atan~0!base)=10737418253, old(~#aT_atan~0!offset)=10737418260, old(~#atanhi_atan~0!base)=10737418255, old(~#atanhi_atan~0!offset)=10737418266, old(~#atanlo_atan~0!base)=10737418246, old(~#atanlo_atan~0!offset)=10737418279, old(~huge_atan~0)=1.0737418271E10, old(~one_atan~0)=1.0737418261E10, old(~pi_lo_atan2~0)=1.0737418259E10, old(~pi_o_2~0)=1.0737418241E10, old(~pi_o_4~0)=1.0737418265E10, old(~pi~0)=1.0737418268E10, old(~tiny_atan2~0)=1.0737418275E10, old(~zero_atan2~0)=1.0737418252E10, ~#aT_atan~0!base=10737418254, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=10737418256, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=10737418242, ~#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] [?] RET call ULTIMATE.init(); VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=10737418254, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=10737418256, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=10737418242, ~#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] [?] CALL call #t~ret63 := main(); VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=10737418254, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=10737418256, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=10737418242, ~#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] [L289] ~x~0 := ~someBinaryArithmeticDOUBLEoperation(1.0, 0.0); [L290] ~y~0 := #t~nondet56; [L290] havoc #t~nondet56; VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=10737418254, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=10737418256, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=10737418242, ~#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, ~y~0=1.0737418273E10, ~zero_atan2~0=0.0] [L292] CALL call #t~ret57 := isinf_double(~x~0); VAL [#in~x=1.0737418262E10, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=10737418254, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=10737418256, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=10737418242, ~#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] [L245-L257] ~x := #in~x; [L246] havoc ~hx~2; [L246] havoc ~lx~1; VAL [#in~x=1.0737418262E10, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=10737418254, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=10737418256, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=10737418242, ~#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, ~x=1.0737418262E10, ~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~union49; [L250] havoc #t~mem48; [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 [#in~x=1.0737418262E10, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=10737418254, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=10737418256, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=10737418242, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~hx~2=-2147483648, ~lx~1=3, ~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, ~x=1.0737418262E10, ~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); VAL [#in~x=1.0737418262E10, #NULL!base=0, #NULL!offset=0, #res=2, ~#aT_atan~0!base=10737418254, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=10737418256, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=10737418242, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~hx~2=2146435073, ~lx~1=3, ~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, ~x=1.0737418262E10, ~zero_atan2~0=0.0] [L292] RET call #t~ret57 := isinf_double(~x~0); VAL [#NULL!base=0, #NULL!offset=0, #t~ret57=2, ~#aT_atan~0!base=10737418254, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=10737418256, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=10737418242, ~#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, ~x~0=1.0737418262E10, ~y~0=1.0737418273E10, ~zero_atan2~0=0.0] [L292] assume -2147483648 <= #t~ret57 && #t~ret57 <= 2147483647; [L292] #t~short59 := 0 != #t~ret57; VAL [#NULL!base=0, #NULL!offset=0, #t~ret57=2, #t~short59=true, ~#aT_atan~0!base=10737418254, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=10737418256, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=10737418242, ~#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, ~x~0=1.0737418262E10, ~y~0=1.0737418273E10, ~zero_atan2~0=0.0] [L292] COND TRUE #t~short59 VAL [#NULL!base=0, #NULL!offset=0, #t~ret57=2, #t~short59=true, ~#aT_atan~0!base=10737418254, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=10737418256, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=10737418242, ~#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, ~x~0=1.0737418262E10, ~y~0=1.0737418273E10, ~zero_atan2~0=0.0] [L292] CALL call #t~ret58 := isfinite_double(~y~0); VAL [#in~x=1.0737418273E10, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=10737418254, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=10737418256, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=10737418242, ~#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] [L259-L267] ~x := #in~x; [L260] havoc ~hx~3; VAL [#in~x=1.0737418273E10, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=10737418254, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=10737418256, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=10737418242, ~#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, ~x=1.0737418273E10, ~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~union53; [L264] havoc #t~mem52; [L262] FCALL call ULTIMATE.dealloc(~#gh_u~3); [L262] havoc ~#gh_u~3; VAL [#in~x=1.0737418273E10, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=10737418254, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=10737418256, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=10737418242, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~hx~3=2147483647, ~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, ~x=1.0737418273E10, ~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); VAL [#in~x=1.0737418273E10, #NULL!base=0, #NULL!offset=0, #res=-1, ~#aT_atan~0!base=10737418254, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=10737418256, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=10737418242, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~hx~3=2147483647, ~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, ~x=1.0737418273E10, ~zero_atan2~0=0.0] [L292] RET call #t~ret58 := isfinite_double(~y~0); VAL [#NULL!base=0, #NULL!offset=0, #t~ret57=2, #t~ret58=-1, #t~short59=true, ~#aT_atan~0!base=10737418254, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=10737418256, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=10737418242, ~#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, ~x~0=1.0737418262E10, ~y~0=1.0737418273E10, ~zero_atan2~0=0.0] [L292] assume -2147483648 <= #t~ret58 && #t~ret58 <= 2147483647; [L292] #t~short59 := 0 != #t~ret58; VAL [#NULL!base=0, #NULL!offset=0, #t~ret57=2, #t~ret58=-1, #t~short59=true, ~#aT_atan~0!base=10737418254, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=10737418256, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=10737418242, ~#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, ~x~0=1.0737418262E10, ~y~0=1.0737418273E10, ~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; VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=10737418254, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=10737418256, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=10737418242, ~#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, ~x~0=1.0737418262E10, ~y~0=1.0737418273E10, ~zero_atan2~0=0.0] [L294] CALL call #t~ret60 := __ieee754_atan2(~y~0, ~x~0); VAL [#in~x=1.0737418262E10, #in~y=1.0737418273E10, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=10737418254, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=10737418256, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=10737418242, ~#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] [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 [#in~x=1.0737418262E10, #in~y=1.0737418273E10, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=10737418254, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=10737418256, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=10737418242, ~#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, ~x=1.0737418262E10, ~y=1.0737418273E10, ~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~union28; [L150] havoc #t~mem27; [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~union30; [L151] havoc #t~mem29; [L148] FCALL call ULTIMATE.dealloc(~#ew_u~0); [L148] havoc ~#ew_u~0; VAL [#in~x=1.0737418262E10, #in~y=1.0737418273E10, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=10737418254, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=10737418256, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=10737418242, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~hx~1=-2147483648, ~lx~0=10737418277, ~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, ~x=1.0737418262E10, ~y=1.0737418273E10, ~zero_atan2~0=0.0] [L153] ~ix~1 := ~bitwiseAnd(~hx~1, 2147483647); VAL [#in~x=1.0737418262E10, #in~y=1.0737418273E10, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=10737418254, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=10737418256, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=10737418242, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~hx~1=-2147483648, ~lx~0=10737418277, ~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, ~x=1.0737418262E10, ~y=1.0737418273E10, ~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~mem31; [L157] havoc #t~union32; [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~mem33; [L158] havoc #t~union34; [L155] FCALL call ULTIMATE.dealloc(~#ew_u~1); [L155] havoc ~#ew_u~1; VAL [#in~x=1.0737418262E10, #in~y=1.0737418273E10, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=10737418254, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=10737418256, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=10737418242, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~hx~1=-2147483648, ~hy~0=-2147483648, ~lx~0=10737418277, ~ly~0=10737418272, ~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, ~x=1.0737418262E10, ~y=1.0737418273E10, ~zero_atan2~0=0.0] [L160] ~iy~0 := ~bitwiseAnd(~hy~0, 2147483647); VAL [#in~x=1.0737418262E10, #in~y=1.0737418273E10, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=10737418254, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=10737418256, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=10737418242, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~hx~1=-2147483648, ~hy~0=-2147483648, ~lx~0=10737418277, ~ly~0=10737418272, ~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, ~x=1.0737418262E10, ~y=1.0737418273E10, ~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 [#in~x=1.0737418262E10, #in~y=1.0737418273E10, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=10737418254, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=10737418256, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=10737418242, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~hx~1=-2147483648, ~hy~0=-2147483648, ~lx~0=10737418277, ~ly~0=10737418272, ~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, ~x=1.0737418262E10, ~y=1.0737418273E10, ~zero_atan2~0=0.0] [L294] RET call #t~ret60 := __ieee754_atan2(~y~0, ~x~0); VAL [#NULL!base=0, #NULL!offset=0, #t~ret60=1.0737418269E10, ~#aT_atan~0!base=10737418254, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=10737418256, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=10737418242, ~#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, ~x~0=1.0737418262E10, ~y~0=1.0737418273E10, ~zero_atan2~0=0.0] [L294] ~res~0 := #t~ret60; [L294] havoc #t~ret60; [L297] #t~short62 := ~someBinaryDOUBLEComparisonOperation(~res~0, ~someUnaryDOUBLEoperation(0.0)); VAL [#NULL!base=0, #NULL!offset=0, #t~short62=false, ~#aT_atan~0!base=10737418254, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=10737418256, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=10737418242, ~#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, ~res~0=1.0737418269E10, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=1.0737418262E10, ~y~0=1.0737418273E10, ~zero_atan2~0=0.0] [L297] COND FALSE !(#t~short62) VAL [#NULL!base=0, #NULL!offset=0, #t~short62=false, ~#aT_atan~0!base=10737418254, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=10737418256, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=10737418242, ~#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, ~res~0=1.0737418269E10, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=1.0737418262E10, ~y~0=1.0737418273E10, ~zero_atan2~0=0.0] [L297] COND TRUE !#t~short62 [L297] havoc #t~short62; [L297] havoc #t~ret61; VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=10737418254, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=10737418256, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=10737418242, ~#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, ~res~0=1.0737418269E10, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=1.0737418262E10, ~y~0=1.0737418273E10, ~zero_atan2~0=0.0] [L298] assert false; VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=10737418254, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=10737418256, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=10737418242, ~#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, ~res~0=1.0737418269E10, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=1.0737418262E10, ~y~0=1.0737418273E10, ~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; VAL [\old(aT_atan)=null, \old(aT_atan)=null, \old(atanhi_atan)=null, \old(atanhi_atan)=null, \old(atanlo_atan)=null, \old(atanlo_atan)=null, \old(huge_atan)=10737418271, \old(one_atan)=10737418261, \old(pi)=10737418268, \old(pi_lo_atan2)=10737418259, \old(pi_o_2)=10737418241, \old(pi_o_4)=10737418265, \old(tiny_atan2)=10737418275, \old(zero_atan2)=10737418252, aT_atan={10737418254:0}, atanhi_atan={10737418256:0}, atanlo_atan={10737418242: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] [L289] double x = 1.0 / 0.0; [L290] double y = __VERIFIER_nondet_double(); [L292] CALL, EXPR isinf_double(x) VAL [\old(x)=10737418262, aT_atan={10737418254:0}, atanhi_atan={10737418256:0}, atanlo_atan={10737418242: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] [L246] __int32_t hx, lx; VAL [\old(x)=10737418262, aT_atan={10737418254:0}, atanhi_atan={10737418256:0}, atanlo_atan={10737418242: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, x=10737418262, 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); VAL [\old(x)=10737418262, \result=2, aT_atan={10737418254:0}, atanhi_atan={10737418256:0}, atanlo_atan={10737418242:0}, huge_atan=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, hx=2146435073, lx=3, 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, x=10737418262, zero_atan2=0] [L292] RET, EXPR isinf_double(x) VAL [aT_atan={10737418254:0}, atanhi_atan={10737418256:0}, atanlo_atan={10737418242:0}, huge_atan=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, isinf_double(x)=2, 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, x=10737418262, y=10737418273, zero_atan2=0] [L292] EXPR isinf_double(x) && isfinite_double(y) VAL [aT_atan={10737418254:0}, atanhi_atan={10737418256:0}, atanlo_atan={10737418242:0}, huge_atan=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, isinf_double(x)=2, isinf_double(x) && isfinite_double(y)=1, 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, x=10737418262, y=10737418273, zero_atan2=0] [L292] CALL, EXPR isfinite_double(y) VAL [\old(x)=10737418273, aT_atan={10737418254:0}, atanhi_atan={10737418256:0}, atanlo_atan={10737418242: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] [L260] __int32_t hx; VAL [\old(x)=10737418273, aT_atan={10737418254:0}, atanhi_atan={10737418256:0}, atanlo_atan={10737418242: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, x=10737418273, 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); VAL [\old(x)=10737418273, \result=-1, aT_atan={10737418254:0}, atanhi_atan={10737418256:0}, atanlo_atan={10737418242:0}, huge_atan=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, hx=2147483647, 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, x=10737418273, zero_atan2=0] [L292] RET, EXPR isfinite_double(y) VAL [aT_atan={10737418254:0}, atanhi_atan={10737418256:0}, atanlo_atan={10737418242:0}, huge_atan=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, isfinite_double(y)=-1, isinf_double(x)=2, isinf_double(x) && isfinite_double(y)=1, 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, x=10737418262, y=10737418273, zero_atan2=0] [L292] EXPR isinf_double(x) && isfinite_double(y) VAL [aT_atan={10737418254:0}, atanhi_atan={10737418256:0}, atanlo_atan={10737418242:0}, huge_atan=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, isfinite_double(y)=-1, isinf_double(x)=2, isinf_double(x) && isfinite_double(y)=1, 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, x=10737418262, y=10737418273, zero_atan2=0] [L292] COND TRUE isinf_double(x) && isfinite_double(y) && y < 0.0 [L294] CALL, EXPR __ieee754_atan2(y, x) VAL [\old(x)=10737418262, \old(y)=10737418273, aT_atan={10737418254:0}, atanhi_atan={10737418256:0}, atanlo_atan={10737418242: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] [L143] double z; [L144] __int32_t k, m, hx, hy, ix, iy; [L145] __uint32_t lx, ly; VAL [\old(x)=10737418262, \old(y)=10737418273, aT_atan={10737418254:0}, atanhi_atan={10737418256:0}, atanlo_atan={10737418242: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, x=10737418262, y=10737418273, 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 [\old(x)=10737418262, \old(y)=10737418273, aT_atan={10737418254:0}, atanhi_atan={10737418256:0}, atanlo_atan={10737418242:0}, huge_atan=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, hx=-2147483648, lx=10737418277, 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, x=10737418262, y=10737418273, 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 [\old(x)=10737418262, \old(y)=10737418273, aT_atan={10737418254:0}, atanhi_atan={10737418256:0}, atanlo_atan={10737418242:0}, huge_atan=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, hx=-2147483648, hy=-2147483648, lx=10737418277, ly=10737418272, 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, x=10737418262, y=10737418273, zero_atan2=0] [L161-L162] COND TRUE ((ix | ((lx | -lx) >> 31)) > 0x7ff00000) || ((iy | ((ly | -ly) >> 31)) > 0x7ff00000) [L163] return x + y; VAL [\old(x)=10737418262, \old(y)=10737418273, aT_atan={10737418254:0}, atanhi_atan={10737418256:0}, atanlo_atan={10737418242:0}, huge_atan=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, hx=-2147483648, hy=-2147483648, lx=10737418277, ly=10737418272, 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, x=10737418262, y=10737418273, zero_atan2=0] [L294] RET, EXPR __ieee754_atan2(y, x) VAL [__ieee754_atan2(y, x)=10737418269, aT_atan={10737418254:0}, atanhi_atan={10737418256:0}, atanlo_atan={10737418242: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, x=10737418262, y=10737418273, zero_atan2=0] [L294] double res = __ieee754_atan2(y, x); [L297] EXPR res == -0.0 && __signbit_double(res) == 1 VAL [aT_atan={10737418254:0}, atanhi_atan={10737418256:0}, atanlo_atan={10737418242: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, res=10737418269, res == -0.0 && __signbit_double(res) == 1=0, tiny_atan2=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, x=10737418262, y=10737418273, zero_atan2=0] [L297] COND TRUE !(res == -0.0 && __signbit_double(res) == 1) [L298] __VERIFIER_error() VAL [aT_atan={10737418254:0}, atanhi_atan={10737418256:0}, atanlo_atan={10737418242: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, res=10737418269, tiny_atan2=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, x=10737418262, y=10737418273, zero_atan2=0] ----- [2018-11-23 06:45:39,209 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction CFG 23.11 06:45:39 BoogieIcfgContainer [2018-11-23 06:45:39,209 INFO L132 PluginConnector]: ------------------------ END TraceAbstraction---------------------------- [2018-11-23 06:45:39,209 INFO L113 PluginConnector]: ------------------------Witness Printer---------------------------- [2018-11-23 06:45:39,210 INFO L271 PluginConnector]: Initializing Witness Printer... [2018-11-23 06:45:39,210 INFO L276 PluginConnector]: Witness Printer initialized [2018-11-23 06:45:39,210 INFO L185 PluginConnector]: Executing the observer RCFGCatcher from plugin Witness Printer for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 23.11 06:45:38" (3/4) ... [2018-11-23 06:45:39,221 INFO L147 WitnessPrinter]: No result that supports witness generation found [2018-11-23 06:45:39,221 INFO L132 PluginConnector]: ------------------------ END Witness Printer---------------------------- [2018-11-23 06:45:39,222 INFO L168 Benchmark]: Toolchain (without parser) took 1866.11 ms. Allocated memory was 1.0 GB in the beginning and 1.2 GB in the end (delta: 141.6 MB). Free memory was 959.1 MB in the beginning and 980.6 MB in the end (delta: -21.5 MB). Peak memory consumption was 120.0 MB. Max. memory is 11.5 GB. [2018-11-23 06:45:39,224 INFO L168 Benchmark]: CDTParser took 0.10 ms. Allocated memory is still 1.0 GB. Free memory is still 985.4 MB. There was no memory consumed. Max. memory is 11.5 GB. [2018-11-23 06:45:39,224 INFO L168 Benchmark]: CACSL2BoogieTranslator took 291.27 ms. Allocated memory was 1.0 GB in the beginning and 1.2 GB in the end (delta: 141.6 MB). Free memory was 959.1 MB in the beginning and 1.1 GB in the end (delta: -175.9 MB). Peak memory consumption was 34.9 MB. Max. memory is 11.5 GB. [2018-11-23 06:45:39,224 INFO L168 Benchmark]: Boogie Procedure Inliner took 18.78 ms. Allocated memory is still 1.2 GB. Free memory is still 1.1 GB. There was no memory consumed. Max. memory is 11.5 GB. [2018-11-23 06:45:39,225 INFO L168 Benchmark]: Boogie Preprocessor took 41.57 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: 3.5 MB). Peak memory consumption was 3.5 MB. Max. memory is 11.5 GB. [2018-11-23 06:45:39,225 INFO L168 Benchmark]: RCFGBuilder took 550.12 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: 53.5 MB). Peak memory consumption was 53.5 MB. Max. memory is 11.5 GB. [2018-11-23 06:45:39,226 INFO L168 Benchmark]: TraceAbstraction took 949.26 ms. Allocated memory is still 1.2 GB. Free memory was 1.1 GB in the beginning and 980.6 MB in the end (delta: 93.9 MB). Peak memory consumption was 93.9 MB. Max. memory is 11.5 GB. [2018-11-23 06:45:39,226 INFO L168 Benchmark]: Witness Printer took 11.49 ms. Allocated memory is still 1.2 GB. Free memory is still 980.6 MB. There was no memory consumed. Max. memory is 11.5 GB. [2018-11-23 06:45:39,230 INFO L336 ainManager$Toolchain]: ####################### End [Toolchain 1] ####################### --- Results --- * Results from de.uni_freiburg.informatik.ultimate.core: - StatisticsResult: Toolchain Benchmarks Benchmark results are: * CDTParser took 0.10 ms. Allocated memory is still 1.0 GB. Free memory is still 985.4 MB. There was no memory consumed. Max. memory is 11.5 GB. * CACSL2BoogieTranslator took 291.27 ms. Allocated memory was 1.0 GB in the beginning and 1.2 GB in the end (delta: 141.6 MB). Free memory was 959.1 MB in the beginning and 1.1 GB in the end (delta: -175.9 MB). Peak memory consumption was 34.9 MB. Max. memory is 11.5 GB. * Boogie Procedure Inliner took 18.78 ms. Allocated memory is still 1.2 GB. Free memory is still 1.1 GB. There was no memory consumed. Max. memory is 11.5 GB. * Boogie Preprocessor took 41.57 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: 3.5 MB). Peak memory consumption was 3.5 MB. Max. memory is 11.5 GB. * RCFGBuilder took 550.12 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: 53.5 MB). Peak memory consumption was 53.5 MB. Max. memory is 11.5 GB. * TraceAbstraction took 949.26 ms. Allocated memory is still 1.2 GB. Free memory was 1.1 GB in the beginning and 980.6 MB in the end (delta: 93.9 MB). Peak memory consumption was 93.9 MB. Max. memory is 11.5 GB. * Witness Printer took 11.49 ms. Allocated memory is still 1.2 GB. Free memory is still 980.6 MB. There was no memory consumed. Max. memory is 11.5 GB. * Results from de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator: - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: IntegerLiteral 10737418255 could not be translated for associated CType ARRAY#_4_~DOUBLE# - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: IntegerLiteral 10737418253 could not be translated for associated CType ARRAY#_11_~DOUBLE# - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: IntegerLiteral 10737418266 could not be translated for associated CType ARRAY#_4_~DOUBLE# - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: IntegerLiteral 10737418279 could not be translated for associated CType ARRAY#_4_~DOUBLE# - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: IntegerLiteral 10737418246 could not be translated for associated CType ARRAY#_4_~DOUBLE# - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: IntegerLiteral 10737418260 could not be translated for associated CType ARRAY#_11_~DOUBLE# * Results from de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: - 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; VAL [\old(aT_atan)=null, \old(aT_atan)=null, \old(atanhi_atan)=null, \old(atanhi_atan)=null, \old(atanlo_atan)=null, \old(atanlo_atan)=null, \old(huge_atan)=10737418271, \old(one_atan)=10737418261, \old(pi)=10737418268, \old(pi_lo_atan2)=10737418259, \old(pi_o_2)=10737418241, \old(pi_o_4)=10737418265, \old(tiny_atan2)=10737418275, \old(zero_atan2)=10737418252, aT_atan={10737418254:0}, atanhi_atan={10737418256:0}, atanlo_atan={10737418242: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] [L289] double x = 1.0 / 0.0; [L290] double y = __VERIFIER_nondet_double(); [L292] CALL, EXPR isinf_double(x) VAL [\old(x)=10737418262, aT_atan={10737418254:0}, atanhi_atan={10737418256:0}, atanlo_atan={10737418242: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] [L246] __int32_t hx, lx; VAL [\old(x)=10737418262, aT_atan={10737418254:0}, atanhi_atan={10737418256:0}, atanlo_atan={10737418242: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, x=10737418262, 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); VAL [\old(x)=10737418262, \result=2, aT_atan={10737418254:0}, atanhi_atan={10737418256:0}, atanlo_atan={10737418242:0}, huge_atan=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, hx=2146435073, lx=3, 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, x=10737418262, zero_atan2=0] [L292] RET, EXPR isinf_double(x) VAL [aT_atan={10737418254:0}, atanhi_atan={10737418256:0}, atanlo_atan={10737418242:0}, huge_atan=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, isinf_double(x)=2, 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, x=10737418262, y=10737418273, zero_atan2=0] [L292] EXPR isinf_double(x) && isfinite_double(y) VAL [aT_atan={10737418254:0}, atanhi_atan={10737418256:0}, atanlo_atan={10737418242:0}, huge_atan=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, isinf_double(x)=2, isinf_double(x) && isfinite_double(y)=1, 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, x=10737418262, y=10737418273, zero_atan2=0] [L292] CALL, EXPR isfinite_double(y) VAL [\old(x)=10737418273, aT_atan={10737418254:0}, atanhi_atan={10737418256:0}, atanlo_atan={10737418242: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] [L260] __int32_t hx; VAL [\old(x)=10737418273, aT_atan={10737418254:0}, atanhi_atan={10737418256:0}, atanlo_atan={10737418242: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, x=10737418273, 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); VAL [\old(x)=10737418273, \result=-1, aT_atan={10737418254:0}, atanhi_atan={10737418256:0}, atanlo_atan={10737418242:0}, huge_atan=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, hx=2147483647, 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, x=10737418273, zero_atan2=0] [L292] RET, EXPR isfinite_double(y) VAL [aT_atan={10737418254:0}, atanhi_atan={10737418256:0}, atanlo_atan={10737418242:0}, huge_atan=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, isfinite_double(y)=-1, isinf_double(x)=2, isinf_double(x) && isfinite_double(y)=1, 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, x=10737418262, y=10737418273, zero_atan2=0] [L292] EXPR isinf_double(x) && isfinite_double(y) VAL [aT_atan={10737418254:0}, atanhi_atan={10737418256:0}, atanlo_atan={10737418242:0}, huge_atan=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, isfinite_double(y)=-1, isinf_double(x)=2, isinf_double(x) && isfinite_double(y)=1, 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, x=10737418262, y=10737418273, zero_atan2=0] [L292] COND TRUE isinf_double(x) && isfinite_double(y) && y < 0.0 [L294] CALL, EXPR __ieee754_atan2(y, x) VAL [\old(x)=10737418262, \old(y)=10737418273, aT_atan={10737418254:0}, atanhi_atan={10737418256:0}, atanlo_atan={10737418242: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] [L143] double z; [L144] __int32_t k, m, hx, hy, ix, iy; [L145] __uint32_t lx, ly; VAL [\old(x)=10737418262, \old(y)=10737418273, aT_atan={10737418254:0}, atanhi_atan={10737418256:0}, atanlo_atan={10737418242: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, x=10737418262, y=10737418273, 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 [\old(x)=10737418262, \old(y)=10737418273, aT_atan={10737418254:0}, atanhi_atan={10737418256:0}, atanlo_atan={10737418242:0}, huge_atan=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, hx=-2147483648, lx=10737418277, 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, x=10737418262, y=10737418273, 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 [\old(x)=10737418262, \old(y)=10737418273, aT_atan={10737418254:0}, atanhi_atan={10737418256:0}, atanlo_atan={10737418242:0}, huge_atan=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, hx=-2147483648, hy=-2147483648, lx=10737418277, ly=10737418272, 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, x=10737418262, y=10737418273, zero_atan2=0] [L161-L162] COND TRUE ((ix | ((lx | -lx) >> 31)) > 0x7ff00000) || ((iy | ((ly | -ly) >> 31)) > 0x7ff00000) [L163] return x + y; VAL [\old(x)=10737418262, \old(y)=10737418273, aT_atan={10737418254:0}, atanhi_atan={10737418256:0}, atanlo_atan={10737418242:0}, huge_atan=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, hx=-2147483648, hy=-2147483648, lx=10737418277, ly=10737418272, 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, x=10737418262, y=10737418273, zero_atan2=0] [L294] RET, EXPR __ieee754_atan2(y, x) VAL [__ieee754_atan2(y, x)=10737418269, aT_atan={10737418254:0}, atanhi_atan={10737418256:0}, atanlo_atan={10737418242: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, x=10737418262, y=10737418273, zero_atan2=0] [L294] double res = __ieee754_atan2(y, x); [L297] EXPR res == -0.0 && __signbit_double(res) == 1 VAL [aT_atan={10737418254:0}, atanhi_atan={10737418256:0}, atanlo_atan={10737418242: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, res=10737418269, res == -0.0 && __signbit_double(res) == 1=0, tiny_atan2=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, x=10737418262, y=10737418273, zero_atan2=0] [L297] COND TRUE !(res == -0.0 && __signbit_double(res) == 1) [L298] __VERIFIER_error() VAL [aT_atan={10737418254:0}, atanhi_atan={10737418256:0}, atanlo_atan={10737418242: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, res=10737418269, tiny_atan2=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, x=10737418262, y=10737418273, zero_atan2=0] - StatisticsResult: Ultimate Automizer benchmark data CFG has 9 procedures, 129 locations, 1 error locations. UNSAFE Result, 0.9s OverallTime, 3 OverallIterations, 1 TraceHistogramMax, 0.0s AutomataDifference, 0.0s DeadEndRemovalTime, 0.0s HoareAnnotationTime, HoareTripleCheckerStatistics: 336 SDtfs, 0 SDslu, 160 SDs, 0 SdLazy, 4 SolverSat, 0 SolverUnsat, 0 SolverUnknown, 0 SolverNotchecked, 0.0s Time, PredicateUnifierStatistics: 0 DeclaredPredicates, 5 GetRequests, 4 SyntacticMatches, 0 SemanticMatches, 1 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s Time, 0.0s BasicInterpolantAutomatonTime, BiggestAbstraction: size=129occurred in iteration=0, traceCheckStatistics: No data available, 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: 0.0s AutomataMinimizationTime, 2 MinimizatonAttempts, 0 StatesRemovedByMinimization, 0 NontrivialMinimizations, HoareAnnotationStatistics: No data available, RefinementEngineStatistics: TraceCheckStatistics: 0.0s SsaConstructionTime, 0.1s SatisfiabilityAnalysisTime, 0.0s InterpolantComputationTime, 98 NumberOfCodeBlocks, 98 NumberOfCodeBlocksAsserted, 3 NumberOfCheckSat, 57 ConstructedInterpolants, 0 QuantifiedInterpolants, 1659 SizeOfPredicates, 0 NumberOfNonLiveVariables, 0 ConjunctsInSsa, 0 ConjunctsInUnsatCore, 2 InterpolantComputations, 2 PerfectInterpolantSequences, 0/0 InterpolantCoveringCapability, InvariantSynthesisStatistics: No data available, InterpolantConsolidationStatistics: No data available, ReuseStatistics: No data available 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:45:40,764 INFO L170 SettingsManager]: Resetting all preferences to default values... [2018-11-23 06:45:40,766 INFO L174 SettingsManager]: Resetting UltimateCore preferences to default values [2018-11-23 06:45:40,775 INFO L177 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2018-11-23 06:45:40,776 INFO L174 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2018-11-23 06:45:40,776 INFO L174 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2018-11-23 06:45:40,777 INFO L174 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2018-11-23 06:45:40,779 INFO L174 SettingsManager]: Resetting LassoRanker preferences to default values [2018-11-23 06:45:40,780 INFO L174 SettingsManager]: Resetting Reaching Definitions preferences to default values [2018-11-23 06:45:40,781 INFO L174 SettingsManager]: Resetting SyntaxChecker preferences to default values [2018-11-23 06:45:40,782 INFO L177 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2018-11-23 06:45:40,782 INFO L174 SettingsManager]: Resetting LTL2Aut preferences to default values [2018-11-23 06:45:40,783 INFO L174 SettingsManager]: Resetting PEA to Boogie preferences to default values [2018-11-23 06:45:40,783 INFO L174 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2018-11-23 06:45:40,784 INFO L174 SettingsManager]: Resetting ChcToBoogie preferences to default values [2018-11-23 06:45:40,785 INFO L174 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2018-11-23 06:45:40,786 INFO L174 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2018-11-23 06:45:40,787 INFO L174 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2018-11-23 06:45:40,788 INFO L174 SettingsManager]: Resetting CodeCheck preferences to default values [2018-11-23 06:45:40,790 INFO L174 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2018-11-23 06:45:40,791 INFO L174 SettingsManager]: Resetting RCFGBuilder preferences to default values [2018-11-23 06:45:40,792 INFO L174 SettingsManager]: Resetting TraceAbstraction preferences to default values [2018-11-23 06:45:40,793 INFO L177 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2018-11-23 06:45:40,794 INFO L177 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2018-11-23 06:45:40,794 INFO L174 SettingsManager]: Resetting TreeAutomizer preferences to default values [2018-11-23 06:45:40,795 INFO L174 SettingsManager]: Resetting IcfgTransformer preferences to default values [2018-11-23 06:45:40,795 INFO L174 SettingsManager]: Resetting Boogie Printer preferences to default values [2018-11-23 06:45:40,796 INFO L174 SettingsManager]: Resetting ReqPrinter preferences to default values [2018-11-23 06:45:40,797 INFO L174 SettingsManager]: Resetting Witness Printer preferences to default values [2018-11-23 06:45:40,797 INFO L177 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2018-11-23 06:45:40,798 INFO L174 SettingsManager]: Resetting CDTParser preferences to default values [2018-11-23 06:45:40,798 INFO L177 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2018-11-23 06:45:40,798 INFO L177 SettingsManager]: ReqParser provides no preferences, ignoring... [2018-11-23 06:45:40,799 INFO L174 SettingsManager]: Resetting SmtParser preferences to default values [2018-11-23 06:45:40,799 INFO L174 SettingsManager]: Resetting Witness Parser preferences to default values [2018-11-23 06:45:40,800 INFO L181 SettingsManager]: Finished resetting all preferences to default values... [2018-11-23 06:45:40,800 INFO L98 SettingsManager]: Beginning loading settings from /tmp/vcloud-vcloud-master/worker/working_dir_57a03755-f989-4b49-b912-75361c40a199/bin-2019/uautomizer/config/svcomp-Reach-32bit-Automizer_Bitvector.epf [2018-11-23 06:45:40,811 INFO L110 SettingsManager]: Loading preferences was successful [2018-11-23 06:45:40,812 INFO L112 SettingsManager]: Preferences different from defaults after loading the file: [2018-11-23 06:45:40,812 INFO L131 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2018-11-23 06:45:40,812 INFO L133 SettingsManager]: * ... calls to implemented procedures=ONLY_FOR_CONCURRENT_PROGRAMS [2018-11-23 06:45:40,813 INFO L131 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2018-11-23 06:45:40,813 INFO L133 SettingsManager]: * Create parallel compositions if possible=false [2018-11-23 06:45:40,813 INFO L133 SettingsManager]: * Use SBE=true [2018-11-23 06:45:40,814 INFO L131 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2018-11-23 06:45:40,814 INFO L133 SettingsManager]: * sizeof long=4 [2018-11-23 06:45:40,814 INFO L133 SettingsManager]: * sizeof POINTER=4 [2018-11-23 06:45:40,814 INFO L133 SettingsManager]: * Check division by zero=IGNORE [2018-11-23 06:45:40,814 INFO L133 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2018-11-23 06:45:40,814 INFO L133 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2018-11-23 06:45:40,815 INFO L133 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2018-11-23 06:45:40,815 INFO L133 SettingsManager]: * Use bitvectors instead of ints=true [2018-11-23 06:45:40,815 INFO L133 SettingsManager]: * Memory model=HoenickeLindenmann_4ByteResolution [2018-11-23 06:45:40,815 INFO L133 SettingsManager]: * sizeof long double=12 [2018-11-23 06:45:40,815 INFO L133 SettingsManager]: * Check if freed pointer was valid=false [2018-11-23 06:45:40,815 INFO L133 SettingsManager]: * Use constant arrays=true [2018-11-23 06:45:40,815 INFO L133 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2018-11-23 06:45:40,816 INFO L131 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2018-11-23 06:45:40,816 INFO L133 SettingsManager]: * Size of a code block=SequenceOfStatements [2018-11-23 06:45:40,816 INFO L133 SettingsManager]: * To the following directory=./dump/ [2018-11-23 06:45:40,816 INFO L133 SettingsManager]: * SMT solver=External_DefaultMode [2018-11-23 06:45:40,816 INFO L133 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2018-11-23 06:45:40,817 INFO L131 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2018-11-23 06:45:40,817 INFO L133 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2018-11-23 06:45:40,817 INFO L133 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopsAndPotentialCycles [2018-11-23 06:45:40,817 INFO L133 SettingsManager]: * Trace refinement strategy=WOLF [2018-11-23 06:45:40,817 INFO L133 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode [2018-11-23 06:45:40,817 INFO L133 SettingsManager]: * Command for external solver=cvc4nyu --tear-down-incremental --rewrite-divk --print-success --lang smt [2018-11-23 06:45:40,817 INFO L133 SettingsManager]: * Logic for external solver=AUFBV [2018-11-23 06:45:40,818 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_57a03755-f989-4b49-b912-75361c40a199/bin-2019/uautomizer 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 -> Automizer 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 -> 4b7d4ca5abe407f92e494aeba8bd319058a84bcf [2018-11-23 06:45:40,849 INFO L81 nceAwareModelManager]: Repository-Root is: /tmp [2018-11-23 06:45:40,859 INFO L258 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2018-11-23 06:45:40,861 INFO L214 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2018-11-23 06:45:40,863 INFO L271 PluginConnector]: Initializing CDTParser... [2018-11-23 06:45:40,863 INFO L276 PluginConnector]: CDTParser initialized [2018-11-23 06:45:40,864 INFO L418 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /tmp/vcloud-vcloud-master/worker/working_dir_57a03755-f989-4b49-b912-75361c40a199/bin-2019/uautomizer/../../sv-benchmarks/c/float-newlib/double_req_bl_0683a_true-unreach-call.c [2018-11-23 06:45:40,909 INFO L221 CDTParser]: Created temporary CDT project at /tmp/vcloud-vcloud-master/worker/working_dir_57a03755-f989-4b49-b912-75361c40a199/bin-2019/uautomizer/data/186def758/59960198498743efaea1acbc084c74cd/FLAG5c8c22f90 [2018-11-23 06:45:41,255 INFO L307 CDTParser]: Found 1 translation units. [2018-11-23 06:45:41,255 INFO L161 CDTParser]: Scanning /tmp/vcloud-vcloud-master/worker/working_dir_57a03755-f989-4b49-b912-75361c40a199/sv-benchmarks/c/float-newlib/double_req_bl_0683a_true-unreach-call.c [2018-11-23 06:45:41,260 INFO L355 CDTParser]: About to delete temporary CDT project at /tmp/vcloud-vcloud-master/worker/working_dir_57a03755-f989-4b49-b912-75361c40a199/bin-2019/uautomizer/data/186def758/59960198498743efaea1acbc084c74cd/FLAG5c8c22f90 [2018-11-23 06:45:41,670 INFO L363 CDTParser]: Successfully deleted /tmp/vcloud-vcloud-master/worker/working_dir_57a03755-f989-4b49-b912-75361c40a199/bin-2019/uautomizer/data/186def758/59960198498743efaea1acbc084c74cd [2018-11-23 06:45:41,672 INFO L296 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2018-11-23 06:45:41,673 INFO L131 ToolchainWalker]: Walking toolchain with 6 elements. [2018-11-23 06:45:41,674 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2018-11-23 06:45:41,674 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2018-11-23 06:45:41,677 INFO L276 PluginConnector]: CACSL2BoogieTranslator initialized [2018-11-23 06:45:41,678 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 23.11 06:45:41" (1/1) ... [2018-11-23 06:45:41,680 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:45:41, skipping insertion in model container [2018-11-23 06:45:41,680 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 23.11 06:45:41" (1/1) ... [2018-11-23 06:45:41,686 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2018-11-23 06:45:41,709 INFO L176 MainTranslator]: Built tables and reachable declarations [2018-11-23 06:45:41,885 INFO L201 PostProcessor]: Analyzing one entry point: main [2018-11-23 06:45:41,892 INFO L191 MainTranslator]: Completed pre-run [2018-11-23 06:45:41,945 INFO L201 PostProcessor]: Analyzing one entry point: main [2018-11-23 06:45:41,969 INFO L195 MainTranslator]: Completed translation [2018-11-23 06:45:41,969 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 06:45:41 WrapperNode [2018-11-23 06:45:41,969 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2018-11-23 06:45:41,970 INFO L113 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2018-11-23 06:45:41,970 INFO L271 PluginConnector]: Initializing Boogie Procedure Inliner... [2018-11-23 06:45:41,970 INFO L276 PluginConnector]: Boogie Procedure Inliner initialized [2018-11-23 06:45:41,975 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:45:41" (1/1) ... [2018-11-23 06:45:41,988 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:45:41" (1/1) ... [2018-11-23 06:45:42,044 INFO L132 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2018-11-23 06:45:42,044 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2018-11-23 06:45:42,044 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2018-11-23 06:45:42,044 INFO L276 PluginConnector]: Boogie Preprocessor initialized [2018-11-23 06:45:42,050 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 06:45:41" (1/1) ... [2018-11-23 06:45:42,050 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 06:45:41" (1/1) ... [2018-11-23 06:45:42,054 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 06:45:41" (1/1) ... [2018-11-23 06:45:42,055 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 06:45:41" (1/1) ... [2018-11-23 06:45:42,073 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 06:45:41" (1/1) ... [2018-11-23 06:45:42,080 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 06:45:41" (1/1) ... [2018-11-23 06:45:42,083 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 06:45:41" (1/1) ... [2018-11-23 06:45:42,085 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2018-11-23 06:45:42,086 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2018-11-23 06:45:42,086 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2018-11-23 06:45:42,086 INFO L276 PluginConnector]: RCFGBuilder initialized [2018-11-23 06:45:42,087 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 06:45:41" (1/1) ... No working directory specified, using /tmp/vcloud-vcloud-master/worker/working_dir_57a03755-f989-4b49-b912-75361c40a199/bin-2019/uautomizer/z3 Starting monitored process 1 with z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (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:2000 [2018-11-23 06:45:42,126 INFO L130 BoogieDeclarations]: Found specification of procedure isfinite_double [2018-11-23 06:45:42,126 INFO L138 BoogieDeclarations]: Found implementation of procedure isfinite_double [2018-11-23 06:45:42,126 INFO L130 BoogieDeclarations]: Found specification of procedure read~intFLOATTYPE8 [2018-11-23 06:45:42,126 INFO L130 BoogieDeclarations]: Found specification of procedure isinf_double [2018-11-23 06:45:42,126 INFO L138 BoogieDeclarations]: Found implementation of procedure isinf_double [2018-11-23 06:45:42,126 INFO L130 BoogieDeclarations]: Found specification of procedure write~intFLOATTYPE8 [2018-11-23 06:45:42,126 INFO L130 BoogieDeclarations]: Found specification of procedure __signbit_double [2018-11-23 06:45:42,127 INFO L138 BoogieDeclarations]: Found implementation of procedure __signbit_double [2018-11-23 06:45:42,127 INFO L130 BoogieDeclarations]: Found specification of procedure main [2018-11-23 06:45:42,127 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2018-11-23 06:45:42,127 INFO L130 BoogieDeclarations]: Found specification of procedure __ieee754_atan2 [2018-11-23 06:45:42,127 INFO L138 BoogieDeclarations]: Found implementation of procedure __ieee754_atan2 [2018-11-23 06:45:42,127 INFO L130 BoogieDeclarations]: Found specification of procedure fabs_double [2018-11-23 06:45:42,127 INFO L138 BoogieDeclarations]: Found implementation of procedure fabs_double [2018-11-23 06:45:42,127 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2018-11-23 06:45:42,128 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2018-11-23 06:45:42,128 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~intFLOATTYPE8 [2018-11-23 06:45:42,128 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.alloc [2018-11-23 06:45:42,128 INFO L130 BoogieDeclarations]: Found specification of procedure atan_double [2018-11-23 06:45:42,128 INFO L138 BoogieDeclarations]: Found implementation of procedure atan_double [2018-11-23 06:45:42,128 INFO L130 BoogieDeclarations]: Found specification of procedure read~intINTTYPE4 [2018-11-23 06:45:42,128 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2018-11-23 06:45:42,128 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2018-11-23 06:45:42,128 INFO L130 BoogieDeclarations]: Found specification of procedure write~intINTTYPE4 [2018-11-23 06:45:42,128 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2018-11-23 06:45:42,269 WARN L317 ript$VariableManager]: TermVariabe |q#valueAsBitvector| not constructed by VariableManager. Cannot ensure absence of name clashes. [2018-11-23 06:45:42,320 WARN L317 ript$VariableManager]: TermVariabe |q#valueAsBitvector| not constructed by VariableManager. Cannot ensure absence of name clashes. [2018-11-23 06:45:42,424 WARN L317 ript$VariableManager]: TermVariabe |q#valueAsBitvector| not constructed by VariableManager. Cannot ensure absence of name clashes. [2018-11-23 06:45:44,564 WARN L317 ript$VariableManager]: TermVariabe |q#valueAsBitvector| not constructed by VariableManager. Cannot ensure absence of name clashes. [2018-11-23 06:45:44,766 WARN L317 ript$VariableManager]: TermVariabe |q#valueAsBitvector| not constructed by VariableManager. Cannot ensure absence of name clashes. [2018-11-23 06:45:44,839 WARN L317 ript$VariableManager]: TermVariabe |q#valueAsBitvector| not constructed by VariableManager. Cannot ensure absence of name clashes. [2018-11-23 06:45:44,862 WARN L317 ript$VariableManager]: TermVariabe |q#valueAsBitvector| not constructed by VariableManager. Cannot ensure absence of name clashes. [2018-11-23 06:45:44,880 WARN L317 ript$VariableManager]: TermVariabe |q#valueAsBitvector| not constructed by VariableManager. Cannot ensure absence of name clashes. [2018-11-23 06:45:44,896 WARN L317 ript$VariableManager]: TermVariabe |q#valueAsBitvector| not constructed by VariableManager. Cannot ensure absence of name clashes. [2018-11-23 06:45:44,945 WARN L317 ript$VariableManager]: TermVariabe |q#valueAsBitvector| not constructed by VariableManager. Cannot ensure absence of name clashes. [2018-11-23 06:45:44,959 WARN L317 ript$VariableManager]: TermVariabe |q#valueAsBitvector| not constructed by VariableManager. Cannot ensure absence of name clashes. [2018-11-23 06:45:50,385 WARN L317 ript$VariableManager]: TermVariabe |q#valueAsBitvector| not constructed by VariableManager. Cannot ensure absence of name clashes. [2018-11-23 06:46:01,709 INFO L275 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2018-11-23 06:46:01,709 INFO L280 CfgBuilder]: Removed 22 assue(true) statements. [2018-11-23 06:46:01,710 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 23.11 06:46:01 BoogieIcfgContainer [2018-11-23 06:46:01,710 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2018-11-23 06:46:01,711 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2018-11-23 06:46:01,711 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2018-11-23 06:46:01,714 INFO L276 PluginConnector]: TraceAbstraction initialized [2018-11-23 06:46:01,715 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 23.11 06:45:41" (1/3) ... [2018-11-23 06:46:01,716 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@777484e3 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 23.11 06:46:01, skipping insertion in model container [2018-11-23 06:46:01,716 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 06:45:41" (2/3) ... [2018-11-23 06:46:01,716 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@777484e3 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 23.11 06:46:01, skipping insertion in model container [2018-11-23 06:46:01,717 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 23.11 06:46:01" (3/3) ... [2018-11-23 06:46:01,718 INFO L112 eAbstractionObserver]: Analyzing ICFG double_req_bl_0683a_true-unreach-call.c [2018-11-23 06:46:01,725 INFO L156 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2018-11-23 06:46:01,731 INFO L168 ceAbstractionStarter]: Appying trace abstraction to program that has 1 error locations. [2018-11-23 06:46:01,742 INFO L257 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2018-11-23 06:46:01,764 INFO L133 ementStrategyFactory]: Using default assertion order modulation [2018-11-23 06:46:01,765 INFO L382 AbstractCegarLoop]: Interprodecural is true [2018-11-23 06:46:01,765 INFO L383 AbstractCegarLoop]: Hoare is true [2018-11-23 06:46:01,765 INFO L384 AbstractCegarLoop]: Compute interpolants for FPandBP [2018-11-23 06:46:01,765 INFO L385 AbstractCegarLoop]: Backedges is STRAIGHT_LINE [2018-11-23 06:46:01,765 INFO L386 AbstractCegarLoop]: Determinization is PREDICATE_ABSTRACTION [2018-11-23 06:46:01,765 INFO L387 AbstractCegarLoop]: Difference is false [2018-11-23 06:46:01,765 INFO L388 AbstractCegarLoop]: Minimize is MINIMIZE_SEVPA [2018-11-23 06:46:01,765 INFO L393 AbstractCegarLoop]: ======== Iteration 0==of CEGAR loop == AllErrorsAtOnce======== [2018-11-23 06:46:01,777 INFO L276 IsEmpty]: Start isEmpty. Operand 129 states. [2018-11-23 06:46:01,781 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 29 [2018-11-23 06:46:01,782 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 06:46:01,782 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 06:46:01,784 INFO L423 AbstractCegarLoop]: === Iteration 1 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 06:46:01,788 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 06:46:01,789 INFO L82 PathProgramCache]: Analyzing trace with hash 466315102, now seen corresponding path program 1 times [2018-11-23 06:46:01,793 INFO L223 ckRefinementStrategy]: Switched to mode MATHSAT_FPBP [2018-11-23 06:46:01,794 INFO L69 tionRefinementEngine]: Using refinement strategy WolfRefinementStrategy No working directory specified, using /tmp/vcloud-vcloud-master/worker/working_dir_57a03755-f989-4b49-b912-75361c40a199/bin-2019/uautomizer/mathsat Starting monitored process 2 with mathsat -unsat_core_generation=3 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 2 with mathsat -unsat_core_generation=3 [2018-11-23 06:46:01,801 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 06:46:01,997 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 06:46:02,033 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 06:46:02,047 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:46:02,047 INFO L312 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2018-11-23 06:46:02,065 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-23 06:46:02,065 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [2] imperfect sequences [] total 2 [2018-11-23 06:46:02,068 INFO L459 AbstractCegarLoop]: Interpolant automaton has 2 states [2018-11-23 06:46:02,078 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 2 interpolants. [2018-11-23 06:46:02,078 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=1, Invalid=1, Unknown=0, NotChecked=0, Total=2 [2018-11-23 06:46:02,080 INFO L87 Difference]: Start difference. First operand 129 states. Second operand 2 states. [2018-11-23 06:46:02,108 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 06:46:02,108 INFO L93 Difference]: Finished difference Result 250 states and 387 transitions. [2018-11-23 06:46:02,108 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 2 states. [2018-11-23 06:46:02,109 INFO L78 Accepts]: Start accepts. Automaton has 2 states. Word has length 28 [2018-11-23 06:46:02,110 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 06:46:02,117 INFO L225 Difference]: With dead ends: 250 [2018-11-23 06:46:02,117 INFO L226 Difference]: Without dead ends: 124 [2018-11-23 06:46:02,119 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 27 GetRequests, 27 SyntacticMatches, 0 SemanticMatches, 0 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=1, Invalid=1, Unknown=0, NotChecked=0, Total=2 [2018-11-23 06:46:02,130 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 124 states. [2018-11-23 06:46:02,152 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 124 to 124. [2018-11-23 06:46:02,153 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 124 states. [2018-11-23 06:46:02,155 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 124 states to 124 states and 165 transitions. [2018-11-23 06:46:02,156 INFO L78 Accepts]: Start accepts. Automaton has 124 states and 165 transitions. Word has length 28 [2018-11-23 06:46:02,157 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 06:46:02,157 INFO L480 AbstractCegarLoop]: Abstraction has 124 states and 165 transitions. [2018-11-23 06:46:02,157 INFO L481 AbstractCegarLoop]: Interpolant automaton has 2 states. [2018-11-23 06:46:02,157 INFO L276 IsEmpty]: Start isEmpty. Operand 124 states and 165 transitions. [2018-11-23 06:46:02,158 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 32 [2018-11-23 06:46:02,158 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 06:46:02,158 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 06:46:02,159 INFO L423 AbstractCegarLoop]: === Iteration 2 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 06:46:02,159 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 06:46:02,159 INFO L82 PathProgramCache]: Analyzing trace with hash 1702044329, now seen corresponding path program 1 times [2018-11-23 06:46:02,159 INFO L223 ckRefinementStrategy]: Switched to mode MATHSAT_FPBP [2018-11-23 06:46:02,160 INFO L69 tionRefinementEngine]: Using refinement strategy WolfRefinementStrategy No working directory specified, using /tmp/vcloud-vcloud-master/worker/working_dir_57a03755-f989-4b49-b912-75361c40a199/bin-2019/uautomizer/mathsat Starting monitored process 3 with mathsat -unsat_core_generation=3 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 3 with mathsat -unsat_core_generation=3 [2018-11-23 06:46:02,163 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 06:46:02,450 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 06:46:02,478 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 06:46:02,490 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:46:02,490 INFO L312 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2018-11-23 06:46:02,505 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-23 06:46:02,505 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2018-11-23 06:46:02,506 INFO L459 AbstractCegarLoop]: Interpolant automaton has 3 states [2018-11-23 06:46:02,506 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2018-11-23 06:46:02,506 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2018-11-23 06:46:02,506 INFO L87 Difference]: Start difference. First operand 124 states and 165 transitions. Second operand 3 states. [2018-11-23 06:46:02,532 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 06:46:02,533 INFO L93 Difference]: Finished difference Result 225 states and 306 transitions. [2018-11-23 06:46:02,533 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2018-11-23 06:46:02,533 INFO L78 Accepts]: Start accepts. Automaton has 3 states. Word has length 31 [2018-11-23 06:46:02,533 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 06:46:02,534 INFO L225 Difference]: With dead ends: 225 [2018-11-23 06:46:02,535 INFO L226 Difference]: Without dead ends: 124 [2018-11-23 06:46:02,535 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 30 GetRequests, 29 SyntacticMatches, 0 SemanticMatches, 1 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2018-11-23 06:46:02,536 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 124 states. [2018-11-23 06:46:02,541 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 124 to 124. [2018-11-23 06:46:02,541 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 124 states. [2018-11-23 06:46:02,542 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 124 states to 124 states and 164 transitions. [2018-11-23 06:46:02,543 INFO L78 Accepts]: Start accepts. Automaton has 124 states and 164 transitions. Word has length 31 [2018-11-23 06:46:02,543 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 06:46:02,543 INFO L480 AbstractCegarLoop]: Abstraction has 124 states and 164 transitions. [2018-11-23 06:46:02,543 INFO L481 AbstractCegarLoop]: Interpolant automaton has 3 states. [2018-11-23 06:46:02,543 INFO L276 IsEmpty]: Start isEmpty. Operand 124 states and 164 transitions. [2018-11-23 06:46:02,544 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 40 [2018-11-23 06:46:02,544 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 06:46:02,544 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 06:46:02,544 INFO L423 AbstractCegarLoop]: === Iteration 3 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 06:46:02,544 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 06:46:02,544 INFO L82 PathProgramCache]: Analyzing trace with hash 810186703, now seen corresponding path program 1 times [2018-11-23 06:46:02,545 INFO L223 ckRefinementStrategy]: Switched to mode MATHSAT_FPBP [2018-11-23 06:46:02,545 INFO L69 tionRefinementEngine]: Using refinement strategy WolfRefinementStrategy No working directory specified, using /tmp/vcloud-vcloud-master/worker/working_dir_57a03755-f989-4b49-b912-75361c40a199/bin-2019/uautomizer/mathsat Starting monitored process 4 with mathsat -unsat_core_generation=3 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 4 with mathsat -unsat_core_generation=3 [2018-11-23 06:46:02,553 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 06:46:03,104 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 06:46:03,150 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 06:46:04,670 WARN L854 $PredicateComparison]: unable to prove that (exists ((v_prenex_61 (_ BitVec 64))) (= c_isinf_double_~lx~1 ((_ extract 31 0) v_prenex_61))) is different from true [2018-11-23 06:46:04,802 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 06:46:04,803 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 06:46:04,806 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:46:04,867 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 24 [2018-11-23 06:46:04,868 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 06:46:04,887 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:46:04,897 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:46:04,897 INFO L267 ElimStorePlain]: Start of recursive call 5: End of recursive call: and 1 xjuncts. [2018-11-23 06:46:04,901 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 06:46:04,905 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:46:04,916 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:46:04,916 INFO L202 ElimStorePlain]: Needed 5 recursive calls to eliminate 3 variables, input treesize:42, output treesize:14 [2018-11-23 06:46:05,363 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 06:46:05,364 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 06:46:05,365 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 06:46:05,365 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 06:46:05,366 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 06:46:05,367 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 06:46:05,368 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 6 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 7 new quantified variables, introduced 0 case distinctions, treesize of input 83 treesize of output 127 [2018-11-23 06:46:05,515 WARN L180 SmtUtils]: Spent 145.00 ms on a formula simplification. DAG size of input: 42 DAG size of output: 37 [2018-11-23 06:46:05,738 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 06:46:05,744 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 06:46:05,756 INFO L303 Elim1Store]: Index analysis took 239 ms [2018-11-23 06:46:05,757 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 4 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 71 treesize of output 90 [2018-11-23 06:46:05,785 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 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 16 treesize of output 17 [2018-11-23 06:46:05,785 INFO L267 ElimStorePlain]: Start of recursive call 4: End of recursive call: and 1 xjuncts. [2018-11-23 06:46:05,850 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 06:46:05,918 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 11 treesize of output 9 [2018-11-23 06:46:05,918 INFO L267 ElimStorePlain]: Start of recursive call 5: End of recursive call: and 1 xjuncts. [2018-11-23 06:46:06,008 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 32 treesize of output 24 [2018-11-23 06:46:06,028 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 24 treesize of output 10 [2018-11-23 06:46:06,028 INFO L267 ElimStorePlain]: Start of recursive call 7: End of recursive call: and 1 xjuncts. [2018-11-23 06:46:06,056 INFO L267 ElimStorePlain]: Start of recursive call 6: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 06:46:06,112 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 33 treesize of output 25 [2018-11-23 06:46:06,151 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 25 treesize of output 11 [2018-11-23 06:46:06,152 INFO L267 ElimStorePlain]: Start of recursive call 9: End of recursive call: and 1 xjuncts. [2018-11-23 06:46:06,210 INFO L267 ElimStorePlain]: Start of recursive call 8: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 06:46:06,233 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, 3 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 06:46:06,614 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:46:06,614 INFO L202 ElimStorePlain]: Needed 9 recursive calls to eliminate 5 variables, input treesize:99, output treesize:36 [2018-11-23 06:46:07,751 WARN L180 SmtUtils]: Spent 184.00 ms on a formula simplification. DAG size of input: 73 DAG size of output: 46 [2018-11-23 06:46:07,770 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:46:07,770 INFO L312 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2018-11-23 06:46:07,784 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-23 06:46:07,784 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [18] imperfect sequences [] total 18 [2018-11-23 06:46:07,784 INFO L459 AbstractCegarLoop]: Interpolant automaton has 18 states [2018-11-23 06:46:07,785 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 18 interpolants. [2018-11-23 06:46:07,785 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=37, Invalid=238, Unknown=1, NotChecked=30, Total=306 [2018-11-23 06:46:07,785 INFO L87 Difference]: Start difference. First operand 124 states and 164 transitions. Second operand 18 states. [2018-11-23 06:46:09,053 WARN L180 SmtUtils]: Spent 247.00 ms on a formula simplification. DAG size of input: 69 DAG size of output: 69 [2018-11-23 06:46:10,005 WARN L180 SmtUtils]: Spent 254.00 ms on a formula simplification that was a NOOP. DAG size: 35 [2018-11-23 06:46:10,701 WARN L180 SmtUtils]: Spent 255.00 ms on a formula simplification. DAG size of input: 48 DAG size of output: 46 [2018-11-23 06:46:11,473 WARN L180 SmtUtils]: Spent 425.00 ms on a formula simplification. DAG size of input: 53 DAG size of output: 51 [2018-11-23 06:46:12,773 WARN L180 SmtUtils]: Spent 858.00 ms on a formula simplification. DAG size of input: 88 DAG size of output: 86 [2018-11-23 06:46:21,724 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 06:46:21,724 INFO L93 Difference]: Finished difference Result 156 states and 205 transitions. [2018-11-23 06:46:21,726 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 18 states. [2018-11-23 06:46:21,726 INFO L78 Accepts]: Start accepts. Automaton has 18 states. Word has length 39 [2018-11-23 06:46:21,726 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 06:46:21,727 INFO L225 Difference]: With dead ends: 156 [2018-11-23 06:46:21,727 INFO L226 Difference]: Without dead ends: 117 [2018-11-23 06:46:21,727 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 47 GetRequests, 19 SyntacticMatches, 3 SemanticMatches, 25 ConstructedPredicates, 1 IntricatePredicates, 0 DeprecatedPredicates, 88 ImplicationChecksByTransitivity, 6.5s TimeCoverageRelationStatistics Valid=99, Invalid=554, Unknown=1, NotChecked=48, Total=702 [2018-11-23 06:46:21,728 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 117 states. [2018-11-23 06:46:21,734 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 117 to 117. [2018-11-23 06:46:21,734 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 117 states. [2018-11-23 06:46:21,735 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 117 states to 117 states and 149 transitions. [2018-11-23 06:46:21,735 INFO L78 Accepts]: Start accepts. Automaton has 117 states and 149 transitions. Word has length 39 [2018-11-23 06:46:21,735 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 06:46:21,735 INFO L480 AbstractCegarLoop]: Abstraction has 117 states and 149 transitions. [2018-11-23 06:46:21,735 INFO L481 AbstractCegarLoop]: Interpolant automaton has 18 states. [2018-11-23 06:46:21,735 INFO L276 IsEmpty]: Start isEmpty. Operand 117 states and 149 transitions. [2018-11-23 06:46:21,736 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 45 [2018-11-23 06:46:21,736 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 06:46:21,737 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 06:46:21,737 INFO L423 AbstractCegarLoop]: === Iteration 4 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 06:46:21,737 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 06:46:21,737 INFO L82 PathProgramCache]: Analyzing trace with hash -1791330064, now seen corresponding path program 1 times [2018-11-23 06:46:21,737 INFO L223 ckRefinementStrategy]: Switched to mode MATHSAT_FPBP [2018-11-23 06:46:21,737 INFO L69 tionRefinementEngine]: Using refinement strategy WolfRefinementStrategy No working directory specified, using /tmp/vcloud-vcloud-master/worker/working_dir_57a03755-f989-4b49-b912-75361c40a199/bin-2019/uautomizer/mathsat Starting monitored process 5 with mathsat -unsat_core_generation=3 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 5 with mathsat -unsat_core_generation=3 [2018-11-23 06:46:21,740 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 06:46:21,907 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 06:46:21,932 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 06:46:22,273 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:46:22,273 INFO L312 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2018-11-23 06:46:22,284 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-23 06:46:22,284 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [9] imperfect sequences [] total 9 [2018-11-23 06:46:22,284 INFO L459 AbstractCegarLoop]: Interpolant automaton has 9 states [2018-11-23 06:46:22,285 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2018-11-23 06:46:22,285 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=17, Invalid=55, Unknown=0, NotChecked=0, Total=72 [2018-11-23 06:46:22,285 INFO L87 Difference]: Start difference. First operand 117 states and 149 transitions. Second operand 9 states. [2018-11-23 06:46:22,945 WARN L180 SmtUtils]: Spent 237.00 ms on a formula simplification. DAG size of input: 67 DAG size of output: 65 [2018-11-23 06:46:23,133 WARN L180 SmtUtils]: Spent 127.00 ms on a formula simplification. DAG size of input: 42 DAG size of output: 40 [2018-11-23 06:46:29,446 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 06:46:29,447 INFO L93 Difference]: Finished difference Result 169 states and 219 transitions. [2018-11-23 06:46:29,447 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2018-11-23 06:46:29,447 INFO L78 Accepts]: Start accepts. Automaton has 9 states. Word has length 44 [2018-11-23 06:46:29,448 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 06:46:29,451 INFO L225 Difference]: With dead ends: 169 [2018-11-23 06:46:29,451 INFO L226 Difference]: Without dead ends: 119 [2018-11-23 06:46:29,451 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 48 GetRequests, 36 SyntacticMatches, 0 SemanticMatches, 12 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 6 ImplicationChecksByTransitivity, 0.9s TimeCoverageRelationStatistics Valid=57, Invalid=125, Unknown=0, NotChecked=0, Total=182 [2018-11-23 06:46:29,452 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 119 states. [2018-11-23 06:46:29,464 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 119 to 117. [2018-11-23 06:46:29,464 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 117 states. [2018-11-23 06:46:29,465 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 117 states to 117 states and 148 transitions. [2018-11-23 06:46:29,465 INFO L78 Accepts]: Start accepts. Automaton has 117 states and 148 transitions. Word has length 44 [2018-11-23 06:46:29,465 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 06:46:29,465 INFO L480 AbstractCegarLoop]: Abstraction has 117 states and 148 transitions. [2018-11-23 06:46:29,465 INFO L481 AbstractCegarLoop]: Interpolant automaton has 9 states. [2018-11-23 06:46:29,465 INFO L276 IsEmpty]: Start isEmpty. Operand 117 states and 148 transitions. [2018-11-23 06:46:29,466 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 45 [2018-11-23 06:46:29,466 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 06:46:29,467 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 06:46:29,467 INFO L423 AbstractCegarLoop]: === Iteration 5 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 06:46:29,467 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 06:46:29,467 INFO L82 PathProgramCache]: Analyzing trace with hash -1111271694, now seen corresponding path program 1 times [2018-11-23 06:46:29,468 INFO L223 ckRefinementStrategy]: Switched to mode MATHSAT_FPBP [2018-11-23 06:46:29,468 INFO L69 tionRefinementEngine]: Using refinement strategy WolfRefinementStrategy No working directory specified, using /tmp/vcloud-vcloud-master/worker/working_dir_57a03755-f989-4b49-b912-75361c40a199/bin-2019/uautomizer/mathsat Starting monitored process 6 with mathsat -unsat_core_generation=3 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 6 with mathsat -unsat_core_generation=3 [2018-11-23 06:46:29,481 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 06:46:29,892 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 06:46:29,924 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 06:46:29,956 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 06:46:29,956 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 06:46:29,957 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:46:30,002 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 28 [2018-11-23 06:46:30,003 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 06:46:30,017 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:46:30,021 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:46:30,022 INFO L267 ElimStorePlain]: Start of recursive call 5: End of recursive call: and 1 xjuncts. [2018-11-23 06:46:30,025 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 06:46:30,027 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:46:30,036 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:46:30,037 INFO L202 ElimStorePlain]: Needed 5 recursive calls to eliminate 4 variables, input treesize:46, output treesize:18 [2018-11-23 06:46:30,138 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:46:30,138 INFO L312 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2018-11-23 06:46:30,154 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-23 06:46:30,154 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [7] imperfect sequences [] total 7 [2018-11-23 06:46:30,154 INFO L459 AbstractCegarLoop]: Interpolant automaton has 7 states [2018-11-23 06:46:30,154 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2018-11-23 06:46:30,154 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=11, Invalid=31, Unknown=0, NotChecked=0, Total=42 [2018-11-23 06:46:30,155 INFO L87 Difference]: Start difference. First operand 117 states and 148 transitions. Second operand 7 states. [2018-11-23 06:46:30,365 WARN L180 SmtUtils]: Spent 129.00 ms on a formula simplification that was a NOOP. DAG size: 18 [2018-11-23 06:46:30,660 WARN L180 SmtUtils]: Spent 130.00 ms on a formula simplification that was a NOOP. DAG size: 29 [2018-11-23 06:46:33,333 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 06:46:33,334 INFO L93 Difference]: Finished difference Result 159 states and 205 transitions. [2018-11-23 06:46:33,335 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2018-11-23 06:46:33,335 INFO L78 Accepts]: Start accepts. Automaton has 7 states. Word has length 44 [2018-11-23 06:46:33,335 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 06:46:33,336 INFO L225 Difference]: With dead ends: 159 [2018-11-23 06:46:33,336 INFO L226 Difference]: Without dead ends: 111 [2018-11-23 06:46:33,336 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 46 GetRequests, 38 SyntacticMatches, 0 SemanticMatches, 8 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.4s TimeCoverageRelationStatistics Valid=29, Invalid=61, Unknown=0, NotChecked=0, Total=90 [2018-11-23 06:46:33,337 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 111 states. [2018-11-23 06:46:33,346 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 111 to 111. [2018-11-23 06:46:33,346 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 111 states. [2018-11-23 06:46:33,347 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 111 states to 111 states and 138 transitions. [2018-11-23 06:46:33,347 INFO L78 Accepts]: Start accepts. Automaton has 111 states and 138 transitions. Word has length 44 [2018-11-23 06:46:33,348 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 06:46:33,348 INFO L480 AbstractCegarLoop]: Abstraction has 111 states and 138 transitions. [2018-11-23 06:46:33,348 INFO L481 AbstractCegarLoop]: Interpolant automaton has 7 states. [2018-11-23 06:46:33,348 INFO L276 IsEmpty]: Start isEmpty. Operand 111 states and 138 transitions. [2018-11-23 06:46:33,349 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 45 [2018-11-23 06:46:33,349 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 06:46:33,349 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 06:46:33,349 INFO L423 AbstractCegarLoop]: === Iteration 6 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 06:46:33,349 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 06:46:33,349 INFO L82 PathProgramCache]: Analyzing trace with hash -1190223630, now seen corresponding path program 1 times [2018-11-23 06:46:33,350 INFO L223 ckRefinementStrategy]: Switched to mode MATHSAT_FPBP [2018-11-23 06:46:33,350 INFO L69 tionRefinementEngine]: Using refinement strategy WolfRefinementStrategy No working directory specified, using /tmp/vcloud-vcloud-master/worker/working_dir_57a03755-f989-4b49-b912-75361c40a199/bin-2019/uautomizer/mathsat Starting monitored process 7 with mathsat -unsat_core_generation=3 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 7 with mathsat -unsat_core_generation=3 [2018-11-23 06:46:33,355 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 06:46:33,810 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 06:46:33,854 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 06:46:35,446 WARN L854 $PredicateComparison]: unable to prove that (exists ((v_prenex_75 (_ BitVec 64))) (= c_isinf_double_~lx~1 ((_ extract 31 0) v_prenex_75))) is different from true [2018-11-23 06:46:35,568 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 06:46:35,568 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 06:46:35,569 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:46:35,612 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:46:35,612 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 06:46:35,627 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:46:35,633 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:46:35,634 INFO L267 ElimStorePlain]: Start of recursive call 5: End of recursive call: and 1 xjuncts. [2018-11-23 06:46:35,635 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 06:46:35,638 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:46:35,649 INFO L267 ElimStorePlain]: Start of recursive call 1: 3 dim-0 vars, 1 dim-2 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2018-11-23 06:46:35,650 INFO L202 ElimStorePlain]: Needed 5 recursive calls to eliminate 4 variables, input treesize:46, output treesize:18 [2018-11-23 06:46:37,731 WARN L180 SmtUtils]: Spent 2.03 s on a formula simplification that was a NOOP. DAG size: 18 [2018-11-23 06:46:39,811 WARN L180 SmtUtils]: Spent 2.02 s on a formula simplification that was a NOOP. DAG size: 20 [2018-11-23 06:46:39,886 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:46:39,886 INFO L312 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2018-11-23 06:46:39,898 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-23 06:46:39,898 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [10] imperfect sequences [] total 10 [2018-11-23 06:46:39,899 INFO L459 AbstractCegarLoop]: Interpolant automaton has 10 states [2018-11-23 06:46:39,899 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2018-11-23 06:46:39,899 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=18, Invalid=57, Unknown=1, NotChecked=14, Total=90 [2018-11-23 06:46:39,899 INFO L87 Difference]: Start difference. First operand 111 states and 138 transitions. Second operand 10 states. [2018-11-23 06:46:42,074 WARN L180 SmtUtils]: Spent 2.02 s on a formula simplification that was a NOOP. DAG size: 20 [2018-11-23 06:46:44,138 WARN L180 SmtUtils]: Spent 2.03 s on a formula simplification that was a NOOP. DAG size: 26 [2018-11-23 06:46:46,282 WARN L180 SmtUtils]: Spent 2.05 s on a formula simplification that was a NOOP. DAG size: 31 [2018-11-23 06:46:47,623 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 06:46:47,623 INFO L93 Difference]: Finished difference Result 126 states and 153 transitions. [2018-11-23 06:46:47,623 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2018-11-23 06:46:47,623 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 44 [2018-11-23 06:46:47,624 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 06:46:47,624 INFO L225 Difference]: With dead ends: 126 [2018-11-23 06:46:47,624 INFO L226 Difference]: Without dead ends: 109 [2018-11-23 06:46:47,625 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 46 GetRequests, 34 SyntacticMatches, 1 SemanticMatches, 11 ConstructedPredicates, 1 IntricatePredicates, 0 DeprecatedPredicates, 8 ImplicationChecksByTransitivity, 12.0s TimeCoverageRelationStatistics Valid=36, Invalid=99, Unknown=1, NotChecked=20, Total=156 [2018-11-23 06:46:47,625 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 109 states. [2018-11-23 06:46:47,632 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 109 to 109. [2018-11-23 06:46:47,632 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 109 states. [2018-11-23 06:46:47,632 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 109 states to 109 states and 134 transitions. [2018-11-23 06:46:47,633 INFO L78 Accepts]: Start accepts. Automaton has 109 states and 134 transitions. Word has length 44 [2018-11-23 06:46:47,633 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 06:46:47,633 INFO L480 AbstractCegarLoop]: Abstraction has 109 states and 134 transitions. [2018-11-23 06:46:47,633 INFO L481 AbstractCegarLoop]: Interpolant automaton has 10 states. [2018-11-23 06:46:47,633 INFO L276 IsEmpty]: Start isEmpty. Operand 109 states and 134 transitions. [2018-11-23 06:46:47,634 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 46 [2018-11-23 06:46:47,634 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 06:46:47,634 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 06:46:47,634 INFO L423 AbstractCegarLoop]: === Iteration 7 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 06:46:47,634 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 06:46:47,634 INFO L82 PathProgramCache]: Analyzing trace with hash -1286917136, now seen corresponding path program 1 times [2018-11-23 06:46:47,634 INFO L223 ckRefinementStrategy]: Switched to mode MATHSAT_FPBP [2018-11-23 06:46:47,634 INFO L69 tionRefinementEngine]: Using refinement strategy WolfRefinementStrategy No working directory specified, using /tmp/vcloud-vcloud-master/worker/working_dir_57a03755-f989-4b49-b912-75361c40a199/bin-2019/uautomizer/mathsat Starting monitored process 8 with mathsat -unsat_core_generation=3 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 8 with mathsat -unsat_core_generation=3 [2018-11-23 06:46:47,638 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 06:46:47,816 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 06:46:47,840 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 06:46:48,330 WARN L180 SmtUtils]: Spent 166.00 ms on a formula simplification. DAG size of input: 69 DAG size of output: 68 [2018-11-23 06:46:48,449 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:46:48,449 INFO L312 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2018-11-23 06:46:48,461 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-23 06:46:48,461 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [10] imperfect sequences [] total 10 [2018-11-23 06:46:48,461 INFO L459 AbstractCegarLoop]: Interpolant automaton has 10 states [2018-11-23 06:46:48,462 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2018-11-23 06:46:48,462 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=21, Invalid=69, Unknown=0, NotChecked=0, Total=90 [2018-11-23 06:46:48,462 INFO L87 Difference]: Start difference. First operand 109 states and 134 transitions. Second operand 10 states. [2018-11-23 06:46:48,927 WARN L180 SmtUtils]: Spent 135.00 ms on a formula simplification that was a NOOP. DAG size: 29 [2018-11-23 06:46:49,536 WARN L180 SmtUtils]: Spent 357.00 ms on a formula simplification. DAG size of input: 87 DAG size of output: 81 [2018-11-23 06:46:50,101 WARN L180 SmtUtils]: Spent 516.00 ms on a formula simplification. DAG size of input: 73 DAG size of output: 63 [2018-11-23 06:46:54,032 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 06:46:54,032 INFO L93 Difference]: Finished difference Result 126 states and 151 transitions. [2018-11-23 06:46:54,033 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2018-11-23 06:46:54,033 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 45 [2018-11-23 06:46:54,033 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 06:46:54,034 INFO L225 Difference]: With dead ends: 126 [2018-11-23 06:46:54,034 INFO L226 Difference]: Without dead ends: 111 [2018-11-23 06:46:54,034 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 50 GetRequests, 36 SyntacticMatches, 0 SemanticMatches, 14 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 11 ImplicationChecksByTransitivity, 1.9s TimeCoverageRelationStatistics Valid=75, Invalid=165, Unknown=0, NotChecked=0, Total=240 [2018-11-23 06:46:54,035 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 111 states. [2018-11-23 06:46:54,043 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 111 to 109. [2018-11-23 06:46:54,044 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 109 states. [2018-11-23 06:46:54,044 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 109 states to 109 states and 133 transitions. [2018-11-23 06:46:54,045 INFO L78 Accepts]: Start accepts. Automaton has 109 states and 133 transitions. Word has length 45 [2018-11-23 06:46:54,045 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 06:46:54,045 INFO L480 AbstractCegarLoop]: Abstraction has 109 states and 133 transitions. [2018-11-23 06:46:54,045 INFO L481 AbstractCegarLoop]: Interpolant automaton has 10 states. [2018-11-23 06:46:54,045 INFO L276 IsEmpty]: Start isEmpty. Operand 109 states and 133 transitions. [2018-11-23 06:46:54,045 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 47 [2018-11-23 06:46:54,046 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 06:46:54,046 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 06:46:54,046 INFO L423 AbstractCegarLoop]: === Iteration 8 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 06:46:54,046 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 06:46:54,046 INFO L82 PathProgramCache]: Analyzing trace with hash 49045008, now seen corresponding path program 1 times [2018-11-23 06:46:54,046 INFO L223 ckRefinementStrategy]: Switched to mode MATHSAT_FPBP [2018-11-23 06:46:54,046 INFO L69 tionRefinementEngine]: Using refinement strategy WolfRefinementStrategy No working directory specified, using /tmp/vcloud-vcloud-master/worker/working_dir_57a03755-f989-4b49-b912-75361c40a199/bin-2019/uautomizer/mathsat Starting monitored process 9 with mathsat -unsat_core_generation=3 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 9 with mathsat -unsat_core_generation=3 [2018-11-23 06:46:54,049 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 06:46:54,210 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 06:46:54,233 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 06:46:54,270 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:46:54,270 INFO L312 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2018-11-23 06:46:54,280 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-23 06:46:54,280 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2018-11-23 06:46:54,280 INFO L459 AbstractCegarLoop]: Interpolant automaton has 6 states [2018-11-23 06:46:54,280 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2018-11-23 06:46:54,281 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=10, Invalid=20, Unknown=0, NotChecked=0, Total=30 [2018-11-23 06:46:54,281 INFO L87 Difference]: Start difference. First operand 109 states and 133 transitions. Second operand 6 states. [2018-11-23 06:46:59,371 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 06:46:59,371 INFO L93 Difference]: Finished difference Result 116 states and 140 transitions. [2018-11-23 06:46:59,372 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2018-11-23 06:46:59,372 INFO L78 Accepts]: Start accepts. Automaton has 6 states. Word has length 46 [2018-11-23 06:46:59,373 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 06:46:59,373 INFO L225 Difference]: With dead ends: 116 [2018-11-23 06:46:59,373 INFO L226 Difference]: Without dead ends: 113 [2018-11-23 06:46:59,374 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 47 GetRequests, 41 SyntacticMatches, 0 SemanticMatches, 6 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 3 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=18, Invalid=38, Unknown=0, NotChecked=0, Total=56 [2018-11-23 06:46:59,374 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 113 states. [2018-11-23 06:46:59,384 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 113 to 113. [2018-11-23 06:46:59,384 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 113 states. [2018-11-23 06:46:59,385 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 113 states to 113 states and 137 transitions. [2018-11-23 06:46:59,385 INFO L78 Accepts]: Start accepts. Automaton has 113 states and 137 transitions. Word has length 46 [2018-11-23 06:46:59,385 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 06:46:59,385 INFO L480 AbstractCegarLoop]: Abstraction has 113 states and 137 transitions. [2018-11-23 06:46:59,385 INFO L481 AbstractCegarLoop]: Interpolant automaton has 6 states. [2018-11-23 06:46:59,385 INFO L276 IsEmpty]: Start isEmpty. Operand 113 states and 137 transitions. [2018-11-23 06:46:59,386 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 48 [2018-11-23 06:46:59,386 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 06:46:59,386 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 06:46:59,386 INFO L423 AbstractCegarLoop]: === Iteration 9 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 06:46:59,386 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 06:46:59,386 INFO L82 PathProgramCache]: Analyzing trace with hash -1752836033, now seen corresponding path program 1 times [2018-11-23 06:46:59,386 INFO L223 ckRefinementStrategy]: Switched to mode MATHSAT_FPBP [2018-11-23 06:46:59,386 INFO L69 tionRefinementEngine]: Using refinement strategy WolfRefinementStrategy No working directory specified, using /tmp/vcloud-vcloud-master/worker/working_dir_57a03755-f989-4b49-b912-75361c40a199/bin-2019/uautomizer/mathsat Starting monitored process 10 with mathsat -unsat_core_generation=3 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 10 with mathsat -unsat_core_generation=3 [2018-11-23 06:46:59,392 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 06:46:59,692 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 06:46:59,730 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 06:47:00,269 WARN L180 SmtUtils]: Spent 137.00 ms on a formula simplification. DAG size of input: 69 DAG size of output: 68 [2018-11-23 06:47:00,406 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:00,406 INFO L312 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2018-11-23 06:47:00,420 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-23 06:47:00,420 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [11] imperfect sequences [] total 11 [2018-11-23 06:47:00,420 INFO L459 AbstractCegarLoop]: Interpolant automaton has 11 states [2018-11-23 06:47:00,421 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2018-11-23 06:47:00,421 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=23, Invalid=87, Unknown=0, NotChecked=0, Total=110 [2018-11-23 06:47:00,421 INFO L87 Difference]: Start difference. First operand 113 states and 137 transitions. Second operand 11 states. [2018-11-23 06:47:01,517 WARN L180 SmtUtils]: Spent 189.00 ms on a formula simplification. DAG size of input: 89 DAG size of output: 53 [2018-11-23 06:47:01,757 WARN L180 SmtUtils]: Spent 169.00 ms on a formula simplification. DAG size of input: 57 DAG size of output: 50 [2018-11-23 06:47:08,301 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 06:47:08,301 INFO L93 Difference]: Finished difference Result 131 states and 155 transitions. [2018-11-23 06:47:08,302 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2018-11-23 06:47:08,302 INFO L78 Accepts]: Start accepts. Automaton has 11 states. Word has length 47 [2018-11-23 06:47:08,302 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 06:47:08,303 INFO L225 Difference]: With dead ends: 131 [2018-11-23 06:47:08,303 INFO L226 Difference]: Without dead ends: 116 [2018-11-23 06:47:08,303 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 54 GetRequests, 37 SyntacticMatches, 1 SemanticMatches, 16 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 19 ImplicationChecksByTransitivity, 2.0s TimeCoverageRelationStatistics Valid=93, Invalid=213, Unknown=0, NotChecked=0, Total=306 [2018-11-23 06:47:08,303 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 116 states. [2018-11-23 06:47:08,311 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 116 to 113. [2018-11-23 06:47:08,312 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 113 states. [2018-11-23 06:47:08,312 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 113 states to 113 states and 135 transitions. [2018-11-23 06:47:08,312 INFO L78 Accepts]: Start accepts. Automaton has 113 states and 135 transitions. Word has length 47 [2018-11-23 06:47:08,312 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 06:47:08,313 INFO L480 AbstractCegarLoop]: Abstraction has 113 states and 135 transitions. [2018-11-23 06:47:08,313 INFO L481 AbstractCegarLoop]: Interpolant automaton has 11 states. [2018-11-23 06:47:08,313 INFO L276 IsEmpty]: Start isEmpty. Operand 113 states and 135 transitions. [2018-11-23 06:47:08,313 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 48 [2018-11-23 06:47:08,313 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 06:47:08,313 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 06:47:08,313 INFO L423 AbstractCegarLoop]: === Iteration 10 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 06:47:08,314 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 06:47:08,314 INFO L82 PathProgramCache]: Analyzing trace with hash 2064213236, now seen corresponding path program 1 times [2018-11-23 06:47:08,314 INFO L223 ckRefinementStrategy]: Switched to mode MATHSAT_FPBP [2018-11-23 06:47:08,314 INFO L69 tionRefinementEngine]: Using refinement strategy WolfRefinementStrategy No working directory specified, using /tmp/vcloud-vcloud-master/worker/working_dir_57a03755-f989-4b49-b912-75361c40a199/bin-2019/uautomizer/mathsat Starting monitored process 11 with mathsat -unsat_core_generation=3 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 11 with mathsat -unsat_core_generation=3 [2018-11-23 06:47:08,318 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 06:47:08,555 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 06:47:08,586 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 06:47:09,285 WARN L180 SmtUtils]: Spent 146.00 ms on a formula simplification. DAG size of input: 44 DAG size of output: 43 [2018-11-23 06:47:09,384 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:09,384 INFO L312 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2018-11-23 06:47:09,395 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-23 06:47:09,395 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [11] imperfect sequences [] total 11 [2018-11-23 06:47:09,395 INFO L459 AbstractCegarLoop]: Interpolant automaton has 11 states [2018-11-23 06:47:09,395 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2018-11-23 06:47:09,396 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=23, Invalid=87, Unknown=0, NotChecked=0, Total=110 [2018-11-23 06:47:09,396 INFO L87 Difference]: Start difference. First operand 113 states and 135 transitions. Second operand 11 states. [2018-11-23 06:47:09,776 WARN L180 SmtUtils]: Spent 155.00 ms on a formula simplification that was a NOOP. DAG size: 19 [2018-11-23 06:47:10,522 WARN L180 SmtUtils]: Spent 161.00 ms on a formula simplification. DAG size of input: 51 DAG size of output: 44 [2018-11-23 06:47:11,153 WARN L180 SmtUtils]: Spent 521.00 ms on a formula simplification. DAG size of input: 64 DAG size of output: 56 [2018-11-23 06:47:14,103 WARN L180 SmtUtils]: Spent 2.18 s on a formula simplification. DAG size of input: 57 DAG size of output: 50 [2018-11-23 06:47:16,347 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 06:47:16,347 INFO L93 Difference]: Finished difference Result 131 states and 153 transitions. [2018-11-23 06:47:16,348 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2018-11-23 06:47:16,348 INFO L78 Accepts]: Start accepts. Automaton has 11 states. Word has length 47 [2018-11-23 06:47:16,349 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 06:47:16,349 INFO L225 Difference]: With dead ends: 131 [2018-11-23 06:47:16,349 INFO L226 Difference]: Without dead ends: 116 [2018-11-23 06:47:16,349 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 53 GetRequests, 37 SyntacticMatches, 0 SemanticMatches, 16 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 14 ImplicationChecksByTransitivity, 4.2s TimeCoverageRelationStatistics Valid=93, Invalid=213, Unknown=0, NotChecked=0, Total=306 [2018-11-23 06:47:16,350 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 116 states. [2018-11-23 06:47:16,360 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 116 to 113. [2018-11-23 06:47:16,360 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 113 states. [2018-11-23 06:47:16,360 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 113 states to 113 states and 134 transitions. [2018-11-23 06:47:16,361 INFO L78 Accepts]: Start accepts. Automaton has 113 states and 134 transitions. Word has length 47 [2018-11-23 06:47:16,361 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 06:47:16,361 INFO L480 AbstractCegarLoop]: Abstraction has 113 states and 134 transitions. [2018-11-23 06:47:16,361 INFO L481 AbstractCegarLoop]: Interpolant automaton has 11 states. [2018-11-23 06:47:16,361 INFO L276 IsEmpty]: Start isEmpty. Operand 113 states and 134 transitions. [2018-11-23 06:47:16,362 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 49 [2018-11-23 06:47:16,362 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 06:47:16,362 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 06:47:16,362 INFO L423 AbstractCegarLoop]: === Iteration 11 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 06:47:16,362 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 06:47:16,362 INFO L82 PathProgramCache]: Analyzing trace with hash -635033708, now seen corresponding path program 1 times [2018-11-23 06:47:16,362 INFO L223 ckRefinementStrategy]: Switched to mode MATHSAT_FPBP [2018-11-23 06:47:16,362 INFO L69 tionRefinementEngine]: Using refinement strategy WolfRefinementStrategy No working directory specified, using /tmp/vcloud-vcloud-master/worker/working_dir_57a03755-f989-4b49-b912-75361c40a199/bin-2019/uautomizer/mathsat Starting monitored process 12 with mathsat -unsat_core_generation=3 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 12 with mathsat -unsat_core_generation=3 [2018-11-23 06:47:16,366 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 06:47:16,878 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 06:47:16,922 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 06:47:18,735 WARN L854 $PredicateComparison]: unable to prove that (exists ((v_prenex_85 (_ BitVec 64))) (= c_isinf_double_~lx~1 ((_ extract 31 0) v_prenex_85))) is different from true [2018-11-23 06:47:18,834 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 06:47:18,835 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 06:47:18,835 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:18,879 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:18,880 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 06:47:18,894 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:18,900 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:18,900 INFO L267 ElimStorePlain]: Start of recursive call 5: End of recursive call: and 1 xjuncts. [2018-11-23 06:47:18,901 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 06:47:18,904 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:18,917 INFO L267 ElimStorePlain]: Start of recursive call 1: 3 dim-0 vars, 1 dim-2 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2018-11-23 06:47:18,918 INFO L202 ElimStorePlain]: Needed 5 recursive calls to eliminate 4 variables, input treesize:46, output treesize:18 [2018-11-23 06:47:20,977 WARN L180 SmtUtils]: Spent 2.02 s on a formula simplification that was a NOOP. DAG size: 18 [2018-11-23 06:47:23,568 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:23,568 INFO L312 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2018-11-23 06:47:23,587 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-23 06:47:23,588 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [14] imperfect sequences [] total 14 [2018-11-23 06:47:23,588 INFO L459 AbstractCegarLoop]: Interpolant automaton has 14 states [2018-11-23 06:47:23,588 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 14 interpolants. [2018-11-23 06:47:23,588 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=28, Invalid=130, Unknown=2, NotChecked=22, Total=182 [2018-11-23 06:47:23,589 INFO L87 Difference]: Start difference. First operand 113 states and 134 transitions. Second operand 14 states. [2018-11-23 06:47:25,910 WARN L180 SmtUtils]: Spent 2.02 s on a formula simplification that was a NOOP. DAG size: 20 [2018-11-23 06:47:28,112 WARN L180 SmtUtils]: Spent 2.07 s on a formula simplification that was a NOOP. DAG size: 30 [2018-11-23 06:47:30,256 WARN L180 SmtUtils]: Spent 2.06 s on a formula simplification that was a NOOP. DAG size: 43 [2018-11-23 06:47:34,814 WARN L180 SmtUtils]: Spent 4.33 s on a formula simplification. DAG size of input: 51 DAG size of output: 51 [2018-11-23 06:47:37,046 WARN L180 SmtUtils]: Spent 2.16 s on a formula simplification that was a NOOP. DAG size: 74 [2018-11-23 06:47:39,234 WARN L180 SmtUtils]: Spent 2.08 s on a formula simplification that was a NOOP. DAG size: 52 [2018-11-23 06:47:44,135 WARN L180 SmtUtils]: Spent 4.25 s on a formula simplification. DAG size of input: 74 DAG size of output: 72 [2018-11-23 06:47:51,279 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 06:47:51,279 INFO L93 Difference]: Finished difference Result 147 states and 174 transitions. [2018-11-23 06:47:51,280 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 14 states. [2018-11-23 06:47:51,280 INFO L78 Accepts]: Start accepts. Automaton has 14 states. Word has length 48 [2018-11-23 06:47:51,280 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 06:47:51,281 INFO L225 Difference]: With dead ends: 147 [2018-11-23 06:47:51,281 INFO L226 Difference]: Without dead ends: 112 [2018-11-23 06:47:51,282 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 54 GetRequests, 34 SyntacticMatches, 1 SemanticMatches, 19 ConstructedPredicates, 1 IntricatePredicates, 0 DeprecatedPredicates, 27 ImplicationChecksByTransitivity, 25.7s TimeCoverageRelationStatistics Valid=94, Invalid=288, Unknown=2, NotChecked=36, Total=420 [2018-11-23 06:47:51,282 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 112 states. [2018-11-23 06:47:51,292 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 112 to 110. [2018-11-23 06:47:51,292 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 110 states. [2018-11-23 06:47:51,292 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 110 states to 110 states and 128 transitions. [2018-11-23 06:47:51,293 INFO L78 Accepts]: Start accepts. Automaton has 110 states and 128 transitions. Word has length 48 [2018-11-23 06:47:51,293 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 06:47:51,293 INFO L480 AbstractCegarLoop]: Abstraction has 110 states and 128 transitions. [2018-11-23 06:47:51,293 INFO L481 AbstractCegarLoop]: Interpolant automaton has 14 states. [2018-11-23 06:47:51,293 INFO L276 IsEmpty]: Start isEmpty. Operand 110 states and 128 transitions. [2018-11-23 06:47:51,294 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 51 [2018-11-23 06:47:51,294 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 06:47:51,294 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 06:47:51,294 INFO L423 AbstractCegarLoop]: === Iteration 12 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 06:47:51,294 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 06:47:51,294 INFO L82 PathProgramCache]: Analyzing trace with hash -374247891, now seen corresponding path program 1 times [2018-11-23 06:47:51,294 INFO L223 ckRefinementStrategy]: Switched to mode MATHSAT_FPBP [2018-11-23 06:47:51,295 INFO L69 tionRefinementEngine]: Using refinement strategy WolfRefinementStrategy No working directory specified, using /tmp/vcloud-vcloud-master/worker/working_dir_57a03755-f989-4b49-b912-75361c40a199/bin-2019/uautomizer/mathsat Starting monitored process 13 with mathsat -unsat_core_generation=3 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 13 with mathsat -unsat_core_generation=3 [2018-11-23 06:47:51,304 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 06:47:52,128 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 06:47:52,185 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 06:47:52,202 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 06:47:52,202 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 06:47:52,203 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:52,240 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 24 [2018-11-23 06:47:52,241 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 06:47:52,251 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:52,255 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:52,255 INFO L267 ElimStorePlain]: Start of recursive call 5: End of recursive call: and 1 xjuncts. [2018-11-23 06:47:52,257 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 06:47:52,259 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:52,265 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:52,265 INFO L202 ElimStorePlain]: Needed 5 recursive calls to eliminate 3 variables, input treesize:42, output treesize:14 [2018-11-23 06:47:52,342 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:52,342 INFO L312 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2018-11-23 06:47:52,357 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-23 06:47:52,357 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [7] imperfect sequences [] total 7 [2018-11-23 06:47:52,357 INFO L459 AbstractCegarLoop]: Interpolant automaton has 7 states [2018-11-23 06:47:52,358 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2018-11-23 06:47:52,358 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=11, Invalid=31, Unknown=0, NotChecked=0, Total=42 [2018-11-23 06:47:52,358 INFO L87 Difference]: Start difference. First operand 110 states and 128 transitions. Second operand 7 states. [2018-11-23 06:47:53,380 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 06:47:53,381 INFO L93 Difference]: Finished difference Result 121 states and 138 transitions. [2018-11-23 06:47:53,381 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2018-11-23 06:47:53,381 INFO L78 Accepts]: Start accepts. Automaton has 7 states. Word has length 50 [2018-11-23 06:47:53,381 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 06:47:53,382 INFO L225 Difference]: With dead ends: 121 [2018-11-23 06:47:53,382 INFO L226 Difference]: Without dead ends: 55 [2018-11-23 06:47:53,382 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 52 GetRequests, 44 SyntacticMatches, 0 SemanticMatches, 8 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=29, Invalid=61, Unknown=0, NotChecked=0, Total=90 [2018-11-23 06:47:53,382 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 55 states. [2018-11-23 06:47:53,385 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 55 to 55. [2018-11-23 06:47:53,385 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 55 states. [2018-11-23 06:47:53,385 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 55 states to 55 states and 54 transitions. [2018-11-23 06:47:53,385 INFO L78 Accepts]: Start accepts. Automaton has 55 states and 54 transitions. Word has length 50 [2018-11-23 06:47:53,385 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 06:47:53,385 INFO L480 AbstractCegarLoop]: Abstraction has 55 states and 54 transitions. [2018-11-23 06:47:53,385 INFO L481 AbstractCegarLoop]: Interpolant automaton has 7 states. [2018-11-23 06:47:53,385 INFO L276 IsEmpty]: Start isEmpty. Operand 55 states and 54 transitions. [2018-11-23 06:47:53,386 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 55 [2018-11-23 06:47:53,386 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 06:47:53,386 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 06:47:53,386 INFO L423 AbstractCegarLoop]: === Iteration 13 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 06:47:53,386 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 06:47:53,386 INFO L82 PathProgramCache]: Analyzing trace with hash 884057625, now seen corresponding path program 1 times [2018-11-23 06:47:53,388 INFO L223 ckRefinementStrategy]: Switched to mode MATHSAT_FPBP [2018-11-23 06:47:53,388 INFO L69 tionRefinementEngine]: Using refinement strategy WolfRefinementStrategy No working directory specified, using /tmp/vcloud-vcloud-master/worker/working_dir_57a03755-f989-4b49-b912-75361c40a199/bin-2019/uautomizer/mathsat Starting monitored process 14 with mathsat -unsat_core_generation=3 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 14 with mathsat -unsat_core_generation=3 [2018-11-23 06:47:53,396 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 06:47:53,569 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 06:47:53,595 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 06:47:53,748 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:53,748 INFO L312 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2018-11-23 06:47:53,759 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-23 06:47:53,759 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [11] imperfect sequences [] total 11 [2018-11-23 06:47:53,759 INFO L459 AbstractCegarLoop]: Interpolant automaton has 11 states [2018-11-23 06:47:53,759 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2018-11-23 06:47:53,759 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=20, Invalid=90, Unknown=0, NotChecked=0, Total=110 [2018-11-23 06:47:53,759 INFO L87 Difference]: Start difference. First operand 55 states and 54 transitions. Second operand 11 states. [2018-11-23 06:47:54,376 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 06:47:54,377 INFO L93 Difference]: Finished difference Result 55 states and 54 transitions. [2018-11-23 06:47:54,377 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2018-11-23 06:47:54,377 INFO L78 Accepts]: Start accepts. Automaton has 11 states. Word has length 54 [2018-11-23 06:47:54,377 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 06:47:54,377 INFO L225 Difference]: With dead ends: 55 [2018-11-23 06:47:54,377 INFO L226 Difference]: Without dead ends: 0 [2018-11-23 06:47:54,378 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 59 GetRequests, 44 SyntacticMatches, 0 SemanticMatches, 15 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 18 ImplicationChecksByTransitivity, 0.4s TimeCoverageRelationStatistics Valid=54, Invalid=218, Unknown=0, NotChecked=0, Total=272 [2018-11-23 06:47:54,378 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 0 states. [2018-11-23 06:47:54,378 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 0 to 0. [2018-11-23 06:47:54,378 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 0 states. [2018-11-23 06:47:54,378 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 0 states to 0 states and 0 transitions. [2018-11-23 06:47:54,378 INFO L78 Accepts]: Start accepts. Automaton has 0 states and 0 transitions. Word has length 54 [2018-11-23 06:47:54,378 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 06:47:54,378 INFO L480 AbstractCegarLoop]: Abstraction has 0 states and 0 transitions. [2018-11-23 06:47:54,378 INFO L481 AbstractCegarLoop]: Interpolant automaton has 11 states. [2018-11-23 06:47:54,378 INFO L276 IsEmpty]: Start isEmpty. Operand 0 states and 0 transitions. [2018-11-23 06:47:54,379 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 06:47:54,382 INFO L343 DoubleDeckerVisitor]: Before removal of dead ends 0 states and 0 transitions. [2018-11-23 06:48:12,897 WARN L194 Executor]: External (z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000) stderr output: (error "out of memory") [2018-11-23 06:48:12,898 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:2000)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.WrapperScript.checkSat(WrapperScript.java:116) at de.uni_freiburg.informatik.ultimate.logic.Util.checkSat(Util.java:61) at de.uni_freiburg.informatik.ultimate.logic.simplification.SimplifyDDA.getRedundancy(SimplifyDDA.java:626) at de.uni_freiburg.informatik.ultimate.modelcheckerutils.smt.SimplifyDDAWithTimeout.getRedundancy(SimplifyDDAWithTimeout.java:122) at de.uni_freiburg.informatik.ultimate.logic.simplification.SimplifyDDA$Simplifier.walk(SimplifyDDA.java:371) at de.uni_freiburg.informatik.ultimate.logic.NonRecursive.run(NonRecursive.java:122) at de.uni_freiburg.informatik.ultimate.logic.NonRecursive.run(NonRecursive.java:113) at de.uni_freiburg.informatik.ultimate.logic.simplification.SimplifyDDA.simplifyOnce(SimplifyDDA.java:650) at de.uni_freiburg.informatik.ultimate.modelcheckerutils.smt.SimplifyDDAWithTimeout.getSimplifiedTerm(SimplifyDDAWithTimeout.java:187) at de.uni_freiburg.informatik.ultimate.modelcheckerutils.smt.SmtUtils.simplify(SmtUtils.java:151) at de.uni_freiburg.informatik.ultimate.modelcheckerutils.smt.SmtUtils.simplifyWithStatistics(SmtUtils.java:198) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.HoareAnnotationComposer.combineInter(HoareAnnotationComposer.java:149) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.HoareAnnotationComposer.(HoareAnnotationComposer.java:105) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.BasicCegarLoop.computeCFGHoareAnnotation(BasicCegarLoop.java:1009) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionStarter.iterate(TraceAbstractionStarter.java:346) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionStarter.runCegarLoops(TraceAbstractionStarter.java:174) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionStarter.(TraceAbstractionStarter.java:126) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver.finish(TraceAbstractionObserver.java:123) at de.uni_freiburg.informatik.ultimate.core.coreplugin.PluginConnector.runObserver(PluginConnector.java:168) 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) ... 31 more [2018-11-23 06:48:12,900 INFO L168 Benchmark]: Toolchain (without parser) took 151227.23 ms. Allocated memory was 1.0 GB in the beginning and 1.3 GB in the end (delta: 281.5 MB). Free memory was 948.7 MB in the beginning and 1.0 GB in the end (delta: -87.6 MB). Peak memory consumption was 194.0 MB. Max. memory is 11.5 GB. [2018-11-23 06:48:12,901 INFO L168 Benchmark]: CDTParser took 0.18 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:48:12,901 INFO L168 Benchmark]: CACSL2BoogieTranslator took 295.98 ms. Allocated memory is still 1.0 GB. Free memory was 943.3 MB in the beginning and 927.2 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:48:12,901 INFO L168 Benchmark]: Boogie Procedure Inliner took 73.93 ms. Allocated memory was 1.0 GB in the beginning and 1.2 GB in the end (delta: 126.4 MB). Free memory was 927.2 MB in the beginning and 1.1 GB in the end (delta: -193.5 MB). Peak memory consumption was 16.0 MB. Max. memory is 11.5 GB. [2018-11-23 06:48:12,902 INFO L168 Benchmark]: Boogie Preprocessor took 41.17 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.7 MB). Peak memory consumption was 6.7 MB. Max. memory is 11.5 GB. [2018-11-23 06:48:12,902 INFO L168 Benchmark]: RCFGBuilder took 19624.45 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: 72.4 MB). Peak memory consumption was 72.4 MB. Max. memory is 11.5 GB. [2018-11-23 06:48:12,902 INFO L168 Benchmark]: TraceAbstraction took 131188.73 ms. Allocated memory was 1.2 GB in the beginning and 1.3 GB in the end (delta: 155.2 MB). Free memory was 1.0 GB in the beginning and 1.0 GB in the end (delta: 5.3 MB). Peak memory consumption was 160.5 MB. Max. memory is 11.5 GB. [2018-11-23 06:48:12,905 INFO L336 ainManager$Toolchain]: ####################### End [Toolchain 1] ####################### --- Results --- * Results from de.uni_freiburg.informatik.ultimate.core: - StatisticsResult: Toolchain Benchmarks Benchmark results are: * CDTParser took 0.18 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 295.98 ms. Allocated memory is still 1.0 GB. Free memory was 943.3 MB in the beginning and 927.2 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 73.93 ms. Allocated memory was 1.0 GB in the beginning and 1.2 GB in the end (delta: 126.4 MB). Free memory was 927.2 MB in the beginning and 1.1 GB in the end (delta: -193.5 MB). Peak memory consumption was 16.0 MB. Max. memory is 11.5 GB. * Boogie Preprocessor took 41.17 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.7 MB). Peak memory consumption was 6.7 MB. Max. memory is 11.5 GB. * RCFGBuilder took 19624.45 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: 72.4 MB). Peak memory consumption was 72.4 MB. Max. memory is 11.5 GB. * TraceAbstraction took 131188.73 ms. Allocated memory was 1.2 GB in the beginning and 1.3 GB in the end (delta: 155.2 MB). Free memory was 1.0 GB in the beginning and 1.0 GB in the end (delta: 5.3 MB). Peak memory consumption was 160.5 MB. Max. memory is 11.5 GB. * Results from de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: - PositiveResult [Line: 298]: call of __VERIFIER_error() unreachable For all program executions holds that call of __VERIFIER_error() unreachable at this location - ExceptionOrErrorResult: SMTLIBException: External (z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000)Received EOF on stdin. stderr output: (error "out of memory") de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: SMTLIBException: External (z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000)Received EOF on stdin. stderr output: (error "out of memory") : de.uni_freiburg.informatik.ultimate.smtsolver.external.Executor.parse(Executor.java:208) RESULT: Ultimate could not prove your program: Toolchain returned no result. Received shutdown request...