./Ultimate.py --spec ../../sv-benchmarks/c/properties/unreach-call.prp --file ../../sv-benchmarks/c/float-newlib/double_req_bl_0682b_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_94ac3051-a167-4140-b7cf-ec466e016f62/bin-2019/ukojak/data/config -Xmx12G -Xms1G -jar /tmp/vcloud-vcloud-master/worker/working_dir_94ac3051-a167-4140-b7cf-ec466e016f62/bin-2019/ukojak/plugins/org.eclipse.equinox.launcher_1.3.100.v20150511-1540.jar -data @noDefault -ultimatedata /tmp/vcloud-vcloud-master/worker/working_dir_94ac3051-a167-4140-b7cf-ec466e016f62/bin-2019/ukojak/data -tc /tmp/vcloud-vcloud-master/worker/working_dir_94ac3051-a167-4140-b7cf-ec466e016f62/bin-2019/ukojak/config/KojakReach.xml -i ../../sv-benchmarks/c/float-newlib/double_req_bl_0682b_true-unreach-call.c -s /tmp/vcloud-vcloud-master/worker/working_dir_94ac3051-a167-4140-b7cf-ec466e016f62/bin-2019/ukojak/config/svcomp-Reach-32bit-Kojak_Default.epf --cacsl2boogietranslator.entry.function main --witnessprinter.witness.directory /tmp/vcloud-vcloud-master/worker/working_dir_94ac3051-a167-4140-b7cf-ec466e016f62/bin-2019/ukojak --witnessprinter.witness.filename witness.graphml --witnessprinter.write.witness.besides.input.file false --witnessprinter.graph.data.specification CHECK( init(main()), LTL(G ! call(__VERIFIER_error())) ) --witnessprinter.graph.data.producer Kojak --witnessprinter.graph.data.architecture 32bit --witnessprinter.graph.data.programhash a90ab4b5fd896d7fe8c91ee95d37e83b559389ba ......................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................... 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_94ac3051-a167-4140-b7cf-ec466e016f62/bin-2019/ukojak/data/config -Xmx12G -Xms1G -jar /tmp/vcloud-vcloud-master/worker/working_dir_94ac3051-a167-4140-b7cf-ec466e016f62/bin-2019/ukojak/plugins/org.eclipse.equinox.launcher_1.3.100.v20150511-1540.jar -data @noDefault -ultimatedata /tmp/vcloud-vcloud-master/worker/working_dir_94ac3051-a167-4140-b7cf-ec466e016f62/bin-2019/ukojak/data -tc /tmp/vcloud-vcloud-master/worker/working_dir_94ac3051-a167-4140-b7cf-ec466e016f62/bin-2019/ukojak/config/KojakReach.xml -i ../../sv-benchmarks/c/float-newlib/double_req_bl_0682b_true-unreach-call.c -s /tmp/vcloud-vcloud-master/worker/working_dir_94ac3051-a167-4140-b7cf-ec466e016f62/bin-2019/ukojak/config/svcomp-Reach-32bit-Kojak_Bitvector.epf --cacsl2boogietranslator.entry.function main --witnessprinter.witness.directory /tmp/vcloud-vcloud-master/worker/working_dir_94ac3051-a167-4140-b7cf-ec466e016f62/bin-2019/ukojak --witnessprinter.witness.filename witness.graphml --witnessprinter.write.witness.besides.input.file false --witnessprinter.graph.data.specification CHECK( init(main()), LTL(G ! call(__VERIFIER_error())) ) --witnessprinter.graph.data.producer Kojak --witnessprinter.graph.data.architecture 32bit --witnessprinter.graph.data.programhash a90ab4b5fd896d7fe8c91ee95d37e83b559389ba .................................................................................................................................................................................................................................................................................................................................. Execution finished normally Writing output log to file Ultimate.log Result: ERROR: ExceptionOrErrorResult: UnsupportedOperationException: nested self-update not yet implemented: (store v_arrayElimCell_7 (_ bv0 32) ((_ extract 31 0) |v_q#valueAsBitvector_16|)) --- Real Ultimate output --- This is Ultimate 0.1.23-aa41828 [2018-11-23 05:24:17,810 INFO L170 SettingsManager]: Resetting all preferences to default values... [2018-11-23 05:24:17,811 INFO L174 SettingsManager]: Resetting UltimateCore preferences to default values [2018-11-23 05:24:17,818 INFO L177 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2018-11-23 05:24:17,819 INFO L174 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2018-11-23 05:24:17,819 INFO L174 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2018-11-23 05:24:17,820 INFO L174 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2018-11-23 05:24:17,821 INFO L174 SettingsManager]: Resetting LassoRanker preferences to default values [2018-11-23 05:24:17,822 INFO L174 SettingsManager]: Resetting Reaching Definitions preferences to default values [2018-11-23 05:24:17,823 INFO L174 SettingsManager]: Resetting SyntaxChecker preferences to default values [2018-11-23 05:24:17,823 INFO L177 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2018-11-23 05:24:17,824 INFO L174 SettingsManager]: Resetting LTL2Aut preferences to default values [2018-11-23 05:24:17,824 INFO L174 SettingsManager]: Resetting PEA to Boogie preferences to default values [2018-11-23 05:24:17,825 INFO L174 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2018-11-23 05:24:17,826 INFO L174 SettingsManager]: Resetting ChcToBoogie preferences to default values [2018-11-23 05:24:17,826 INFO L174 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2018-11-23 05:24:17,827 INFO L174 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2018-11-23 05:24:17,828 INFO L174 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2018-11-23 05:24:17,829 INFO L174 SettingsManager]: Resetting CodeCheck preferences to default values [2018-11-23 05:24:17,830 INFO L174 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2018-11-23 05:24:17,831 INFO L174 SettingsManager]: Resetting RCFGBuilder preferences to default values [2018-11-23 05:24:17,832 INFO L174 SettingsManager]: Resetting TraceAbstraction preferences to default values [2018-11-23 05:24:17,833 INFO L177 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2018-11-23 05:24:17,833 INFO L177 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2018-11-23 05:24:17,833 INFO L174 SettingsManager]: Resetting TreeAutomizer preferences to default values [2018-11-23 05:24:17,834 INFO L174 SettingsManager]: Resetting IcfgTransformer preferences to default values [2018-11-23 05:24:17,834 INFO L174 SettingsManager]: Resetting Boogie Printer preferences to default values [2018-11-23 05:24:17,835 INFO L174 SettingsManager]: Resetting ReqPrinter preferences to default values [2018-11-23 05:24:17,835 INFO L174 SettingsManager]: Resetting Witness Printer preferences to default values [2018-11-23 05:24:17,836 INFO L177 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2018-11-23 05:24:17,836 INFO L174 SettingsManager]: Resetting CDTParser preferences to default values [2018-11-23 05:24:17,837 INFO L177 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2018-11-23 05:24:17,837 INFO L177 SettingsManager]: ReqParser provides no preferences, ignoring... [2018-11-23 05:24:17,837 INFO L174 SettingsManager]: Resetting SmtParser preferences to default values [2018-11-23 05:24:17,838 INFO L174 SettingsManager]: Resetting Witness Parser preferences to default values [2018-11-23 05:24:17,838 INFO L181 SettingsManager]: Finished resetting all preferences to default values... [2018-11-23 05:24:17,838 INFO L98 SettingsManager]: Beginning loading settings from /tmp/vcloud-vcloud-master/worker/working_dir_94ac3051-a167-4140-b7cf-ec466e016f62/bin-2019/ukojak/config/svcomp-Reach-32bit-Kojak_Default.epf [2018-11-23 05:24:17,848 INFO L110 SettingsManager]: Loading preferences was successful [2018-11-23 05:24:17,848 INFO L112 SettingsManager]: Preferences different from defaults after loading the file: [2018-11-23 05:24:17,849 INFO L131 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2018-11-23 05:24:17,849 INFO L133 SettingsManager]: * ... to procedures called more than once=ALWAYS [2018-11-23 05:24:17,849 INFO L131 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2018-11-23 05:24:17,849 INFO L133 SettingsManager]: * Create parallel compositions if possible=false [2018-11-23 05:24:17,850 INFO L131 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2018-11-23 05:24:17,850 INFO L133 SettingsManager]: * sizeof long=4 [2018-11-23 05:24:17,850 INFO L133 SettingsManager]: * Overapproximate operations on floating types=true [2018-11-23 05:24:17,850 INFO L133 SettingsManager]: * sizeof POINTER=4 [2018-11-23 05:24:17,850 INFO L133 SettingsManager]: * Check division by zero=IGNORE [2018-11-23 05:24:17,850 INFO L133 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2018-11-23 05:24:17,850 INFO L133 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2018-11-23 05:24:17,851 INFO L133 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2018-11-23 05:24:17,851 INFO L133 SettingsManager]: * sizeof long double=12 [2018-11-23 05:24:17,851 INFO L133 SettingsManager]: * Check if freed pointer was valid=false [2018-11-23 05:24:17,851 INFO L133 SettingsManager]: * Use constant arrays=true [2018-11-23 05:24:17,851 INFO L133 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2018-11-23 05:24:17,851 INFO L131 SettingsManager]: Preferences of CodeCheck differ from their defaults: [2018-11-23 05:24:17,851 INFO L133 SettingsManager]: * Timeout in seconds=1000000 [2018-11-23 05:24:17,852 INFO L131 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2018-11-23 05:24:17,852 INFO L133 SettingsManager]: * To the following directory=./dump/ [2018-11-23 05:24:17,852 INFO L133 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:10000 [2018-11-23 05:24:17,852 INFO L131 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2018-11-23 05:24:17,852 INFO L133 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2018-11-23 05:24:17,852 INFO L133 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopsAndPotentialCycles [2018-11-23 05:24:17,852 INFO L133 SettingsManager]: * Trace refinement strategy=PENGUIN [2018-11-23 05:24:17,853 INFO L133 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode [2018-11-23 05:24:17,853 INFO L133 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2018-11-23 05:24:17,853 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_94ac3051-a167-4140-b7cf-ec466e016f62/bin-2019/ukojak Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Witness filename -> witness.graphml Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Write witness besides input file -> false Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Graph data specification -> CHECK( init(main()), LTL(G ! call(__VERIFIER_error())) ) Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Graph data producer -> Kojak Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Graph data architecture -> 32bit Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Graph data programhash -> a90ab4b5fd896d7fe8c91ee95d37e83b559389ba [2018-11-23 05:24:17,873 INFO L81 nceAwareModelManager]: Repository-Root is: /tmp [2018-11-23 05:24:17,880 INFO L258 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2018-11-23 05:24:17,883 INFO L214 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2018-11-23 05:24:17,884 INFO L271 PluginConnector]: Initializing CDTParser... [2018-11-23 05:24:17,884 INFO L276 PluginConnector]: CDTParser initialized [2018-11-23 05:24:17,884 INFO L418 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /tmp/vcloud-vcloud-master/worker/working_dir_94ac3051-a167-4140-b7cf-ec466e016f62/bin-2019/ukojak/../../sv-benchmarks/c/float-newlib/double_req_bl_0682b_true-unreach-call.c [2018-11-23 05:24:17,918 INFO L221 CDTParser]: Created temporary CDT project at /tmp/vcloud-vcloud-master/worker/working_dir_94ac3051-a167-4140-b7cf-ec466e016f62/bin-2019/ukojak/data/7ad729c83/e6fddec7f7e14d5d96530a3d49accc38/FLAG7121d1fcf [2018-11-23 05:24:18,320 INFO L307 CDTParser]: Found 1 translation units. [2018-11-23 05:24:18,321 INFO L161 CDTParser]: Scanning /tmp/vcloud-vcloud-master/worker/working_dir_94ac3051-a167-4140-b7cf-ec466e016f62/sv-benchmarks/c/float-newlib/double_req_bl_0682b_true-unreach-call.c [2018-11-23 05:24:18,326 INFO L355 CDTParser]: About to delete temporary CDT project at /tmp/vcloud-vcloud-master/worker/working_dir_94ac3051-a167-4140-b7cf-ec466e016f62/bin-2019/ukojak/data/7ad729c83/e6fddec7f7e14d5d96530a3d49accc38/FLAG7121d1fcf [2018-11-23 05:24:18,335 INFO L363 CDTParser]: Successfully deleted /tmp/vcloud-vcloud-master/worker/working_dir_94ac3051-a167-4140-b7cf-ec466e016f62/bin-2019/ukojak/data/7ad729c83/e6fddec7f7e14d5d96530a3d49accc38 [2018-11-23 05:24:18,337 INFO L296 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2018-11-23 05:24:18,338 INFO L131 ToolchainWalker]: Walking toolchain with 6 elements. [2018-11-23 05:24:18,338 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2018-11-23 05:24:18,339 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2018-11-23 05:24:18,341 INFO L276 PluginConnector]: CACSL2BoogieTranslator initialized [2018-11-23 05:24:18,341 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 23.11 05:24:18" (1/1) ... [2018-11-23 05:24:18,343 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 05:24:18, skipping insertion in model container [2018-11-23 05:24:18,343 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 23.11 05:24:18" (1/1) ... [2018-11-23 05:24:18,348 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2018-11-23 05:24:18,367 INFO L176 MainTranslator]: Built tables and reachable declarations [2018-11-23 05:24:18,506 INFO L201 PostProcessor]: Analyzing one entry point: main [2018-11-23 05:24:18,510 INFO L191 MainTranslator]: Completed pre-run [2018-11-23 05:24:18,589 INFO L201 PostProcessor]: Analyzing one entry point: main [2018-11-23 05:24:18,605 INFO L195 MainTranslator]: Completed translation [2018-11-23 05:24:18,605 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 05:24:18 WrapperNode [2018-11-23 05:24:18,605 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2018-11-23 05:24:18,606 INFO L113 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2018-11-23 05:24:18,606 INFO L271 PluginConnector]: Initializing Boogie Procedure Inliner... [2018-11-23 05:24:18,606 INFO L276 PluginConnector]: Boogie Procedure Inliner initialized [2018-11-23 05:24:18,611 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 05:24:18" (1/1) ... [2018-11-23 05:24:18,621 INFO L185 PluginConnector]: Executing the observer Inliner from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 05:24:18" (1/1) ... [2018-11-23 05:24:18,644 INFO L132 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2018-11-23 05:24:18,644 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2018-11-23 05:24:18,644 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2018-11-23 05:24:18,644 INFO L276 PluginConnector]: Boogie Preprocessor initialized [2018-11-23 05:24:18,652 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 05:24:18" (1/1) ... [2018-11-23 05:24:18,652 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 05:24:18" (1/1) ... [2018-11-23 05:24:18,657 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 05:24:18" (1/1) ... [2018-11-23 05:24:18,658 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 05:24:18" (1/1) ... [2018-11-23 05:24:18,669 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 05:24:18" (1/1) ... [2018-11-23 05:24:18,675 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 05:24:18" (1/1) ... [2018-11-23 05:24:18,677 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 05:24:18" (1/1) ... [2018-11-23 05:24:18,680 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2018-11-23 05:24:18,681 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2018-11-23 05:24:18,681 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2018-11-23 05:24:18,681 INFO L276 PluginConnector]: RCFGBuilder initialized [2018-11-23 05:24:18,681 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 05:24:18" (1/1) ... No working directory specified, using /tmp/vcloud-vcloud-master/worker/working_dir_94ac3051-a167-4140-b7cf-ec466e016f62/bin-2019/ukojak/z3 Starting monitored process 1 with z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:10000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 1 with z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:10000 [2018-11-23 05:24:18,736 INFO L130 BoogieDeclarations]: Found specification of procedure read~real [2018-11-23 05:24:18,736 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2018-11-23 05:24:18,737 INFO L130 BoogieDeclarations]: Found specification of procedure fabs_double [2018-11-23 05:24:18,737 INFO L138 BoogieDeclarations]: Found implementation of procedure fabs_double [2018-11-23 05:24:18,737 INFO L130 BoogieDeclarations]: Found specification of procedure write~real [2018-11-23 05:24:18,737 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.alloc [2018-11-23 05:24:18,737 INFO L130 BoogieDeclarations]: Found specification of procedure atan_double [2018-11-23 05:24:18,737 INFO L138 BoogieDeclarations]: Found implementation of procedure atan_double [2018-11-23 05:24:18,737 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2018-11-23 05:24:18,737 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2018-11-23 05:24:18,737 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2018-11-23 05:24:18,738 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~real [2018-11-23 05:24:18,738 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2018-11-23 05:24:19,379 INFO L275 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2018-11-23 05:24:19,380 INFO L280 CfgBuilder]: Removed 30 assue(true) statements. [2018-11-23 05:24:19,380 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 23.11 05:24:19 BoogieIcfgContainer [2018-11-23 05:24:19,381 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2018-11-23 05:24:19,381 INFO L113 PluginConnector]: ------------------------CodeCheck---------------------------- [2018-11-23 05:24:19,382 INFO L271 PluginConnector]: Initializing CodeCheck... [2018-11-23 05:24:19,391 INFO L276 PluginConnector]: CodeCheck initialized [2018-11-23 05:24:19,391 INFO L185 PluginConnector]: Executing the observer CodeCheckObserver from plugin CodeCheck for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 23.11 05:24:19" (1/1) ... [2018-11-23 05:24:19,400 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 05:24:19,428 INFO L82 GeneralOperation]: Start removeUnreachable. Operand no size info available [2018-11-23 05:24:19,437 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 129 states to 79 states and 129 transitions. [2018-11-23 05:24:19,437 INFO L276 IsEmpty]: Start isEmpty. Operand 79 states and 129 transitions. [2018-11-23 05:24:19,439 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 14 [2018-11-23 05:24:19,439 INFO L427 CodeCheckObserver]: Error Path is FOUND. [2018-11-23 05:24:19,505 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 05:24:19,532 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 05:24:19,542 INFO L82 GeneralOperation]: Start removeUnreachable. Operand no size info available [2018-11-23 05:24:19,543 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 122 states to 79 states and 122 transitions. [2018-11-23 05:24:19,543 INFO L276 IsEmpty]: Start isEmpty. Operand 79 states and 122 transitions. [2018-11-23 05:24:19,544 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 17 [2018-11-23 05:24:19,544 INFO L427 CodeCheckObserver]: Error Path is FOUND. [2018-11-23 05:24:19,571 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 05:24:19,602 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 05:24:19,635 INFO L82 GeneralOperation]: Start removeUnreachable. Operand no size info available [2018-11-23 05:24:19,636 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 124 states to 80 states and 124 transitions. [2018-11-23 05:24:19,636 INFO L276 IsEmpty]: Start isEmpty. Operand 80 states and 124 transitions. [2018-11-23 05:24:19,637 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 19 [2018-11-23 05:24:19,637 INFO L427 CodeCheckObserver]: Error Path is FOUND. [2018-11-23 05:24:19,655 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 05:24:19,674 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-23 05:24:19,678 INFO L82 GeneralOperation]: Start removeUnreachable. Operand no size info available [2018-11-23 05:24:19,679 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 122 states to 80 states and 122 transitions. [2018-11-23 05:24:19,679 INFO L276 IsEmpty]: Start isEmpty. Operand 80 states and 122 transitions. [2018-11-23 05:24:19,680 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 20 [2018-11-23 05:24:19,680 INFO L427 CodeCheckObserver]: Error Path is FOUND. [2018-11-23 05:24:19,745 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-11-23 05:24:19,784 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-11-23 05:24:19,849 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-11-23 05:24:19,879 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-11-23 05:24:19,905 WARN L493 CodeCheckObserver]: This program is UNSAFE, Check terminated with 4 iterations. ----- class de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder.RCFGBacktranslator [?] #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];call ~#atanhi_atan~0.base, ~#atanhi_atan~0.offset := #Ultimate.alloc(32);call write~init~real(0.4636476090008061, ~#atanhi_atan~0.base, ~#atanhi_atan~0.offset, 8);call write~init~real(0.7853981633974483, ~#atanhi_atan~0.base, 8 + ~#atanhi_atan~0.offset, 8);call write~init~real(0.982793723247329, ~#atanhi_atan~0.base, 16 + ~#atanhi_atan~0.offset, 8);call write~init~real(1.5707963267948966, ~#atanhi_atan~0.base, 24 + ~#atanhi_atan~0.offset, 8);call ~#atanlo_atan~0.base, ~#atanlo_atan~0.offset := #Ultimate.alloc(32);call write~init~real(2.2698777452961687E-17, ~#atanlo_atan~0.base, ~#atanlo_atan~0.offset, 8);call write~init~real(3.061616997868383E-17, ~#atanlo_atan~0.base, 8 + ~#atanlo_atan~0.offset, 8);call write~init~real(1.3903311031230998E-17, ~#atanlo_atan~0.base, 16 + ~#atanlo_atan~0.offset, 8);call write~init~real(6.123233995736766E-17, ~#atanlo_atan~0.base, 24 + ~#atanlo_atan~0.offset, 8);call ~#aT_atan~0.base, ~#aT_atan~0.offset := #Ultimate.alloc(88);call write~init~real(0.3333333333333293, ~#aT_atan~0.base, ~#aT_atan~0.offset, 8);call write~init~real(~someUnaryDOUBLEoperation(0.19999999999876483), ~#aT_atan~0.base, 8 + ~#aT_atan~0.offset, 8);call write~init~real(0.14285714272503466, ~#aT_atan~0.base, 16 + ~#aT_atan~0.offset, 8);call write~init~real(~someUnaryDOUBLEoperation(0.11111110405462356), ~#aT_atan~0.base, 24 + ~#aT_atan~0.offset, 8);call write~init~real(0.09090887133436507, ~#aT_atan~0.base, 32 + ~#aT_atan~0.offset, 8);call write~init~real(~someUnaryDOUBLEoperation(0.0769187620504483), ~#aT_atan~0.base, 40 + ~#aT_atan~0.offset, 8);call write~init~real(0.06661073137387531, ~#aT_atan~0.base, 48 + ~#aT_atan~0.offset, 8);call write~init~real(~someUnaryDOUBLEoperation(0.058335701337905735), ~#aT_atan~0.base, 56 + ~#aT_atan~0.offset, 8);call write~init~real(0.049768779946159324, ~#aT_atan~0.base, 64 + ~#aT_atan~0.offset, 8);call write~init~real(~someUnaryDOUBLEoperation(0.036531572744216916), ~#aT_atan~0.base, 72 + ~#aT_atan~0.offset, 8);call write~init~real(0.016285820115365782, ~#aT_atan~0.base, 80 + ~#aT_atan~0.offset, 8);~one_atan~0 := 1.0;~pi_o_4~0 := 0.7853981633974483;~pi_o_2~0 := 1.5707963267948966;~pi~0 := 3.141592653589793;~huge_atan~0 := 1.0E300;~tiny_atan2~0 := 1.0E-300;~zero_atan2~0 := 0.0;~pi_lo_atan2~0 := 1.2246467991473532E-16;havoc main_#res;havoc main_#t~nondet54, main_#t~ret55, main_#t~ret56, main_#t~short57, main_#t~ret58, main_~res~0, main_~x~0, main_~y~0;main_~x~0 := ~someBinaryArithmeticDOUBLEoperation(~someUnaryDOUBLEoperation(1.0), 0.0);main_~y~0 := main_#t~nondet54;havoc main_#t~nondet54;isinf_double_#in~x := main_~x~0;havoc isinf_double_#res;havoc isinf_double_#t~mem48, isinf_double_#t~union49, isinf_double_#t~mem50, isinf_double_#t~union51, isinf_double_~#ew_u~2.base, isinf_double_~#ew_u~2.offset, isinf_double_~x, isinf_double_~hx~2, isinf_double_~lx~1;isinf_double_~x := isinf_double_#in~x;havoc isinf_double_~hx~2;havoc isinf_double_~lx~1; VAL [ULTIMATE.start_isinf_double_~x=2.0, ULTIMATE.start_main_~x~0=2.0, |#NULL.base|=0, |#NULL.offset|=0, |ULTIMATE.start_isinf_double_#in~x|=2.0, |~#aT_atan~0.base|=6, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=5, |~#atanhi_atan~0.offset|=0, |~#atanlo_atan~0.base|=3, |~#atanlo_atan~0.offset|=0, ~huge_atan~0=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0, ~one_atan~0=1.0, ~pi_lo_atan2~0=(/ 3061616997868382943.0 25000000000000000000000000000000000.0), ~pi_o_2~0=(/ 785398163397448279.0 500000000000000000.0), ~pi_o_4~0=(/ 785398163397448279.0 1000000000000000000.0), ~pi~0=(/ 785398163397448279.0 250000000000000000.0), ~tiny_atan2~0=(/ 1.0 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0), ~zero_atan2~0=0.0] [?] call isinf_double_~#ew_u~2.base, isinf_double_~#ew_u~2.offset := #Ultimate.alloc(8);call write~real(isinf_double_~x, isinf_double_~#ew_u~2.base, isinf_double_~#ew_u~2.offset, 8);call isinf_double_#t~mem48 := read~int(isinf_double_~#ew_u~2.base, 4 + isinf_double_~#ew_u~2.offset, 4);isinf_double_~hx~2 := (if isinf_double_#t~mem48 % 4294967296 % 4294967296 <= 2147483647 then isinf_double_#t~mem48 % 4294967296 % 4294967296 else isinf_double_#t~mem48 % 4294967296 % 4294967296 - 4294967296);call write~real(isinf_double_#t~union49, isinf_double_~#ew_u~2.base, isinf_double_~#ew_u~2.offset, 8);havoc isinf_double_#t~mem48;havoc isinf_double_#t~union49;call isinf_double_#t~mem50 := read~int(isinf_double_~#ew_u~2.base, isinf_double_~#ew_u~2.offset, 4);isinf_double_~lx~1 := (if isinf_double_#t~mem50 % 4294967296 % 4294967296 <= 2147483647 then isinf_double_#t~mem50 % 4294967296 % 4294967296 else isinf_double_#t~mem50 % 4294967296 % 4294967296 - 4294967296);call write~real(isinf_double_#t~union51, isinf_double_~#ew_u~2.base, isinf_double_~#ew_u~2.offset, 8);havoc isinf_double_#t~mem50;havoc isinf_double_#t~union51;call ULTIMATE.dealloc(isinf_double_~#ew_u~2.base, isinf_double_~#ew_u~2.offset);havoc isinf_double_~#ew_u~2.base, isinf_double_~#ew_u~2.offset; VAL [ULTIMATE.start_isinf_double_~hx~2=0, ULTIMATE.start_isinf_double_~lx~1=2278, ULTIMATE.start_isinf_double_~x=2.0, ULTIMATE.start_main_~x~0=2.0, |#NULL.base|=0, |#NULL.offset|=0, |ULTIMATE.start_isinf_double_#in~x|=2.0, |~#aT_atan~0.base|=6, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=5, |~#atanhi_atan~0.offset|=0, |~#atanlo_atan~0.base|=3, |~#atanlo_atan~0.offset|=0, ~huge_atan~0=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0, ~one_atan~0=1.0, ~pi_lo_atan2~0=(/ 3061616997868382943.0 25000000000000000000000000000000000.0), ~pi_o_2~0=(/ 785398163397448279.0 500000000000000000.0), ~pi_o_4~0=(/ 785398163397448279.0 1000000000000000000.0), ~pi~0=(/ 785398163397448279.0 250000000000000000.0), ~tiny_atan2~0=(/ 1.0 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0), ~zero_atan2~0=0.0] [?] goto; VAL [ULTIMATE.start_isinf_double_~hx~2=0, ULTIMATE.start_isinf_double_~lx~1=2278, ULTIMATE.start_isinf_double_~x=2.0, ULTIMATE.start_main_~x~0=2.0, |#NULL.base|=0, |#NULL.offset|=0, |ULTIMATE.start_isinf_double_#in~x|=2.0, |~#aT_atan~0.base|=6, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=5, |~#atanhi_atan~0.offset|=0, |~#atanlo_atan~0.base|=3, |~#atanlo_atan~0.offset|=0, ~huge_atan~0=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0, ~one_atan~0=1.0, ~pi_lo_atan2~0=(/ 3061616997868382943.0 25000000000000000000000000000000000.0), ~pi_o_2~0=(/ 785398163397448279.0 500000000000000000.0), ~pi_o_4~0=(/ 785398163397448279.0 1000000000000000000.0), ~pi~0=(/ 785398163397448279.0 250000000000000000.0), ~tiny_atan2~0=(/ 1.0 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0), ~zero_atan2~0=0.0] [?] isinf_double_~hx~2 := ~bitwiseAnd(isinf_double_~hx~2, 2147483647);isinf_double_~hx~2 := (if ~bitwiseOr(isinf_double_~hx~2, ~bitwiseOr(isinf_double_~lx~1, -isinf_double_~lx~1) / 2147483648) % 4294967296 % 4294967296 <= 2147483647 then ~bitwiseOr(isinf_double_~hx~2, ~bitwiseOr(isinf_double_~lx~1, -isinf_double_~lx~1) / 2147483648) % 4294967296 % 4294967296 else ~bitwiseOr(isinf_double_~hx~2, ~bitwiseOr(isinf_double_~lx~1, -isinf_double_~lx~1) / 2147483648) % 4294967296 % 4294967296 - 4294967296);isinf_double_~hx~2 := 2146435072 - isinf_double_~hx~2;isinf_double_#res := 1 - (if ~bitwiseOr(isinf_double_~hx~2, -isinf_double_~hx~2) / 2147483648 % 4294967296 % 4294967296 <= 2147483647 then ~bitwiseOr(isinf_double_~hx~2, -isinf_double_~hx~2) / 2147483648 % 4294967296 % 4294967296 else ~bitwiseOr(isinf_double_~hx~2, -isinf_double_~hx~2) / 2147483648 % 4294967296 % 4294967296 - 4294967296);main_#t~ret55 := isinf_double_#res;assume -2147483648 <= main_#t~ret55 && main_#t~ret55 <= 2147483647;main_#t~short57 := 0 != main_#t~ret55; VAL [ULTIMATE.start_isinf_double_~hx~2=2146435072, ULTIMATE.start_isinf_double_~lx~1=2278, ULTIMATE.start_isinf_double_~x=2.0, ULTIMATE.start_main_~x~0=2.0, |#NULL.base|=0, |#NULL.offset|=0, |ULTIMATE.start_isinf_double_#in~x|=2.0, |ULTIMATE.start_isinf_double_#res|=(- 1), |ULTIMATE.start_main_#t~ret55|=(- 1), |ULTIMATE.start_main_#t~short57|=true, |~#aT_atan~0.base|=6, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=5, |~#atanhi_atan~0.offset|=0, |~#atanlo_atan~0.base|=3, |~#atanlo_atan~0.offset|=0, ~huge_atan~0=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0, ~one_atan~0=1.0, ~pi_lo_atan2~0=(/ 3061616997868382943.0 25000000000000000000000000000000000.0), ~pi_o_2~0=(/ 785398163397448279.0 500000000000000000.0), ~pi_o_4~0=(/ 785398163397448279.0 1000000000000000000.0), ~pi~0=(/ 785398163397448279.0 250000000000000000.0), ~tiny_atan2~0=(/ 1.0 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0), ~zero_atan2~0=0.0] [?] assume main_#t~short57;isfinite_double_#in~x := main_~y~0;havoc isfinite_double_#res;havoc isfinite_double_#t~mem52, isfinite_double_#t~union53, isfinite_double_~#gh_u~3.base, isfinite_double_~#gh_u~3.offset, isfinite_double_~x, isfinite_double_~hx~3;isfinite_double_~x := isfinite_double_#in~x;havoc isfinite_double_~hx~3; VAL [ULTIMATE.start_isfinite_double_~x=3.0, ULTIMATE.start_isinf_double_~hx~2=2146435072, ULTIMATE.start_isinf_double_~lx~1=2278, ULTIMATE.start_isinf_double_~x=2.0, ULTIMATE.start_main_~x~0=2.0, ULTIMATE.start_main_~y~0=3.0, |#NULL.base|=0, |#NULL.offset|=0, |ULTIMATE.start_isfinite_double_#in~x|=3.0, |ULTIMATE.start_isinf_double_#in~x|=2.0, |ULTIMATE.start_isinf_double_#res|=(- 1), |ULTIMATE.start_main_#t~ret55|=(- 1), |ULTIMATE.start_main_#t~short57|=true, |~#aT_atan~0.base|=6, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=5, |~#atanhi_atan~0.offset|=0, |~#atanlo_atan~0.base|=3, |~#atanlo_atan~0.offset|=0, ~huge_atan~0=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0, ~one_atan~0=1.0, ~pi_lo_atan2~0=(/ 3061616997868382943.0 25000000000000000000000000000000000.0), ~pi_o_2~0=(/ 785398163397448279.0 500000000000000000.0), ~pi_o_4~0=(/ 785398163397448279.0 1000000000000000000.0), ~pi~0=(/ 785398163397448279.0 250000000000000000.0), ~tiny_atan2~0=(/ 1.0 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0), ~zero_atan2~0=0.0] [?] call isfinite_double_~#gh_u~3.base, isfinite_double_~#gh_u~3.offset := #Ultimate.alloc(8);call write~real(isfinite_double_~x, isfinite_double_~#gh_u~3.base, isfinite_double_~#gh_u~3.offset, 8);call isfinite_double_#t~mem52 := read~int(isfinite_double_~#gh_u~3.base, 4 + isfinite_double_~#gh_u~3.offset, 4);isfinite_double_~hx~3 := (if isfinite_double_#t~mem52 % 4294967296 % 4294967296 <= 2147483647 then isfinite_double_#t~mem52 % 4294967296 % 4294967296 else isfinite_double_#t~mem52 % 4294967296 % 4294967296 - 4294967296);call write~real(isfinite_double_#t~union53, isfinite_double_~#gh_u~3.base, isfinite_double_~#gh_u~3.offset, 8);havoc isfinite_double_#t~union53;havoc isfinite_double_#t~mem52;call ULTIMATE.dealloc(isfinite_double_~#gh_u~3.base, isfinite_double_~#gh_u~3.offset);havoc isfinite_double_~#gh_u~3.base, isfinite_double_~#gh_u~3.offset; VAL [ULTIMATE.start_isfinite_double_~hx~3=3504, ULTIMATE.start_isfinite_double_~x=3.0, ULTIMATE.start_isinf_double_~hx~2=2146435072, ULTIMATE.start_isinf_double_~lx~1=2278, ULTIMATE.start_isinf_double_~x=2.0, ULTIMATE.start_main_~x~0=2.0, ULTIMATE.start_main_~y~0=3.0, |#NULL.base|=0, |#NULL.offset|=0, |ULTIMATE.start_isfinite_double_#in~x|=3.0, |ULTIMATE.start_isinf_double_#in~x|=2.0, |ULTIMATE.start_isinf_double_#res|=(- 1), |ULTIMATE.start_main_#t~ret55|=(- 1), |ULTIMATE.start_main_#t~short57|=true, |~#aT_atan~0.base|=6, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=5, |~#atanhi_atan~0.offset|=0, |~#atanlo_atan~0.base|=3, |~#atanlo_atan~0.offset|=0, ~huge_atan~0=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0, ~one_atan~0=1.0, ~pi_lo_atan2~0=(/ 3061616997868382943.0 25000000000000000000000000000000000.0), ~pi_o_2~0=(/ 785398163397448279.0 500000000000000000.0), ~pi_o_4~0=(/ 785398163397448279.0 1000000000000000000.0), ~pi~0=(/ 785398163397448279.0 250000000000000000.0), ~tiny_atan2~0=(/ 1.0 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0), ~zero_atan2~0=0.0] [?] goto; VAL [ULTIMATE.start_isfinite_double_~hx~3=3504, ULTIMATE.start_isfinite_double_~x=3.0, ULTIMATE.start_isinf_double_~hx~2=2146435072, ULTIMATE.start_isinf_double_~lx~1=2278, ULTIMATE.start_isinf_double_~x=2.0, ULTIMATE.start_main_~x~0=2.0, ULTIMATE.start_main_~y~0=3.0, |#NULL.base|=0, |#NULL.offset|=0, |ULTIMATE.start_isfinite_double_#in~x|=3.0, |ULTIMATE.start_isinf_double_#in~x|=2.0, |ULTIMATE.start_isinf_double_#res|=(- 1), |ULTIMATE.start_main_#t~ret55|=(- 1), |ULTIMATE.start_main_#t~short57|=true, |~#aT_atan~0.base|=6, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=5, |~#atanhi_atan~0.offset|=0, |~#atanlo_atan~0.base|=3, |~#atanlo_atan~0.offset|=0, ~huge_atan~0=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0, ~one_atan~0=1.0, ~pi_lo_atan2~0=(/ 3061616997868382943.0 25000000000000000000000000000000000.0), ~pi_o_2~0=(/ 785398163397448279.0 500000000000000000.0), ~pi_o_4~0=(/ 785398163397448279.0 1000000000000000000.0), ~pi~0=(/ 785398163397448279.0 250000000000000000.0), ~tiny_atan2~0=(/ 1.0 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0), ~zero_atan2~0=0.0] [?] isfinite_double_#res := (if (~bitwiseAnd(isfinite_double_~hx~3, 2147483647) - 2146435072) / 2147483648 % 4294967296 % 4294967296 <= 2147483647 then (~bitwiseAnd(isfinite_double_~hx~3, 2147483647) - 2146435072) / 2147483648 % 4294967296 % 4294967296 else (~bitwiseAnd(isfinite_double_~hx~3, 2147483647) - 2146435072) / 2147483648 % 4294967296 % 4294967296 - 4294967296);main_#t~ret56 := isfinite_double_#res;assume -2147483648 <= main_#t~ret56 && main_#t~ret56 <= 2147483647;main_#t~short57 := 0 != main_#t~ret56; VAL [ULTIMATE.start_isfinite_double_~hx~3=3504, ULTIMATE.start_isfinite_double_~x=3.0, ULTIMATE.start_isinf_double_~hx~2=2146435072, ULTIMATE.start_isinf_double_~lx~1=2278, ULTIMATE.start_isinf_double_~x=2.0, ULTIMATE.start_main_~x~0=2.0, ULTIMATE.start_main_~y~0=3.0, |#NULL.base|=0, |#NULL.offset|=0, |ULTIMATE.start_isfinite_double_#in~x|=3.0, |ULTIMATE.start_isfinite_double_#res|=1, |ULTIMATE.start_isinf_double_#in~x|=2.0, |ULTIMATE.start_isinf_double_#res|=(- 1), |ULTIMATE.start_main_#t~ret55|=(- 1), |ULTIMATE.start_main_#t~ret56|=1, |ULTIMATE.start_main_#t~short57|=true, |~#aT_atan~0.base|=6, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=5, |~#atanhi_atan~0.offset|=0, |~#atanlo_atan~0.base|=3, |~#atanlo_atan~0.offset|=0, ~huge_atan~0=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0, ~one_atan~0=1.0, ~pi_lo_atan2~0=(/ 3061616997868382943.0 25000000000000000000000000000000000.0), ~pi_o_2~0=(/ 785398163397448279.0 500000000000000000.0), ~pi_o_4~0=(/ 785398163397448279.0 1000000000000000000.0), ~pi~0=(/ 785398163397448279.0 250000000000000000.0), ~tiny_atan2~0=(/ 1.0 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0), ~zero_atan2~0=0.0] [?] assume main_#t~short57 && ~someBinaryDOUBLEComparisonOperation(main_~y~0, 0.0);havoc main_#t~ret56;havoc main_#t~short57;havoc main_#t~ret55;__ieee754_atan2_#in~y, __ieee754_atan2_#in~x := main_~y~0, main_~x~0;havoc __ieee754_atan2_#res;havoc __ieee754_atan2_#t~mem27, __ieee754_atan2_#t~union28, __ieee754_atan2_#t~mem29, __ieee754_atan2_#t~union30, __ieee754_atan2_~#ew_u~0.base, __ieee754_atan2_~#ew_u~0.offset, __ieee754_atan2_#t~mem31, __ieee754_atan2_#t~union32, __ieee754_atan2_#t~mem33, __ieee754_atan2_#t~union34, __ieee754_atan2_~#ew_u~1.base, __ieee754_atan2_~#ew_u~1.offset, __ieee754_atan2_#t~ret35, __ieee754_atan2_#t~switch36, __ieee754_atan2_#t~ite37, __ieee754_atan2_#t~switch38, __ieee754_atan2_#t~switch39, __ieee754_atan2_#t~ite40, __ieee754_atan2_#t~ret41, __ieee754_atan2_#t~ret42, __ieee754_atan2_#t~switch43, __ieee754_atan2_#t~mem44, __ieee754_atan2_#t~union45, __ieee754_atan2_~#gh_u~2.base, __ieee754_atan2_~#gh_u~2.offset, __ieee754_atan2_#t~mem46, __ieee754_atan2_#t~union47.lsw, __ieee754_atan2_#t~union47.msw, __ieee754_atan2_~#sh_u~1.base, __ieee754_atan2_~#sh_u~1.offset, __ieee754_atan2_~zh~0, __ieee754_atan2_~y, __ieee754_atan2_~x, __ieee754_atan2_~z~1, __ieee754_atan2_~k~0, __ieee754_atan2_~m~0, __ieee754_atan2_~hx~1, __ieee754_atan2_~hy~0, __ieee754_atan2_~ix~1, __ieee754_atan2_~iy~0, __ieee754_atan2_~lx~0, __ieee754_atan2_~ly~0;__ieee754_atan2_~y := __ieee754_atan2_#in~y;__ieee754_atan2_~x := __ieee754_atan2_#in~x;havoc __ieee754_atan2_~z~1;havoc __ieee754_atan2_~k~0;havoc __ieee754_atan2_~m~0;havoc __ieee754_atan2_~hx~1;havoc __ieee754_atan2_~hy~0;havoc __ieee754_atan2_~ix~1;havoc __ieee754_atan2_~iy~0;havoc __ieee754_atan2_~lx~0;havoc __ieee754_atan2_~ly~0; VAL [ULTIMATE.start___ieee754_atan2_~x=2.0, ULTIMATE.start___ieee754_atan2_~y=3.0, ULTIMATE.start_isfinite_double_~hx~3=3504, ULTIMATE.start_isfinite_double_~x=3.0, ULTIMATE.start_isinf_double_~hx~2=2146435072, ULTIMATE.start_isinf_double_~lx~1=2278, ULTIMATE.start_isinf_double_~x=2.0, ULTIMATE.start_main_~x~0=2.0, ULTIMATE.start_main_~y~0=3.0, |#NULL.base|=0, |#NULL.offset|=0, |ULTIMATE.start___ieee754_atan2_#in~x|=2.0, |ULTIMATE.start___ieee754_atan2_#in~y|=3.0, |ULTIMATE.start_isfinite_double_#in~x|=3.0, |ULTIMATE.start_isfinite_double_#res|=1, |ULTIMATE.start_isinf_double_#in~x|=2.0, |ULTIMATE.start_isinf_double_#res|=(- 1), |~#aT_atan~0.base|=6, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=5, |~#atanhi_atan~0.offset|=0, |~#atanlo_atan~0.base|=3, |~#atanlo_atan~0.offset|=0, ~huge_atan~0=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0, ~one_atan~0=1.0, ~pi_lo_atan2~0=(/ 3061616997868382943.0 25000000000000000000000000000000000.0), ~pi_o_2~0=(/ 785398163397448279.0 500000000000000000.0), ~pi_o_4~0=(/ 785398163397448279.0 1000000000000000000.0), ~pi~0=(/ 785398163397448279.0 250000000000000000.0), ~tiny_atan2~0=(/ 1.0 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0), ~zero_atan2~0=0.0] [?] call __ieee754_atan2_~#ew_u~0.base, __ieee754_atan2_~#ew_u~0.offset := #Ultimate.alloc(8);call write~real(__ieee754_atan2_~x, __ieee754_atan2_~#ew_u~0.base, __ieee754_atan2_~#ew_u~0.offset, 8);call __ieee754_atan2_#t~mem27 := read~int(__ieee754_atan2_~#ew_u~0.base, 4 + __ieee754_atan2_~#ew_u~0.offset, 4);__ieee754_atan2_~hx~1 := (if __ieee754_atan2_#t~mem27 % 4294967296 % 4294967296 <= 2147483647 then __ieee754_atan2_#t~mem27 % 4294967296 % 4294967296 else __ieee754_atan2_#t~mem27 % 4294967296 % 4294967296 - 4294967296);call write~real(__ieee754_atan2_#t~union28, __ieee754_atan2_~#ew_u~0.base, __ieee754_atan2_~#ew_u~0.offset, 8);havoc __ieee754_atan2_#t~mem27;havoc __ieee754_atan2_#t~union28;call __ieee754_atan2_#t~mem29 := read~int(__ieee754_atan2_~#ew_u~0.base, __ieee754_atan2_~#ew_u~0.offset, 4);__ieee754_atan2_~lx~0 := __ieee754_atan2_#t~mem29;call write~real(__ieee754_atan2_#t~union30, __ieee754_atan2_~#ew_u~0.base, __ieee754_atan2_~#ew_u~0.offset, 8);havoc __ieee754_atan2_#t~mem29;havoc __ieee754_atan2_#t~union30;call ULTIMATE.dealloc(__ieee754_atan2_~#ew_u~0.base, __ieee754_atan2_~#ew_u~0.offset);havoc __ieee754_atan2_~#ew_u~0.base, __ieee754_atan2_~#ew_u~0.offset; VAL [ULTIMATE.start___ieee754_atan2_~hx~1=0, ULTIMATE.start___ieee754_atan2_~lx~0=33, ULTIMATE.start___ieee754_atan2_~x=2.0, ULTIMATE.start___ieee754_atan2_~y=3.0, ULTIMATE.start_isfinite_double_~hx~3=3504, ULTIMATE.start_isfinite_double_~x=3.0, ULTIMATE.start_isinf_double_~hx~2=2146435072, ULTIMATE.start_isinf_double_~lx~1=2278, ULTIMATE.start_isinf_double_~x=2.0, ULTIMATE.start_main_~x~0=2.0, ULTIMATE.start_main_~y~0=3.0, |#NULL.base|=0, |#NULL.offset|=0, |ULTIMATE.start___ieee754_atan2_#in~x|=2.0, |ULTIMATE.start___ieee754_atan2_#in~y|=3.0, |ULTIMATE.start_isfinite_double_#in~x|=3.0, |ULTIMATE.start_isfinite_double_#res|=1, |ULTIMATE.start_isinf_double_#in~x|=2.0, |ULTIMATE.start_isinf_double_#res|=(- 1), |~#aT_atan~0.base|=6, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=5, |~#atanhi_atan~0.offset|=0, |~#atanlo_atan~0.base|=3, |~#atanlo_atan~0.offset|=0, ~huge_atan~0=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0, ~one_atan~0=1.0, ~pi_lo_atan2~0=(/ 3061616997868382943.0 25000000000000000000000000000000000.0), ~pi_o_2~0=(/ 785398163397448279.0 500000000000000000.0), ~pi_o_4~0=(/ 785398163397448279.0 1000000000000000000.0), ~pi~0=(/ 785398163397448279.0 250000000000000000.0), ~tiny_atan2~0=(/ 1.0 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0), ~zero_atan2~0=0.0] [?] goto; VAL [ULTIMATE.start___ieee754_atan2_~hx~1=0, ULTIMATE.start___ieee754_atan2_~lx~0=33, ULTIMATE.start___ieee754_atan2_~x=2.0, ULTIMATE.start___ieee754_atan2_~y=3.0, ULTIMATE.start_isfinite_double_~hx~3=3504, ULTIMATE.start_isfinite_double_~x=3.0, ULTIMATE.start_isinf_double_~hx~2=2146435072, ULTIMATE.start_isinf_double_~lx~1=2278, ULTIMATE.start_isinf_double_~x=2.0, ULTIMATE.start_main_~x~0=2.0, ULTIMATE.start_main_~y~0=3.0, |#NULL.base|=0, |#NULL.offset|=0, |ULTIMATE.start___ieee754_atan2_#in~x|=2.0, |ULTIMATE.start___ieee754_atan2_#in~y|=3.0, |ULTIMATE.start_isfinite_double_#in~x|=3.0, |ULTIMATE.start_isfinite_double_#res|=1, |ULTIMATE.start_isinf_double_#in~x|=2.0, |ULTIMATE.start_isinf_double_#res|=(- 1), |~#aT_atan~0.base|=6, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=5, |~#atanhi_atan~0.offset|=0, |~#atanlo_atan~0.base|=3, |~#atanlo_atan~0.offset|=0, ~huge_atan~0=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0, ~one_atan~0=1.0, ~pi_lo_atan2~0=(/ 3061616997868382943.0 25000000000000000000000000000000000.0), ~pi_o_2~0=(/ 785398163397448279.0 500000000000000000.0), ~pi_o_4~0=(/ 785398163397448279.0 1000000000000000000.0), ~pi~0=(/ 785398163397448279.0 250000000000000000.0), ~tiny_atan2~0=(/ 1.0 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0), ~zero_atan2~0=0.0] [?] __ieee754_atan2_~ix~1 := ~bitwiseAnd(__ieee754_atan2_~hx~1, 2147483647); VAL [ULTIMATE.start___ieee754_atan2_~hx~1=0, ULTIMATE.start___ieee754_atan2_~lx~0=33, ULTIMATE.start___ieee754_atan2_~x=2.0, ULTIMATE.start___ieee754_atan2_~y=3.0, ULTIMATE.start_isfinite_double_~hx~3=3504, ULTIMATE.start_isfinite_double_~x=3.0, ULTIMATE.start_isinf_double_~hx~2=2146435072, ULTIMATE.start_isinf_double_~lx~1=2278, ULTIMATE.start_isinf_double_~x=2.0, ULTIMATE.start_main_~x~0=2.0, ULTIMATE.start_main_~y~0=3.0, |#NULL.base|=0, |#NULL.offset|=0, |ULTIMATE.start___ieee754_atan2_#in~x|=2.0, |ULTIMATE.start___ieee754_atan2_#in~y|=3.0, |ULTIMATE.start_isfinite_double_#in~x|=3.0, |ULTIMATE.start_isfinite_double_#res|=1, |ULTIMATE.start_isinf_double_#in~x|=2.0, |ULTIMATE.start_isinf_double_#res|=(- 1), |~#aT_atan~0.base|=6, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=5, |~#atanhi_atan~0.offset|=0, |~#atanlo_atan~0.base|=3, |~#atanlo_atan~0.offset|=0, ~huge_atan~0=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0, ~one_atan~0=1.0, ~pi_lo_atan2~0=(/ 3061616997868382943.0 25000000000000000000000000000000000.0), ~pi_o_2~0=(/ 785398163397448279.0 500000000000000000.0), ~pi_o_4~0=(/ 785398163397448279.0 1000000000000000000.0), ~pi~0=(/ 785398163397448279.0 250000000000000000.0), ~tiny_atan2~0=(/ 1.0 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0), ~zero_atan2~0=0.0] [?] call __ieee754_atan2_~#ew_u~1.base, __ieee754_atan2_~#ew_u~1.offset := #Ultimate.alloc(8);call write~real(__ieee754_atan2_~y, __ieee754_atan2_~#ew_u~1.base, __ieee754_atan2_~#ew_u~1.offset, 8);call __ieee754_atan2_#t~mem31 := read~int(__ieee754_atan2_~#ew_u~1.base, 4 + __ieee754_atan2_~#ew_u~1.offset, 4);__ieee754_atan2_~hy~0 := (if __ieee754_atan2_#t~mem31 % 4294967296 % 4294967296 <= 2147483647 then __ieee754_atan2_#t~mem31 % 4294967296 % 4294967296 else __ieee754_atan2_#t~mem31 % 4294967296 % 4294967296 - 4294967296);call write~real(__ieee754_atan2_#t~union32, __ieee754_atan2_~#ew_u~1.base, __ieee754_atan2_~#ew_u~1.offset, 8);havoc __ieee754_atan2_#t~mem31;havoc __ieee754_atan2_#t~union32;call __ieee754_atan2_#t~mem33 := read~int(__ieee754_atan2_~#ew_u~1.base, __ieee754_atan2_~#ew_u~1.offset, 4);__ieee754_atan2_~ly~0 := __ieee754_atan2_#t~mem33;call write~real(__ieee754_atan2_#t~union34, __ieee754_atan2_~#ew_u~1.base, __ieee754_atan2_~#ew_u~1.offset, 8);havoc __ieee754_atan2_#t~union34;havoc __ieee754_atan2_#t~mem33;call ULTIMATE.dealloc(__ieee754_atan2_~#ew_u~1.base, __ieee754_atan2_~#ew_u~1.offset);havoc __ieee754_atan2_~#ew_u~1.base, __ieee754_atan2_~#ew_u~1.offset; VAL [ULTIMATE.start___ieee754_atan2_~hx~1=0, ULTIMATE.start___ieee754_atan2_~hy~0=0, ULTIMATE.start___ieee754_atan2_~lx~0=33, ULTIMATE.start___ieee754_atan2_~ly~0=26, ULTIMATE.start___ieee754_atan2_~x=2.0, ULTIMATE.start___ieee754_atan2_~y=3.0, ULTIMATE.start_isfinite_double_~hx~3=3504, ULTIMATE.start_isfinite_double_~x=3.0, ULTIMATE.start_isinf_double_~hx~2=2146435072, ULTIMATE.start_isinf_double_~lx~1=2278, ULTIMATE.start_isinf_double_~x=2.0, ULTIMATE.start_main_~x~0=2.0, ULTIMATE.start_main_~y~0=3.0, |#NULL.base|=0, |#NULL.offset|=0, |ULTIMATE.start___ieee754_atan2_#in~x|=2.0, |ULTIMATE.start___ieee754_atan2_#in~y|=3.0, |ULTIMATE.start_isfinite_double_#in~x|=3.0, |ULTIMATE.start_isfinite_double_#res|=1, |ULTIMATE.start_isinf_double_#in~x|=2.0, |ULTIMATE.start_isinf_double_#res|=(- 1), |~#aT_atan~0.base|=6, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=5, |~#atanhi_atan~0.offset|=0, |~#atanlo_atan~0.base|=3, |~#atanlo_atan~0.offset|=0, ~huge_atan~0=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0, ~one_atan~0=1.0, ~pi_lo_atan2~0=(/ 3061616997868382943.0 25000000000000000000000000000000000.0), ~pi_o_2~0=(/ 785398163397448279.0 500000000000000000.0), ~pi_o_4~0=(/ 785398163397448279.0 1000000000000000000.0), ~pi~0=(/ 785398163397448279.0 250000000000000000.0), ~tiny_atan2~0=(/ 1.0 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0), ~zero_atan2~0=0.0] [?] goto; VAL [ULTIMATE.start___ieee754_atan2_~hx~1=0, ULTIMATE.start___ieee754_atan2_~hy~0=0, ULTIMATE.start___ieee754_atan2_~lx~0=33, ULTIMATE.start___ieee754_atan2_~ly~0=26, ULTIMATE.start___ieee754_atan2_~x=2.0, ULTIMATE.start___ieee754_atan2_~y=3.0, ULTIMATE.start_isfinite_double_~hx~3=3504, ULTIMATE.start_isfinite_double_~x=3.0, ULTIMATE.start_isinf_double_~hx~2=2146435072, ULTIMATE.start_isinf_double_~lx~1=2278, ULTIMATE.start_isinf_double_~x=2.0, ULTIMATE.start_main_~x~0=2.0, ULTIMATE.start_main_~y~0=3.0, |#NULL.base|=0, |#NULL.offset|=0, |ULTIMATE.start___ieee754_atan2_#in~x|=2.0, |ULTIMATE.start___ieee754_atan2_#in~y|=3.0, |ULTIMATE.start_isfinite_double_#in~x|=3.0, |ULTIMATE.start_isfinite_double_#res|=1, |ULTIMATE.start_isinf_double_#in~x|=2.0, |ULTIMATE.start_isinf_double_#res|=(- 1), |~#aT_atan~0.base|=6, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=5, |~#atanhi_atan~0.offset|=0, |~#atanlo_atan~0.base|=3, |~#atanlo_atan~0.offset|=0, ~huge_atan~0=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0, ~one_atan~0=1.0, ~pi_lo_atan2~0=(/ 3061616997868382943.0 25000000000000000000000000000000000.0), ~pi_o_2~0=(/ 785398163397448279.0 500000000000000000.0), ~pi_o_4~0=(/ 785398163397448279.0 1000000000000000000.0), ~pi~0=(/ 785398163397448279.0 250000000000000000.0), ~tiny_atan2~0=(/ 1.0 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0), ~zero_atan2~0=0.0] [?] __ieee754_atan2_~iy~0 := ~bitwiseAnd(__ieee754_atan2_~hy~0, 2147483647); VAL [ULTIMATE.start___ieee754_atan2_~hx~1=0, ULTIMATE.start___ieee754_atan2_~hy~0=0, ULTIMATE.start___ieee754_atan2_~lx~0=33, ULTIMATE.start___ieee754_atan2_~ly~0=26, ULTIMATE.start___ieee754_atan2_~x=2.0, ULTIMATE.start___ieee754_atan2_~y=3.0, ULTIMATE.start_isfinite_double_~hx~3=3504, ULTIMATE.start_isfinite_double_~x=3.0, ULTIMATE.start_isinf_double_~hx~2=2146435072, ULTIMATE.start_isinf_double_~lx~1=2278, ULTIMATE.start_isinf_double_~x=2.0, ULTIMATE.start_main_~x~0=2.0, ULTIMATE.start_main_~y~0=3.0, |#NULL.base|=0, |#NULL.offset|=0, |ULTIMATE.start___ieee754_atan2_#in~x|=2.0, |ULTIMATE.start___ieee754_atan2_#in~y|=3.0, |ULTIMATE.start_isfinite_double_#in~x|=3.0, |ULTIMATE.start_isfinite_double_#res|=1, |ULTIMATE.start_isinf_double_#in~x|=2.0, |ULTIMATE.start_isinf_double_#res|=(- 1), |~#aT_atan~0.base|=6, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=5, |~#atanhi_atan~0.offset|=0, |~#atanlo_atan~0.base|=3, |~#atanlo_atan~0.offset|=0, ~huge_atan~0=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0, ~one_atan~0=1.0, ~pi_lo_atan2~0=(/ 3061616997868382943.0 25000000000000000000000000000000000.0), ~pi_o_2~0=(/ 785398163397448279.0 500000000000000000.0), ~pi_o_4~0=(/ 785398163397448279.0 1000000000000000000.0), ~pi~0=(/ 785398163397448279.0 250000000000000000.0), ~tiny_atan2~0=(/ 1.0 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0), ~zero_atan2~0=0.0] [?] assume ~bitwiseOr(__ieee754_atan2_~ix~1, ~bitwiseOr(__ieee754_atan2_~lx~0, -__ieee754_atan2_~lx~0) / 2147483648) % 4294967296 > 2146435072 || ~bitwiseOr(__ieee754_atan2_~iy~0, ~bitwiseOr(__ieee754_atan2_~ly~0, -__ieee754_atan2_~ly~0) / 2147483648) % 4294967296 > 2146435072;__ieee754_atan2_#res := ~someBinaryArithmeticDOUBLEoperation(__ieee754_atan2_~x, __ieee754_atan2_~y); VAL [ULTIMATE.start___ieee754_atan2_~hx~1=0, ULTIMATE.start___ieee754_atan2_~hy~0=0, ULTIMATE.start___ieee754_atan2_~lx~0=33, ULTIMATE.start___ieee754_atan2_~ly~0=26, ULTIMATE.start___ieee754_atan2_~x=2.0, ULTIMATE.start___ieee754_atan2_~y=3.0, ULTIMATE.start_isfinite_double_~hx~3=3504, ULTIMATE.start_isfinite_double_~x=3.0, ULTIMATE.start_isinf_double_~hx~2=2146435072, ULTIMATE.start_isinf_double_~lx~1=2278, ULTIMATE.start_isinf_double_~x=2.0, ULTIMATE.start_main_~x~0=2.0, ULTIMATE.start_main_~y~0=3.0, |#NULL.base|=0, |#NULL.offset|=0, |ULTIMATE.start___ieee754_atan2_#in~x|=2.0, |ULTIMATE.start___ieee754_atan2_#in~y|=3.0, |ULTIMATE.start_isfinite_double_#in~x|=3.0, |ULTIMATE.start_isfinite_double_#res|=1, |ULTIMATE.start_isinf_double_#in~x|=2.0, |ULTIMATE.start_isinf_double_#res|=(- 1), |~#aT_atan~0.base|=6, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=5, |~#atanhi_atan~0.offset|=0, |~#atanlo_atan~0.base|=3, |~#atanlo_atan~0.offset|=0, ~huge_atan~0=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0, ~one_atan~0=1.0, ~pi_lo_atan2~0=(/ 3061616997868382943.0 25000000000000000000000000000000000.0), ~pi_o_2~0=(/ 785398163397448279.0 500000000000000000.0), ~pi_o_4~0=(/ 785398163397448279.0 1000000000000000000.0), ~pi~0=(/ 785398163397448279.0 250000000000000000.0), ~tiny_atan2~0=(/ 1.0 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0), ~zero_atan2~0=0.0] [?] main_#t~ret58 := __ieee754_atan2_#res;main_~res~0 := main_#t~ret58;havoc main_#t~ret58; VAL [ULTIMATE.start___ieee754_atan2_~hx~1=0, ULTIMATE.start___ieee754_atan2_~hy~0=0, ULTIMATE.start___ieee754_atan2_~lx~0=33, ULTIMATE.start___ieee754_atan2_~ly~0=26, ULTIMATE.start___ieee754_atan2_~x=2.0, ULTIMATE.start___ieee754_atan2_~y=3.0, ULTIMATE.start_isfinite_double_~hx~3=3504, ULTIMATE.start_isfinite_double_~x=3.0, ULTIMATE.start_isinf_double_~hx~2=2146435072, ULTIMATE.start_isinf_double_~lx~1=2278, ULTIMATE.start_isinf_double_~x=2.0, ULTIMATE.start_main_~res~0=7.0, ULTIMATE.start_main_~x~0=2.0, ULTIMATE.start_main_~y~0=3.0, |#NULL.base|=0, |#NULL.offset|=0, |ULTIMATE.start___ieee754_atan2_#in~x|=2.0, |ULTIMATE.start___ieee754_atan2_#in~y|=3.0, |ULTIMATE.start___ieee754_atan2_#res|=7.0, |ULTIMATE.start_isfinite_double_#in~x|=3.0, |ULTIMATE.start_isfinite_double_#res|=1, |ULTIMATE.start_isinf_double_#in~x|=2.0, |ULTIMATE.start_isinf_double_#res|=(- 1), |~#aT_atan~0.base|=6, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=5, |~#atanhi_atan~0.offset|=0, |~#atanlo_atan~0.base|=3, |~#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 ~someBinaryDOUBLEComparisonOperation(main_~res~0, ~pi~0); VAL [ULTIMATE.start___ieee754_atan2_~hx~1=0, ULTIMATE.start___ieee754_atan2_~hy~0=0, ULTIMATE.start___ieee754_atan2_~lx~0=33, ULTIMATE.start___ieee754_atan2_~ly~0=26, ULTIMATE.start___ieee754_atan2_~x=2.0, ULTIMATE.start___ieee754_atan2_~y=3.0, ULTIMATE.start_isfinite_double_~hx~3=3504, ULTIMATE.start_isfinite_double_~x=3.0, ULTIMATE.start_isinf_double_~hx~2=2146435072, ULTIMATE.start_isinf_double_~lx~1=2278, ULTIMATE.start_isinf_double_~x=2.0, ULTIMATE.start_main_~res~0=7.0, ULTIMATE.start_main_~x~0=2.0, ULTIMATE.start_main_~y~0=3.0, |#NULL.base|=0, |#NULL.offset|=0, |ULTIMATE.start___ieee754_atan2_#in~x|=2.0, |ULTIMATE.start___ieee754_atan2_#in~y|=3.0, |ULTIMATE.start___ieee754_atan2_#res|=7.0, |ULTIMATE.start_isfinite_double_#in~x|=3.0, |ULTIMATE.start_isfinite_double_#res|=1, |ULTIMATE.start_isinf_double_#in~x|=2.0, |ULTIMATE.start_isinf_double_#res|=(- 1), |~#aT_atan~0.base|=6, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=5, |~#atanhi_atan~0.offset|=0, |~#atanlo_atan~0.base|=3, |~#atanlo_atan~0.offset|=0, ~huge_atan~0=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0, ~one_atan~0=1.0, ~pi_lo_atan2~0=(/ 3061616997868382943.0 25000000000000000000000000000000000.0), ~pi_o_2~0=(/ 785398163397448279.0 500000000000000000.0), ~pi_o_4~0=(/ 785398163397448279.0 1000000000000000000.0), ~pi~0=(/ 785398163397448279.0 250000000000000000.0), ~tiny_atan2~0=(/ 1.0 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0), ~zero_atan2~0=0.0] [?] assume !false; VAL [ULTIMATE.start___ieee754_atan2_~hx~1=0, ULTIMATE.start___ieee754_atan2_~hy~0=0, ULTIMATE.start___ieee754_atan2_~lx~0=33, ULTIMATE.start___ieee754_atan2_~ly~0=26, ULTIMATE.start___ieee754_atan2_~x=2.0, ULTIMATE.start___ieee754_atan2_~y=3.0, ULTIMATE.start_isfinite_double_~hx~3=3504, ULTIMATE.start_isfinite_double_~x=3.0, ULTIMATE.start_isinf_double_~hx~2=2146435072, ULTIMATE.start_isinf_double_~lx~1=2278, ULTIMATE.start_isinf_double_~x=2.0, ULTIMATE.start_main_~res~0=7.0, ULTIMATE.start_main_~x~0=2.0, ULTIMATE.start_main_~y~0=3.0, |#NULL.base|=0, |#NULL.offset|=0, |ULTIMATE.start___ieee754_atan2_#in~x|=2.0, |ULTIMATE.start___ieee754_atan2_#in~y|=3.0, |ULTIMATE.start___ieee754_atan2_#res|=7.0, |ULTIMATE.start_isfinite_double_#in~x|=3.0, |ULTIMATE.start_isfinite_double_#res|=1, |ULTIMATE.start_isinf_double_#in~x|=2.0, |ULTIMATE.start_isinf_double_#res|=(- 1), |~#aT_atan~0.base|=6, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=5, |~#atanhi_atan~0.offset|=0, |~#atanlo_atan~0.base|=3, |~#atanlo_atan~0.offset|=0, ~huge_atan~0=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0, ~one_atan~0=1.0, ~pi_lo_atan2~0=(/ 3061616997868382943.0 25000000000000000000000000000000000.0), ~pi_o_2~0=(/ 785398163397448279.0 500000000000000000.0), ~pi_o_4~0=(/ 785398163397448279.0 1000000000000000000.0), ~pi~0=(/ 785398163397448279.0 250000000000000000.0), ~tiny_atan2~0=(/ 1.0 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0), ~zero_atan2~0=0.0] [?] #NULL.base, #NULL.offset := 0, 0; [?] #valid := #valid[0 := 0]; [L37-L42] call ~#atanhi_atan~0.base, ~#atanhi_atan~0.offset := #Ultimate.alloc(32); [L37-L42] call write~init~real(0.4636476090008061, ~#atanhi_atan~0.base, ~#atanhi_atan~0.offset, 8); [L37-L42] call write~init~real(0.7853981633974483, ~#atanhi_atan~0.base, 8 + ~#atanhi_atan~0.offset, 8); [L37-L42] call write~init~real(0.982793723247329, ~#atanhi_atan~0.base, 16 + ~#atanhi_atan~0.offset, 8); [L37-L42] call write~init~real(1.5707963267948966, ~#atanhi_atan~0.base, 24 + ~#atanhi_atan~0.offset, 8); [L44-L49] call ~#atanlo_atan~0.base, ~#atanlo_atan~0.offset := #Ultimate.alloc(32); [L44-L49] call write~init~real(2.2698777452961687E-17, ~#atanlo_atan~0.base, ~#atanlo_atan~0.offset, 8); [L44-L49] call write~init~real(3.061616997868383E-17, ~#atanlo_atan~0.base, 8 + ~#atanlo_atan~0.offset, 8); [L44-L49] call write~init~real(1.3903311031230998E-17, ~#atanlo_atan~0.base, 16 + ~#atanlo_atan~0.offset, 8); [L44-L49] call write~init~real(6.123233995736766E-17, ~#atanlo_atan~0.base, 24 + ~#atanlo_atan~0.offset, 8); [L51-L58] call ~#aT_atan~0.base, ~#aT_atan~0.offset := #Ultimate.alloc(88); [L51-L58] call write~init~real(0.3333333333333293, ~#aT_atan~0.base, ~#aT_atan~0.offset, 8); [L51-L58] call write~init~real(~someUnaryDOUBLEoperation(0.19999999999876483), ~#aT_atan~0.base, 8 + ~#aT_atan~0.offset, 8); [L51-L58] call write~init~real(0.14285714272503466, ~#aT_atan~0.base, 16 + ~#aT_atan~0.offset, 8); [L51-L58] call write~init~real(~someUnaryDOUBLEoperation(0.11111110405462356), ~#aT_atan~0.base, 24 + ~#aT_atan~0.offset, 8); [L51-L58] call write~init~real(0.09090887133436507, ~#aT_atan~0.base, 32 + ~#aT_atan~0.offset, 8); [L51-L58] call write~init~real(~someUnaryDOUBLEoperation(0.0769187620504483), ~#aT_atan~0.base, 40 + ~#aT_atan~0.offset, 8); [L51-L58] call write~init~real(0.06661073137387531, ~#aT_atan~0.base, 48 + ~#aT_atan~0.offset, 8); [L51-L58] call write~init~real(~someUnaryDOUBLEoperation(0.058335701337905735), ~#aT_atan~0.base, 56 + ~#aT_atan~0.offset, 8); [L51-L58] call write~init~real(0.049768779946159324, ~#aT_atan~0.base, 64 + ~#aT_atan~0.offset, 8); [L51-L58] call write~init~real(~someUnaryDOUBLEoperation(0.036531572744216916), ~#aT_atan~0.base, 72 + ~#aT_atan~0.offset, 8); [L51-L58] call write~init~real(0.016285820115365782, ~#aT_atan~0.base, 80 + ~#aT_atan~0.offset, 8); [L60-L62] ~one_atan~0 := 1.0; [L60-L62] ~pi_o_4~0 := 0.7853981633974483; [L60-L62] ~pi_o_2~0 := 1.5707963267948966; [L60-L62] ~pi~0 := 3.141592653589793; [L60-L62] ~huge_atan~0 := 1.0E300; [L139-L140] ~tiny_atan2~0 := 1.0E-300; [L139-L140] ~zero_atan2~0 := 0.0; [L139-L140] ~pi_lo_atan2~0 := 1.2246467991473532E-16; [?] havoc main_#res; [?] havoc main_#t~nondet54, main_#t~ret55, main_#t~ret56, main_#t~short57, main_#t~ret58, main_~res~0, main_~x~0, main_~y~0; [L276] main_~x~0 := ~someBinaryArithmeticDOUBLEoperation(~someUnaryDOUBLEoperation(1.0), 0.0); [L277] main_~y~0 := main_#t~nondet54; [L277] havoc main_#t~nondet54; [L279] isinf_double_#in~x := main_~x~0; [L279] havoc isinf_double_#res; [L279] havoc isinf_double_#t~mem48, isinf_double_#t~union49, isinf_double_#t~mem50, isinf_double_#t~union51, isinf_double_~#ew_u~2.base, isinf_double_~#ew_u~2.offset, isinf_double_~x, isinf_double_~hx~2, isinf_double_~lx~1; [L245-L257] isinf_double_~x := isinf_double_#in~x; [L246] havoc isinf_double_~hx~2; [L246] havoc isinf_double_~lx~1; VAL [#NULL.base=0, #NULL.offset=0, isinf_double_#in~x=2.0, isinf_double_~x=2.0, main_~x~0=2.0, ~#aT_atan~0.base=6, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=5, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=3, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [L248] call isinf_double_~#ew_u~2.base, isinf_double_~#ew_u~2.offset := #Ultimate.alloc(8); [L249] call write~real(isinf_double_~x, isinf_double_~#ew_u~2.base, isinf_double_~#ew_u~2.offset, 8); [L250] call isinf_double_#t~mem48 := read~int(isinf_double_~#ew_u~2.base, 4 + isinf_double_~#ew_u~2.offset, 4); [L250] isinf_double_~hx~2 := (if isinf_double_#t~mem48 % 4294967296 % 4294967296 <= 2147483647 then isinf_double_#t~mem48 % 4294967296 % 4294967296 else isinf_double_#t~mem48 % 4294967296 % 4294967296 - 4294967296); [L250] call write~real(isinf_double_#t~union49, isinf_double_~#ew_u~2.base, isinf_double_~#ew_u~2.offset, 8); [L250] havoc isinf_double_#t~mem48; [L250] havoc isinf_double_#t~union49; [L251] call isinf_double_#t~mem50 := read~int(isinf_double_~#ew_u~2.base, isinf_double_~#ew_u~2.offset, 4); [L251] isinf_double_~lx~1 := (if isinf_double_#t~mem50 % 4294967296 % 4294967296 <= 2147483647 then isinf_double_#t~mem50 % 4294967296 % 4294967296 else isinf_double_#t~mem50 % 4294967296 % 4294967296 - 4294967296); [L251] call write~real(isinf_double_#t~union51, isinf_double_~#ew_u~2.base, isinf_double_~#ew_u~2.offset, 8); [L251] havoc isinf_double_#t~mem50; [L251] havoc isinf_double_#t~union51; [L248] call ULTIMATE.dealloc(isinf_double_~#ew_u~2.base, isinf_double_~#ew_u~2.offset); [L248] havoc isinf_double_~#ew_u~2.base, isinf_double_~#ew_u~2.offset; VAL [#NULL.base=0, #NULL.offset=0, isinf_double_#in~x=2.0, isinf_double_~hx~2=0, isinf_double_~lx~1=2278, isinf_double_~x=2.0, main_~x~0=2.0, ~#aT_atan~0.base=6, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=5, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=3, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [L253] isinf_double_~hx~2 := ~bitwiseAnd(isinf_double_~hx~2, 2147483647); [L254] isinf_double_~hx~2 := (if ~bitwiseOr(isinf_double_~hx~2, ~bitwiseOr(isinf_double_~lx~1, -isinf_double_~lx~1) / 2147483648) % 4294967296 % 4294967296 <= 2147483647 then ~bitwiseOr(isinf_double_~hx~2, ~bitwiseOr(isinf_double_~lx~1, -isinf_double_~lx~1) / 2147483648) % 4294967296 % 4294967296 else ~bitwiseOr(isinf_double_~hx~2, ~bitwiseOr(isinf_double_~lx~1, -isinf_double_~lx~1) / 2147483648) % 4294967296 % 4294967296 - 4294967296); [L255] isinf_double_~hx~2 := 2146435072 - isinf_double_~hx~2; [L256] isinf_double_#res := 1 - (if ~bitwiseOr(isinf_double_~hx~2, -isinf_double_~hx~2) / 2147483648 % 4294967296 % 4294967296 <= 2147483647 then ~bitwiseOr(isinf_double_~hx~2, -isinf_double_~hx~2) / 2147483648 % 4294967296 % 4294967296 else ~bitwiseOr(isinf_double_~hx~2, -isinf_double_~hx~2) / 2147483648 % 4294967296 % 4294967296 - 4294967296); [L279] main_#t~ret55 := isinf_double_#res; [L279] assume -2147483648 <= main_#t~ret55 && main_#t~ret55 <= 2147483647; [L279] main_#t~short57 := 0 != main_#t~ret55; VAL [#NULL.base=0, #NULL.offset=0, isinf_double_#in~x=2.0, isinf_double_#res=-1, isinf_double_~hx~2=2146435072, isinf_double_~lx~1=2278, isinf_double_~x=2.0, main_#t~ret55=-1, main_#t~short57=true, main_~x~0=2.0, ~#aT_atan~0.base=6, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=5, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=3, ~#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] [L279] assume main_#t~short57; [L279] isfinite_double_#in~x := main_~y~0; [L279] havoc isfinite_double_#res; [L279] havoc isfinite_double_#t~mem52, isfinite_double_#t~union53, isfinite_double_~#gh_u~3.base, isfinite_double_~#gh_u~3.offset, isfinite_double_~x, isfinite_double_~hx~3; [L259-L267] isfinite_double_~x := isfinite_double_#in~x; [L260] havoc isfinite_double_~hx~3; VAL [#NULL.base=0, #NULL.offset=0, isfinite_double_#in~x=3.0, isfinite_double_~x=3.0, isinf_double_#in~x=2.0, isinf_double_#res=-1, isinf_double_~hx~2=2146435072, isinf_double_~lx~1=2278, isinf_double_~x=2.0, main_#t~ret55=-1, main_#t~short57=true, main_~x~0=2.0, main_~y~0=3.0, ~#aT_atan~0.base=6, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=5, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=3, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [L262] call isfinite_double_~#gh_u~3.base, isfinite_double_~#gh_u~3.offset := #Ultimate.alloc(8); [L263] call write~real(isfinite_double_~x, isfinite_double_~#gh_u~3.base, isfinite_double_~#gh_u~3.offset, 8); [L264] call isfinite_double_#t~mem52 := read~int(isfinite_double_~#gh_u~3.base, 4 + isfinite_double_~#gh_u~3.offset, 4); [L264] isfinite_double_~hx~3 := (if isfinite_double_#t~mem52 % 4294967296 % 4294967296 <= 2147483647 then isfinite_double_#t~mem52 % 4294967296 % 4294967296 else isfinite_double_#t~mem52 % 4294967296 % 4294967296 - 4294967296); [L264] call write~real(isfinite_double_#t~union53, isfinite_double_~#gh_u~3.base, isfinite_double_~#gh_u~3.offset, 8); [L264] havoc isfinite_double_#t~union53; [L264] havoc isfinite_double_#t~mem52; [L262] call ULTIMATE.dealloc(isfinite_double_~#gh_u~3.base, isfinite_double_~#gh_u~3.offset); [L262] havoc isfinite_double_~#gh_u~3.base, isfinite_double_~#gh_u~3.offset; VAL [#NULL.base=0, #NULL.offset=0, isfinite_double_#in~x=3.0, isfinite_double_~hx~3=3504, isfinite_double_~x=3.0, isinf_double_#in~x=2.0, isinf_double_#res=-1, isinf_double_~hx~2=2146435072, isinf_double_~lx~1=2278, isinf_double_~x=2.0, main_#t~ret55=-1, main_#t~short57=true, main_~x~0=2.0, main_~y~0=3.0, ~#aT_atan~0.base=6, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=5, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=3, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [L266] isfinite_double_#res := (if (~bitwiseAnd(isfinite_double_~hx~3, 2147483647) - 2146435072) / 2147483648 % 4294967296 % 4294967296 <= 2147483647 then (~bitwiseAnd(isfinite_double_~hx~3, 2147483647) - 2146435072) / 2147483648 % 4294967296 % 4294967296 else (~bitwiseAnd(isfinite_double_~hx~3, 2147483647) - 2146435072) / 2147483648 % 4294967296 % 4294967296 - 4294967296); [L279] main_#t~ret56 := isfinite_double_#res; [L279] assume -2147483648 <= main_#t~ret56 && main_#t~ret56 <= 2147483647; [L279] main_#t~short57 := 0 != main_#t~ret56; VAL [#NULL.base=0, #NULL.offset=0, isfinite_double_#in~x=3.0, isfinite_double_#res=1, isfinite_double_~hx~3=3504, isfinite_double_~x=3.0, isinf_double_#in~x=2.0, isinf_double_#res=-1, isinf_double_~hx~2=2146435072, isinf_double_~lx~1=2278, isinf_double_~x=2.0, main_#t~ret55=-1, main_#t~ret56=1, main_#t~short57=true, main_~x~0=2.0, main_~y~0=3.0, ~#aT_atan~0.base=6, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=5, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=3, ~#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] [L279-L288] assume main_#t~short57 && ~someBinaryDOUBLEComparisonOperation(main_~y~0, 0.0); [L279] havoc main_#t~ret56; [L279] havoc main_#t~short57; [L279] havoc main_#t~ret55; [L281] __ieee754_atan2_#in~y, __ieee754_atan2_#in~x := main_~y~0, main_~x~0; [L281] havoc __ieee754_atan2_#res; [L281] havoc __ieee754_atan2_#t~mem27, __ieee754_atan2_#t~union28, __ieee754_atan2_#t~mem29, __ieee754_atan2_#t~union30, __ieee754_atan2_~#ew_u~0.base, __ieee754_atan2_~#ew_u~0.offset, __ieee754_atan2_#t~mem31, __ieee754_atan2_#t~union32, __ieee754_atan2_#t~mem33, __ieee754_atan2_#t~union34, __ieee754_atan2_~#ew_u~1.base, __ieee754_atan2_~#ew_u~1.offset, __ieee754_atan2_#t~ret35, __ieee754_atan2_#t~switch36, __ieee754_atan2_#t~ite37, __ieee754_atan2_#t~switch38, __ieee754_atan2_#t~switch39, __ieee754_atan2_#t~ite40, __ieee754_atan2_#t~ret41, __ieee754_atan2_#t~ret42, __ieee754_atan2_#t~switch43, __ieee754_atan2_#t~mem44, __ieee754_atan2_#t~union45, __ieee754_atan2_~#gh_u~2.base, __ieee754_atan2_~#gh_u~2.offset, __ieee754_atan2_#t~mem46, __ieee754_atan2_#t~union47.lsw, __ieee754_atan2_#t~union47.msw, __ieee754_atan2_~#sh_u~1.base, __ieee754_atan2_~#sh_u~1.offset, __ieee754_atan2_~zh~0, __ieee754_atan2_~y, __ieee754_atan2_~x, __ieee754_atan2_~z~1, __ieee754_atan2_~k~0, __ieee754_atan2_~m~0, __ieee754_atan2_~hx~1, __ieee754_atan2_~hy~0, __ieee754_atan2_~ix~1, __ieee754_atan2_~iy~0, __ieee754_atan2_~lx~0, __ieee754_atan2_~ly~0; [L142-L242] __ieee754_atan2_~y := __ieee754_atan2_#in~y; [L142-L242] __ieee754_atan2_~x := __ieee754_atan2_#in~x; [L143] havoc __ieee754_atan2_~z~1; [L144] havoc __ieee754_atan2_~k~0; [L144] havoc __ieee754_atan2_~m~0; [L144] havoc __ieee754_atan2_~hx~1; [L144] havoc __ieee754_atan2_~hy~0; [L144] havoc __ieee754_atan2_~ix~1; [L144] havoc __ieee754_atan2_~iy~0; [L145] havoc __ieee754_atan2_~lx~0; [L145] havoc __ieee754_atan2_~ly~0; VAL [#NULL.base=0, #NULL.offset=0, __ieee754_atan2_#in~x=2.0, __ieee754_atan2_#in~y=3.0, __ieee754_atan2_~x=2.0, __ieee754_atan2_~y=3.0, isfinite_double_#in~x=3.0, isfinite_double_#res=1, isfinite_double_~hx~3=3504, isfinite_double_~x=3.0, isinf_double_#in~x=2.0, isinf_double_#res=-1, isinf_double_~hx~2=2146435072, isinf_double_~lx~1=2278, isinf_double_~x=2.0, main_~x~0=2.0, main_~y~0=3.0, ~#aT_atan~0.base=6, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=5, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=3, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [L148] call __ieee754_atan2_~#ew_u~0.base, __ieee754_atan2_~#ew_u~0.offset := #Ultimate.alloc(8); [L149] call write~real(__ieee754_atan2_~x, __ieee754_atan2_~#ew_u~0.base, __ieee754_atan2_~#ew_u~0.offset, 8); [L150] call __ieee754_atan2_#t~mem27 := read~int(__ieee754_atan2_~#ew_u~0.base, 4 + __ieee754_atan2_~#ew_u~0.offset, 4); [L150] __ieee754_atan2_~hx~1 := (if __ieee754_atan2_#t~mem27 % 4294967296 % 4294967296 <= 2147483647 then __ieee754_atan2_#t~mem27 % 4294967296 % 4294967296 else __ieee754_atan2_#t~mem27 % 4294967296 % 4294967296 - 4294967296); [L150] call write~real(__ieee754_atan2_#t~union28, __ieee754_atan2_~#ew_u~0.base, __ieee754_atan2_~#ew_u~0.offset, 8); [L150] havoc __ieee754_atan2_#t~mem27; [L150] havoc __ieee754_atan2_#t~union28; [L151] call __ieee754_atan2_#t~mem29 := read~int(__ieee754_atan2_~#ew_u~0.base, __ieee754_atan2_~#ew_u~0.offset, 4); [L151] __ieee754_atan2_~lx~0 := __ieee754_atan2_#t~mem29; [L151] call write~real(__ieee754_atan2_#t~union30, __ieee754_atan2_~#ew_u~0.base, __ieee754_atan2_~#ew_u~0.offset, 8); [L151] havoc __ieee754_atan2_#t~mem29; [L151] havoc __ieee754_atan2_#t~union30; [L148] call ULTIMATE.dealloc(__ieee754_atan2_~#ew_u~0.base, __ieee754_atan2_~#ew_u~0.offset); [L148] havoc __ieee754_atan2_~#ew_u~0.base, __ieee754_atan2_~#ew_u~0.offset; VAL [#NULL.base=0, #NULL.offset=0, __ieee754_atan2_#in~x=2.0, __ieee754_atan2_#in~y=3.0, __ieee754_atan2_~hx~1=0, __ieee754_atan2_~lx~0=33, __ieee754_atan2_~x=2.0, __ieee754_atan2_~y=3.0, isfinite_double_#in~x=3.0, isfinite_double_#res=1, isfinite_double_~hx~3=3504, isfinite_double_~x=3.0, isinf_double_#in~x=2.0, isinf_double_#res=-1, isinf_double_~hx~2=2146435072, isinf_double_~lx~1=2278, isinf_double_~x=2.0, main_~x~0=2.0, main_~y~0=3.0, ~#aT_atan~0.base=6, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=5, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=3, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [L153] __ieee754_atan2_~ix~1 := ~bitwiseAnd(__ieee754_atan2_~hx~1, 2147483647); VAL [#NULL.base=0, #NULL.offset=0, __ieee754_atan2_#in~x=2.0, __ieee754_atan2_#in~y=3.0, __ieee754_atan2_~hx~1=0, __ieee754_atan2_~lx~0=33, __ieee754_atan2_~x=2.0, __ieee754_atan2_~y=3.0, isfinite_double_#in~x=3.0, isfinite_double_#res=1, isfinite_double_~hx~3=3504, isfinite_double_~x=3.0, isinf_double_#in~x=2.0, isinf_double_#res=-1, isinf_double_~hx~2=2146435072, isinf_double_~lx~1=2278, isinf_double_~x=2.0, main_~x~0=2.0, main_~y~0=3.0, ~#aT_atan~0.base=6, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=5, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=3, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [L155] call __ieee754_atan2_~#ew_u~1.base, __ieee754_atan2_~#ew_u~1.offset := #Ultimate.alloc(8); [L156] call write~real(__ieee754_atan2_~y, __ieee754_atan2_~#ew_u~1.base, __ieee754_atan2_~#ew_u~1.offset, 8); [L157] call __ieee754_atan2_#t~mem31 := read~int(__ieee754_atan2_~#ew_u~1.base, 4 + __ieee754_atan2_~#ew_u~1.offset, 4); [L157] __ieee754_atan2_~hy~0 := (if __ieee754_atan2_#t~mem31 % 4294967296 % 4294967296 <= 2147483647 then __ieee754_atan2_#t~mem31 % 4294967296 % 4294967296 else __ieee754_atan2_#t~mem31 % 4294967296 % 4294967296 - 4294967296); [L157] call write~real(__ieee754_atan2_#t~union32, __ieee754_atan2_~#ew_u~1.base, __ieee754_atan2_~#ew_u~1.offset, 8); [L157] havoc __ieee754_atan2_#t~mem31; [L157] havoc __ieee754_atan2_#t~union32; [L158] call __ieee754_atan2_#t~mem33 := read~int(__ieee754_atan2_~#ew_u~1.base, __ieee754_atan2_~#ew_u~1.offset, 4); [L158] __ieee754_atan2_~ly~0 := __ieee754_atan2_#t~mem33; [L158] call write~real(__ieee754_atan2_#t~union34, __ieee754_atan2_~#ew_u~1.base, __ieee754_atan2_~#ew_u~1.offset, 8); [L158] havoc __ieee754_atan2_#t~union34; [L158] havoc __ieee754_atan2_#t~mem33; [L155] call ULTIMATE.dealloc(__ieee754_atan2_~#ew_u~1.base, __ieee754_atan2_~#ew_u~1.offset); [L155] havoc __ieee754_atan2_~#ew_u~1.base, __ieee754_atan2_~#ew_u~1.offset; VAL [#NULL.base=0, #NULL.offset=0, __ieee754_atan2_#in~x=2.0, __ieee754_atan2_#in~y=3.0, __ieee754_atan2_~hx~1=0, __ieee754_atan2_~hy~0=0, __ieee754_atan2_~lx~0=33, __ieee754_atan2_~ly~0=26, __ieee754_atan2_~x=2.0, __ieee754_atan2_~y=3.0, isfinite_double_#in~x=3.0, isfinite_double_#res=1, isfinite_double_~hx~3=3504, isfinite_double_~x=3.0, isinf_double_#in~x=2.0, isinf_double_#res=-1, isinf_double_~hx~2=2146435072, isinf_double_~lx~1=2278, isinf_double_~x=2.0, main_~x~0=2.0, main_~y~0=3.0, ~#aT_atan~0.base=6, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=5, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=3, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [L160] __ieee754_atan2_~iy~0 := ~bitwiseAnd(__ieee754_atan2_~hy~0, 2147483647); VAL [#NULL.base=0, #NULL.offset=0, __ieee754_atan2_#in~x=2.0, __ieee754_atan2_#in~y=3.0, __ieee754_atan2_~hx~1=0, __ieee754_atan2_~hy~0=0, __ieee754_atan2_~lx~0=33, __ieee754_atan2_~ly~0=26, __ieee754_atan2_~x=2.0, __ieee754_atan2_~y=3.0, isfinite_double_#in~x=3.0, isfinite_double_#res=1, isfinite_double_~hx~3=3504, isfinite_double_~x=3.0, isinf_double_#in~x=2.0, isinf_double_#res=-1, isinf_double_~hx~2=2146435072, isinf_double_~lx~1=2278, isinf_double_~x=2.0, main_~x~0=2.0, main_~y~0=3.0, ~#aT_atan~0.base=6, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=5, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=3, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [L161-L163] assume ~bitwiseOr(__ieee754_atan2_~ix~1, ~bitwiseOr(__ieee754_atan2_~lx~0, -__ieee754_atan2_~lx~0) / 2147483648) % 4294967296 > 2146435072 || ~bitwiseOr(__ieee754_atan2_~iy~0, ~bitwiseOr(__ieee754_atan2_~ly~0, -__ieee754_atan2_~ly~0) / 2147483648) % 4294967296 > 2146435072; [L163] __ieee754_atan2_#res := ~someBinaryArithmeticDOUBLEoperation(__ieee754_atan2_~x, __ieee754_atan2_~y); VAL [#NULL.base=0, #NULL.offset=0, __ieee754_atan2_#in~x=2.0, __ieee754_atan2_#in~y=3.0, __ieee754_atan2_~hx~1=0, __ieee754_atan2_~hy~0=0, __ieee754_atan2_~lx~0=33, __ieee754_atan2_~ly~0=26, __ieee754_atan2_~x=2.0, __ieee754_atan2_~y=3.0, isfinite_double_#in~x=3.0, isfinite_double_#res=1, isfinite_double_~hx~3=3504, isfinite_double_~x=3.0, isinf_double_#in~x=2.0, isinf_double_#res=-1, isinf_double_~hx~2=2146435072, isinf_double_~lx~1=2278, isinf_double_~x=2.0, main_~x~0=2.0, main_~y~0=3.0, ~#aT_atan~0.base=6, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=5, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=3, ~#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] [L281] main_#t~ret58 := __ieee754_atan2_#res; [L281] main_~res~0 := main_#t~ret58; [L281] havoc main_#t~ret58; VAL [#NULL.base=0, #NULL.offset=0, __ieee754_atan2_#in~x=2.0, __ieee754_atan2_#in~y=3.0, __ieee754_atan2_#res=7.0, __ieee754_atan2_~hx~1=0, __ieee754_atan2_~hy~0=0, __ieee754_atan2_~lx~0=33, __ieee754_atan2_~ly~0=26, __ieee754_atan2_~x=2.0, __ieee754_atan2_~y=3.0, isfinite_double_#in~x=3.0, isfinite_double_#res=1, isfinite_double_~hx~3=3504, isfinite_double_~x=3.0, isinf_double_#in~x=2.0, isinf_double_#res=-1, isinf_double_~hx~2=2146435072, isinf_double_~lx~1=2278, isinf_double_~x=2.0, main_~res~0=7.0, main_~x~0=2.0, main_~y~0=3.0, ~#aT_atan~0.base=6, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=5, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=3, ~#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] [L284-L287] assume ~someBinaryDOUBLEComparisonOperation(main_~res~0, ~pi~0); VAL [#NULL.base=0, #NULL.offset=0, __ieee754_atan2_#in~x=2.0, __ieee754_atan2_#in~y=3.0, __ieee754_atan2_#res=7.0, __ieee754_atan2_~hx~1=0, __ieee754_atan2_~hy~0=0, __ieee754_atan2_~lx~0=33, __ieee754_atan2_~ly~0=26, __ieee754_atan2_~x=2.0, __ieee754_atan2_~y=3.0, isfinite_double_#in~x=3.0, isfinite_double_#res=1, isfinite_double_~hx~3=3504, isfinite_double_~x=3.0, isinf_double_#in~x=2.0, isinf_double_#res=-1, isinf_double_~hx~2=2146435072, isinf_double_~lx~1=2278, isinf_double_~x=2.0, main_~res~0=7.0, main_~x~0=2.0, main_~y~0=3.0, ~#aT_atan~0.base=6, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=5, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=3, ~#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] [L285] assert false; VAL [#NULL.base=0, #NULL.offset=0, __ieee754_atan2_#in~x=2.0, __ieee754_atan2_#in~y=3.0, __ieee754_atan2_#res=7.0, __ieee754_atan2_~hx~1=0, __ieee754_atan2_~hy~0=0, __ieee754_atan2_~lx~0=33, __ieee754_atan2_~ly~0=26, __ieee754_atan2_~x=2.0, __ieee754_atan2_~y=3.0, isfinite_double_#in~x=3.0, isfinite_double_#res=1, isfinite_double_~hx~3=3504, isfinite_double_~x=3.0, isinf_double_#in~x=2.0, isinf_double_#res=-1, isinf_double_~hx~2=2146435072, isinf_double_~lx~1=2278, isinf_double_~x=2.0, main_~res~0=7.0, main_~x~0=2.0, main_~y~0=3.0, ~#aT_atan~0.base=6, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=5, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=3, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] ----- ----- class de.uni_freiburg.informatik.ultimate.boogie.preprocessor.BoogiePreprocessorBacktranslator [?] #NULL.base, #NULL.offset := 0, 0; [?] #valid := #valid[0 := 0]; [L37-L42] call ~#atanhi_atan~0.base, ~#atanhi_atan~0.offset := #Ultimate.alloc(32); [L37-L42] call write~init~real(0.4636476090008061, ~#atanhi_atan~0.base, ~#atanhi_atan~0.offset, 8); [L37-L42] call write~init~real(0.7853981633974483, ~#atanhi_atan~0.base, 8 + ~#atanhi_atan~0.offset, 8); [L37-L42] call write~init~real(0.982793723247329, ~#atanhi_atan~0.base, 16 + ~#atanhi_atan~0.offset, 8); [L37-L42] call write~init~real(1.5707963267948966, ~#atanhi_atan~0.base, 24 + ~#atanhi_atan~0.offset, 8); [L44-L49] call ~#atanlo_atan~0.base, ~#atanlo_atan~0.offset := #Ultimate.alloc(32); [L44-L49] call write~init~real(2.2698777452961687E-17, ~#atanlo_atan~0.base, ~#atanlo_atan~0.offset, 8); [L44-L49] call write~init~real(3.061616997868383E-17, ~#atanlo_atan~0.base, 8 + ~#atanlo_atan~0.offset, 8); [L44-L49] call write~init~real(1.3903311031230998E-17, ~#atanlo_atan~0.base, 16 + ~#atanlo_atan~0.offset, 8); [L44-L49] call write~init~real(6.123233995736766E-17, ~#atanlo_atan~0.base, 24 + ~#atanlo_atan~0.offset, 8); [L51-L58] call ~#aT_atan~0.base, ~#aT_atan~0.offset := #Ultimate.alloc(88); [L51-L58] call write~init~real(0.3333333333333293, ~#aT_atan~0.base, ~#aT_atan~0.offset, 8); [L51-L58] call write~init~real(~someUnaryDOUBLEoperation(0.19999999999876483), ~#aT_atan~0.base, 8 + ~#aT_atan~0.offset, 8); [L51-L58] call write~init~real(0.14285714272503466, ~#aT_atan~0.base, 16 + ~#aT_atan~0.offset, 8); [L51-L58] call write~init~real(~someUnaryDOUBLEoperation(0.11111110405462356), ~#aT_atan~0.base, 24 + ~#aT_atan~0.offset, 8); [L51-L58] call write~init~real(0.09090887133436507, ~#aT_atan~0.base, 32 + ~#aT_atan~0.offset, 8); [L51-L58] call write~init~real(~someUnaryDOUBLEoperation(0.0769187620504483), ~#aT_atan~0.base, 40 + ~#aT_atan~0.offset, 8); [L51-L58] call write~init~real(0.06661073137387531, ~#aT_atan~0.base, 48 + ~#aT_atan~0.offset, 8); [L51-L58] call write~init~real(~someUnaryDOUBLEoperation(0.058335701337905735), ~#aT_atan~0.base, 56 + ~#aT_atan~0.offset, 8); [L51-L58] call write~init~real(0.049768779946159324, ~#aT_atan~0.base, 64 + ~#aT_atan~0.offset, 8); [L51-L58] call write~init~real(~someUnaryDOUBLEoperation(0.036531572744216916), ~#aT_atan~0.base, 72 + ~#aT_atan~0.offset, 8); [L51-L58] call write~init~real(0.016285820115365782, ~#aT_atan~0.base, 80 + ~#aT_atan~0.offset, 8); [L60-L62] ~one_atan~0 := 1.0; [L60-L62] ~pi_o_4~0 := 0.7853981633974483; [L60-L62] ~pi_o_2~0 := 1.5707963267948966; [L60-L62] ~pi~0 := 3.141592653589793; [L60-L62] ~huge_atan~0 := 1.0E300; [L139-L140] ~tiny_atan2~0 := 1.0E-300; [L139-L140] ~zero_atan2~0 := 0.0; [L139-L140] ~pi_lo_atan2~0 := 1.2246467991473532E-16; [?] havoc main_#res; [?] havoc main_#t~nondet54, main_#t~ret55, main_#t~ret56, main_#t~short57, main_#t~ret58, main_~res~0, main_~x~0, main_~y~0; [L276] main_~x~0 := ~someBinaryArithmeticDOUBLEoperation(~someUnaryDOUBLEoperation(1.0), 0.0); [L277] main_~y~0 := main_#t~nondet54; [L277] havoc main_#t~nondet54; [L279] isinf_double_#in~x := main_~x~0; [L279] havoc isinf_double_#res; [L279] havoc isinf_double_#t~mem48, isinf_double_#t~union49, isinf_double_#t~mem50, isinf_double_#t~union51, isinf_double_~#ew_u~2.base, isinf_double_~#ew_u~2.offset, isinf_double_~x, isinf_double_~hx~2, isinf_double_~lx~1; [L245-L257] isinf_double_~x := isinf_double_#in~x; [L246] havoc isinf_double_~hx~2; [L246] havoc isinf_double_~lx~1; VAL [#NULL.base=0, #NULL.offset=0, isinf_double_#in~x=2.0, isinf_double_~x=2.0, main_~x~0=2.0, ~#aT_atan~0.base=6, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=5, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=3, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [L248] call isinf_double_~#ew_u~2.base, isinf_double_~#ew_u~2.offset := #Ultimate.alloc(8); [L249] call write~real(isinf_double_~x, isinf_double_~#ew_u~2.base, isinf_double_~#ew_u~2.offset, 8); [L250] call isinf_double_#t~mem48 := read~int(isinf_double_~#ew_u~2.base, 4 + isinf_double_~#ew_u~2.offset, 4); [L250] isinf_double_~hx~2 := (if isinf_double_#t~mem48 % 4294967296 % 4294967296 <= 2147483647 then isinf_double_#t~mem48 % 4294967296 % 4294967296 else isinf_double_#t~mem48 % 4294967296 % 4294967296 - 4294967296); [L250] call write~real(isinf_double_#t~union49, isinf_double_~#ew_u~2.base, isinf_double_~#ew_u~2.offset, 8); [L250] havoc isinf_double_#t~mem48; [L250] havoc isinf_double_#t~union49; [L251] call isinf_double_#t~mem50 := read~int(isinf_double_~#ew_u~2.base, isinf_double_~#ew_u~2.offset, 4); [L251] isinf_double_~lx~1 := (if isinf_double_#t~mem50 % 4294967296 % 4294967296 <= 2147483647 then isinf_double_#t~mem50 % 4294967296 % 4294967296 else isinf_double_#t~mem50 % 4294967296 % 4294967296 - 4294967296); [L251] call write~real(isinf_double_#t~union51, isinf_double_~#ew_u~2.base, isinf_double_~#ew_u~2.offset, 8); [L251] havoc isinf_double_#t~mem50; [L251] havoc isinf_double_#t~union51; [L248] call ULTIMATE.dealloc(isinf_double_~#ew_u~2.base, isinf_double_~#ew_u~2.offset); [L248] havoc isinf_double_~#ew_u~2.base, isinf_double_~#ew_u~2.offset; VAL [#NULL.base=0, #NULL.offset=0, isinf_double_#in~x=2.0, isinf_double_~hx~2=0, isinf_double_~lx~1=2278, isinf_double_~x=2.0, main_~x~0=2.0, ~#aT_atan~0.base=6, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=5, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=3, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [L253] isinf_double_~hx~2 := ~bitwiseAnd(isinf_double_~hx~2, 2147483647); [L254] isinf_double_~hx~2 := (if ~bitwiseOr(isinf_double_~hx~2, ~bitwiseOr(isinf_double_~lx~1, -isinf_double_~lx~1) / 2147483648) % 4294967296 % 4294967296 <= 2147483647 then ~bitwiseOr(isinf_double_~hx~2, ~bitwiseOr(isinf_double_~lx~1, -isinf_double_~lx~1) / 2147483648) % 4294967296 % 4294967296 else ~bitwiseOr(isinf_double_~hx~2, ~bitwiseOr(isinf_double_~lx~1, -isinf_double_~lx~1) / 2147483648) % 4294967296 % 4294967296 - 4294967296); [L255] isinf_double_~hx~2 := 2146435072 - isinf_double_~hx~2; [L256] isinf_double_#res := 1 - (if ~bitwiseOr(isinf_double_~hx~2, -isinf_double_~hx~2) / 2147483648 % 4294967296 % 4294967296 <= 2147483647 then ~bitwiseOr(isinf_double_~hx~2, -isinf_double_~hx~2) / 2147483648 % 4294967296 % 4294967296 else ~bitwiseOr(isinf_double_~hx~2, -isinf_double_~hx~2) / 2147483648 % 4294967296 % 4294967296 - 4294967296); [L279] main_#t~ret55 := isinf_double_#res; [L279] assume -2147483648 <= main_#t~ret55 && main_#t~ret55 <= 2147483647; [L279] main_#t~short57 := 0 != main_#t~ret55; VAL [#NULL.base=0, #NULL.offset=0, isinf_double_#in~x=2.0, isinf_double_#res=-1, isinf_double_~hx~2=2146435072, isinf_double_~lx~1=2278, isinf_double_~x=2.0, main_#t~ret55=-1, main_#t~short57=true, main_~x~0=2.0, ~#aT_atan~0.base=6, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=5, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=3, ~#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] [L279] assume main_#t~short57; [L279] isfinite_double_#in~x := main_~y~0; [L279] havoc isfinite_double_#res; [L279] havoc isfinite_double_#t~mem52, isfinite_double_#t~union53, isfinite_double_~#gh_u~3.base, isfinite_double_~#gh_u~3.offset, isfinite_double_~x, isfinite_double_~hx~3; [L259-L267] isfinite_double_~x := isfinite_double_#in~x; [L260] havoc isfinite_double_~hx~3; VAL [#NULL.base=0, #NULL.offset=0, isfinite_double_#in~x=3.0, isfinite_double_~x=3.0, isinf_double_#in~x=2.0, isinf_double_#res=-1, isinf_double_~hx~2=2146435072, isinf_double_~lx~1=2278, isinf_double_~x=2.0, main_#t~ret55=-1, main_#t~short57=true, main_~x~0=2.0, main_~y~0=3.0, ~#aT_atan~0.base=6, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=5, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=3, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [L262] call isfinite_double_~#gh_u~3.base, isfinite_double_~#gh_u~3.offset := #Ultimate.alloc(8); [L263] call write~real(isfinite_double_~x, isfinite_double_~#gh_u~3.base, isfinite_double_~#gh_u~3.offset, 8); [L264] call isfinite_double_#t~mem52 := read~int(isfinite_double_~#gh_u~3.base, 4 + isfinite_double_~#gh_u~3.offset, 4); [L264] isfinite_double_~hx~3 := (if isfinite_double_#t~mem52 % 4294967296 % 4294967296 <= 2147483647 then isfinite_double_#t~mem52 % 4294967296 % 4294967296 else isfinite_double_#t~mem52 % 4294967296 % 4294967296 - 4294967296); [L264] call write~real(isfinite_double_#t~union53, isfinite_double_~#gh_u~3.base, isfinite_double_~#gh_u~3.offset, 8); [L264] havoc isfinite_double_#t~union53; [L264] havoc isfinite_double_#t~mem52; [L262] call ULTIMATE.dealloc(isfinite_double_~#gh_u~3.base, isfinite_double_~#gh_u~3.offset); [L262] havoc isfinite_double_~#gh_u~3.base, isfinite_double_~#gh_u~3.offset; VAL [#NULL.base=0, #NULL.offset=0, isfinite_double_#in~x=3.0, isfinite_double_~hx~3=3504, isfinite_double_~x=3.0, isinf_double_#in~x=2.0, isinf_double_#res=-1, isinf_double_~hx~2=2146435072, isinf_double_~lx~1=2278, isinf_double_~x=2.0, main_#t~ret55=-1, main_#t~short57=true, main_~x~0=2.0, main_~y~0=3.0, ~#aT_atan~0.base=6, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=5, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=3, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [L266] isfinite_double_#res := (if (~bitwiseAnd(isfinite_double_~hx~3, 2147483647) - 2146435072) / 2147483648 % 4294967296 % 4294967296 <= 2147483647 then (~bitwiseAnd(isfinite_double_~hx~3, 2147483647) - 2146435072) / 2147483648 % 4294967296 % 4294967296 else (~bitwiseAnd(isfinite_double_~hx~3, 2147483647) - 2146435072) / 2147483648 % 4294967296 % 4294967296 - 4294967296); [L279] main_#t~ret56 := isfinite_double_#res; [L279] assume -2147483648 <= main_#t~ret56 && main_#t~ret56 <= 2147483647; [L279] main_#t~short57 := 0 != main_#t~ret56; VAL [#NULL.base=0, #NULL.offset=0, isfinite_double_#in~x=3.0, isfinite_double_#res=1, isfinite_double_~hx~3=3504, isfinite_double_~x=3.0, isinf_double_#in~x=2.0, isinf_double_#res=-1, isinf_double_~hx~2=2146435072, isinf_double_~lx~1=2278, isinf_double_~x=2.0, main_#t~ret55=-1, main_#t~ret56=1, main_#t~short57=true, main_~x~0=2.0, main_~y~0=3.0, ~#aT_atan~0.base=6, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=5, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=3, ~#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] [L279-L288] assume main_#t~short57 && ~someBinaryDOUBLEComparisonOperation(main_~y~0, 0.0); [L279] havoc main_#t~ret56; [L279] havoc main_#t~short57; [L279] havoc main_#t~ret55; [L281] __ieee754_atan2_#in~y, __ieee754_atan2_#in~x := main_~y~0, main_~x~0; [L281] havoc __ieee754_atan2_#res; [L281] havoc __ieee754_atan2_#t~mem27, __ieee754_atan2_#t~union28, __ieee754_atan2_#t~mem29, __ieee754_atan2_#t~union30, __ieee754_atan2_~#ew_u~0.base, __ieee754_atan2_~#ew_u~0.offset, __ieee754_atan2_#t~mem31, __ieee754_atan2_#t~union32, __ieee754_atan2_#t~mem33, __ieee754_atan2_#t~union34, __ieee754_atan2_~#ew_u~1.base, __ieee754_atan2_~#ew_u~1.offset, __ieee754_atan2_#t~ret35, __ieee754_atan2_#t~switch36, __ieee754_atan2_#t~ite37, __ieee754_atan2_#t~switch38, __ieee754_atan2_#t~switch39, __ieee754_atan2_#t~ite40, __ieee754_atan2_#t~ret41, __ieee754_atan2_#t~ret42, __ieee754_atan2_#t~switch43, __ieee754_atan2_#t~mem44, __ieee754_atan2_#t~union45, __ieee754_atan2_~#gh_u~2.base, __ieee754_atan2_~#gh_u~2.offset, __ieee754_atan2_#t~mem46, __ieee754_atan2_#t~union47.lsw, __ieee754_atan2_#t~union47.msw, __ieee754_atan2_~#sh_u~1.base, __ieee754_atan2_~#sh_u~1.offset, __ieee754_atan2_~zh~0, __ieee754_atan2_~y, __ieee754_atan2_~x, __ieee754_atan2_~z~1, __ieee754_atan2_~k~0, __ieee754_atan2_~m~0, __ieee754_atan2_~hx~1, __ieee754_atan2_~hy~0, __ieee754_atan2_~ix~1, __ieee754_atan2_~iy~0, __ieee754_atan2_~lx~0, __ieee754_atan2_~ly~0; [L142-L242] __ieee754_atan2_~y := __ieee754_atan2_#in~y; [L142-L242] __ieee754_atan2_~x := __ieee754_atan2_#in~x; [L143] havoc __ieee754_atan2_~z~1; [L144] havoc __ieee754_atan2_~k~0; [L144] havoc __ieee754_atan2_~m~0; [L144] havoc __ieee754_atan2_~hx~1; [L144] havoc __ieee754_atan2_~hy~0; [L144] havoc __ieee754_atan2_~ix~1; [L144] havoc __ieee754_atan2_~iy~0; [L145] havoc __ieee754_atan2_~lx~0; [L145] havoc __ieee754_atan2_~ly~0; VAL [#NULL.base=0, #NULL.offset=0, __ieee754_atan2_#in~x=2.0, __ieee754_atan2_#in~y=3.0, __ieee754_atan2_~x=2.0, __ieee754_atan2_~y=3.0, isfinite_double_#in~x=3.0, isfinite_double_#res=1, isfinite_double_~hx~3=3504, isfinite_double_~x=3.0, isinf_double_#in~x=2.0, isinf_double_#res=-1, isinf_double_~hx~2=2146435072, isinf_double_~lx~1=2278, isinf_double_~x=2.0, main_~x~0=2.0, main_~y~0=3.0, ~#aT_atan~0.base=6, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=5, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=3, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [L148] call __ieee754_atan2_~#ew_u~0.base, __ieee754_atan2_~#ew_u~0.offset := #Ultimate.alloc(8); [L149] call write~real(__ieee754_atan2_~x, __ieee754_atan2_~#ew_u~0.base, __ieee754_atan2_~#ew_u~0.offset, 8); [L150] call __ieee754_atan2_#t~mem27 := read~int(__ieee754_atan2_~#ew_u~0.base, 4 + __ieee754_atan2_~#ew_u~0.offset, 4); [L150] __ieee754_atan2_~hx~1 := (if __ieee754_atan2_#t~mem27 % 4294967296 % 4294967296 <= 2147483647 then __ieee754_atan2_#t~mem27 % 4294967296 % 4294967296 else __ieee754_atan2_#t~mem27 % 4294967296 % 4294967296 - 4294967296); [L150] call write~real(__ieee754_atan2_#t~union28, __ieee754_atan2_~#ew_u~0.base, __ieee754_atan2_~#ew_u~0.offset, 8); [L150] havoc __ieee754_atan2_#t~mem27; [L150] havoc __ieee754_atan2_#t~union28; [L151] call __ieee754_atan2_#t~mem29 := read~int(__ieee754_atan2_~#ew_u~0.base, __ieee754_atan2_~#ew_u~0.offset, 4); [L151] __ieee754_atan2_~lx~0 := __ieee754_atan2_#t~mem29; [L151] call write~real(__ieee754_atan2_#t~union30, __ieee754_atan2_~#ew_u~0.base, __ieee754_atan2_~#ew_u~0.offset, 8); [L151] havoc __ieee754_atan2_#t~mem29; [L151] havoc __ieee754_atan2_#t~union30; [L148] call ULTIMATE.dealloc(__ieee754_atan2_~#ew_u~0.base, __ieee754_atan2_~#ew_u~0.offset); [L148] havoc __ieee754_atan2_~#ew_u~0.base, __ieee754_atan2_~#ew_u~0.offset; VAL [#NULL.base=0, #NULL.offset=0, __ieee754_atan2_#in~x=2.0, __ieee754_atan2_#in~y=3.0, __ieee754_atan2_~hx~1=0, __ieee754_atan2_~lx~0=33, __ieee754_atan2_~x=2.0, __ieee754_atan2_~y=3.0, isfinite_double_#in~x=3.0, isfinite_double_#res=1, isfinite_double_~hx~3=3504, isfinite_double_~x=3.0, isinf_double_#in~x=2.0, isinf_double_#res=-1, isinf_double_~hx~2=2146435072, isinf_double_~lx~1=2278, isinf_double_~x=2.0, main_~x~0=2.0, main_~y~0=3.0, ~#aT_atan~0.base=6, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=5, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=3, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [L153] __ieee754_atan2_~ix~1 := ~bitwiseAnd(__ieee754_atan2_~hx~1, 2147483647); VAL [#NULL.base=0, #NULL.offset=0, __ieee754_atan2_#in~x=2.0, __ieee754_atan2_#in~y=3.0, __ieee754_atan2_~hx~1=0, __ieee754_atan2_~lx~0=33, __ieee754_atan2_~x=2.0, __ieee754_atan2_~y=3.0, isfinite_double_#in~x=3.0, isfinite_double_#res=1, isfinite_double_~hx~3=3504, isfinite_double_~x=3.0, isinf_double_#in~x=2.0, isinf_double_#res=-1, isinf_double_~hx~2=2146435072, isinf_double_~lx~1=2278, isinf_double_~x=2.0, main_~x~0=2.0, main_~y~0=3.0, ~#aT_atan~0.base=6, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=5, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=3, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [L155] call __ieee754_atan2_~#ew_u~1.base, __ieee754_atan2_~#ew_u~1.offset := #Ultimate.alloc(8); [L156] call write~real(__ieee754_atan2_~y, __ieee754_atan2_~#ew_u~1.base, __ieee754_atan2_~#ew_u~1.offset, 8); [L157] call __ieee754_atan2_#t~mem31 := read~int(__ieee754_atan2_~#ew_u~1.base, 4 + __ieee754_atan2_~#ew_u~1.offset, 4); [L157] __ieee754_atan2_~hy~0 := (if __ieee754_atan2_#t~mem31 % 4294967296 % 4294967296 <= 2147483647 then __ieee754_atan2_#t~mem31 % 4294967296 % 4294967296 else __ieee754_atan2_#t~mem31 % 4294967296 % 4294967296 - 4294967296); [L157] call write~real(__ieee754_atan2_#t~union32, __ieee754_atan2_~#ew_u~1.base, __ieee754_atan2_~#ew_u~1.offset, 8); [L157] havoc __ieee754_atan2_#t~mem31; [L157] havoc __ieee754_atan2_#t~union32; [L158] call __ieee754_atan2_#t~mem33 := read~int(__ieee754_atan2_~#ew_u~1.base, __ieee754_atan2_~#ew_u~1.offset, 4); [L158] __ieee754_atan2_~ly~0 := __ieee754_atan2_#t~mem33; [L158] call write~real(__ieee754_atan2_#t~union34, __ieee754_atan2_~#ew_u~1.base, __ieee754_atan2_~#ew_u~1.offset, 8); [L158] havoc __ieee754_atan2_#t~union34; [L158] havoc __ieee754_atan2_#t~mem33; [L155] call ULTIMATE.dealloc(__ieee754_atan2_~#ew_u~1.base, __ieee754_atan2_~#ew_u~1.offset); [L155] havoc __ieee754_atan2_~#ew_u~1.base, __ieee754_atan2_~#ew_u~1.offset; VAL [#NULL.base=0, #NULL.offset=0, __ieee754_atan2_#in~x=2.0, __ieee754_atan2_#in~y=3.0, __ieee754_atan2_~hx~1=0, __ieee754_atan2_~hy~0=0, __ieee754_atan2_~lx~0=33, __ieee754_atan2_~ly~0=26, __ieee754_atan2_~x=2.0, __ieee754_atan2_~y=3.0, isfinite_double_#in~x=3.0, isfinite_double_#res=1, isfinite_double_~hx~3=3504, isfinite_double_~x=3.0, isinf_double_#in~x=2.0, isinf_double_#res=-1, isinf_double_~hx~2=2146435072, isinf_double_~lx~1=2278, isinf_double_~x=2.0, main_~x~0=2.0, main_~y~0=3.0, ~#aT_atan~0.base=6, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=5, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=3, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [L160] __ieee754_atan2_~iy~0 := ~bitwiseAnd(__ieee754_atan2_~hy~0, 2147483647); VAL [#NULL.base=0, #NULL.offset=0, __ieee754_atan2_#in~x=2.0, __ieee754_atan2_#in~y=3.0, __ieee754_atan2_~hx~1=0, __ieee754_atan2_~hy~0=0, __ieee754_atan2_~lx~0=33, __ieee754_atan2_~ly~0=26, __ieee754_atan2_~x=2.0, __ieee754_atan2_~y=3.0, isfinite_double_#in~x=3.0, isfinite_double_#res=1, isfinite_double_~hx~3=3504, isfinite_double_~x=3.0, isinf_double_#in~x=2.0, isinf_double_#res=-1, isinf_double_~hx~2=2146435072, isinf_double_~lx~1=2278, isinf_double_~x=2.0, main_~x~0=2.0, main_~y~0=3.0, ~#aT_atan~0.base=6, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=5, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=3, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [L161-L163] assume ~bitwiseOr(__ieee754_atan2_~ix~1, ~bitwiseOr(__ieee754_atan2_~lx~0, -__ieee754_atan2_~lx~0) / 2147483648) % 4294967296 > 2146435072 || ~bitwiseOr(__ieee754_atan2_~iy~0, ~bitwiseOr(__ieee754_atan2_~ly~0, -__ieee754_atan2_~ly~0) / 2147483648) % 4294967296 > 2146435072; [L163] __ieee754_atan2_#res := ~someBinaryArithmeticDOUBLEoperation(__ieee754_atan2_~x, __ieee754_atan2_~y); VAL [#NULL.base=0, #NULL.offset=0, __ieee754_atan2_#in~x=2.0, __ieee754_atan2_#in~y=3.0, __ieee754_atan2_~hx~1=0, __ieee754_atan2_~hy~0=0, __ieee754_atan2_~lx~0=33, __ieee754_atan2_~ly~0=26, __ieee754_atan2_~x=2.0, __ieee754_atan2_~y=3.0, isfinite_double_#in~x=3.0, isfinite_double_#res=1, isfinite_double_~hx~3=3504, isfinite_double_~x=3.0, isinf_double_#in~x=2.0, isinf_double_#res=-1, isinf_double_~hx~2=2146435072, isinf_double_~lx~1=2278, isinf_double_~x=2.0, main_~x~0=2.0, main_~y~0=3.0, ~#aT_atan~0.base=6, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=5, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=3, ~#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] [L281] main_#t~ret58 := __ieee754_atan2_#res; [L281] main_~res~0 := main_#t~ret58; [L281] havoc main_#t~ret58; VAL [#NULL.base=0, #NULL.offset=0, __ieee754_atan2_#in~x=2.0, __ieee754_atan2_#in~y=3.0, __ieee754_atan2_#res=7.0, __ieee754_atan2_~hx~1=0, __ieee754_atan2_~hy~0=0, __ieee754_atan2_~lx~0=33, __ieee754_atan2_~ly~0=26, __ieee754_atan2_~x=2.0, __ieee754_atan2_~y=3.0, isfinite_double_#in~x=3.0, isfinite_double_#res=1, isfinite_double_~hx~3=3504, isfinite_double_~x=3.0, isinf_double_#in~x=2.0, isinf_double_#res=-1, isinf_double_~hx~2=2146435072, isinf_double_~lx~1=2278, isinf_double_~x=2.0, main_~res~0=7.0, main_~x~0=2.0, main_~y~0=3.0, ~#aT_atan~0.base=6, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=5, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=3, ~#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] [L284-L287] assume ~someBinaryDOUBLEComparisonOperation(main_~res~0, ~pi~0); VAL [#NULL.base=0, #NULL.offset=0, __ieee754_atan2_#in~x=2.0, __ieee754_atan2_#in~y=3.0, __ieee754_atan2_#res=7.0, __ieee754_atan2_~hx~1=0, __ieee754_atan2_~hy~0=0, __ieee754_atan2_~lx~0=33, __ieee754_atan2_~ly~0=26, __ieee754_atan2_~x=2.0, __ieee754_atan2_~y=3.0, isfinite_double_#in~x=3.0, isfinite_double_#res=1, isfinite_double_~hx~3=3504, isfinite_double_~x=3.0, isinf_double_#in~x=2.0, isinf_double_#res=-1, isinf_double_~hx~2=2146435072, isinf_double_~lx~1=2278, isinf_double_~x=2.0, main_~res~0=7.0, main_~x~0=2.0, main_~y~0=3.0, ~#aT_atan~0.base=6, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=5, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=3, ~#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] [L285] assert false; VAL [#NULL.base=0, #NULL.offset=0, __ieee754_atan2_#in~x=2.0, __ieee754_atan2_#in~y=3.0, __ieee754_atan2_#res=7.0, __ieee754_atan2_~hx~1=0, __ieee754_atan2_~hy~0=0, __ieee754_atan2_~lx~0=33, __ieee754_atan2_~ly~0=26, __ieee754_atan2_~x=2.0, __ieee754_atan2_~y=3.0, isfinite_double_#in~x=3.0, isfinite_double_#res=1, isfinite_double_~hx~3=3504, isfinite_double_~x=3.0, isinf_double_#in~x=2.0, isinf_double_#res=-1, isinf_double_~hx~2=2146435072, isinf_double_~lx~1=2278, isinf_double_~x=2.0, main_~res~0=7.0, main_~x~0=2.0, main_~y~0=3.0, ~#aT_atan~0.base=6, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=5, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=3, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [?] #NULL := { base: 0, offset: 0 }; [?] #valid[0] := 0; [L37-L42] FCALL call ~#atanhi_atan~0 := #Ultimate.alloc(32); [L37-L42] FCALL call write~init~real(0.4636476090008061, { base: ~#atanhi_atan~0!base, offset: ~#atanhi_atan~0!offset }, 8); [L37-L42] FCALL call write~init~real(0.7853981633974483, { base: ~#atanhi_atan~0!base, offset: 8 + ~#atanhi_atan~0!offset }, 8); [L37-L42] FCALL call write~init~real(0.982793723247329, { base: ~#atanhi_atan~0!base, offset: 16 + ~#atanhi_atan~0!offset }, 8); [L37-L42] FCALL call write~init~real(1.5707963267948966, { base: ~#atanhi_atan~0!base, offset: 24 + ~#atanhi_atan~0!offset }, 8); [L44-L49] FCALL call ~#atanlo_atan~0 := #Ultimate.alloc(32); [L44-L49] FCALL call write~init~real(2.2698777452961687E-17, { base: ~#atanlo_atan~0!base, offset: ~#atanlo_atan~0!offset }, 8); [L44-L49] FCALL call write~init~real(3.061616997868383E-17, { base: ~#atanlo_atan~0!base, offset: 8 + ~#atanlo_atan~0!offset }, 8); [L44-L49] FCALL call write~init~real(1.3903311031230998E-17, { base: ~#atanlo_atan~0!base, offset: 16 + ~#atanlo_atan~0!offset }, 8); [L44-L49] FCALL call write~init~real(6.123233995736766E-17, { base: ~#atanlo_atan~0!base, offset: 24 + ~#atanlo_atan~0!offset }, 8); [L51-L58] FCALL call ~#aT_atan~0 := #Ultimate.alloc(88); [L51-L58] FCALL call write~init~real(0.3333333333333293, { base: ~#aT_atan~0!base, offset: ~#aT_atan~0!offset }, 8); [L51-L58] FCALL call write~init~real(~someUnaryDOUBLEoperation(0.19999999999876483), { base: ~#aT_atan~0!base, offset: 8 + ~#aT_atan~0!offset }, 8); [L51-L58] FCALL call write~init~real(0.14285714272503466, { base: ~#aT_atan~0!base, offset: 16 + ~#aT_atan~0!offset }, 8); [L51-L58] FCALL call write~init~real(~someUnaryDOUBLEoperation(0.11111110405462356), { base: ~#aT_atan~0!base, offset: 24 + ~#aT_atan~0!offset }, 8); [L51-L58] FCALL call write~init~real(0.09090887133436507, { base: ~#aT_atan~0!base, offset: 32 + ~#aT_atan~0!offset }, 8); [L51-L58] FCALL call write~init~real(~someUnaryDOUBLEoperation(0.0769187620504483), { base: ~#aT_atan~0!base, offset: 40 + ~#aT_atan~0!offset }, 8); [L51-L58] FCALL call write~init~real(0.06661073137387531, { base: ~#aT_atan~0!base, offset: 48 + ~#aT_atan~0!offset }, 8); [L51-L58] FCALL call write~init~real(~someUnaryDOUBLEoperation(0.058335701337905735), { base: ~#aT_atan~0!base, offset: 56 + ~#aT_atan~0!offset }, 8); [L51-L58] FCALL call write~init~real(0.049768779946159324, { base: ~#aT_atan~0!base, offset: 64 + ~#aT_atan~0!offset }, 8); [L51-L58] FCALL call write~init~real(~someUnaryDOUBLEoperation(0.036531572744216916), { base: ~#aT_atan~0!base, offset: 72 + ~#aT_atan~0!offset }, 8); [L51-L58] FCALL call write~init~real(0.016285820115365782, { base: ~#aT_atan~0!base, offset: 80 + ~#aT_atan~0!offset }, 8); [L60-L62] ~one_atan~0 := 1.0; [L60-L62] ~pi_o_4~0 := 0.7853981633974483; [L60-L62] ~pi_o_2~0 := 1.5707963267948966; [L60-L62] ~pi~0 := 3.141592653589793; [L60-L62] ~huge_atan~0 := 1.0E300; [L139-L140] ~tiny_atan2~0 := 1.0E-300; [L139-L140] ~zero_atan2~0 := 0.0; [L139-L140] ~pi_lo_atan2~0 := 1.2246467991473532E-16; [?] havoc main_#res; [?] havoc main_#t~nondet54, main_#t~ret55, main_#t~ret56, main_#t~short57, main_#t~ret58, main_~res~0, main_~x~0, main_~y~0; [L276] main_~x~0 := ~someBinaryArithmeticDOUBLEoperation(~someUnaryDOUBLEoperation(1.0), 0.0); [L277] main_~y~0 := main_#t~nondet54; [L277] havoc main_#t~nondet54; [L279] isinf_double_#in~x := main_~x~0; [L279] havoc isinf_double_#res; [L279] havoc isinf_double_#t~mem48, isinf_double_#t~union49, isinf_double_#t~mem50, isinf_double_#t~union51, isinf_double_~#ew_u~2, isinf_double_~x, isinf_double_~hx~2, isinf_double_~lx~1; [L245-L257] isinf_double_~x := isinf_double_#in~x; [L246] havoc isinf_double_~hx~2; [L246] havoc isinf_double_~lx~1; VAL [#NULL!base=0, #NULL!offset=0, isinf_double_#in~x=2.0, isinf_double_~x=2.0, main_~x~0=2.0, ~#aT_atan~0!base=6, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=5, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=3, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [L248] FCALL call isinf_double_~#ew_u~2 := #Ultimate.alloc(8); [L249] FCALL call write~real(isinf_double_~x, { base: isinf_double_~#ew_u~2!base, offset: isinf_double_~#ew_u~2!offset }, 8); [L250] FCALL call isinf_double_#t~mem48 := read~int({ base: isinf_double_~#ew_u~2!base, offset: 4 + isinf_double_~#ew_u~2!offset }, 4); [L250] isinf_double_~hx~2 := (if isinf_double_#t~mem48 % 4294967296 % 4294967296 <= 2147483647 then isinf_double_#t~mem48 % 4294967296 % 4294967296 else isinf_double_#t~mem48 % 4294967296 % 4294967296 - 4294967296); [L250] FCALL call write~real(isinf_double_#t~union49, { base: isinf_double_~#ew_u~2!base, offset: isinf_double_~#ew_u~2!offset }, 8); [L250] havoc isinf_double_#t~mem48; [L250] havoc isinf_double_#t~union49; [L251] FCALL call isinf_double_#t~mem50 := read~int({ base: isinf_double_~#ew_u~2!base, offset: isinf_double_~#ew_u~2!offset }, 4); [L251] isinf_double_~lx~1 := (if isinf_double_#t~mem50 % 4294967296 % 4294967296 <= 2147483647 then isinf_double_#t~mem50 % 4294967296 % 4294967296 else isinf_double_#t~mem50 % 4294967296 % 4294967296 - 4294967296); [L251] FCALL call write~real(isinf_double_#t~union51, { base: isinf_double_~#ew_u~2!base, offset: isinf_double_~#ew_u~2!offset }, 8); [L251] havoc isinf_double_#t~mem50; [L251] havoc isinf_double_#t~union51; [L248] FCALL call ULTIMATE.dealloc(isinf_double_~#ew_u~2); [L248] havoc isinf_double_~#ew_u~2; VAL [#NULL!base=0, #NULL!offset=0, isinf_double_#in~x=2.0, isinf_double_~hx~2=0, isinf_double_~lx~1=2278, isinf_double_~x=2.0, main_~x~0=2.0, ~#aT_atan~0!base=6, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=5, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=3, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [L253] isinf_double_~hx~2 := ~bitwiseAnd(isinf_double_~hx~2, 2147483647); [L254] isinf_double_~hx~2 := (if ~bitwiseOr(isinf_double_~hx~2, ~bitwiseOr(isinf_double_~lx~1, -isinf_double_~lx~1) / 2147483648) % 4294967296 % 4294967296 <= 2147483647 then ~bitwiseOr(isinf_double_~hx~2, ~bitwiseOr(isinf_double_~lx~1, -isinf_double_~lx~1) / 2147483648) % 4294967296 % 4294967296 else ~bitwiseOr(isinf_double_~hx~2, ~bitwiseOr(isinf_double_~lx~1, -isinf_double_~lx~1) / 2147483648) % 4294967296 % 4294967296 - 4294967296); [L255] isinf_double_~hx~2 := 2146435072 - isinf_double_~hx~2; [L256] isinf_double_#res := 1 - (if ~bitwiseOr(isinf_double_~hx~2, -isinf_double_~hx~2) / 2147483648 % 4294967296 % 4294967296 <= 2147483647 then ~bitwiseOr(isinf_double_~hx~2, -isinf_double_~hx~2) / 2147483648 % 4294967296 % 4294967296 else ~bitwiseOr(isinf_double_~hx~2, -isinf_double_~hx~2) / 2147483648 % 4294967296 % 4294967296 - 4294967296); [L279] main_#t~ret55 := isinf_double_#res; [L279] assume -2147483648 <= main_#t~ret55 && main_#t~ret55 <= 2147483647; [L279] main_#t~short57 := 0 != main_#t~ret55; VAL [#NULL!base=0, #NULL!offset=0, isinf_double_#in~x=2.0, isinf_double_#res=-1, isinf_double_~hx~2=2146435072, isinf_double_~lx~1=2278, isinf_double_~x=2.0, main_#t~ret55=-1, main_#t~short57=true, main_~x~0=2.0, ~#aT_atan~0!base=6, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=5, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=3, ~#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] [L279] COND TRUE main_#t~short57 [L279] isfinite_double_#in~x := main_~y~0; [L279] havoc isfinite_double_#res; [L279] havoc isfinite_double_#t~mem52, isfinite_double_#t~union53, isfinite_double_~#gh_u~3, isfinite_double_~x, isfinite_double_~hx~3; [L259-L267] isfinite_double_~x := isfinite_double_#in~x; [L260] havoc isfinite_double_~hx~3; VAL [#NULL!base=0, #NULL!offset=0, isfinite_double_#in~x=3.0, isfinite_double_~x=3.0, isinf_double_#in~x=2.0, isinf_double_#res=-1, isinf_double_~hx~2=2146435072, isinf_double_~lx~1=2278, isinf_double_~x=2.0, main_#t~ret55=-1, main_#t~short57=true, main_~x~0=2.0, main_~y~0=3.0, ~#aT_atan~0!base=6, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=5, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=3, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [L262] FCALL call isfinite_double_~#gh_u~3 := #Ultimate.alloc(8); [L263] FCALL call write~real(isfinite_double_~x, { base: isfinite_double_~#gh_u~3!base, offset: isfinite_double_~#gh_u~3!offset }, 8); [L264] FCALL call isfinite_double_#t~mem52 := read~int({ base: isfinite_double_~#gh_u~3!base, offset: 4 + isfinite_double_~#gh_u~3!offset }, 4); [L264] isfinite_double_~hx~3 := (if isfinite_double_#t~mem52 % 4294967296 % 4294967296 <= 2147483647 then isfinite_double_#t~mem52 % 4294967296 % 4294967296 else isfinite_double_#t~mem52 % 4294967296 % 4294967296 - 4294967296); [L264] FCALL call write~real(isfinite_double_#t~union53, { base: isfinite_double_~#gh_u~3!base, offset: isfinite_double_~#gh_u~3!offset }, 8); [L264] havoc isfinite_double_#t~union53; [L264] havoc isfinite_double_#t~mem52; [L262] FCALL call ULTIMATE.dealloc(isfinite_double_~#gh_u~3); [L262] havoc isfinite_double_~#gh_u~3; VAL [#NULL!base=0, #NULL!offset=0, isfinite_double_#in~x=3.0, isfinite_double_~hx~3=3504, isfinite_double_~x=3.0, isinf_double_#in~x=2.0, isinf_double_#res=-1, isinf_double_~hx~2=2146435072, isinf_double_~lx~1=2278, isinf_double_~x=2.0, main_#t~ret55=-1, main_#t~short57=true, main_~x~0=2.0, main_~y~0=3.0, ~#aT_atan~0!base=6, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=5, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=3, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [L266] isfinite_double_#res := (if (~bitwiseAnd(isfinite_double_~hx~3, 2147483647) - 2146435072) / 2147483648 % 4294967296 % 4294967296 <= 2147483647 then (~bitwiseAnd(isfinite_double_~hx~3, 2147483647) - 2146435072) / 2147483648 % 4294967296 % 4294967296 else (~bitwiseAnd(isfinite_double_~hx~3, 2147483647) - 2146435072) / 2147483648 % 4294967296 % 4294967296 - 4294967296); [L279] main_#t~ret56 := isfinite_double_#res; [L279] assume -2147483648 <= main_#t~ret56 && main_#t~ret56 <= 2147483647; [L279] main_#t~short57 := 0 != main_#t~ret56; VAL [#NULL!base=0, #NULL!offset=0, isfinite_double_#in~x=3.0, isfinite_double_#res=1, isfinite_double_~hx~3=3504, isfinite_double_~x=3.0, isinf_double_#in~x=2.0, isinf_double_#res=-1, isinf_double_~hx~2=2146435072, isinf_double_~lx~1=2278, isinf_double_~x=2.0, main_#t~ret55=-1, main_#t~ret56=1, main_#t~short57=true, main_~x~0=2.0, main_~y~0=3.0, ~#aT_atan~0!base=6, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=5, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=3, ~#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] [L279] COND TRUE main_#t~short57 && ~someBinaryDOUBLEComparisonOperation(main_~y~0, 0.0) [L279] havoc main_#t~ret56; [L279] havoc main_#t~short57; [L279] havoc main_#t~ret55; [L281] __ieee754_atan2_#in~y, __ieee754_atan2_#in~x := main_~y~0, main_~x~0; [L281] havoc __ieee754_atan2_#res; [L281] havoc __ieee754_atan2_#t~mem27, __ieee754_atan2_#t~union28, __ieee754_atan2_#t~mem29, __ieee754_atan2_#t~union30, __ieee754_atan2_~#ew_u~0, __ieee754_atan2_#t~mem31, __ieee754_atan2_#t~union32, __ieee754_atan2_#t~mem33, __ieee754_atan2_#t~union34, __ieee754_atan2_~#ew_u~1, __ieee754_atan2_#t~ret35, __ieee754_atan2_#t~switch36, __ieee754_atan2_#t~ite37, __ieee754_atan2_#t~switch38, __ieee754_atan2_#t~switch39, __ieee754_atan2_#t~ite40, __ieee754_atan2_#t~ret41, __ieee754_atan2_#t~ret42, __ieee754_atan2_#t~switch43, __ieee754_atan2_#t~mem44, __ieee754_atan2_#t~union45, __ieee754_atan2_~#gh_u~2, __ieee754_atan2_#t~mem46, __ieee754_atan2_#t~union47, __ieee754_atan2_~#sh_u~1, __ieee754_atan2_~zh~0, __ieee754_atan2_~y, __ieee754_atan2_~x, __ieee754_atan2_~z~1, __ieee754_atan2_~k~0, __ieee754_atan2_~m~0, __ieee754_atan2_~hx~1, __ieee754_atan2_~hy~0, __ieee754_atan2_~ix~1, __ieee754_atan2_~iy~0, __ieee754_atan2_~lx~0, __ieee754_atan2_~ly~0; [L142-L242] __ieee754_atan2_~y := __ieee754_atan2_#in~y; [L142-L242] __ieee754_atan2_~x := __ieee754_atan2_#in~x; [L143] havoc __ieee754_atan2_~z~1; [L144] havoc __ieee754_atan2_~k~0; [L144] havoc __ieee754_atan2_~m~0; [L144] havoc __ieee754_atan2_~hx~1; [L144] havoc __ieee754_atan2_~hy~0; [L144] havoc __ieee754_atan2_~ix~1; [L144] havoc __ieee754_atan2_~iy~0; [L145] havoc __ieee754_atan2_~lx~0; [L145] havoc __ieee754_atan2_~ly~0; VAL [#NULL!base=0, #NULL!offset=0, __ieee754_atan2_#in~x=2.0, __ieee754_atan2_#in~y=3.0, __ieee754_atan2_~x=2.0, __ieee754_atan2_~y=3.0, isfinite_double_#in~x=3.0, isfinite_double_#res=1, isfinite_double_~hx~3=3504, isfinite_double_~x=3.0, isinf_double_#in~x=2.0, isinf_double_#res=-1, isinf_double_~hx~2=2146435072, isinf_double_~lx~1=2278, isinf_double_~x=2.0, main_~x~0=2.0, main_~y~0=3.0, ~#aT_atan~0!base=6, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=5, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=3, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [L148] FCALL call __ieee754_atan2_~#ew_u~0 := #Ultimate.alloc(8); [L149] FCALL call write~real(__ieee754_atan2_~x, { base: __ieee754_atan2_~#ew_u~0!base, offset: __ieee754_atan2_~#ew_u~0!offset }, 8); [L150] FCALL call __ieee754_atan2_#t~mem27 := read~int({ base: __ieee754_atan2_~#ew_u~0!base, offset: 4 + __ieee754_atan2_~#ew_u~0!offset }, 4); [L150] __ieee754_atan2_~hx~1 := (if __ieee754_atan2_#t~mem27 % 4294967296 % 4294967296 <= 2147483647 then __ieee754_atan2_#t~mem27 % 4294967296 % 4294967296 else __ieee754_atan2_#t~mem27 % 4294967296 % 4294967296 - 4294967296); [L150] FCALL call write~real(__ieee754_atan2_#t~union28, { base: __ieee754_atan2_~#ew_u~0!base, offset: __ieee754_atan2_~#ew_u~0!offset }, 8); [L150] havoc __ieee754_atan2_#t~mem27; [L150] havoc __ieee754_atan2_#t~union28; [L151] FCALL call __ieee754_atan2_#t~mem29 := read~int({ base: __ieee754_atan2_~#ew_u~0!base, offset: __ieee754_atan2_~#ew_u~0!offset }, 4); [L151] __ieee754_atan2_~lx~0 := __ieee754_atan2_#t~mem29; [L151] FCALL call write~real(__ieee754_atan2_#t~union30, { base: __ieee754_atan2_~#ew_u~0!base, offset: __ieee754_atan2_~#ew_u~0!offset }, 8); [L151] havoc __ieee754_atan2_#t~mem29; [L151] havoc __ieee754_atan2_#t~union30; [L148] FCALL call ULTIMATE.dealloc(__ieee754_atan2_~#ew_u~0); [L148] havoc __ieee754_atan2_~#ew_u~0; VAL [#NULL!base=0, #NULL!offset=0, __ieee754_atan2_#in~x=2.0, __ieee754_atan2_#in~y=3.0, __ieee754_atan2_~hx~1=0, __ieee754_atan2_~lx~0=33, __ieee754_atan2_~x=2.0, __ieee754_atan2_~y=3.0, isfinite_double_#in~x=3.0, isfinite_double_#res=1, isfinite_double_~hx~3=3504, isfinite_double_~x=3.0, isinf_double_#in~x=2.0, isinf_double_#res=-1, isinf_double_~hx~2=2146435072, isinf_double_~lx~1=2278, isinf_double_~x=2.0, main_~x~0=2.0, main_~y~0=3.0, ~#aT_atan~0!base=6, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=5, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=3, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [L153] __ieee754_atan2_~ix~1 := ~bitwiseAnd(__ieee754_atan2_~hx~1, 2147483647); VAL [#NULL!base=0, #NULL!offset=0, __ieee754_atan2_#in~x=2.0, __ieee754_atan2_#in~y=3.0, __ieee754_atan2_~hx~1=0, __ieee754_atan2_~lx~0=33, __ieee754_atan2_~x=2.0, __ieee754_atan2_~y=3.0, isfinite_double_#in~x=3.0, isfinite_double_#res=1, isfinite_double_~hx~3=3504, isfinite_double_~x=3.0, isinf_double_#in~x=2.0, isinf_double_#res=-1, isinf_double_~hx~2=2146435072, isinf_double_~lx~1=2278, isinf_double_~x=2.0, main_~x~0=2.0, main_~y~0=3.0, ~#aT_atan~0!base=6, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=5, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=3, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [L155] FCALL call __ieee754_atan2_~#ew_u~1 := #Ultimate.alloc(8); [L156] FCALL call write~real(__ieee754_atan2_~y, { base: __ieee754_atan2_~#ew_u~1!base, offset: __ieee754_atan2_~#ew_u~1!offset }, 8); [L157] FCALL call __ieee754_atan2_#t~mem31 := read~int({ base: __ieee754_atan2_~#ew_u~1!base, offset: 4 + __ieee754_atan2_~#ew_u~1!offset }, 4); [L157] __ieee754_atan2_~hy~0 := (if __ieee754_atan2_#t~mem31 % 4294967296 % 4294967296 <= 2147483647 then __ieee754_atan2_#t~mem31 % 4294967296 % 4294967296 else __ieee754_atan2_#t~mem31 % 4294967296 % 4294967296 - 4294967296); [L157] FCALL call write~real(__ieee754_atan2_#t~union32, { base: __ieee754_atan2_~#ew_u~1!base, offset: __ieee754_atan2_~#ew_u~1!offset }, 8); [L157] havoc __ieee754_atan2_#t~mem31; [L157] havoc __ieee754_atan2_#t~union32; [L158] FCALL call __ieee754_atan2_#t~mem33 := read~int({ base: __ieee754_atan2_~#ew_u~1!base, offset: __ieee754_atan2_~#ew_u~1!offset }, 4); [L158] __ieee754_atan2_~ly~0 := __ieee754_atan2_#t~mem33; [L158] FCALL call write~real(__ieee754_atan2_#t~union34, { base: __ieee754_atan2_~#ew_u~1!base, offset: __ieee754_atan2_~#ew_u~1!offset }, 8); [L158] havoc __ieee754_atan2_#t~union34; [L158] havoc __ieee754_atan2_#t~mem33; [L155] FCALL call ULTIMATE.dealloc(__ieee754_atan2_~#ew_u~1); [L155] havoc __ieee754_atan2_~#ew_u~1; VAL [#NULL!base=0, #NULL!offset=0, __ieee754_atan2_#in~x=2.0, __ieee754_atan2_#in~y=3.0, __ieee754_atan2_~hx~1=0, __ieee754_atan2_~hy~0=0, __ieee754_atan2_~lx~0=33, __ieee754_atan2_~ly~0=26, __ieee754_atan2_~x=2.0, __ieee754_atan2_~y=3.0, isfinite_double_#in~x=3.0, isfinite_double_#res=1, isfinite_double_~hx~3=3504, isfinite_double_~x=3.0, isinf_double_#in~x=2.0, isinf_double_#res=-1, isinf_double_~hx~2=2146435072, isinf_double_~lx~1=2278, isinf_double_~x=2.0, main_~x~0=2.0, main_~y~0=3.0, ~#aT_atan~0!base=6, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=5, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=3, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [L160] __ieee754_atan2_~iy~0 := ~bitwiseAnd(__ieee754_atan2_~hy~0, 2147483647); VAL [#NULL!base=0, #NULL!offset=0, __ieee754_atan2_#in~x=2.0, __ieee754_atan2_#in~y=3.0, __ieee754_atan2_~hx~1=0, __ieee754_atan2_~hy~0=0, __ieee754_atan2_~lx~0=33, __ieee754_atan2_~ly~0=26, __ieee754_atan2_~x=2.0, __ieee754_atan2_~y=3.0, isfinite_double_#in~x=3.0, isfinite_double_#res=1, isfinite_double_~hx~3=3504, isfinite_double_~x=3.0, isinf_double_#in~x=2.0, isinf_double_#res=-1, isinf_double_~hx~2=2146435072, isinf_double_~lx~1=2278, isinf_double_~x=2.0, main_~x~0=2.0, main_~y~0=3.0, ~#aT_atan~0!base=6, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=5, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=3, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [L161-L162] COND TRUE ~bitwiseOr(__ieee754_atan2_~ix~1, ~bitwiseOr(__ieee754_atan2_~lx~0, -__ieee754_atan2_~lx~0) / 2147483648) % 4294967296 > 2146435072 || ~bitwiseOr(__ieee754_atan2_~iy~0, ~bitwiseOr(__ieee754_atan2_~ly~0, -__ieee754_atan2_~ly~0) / 2147483648) % 4294967296 > 2146435072 [L163] __ieee754_atan2_#res := ~someBinaryArithmeticDOUBLEoperation(__ieee754_atan2_~x, __ieee754_atan2_~y); VAL [#NULL!base=0, #NULL!offset=0, __ieee754_atan2_#in~x=2.0, __ieee754_atan2_#in~y=3.0, __ieee754_atan2_~hx~1=0, __ieee754_atan2_~hy~0=0, __ieee754_atan2_~lx~0=33, __ieee754_atan2_~ly~0=26, __ieee754_atan2_~x=2.0, __ieee754_atan2_~y=3.0, isfinite_double_#in~x=3.0, isfinite_double_#res=1, isfinite_double_~hx~3=3504, isfinite_double_~x=3.0, isinf_double_#in~x=2.0, isinf_double_#res=-1, isinf_double_~hx~2=2146435072, isinf_double_~lx~1=2278, isinf_double_~x=2.0, main_~x~0=2.0, main_~y~0=3.0, ~#aT_atan~0!base=6, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=5, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=3, ~#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] [L281] main_#t~ret58 := __ieee754_atan2_#res; [L281] main_~res~0 := main_#t~ret58; [L281] havoc main_#t~ret58; VAL [#NULL!base=0, #NULL!offset=0, __ieee754_atan2_#in~x=2.0, __ieee754_atan2_#in~y=3.0, __ieee754_atan2_#res=7.0, __ieee754_atan2_~hx~1=0, __ieee754_atan2_~hy~0=0, __ieee754_atan2_~lx~0=33, __ieee754_atan2_~ly~0=26, __ieee754_atan2_~x=2.0, __ieee754_atan2_~y=3.0, isfinite_double_#in~x=3.0, isfinite_double_#res=1, isfinite_double_~hx~3=3504, isfinite_double_~x=3.0, isinf_double_#in~x=2.0, isinf_double_#res=-1, isinf_double_~hx~2=2146435072, isinf_double_~lx~1=2278, isinf_double_~x=2.0, main_~res~0=7.0, main_~x~0=2.0, main_~y~0=3.0, ~#aT_atan~0!base=6, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=5, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=3, ~#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] [L284] COND TRUE ~someBinaryDOUBLEComparisonOperation(main_~res~0, ~pi~0) VAL [#NULL!base=0, #NULL!offset=0, __ieee754_atan2_#in~x=2.0, __ieee754_atan2_#in~y=3.0, __ieee754_atan2_#res=7.0, __ieee754_atan2_~hx~1=0, __ieee754_atan2_~hy~0=0, __ieee754_atan2_~lx~0=33, __ieee754_atan2_~ly~0=26, __ieee754_atan2_~x=2.0, __ieee754_atan2_~y=3.0, isfinite_double_#in~x=3.0, isfinite_double_#res=1, isfinite_double_~hx~3=3504, isfinite_double_~x=3.0, isinf_double_#in~x=2.0, isinf_double_#res=-1, isinf_double_~hx~2=2146435072, isinf_double_~lx~1=2278, isinf_double_~x=2.0, main_~res~0=7.0, main_~x~0=2.0, main_~y~0=3.0, ~#aT_atan~0!base=6, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=5, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=3, ~#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] [L285] assert false; VAL [#NULL!base=0, #NULL!offset=0, __ieee754_atan2_#in~x=2.0, __ieee754_atan2_#in~y=3.0, __ieee754_atan2_#res=7.0, __ieee754_atan2_~hx~1=0, __ieee754_atan2_~hy~0=0, __ieee754_atan2_~lx~0=33, __ieee754_atan2_~ly~0=26, __ieee754_atan2_~x=2.0, __ieee754_atan2_~y=3.0, isfinite_double_#in~x=3.0, isfinite_double_#res=1, isfinite_double_~hx~3=3504, isfinite_double_~x=3.0, isinf_double_#in~x=2.0, isinf_double_#res=-1, isinf_double_~hx~2=2146435072, isinf_double_~lx~1=2278, isinf_double_~x=2.0, main_~res~0=7.0, main_~x~0=2.0, main_~y~0=3.0, ~#aT_atan~0!base=6, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=5, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=3, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] ----- ----- class de.uni_freiburg.informatik.ultimate.boogie.procedureinliner.backtranslation.InlinerBacktranslator [?] #NULL := { base: 0, offset: 0 }; [?] #valid[0] := 0; [L37-L42] FCALL call ~#atanhi_atan~0 := #Ultimate.alloc(32); [L37-L42] FCALL call write~init~real(0.4636476090008061, { base: ~#atanhi_atan~0!base, offset: ~#atanhi_atan~0!offset }, 8); [L37-L42] FCALL call write~init~real(0.7853981633974483, { base: ~#atanhi_atan~0!base, offset: 8 + ~#atanhi_atan~0!offset }, 8); [L37-L42] FCALL call write~init~real(0.982793723247329, { base: ~#atanhi_atan~0!base, offset: 16 + ~#atanhi_atan~0!offset }, 8); [L37-L42] FCALL call write~init~real(1.5707963267948966, { base: ~#atanhi_atan~0!base, offset: 24 + ~#atanhi_atan~0!offset }, 8); [L44-L49] FCALL call ~#atanlo_atan~0 := #Ultimate.alloc(32); [L44-L49] FCALL call write~init~real(2.2698777452961687E-17, { base: ~#atanlo_atan~0!base, offset: ~#atanlo_atan~0!offset }, 8); [L44-L49] FCALL call write~init~real(3.061616997868383E-17, { base: ~#atanlo_atan~0!base, offset: 8 + ~#atanlo_atan~0!offset }, 8); [L44-L49] FCALL call write~init~real(1.3903311031230998E-17, { base: ~#atanlo_atan~0!base, offset: 16 + ~#atanlo_atan~0!offset }, 8); [L44-L49] FCALL call write~init~real(6.123233995736766E-17, { base: ~#atanlo_atan~0!base, offset: 24 + ~#atanlo_atan~0!offset }, 8); [L51-L58] FCALL call ~#aT_atan~0 := #Ultimate.alloc(88); [L51-L58] FCALL call write~init~real(0.3333333333333293, { base: ~#aT_atan~0!base, offset: ~#aT_atan~0!offset }, 8); [L51-L58] FCALL call write~init~real(~someUnaryDOUBLEoperation(0.19999999999876483), { base: ~#aT_atan~0!base, offset: 8 + ~#aT_atan~0!offset }, 8); [L51-L58] FCALL call write~init~real(0.14285714272503466, { base: ~#aT_atan~0!base, offset: 16 + ~#aT_atan~0!offset }, 8); [L51-L58] FCALL call write~init~real(~someUnaryDOUBLEoperation(0.11111110405462356), { base: ~#aT_atan~0!base, offset: 24 + ~#aT_atan~0!offset }, 8); [L51-L58] FCALL call write~init~real(0.09090887133436507, { base: ~#aT_atan~0!base, offset: 32 + ~#aT_atan~0!offset }, 8); [L51-L58] FCALL call write~init~real(~someUnaryDOUBLEoperation(0.0769187620504483), { base: ~#aT_atan~0!base, offset: 40 + ~#aT_atan~0!offset }, 8); [L51-L58] FCALL call write~init~real(0.06661073137387531, { base: ~#aT_atan~0!base, offset: 48 + ~#aT_atan~0!offset }, 8); [L51-L58] FCALL call write~init~real(~someUnaryDOUBLEoperation(0.058335701337905735), { base: ~#aT_atan~0!base, offset: 56 + ~#aT_atan~0!offset }, 8); [L51-L58] FCALL call write~init~real(0.049768779946159324, { base: ~#aT_atan~0!base, offset: 64 + ~#aT_atan~0!offset }, 8); [L51-L58] FCALL call write~init~real(~someUnaryDOUBLEoperation(0.036531572744216916), { base: ~#aT_atan~0!base, offset: 72 + ~#aT_atan~0!offset }, 8); [L51-L58] FCALL call write~init~real(0.016285820115365782, { base: ~#aT_atan~0!base, offset: 80 + ~#aT_atan~0!offset }, 8); [L60-L62] ~one_atan~0 := 1.0; [L60-L62] ~pi_o_4~0 := 0.7853981633974483; [L60-L62] ~pi_o_2~0 := 1.5707963267948966; [L60-L62] ~pi~0 := 3.141592653589793; [L60-L62] ~huge_atan~0 := 1.0E300; [L139-L140] ~tiny_atan2~0 := 1.0E-300; [L139-L140] ~zero_atan2~0 := 0.0; [L139-L140] ~pi_lo_atan2~0 := 1.2246467991473532E-16; [?] havoc main_#res; [?] havoc main_#t~nondet54, main_#t~ret55, main_#t~ret56, main_#t~short57, main_#t~ret58, main_~res~0, main_~x~0, main_~y~0; [L276] main_~x~0 := ~someBinaryArithmeticDOUBLEoperation(~someUnaryDOUBLEoperation(1.0), 0.0); [L277] main_~y~0 := main_#t~nondet54; [L277] havoc main_#t~nondet54; [L279] isinf_double_#in~x := main_~x~0; [L279] havoc isinf_double_#res; [L279] havoc isinf_double_#t~mem48, isinf_double_#t~union49, isinf_double_#t~mem50, isinf_double_#t~union51, isinf_double_~#ew_u~2, isinf_double_~x, isinf_double_~hx~2, isinf_double_~lx~1; [L245-L257] isinf_double_~x := isinf_double_#in~x; [L246] havoc isinf_double_~hx~2; [L246] havoc isinf_double_~lx~1; VAL [#NULL!base=0, #NULL!offset=0, isinf_double_#in~x=2.0, isinf_double_~x=2.0, main_~x~0=2.0, ~#aT_atan~0!base=6, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=5, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=3, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [L248] FCALL call isinf_double_~#ew_u~2 := #Ultimate.alloc(8); [L249] FCALL call write~real(isinf_double_~x, { base: isinf_double_~#ew_u~2!base, offset: isinf_double_~#ew_u~2!offset }, 8); [L250] FCALL call isinf_double_#t~mem48 := read~int({ base: isinf_double_~#ew_u~2!base, offset: 4 + isinf_double_~#ew_u~2!offset }, 4); [L250] isinf_double_~hx~2 := (if isinf_double_#t~mem48 % 4294967296 % 4294967296 <= 2147483647 then isinf_double_#t~mem48 % 4294967296 % 4294967296 else isinf_double_#t~mem48 % 4294967296 % 4294967296 - 4294967296); [L250] FCALL call write~real(isinf_double_#t~union49, { base: isinf_double_~#ew_u~2!base, offset: isinf_double_~#ew_u~2!offset }, 8); [L250] havoc isinf_double_#t~mem48; [L250] havoc isinf_double_#t~union49; [L251] FCALL call isinf_double_#t~mem50 := read~int({ base: isinf_double_~#ew_u~2!base, offset: isinf_double_~#ew_u~2!offset }, 4); [L251] isinf_double_~lx~1 := (if isinf_double_#t~mem50 % 4294967296 % 4294967296 <= 2147483647 then isinf_double_#t~mem50 % 4294967296 % 4294967296 else isinf_double_#t~mem50 % 4294967296 % 4294967296 - 4294967296); [L251] FCALL call write~real(isinf_double_#t~union51, { base: isinf_double_~#ew_u~2!base, offset: isinf_double_~#ew_u~2!offset }, 8); [L251] havoc isinf_double_#t~mem50; [L251] havoc isinf_double_#t~union51; [L248] FCALL call ULTIMATE.dealloc(isinf_double_~#ew_u~2); [L248] havoc isinf_double_~#ew_u~2; VAL [#NULL!base=0, #NULL!offset=0, isinf_double_#in~x=2.0, isinf_double_~hx~2=0, isinf_double_~lx~1=2278, isinf_double_~x=2.0, main_~x~0=2.0, ~#aT_atan~0!base=6, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=5, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=3, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [L253] isinf_double_~hx~2 := ~bitwiseAnd(isinf_double_~hx~2, 2147483647); [L254] isinf_double_~hx~2 := (if ~bitwiseOr(isinf_double_~hx~2, ~bitwiseOr(isinf_double_~lx~1, -isinf_double_~lx~1) / 2147483648) % 4294967296 % 4294967296 <= 2147483647 then ~bitwiseOr(isinf_double_~hx~2, ~bitwiseOr(isinf_double_~lx~1, -isinf_double_~lx~1) / 2147483648) % 4294967296 % 4294967296 else ~bitwiseOr(isinf_double_~hx~2, ~bitwiseOr(isinf_double_~lx~1, -isinf_double_~lx~1) / 2147483648) % 4294967296 % 4294967296 - 4294967296); [L255] isinf_double_~hx~2 := 2146435072 - isinf_double_~hx~2; [L256] isinf_double_#res := 1 - (if ~bitwiseOr(isinf_double_~hx~2, -isinf_double_~hx~2) / 2147483648 % 4294967296 % 4294967296 <= 2147483647 then ~bitwiseOr(isinf_double_~hx~2, -isinf_double_~hx~2) / 2147483648 % 4294967296 % 4294967296 else ~bitwiseOr(isinf_double_~hx~2, -isinf_double_~hx~2) / 2147483648 % 4294967296 % 4294967296 - 4294967296); [L279] main_#t~ret55 := isinf_double_#res; [L279] assume -2147483648 <= main_#t~ret55 && main_#t~ret55 <= 2147483647; [L279] main_#t~short57 := 0 != main_#t~ret55; VAL [#NULL!base=0, #NULL!offset=0, isinf_double_#in~x=2.0, isinf_double_#res=-1, isinf_double_~hx~2=2146435072, isinf_double_~lx~1=2278, isinf_double_~x=2.0, main_#t~ret55=-1, main_#t~short57=true, main_~x~0=2.0, ~#aT_atan~0!base=6, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=5, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=3, ~#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] [L279] COND TRUE main_#t~short57 [L279] isfinite_double_#in~x := main_~y~0; [L279] havoc isfinite_double_#res; [L279] havoc isfinite_double_#t~mem52, isfinite_double_#t~union53, isfinite_double_~#gh_u~3, isfinite_double_~x, isfinite_double_~hx~3; [L259-L267] isfinite_double_~x := isfinite_double_#in~x; [L260] havoc isfinite_double_~hx~3; VAL [#NULL!base=0, #NULL!offset=0, isfinite_double_#in~x=3.0, isfinite_double_~x=3.0, isinf_double_#in~x=2.0, isinf_double_#res=-1, isinf_double_~hx~2=2146435072, isinf_double_~lx~1=2278, isinf_double_~x=2.0, main_#t~ret55=-1, main_#t~short57=true, main_~x~0=2.0, main_~y~0=3.0, ~#aT_atan~0!base=6, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=5, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=3, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [L262] FCALL call isfinite_double_~#gh_u~3 := #Ultimate.alloc(8); [L263] FCALL call write~real(isfinite_double_~x, { base: isfinite_double_~#gh_u~3!base, offset: isfinite_double_~#gh_u~3!offset }, 8); [L264] FCALL call isfinite_double_#t~mem52 := read~int({ base: isfinite_double_~#gh_u~3!base, offset: 4 + isfinite_double_~#gh_u~3!offset }, 4); [L264] isfinite_double_~hx~3 := (if isfinite_double_#t~mem52 % 4294967296 % 4294967296 <= 2147483647 then isfinite_double_#t~mem52 % 4294967296 % 4294967296 else isfinite_double_#t~mem52 % 4294967296 % 4294967296 - 4294967296); [L264] FCALL call write~real(isfinite_double_#t~union53, { base: isfinite_double_~#gh_u~3!base, offset: isfinite_double_~#gh_u~3!offset }, 8); [L264] havoc isfinite_double_#t~union53; [L264] havoc isfinite_double_#t~mem52; [L262] FCALL call ULTIMATE.dealloc(isfinite_double_~#gh_u~3); [L262] havoc isfinite_double_~#gh_u~3; VAL [#NULL!base=0, #NULL!offset=0, isfinite_double_#in~x=3.0, isfinite_double_~hx~3=3504, isfinite_double_~x=3.0, isinf_double_#in~x=2.0, isinf_double_#res=-1, isinf_double_~hx~2=2146435072, isinf_double_~lx~1=2278, isinf_double_~x=2.0, main_#t~ret55=-1, main_#t~short57=true, main_~x~0=2.0, main_~y~0=3.0, ~#aT_atan~0!base=6, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=5, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=3, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [L266] isfinite_double_#res := (if (~bitwiseAnd(isfinite_double_~hx~3, 2147483647) - 2146435072) / 2147483648 % 4294967296 % 4294967296 <= 2147483647 then (~bitwiseAnd(isfinite_double_~hx~3, 2147483647) - 2146435072) / 2147483648 % 4294967296 % 4294967296 else (~bitwiseAnd(isfinite_double_~hx~3, 2147483647) - 2146435072) / 2147483648 % 4294967296 % 4294967296 - 4294967296); [L279] main_#t~ret56 := isfinite_double_#res; [L279] assume -2147483648 <= main_#t~ret56 && main_#t~ret56 <= 2147483647; [L279] main_#t~short57 := 0 != main_#t~ret56; VAL [#NULL!base=0, #NULL!offset=0, isfinite_double_#in~x=3.0, isfinite_double_#res=1, isfinite_double_~hx~3=3504, isfinite_double_~x=3.0, isinf_double_#in~x=2.0, isinf_double_#res=-1, isinf_double_~hx~2=2146435072, isinf_double_~lx~1=2278, isinf_double_~x=2.0, main_#t~ret55=-1, main_#t~ret56=1, main_#t~short57=true, main_~x~0=2.0, main_~y~0=3.0, ~#aT_atan~0!base=6, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=5, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=3, ~#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] [L279] COND TRUE main_#t~short57 && ~someBinaryDOUBLEComparisonOperation(main_~y~0, 0.0) [L279] havoc main_#t~ret56; [L279] havoc main_#t~short57; [L279] havoc main_#t~ret55; [L281] __ieee754_atan2_#in~y, __ieee754_atan2_#in~x := main_~y~0, main_~x~0; [L281] havoc __ieee754_atan2_#res; [L281] havoc __ieee754_atan2_#t~mem27, __ieee754_atan2_#t~union28, __ieee754_atan2_#t~mem29, __ieee754_atan2_#t~union30, __ieee754_atan2_~#ew_u~0, __ieee754_atan2_#t~mem31, __ieee754_atan2_#t~union32, __ieee754_atan2_#t~mem33, __ieee754_atan2_#t~union34, __ieee754_atan2_~#ew_u~1, __ieee754_atan2_#t~ret35, __ieee754_atan2_#t~switch36, __ieee754_atan2_#t~ite37, __ieee754_atan2_#t~switch38, __ieee754_atan2_#t~switch39, __ieee754_atan2_#t~ite40, __ieee754_atan2_#t~ret41, __ieee754_atan2_#t~ret42, __ieee754_atan2_#t~switch43, __ieee754_atan2_#t~mem44, __ieee754_atan2_#t~union45, __ieee754_atan2_~#gh_u~2, __ieee754_atan2_#t~mem46, __ieee754_atan2_#t~union47, __ieee754_atan2_~#sh_u~1, __ieee754_atan2_~zh~0, __ieee754_atan2_~y, __ieee754_atan2_~x, __ieee754_atan2_~z~1, __ieee754_atan2_~k~0, __ieee754_atan2_~m~0, __ieee754_atan2_~hx~1, __ieee754_atan2_~hy~0, __ieee754_atan2_~ix~1, __ieee754_atan2_~iy~0, __ieee754_atan2_~lx~0, __ieee754_atan2_~ly~0; [L142-L242] __ieee754_atan2_~y := __ieee754_atan2_#in~y; [L142-L242] __ieee754_atan2_~x := __ieee754_atan2_#in~x; [L143] havoc __ieee754_atan2_~z~1; [L144] havoc __ieee754_atan2_~k~0; [L144] havoc __ieee754_atan2_~m~0; [L144] havoc __ieee754_atan2_~hx~1; [L144] havoc __ieee754_atan2_~hy~0; [L144] havoc __ieee754_atan2_~ix~1; [L144] havoc __ieee754_atan2_~iy~0; [L145] havoc __ieee754_atan2_~lx~0; [L145] havoc __ieee754_atan2_~ly~0; VAL [#NULL!base=0, #NULL!offset=0, __ieee754_atan2_#in~x=2.0, __ieee754_atan2_#in~y=3.0, __ieee754_atan2_~x=2.0, __ieee754_atan2_~y=3.0, isfinite_double_#in~x=3.0, isfinite_double_#res=1, isfinite_double_~hx~3=3504, isfinite_double_~x=3.0, isinf_double_#in~x=2.0, isinf_double_#res=-1, isinf_double_~hx~2=2146435072, isinf_double_~lx~1=2278, isinf_double_~x=2.0, main_~x~0=2.0, main_~y~0=3.0, ~#aT_atan~0!base=6, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=5, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=3, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [L148] FCALL call __ieee754_atan2_~#ew_u~0 := #Ultimate.alloc(8); [L149] FCALL call write~real(__ieee754_atan2_~x, { base: __ieee754_atan2_~#ew_u~0!base, offset: __ieee754_atan2_~#ew_u~0!offset }, 8); [L150] FCALL call __ieee754_atan2_#t~mem27 := read~int({ base: __ieee754_atan2_~#ew_u~0!base, offset: 4 + __ieee754_atan2_~#ew_u~0!offset }, 4); [L150] __ieee754_atan2_~hx~1 := (if __ieee754_atan2_#t~mem27 % 4294967296 % 4294967296 <= 2147483647 then __ieee754_atan2_#t~mem27 % 4294967296 % 4294967296 else __ieee754_atan2_#t~mem27 % 4294967296 % 4294967296 - 4294967296); [L150] FCALL call write~real(__ieee754_atan2_#t~union28, { base: __ieee754_atan2_~#ew_u~0!base, offset: __ieee754_atan2_~#ew_u~0!offset }, 8); [L150] havoc __ieee754_atan2_#t~mem27; [L150] havoc __ieee754_atan2_#t~union28; [L151] FCALL call __ieee754_atan2_#t~mem29 := read~int({ base: __ieee754_atan2_~#ew_u~0!base, offset: __ieee754_atan2_~#ew_u~0!offset }, 4); [L151] __ieee754_atan2_~lx~0 := __ieee754_atan2_#t~mem29; [L151] FCALL call write~real(__ieee754_atan2_#t~union30, { base: __ieee754_atan2_~#ew_u~0!base, offset: __ieee754_atan2_~#ew_u~0!offset }, 8); [L151] havoc __ieee754_atan2_#t~mem29; [L151] havoc __ieee754_atan2_#t~union30; [L148] FCALL call ULTIMATE.dealloc(__ieee754_atan2_~#ew_u~0); [L148] havoc __ieee754_atan2_~#ew_u~0; VAL [#NULL!base=0, #NULL!offset=0, __ieee754_atan2_#in~x=2.0, __ieee754_atan2_#in~y=3.0, __ieee754_atan2_~hx~1=0, __ieee754_atan2_~lx~0=33, __ieee754_atan2_~x=2.0, __ieee754_atan2_~y=3.0, isfinite_double_#in~x=3.0, isfinite_double_#res=1, isfinite_double_~hx~3=3504, isfinite_double_~x=3.0, isinf_double_#in~x=2.0, isinf_double_#res=-1, isinf_double_~hx~2=2146435072, isinf_double_~lx~1=2278, isinf_double_~x=2.0, main_~x~0=2.0, main_~y~0=3.0, ~#aT_atan~0!base=6, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=5, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=3, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [L153] __ieee754_atan2_~ix~1 := ~bitwiseAnd(__ieee754_atan2_~hx~1, 2147483647); VAL [#NULL!base=0, #NULL!offset=0, __ieee754_atan2_#in~x=2.0, __ieee754_atan2_#in~y=3.0, __ieee754_atan2_~hx~1=0, __ieee754_atan2_~lx~0=33, __ieee754_atan2_~x=2.0, __ieee754_atan2_~y=3.0, isfinite_double_#in~x=3.0, isfinite_double_#res=1, isfinite_double_~hx~3=3504, isfinite_double_~x=3.0, isinf_double_#in~x=2.0, isinf_double_#res=-1, isinf_double_~hx~2=2146435072, isinf_double_~lx~1=2278, isinf_double_~x=2.0, main_~x~0=2.0, main_~y~0=3.0, ~#aT_atan~0!base=6, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=5, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=3, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [L155] FCALL call __ieee754_atan2_~#ew_u~1 := #Ultimate.alloc(8); [L156] FCALL call write~real(__ieee754_atan2_~y, { base: __ieee754_atan2_~#ew_u~1!base, offset: __ieee754_atan2_~#ew_u~1!offset }, 8); [L157] FCALL call __ieee754_atan2_#t~mem31 := read~int({ base: __ieee754_atan2_~#ew_u~1!base, offset: 4 + __ieee754_atan2_~#ew_u~1!offset }, 4); [L157] __ieee754_atan2_~hy~0 := (if __ieee754_atan2_#t~mem31 % 4294967296 % 4294967296 <= 2147483647 then __ieee754_atan2_#t~mem31 % 4294967296 % 4294967296 else __ieee754_atan2_#t~mem31 % 4294967296 % 4294967296 - 4294967296); [L157] FCALL call write~real(__ieee754_atan2_#t~union32, { base: __ieee754_atan2_~#ew_u~1!base, offset: __ieee754_atan2_~#ew_u~1!offset }, 8); [L157] havoc __ieee754_atan2_#t~mem31; [L157] havoc __ieee754_atan2_#t~union32; [L158] FCALL call __ieee754_atan2_#t~mem33 := read~int({ base: __ieee754_atan2_~#ew_u~1!base, offset: __ieee754_atan2_~#ew_u~1!offset }, 4); [L158] __ieee754_atan2_~ly~0 := __ieee754_atan2_#t~mem33; [L158] FCALL call write~real(__ieee754_atan2_#t~union34, { base: __ieee754_atan2_~#ew_u~1!base, offset: __ieee754_atan2_~#ew_u~1!offset }, 8); [L158] havoc __ieee754_atan2_#t~union34; [L158] havoc __ieee754_atan2_#t~mem33; [L155] FCALL call ULTIMATE.dealloc(__ieee754_atan2_~#ew_u~1); [L155] havoc __ieee754_atan2_~#ew_u~1; VAL [#NULL!base=0, #NULL!offset=0, __ieee754_atan2_#in~x=2.0, __ieee754_atan2_#in~y=3.0, __ieee754_atan2_~hx~1=0, __ieee754_atan2_~hy~0=0, __ieee754_atan2_~lx~0=33, __ieee754_atan2_~ly~0=26, __ieee754_atan2_~x=2.0, __ieee754_atan2_~y=3.0, isfinite_double_#in~x=3.0, isfinite_double_#res=1, isfinite_double_~hx~3=3504, isfinite_double_~x=3.0, isinf_double_#in~x=2.0, isinf_double_#res=-1, isinf_double_~hx~2=2146435072, isinf_double_~lx~1=2278, isinf_double_~x=2.0, main_~x~0=2.0, main_~y~0=3.0, ~#aT_atan~0!base=6, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=5, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=3, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [L160] __ieee754_atan2_~iy~0 := ~bitwiseAnd(__ieee754_atan2_~hy~0, 2147483647); VAL [#NULL!base=0, #NULL!offset=0, __ieee754_atan2_#in~x=2.0, __ieee754_atan2_#in~y=3.0, __ieee754_atan2_~hx~1=0, __ieee754_atan2_~hy~0=0, __ieee754_atan2_~lx~0=33, __ieee754_atan2_~ly~0=26, __ieee754_atan2_~x=2.0, __ieee754_atan2_~y=3.0, isfinite_double_#in~x=3.0, isfinite_double_#res=1, isfinite_double_~hx~3=3504, isfinite_double_~x=3.0, isinf_double_#in~x=2.0, isinf_double_#res=-1, isinf_double_~hx~2=2146435072, isinf_double_~lx~1=2278, isinf_double_~x=2.0, main_~x~0=2.0, main_~y~0=3.0, ~#aT_atan~0!base=6, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=5, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=3, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [L161-L162] COND TRUE ~bitwiseOr(__ieee754_atan2_~ix~1, ~bitwiseOr(__ieee754_atan2_~lx~0, -__ieee754_atan2_~lx~0) / 2147483648) % 4294967296 > 2146435072 || ~bitwiseOr(__ieee754_atan2_~iy~0, ~bitwiseOr(__ieee754_atan2_~ly~0, -__ieee754_atan2_~ly~0) / 2147483648) % 4294967296 > 2146435072 [L163] __ieee754_atan2_#res := ~someBinaryArithmeticDOUBLEoperation(__ieee754_atan2_~x, __ieee754_atan2_~y); VAL [#NULL!base=0, #NULL!offset=0, __ieee754_atan2_#in~x=2.0, __ieee754_atan2_#in~y=3.0, __ieee754_atan2_~hx~1=0, __ieee754_atan2_~hy~0=0, __ieee754_atan2_~lx~0=33, __ieee754_atan2_~ly~0=26, __ieee754_atan2_~x=2.0, __ieee754_atan2_~y=3.0, isfinite_double_#in~x=3.0, isfinite_double_#res=1, isfinite_double_~hx~3=3504, isfinite_double_~x=3.0, isinf_double_#in~x=2.0, isinf_double_#res=-1, isinf_double_~hx~2=2146435072, isinf_double_~lx~1=2278, isinf_double_~x=2.0, main_~x~0=2.0, main_~y~0=3.0, ~#aT_atan~0!base=6, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=5, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=3, ~#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] [L281] main_#t~ret58 := __ieee754_atan2_#res; [L281] main_~res~0 := main_#t~ret58; [L281] havoc main_#t~ret58; VAL [#NULL!base=0, #NULL!offset=0, __ieee754_atan2_#in~x=2.0, __ieee754_atan2_#in~y=3.0, __ieee754_atan2_#res=7.0, __ieee754_atan2_~hx~1=0, __ieee754_atan2_~hy~0=0, __ieee754_atan2_~lx~0=33, __ieee754_atan2_~ly~0=26, __ieee754_atan2_~x=2.0, __ieee754_atan2_~y=3.0, isfinite_double_#in~x=3.0, isfinite_double_#res=1, isfinite_double_~hx~3=3504, isfinite_double_~x=3.0, isinf_double_#in~x=2.0, isinf_double_#res=-1, isinf_double_~hx~2=2146435072, isinf_double_~lx~1=2278, isinf_double_~x=2.0, main_~res~0=7.0, main_~x~0=2.0, main_~y~0=3.0, ~#aT_atan~0!base=6, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=5, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=3, ~#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] [L284] COND TRUE ~someBinaryDOUBLEComparisonOperation(main_~res~0, ~pi~0) VAL [#NULL!base=0, #NULL!offset=0, __ieee754_atan2_#in~x=2.0, __ieee754_atan2_#in~y=3.0, __ieee754_atan2_#res=7.0, __ieee754_atan2_~hx~1=0, __ieee754_atan2_~hy~0=0, __ieee754_atan2_~lx~0=33, __ieee754_atan2_~ly~0=26, __ieee754_atan2_~x=2.0, __ieee754_atan2_~y=3.0, isfinite_double_#in~x=3.0, isfinite_double_#res=1, isfinite_double_~hx~3=3504, isfinite_double_~x=3.0, isinf_double_#in~x=2.0, isinf_double_#res=-1, isinf_double_~hx~2=2146435072, isinf_double_~lx~1=2278, isinf_double_~x=2.0, main_~res~0=7.0, main_~x~0=2.0, main_~y~0=3.0, ~#aT_atan~0!base=6, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=5, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=3, ~#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] [L285] assert false; VAL [#NULL!base=0, #NULL!offset=0, __ieee754_atan2_#in~x=2.0, __ieee754_atan2_#in~y=3.0, __ieee754_atan2_#res=7.0, __ieee754_atan2_~hx~1=0, __ieee754_atan2_~hy~0=0, __ieee754_atan2_~lx~0=33, __ieee754_atan2_~ly~0=26, __ieee754_atan2_~x=2.0, __ieee754_atan2_~y=3.0, isfinite_double_#in~x=3.0, isfinite_double_#res=1, isfinite_double_~hx~3=3504, isfinite_double_~x=3.0, isinf_double_#in~x=2.0, isinf_double_#res=-1, isinf_double_~hx~2=2146435072, isinf_double_~lx~1=2278, isinf_double_~x=2.0, main_~res~0=7.0, main_~x~0=2.0, main_~y~0=3.0, ~#aT_atan~0!base=6, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=5, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=3, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [?] #NULL := { base: 0, offset: 0 }; [?] #valid[0] := 0; [L37-L42] FCALL call ~#atanhi_atan~0 := #Ultimate.alloc(32); [L37-L42] FCALL call write~init~real(0.4636476090008061, { base: ~#atanhi_atan~0!base, offset: ~#atanhi_atan~0!offset }, 8); [L37-L42] FCALL call write~init~real(0.7853981633974483, { base: ~#atanhi_atan~0!base, offset: 8 + ~#atanhi_atan~0!offset }, 8); [L37-L42] FCALL call write~init~real(0.982793723247329, { base: ~#atanhi_atan~0!base, offset: 16 + ~#atanhi_atan~0!offset }, 8); [L37-L42] FCALL call write~init~real(1.5707963267948966, { base: ~#atanhi_atan~0!base, offset: 24 + ~#atanhi_atan~0!offset }, 8); [L44-L49] FCALL call ~#atanlo_atan~0 := #Ultimate.alloc(32); [L44-L49] FCALL call write~init~real(2.2698777452961687E-17, { base: ~#atanlo_atan~0!base, offset: ~#atanlo_atan~0!offset }, 8); [L44-L49] FCALL call write~init~real(3.061616997868383E-17, { base: ~#atanlo_atan~0!base, offset: 8 + ~#atanlo_atan~0!offset }, 8); [L44-L49] FCALL call write~init~real(1.3903311031230998E-17, { base: ~#atanlo_atan~0!base, offset: 16 + ~#atanlo_atan~0!offset }, 8); [L44-L49] FCALL call write~init~real(6.123233995736766E-17, { base: ~#atanlo_atan~0!base, offset: 24 + ~#atanlo_atan~0!offset }, 8); [L51-L58] FCALL call ~#aT_atan~0 := #Ultimate.alloc(88); [L51-L58] FCALL call write~init~real(0.3333333333333293, { base: ~#aT_atan~0!base, offset: ~#aT_atan~0!offset }, 8); [L51-L58] FCALL call write~init~real(~someUnaryDOUBLEoperation(0.19999999999876483), { base: ~#aT_atan~0!base, offset: 8 + ~#aT_atan~0!offset }, 8); [L51-L58] FCALL call write~init~real(0.14285714272503466, { base: ~#aT_atan~0!base, offset: 16 + ~#aT_atan~0!offset }, 8); [L51-L58] FCALL call write~init~real(~someUnaryDOUBLEoperation(0.11111110405462356), { base: ~#aT_atan~0!base, offset: 24 + ~#aT_atan~0!offset }, 8); [L51-L58] FCALL call write~init~real(0.09090887133436507, { base: ~#aT_atan~0!base, offset: 32 + ~#aT_atan~0!offset }, 8); [L51-L58] FCALL call write~init~real(~someUnaryDOUBLEoperation(0.0769187620504483), { base: ~#aT_atan~0!base, offset: 40 + ~#aT_atan~0!offset }, 8); [L51-L58] FCALL call write~init~real(0.06661073137387531, { base: ~#aT_atan~0!base, offset: 48 + ~#aT_atan~0!offset }, 8); [L51-L58] FCALL call write~init~real(~someUnaryDOUBLEoperation(0.058335701337905735), { base: ~#aT_atan~0!base, offset: 56 + ~#aT_atan~0!offset }, 8); [L51-L58] FCALL call write~init~real(0.049768779946159324, { base: ~#aT_atan~0!base, offset: 64 + ~#aT_atan~0!offset }, 8); [L51-L58] FCALL call write~init~real(~someUnaryDOUBLEoperation(0.036531572744216916), { base: ~#aT_atan~0!base, offset: 72 + ~#aT_atan~0!offset }, 8); [L51-L58] FCALL call write~init~real(0.016285820115365782, { base: ~#aT_atan~0!base, offset: 80 + ~#aT_atan~0!offset }, 8); [L60-L62] ~one_atan~0 := 1.0; [L60-L62] ~pi_o_4~0 := 0.7853981633974483; [L60-L62] ~pi_o_2~0 := 1.5707963267948966; [L60-L62] ~pi~0 := 3.141592653589793; [L60-L62] ~huge_atan~0 := 1.0E300; [L139-L140] ~tiny_atan2~0 := 1.0E-300; [L139-L140] ~zero_atan2~0 := 0.0; [L139-L140] ~pi_lo_atan2~0 := 1.2246467991473532E-16; [L276] ~x~0 := ~someBinaryArithmeticDOUBLEoperation(~someUnaryDOUBLEoperation(1.0), 0.0); [L277] ~y~0 := #t~nondet54; [L277] havoc #t~nondet54; [L245-L257] ~x := #in~x; [L246] havoc ~hx~2; [L246] havoc ~lx~1; VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=6, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=5, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=3, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [L248] FCALL call ~#ew_u~2 := #Ultimate.alloc(8); [L249] FCALL call write~real(~x, { base: ~#ew_u~2!base, offset: ~#ew_u~2!offset }, 8); [L250] FCALL call #t~mem48 := read~int({ base: ~#ew_u~2!base, offset: 4 + ~#ew_u~2!offset }, 4); [L250] ~hx~2 := (if #t~mem48 % 4294967296 % 4294967296 <= 2147483647 then #t~mem48 % 4294967296 % 4294967296 else #t~mem48 % 4294967296 % 4294967296 - 4294967296); [L250] FCALL call write~real(#t~union49, { base: ~#ew_u~2!base, offset: ~#ew_u~2!offset }, 8); [L250] havoc #t~mem48; [L250] havoc #t~union49; [L251] FCALL call #t~mem50 := read~int({ base: ~#ew_u~2!base, offset: ~#ew_u~2!offset }, 4); [L251] ~lx~1 := (if #t~mem50 % 4294967296 % 4294967296 <= 2147483647 then #t~mem50 % 4294967296 % 4294967296 else #t~mem50 % 4294967296 % 4294967296 - 4294967296); [L251] FCALL call write~real(#t~union51, { base: ~#ew_u~2!base, offset: ~#ew_u~2!offset }, 8); [L251] havoc #t~mem50; [L251] havoc #t~union51; [L248] FCALL call ULTIMATE.dealloc(~#ew_u~2); [L248] havoc ~#ew_u~2; VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=6, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=5, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=3, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [L253] ~hx~2 := ~bitwiseAnd(~hx~2, 2147483647); [L254] ~hx~2 := (if ~bitwiseOr(~hx~2, ~bitwiseOr(~lx~1, -~lx~1) / 2147483648) % 4294967296 % 4294967296 <= 2147483647 then ~bitwiseOr(~hx~2, ~bitwiseOr(~lx~1, -~lx~1) / 2147483648) % 4294967296 % 4294967296 else ~bitwiseOr(~hx~2, ~bitwiseOr(~lx~1, -~lx~1) / 2147483648) % 4294967296 % 4294967296 - 4294967296); [L255] ~hx~2 := 2146435072 - ~hx~2; [L256] #res := 1 - (if ~bitwiseOr(~hx~2, -~hx~2) / 2147483648 % 4294967296 % 4294967296 <= 2147483647 then ~bitwiseOr(~hx~2, -~hx~2) / 2147483648 % 4294967296 % 4294967296 else ~bitwiseOr(~hx~2, -~hx~2) / 2147483648 % 4294967296 % 4294967296 - 4294967296); [L279] assume -2147483648 <= #t~ret55 && #t~ret55 <= 2147483647; [L279] #t~short57 := 0 != #t~ret55; VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=6, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=5, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=3, ~#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] [L279] COND TRUE #t~short57 [L259-L267] ~x := #in~x; [L260] havoc ~hx~3; VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=6, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=5, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=3, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [L262] FCALL call ~#gh_u~3 := #Ultimate.alloc(8); [L263] FCALL call write~real(~x, { base: ~#gh_u~3!base, offset: ~#gh_u~3!offset }, 8); [L264] FCALL call #t~mem52 := read~int({ base: ~#gh_u~3!base, offset: 4 + ~#gh_u~3!offset }, 4); [L264] ~hx~3 := (if #t~mem52 % 4294967296 % 4294967296 <= 2147483647 then #t~mem52 % 4294967296 % 4294967296 else #t~mem52 % 4294967296 % 4294967296 - 4294967296); [L264] FCALL call write~real(#t~union53, { base: ~#gh_u~3!base, offset: ~#gh_u~3!offset }, 8); [L264] havoc #t~union53; [L264] havoc #t~mem52; [L262] FCALL call ULTIMATE.dealloc(~#gh_u~3); [L262] havoc ~#gh_u~3; VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=6, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=5, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=3, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [L266] #res := (if (~bitwiseAnd(~hx~3, 2147483647) - 2146435072) / 2147483648 % 4294967296 % 4294967296 <= 2147483647 then (~bitwiseAnd(~hx~3, 2147483647) - 2146435072) / 2147483648 % 4294967296 % 4294967296 else (~bitwiseAnd(~hx~3, 2147483647) - 2146435072) / 2147483648 % 4294967296 % 4294967296 - 4294967296); [L279] assume -2147483648 <= #t~ret56 && #t~ret56 <= 2147483647; [L279] #t~short57 := 0 != #t~ret56; VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=6, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=5, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=3, ~#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] [L279] COND TRUE #t~short57 && ~someBinaryDOUBLEComparisonOperation(~y~0, 0.0) [L279] havoc #t~ret56; [L279] havoc #t~short57; [L279] havoc #t~ret55; [L142-L242] ~y := #in~y; [L142-L242] ~x := #in~x; [L143] havoc ~z~1; [L144] havoc ~k~0; [L144] havoc ~m~0; [L144] havoc ~hx~1; [L144] havoc ~hy~0; [L144] havoc ~ix~1; [L144] havoc ~iy~0; [L145] havoc ~lx~0; [L145] havoc ~ly~0; VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=6, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=5, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=3, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [L148] FCALL call ~#ew_u~0 := #Ultimate.alloc(8); [L149] FCALL call write~real(~x, { base: ~#ew_u~0!base, offset: ~#ew_u~0!offset }, 8); [L150] FCALL call #t~mem27 := read~int({ base: ~#ew_u~0!base, offset: 4 + ~#ew_u~0!offset }, 4); [L150] ~hx~1 := (if #t~mem27 % 4294967296 % 4294967296 <= 2147483647 then #t~mem27 % 4294967296 % 4294967296 else #t~mem27 % 4294967296 % 4294967296 - 4294967296); [L150] FCALL call write~real(#t~union28, { base: ~#ew_u~0!base, offset: ~#ew_u~0!offset }, 8); [L150] havoc #t~mem27; [L150] havoc #t~union28; [L151] FCALL call #t~mem29 := read~int({ base: ~#ew_u~0!base, offset: ~#ew_u~0!offset }, 4); [L151] ~lx~0 := #t~mem29; [L151] FCALL call write~real(#t~union30, { base: ~#ew_u~0!base, offset: ~#ew_u~0!offset }, 8); [L151] havoc #t~mem29; [L151] havoc #t~union30; [L148] FCALL call ULTIMATE.dealloc(~#ew_u~0); [L148] havoc ~#ew_u~0; VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=6, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=5, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=3, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [L153] ~ix~1 := ~bitwiseAnd(~hx~1, 2147483647); VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=6, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=5, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=3, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [L155] FCALL call ~#ew_u~1 := #Ultimate.alloc(8); [L156] FCALL call write~real(~y, { base: ~#ew_u~1!base, offset: ~#ew_u~1!offset }, 8); [L157] FCALL call #t~mem31 := read~int({ base: ~#ew_u~1!base, offset: 4 + ~#ew_u~1!offset }, 4); [L157] ~hy~0 := (if #t~mem31 % 4294967296 % 4294967296 <= 2147483647 then #t~mem31 % 4294967296 % 4294967296 else #t~mem31 % 4294967296 % 4294967296 - 4294967296); [L157] FCALL call write~real(#t~union32, { base: ~#ew_u~1!base, offset: ~#ew_u~1!offset }, 8); [L157] havoc #t~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~union34; [L158] havoc #t~mem33; [L155] FCALL call ULTIMATE.dealloc(~#ew_u~1); [L155] havoc ~#ew_u~1; VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=6, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=5, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=3, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [L160] ~iy~0 := ~bitwiseAnd(~hy~0, 2147483647); VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=6, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=5, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=3, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [L161-L162] COND TRUE ~bitwiseOr(~ix~1, ~bitwiseOr(~lx~0, -~lx~0) / 2147483648) % 4294967296 > 2146435072 || ~bitwiseOr(~iy~0, ~bitwiseOr(~ly~0, -~ly~0) / 2147483648) % 4294967296 > 2146435072 [L163] #res := ~someBinaryArithmeticDOUBLEoperation(~x, ~y); VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=6, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=5, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=3, ~#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] [L281] ~res~0 := #t~ret58; [L281] havoc #t~ret58; VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=6, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=5, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=3, ~#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] [L284] COND TRUE ~someBinaryDOUBLEComparisonOperation(~res~0, ~pi~0) VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=6, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=5, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=3, ~#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] [L285] assert false; VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=6, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=5, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=3, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] ----- ----- class de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.CACSL2BoogieBacktranslator [?] #NULL := { base: 0, offset: 0 }; [?] #valid[0] := 0; [L37-L42] FCALL call ~#atanhi_atan~0 := #Ultimate.alloc(32); [L37-L42] FCALL call write~init~real(0.4636476090008061, { base: ~#atanhi_atan~0!base, offset: ~#atanhi_atan~0!offset }, 8); [L37-L42] FCALL call write~init~real(0.7853981633974483, { base: ~#atanhi_atan~0!base, offset: 8 + ~#atanhi_atan~0!offset }, 8); [L37-L42] FCALL call write~init~real(0.982793723247329, { base: ~#atanhi_atan~0!base, offset: 16 + ~#atanhi_atan~0!offset }, 8); [L37-L42] FCALL call write~init~real(1.5707963267948966, { base: ~#atanhi_atan~0!base, offset: 24 + ~#atanhi_atan~0!offset }, 8); [L44-L49] FCALL call ~#atanlo_atan~0 := #Ultimate.alloc(32); [L44-L49] FCALL call write~init~real(2.2698777452961687E-17, { base: ~#atanlo_atan~0!base, offset: ~#atanlo_atan~0!offset }, 8); [L44-L49] FCALL call write~init~real(3.061616997868383E-17, { base: ~#atanlo_atan~0!base, offset: 8 + ~#atanlo_atan~0!offset }, 8); [L44-L49] FCALL call write~init~real(1.3903311031230998E-17, { base: ~#atanlo_atan~0!base, offset: 16 + ~#atanlo_atan~0!offset }, 8); [L44-L49] FCALL call write~init~real(6.123233995736766E-17, { base: ~#atanlo_atan~0!base, offset: 24 + ~#atanlo_atan~0!offset }, 8); [L51-L58] FCALL call ~#aT_atan~0 := #Ultimate.alloc(88); [L51-L58] FCALL call write~init~real(0.3333333333333293, { base: ~#aT_atan~0!base, offset: ~#aT_atan~0!offset }, 8); [L51-L58] FCALL call write~init~real(~someUnaryDOUBLEoperation(0.19999999999876483), { base: ~#aT_atan~0!base, offset: 8 + ~#aT_atan~0!offset }, 8); [L51-L58] FCALL call write~init~real(0.14285714272503466, { base: ~#aT_atan~0!base, offset: 16 + ~#aT_atan~0!offset }, 8); [L51-L58] FCALL call write~init~real(~someUnaryDOUBLEoperation(0.11111110405462356), { base: ~#aT_atan~0!base, offset: 24 + ~#aT_atan~0!offset }, 8); [L51-L58] FCALL call write~init~real(0.09090887133436507, { base: ~#aT_atan~0!base, offset: 32 + ~#aT_atan~0!offset }, 8); [L51-L58] FCALL call write~init~real(~someUnaryDOUBLEoperation(0.0769187620504483), { base: ~#aT_atan~0!base, offset: 40 + ~#aT_atan~0!offset }, 8); [L51-L58] FCALL call write~init~real(0.06661073137387531, { base: ~#aT_atan~0!base, offset: 48 + ~#aT_atan~0!offset }, 8); [L51-L58] FCALL call write~init~real(~someUnaryDOUBLEoperation(0.058335701337905735), { base: ~#aT_atan~0!base, offset: 56 + ~#aT_atan~0!offset }, 8); [L51-L58] FCALL call write~init~real(0.049768779946159324, { base: ~#aT_atan~0!base, offset: 64 + ~#aT_atan~0!offset }, 8); [L51-L58] FCALL call write~init~real(~someUnaryDOUBLEoperation(0.036531572744216916), { base: ~#aT_atan~0!base, offset: 72 + ~#aT_atan~0!offset }, 8); [L51-L58] FCALL call write~init~real(0.016285820115365782, { base: ~#aT_atan~0!base, offset: 80 + ~#aT_atan~0!offset }, 8); [L60-L62] ~one_atan~0 := 1.0; [L60-L62] ~pi_o_4~0 := 0.7853981633974483; [L60-L62] ~pi_o_2~0 := 1.5707963267948966; [L60-L62] ~pi~0 := 3.141592653589793; [L60-L62] ~huge_atan~0 := 1.0E300; [L139-L140] ~tiny_atan2~0 := 1.0E-300; [L139-L140] ~zero_atan2~0 := 0.0; [L139-L140] ~pi_lo_atan2~0 := 1.2246467991473532E-16; [L276] ~x~0 := ~someBinaryArithmeticDOUBLEoperation(~someUnaryDOUBLEoperation(1.0), 0.0); [L277] ~y~0 := #t~nondet54; [L277] havoc #t~nondet54; [L245-L257] ~x := #in~x; [L246] havoc ~hx~2; [L246] havoc ~lx~1; VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=6, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=5, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=3, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [L248] FCALL call ~#ew_u~2 := #Ultimate.alloc(8); [L249] FCALL call write~real(~x, { base: ~#ew_u~2!base, offset: ~#ew_u~2!offset }, 8); [L250] FCALL call #t~mem48 := read~int({ base: ~#ew_u~2!base, offset: 4 + ~#ew_u~2!offset }, 4); [L250] ~hx~2 := (if #t~mem48 % 4294967296 % 4294967296 <= 2147483647 then #t~mem48 % 4294967296 % 4294967296 else #t~mem48 % 4294967296 % 4294967296 - 4294967296); [L250] FCALL call write~real(#t~union49, { base: ~#ew_u~2!base, offset: ~#ew_u~2!offset }, 8); [L250] havoc #t~mem48; [L250] havoc #t~union49; [L251] FCALL call #t~mem50 := read~int({ base: ~#ew_u~2!base, offset: ~#ew_u~2!offset }, 4); [L251] ~lx~1 := (if #t~mem50 % 4294967296 % 4294967296 <= 2147483647 then #t~mem50 % 4294967296 % 4294967296 else #t~mem50 % 4294967296 % 4294967296 - 4294967296); [L251] FCALL call write~real(#t~union51, { base: ~#ew_u~2!base, offset: ~#ew_u~2!offset }, 8); [L251] havoc #t~mem50; [L251] havoc #t~union51; [L248] FCALL call ULTIMATE.dealloc(~#ew_u~2); [L248] havoc ~#ew_u~2; VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=6, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=5, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=3, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [L253] ~hx~2 := ~bitwiseAnd(~hx~2, 2147483647); [L254] ~hx~2 := (if ~bitwiseOr(~hx~2, ~bitwiseOr(~lx~1, -~lx~1) / 2147483648) % 4294967296 % 4294967296 <= 2147483647 then ~bitwiseOr(~hx~2, ~bitwiseOr(~lx~1, -~lx~1) / 2147483648) % 4294967296 % 4294967296 else ~bitwiseOr(~hx~2, ~bitwiseOr(~lx~1, -~lx~1) / 2147483648) % 4294967296 % 4294967296 - 4294967296); [L255] ~hx~2 := 2146435072 - ~hx~2; [L256] #res := 1 - (if ~bitwiseOr(~hx~2, -~hx~2) / 2147483648 % 4294967296 % 4294967296 <= 2147483647 then ~bitwiseOr(~hx~2, -~hx~2) / 2147483648 % 4294967296 % 4294967296 else ~bitwiseOr(~hx~2, -~hx~2) / 2147483648 % 4294967296 % 4294967296 - 4294967296); [L279] assume -2147483648 <= #t~ret55 && #t~ret55 <= 2147483647; [L279] #t~short57 := 0 != #t~ret55; VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=6, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=5, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=3, ~#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] [L279] COND TRUE #t~short57 [L259-L267] ~x := #in~x; [L260] havoc ~hx~3; VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=6, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=5, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=3, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [L262] FCALL call ~#gh_u~3 := #Ultimate.alloc(8); [L263] FCALL call write~real(~x, { base: ~#gh_u~3!base, offset: ~#gh_u~3!offset }, 8); [L264] FCALL call #t~mem52 := read~int({ base: ~#gh_u~3!base, offset: 4 + ~#gh_u~3!offset }, 4); [L264] ~hx~3 := (if #t~mem52 % 4294967296 % 4294967296 <= 2147483647 then #t~mem52 % 4294967296 % 4294967296 else #t~mem52 % 4294967296 % 4294967296 - 4294967296); [L264] FCALL call write~real(#t~union53, { base: ~#gh_u~3!base, offset: ~#gh_u~3!offset }, 8); [L264] havoc #t~union53; [L264] havoc #t~mem52; [L262] FCALL call ULTIMATE.dealloc(~#gh_u~3); [L262] havoc ~#gh_u~3; VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=6, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=5, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=3, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [L266] #res := (if (~bitwiseAnd(~hx~3, 2147483647) - 2146435072) / 2147483648 % 4294967296 % 4294967296 <= 2147483647 then (~bitwiseAnd(~hx~3, 2147483647) - 2146435072) / 2147483648 % 4294967296 % 4294967296 else (~bitwiseAnd(~hx~3, 2147483647) - 2146435072) / 2147483648 % 4294967296 % 4294967296 - 4294967296); [L279] assume -2147483648 <= #t~ret56 && #t~ret56 <= 2147483647; [L279] #t~short57 := 0 != #t~ret56; VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=6, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=5, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=3, ~#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] [L279] COND TRUE #t~short57 && ~someBinaryDOUBLEComparisonOperation(~y~0, 0.0) [L279] havoc #t~ret56; [L279] havoc #t~short57; [L279] havoc #t~ret55; [L142-L242] ~y := #in~y; [L142-L242] ~x := #in~x; [L143] havoc ~z~1; [L144] havoc ~k~0; [L144] havoc ~m~0; [L144] havoc ~hx~1; [L144] havoc ~hy~0; [L144] havoc ~ix~1; [L144] havoc ~iy~0; [L145] havoc ~lx~0; [L145] havoc ~ly~0; VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=6, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=5, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=3, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [L148] FCALL call ~#ew_u~0 := #Ultimate.alloc(8); [L149] FCALL call write~real(~x, { base: ~#ew_u~0!base, offset: ~#ew_u~0!offset }, 8); [L150] FCALL call #t~mem27 := read~int({ base: ~#ew_u~0!base, offset: 4 + ~#ew_u~0!offset }, 4); [L150] ~hx~1 := (if #t~mem27 % 4294967296 % 4294967296 <= 2147483647 then #t~mem27 % 4294967296 % 4294967296 else #t~mem27 % 4294967296 % 4294967296 - 4294967296); [L150] FCALL call write~real(#t~union28, { base: ~#ew_u~0!base, offset: ~#ew_u~0!offset }, 8); [L150] havoc #t~mem27; [L150] havoc #t~union28; [L151] FCALL call #t~mem29 := read~int({ base: ~#ew_u~0!base, offset: ~#ew_u~0!offset }, 4); [L151] ~lx~0 := #t~mem29; [L151] FCALL call write~real(#t~union30, { base: ~#ew_u~0!base, offset: ~#ew_u~0!offset }, 8); [L151] havoc #t~mem29; [L151] havoc #t~union30; [L148] FCALL call ULTIMATE.dealloc(~#ew_u~0); [L148] havoc ~#ew_u~0; VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=6, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=5, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=3, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [L153] ~ix~1 := ~bitwiseAnd(~hx~1, 2147483647); VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=6, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=5, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=3, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [L155] FCALL call ~#ew_u~1 := #Ultimate.alloc(8); [L156] FCALL call write~real(~y, { base: ~#ew_u~1!base, offset: ~#ew_u~1!offset }, 8); [L157] FCALL call #t~mem31 := read~int({ base: ~#ew_u~1!base, offset: 4 + ~#ew_u~1!offset }, 4); [L157] ~hy~0 := (if #t~mem31 % 4294967296 % 4294967296 <= 2147483647 then #t~mem31 % 4294967296 % 4294967296 else #t~mem31 % 4294967296 % 4294967296 - 4294967296); [L157] FCALL call write~real(#t~union32, { base: ~#ew_u~1!base, offset: ~#ew_u~1!offset }, 8); [L157] havoc #t~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~union34; [L158] havoc #t~mem33; [L155] FCALL call ULTIMATE.dealloc(~#ew_u~1); [L155] havoc ~#ew_u~1; VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=6, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=5, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=3, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [L160] ~iy~0 := ~bitwiseAnd(~hy~0, 2147483647); VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=6, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=5, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=3, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [L161-L162] COND TRUE ~bitwiseOr(~ix~1, ~bitwiseOr(~lx~0, -~lx~0) / 2147483648) % 4294967296 > 2146435072 || ~bitwiseOr(~iy~0, ~bitwiseOr(~ly~0, -~ly~0) / 2147483648) % 4294967296 > 2146435072 [L163] #res := ~someBinaryArithmeticDOUBLEoperation(~x, ~y); VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=6, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=5, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=3, ~#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] [L281] ~res~0 := #t~ret58; [L281] havoc #t~ret58; VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=6, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=5, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=3, ~#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] [L284] COND TRUE ~someBinaryDOUBLEComparisonOperation(~res~0, ~pi~0) VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=6, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=5, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=3, ~#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] [L285] assert false; VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=6, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=5, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=3, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [L37-L42] static const double atanhi_atan[] = { 4.63647609000806093515e-01, 7.85398163397448278999e-01, 9.82793723247329054082e-01, 1.57079632679489655800e+00, }; [L44-L49] static const double atanlo_atan[] = { 2.26987774529616870924e-17, 3.06161699786838301793e-17, 1.39033110312309984516e-17, 6.12323399573676603587e-17, }; [L51-L58] static const double aT_atan[] = { 3.33333333333329318027e-01, -1.99999999998764832476e-01, 1.42857142725034663711e-01, -1.11111104054623557880e-01, 9.09088713343650656196e-02, -7.69187620504482999495e-02, 6.66107313738753120669e-02, -5.83357013379057348645e-02, 4.97687799461593236017e-02, -3.65315727442169155270e-02, 1.62858201153657823623e-02, }; [L60-L62] static const double one_atan = 1.0, pi_o_4 = 7.8539816339744827900E-01, pi_o_2 = 1.5707963267948965580E+00, pi = 3.1415926535897931160E+00, huge_atan = 1.0e300; [L139-L140] static const double tiny_atan2 = 1.0e-300, zero_atan2 = 0.0, pi_lo_atan2 = 1.2246467991473531772E-16; [L276] double x = -1.0 / 0.0; [L277] double y = __VERIFIER_nondet_double(); [L246] __int32_t hx, lx; VAL [aT_atan={6:0}, atanhi_atan={5:0}, atanlo_atan={3:0}, huge_atan=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, one_atan=1, pi=785398163397448279/250000000000000000, pi_lo_atan2=3061616997868382943/25000000000000000000000000000000000, pi_o_2=785398163397448279/500000000000000000, pi_o_4=785398163397448279/1000000000000000000, tiny_atan2=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, zero_atan2=0] [L248] ieee_double_shape_type ew_u; [L249] ew_u.value = (x) [L250] EXPR ew_u.parts.msw [L250] (hx) = ew_u.parts.msw [L251] EXPR ew_u.parts.lsw [L251] (lx) = ew_u.parts.lsw [L253] hx &= 0x7fffffff [L254] hx |= (__uint32_t)(lx | (-lx)) >> 31 [L255] hx = 0x7ff00000 - hx [L256] return 1 - (int)((__uint32_t)(hx | (-hx)) >> 31); [L279] EXPR isinf_double(x) && isfinite_double(y) [L260] __int32_t hx; VAL [aT_atan={6:0}, atanhi_atan={5:0}, atanlo_atan={3:0}, huge_atan=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, one_atan=1, pi=785398163397448279/250000000000000000, pi_lo_atan2=3061616997868382943/25000000000000000000000000000000000, pi_o_2=785398163397448279/500000000000000000, pi_o_4=785398163397448279/1000000000000000000, tiny_atan2=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, zero_atan2=0] [L262] ieee_double_shape_type gh_u; [L263] gh_u.value = (x) [L264] EXPR gh_u.parts.msw [L264] (hx) = gh_u.parts.msw [L266] return (int)((__uint32_t)((hx & 0x7fffffff) - 0x7ff00000) >> 31); [L279] EXPR isinf_double(x) && isfinite_double(y) VAL [aT_atan={6:0}, atanhi_atan={5:0}, atanlo_atan={3: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] [L279] COND TRUE isinf_double(x) && isfinite_double(y) && y > 0.0 [L143] double z; [L144] __int32_t k, m, hx, hy, ix, iy; [L145] __uint32_t lx, ly; VAL [aT_atan={6:0}, atanhi_atan={5:0}, atanlo_atan={3:0}, huge_atan=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, one_atan=1, pi=785398163397448279/250000000000000000, pi_lo_atan2=3061616997868382943/25000000000000000000000000000000000, pi_o_2=785398163397448279/500000000000000000, pi_o_4=785398163397448279/1000000000000000000, tiny_atan2=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, zero_atan2=0] [L148] ieee_double_shape_type ew_u; [L149] ew_u.value = (x) [L150] EXPR ew_u.parts.msw [L150] (hx) = ew_u.parts.msw [L151] EXPR ew_u.parts.lsw [L151] (lx) = ew_u.parts.lsw [L153] ix = hx & 0x7fffffff VAL [aT_atan={6:0}, atanhi_atan={5:0}, atanlo_atan={3:0}, huge_atan=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, one_atan=1, pi=785398163397448279/250000000000000000, pi_lo_atan2=3061616997868382943/25000000000000000000000000000000000, pi_o_2=785398163397448279/500000000000000000, pi_o_4=785398163397448279/1000000000000000000, tiny_atan2=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, zero_atan2=0] [L155] ieee_double_shape_type ew_u; [L156] ew_u.value = (y) [L157] EXPR ew_u.parts.msw [L157] (hy) = ew_u.parts.msw [L158] EXPR ew_u.parts.lsw [L158] (ly) = ew_u.parts.lsw [L160] iy = hy & 0x7fffffff VAL [aT_atan={6:0}, atanhi_atan={5:0}, atanlo_atan={3:0}, huge_atan=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, one_atan=1, pi=785398163397448279/250000000000000000, pi_lo_atan2=3061616997868382943/25000000000000000000000000000000000, pi_o_2=785398163397448279/500000000000000000, pi_o_4=785398163397448279/1000000000000000000, tiny_atan2=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, zero_atan2=0] [L161-L162] COND TRUE ((ix | ((lx | -lx) >> 31)) > 0x7ff00000) || ((iy | ((ly | -ly) >> 31)) > 0x7ff00000) [L163] return x + y; VAL [aT_atan={6:0}, atanhi_atan={5:0}, atanlo_atan={3: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] [L281] double res = __ieee754_atan2(y, x); [L284] COND TRUE res != pi VAL [aT_atan={6:0}, atanhi_atan={5:0}, atanlo_atan={3: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] [L285] __VERIFIER_error() VAL [aT_atan={6:0}, atanhi_atan={5:0}, atanlo_atan={3:0}, huge_atan=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, one_atan=1, pi=785398163397448279/250000000000000000, pi_lo_atan2=3061616997868382943/25000000000000000000000000000000000, pi_o_2=785398163397448279/500000000000000000, pi_o_4=785398163397448279/1000000000000000000, tiny_atan2=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, zero_atan2=0] ----- [2018-11-23 05:24:20,116 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.codecheck CFG 23.11 05:24:20 ImpRootNode [2018-11-23 05:24:20,117 INFO L132 PluginConnector]: ------------------------ END CodeCheck---------------------------- [2018-11-23 05:24:20,117 INFO L113 PluginConnector]: ------------------------Witness Printer---------------------------- [2018-11-23 05:24:20,117 INFO L271 PluginConnector]: Initializing Witness Printer... [2018-11-23 05:24:20,120 INFO L276 PluginConnector]: Witness Printer initialized [2018-11-23 05:24:20,120 INFO L185 PluginConnector]: Executing the observer RCFGCatcher from plugin Witness Printer for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 23.11 05:24:19" (3/4) ... [2018-11-23 05:24:20,123 INFO L147 WitnessPrinter]: No result that supports witness generation found [2018-11-23 05:24:20,123 INFO L132 PluginConnector]: ------------------------ END Witness Printer---------------------------- [2018-11-23 05:24:20,124 INFO L168 Benchmark]: Toolchain (without parser) took 1786.66 ms. Allocated memory was 1.0 GB in the beginning and 1.2 GB in the end (delta: 168.3 MB). Free memory was 953.7 MB in the beginning and 1.0 GB in the end (delta: -51.3 MB). Peak memory consumption was 117.0 MB. Max. memory is 11.5 GB. [2018-11-23 05:24:20,130 INFO L168 Benchmark]: CDTParser took 0.12 ms. Allocated memory is still 1.0 GB. Free memory is still 980.0 MB. There was no memory consumed. Max. memory is 11.5 GB. [2018-11-23 05:24:20,130 INFO L168 Benchmark]: CACSL2BoogieTranslator took 266.98 ms. Allocated memory was 1.0 GB in the beginning and 1.2 GB in the end (delta: 168.3 MB). Free memory was 953.7 MB in the beginning and 1.2 GB in the end (delta: -206.1 MB). Peak memory consumption was 28.0 MB. Max. memory is 11.5 GB. [2018-11-23 05:24:20,131 INFO L168 Benchmark]: Boogie Procedure Inliner took 38.07 ms. Allocated memory is still 1.2 GB. Free memory was 1.2 GB in the beginning and 1.2 GB in the end (delta: 3.3 MB). Peak memory consumption was 3.3 MB. Max. memory is 11.5 GB. [2018-11-23 05:24:20,131 INFO L168 Benchmark]: Boogie Preprocessor took 36.41 ms. Allocated memory is still 1.2 GB. Free memory was 1.2 GB in the beginning and 1.2 GB in the end (delta: 3.3 MB). Peak memory consumption was 3.3 MB. Max. memory is 11.5 GB. [2018-11-23 05:24:20,132 INFO L168 Benchmark]: RCFGBuilder took 700.09 ms. Allocated memory is still 1.2 GB. Free memory was 1.2 GB in the beginning and 1.1 GB in the end (delta: 72.0 MB). Peak memory consumption was 72.0 MB. Max. memory is 11.5 GB. [2018-11-23 05:24:20,132 INFO L168 Benchmark]: CodeCheck took 735.38 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: 76.2 MB). Peak memory consumption was 76.2 MB. Max. memory is 11.5 GB. [2018-11-23 05:24:20,137 INFO L168 Benchmark]: Witness Printer took 6.58 ms. Allocated memory is still 1.2 GB. Free memory is still 1.0 GB. There was no memory consumed. Max. memory is 11.5 GB. [2018-11-23 05:24:20,140 INFO L336 ainManager$Toolchain]: ####################### End [Toolchain 1] ####################### --- Results --- * Results from de.uni_freiburg.informatik.ultimate.plugins.generator.codecheck: - StatisticsResult: Ultimate CodeCheck benchmark data CFG has 3 procedures, 103 locations, 1 error locations. UNSAFE Result, 0.4s OverallTime, 4 OverallIterations, 0 TraceHistogramMax, 0.0s AutomataDifference, 0.0s DeadEndRemovalTime, 0.0s HoareAnnotationTime, HoareTripleCheckerStatistics: 156 SDtfs, 0 SDslu, 0 SDs, 0 SdLazy, 24 SolverSat, 8 SolverUnsat, 0 SolverUnknown, 0 SolverNotchecked, 0.0s Time, PredicateUnifierStatistics: 0 DeclaredPredicates, 377 GetRequests, 375 SyntacticMatches, 0 SemanticMatches, 2 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s Time, 0.0s BasicInterpolantAutomatonTime, BiggestAbstraction: size=-1occurred in iteration=-1, traceCheckStatistics: 0.0s SsaConstructionTime, 0.0s SatisfiabilityAnalysisTime, 0.0s InterpolantComputationTime, 66 NumberOfCodeBlocks, 66 NumberOfCodeBlocksAsserted, 4 NumberOfCheckSat, 44 ConstructedInterpolants, 0 QuantifiedInterpolants, 673 SizeOfPredicates, 0 NumberOfNonLiveVariables, 0 ConjunctsInSsa, 0 ConjunctsInUnsatCore, 3 InterpolantComputations, 3 PerfectInterpolantSequences, 0/0 InterpolantCoveringCapability, InterpolantConsolidationStatistics: No data available, PathInvariantsStatistics: No data available, 0/0 InterpolantCoveringCapability, TotalInterpolationStatistics: No data available, 0.0s AbstIntTime, 0 AbstIntIterations, 0 AbstIntStrong, NaN AbsIntWeakeningRatio, NaN AbsIntAvgWeakeningVarsNumRemoved, NaN AbsIntAvgWeakenedConjuncts, 0.0s DumpTime, AutomataMinimizationStatistics: No data available, HoareAnnotationStatistics: No data available, RefinementEngineStatistics: No data available, ReuseStatistics: No data available - UnprovableResult [Line: 285]: 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 284. 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; [L276] double x = -1.0 / 0.0; [L277] double y = __VERIFIER_nondet_double(); [L246] __int32_t hx, lx; VAL [aT_atan={6:0}, atanhi_atan={5:0}, atanlo_atan={3:0}, huge_atan=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, one_atan=1, pi=785398163397448279/250000000000000000, pi_lo_atan2=3061616997868382943/25000000000000000000000000000000000, pi_o_2=785398163397448279/500000000000000000, pi_o_4=785398163397448279/1000000000000000000, tiny_atan2=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, zero_atan2=0] [L248] ieee_double_shape_type ew_u; [L249] ew_u.value = (x) [L250] EXPR ew_u.parts.msw [L250] (hx) = ew_u.parts.msw [L251] EXPR ew_u.parts.lsw [L251] (lx) = ew_u.parts.lsw [L253] hx &= 0x7fffffff [L254] hx |= (__uint32_t)(lx | (-lx)) >> 31 [L255] hx = 0x7ff00000 - hx [L256] return 1 - (int)((__uint32_t)(hx | (-hx)) >> 31); [L279] EXPR isinf_double(x) && isfinite_double(y) [L260] __int32_t hx; VAL [aT_atan={6:0}, atanhi_atan={5:0}, atanlo_atan={3:0}, huge_atan=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, one_atan=1, pi=785398163397448279/250000000000000000, pi_lo_atan2=3061616997868382943/25000000000000000000000000000000000, pi_o_2=785398163397448279/500000000000000000, pi_o_4=785398163397448279/1000000000000000000, tiny_atan2=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, zero_atan2=0] [L262] ieee_double_shape_type gh_u; [L263] gh_u.value = (x) [L264] EXPR gh_u.parts.msw [L264] (hx) = gh_u.parts.msw [L266] return (int)((__uint32_t)((hx & 0x7fffffff) - 0x7ff00000) >> 31); [L279] EXPR isinf_double(x) && isfinite_double(y) VAL [aT_atan={6:0}, atanhi_atan={5:0}, atanlo_atan={3: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] [L279] COND TRUE isinf_double(x) && isfinite_double(y) && y > 0.0 [L143] double z; [L144] __int32_t k, m, hx, hy, ix, iy; [L145] __uint32_t lx, ly; VAL [aT_atan={6:0}, atanhi_atan={5:0}, atanlo_atan={3:0}, huge_atan=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, one_atan=1, pi=785398163397448279/250000000000000000, pi_lo_atan2=3061616997868382943/25000000000000000000000000000000000, pi_o_2=785398163397448279/500000000000000000, pi_o_4=785398163397448279/1000000000000000000, tiny_atan2=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, zero_atan2=0] [L148] ieee_double_shape_type ew_u; [L149] ew_u.value = (x) [L150] EXPR ew_u.parts.msw [L150] (hx) = ew_u.parts.msw [L151] EXPR ew_u.parts.lsw [L151] (lx) = ew_u.parts.lsw [L153] ix = hx & 0x7fffffff VAL [aT_atan={6:0}, atanhi_atan={5:0}, atanlo_atan={3:0}, huge_atan=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, one_atan=1, pi=785398163397448279/250000000000000000, pi_lo_atan2=3061616997868382943/25000000000000000000000000000000000, pi_o_2=785398163397448279/500000000000000000, pi_o_4=785398163397448279/1000000000000000000, tiny_atan2=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, zero_atan2=0] [L155] ieee_double_shape_type ew_u; [L156] ew_u.value = (y) [L157] EXPR ew_u.parts.msw [L157] (hy) = ew_u.parts.msw [L158] EXPR ew_u.parts.lsw [L158] (ly) = ew_u.parts.lsw [L160] iy = hy & 0x7fffffff VAL [aT_atan={6:0}, atanhi_atan={5:0}, atanlo_atan={3:0}, huge_atan=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, one_atan=1, pi=785398163397448279/250000000000000000, pi_lo_atan2=3061616997868382943/25000000000000000000000000000000000, pi_o_2=785398163397448279/500000000000000000, pi_o_4=785398163397448279/1000000000000000000, tiny_atan2=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, zero_atan2=0] [L161-L162] COND TRUE ((ix | ((lx | -lx) >> 31)) > 0x7ff00000) || ((iy | ((ly | -ly) >> 31)) > 0x7ff00000) [L163] return x + y; VAL [aT_atan={6:0}, atanhi_atan={5:0}, atanlo_atan={3: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] [L281] double res = __ieee754_atan2(y, x); [L284] COND TRUE res != pi VAL [aT_atan={6:0}, atanhi_atan={5:0}, atanlo_atan={3: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] [L285] __VERIFIER_error() VAL [aT_atan={6:0}, atanhi_atan={5:0}, atanlo_atan={3:0}, huge_atan=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, one_atan=1, pi=785398163397448279/250000000000000000, pi_lo_atan2=3061616997868382943/25000000000000000000000000000000000, pi_o_2=785398163397448279/500000000000000000, pi_o_4=785398163397448279/1000000000000000000, tiny_atan2=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, zero_atan2=0] * Results from de.uni_freiburg.informatik.ultimate.core: - StatisticsResult: Toolchain Benchmarks Benchmark results are: * CDTParser took 0.12 ms. Allocated memory is still 1.0 GB. Free memory is still 980.0 MB. There was no memory consumed. Max. memory is 11.5 GB. * CACSL2BoogieTranslator took 266.98 ms. Allocated memory was 1.0 GB in the beginning and 1.2 GB in the end (delta: 168.3 MB). Free memory was 953.7 MB in the beginning and 1.2 GB in the end (delta: -206.1 MB). Peak memory consumption was 28.0 MB. Max. memory is 11.5 GB. * Boogie Procedure Inliner took 38.07 ms. Allocated memory is still 1.2 GB. Free memory was 1.2 GB in the beginning and 1.2 GB in the end (delta: 3.3 MB). Peak memory consumption was 3.3 MB. Max. memory is 11.5 GB. * Boogie Preprocessor took 36.41 ms. Allocated memory is still 1.2 GB. Free memory was 1.2 GB in the beginning and 1.2 GB in the end (delta: 3.3 MB). Peak memory consumption was 3.3 MB. Max. memory is 11.5 GB. * RCFGBuilder took 700.09 ms. Allocated memory is still 1.2 GB. Free memory was 1.2 GB in the beginning and 1.1 GB in the end (delta: 72.0 MB). Peak memory consumption was 72.0 MB. Max. memory is 11.5 GB. * CodeCheck took 735.38 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: 76.2 MB). Peak memory consumption was 76.2 MB. Max. memory is 11.5 GB. * Witness Printer took 6.58 ms. Allocated memory is still 1.2 GB. Free memory is still 1.0 GB. There was no memory consumed. Max. memory is 11.5 GB. RESULT: Ultimate could not prove your program: unable to determine feasibility of some traces Received shutdown request... ### Bit-precise run ### This is Ultimate 0.1.23-aa41828 [2018-11-23 05:24:21,583 INFO L170 SettingsManager]: Resetting all preferences to default values... [2018-11-23 05:24:21,584 INFO L174 SettingsManager]: Resetting UltimateCore preferences to default values [2018-11-23 05:24:21,592 INFO L177 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2018-11-23 05:24:21,593 INFO L174 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2018-11-23 05:24:21,593 INFO L174 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2018-11-23 05:24:21,594 INFO L174 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2018-11-23 05:24:21,595 INFO L174 SettingsManager]: Resetting LassoRanker preferences to default values [2018-11-23 05:24:21,596 INFO L174 SettingsManager]: Resetting Reaching Definitions preferences to default values [2018-11-23 05:24:21,597 INFO L174 SettingsManager]: Resetting SyntaxChecker preferences to default values [2018-11-23 05:24:21,597 INFO L177 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2018-11-23 05:24:21,598 INFO L174 SettingsManager]: Resetting LTL2Aut preferences to default values [2018-11-23 05:24:21,598 INFO L174 SettingsManager]: Resetting PEA to Boogie preferences to default values [2018-11-23 05:24:21,599 INFO L174 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2018-11-23 05:24:21,600 INFO L174 SettingsManager]: Resetting ChcToBoogie preferences to default values [2018-11-23 05:24:21,600 INFO L174 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2018-11-23 05:24:21,601 INFO L174 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2018-11-23 05:24:21,602 INFO L174 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2018-11-23 05:24:21,603 INFO L174 SettingsManager]: Resetting CodeCheck preferences to default values [2018-11-23 05:24:21,604 INFO L174 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2018-11-23 05:24:21,604 INFO L174 SettingsManager]: Resetting RCFGBuilder preferences to default values [2018-11-23 05:24:21,605 INFO L174 SettingsManager]: Resetting TraceAbstraction preferences to default values [2018-11-23 05:24:21,607 INFO L177 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2018-11-23 05:24:21,607 INFO L177 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2018-11-23 05:24:21,607 INFO L174 SettingsManager]: Resetting TreeAutomizer preferences to default values [2018-11-23 05:24:21,608 INFO L174 SettingsManager]: Resetting IcfgTransformer preferences to default values [2018-11-23 05:24:21,608 INFO L174 SettingsManager]: Resetting Boogie Printer preferences to default values [2018-11-23 05:24:21,609 INFO L174 SettingsManager]: Resetting ReqPrinter preferences to default values [2018-11-23 05:24:21,609 INFO L174 SettingsManager]: Resetting Witness Printer preferences to default values [2018-11-23 05:24:21,610 INFO L177 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2018-11-23 05:24:21,610 INFO L174 SettingsManager]: Resetting CDTParser preferences to default values [2018-11-23 05:24:21,611 INFO L177 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2018-11-23 05:24:21,611 INFO L177 SettingsManager]: ReqParser provides no preferences, ignoring... [2018-11-23 05:24:21,611 INFO L174 SettingsManager]: Resetting SmtParser preferences to default values [2018-11-23 05:24:21,612 INFO L174 SettingsManager]: Resetting Witness Parser preferences to default values [2018-11-23 05:24:21,612 INFO L181 SettingsManager]: Finished resetting all preferences to default values... [2018-11-23 05:24:21,612 INFO L98 SettingsManager]: Beginning loading settings from /tmp/vcloud-vcloud-master/worker/working_dir_94ac3051-a167-4140-b7cf-ec466e016f62/bin-2019/ukojak/config/svcomp-Reach-32bit-Kojak_Bitvector.epf [2018-11-23 05:24:21,622 INFO L110 SettingsManager]: Loading preferences was successful [2018-11-23 05:24:21,622 INFO L112 SettingsManager]: Preferences different from defaults after loading the file: [2018-11-23 05:24:21,623 INFO L131 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2018-11-23 05:24:21,623 INFO L133 SettingsManager]: * ... to procedures called more than once=ALWAYS [2018-11-23 05:24:21,624 INFO L131 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2018-11-23 05:24:21,624 INFO L133 SettingsManager]: * Create parallel compositions if possible=false [2018-11-23 05:24:21,624 INFO L131 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2018-11-23 05:24:21,624 INFO L133 SettingsManager]: * sizeof long=4 [2018-11-23 05:24:21,624 INFO L133 SettingsManager]: * sizeof POINTER=4 [2018-11-23 05:24:21,624 INFO L133 SettingsManager]: * Check division by zero=IGNORE [2018-11-23 05:24:21,624 INFO L133 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2018-11-23 05:24:21,625 INFO L133 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2018-11-23 05:24:21,625 INFO L133 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2018-11-23 05:24:21,625 INFO L133 SettingsManager]: * Use bitvectors instead of ints=true [2018-11-23 05:24:21,625 INFO L133 SettingsManager]: * Memory model=HoenickeLindenmann_4ByteResolution [2018-11-23 05:24:21,625 INFO L133 SettingsManager]: * sizeof long double=12 [2018-11-23 05:24:21,625 INFO L133 SettingsManager]: * Check if freed pointer was valid=false [2018-11-23 05:24:21,625 INFO L133 SettingsManager]: * Use constant arrays=true [2018-11-23 05:24:21,625 INFO L133 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2018-11-23 05:24:21,626 INFO L131 SettingsManager]: Preferences of CodeCheck differ from their defaults: [2018-11-23 05:24:21,626 INFO L133 SettingsManager]: * Timeout in seconds=1000000 [2018-11-23 05:24:21,626 INFO L131 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2018-11-23 05:24:21,626 INFO L133 SettingsManager]: * To the following directory=./dump/ [2018-11-23 05:24:21,626 INFO L133 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:10000 [2018-11-23 05:24:21,626 INFO L131 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2018-11-23 05:24:21,626 INFO L133 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2018-11-23 05:24:21,627 INFO L133 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopsAndPotentialCycles [2018-11-23 05:24:21,627 INFO L133 SettingsManager]: * Use separate solver for trace checks=false [2018-11-23 05:24:21,627 INFO L133 SettingsManager]: * Trace refinement strategy=WALRUS [2018-11-23 05:24:21,627 INFO L133 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode [2018-11-23 05:24:21,627 INFO L133 SettingsManager]: * Command for external solver=cvc4nyu --tear-down-incremental --rewrite-divk --print-success --lang smt [2018-11-23 05:24:21,627 INFO L133 SettingsManager]: * Logic for external solver=AUFBV [2018-11-23 05:24:21,627 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_94ac3051-a167-4140-b7cf-ec466e016f62/bin-2019/ukojak Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Witness filename -> witness.graphml Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Write witness besides input file -> false Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Graph data specification -> CHECK( init(main()), LTL(G ! call(__VERIFIER_error())) ) Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Graph data producer -> Kojak Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Graph data architecture -> 32bit Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Graph data programhash -> a90ab4b5fd896d7fe8c91ee95d37e83b559389ba [2018-11-23 05:24:21,655 INFO L81 nceAwareModelManager]: Repository-Root is: /tmp [2018-11-23 05:24:21,664 INFO L258 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2018-11-23 05:24:21,667 INFO L214 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2018-11-23 05:24:21,668 INFO L271 PluginConnector]: Initializing CDTParser... [2018-11-23 05:24:21,669 INFO L276 PluginConnector]: CDTParser initialized [2018-11-23 05:24:21,669 INFO L418 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /tmp/vcloud-vcloud-master/worker/working_dir_94ac3051-a167-4140-b7cf-ec466e016f62/bin-2019/ukojak/../../sv-benchmarks/c/float-newlib/double_req_bl_0682b_true-unreach-call.c [2018-11-23 05:24:21,705 INFO L221 CDTParser]: Created temporary CDT project at /tmp/vcloud-vcloud-master/worker/working_dir_94ac3051-a167-4140-b7cf-ec466e016f62/bin-2019/ukojak/data/a3b846b7e/629a08b31c0b46f1afb9d598598e2b6e/FLAG56b68ca10 [2018-11-23 05:24:22,116 INFO L307 CDTParser]: Found 1 translation units. [2018-11-23 05:24:22,117 INFO L161 CDTParser]: Scanning /tmp/vcloud-vcloud-master/worker/working_dir_94ac3051-a167-4140-b7cf-ec466e016f62/sv-benchmarks/c/float-newlib/double_req_bl_0682b_true-unreach-call.c [2018-11-23 05:24:22,122 INFO L355 CDTParser]: About to delete temporary CDT project at /tmp/vcloud-vcloud-master/worker/working_dir_94ac3051-a167-4140-b7cf-ec466e016f62/bin-2019/ukojak/data/a3b846b7e/629a08b31c0b46f1afb9d598598e2b6e/FLAG56b68ca10 [2018-11-23 05:24:22,132 INFO L363 CDTParser]: Successfully deleted /tmp/vcloud-vcloud-master/worker/working_dir_94ac3051-a167-4140-b7cf-ec466e016f62/bin-2019/ukojak/data/a3b846b7e/629a08b31c0b46f1afb9d598598e2b6e [2018-11-23 05:24:22,134 INFO L296 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2018-11-23 05:24:22,135 INFO L131 ToolchainWalker]: Walking toolchain with 6 elements. [2018-11-23 05:24:22,136 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2018-11-23 05:24:22,136 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2018-11-23 05:24:22,139 INFO L276 PluginConnector]: CACSL2BoogieTranslator initialized [2018-11-23 05:24:22,139 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 23.11 05:24:22" (1/1) ... [2018-11-23 05:24:22,141 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@32fe689 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 05:24:22, skipping insertion in model container [2018-11-23 05:24:22,142 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 23.11 05:24:22" (1/1) ... [2018-11-23 05:24:22,150 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2018-11-23 05:24:22,174 INFO L176 MainTranslator]: Built tables and reachable declarations [2018-11-23 05:24:22,363 INFO L201 PostProcessor]: Analyzing one entry point: main [2018-11-23 05:24:22,369 INFO L191 MainTranslator]: Completed pre-run [2018-11-23 05:24:22,419 INFO L201 PostProcessor]: Analyzing one entry point: main [2018-11-23 05:24:22,442 INFO L195 MainTranslator]: Completed translation [2018-11-23 05:24:22,442 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 05:24:22 WrapperNode [2018-11-23 05:24:22,443 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2018-11-23 05:24:22,443 INFO L113 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2018-11-23 05:24:22,443 INFO L271 PluginConnector]: Initializing Boogie Procedure Inliner... [2018-11-23 05:24:22,443 INFO L276 PluginConnector]: Boogie Procedure Inliner initialized [2018-11-23 05:24:22,448 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 05:24:22" (1/1) ... [2018-11-23 05:24:22,497 INFO L185 PluginConnector]: Executing the observer Inliner from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 05:24:22" (1/1) ... [2018-11-23 05:24:22,517 INFO L132 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2018-11-23 05:24:22,517 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2018-11-23 05:24:22,517 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2018-11-23 05:24:22,517 INFO L276 PluginConnector]: Boogie Preprocessor initialized [2018-11-23 05:24:22,522 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 05:24:22" (1/1) ... [2018-11-23 05:24:22,523 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 05:24:22" (1/1) ... [2018-11-23 05:24:22,528 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 05:24:22" (1/1) ... [2018-11-23 05:24:22,528 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 05:24:22" (1/1) ... [2018-11-23 05:24:22,544 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 05:24:22" (1/1) ... [2018-11-23 05:24:22,550 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 05:24:22" (1/1) ... [2018-11-23 05:24:22,553 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 05:24:22" (1/1) ... [2018-11-23 05:24:22,556 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2018-11-23 05:24:22,557 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2018-11-23 05:24:22,557 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2018-11-23 05:24:22,557 INFO L276 PluginConnector]: RCFGBuilder initialized [2018-11-23 05:24:22,558 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 05:24:22" (1/1) ... No working directory specified, using /tmp/vcloud-vcloud-master/worker/working_dir_94ac3051-a167-4140-b7cf-ec466e016f62/bin-2019/ukojak/z3 Starting monitored process 1 with z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:10000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 1 with z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:10000 [2018-11-23 05:24:22,596 INFO L130 BoogieDeclarations]: Found specification of procedure read~intFLOATTYPE8 [2018-11-23 05:24:22,596 INFO L130 BoogieDeclarations]: Found specification of procedure write~intFLOATTYPE8 [2018-11-23 05:24:22,596 INFO L130 BoogieDeclarations]: Found specification of procedure fabs_double [2018-11-23 05:24:22,596 INFO L138 BoogieDeclarations]: Found implementation of procedure fabs_double [2018-11-23 05:24:22,597 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~intFLOATTYPE8 [2018-11-23 05:24:22,597 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.alloc [2018-11-23 05:24:22,597 INFO L130 BoogieDeclarations]: Found specification of procedure atan_double [2018-11-23 05:24:22,597 INFO L138 BoogieDeclarations]: Found implementation of procedure atan_double [2018-11-23 05:24:22,597 INFO L130 BoogieDeclarations]: Found specification of procedure read~intINTTYPE4 [2018-11-23 05:24:22,597 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2018-11-23 05:24:22,597 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2018-11-23 05:24:22,597 INFO L130 BoogieDeclarations]: Found specification of procedure write~intINTTYPE4 [2018-11-23 05:24:22,597 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2018-11-23 05:24:22,758 WARN L317 ript$VariableManager]: TermVariabe |q#valueAsBitvector| not constructed by VariableManager. Cannot ensure absence of name clashes. [2018-11-23 05:24:22,791 WARN L317 ript$VariableManager]: TermVariabe |q#valueAsBitvector| not constructed by VariableManager. Cannot ensure absence of name clashes. [2018-11-23 05:24:30,203 WARN L317 ript$VariableManager]: TermVariabe |q#valueAsBitvector| not constructed by VariableManager. Cannot ensure absence of name clashes. [2018-11-23 05:25:02,039 WARN L317 ript$VariableManager]: TermVariabe |q#valueAsBitvector| not constructed by VariableManager. Cannot ensure absence of name clashes. [2018-11-23 05:25:02,902 WARN L317 ript$VariableManager]: TermVariabe |q#valueAsBitvector| not constructed by VariableManager. Cannot ensure absence of name clashes. [2018-11-23 05:25:02,928 WARN L317 ript$VariableManager]: TermVariabe |q#valueAsBitvector| not constructed by VariableManager. Cannot ensure absence of name clashes. [2018-11-23 05:25:03,923 WARN L317 ript$VariableManager]: TermVariabe |q#valueAsBitvector| not constructed by VariableManager. Cannot ensure absence of name clashes. [2018-11-23 05:25:03,948 WARN L317 ript$VariableManager]: TermVariabe |q#valueAsBitvector| not constructed by VariableManager. Cannot ensure absence of name clashes. [2018-11-23 05:25:03,969 WARN L317 ript$VariableManager]: TermVariabe |q#valueAsBitvector| not constructed by VariableManager. Cannot ensure absence of name clashes. [2018-11-23 05:25:03,996 WARN L317 ript$VariableManager]: TermVariabe |q#valueAsBitvector| not constructed by VariableManager. Cannot ensure absence of name clashes. [2018-11-23 05:25:04,007 WARN L317 ript$VariableManager]: TermVariabe |q#valueAsBitvector| not constructed by VariableManager. Cannot ensure absence of name clashes. [2018-11-23 05:28:15,544 INFO L275 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2018-11-23 05:28:15,545 INFO L280 CfgBuilder]: Removed 30 assue(true) statements. [2018-11-23 05:28:15,545 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 23.11 05:28:15 BoogieIcfgContainer [2018-11-23 05:28:15,545 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2018-11-23 05:28:15,546 INFO L113 PluginConnector]: ------------------------CodeCheck---------------------------- [2018-11-23 05:28:15,546 INFO L271 PluginConnector]: Initializing CodeCheck... [2018-11-23 05:28:15,553 INFO L276 PluginConnector]: CodeCheck initialized [2018-11-23 05:28:15,553 INFO L185 PluginConnector]: Executing the observer CodeCheckObserver from plugin CodeCheck for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 23.11 05:28:15" (1/1) ... [2018-11-23 05:28:15,561 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 05:28:15,578 INFO L82 GeneralOperation]: Start removeUnreachable. Operand no size info available [2018-11-23 05:28:15,584 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 129 states to 79 states and 129 transitions. [2018-11-23 05:28:15,585 INFO L276 IsEmpty]: Start isEmpty. Operand 79 states and 129 transitions. [2018-11-23 05:28:15,586 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 14 [2018-11-23 05:28:15,586 INFO L427 CodeCheckObserver]: Error Path is FOUND. [2018-11-23 05:28:15,621 ERROR L613 CodeCheckObserver]: First Tracecheck threw exception Indexed Sort FloatingPoint undefined [2018-11-23 05:28:15,680 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 05:28:15,692 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 05:28:15,703 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 05:28:15,713 INFO L82 GeneralOperation]: Start removeUnreachable. Operand no size info available [2018-11-23 05:28:15,714 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 122 states to 79 states and 122 transitions. [2018-11-23 05:28:15,714 INFO L276 IsEmpty]: Start isEmpty. Operand 79 states and 122 transitions. [2018-11-23 05:28:15,715 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 17 [2018-11-23 05:28:15,715 INFO L427 CodeCheckObserver]: Error Path is FOUND. [2018-11-23 05:28:15,716 ERROR L613 CodeCheckObserver]: First Tracecheck threw exception Indexed Sort FloatingPoint undefined [2018-11-23 05:28:15,764 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 05:28:15,771 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 05:28:15,780 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 05:28:15,827 INFO L82 GeneralOperation]: Start removeUnreachable. Operand no size info available [2018-11-23 05:28:15,828 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 124 states to 80 states and 124 transitions. [2018-11-23 05:28:15,828 INFO L276 IsEmpty]: Start isEmpty. Operand 80 states and 124 transitions. [2018-11-23 05:28:15,829 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 19 [2018-11-23 05:28:15,829 INFO L427 CodeCheckObserver]: Error Path is FOUND. [2018-11-23 05:28:15,830 ERROR L613 CodeCheckObserver]: First Tracecheck threw exception Indexed Sort FloatingPoint undefined [2018-11-23 05:28:15,868 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 05:28:15,874 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 05:28:15,876 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 05:28:15,880 INFO L82 GeneralOperation]: Start removeUnreachable. Operand no size info available [2018-11-23 05:28:15,880 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 122 states to 80 states and 122 transitions. [2018-11-23 05:28:15,881 INFO L276 IsEmpty]: Start isEmpty. Operand 80 states and 122 transitions. [2018-11-23 05:28:15,881 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 20 [2018-11-23 05:28:15,881 INFO L427 CodeCheckObserver]: Error Path is FOUND. [2018-11-23 05:28:15,882 ERROR L613 CodeCheckObserver]: First Tracecheck threw exception Indexed Sort FloatingPoint undefined [2018-11-23 05:28:16,002 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 05:28:16,010 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 05:28:16,195 WARN L180 SmtUtils]: Spent 160.00 ms on a formula simplification that was a NOOP. DAG size: 12 [2018-11-23 05:28:16,231 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 05:28:16,231 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 05:28:16,235 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 05:28:16,277 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 05:28:16,288 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 2 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 24 treesize of output 24 [2018-11-23 05:28:16,289 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 05:28:16,307 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 05:28:16,312 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 05:28:16,312 INFO L267 ElimStorePlain]: Start of recursive call 5: End of recursive call: and 1 xjuncts. [2018-11-23 05:28:16,315 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 05:28:16,318 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 05:28:16,329 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 05:28:16,329 INFO L202 ElimStorePlain]: Needed 5 recursive calls to eliminate 3 variables, input treesize:51, output treesize:23 [2018-11-23 05:28:16,509 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 05:28:16,510 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 05:28:16,511 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 05:28:16,557 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 05:28:16,558 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 2 disjoint index pairs (out of 1 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 27 treesize of output 30 [2018-11-23 05:28:16,558 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 05:28:16,578 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 05:28:16,583 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 05:28:16,584 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 2 select indices, 2 select index equivalence classes, 2 disjoint index pairs (out of 1 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 13 treesize of output 6 [2018-11-23 05:28:16,585 INFO L267 ElimStorePlain]: Start of recursive call 5: End of recursive call: and 1 xjuncts. [2018-11-23 05:28:16,589 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 05:28:16,593 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 05:28:16,615 INFO L267 ElimStorePlain]: Start of recursive call 1: 4 dim-0 vars, 1 dim-2 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2018-11-23 05:28:16,616 INFO L202 ElimStorePlain]: Needed 5 recursive calls to eliminate 5 variables, input treesize:75, output treesize:47 [2018-11-23 05:28:16,751 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 05:28:16,752 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 05:28:16,753 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 05:28:16,799 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 05:28:16,803 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 2 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 24 treesize of output 24 [2018-11-23 05:28:16,804 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 05:28:16,824 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 05:28:16,835 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 05:28:16,835 INFO L267 ElimStorePlain]: Start of recursive call 5: End of recursive call: and 1 xjuncts. [2018-11-23 05:28:16,840 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 05:28:16,844 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 05:28:16,872 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 05:28:16,872 INFO L202 ElimStorePlain]: Needed 5 recursive calls to eliminate 5 variables, input treesize:93, output treesize:65 [2018-11-23 05:28:17,393 WARN L180 SmtUtils]: Spent 329.00 ms on a formula simplification that was a NOOP. DAG size: 50 [2018-11-23 05:28:17,402 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 05:28:19,182 WARN L180 SmtUtils]: Spent 421.00 ms on a formula simplification that was a NOOP. DAG size: 50 [2018-11-23 05:28:22,095 WARN L180 SmtUtils]: Spent 2.52 s on a formula simplification that was a NOOP. DAG size: 51 [2018-11-23 05:28:22,554 INFO L82 GeneralOperation]: Start removeUnreachable. Operand no size info available [2018-11-23 05:28:22,555 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 121 states to 80 states and 121 transitions. [2018-11-23 05:28:22,555 INFO L276 IsEmpty]: Start isEmpty. Operand 80 states and 121 transitions. [2018-11-23 05:28:22,555 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 23 [2018-11-23 05:28:22,555 INFO L427 CodeCheckObserver]: Error Path is FOUND. [2018-11-23 05:28:22,556 ERROR L613 CodeCheckObserver]: First Tracecheck threw exception Indexed Sort FloatingPoint undefined [2018-11-23 05:28:22,646 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 05:28:22,653 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 05:28:22,768 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 05:28:22,770 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 05:28:22,770 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 05:28:22,771 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 05:28:22,772 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 4 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 5 new quantified variables, introduced 0 case distinctions, treesize of input 58 treesize of output 85 [2018-11-23 05:28:22,874 FATAL L292 ToolchainWalker]: The Plugin de.uni_freiburg.informatik.ultimate.plugins.generator.codecheck has thrown an exception: java.lang.UnsupportedOperationException: nested self-update not yet implemented: (store v_arrayElimCell_7 (_ bv0 32) ((_ extract 31 0) |v_q#valueAsBitvector_16|)) at de.uni_freiburg.informatik.ultimate.modelcheckerutils.smt.DerPreprocessor.constructReplacementForStoreCase(DerPreprocessor.java:248) at de.uni_freiburg.informatik.ultimate.modelcheckerutils.smt.DerPreprocessor.constructReplacement(DerPreprocessor.java:219) at de.uni_freiburg.informatik.ultimate.modelcheckerutils.smt.DerPreprocessor.constructReplacement(DerPreprocessor.java:210) at de.uni_freiburg.informatik.ultimate.modelcheckerutils.smt.DerPreprocessor.convert(DerPreprocessor.java:142) at de.uni_freiburg.informatik.ultimate.logic.TermTransformer.cacheConvert(TermTransformer.java:131) at de.uni_freiburg.informatik.ultimate.logic.TermTransformer.access$0(TermTransformer.java:127) at de.uni_freiburg.informatik.ultimate.logic.TermTransformer$Convert.walk(TermTransformer.java:79) 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.TermTransformer.transform(TermTransformer.java:253) at de.uni_freiburg.informatik.ultimate.modelcheckerutils.smt.Elim1Store.elim1(Elim1Store.java:211) at de.uni_freiburg.informatik.ultimate.modelcheckerutils.smt.ElimStorePlain.doElimOneRec(ElimStorePlain.java:221) at de.uni_freiburg.informatik.ultimate.modelcheckerutils.smt.ElimStorePlain.doElimAllRec(ElimStorePlain.java:247) at de.uni_freiburg.informatik.ultimate.modelcheckerutils.smt.ElimStorePlain.doElimOneRec(ElimStorePlain.java:225) at de.uni_freiburg.informatik.ultimate.modelcheckerutils.smt.ElimStorePlain.doElimAllRec(ElimStorePlain.java:247) at de.uni_freiburg.informatik.ultimate.modelcheckerutils.smt.ElimStorePlain.elimAllRec(ElimStorePlain.java:199) at de.uni_freiburg.informatik.ultimate.modelcheckerutils.smt.PartialQuantifierElimination.elim(PartialQuantifierElimination.java:293) at de.uni_freiburg.informatik.ultimate.modelcheckerutils.smt.PartialQuantifierElimination.tryToEliminate(PartialQuantifierElimination.java:101) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.predicates.IterativePredicateTransformer$QuantifierEliminationPostprocessor.postprocess(IterativePredicateTransformer.java:245) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.predicates.IterativePredicateTransformer.applyPostprocessors(IterativePredicateTransformer.java:439) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.predicates.IterativePredicateTransformer.computeStrongestPostconditionSequence(IterativePredicateTransformer.java:200) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.singletracecheck.TraceCheckSpWp.computeInterpolantsUsingUnsatCore(TraceCheckSpWp.java:286) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.singletracecheck.TraceCheckSpWp.computeInterpolants(TraceCheckSpWp.java:175) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.singletracecheck.TraceCheckSpWp.(TraceCheckSpWp.java:162) at de.uni_freiburg.informatik.ultimate.plugins.generator.codecheck.CodeCheckObserver.createTraceCheck(CodeCheckObserver.java:624) at de.uni_freiburg.informatik.ultimate.plugins.generator.codecheck.CodeCheckObserver.process(CodeCheckObserver.java:454) at de.uni_freiburg.informatik.ultimate.core.coreplugin.modelwalker.CFGWalker.runObserver(CFGWalker.java:57) at de.uni_freiburg.informatik.ultimate.core.coreplugin.modelwalker.BaseWalker.runObserver(BaseWalker.java:93) at de.uni_freiburg.informatik.ultimate.core.coreplugin.modelwalker.BaseWalker.run(BaseWalker.java:86) at de.uni_freiburg.informatik.ultimate.core.coreplugin.PluginConnector.runObserver(PluginConnector.java:167) at de.uni_freiburg.informatik.ultimate.core.coreplugin.PluginConnector.runTool(PluginConnector.java:151) at de.uni_freiburg.informatik.ultimate.core.coreplugin.PluginConnector.run(PluginConnector.java:128) at de.uni_freiburg.informatik.ultimate.core.coreplugin.ToolchainWalker.executePluginConnector(ToolchainWalker.java:232) at de.uni_freiburg.informatik.ultimate.core.coreplugin.ToolchainWalker.processPlugin(ToolchainWalker.java:226) at de.uni_freiburg.informatik.ultimate.core.coreplugin.ToolchainWalker.walkUnprotected(ToolchainWalker.java:142) at de.uni_freiburg.informatik.ultimate.core.coreplugin.ToolchainWalker.walk(ToolchainWalker.java:104) at de.uni_freiburg.informatik.ultimate.core.coreplugin.ToolchainManager$Toolchain.processToolchain(ToolchainManager.java:316) at de.uni_freiburg.informatik.ultimate.core.coreplugin.toolchain.DefaultToolchainJob.run(DefaultToolchainJob.java:145) at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55) [2018-11-23 05:28:22,876 INFO L168 Benchmark]: Toolchain (without parser) took 240741.98 ms. Allocated memory was 1.0 GB in the beginning and 1.2 GB in the end (delta: 136.3 MB). Free memory was 950.8 MB in the beginning and 1.1 GB in the end (delta: -152.5 MB). There was no memory consumed. Max. memory is 11.5 GB. [2018-11-23 05:28:22,877 INFO L168 Benchmark]: CDTParser took 0.16 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 05:28:22,877 INFO L168 Benchmark]: CACSL2BoogieTranslator took 307.23 ms. Allocated memory is still 1.0 GB. Free memory was 950.8 MB in the beginning and 928.3 MB in the end (delta: 22.5 MB). Peak memory consumption was 22.5 MB. Max. memory is 11.5 GB. [2018-11-23 05:28:22,878 INFO L168 Benchmark]: Boogie Procedure Inliner took 73.53 ms. Allocated memory was 1.0 GB in the beginning and 1.2 GB in the end (delta: 138.9 MB). Free memory was 928.3 MB in the beginning and 1.1 GB in the end (delta: -198.2 MB). Peak memory consumption was 16.0 MB. Max. memory is 11.5 GB. [2018-11-23 05:28:22,878 INFO L168 Benchmark]: Boogie Preprocessor took 39.61 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 05:28:22,879 INFO L168 Benchmark]: RCFGBuilder took 232988.54 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: 99.8 MB). Peak memory consumption was 99.8 MB. Max. memory is 11.5 GB. [2018-11-23 05:28:22,879 INFO L168 Benchmark]: CodeCheck took 7330.10 ms. Allocated memory was 1.2 GB in the beginning and 1.2 GB in the end (delta: -2.6 MB). Free memory was 1.0 GB in the beginning and 1.1 GB in the end (delta: -76.6 MB). There was no memory consumed. Max. memory is 11.5 GB. [2018-11-23 05:28:22,882 INFO L336 ainManager$Toolchain]: ####################### End [Toolchain 1] ####################### --- Results --- * Results from de.uni_freiburg.informatik.ultimate.plugins.generator.codecheck: - ExceptionOrErrorResult: UnsupportedOperationException: nested self-update not yet implemented: (store v_arrayElimCell_7 (_ bv0 32) ((_ extract 31 0) |v_q#valueAsBitvector_16|)) de.uni_freiburg.informatik.ultimate.plugins.generator.codecheck: UnsupportedOperationException: nested self-update not yet implemented: (store v_arrayElimCell_7 (_ bv0 32) ((_ extract 31 0) |v_q#valueAsBitvector_16|)): de.uni_freiburg.informatik.ultimate.modelcheckerutils.smt.DerPreprocessor.constructReplacementForStoreCase(DerPreprocessor.java:248) * Results from de.uni_freiburg.informatik.ultimate.core: - StatisticsResult: Toolchain Benchmarks Benchmark results are: * CDTParser took 0.16 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 307.23 ms. Allocated memory is still 1.0 GB. Free memory was 950.8 MB in the beginning and 928.3 MB in the end (delta: 22.5 MB). Peak memory consumption was 22.5 MB. Max. memory is 11.5 GB. * Boogie Procedure Inliner took 73.53 ms. Allocated memory was 1.0 GB in the beginning and 1.2 GB in the end (delta: 138.9 MB). Free memory was 928.3 MB in the beginning and 1.1 GB in the end (delta: -198.2 MB). Peak memory consumption was 16.0 MB. Max. memory is 11.5 GB. * Boogie Preprocessor took 39.61 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. * RCFGBuilder took 232988.54 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: 99.8 MB). Peak memory consumption was 99.8 MB. Max. memory is 11.5 GB. * CodeCheck took 7330.10 ms. Allocated memory was 1.2 GB in the beginning and 1.2 GB in the end (delta: -2.6 MB). Free memory was 1.0 GB in the beginning and 1.1 GB in the end (delta: -76.6 MB). There was no memory consumed. Max. memory is 11.5 GB. RESULT: Ultimate could not prove your program: Toolchain returned no result. [MP z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:10000 (1)] Forcibly destroying the process Received shutdown request...