./Ultimate.py --spec ../../sv-benchmarks/c/properties/unreach-call.prp --file ../../sv-benchmarks/c/float-newlib/double_req_bl_0682a_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_0edd8b83-1e19-4772-b20d-363970750c13/bin-2019/ukojak/data/config -Xmx12G -Xms1G -jar /tmp/vcloud-vcloud-master/worker/working_dir_0edd8b83-1e19-4772-b20d-363970750c13/bin-2019/ukojak/plugins/org.eclipse.equinox.launcher_1.3.100.v20150511-1540.jar -data @noDefault -ultimatedata /tmp/vcloud-vcloud-master/worker/working_dir_0edd8b83-1e19-4772-b20d-363970750c13/bin-2019/ukojak/data -tc /tmp/vcloud-vcloud-master/worker/working_dir_0edd8b83-1e19-4772-b20d-363970750c13/bin-2019/ukojak/config/KojakReach.xml -i ../../sv-benchmarks/c/float-newlib/double_req_bl_0682a_true-unreach-call.c -s /tmp/vcloud-vcloud-master/worker/working_dir_0edd8b83-1e19-4772-b20d-363970750c13/bin-2019/ukojak/config/svcomp-Reach-32bit-Kojak_Default.epf --cacsl2boogietranslator.entry.function main --witnessprinter.witness.directory /tmp/vcloud-vcloud-master/worker/working_dir_0edd8b83-1e19-4772-b20d-363970750c13/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 fcf534df2acf49cd98974d7f01989073db823dea ............................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................... 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_0edd8b83-1e19-4772-b20d-363970750c13/bin-2019/ukojak/data/config -Xmx12G -Xms1G -jar /tmp/vcloud-vcloud-master/worker/working_dir_0edd8b83-1e19-4772-b20d-363970750c13/bin-2019/ukojak/plugins/org.eclipse.equinox.launcher_1.3.100.v20150511-1540.jar -data @noDefault -ultimatedata /tmp/vcloud-vcloud-master/worker/working_dir_0edd8b83-1e19-4772-b20d-363970750c13/bin-2019/ukojak/data -tc /tmp/vcloud-vcloud-master/worker/working_dir_0edd8b83-1e19-4772-b20d-363970750c13/bin-2019/ukojak/config/KojakReach.xml -i ../../sv-benchmarks/c/float-newlib/double_req_bl_0682a_true-unreach-call.c -s /tmp/vcloud-vcloud-master/worker/working_dir_0edd8b83-1e19-4772-b20d-363970750c13/bin-2019/ukojak/config/svcomp-Reach-32bit-Kojak_Bitvector.epf --cacsl2boogietranslator.entry.function main --witnessprinter.witness.directory /tmp/vcloud-vcloud-master/worker/working_dir_0edd8b83-1e19-4772-b20d-363970750c13/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 fcf534df2acf49cd98974d7f01989073db823dea .......................................................................................................................................................................................................................................................................................................................... Execution finished normally Writing output log to file Ultimate.log Result: ERROR: ExceptionOrErrorResult: UnsupportedOperationException: nested self-update not yet implemented: (store v_arrayElimCell_6 (_ bv0 32) ((_ extract 31 0) |v_q#valueAsBitvector_15|)) --- Real Ultimate output --- This is Ultimate 0.1.23-aa41828 [2018-11-23 07:04:47,013 INFO L170 SettingsManager]: Resetting all preferences to default values... [2018-11-23 07:04:47,015 INFO L174 SettingsManager]: Resetting UltimateCore preferences to default values [2018-11-23 07:04:47,024 INFO L177 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2018-11-23 07:04:47,024 INFO L174 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2018-11-23 07:04:47,025 INFO L174 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2018-11-23 07:04:47,025 INFO L174 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2018-11-23 07:04:47,027 INFO L174 SettingsManager]: Resetting LassoRanker preferences to default values [2018-11-23 07:04:47,028 INFO L174 SettingsManager]: Resetting Reaching Definitions preferences to default values [2018-11-23 07:04:47,029 INFO L174 SettingsManager]: Resetting SyntaxChecker preferences to default values [2018-11-23 07:04:47,030 INFO L177 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2018-11-23 07:04:47,030 INFO L174 SettingsManager]: Resetting LTL2Aut preferences to default values [2018-11-23 07:04:47,031 INFO L174 SettingsManager]: Resetting PEA to Boogie preferences to default values [2018-11-23 07:04:47,031 INFO L174 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2018-11-23 07:04:47,032 INFO L174 SettingsManager]: Resetting ChcToBoogie preferences to default values [2018-11-23 07:04:47,033 INFO L174 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2018-11-23 07:04:47,034 INFO L174 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2018-11-23 07:04:47,035 INFO L174 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2018-11-23 07:04:47,037 INFO L174 SettingsManager]: Resetting CodeCheck preferences to default values [2018-11-23 07:04:47,038 INFO L174 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2018-11-23 07:04:47,039 INFO L174 SettingsManager]: Resetting RCFGBuilder preferences to default values [2018-11-23 07:04:47,040 INFO L174 SettingsManager]: Resetting TraceAbstraction preferences to default values [2018-11-23 07:04:47,042 INFO L177 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2018-11-23 07:04:47,042 INFO L177 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2018-11-23 07:04:47,042 INFO L174 SettingsManager]: Resetting TreeAutomizer preferences to default values [2018-11-23 07:04:47,043 INFO L174 SettingsManager]: Resetting IcfgTransformer preferences to default values [2018-11-23 07:04:47,044 INFO L174 SettingsManager]: Resetting Boogie Printer preferences to default values [2018-11-23 07:04:47,045 INFO L174 SettingsManager]: Resetting ReqPrinter preferences to default values [2018-11-23 07:04:47,046 INFO L174 SettingsManager]: Resetting Witness Printer preferences to default values [2018-11-23 07:04:47,046 INFO L177 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2018-11-23 07:04:47,047 INFO L174 SettingsManager]: Resetting CDTParser preferences to default values [2018-11-23 07:04:47,047 INFO L177 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2018-11-23 07:04:47,048 INFO L177 SettingsManager]: ReqParser provides no preferences, ignoring... [2018-11-23 07:04:47,048 INFO L174 SettingsManager]: Resetting SmtParser preferences to default values [2018-11-23 07:04:47,049 INFO L174 SettingsManager]: Resetting Witness Parser preferences to default values [2018-11-23 07:04:47,049 INFO L181 SettingsManager]: Finished resetting all preferences to default values... [2018-11-23 07:04:47,049 INFO L98 SettingsManager]: Beginning loading settings from /tmp/vcloud-vcloud-master/worker/working_dir_0edd8b83-1e19-4772-b20d-363970750c13/bin-2019/ukojak/config/svcomp-Reach-32bit-Kojak_Default.epf [2018-11-23 07:04:47,061 INFO L110 SettingsManager]: Loading preferences was successful [2018-11-23 07:04:47,061 INFO L112 SettingsManager]: Preferences different from defaults after loading the file: [2018-11-23 07:04:47,062 INFO L131 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2018-11-23 07:04:47,062 INFO L133 SettingsManager]: * ... to procedures called more than once=ALWAYS [2018-11-23 07:04:47,062 INFO L131 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2018-11-23 07:04:47,063 INFO L133 SettingsManager]: * Create parallel compositions if possible=false [2018-11-23 07:04:47,063 INFO L131 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2018-11-23 07:04:47,063 INFO L133 SettingsManager]: * sizeof long=4 [2018-11-23 07:04:47,063 INFO L133 SettingsManager]: * Overapproximate operations on floating types=true [2018-11-23 07:04:47,063 INFO L133 SettingsManager]: * sizeof POINTER=4 [2018-11-23 07:04:47,063 INFO L133 SettingsManager]: * Check division by zero=IGNORE [2018-11-23 07:04:47,064 INFO L133 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2018-11-23 07:04:47,064 INFO L133 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2018-11-23 07:04:47,064 INFO L133 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2018-11-23 07:04:47,064 INFO L133 SettingsManager]: * sizeof long double=12 [2018-11-23 07:04:47,064 INFO L133 SettingsManager]: * Check if freed pointer was valid=false [2018-11-23 07:04:47,065 INFO L133 SettingsManager]: * Use constant arrays=true [2018-11-23 07:04:47,065 INFO L133 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2018-11-23 07:04:47,065 INFO L131 SettingsManager]: Preferences of CodeCheck differ from their defaults: [2018-11-23 07:04:47,065 INFO L133 SettingsManager]: * Timeout in seconds=1000000 [2018-11-23 07:04:47,065 INFO L131 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2018-11-23 07:04:47,065 INFO L133 SettingsManager]: * To the following directory=./dump/ [2018-11-23 07:04:47,066 INFO L133 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:10000 [2018-11-23 07:04:47,066 INFO L131 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2018-11-23 07:04:47,066 INFO L133 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2018-11-23 07:04:47,066 INFO L133 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopsAndPotentialCycles [2018-11-23 07:04:47,066 INFO L133 SettingsManager]: * Trace refinement strategy=PENGUIN [2018-11-23 07:04:47,067 INFO L133 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode [2018-11-23 07:04:47,067 INFO L133 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2018-11-23 07:04:47,067 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_0edd8b83-1e19-4772-b20d-363970750c13/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 -> fcf534df2acf49cd98974d7f01989073db823dea [2018-11-23 07:04:47,095 INFO L81 nceAwareModelManager]: Repository-Root is: /tmp [2018-11-23 07:04:47,105 INFO L258 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2018-11-23 07:04:47,108 INFO L214 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2018-11-23 07:04:47,109 INFO L271 PluginConnector]: Initializing CDTParser... [2018-11-23 07:04:47,110 INFO L276 PluginConnector]: CDTParser initialized [2018-11-23 07:04:47,110 INFO L418 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /tmp/vcloud-vcloud-master/worker/working_dir_0edd8b83-1e19-4772-b20d-363970750c13/bin-2019/ukojak/../../sv-benchmarks/c/float-newlib/double_req_bl_0682a_true-unreach-call.c [2018-11-23 07:04:47,159 INFO L221 CDTParser]: Created temporary CDT project at /tmp/vcloud-vcloud-master/worker/working_dir_0edd8b83-1e19-4772-b20d-363970750c13/bin-2019/ukojak/data/0a5413ca5/d807dd14883f43738a30ee3adc273476/FLAG74e14d456 [2018-11-23 07:04:47,530 INFO L307 CDTParser]: Found 1 translation units. [2018-11-23 07:04:47,530 INFO L161 CDTParser]: Scanning /tmp/vcloud-vcloud-master/worker/working_dir_0edd8b83-1e19-4772-b20d-363970750c13/sv-benchmarks/c/float-newlib/double_req_bl_0682a_true-unreach-call.c [2018-11-23 07:04:47,538 INFO L355 CDTParser]: About to delete temporary CDT project at /tmp/vcloud-vcloud-master/worker/working_dir_0edd8b83-1e19-4772-b20d-363970750c13/bin-2019/ukojak/data/0a5413ca5/d807dd14883f43738a30ee3adc273476/FLAG74e14d456 [2018-11-23 07:04:47,548 INFO L363 CDTParser]: Successfully deleted /tmp/vcloud-vcloud-master/worker/working_dir_0edd8b83-1e19-4772-b20d-363970750c13/bin-2019/ukojak/data/0a5413ca5/d807dd14883f43738a30ee3adc273476 [2018-11-23 07:04:47,550 INFO L296 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2018-11-23 07:04:47,551 INFO L131 ToolchainWalker]: Walking toolchain with 6 elements. [2018-11-23 07:04:47,552 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2018-11-23 07:04:47,552 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2018-11-23 07:04:47,556 INFO L276 PluginConnector]: CACSL2BoogieTranslator initialized [2018-11-23 07:04:47,557 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 23.11 07:04:47" (1/1) ... [2018-11-23 07:04:47,559 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@6da339c5 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 07:04:47, skipping insertion in model container [2018-11-23 07:04:47,560 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 23.11 07:04:47" (1/1) ... [2018-11-23 07:04:47,567 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2018-11-23 07:04:47,593 INFO L176 MainTranslator]: Built tables and reachable declarations [2018-11-23 07:04:47,773 INFO L201 PostProcessor]: Analyzing one entry point: main [2018-11-23 07:04:47,777 INFO L191 MainTranslator]: Completed pre-run [2018-11-23 07:04:47,823 INFO L201 PostProcessor]: Analyzing one entry point: main [2018-11-23 07:04:47,896 INFO L195 MainTranslator]: Completed translation [2018-11-23 07:04:47,896 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 07:04:47 WrapperNode [2018-11-23 07:04:47,896 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2018-11-23 07:04:47,897 INFO L113 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2018-11-23 07:04:47,897 INFO L271 PluginConnector]: Initializing Boogie Procedure Inliner... [2018-11-23 07:04:47,897 INFO L276 PluginConnector]: Boogie Procedure Inliner initialized [2018-11-23 07:04:47,903 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 07:04:47" (1/1) ... [2018-11-23 07:04:47,914 INFO L185 PluginConnector]: Executing the observer Inliner from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 07:04:47" (1/1) ... [2018-11-23 07:04:47,939 INFO L132 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2018-11-23 07:04:47,939 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2018-11-23 07:04:47,939 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2018-11-23 07:04:47,939 INFO L276 PluginConnector]: Boogie Preprocessor initialized [2018-11-23 07:04:47,946 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 07:04:47" (1/1) ... [2018-11-23 07:04:47,947 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 07:04:47" (1/1) ... [2018-11-23 07:04:47,950 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 07:04:47" (1/1) ... [2018-11-23 07:04:47,951 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 07:04:47" (1/1) ... [2018-11-23 07:04:47,963 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 07:04:47" (1/1) ... [2018-11-23 07:04:47,970 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 07:04:47" (1/1) ... [2018-11-23 07:04:47,973 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 07:04:47" (1/1) ... [2018-11-23 07:04:47,977 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2018-11-23 07:04:47,977 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2018-11-23 07:04:47,977 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2018-11-23 07:04:47,978 INFO L276 PluginConnector]: RCFGBuilder initialized [2018-11-23 07:04:47,978 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 07:04:47" (1/1) ... No working directory specified, using /tmp/vcloud-vcloud-master/worker/working_dir_0edd8b83-1e19-4772-b20d-363970750c13/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 07:04:48,034 INFO L130 BoogieDeclarations]: Found specification of procedure read~real [2018-11-23 07:04:48,035 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2018-11-23 07:04:48,035 INFO L130 BoogieDeclarations]: Found specification of procedure fabs_double [2018-11-23 07:04:48,035 INFO L138 BoogieDeclarations]: Found implementation of procedure fabs_double [2018-11-23 07:04:48,035 INFO L130 BoogieDeclarations]: Found specification of procedure write~real [2018-11-23 07:04:48,035 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.alloc [2018-11-23 07:04:48,035 INFO L130 BoogieDeclarations]: Found specification of procedure atan_double [2018-11-23 07:04:48,035 INFO L138 BoogieDeclarations]: Found implementation of procedure atan_double [2018-11-23 07:04:48,036 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2018-11-23 07:04:48,036 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2018-11-23 07:04:48,036 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2018-11-23 07:04:48,036 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~real [2018-11-23 07:04:48,036 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2018-11-23 07:04:48,678 INFO L275 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2018-11-23 07:04:48,678 INFO L280 CfgBuilder]: Removed 30 assue(true) statements. [2018-11-23 07:04:48,678 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 23.11 07:04:48 BoogieIcfgContainer [2018-11-23 07:04:48,679 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2018-11-23 07:04:48,679 INFO L113 PluginConnector]: ------------------------CodeCheck---------------------------- [2018-11-23 07:04:48,679 INFO L271 PluginConnector]: Initializing CodeCheck... [2018-11-23 07:04:48,688 INFO L276 PluginConnector]: CodeCheck initialized [2018-11-23 07:04:48,688 INFO L185 PluginConnector]: Executing the observer CodeCheckObserver from plugin CodeCheck for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 23.11 07:04:48" (1/1) ... [2018-11-23 07:04:48,698 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 07:04:48,723 INFO L82 GeneralOperation]: Start removeUnreachable. Operand no size info available [2018-11-23 07:04:48,732 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 129 states to 79 states and 129 transitions. [2018-11-23 07:04:48,732 INFO L276 IsEmpty]: Start isEmpty. Operand 79 states and 129 transitions. [2018-11-23 07:04:48,734 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 14 [2018-11-23 07:04:48,735 INFO L427 CodeCheckObserver]: Error Path is FOUND. [2018-11-23 07:04:48,799 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 07:04:48,832 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 07:04:48,841 INFO L82 GeneralOperation]: Start removeUnreachable. Operand no size info available [2018-11-23 07:04:48,842 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 122 states to 79 states and 122 transitions. [2018-11-23 07:04:48,843 INFO L276 IsEmpty]: Start isEmpty. Operand 79 states and 122 transitions. [2018-11-23 07:04:48,843 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 17 [2018-11-23 07:04:48,843 INFO L427 CodeCheckObserver]: Error Path is FOUND. [2018-11-23 07:04:48,876 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 07:04:48,924 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 07:04:48,964 INFO L82 GeneralOperation]: Start removeUnreachable. Operand no size info available [2018-11-23 07:04:48,965 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 124 states to 80 states and 124 transitions. [2018-11-23 07:04:48,966 INFO L276 IsEmpty]: Start isEmpty. Operand 80 states and 124 transitions. [2018-11-23 07:04:48,966 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 19 [2018-11-23 07:04:48,966 INFO L427 CodeCheckObserver]: Error Path is FOUND. [2018-11-23 07:04:48,986 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 07:04:49,007 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 07:04:49,011 INFO L82 GeneralOperation]: Start removeUnreachable. Operand no size info available [2018-11-23 07:04:49,012 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 122 states to 80 states and 122 transitions. [2018-11-23 07:04:49,012 INFO L276 IsEmpty]: Start isEmpty. Operand 80 states and 122 transitions. [2018-11-23 07:04:49,013 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 20 [2018-11-23 07:04:49,013 INFO L427 CodeCheckObserver]: Error Path is FOUND. [2018-11-23 07:04:49,091 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-11-23 07:04:49,144 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-11-23 07:04:49,251 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-11-23 07:04:49,300 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-11-23 07:04:49,340 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~union49;havoc isinf_double_#t~mem48;call isinf_double_#t~mem50 := read~int(isinf_double_~#ew_u~2.base, isinf_double_~#ew_u~2.offset, 4);isinf_double_~lx~1 := (if isinf_double_#t~mem50 % 4294967296 % 4294967296 <= 2147483647 then isinf_double_#t~mem50 % 4294967296 % 4294967296 else isinf_double_#t~mem50 % 4294967296 % 4294967296 - 4294967296);call write~real(isinf_double_#t~union51, isinf_double_~#ew_u~2.base, isinf_double_~#ew_u~2.offset, 8);havoc isinf_double_#t~union51;havoc isinf_double_#t~mem50;call ULTIMATE.dealloc(isinf_double_~#ew_u~2.base, isinf_double_~#ew_u~2.offset);havoc isinf_double_~#ew_u~2.base, isinf_double_~#ew_u~2.offset; VAL [ULTIMATE.start_isinf_double_~hx~2=0, ULTIMATE.start_isinf_double_~lx~1=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~ret55;havoc main_#t~short57;__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~union28;havoc __ieee754_atan2_#t~mem27;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, ~someUnaryDOUBLEoperation(~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~union49; [L250] havoc isinf_double_#t~mem48; [L251] call isinf_double_#t~mem50 := read~int(isinf_double_~#ew_u~2.base, isinf_double_~#ew_u~2.offset, 4); [L251] isinf_double_~lx~1 := (if isinf_double_#t~mem50 % 4294967296 % 4294967296 <= 2147483647 then isinf_double_#t~mem50 % 4294967296 % 4294967296 else isinf_double_#t~mem50 % 4294967296 % 4294967296 - 4294967296); [L251] call write~real(isinf_double_#t~union51, isinf_double_~#ew_u~2.base, isinf_double_~#ew_u~2.offset, 8); [L251] havoc isinf_double_#t~union51; [L251] havoc isinf_double_#t~mem50; [L248] call ULTIMATE.dealloc(isinf_double_~#ew_u~2.base, isinf_double_~#ew_u~2.offset); [L248] havoc isinf_double_~#ew_u~2.base, isinf_double_~#ew_u~2.offset; VAL [#NULL.base=0, #NULL.offset=0, isinf_double_#in~x=2.0, isinf_double_~hx~2=0, isinf_double_~lx~1=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~ret55; [L279] havoc main_#t~short57; [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~union28; [L150] havoc __ieee754_atan2_#t~mem27; [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, ~someUnaryDOUBLEoperation(~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~union49; [L250] havoc isinf_double_#t~mem48; [L251] call isinf_double_#t~mem50 := read~int(isinf_double_~#ew_u~2.base, isinf_double_~#ew_u~2.offset, 4); [L251] isinf_double_~lx~1 := (if isinf_double_#t~mem50 % 4294967296 % 4294967296 <= 2147483647 then isinf_double_#t~mem50 % 4294967296 % 4294967296 else isinf_double_#t~mem50 % 4294967296 % 4294967296 - 4294967296); [L251] call write~real(isinf_double_#t~union51, isinf_double_~#ew_u~2.base, isinf_double_~#ew_u~2.offset, 8); [L251] havoc isinf_double_#t~union51; [L251] havoc isinf_double_#t~mem50; [L248] call ULTIMATE.dealloc(isinf_double_~#ew_u~2.base, isinf_double_~#ew_u~2.offset); [L248] havoc isinf_double_~#ew_u~2.base, isinf_double_~#ew_u~2.offset; VAL [#NULL.base=0, #NULL.offset=0, isinf_double_#in~x=2.0, isinf_double_~hx~2=0, isinf_double_~lx~1=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~ret55; [L279] havoc main_#t~short57; [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~union28; [L150] havoc __ieee754_atan2_#t~mem27; [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, ~someUnaryDOUBLEoperation(~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~union49; [L250] havoc isinf_double_#t~mem48; [L251] FCALL call isinf_double_#t~mem50 := read~int({ base: isinf_double_~#ew_u~2!base, offset: isinf_double_~#ew_u~2!offset }, 4); [L251] isinf_double_~lx~1 := (if isinf_double_#t~mem50 % 4294967296 % 4294967296 <= 2147483647 then isinf_double_#t~mem50 % 4294967296 % 4294967296 else isinf_double_#t~mem50 % 4294967296 % 4294967296 - 4294967296); [L251] FCALL call write~real(isinf_double_#t~union51, { base: isinf_double_~#ew_u~2!base, offset: isinf_double_~#ew_u~2!offset }, 8); [L251] havoc isinf_double_#t~union51; [L251] havoc isinf_double_#t~mem50; [L248] FCALL call ULTIMATE.dealloc(isinf_double_~#ew_u~2); [L248] havoc isinf_double_~#ew_u~2; VAL [#NULL!base=0, #NULL!offset=0, isinf_double_#in~x=2.0, isinf_double_~hx~2=0, isinf_double_~lx~1=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~ret55; [L279] havoc main_#t~short57; [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~union28; [L150] havoc __ieee754_atan2_#t~mem27; [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, ~someUnaryDOUBLEoperation(~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~union49; [L250] havoc isinf_double_#t~mem48; [L251] FCALL call isinf_double_#t~mem50 := read~int({ base: isinf_double_~#ew_u~2!base, offset: isinf_double_~#ew_u~2!offset }, 4); [L251] isinf_double_~lx~1 := (if isinf_double_#t~mem50 % 4294967296 % 4294967296 <= 2147483647 then isinf_double_#t~mem50 % 4294967296 % 4294967296 else isinf_double_#t~mem50 % 4294967296 % 4294967296 - 4294967296); [L251] FCALL call write~real(isinf_double_#t~union51, { base: isinf_double_~#ew_u~2!base, offset: isinf_double_~#ew_u~2!offset }, 8); [L251] havoc isinf_double_#t~union51; [L251] havoc isinf_double_#t~mem50; [L248] FCALL call ULTIMATE.dealloc(isinf_double_~#ew_u~2); [L248] havoc isinf_double_~#ew_u~2; VAL [#NULL!base=0, #NULL!offset=0, isinf_double_#in~x=2.0, isinf_double_~hx~2=0, isinf_double_~lx~1=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~ret55; [L279] havoc main_#t~short57; [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~union28; [L150] havoc __ieee754_atan2_#t~mem27; [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, ~someUnaryDOUBLEoperation(~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~union49; [L250] havoc #t~mem48; [L251] FCALL call #t~mem50 := read~int({ base: ~#ew_u~2!base, offset: ~#ew_u~2!offset }, 4); [L251] ~lx~1 := (if #t~mem50 % 4294967296 % 4294967296 <= 2147483647 then #t~mem50 % 4294967296 % 4294967296 else #t~mem50 % 4294967296 % 4294967296 - 4294967296); [L251] FCALL call write~real(#t~union51, { base: ~#ew_u~2!base, offset: ~#ew_u~2!offset }, 8); [L251] havoc #t~union51; [L251] havoc #t~mem50; [L248] FCALL call ULTIMATE.dealloc(~#ew_u~2); [L248] havoc ~#ew_u~2; VAL [#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~ret55; [L279] havoc #t~short57; [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~union28; [L150] havoc #t~mem27; [L151] FCALL call #t~mem29 := read~int({ base: ~#ew_u~0!base, offset: ~#ew_u~0!offset }, 4); [L151] ~lx~0 := #t~mem29; [L151] FCALL call write~real(#t~union30, { base: ~#ew_u~0!base, offset: ~#ew_u~0!offset }, 8); [L151] havoc #t~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, ~someUnaryDOUBLEoperation(~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~union49; [L250] havoc #t~mem48; [L251] FCALL call #t~mem50 := read~int({ base: ~#ew_u~2!base, offset: ~#ew_u~2!offset }, 4); [L251] ~lx~1 := (if #t~mem50 % 4294967296 % 4294967296 <= 2147483647 then #t~mem50 % 4294967296 % 4294967296 else #t~mem50 % 4294967296 % 4294967296 - 4294967296); [L251] FCALL call write~real(#t~union51, { base: ~#ew_u~2!base, offset: ~#ew_u~2!offset }, 8); [L251] havoc #t~union51; [L251] havoc #t~mem50; [L248] FCALL call ULTIMATE.dealloc(~#ew_u~2); [L248] havoc ~#ew_u~2; VAL [#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~ret55; [L279] havoc #t~short57; [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~union28; [L150] havoc #t~mem27; [L151] FCALL call #t~mem29 := read~int({ base: ~#ew_u~0!base, offset: ~#ew_u~0!offset }, 4); [L151] ~lx~0 := #t~mem29; [L151] FCALL call write~real(#t~union30, { base: ~#ew_u~0!base, offset: ~#ew_u~0!offset }, 8); [L151] havoc #t~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, ~someUnaryDOUBLEoperation(~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 07:04:49,624 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.codecheck CFG 23.11 07:04:49 ImpRootNode [2018-11-23 07:04:49,625 INFO L132 PluginConnector]: ------------------------ END CodeCheck---------------------------- [2018-11-23 07:04:49,625 INFO L113 PluginConnector]: ------------------------Witness Printer---------------------------- [2018-11-23 07:04:49,625 INFO L271 PluginConnector]: Initializing Witness Printer... [2018-11-23 07:04:49,628 INFO L276 PluginConnector]: Witness Printer initialized [2018-11-23 07:04:49,629 INFO L185 PluginConnector]: Executing the observer RCFGCatcher from plugin Witness Printer for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 23.11 07:04:48" (3/4) ... [2018-11-23 07:04:49,633 INFO L147 WitnessPrinter]: No result that supports witness generation found [2018-11-23 07:04:49,633 INFO L132 PluginConnector]: ------------------------ END Witness Printer---------------------------- [2018-11-23 07:04:49,634 INFO L168 Benchmark]: Toolchain (without parser) took 2083.33 ms. Allocated memory was 1.0 GB in the beginning and 1.2 GB in the end (delta: 153.6 MB). Free memory was 958.2 MB in the beginning and 987.4 MB in the end (delta: -29.2 MB). Peak memory consumption was 124.4 MB. Max. memory is 11.5 GB. [2018-11-23 07:04:49,636 INFO L168 Benchmark]: CDTParser took 0.17 ms. Allocated memory is still 1.0 GB. Free memory is still 985.5 MB. There was no memory consumed. Max. memory is 11.5 GB. [2018-11-23 07:04:49,637 INFO L168 Benchmark]: CACSL2BoogieTranslator took 344.35 ms. Allocated memory was 1.0 GB in the beginning and 1.2 GB in the end (delta: 153.6 MB). Free memory was 958.2 MB in the beginning and 1.1 GB in the end (delta: -188.9 MB). Peak memory consumption was 34.8 MB. Max. memory is 11.5 GB. [2018-11-23 07:04:49,637 INFO L168 Benchmark]: Boogie Procedure Inliner took 42.13 ms. Allocated memory is still 1.2 GB. Free memory was 1.1 GB in the beginning and 1.1 GB in the end (delta: 3.5 MB). Peak memory consumption was 3.5 MB. Max. memory is 11.5 GB. [2018-11-23 07:04:49,638 INFO L168 Benchmark]: Boogie Preprocessor took 38.08 ms. Allocated memory is still 1.2 GB. Free memory was 1.1 GB in the beginning and 1.1 GB in the end (delta: 3.5 MB). Peak memory consumption was 3.5 MB. Max. memory is 11.5 GB. [2018-11-23 07:04:49,638 INFO L168 Benchmark]: RCFGBuilder took 701.44 ms. Allocated memory is still 1.2 GB. Free memory was 1.1 GB in the beginning and 1.1 GB in the end (delta: 72.4 MB). Peak memory consumption was 72.4 MB. Max. memory is 11.5 GB. [2018-11-23 07:04:49,638 INFO L168 Benchmark]: CodeCheck took 945.70 ms. Allocated memory is still 1.2 GB. Free memory was 1.1 GB in the beginning and 987.4 MB in the end (delta: 80.3 MB). Peak memory consumption was 80.3 MB. Max. memory is 11.5 GB. [2018-11-23 07:04:49,639 INFO L168 Benchmark]: Witness Printer took 8.10 ms. Allocated memory is still 1.2 GB. Free memory is still 987.4 MB. There was no memory consumed. Max. memory is 11.5 GB. [2018-11-23 07:04:49,643 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.6s 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.1s 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.17 ms. Allocated memory is still 1.0 GB. Free memory is still 985.5 MB. There was no memory consumed. Max. memory is 11.5 GB. * CACSL2BoogieTranslator took 344.35 ms. Allocated memory was 1.0 GB in the beginning and 1.2 GB in the end (delta: 153.6 MB). Free memory was 958.2 MB in the beginning and 1.1 GB in the end (delta: -188.9 MB). Peak memory consumption was 34.8 MB. Max. memory is 11.5 GB. * Boogie Procedure Inliner took 42.13 ms. Allocated memory is still 1.2 GB. Free memory was 1.1 GB in the beginning and 1.1 GB in the end (delta: 3.5 MB). Peak memory consumption was 3.5 MB. Max. memory is 11.5 GB. * Boogie Preprocessor took 38.08 ms. Allocated memory is still 1.2 GB. Free memory was 1.1 GB in the beginning and 1.1 GB in the end (delta: 3.5 MB). Peak memory consumption was 3.5 MB. Max. memory is 11.5 GB. * RCFGBuilder took 701.44 ms. Allocated memory is still 1.2 GB. Free memory was 1.1 GB in the beginning and 1.1 GB in the end (delta: 72.4 MB). Peak memory consumption was 72.4 MB. Max. memory is 11.5 GB. * CodeCheck took 945.70 ms. Allocated memory is still 1.2 GB. Free memory was 1.1 GB in the beginning and 987.4 MB in the end (delta: 80.3 MB). Peak memory consumption was 80.3 MB. Max. memory is 11.5 GB. * Witness Printer took 8.10 ms. Allocated memory is still 1.2 GB. Free memory is still 987.4 MB. There was no memory consumed. Max. memory is 11.5 GB. RESULT: Ultimate could not prove your program: unable to determine feasibility of some traces Received shutdown request... ### Bit-precise run ### This is Ultimate 0.1.23-aa41828 [2018-11-23 07:04:51,342 INFO L170 SettingsManager]: Resetting all preferences to default values... [2018-11-23 07:04:51,343 INFO L174 SettingsManager]: Resetting UltimateCore preferences to default values [2018-11-23 07:04:51,353 INFO L177 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2018-11-23 07:04:51,353 INFO L174 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2018-11-23 07:04:51,354 INFO L174 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2018-11-23 07:04:51,355 INFO L174 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2018-11-23 07:04:51,356 INFO L174 SettingsManager]: Resetting LassoRanker preferences to default values [2018-11-23 07:04:51,357 INFO L174 SettingsManager]: Resetting Reaching Definitions preferences to default values [2018-11-23 07:04:51,358 INFO L174 SettingsManager]: Resetting SyntaxChecker preferences to default values [2018-11-23 07:04:51,359 INFO L177 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2018-11-23 07:04:51,359 INFO L174 SettingsManager]: Resetting LTL2Aut preferences to default values [2018-11-23 07:04:51,359 INFO L174 SettingsManager]: Resetting PEA to Boogie preferences to default values [2018-11-23 07:04:51,360 INFO L174 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2018-11-23 07:04:51,361 INFO L174 SettingsManager]: Resetting ChcToBoogie preferences to default values [2018-11-23 07:04:51,362 INFO L174 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2018-11-23 07:04:51,362 INFO L174 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2018-11-23 07:04:51,364 INFO L174 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2018-11-23 07:04:51,365 INFO L174 SettingsManager]: Resetting CodeCheck preferences to default values [2018-11-23 07:04:51,366 INFO L174 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2018-11-23 07:04:51,367 INFO L174 SettingsManager]: Resetting RCFGBuilder preferences to default values [2018-11-23 07:04:51,368 INFO L174 SettingsManager]: Resetting TraceAbstraction preferences to default values [2018-11-23 07:04:51,370 INFO L177 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2018-11-23 07:04:51,370 INFO L177 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2018-11-23 07:04:51,370 INFO L174 SettingsManager]: Resetting TreeAutomizer preferences to default values [2018-11-23 07:04:51,371 INFO L174 SettingsManager]: Resetting IcfgTransformer preferences to default values [2018-11-23 07:04:51,372 INFO L174 SettingsManager]: Resetting Boogie Printer preferences to default values [2018-11-23 07:04:51,372 INFO L174 SettingsManager]: Resetting ReqPrinter preferences to default values [2018-11-23 07:04:51,373 INFO L174 SettingsManager]: Resetting Witness Printer preferences to default values [2018-11-23 07:04:51,374 INFO L177 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2018-11-23 07:04:51,374 INFO L174 SettingsManager]: Resetting CDTParser preferences to default values [2018-11-23 07:04:51,375 INFO L177 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2018-11-23 07:04:51,375 INFO L177 SettingsManager]: ReqParser provides no preferences, ignoring... [2018-11-23 07:04:51,375 INFO L174 SettingsManager]: Resetting SmtParser preferences to default values [2018-11-23 07:04:51,376 INFO L174 SettingsManager]: Resetting Witness Parser preferences to default values [2018-11-23 07:04:51,376 INFO L181 SettingsManager]: Finished resetting all preferences to default values... [2018-11-23 07:04:51,377 INFO L98 SettingsManager]: Beginning loading settings from /tmp/vcloud-vcloud-master/worker/working_dir_0edd8b83-1e19-4772-b20d-363970750c13/bin-2019/ukojak/config/svcomp-Reach-32bit-Kojak_Bitvector.epf [2018-11-23 07:04:51,388 INFO L110 SettingsManager]: Loading preferences was successful [2018-11-23 07:04:51,388 INFO L112 SettingsManager]: Preferences different from defaults after loading the file: [2018-11-23 07:04:51,389 INFO L131 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2018-11-23 07:04:51,389 INFO L133 SettingsManager]: * ... to procedures called more than once=ALWAYS [2018-11-23 07:04:51,389 INFO L131 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2018-11-23 07:04:51,390 INFO L133 SettingsManager]: * Create parallel compositions if possible=false [2018-11-23 07:04:51,390 INFO L131 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2018-11-23 07:04:51,390 INFO L133 SettingsManager]: * sizeof long=4 [2018-11-23 07:04:51,390 INFO L133 SettingsManager]: * sizeof POINTER=4 [2018-11-23 07:04:51,390 INFO L133 SettingsManager]: * Check division by zero=IGNORE [2018-11-23 07:04:51,390 INFO L133 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2018-11-23 07:04:51,391 INFO L133 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2018-11-23 07:04:51,391 INFO L133 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2018-11-23 07:04:51,391 INFO L133 SettingsManager]: * Use bitvectors instead of ints=true [2018-11-23 07:04:51,391 INFO L133 SettingsManager]: * Memory model=HoenickeLindenmann_4ByteResolution [2018-11-23 07:04:51,391 INFO L133 SettingsManager]: * sizeof long double=12 [2018-11-23 07:04:51,391 INFO L133 SettingsManager]: * Check if freed pointer was valid=false [2018-11-23 07:04:51,391 INFO L133 SettingsManager]: * Use constant arrays=true [2018-11-23 07:04:51,392 INFO L133 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2018-11-23 07:04:51,392 INFO L131 SettingsManager]: Preferences of CodeCheck differ from their defaults: [2018-11-23 07:04:51,392 INFO L133 SettingsManager]: * Timeout in seconds=1000000 [2018-11-23 07:04:51,392 INFO L131 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2018-11-23 07:04:51,392 INFO L133 SettingsManager]: * To the following directory=./dump/ [2018-11-23 07:04:51,392 INFO L133 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:10000 [2018-11-23 07:04:51,393 INFO L131 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2018-11-23 07:04:51,393 INFO L133 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2018-11-23 07:04:51,393 INFO L133 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopsAndPotentialCycles [2018-11-23 07:04:51,393 INFO L133 SettingsManager]: * Use separate solver for trace checks=false [2018-11-23 07:04:51,393 INFO L133 SettingsManager]: * Trace refinement strategy=WALRUS [2018-11-23 07:04:51,393 INFO L133 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode [2018-11-23 07:04:51,393 INFO L133 SettingsManager]: * Command for external solver=cvc4nyu --tear-down-incremental --rewrite-divk --print-success --lang smt [2018-11-23 07:04:51,393 INFO L133 SettingsManager]: * Logic for external solver=AUFBV [2018-11-23 07:04:51,394 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_0edd8b83-1e19-4772-b20d-363970750c13/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 -> fcf534df2acf49cd98974d7f01989073db823dea [2018-11-23 07:04:51,429 INFO L81 nceAwareModelManager]: Repository-Root is: /tmp [2018-11-23 07:04:51,440 INFO L258 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2018-11-23 07:04:51,443 INFO L214 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2018-11-23 07:04:51,445 INFO L271 PluginConnector]: Initializing CDTParser... [2018-11-23 07:04:51,446 INFO L276 PluginConnector]: CDTParser initialized [2018-11-23 07:04:51,446 INFO L418 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /tmp/vcloud-vcloud-master/worker/working_dir_0edd8b83-1e19-4772-b20d-363970750c13/bin-2019/ukojak/../../sv-benchmarks/c/float-newlib/double_req_bl_0682a_true-unreach-call.c [2018-11-23 07:04:51,498 INFO L221 CDTParser]: Created temporary CDT project at /tmp/vcloud-vcloud-master/worker/working_dir_0edd8b83-1e19-4772-b20d-363970750c13/bin-2019/ukojak/data/3813ffe7a/55b487bcf02b45d4b046fd2315a197c4/FLAGa6762e796 [2018-11-23 07:04:51,866 INFO L307 CDTParser]: Found 1 translation units. [2018-11-23 07:04:51,867 INFO L161 CDTParser]: Scanning /tmp/vcloud-vcloud-master/worker/working_dir_0edd8b83-1e19-4772-b20d-363970750c13/sv-benchmarks/c/float-newlib/double_req_bl_0682a_true-unreach-call.c [2018-11-23 07:04:51,872 INFO L355 CDTParser]: About to delete temporary CDT project at /tmp/vcloud-vcloud-master/worker/working_dir_0edd8b83-1e19-4772-b20d-363970750c13/bin-2019/ukojak/data/3813ffe7a/55b487bcf02b45d4b046fd2315a197c4/FLAGa6762e796 [2018-11-23 07:04:51,882 INFO L363 CDTParser]: Successfully deleted /tmp/vcloud-vcloud-master/worker/working_dir_0edd8b83-1e19-4772-b20d-363970750c13/bin-2019/ukojak/data/3813ffe7a/55b487bcf02b45d4b046fd2315a197c4 [2018-11-23 07:04:51,885 INFO L296 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2018-11-23 07:04:51,887 INFO L131 ToolchainWalker]: Walking toolchain with 6 elements. [2018-11-23 07:04:51,888 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2018-11-23 07:04:51,888 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2018-11-23 07:04:51,892 INFO L276 PluginConnector]: CACSL2BoogieTranslator initialized [2018-11-23 07:04:51,892 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 23.11 07:04:51" (1/1) ... [2018-11-23 07:04:51,895 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 07:04:51, skipping insertion in model container [2018-11-23 07:04:51,895 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 23.11 07:04:51" (1/1) ... [2018-11-23 07:04:51,905 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2018-11-23 07:04:51,935 INFO L176 MainTranslator]: Built tables and reachable declarations [2018-11-23 07:04:52,139 INFO L201 PostProcessor]: Analyzing one entry point: main [2018-11-23 07:04:52,144 INFO L191 MainTranslator]: Completed pre-run [2018-11-23 07:04:52,201 INFO L201 PostProcessor]: Analyzing one entry point: main [2018-11-23 07:04:52,233 INFO L195 MainTranslator]: Completed translation [2018-11-23 07:04:52,233 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 07:04:52 WrapperNode [2018-11-23 07:04:52,233 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2018-11-23 07:04:52,234 INFO L113 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2018-11-23 07:04:52,234 INFO L271 PluginConnector]: Initializing Boogie Procedure Inliner... [2018-11-23 07:04:52,234 INFO L276 PluginConnector]: Boogie Procedure Inliner initialized [2018-11-23 07:04:52,284 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 07:04:52" (1/1) ... [2018-11-23 07:04:52,295 INFO L185 PluginConnector]: Executing the observer Inliner from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 07:04:52" (1/1) ... [2018-11-23 07:04:52,317 INFO L132 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2018-11-23 07:04:52,318 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2018-11-23 07:04:52,318 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2018-11-23 07:04:52,318 INFO L276 PluginConnector]: Boogie Preprocessor initialized [2018-11-23 07:04:52,324 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 07:04:52" (1/1) ... [2018-11-23 07:04:52,324 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 07:04:52" (1/1) ... [2018-11-23 07:04:52,331 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 07:04:52" (1/1) ... [2018-11-23 07:04:52,331 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 07:04:52" (1/1) ... [2018-11-23 07:04:52,349 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 07:04:52" (1/1) ... [2018-11-23 07:04:52,357 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 07:04:52" (1/1) ... [2018-11-23 07:04:52,360 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 07:04:52" (1/1) ... [2018-11-23 07:04:52,364 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2018-11-23 07:04:52,365 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2018-11-23 07:04:52,365 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2018-11-23 07:04:52,365 INFO L276 PluginConnector]: RCFGBuilder initialized [2018-11-23 07:04:52,366 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 07:04:52" (1/1) ... No working directory specified, using /tmp/vcloud-vcloud-master/worker/working_dir_0edd8b83-1e19-4772-b20d-363970750c13/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 07:04:52,408 INFO L130 BoogieDeclarations]: Found specification of procedure read~intFLOATTYPE8 [2018-11-23 07:04:52,409 INFO L130 BoogieDeclarations]: Found specification of procedure write~intFLOATTYPE8 [2018-11-23 07:04:52,409 INFO L130 BoogieDeclarations]: Found specification of procedure fabs_double [2018-11-23 07:04:52,409 INFO L138 BoogieDeclarations]: Found implementation of procedure fabs_double [2018-11-23 07:04:52,409 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~intFLOATTYPE8 [2018-11-23 07:04:52,409 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.alloc [2018-11-23 07:04:52,409 INFO L130 BoogieDeclarations]: Found specification of procedure atan_double [2018-11-23 07:04:52,409 INFO L138 BoogieDeclarations]: Found implementation of procedure atan_double [2018-11-23 07:04:52,409 INFO L130 BoogieDeclarations]: Found specification of procedure read~intINTTYPE4 [2018-11-23 07:04:52,409 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2018-11-23 07:04:52,410 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2018-11-23 07:04:52,410 INFO L130 BoogieDeclarations]: Found specification of procedure write~intINTTYPE4 [2018-11-23 07:04:52,410 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2018-11-23 07:04:52,610 WARN L317 ript$VariableManager]: TermVariabe |q#valueAsBitvector| not constructed by VariableManager. Cannot ensure absence of name clashes. [2018-11-23 07:04:52,655 WARN L317 ript$VariableManager]: TermVariabe |q#valueAsBitvector| not constructed by VariableManager. Cannot ensure absence of name clashes. [2018-11-23 07:05:02,242 WARN L317 ript$VariableManager]: TermVariabe |q#valueAsBitvector| not constructed by VariableManager. Cannot ensure absence of name clashes. [2018-11-23 07:05:33,801 WARN L317 ript$VariableManager]: TermVariabe |q#valueAsBitvector| not constructed by VariableManager. Cannot ensure absence of name clashes. [2018-11-23 07:05:34,943 WARN L317 ript$VariableManager]: TermVariabe |q#valueAsBitvector| not constructed by VariableManager. Cannot ensure absence of name clashes. [2018-11-23 07:05:34,965 WARN L317 ript$VariableManager]: TermVariabe |q#valueAsBitvector| not constructed by VariableManager. Cannot ensure absence of name clashes. [2018-11-23 07:05:36,322 WARN L317 ript$VariableManager]: TermVariabe |q#valueAsBitvector| not constructed by VariableManager. Cannot ensure absence of name clashes. [2018-11-23 07:05:36,362 WARN L317 ript$VariableManager]: TermVariabe |q#valueAsBitvector| not constructed by VariableManager. Cannot ensure absence of name clashes. [2018-11-23 07:05:36,386 WARN L317 ript$VariableManager]: TermVariabe |q#valueAsBitvector| not constructed by VariableManager. Cannot ensure absence of name clashes. [2018-11-23 07:05:36,413 WARN L317 ript$VariableManager]: TermVariabe |q#valueAsBitvector| not constructed by VariableManager. Cannot ensure absence of name clashes. [2018-11-23 07:05:36,433 WARN L317 ript$VariableManager]: TermVariabe |q#valueAsBitvector| not constructed by VariableManager. Cannot ensure absence of name clashes. [2018-11-23 07:08:56,179 INFO L275 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2018-11-23 07:08:56,179 INFO L280 CfgBuilder]: Removed 30 assue(true) statements. [2018-11-23 07:08:56,180 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 23.11 07:08:56 BoogieIcfgContainer [2018-11-23 07:08:56,180 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2018-11-23 07:08:56,181 INFO L113 PluginConnector]: ------------------------CodeCheck---------------------------- [2018-11-23 07:08:56,181 INFO L271 PluginConnector]: Initializing CodeCheck... [2018-11-23 07:08:56,191 INFO L276 PluginConnector]: CodeCheck initialized [2018-11-23 07:08:56,191 INFO L185 PluginConnector]: Executing the observer CodeCheckObserver from plugin CodeCheck for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 23.11 07:08:56" (1/1) ... [2018-11-23 07:08:56,200 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 07:08:56,222 INFO L82 GeneralOperation]: Start removeUnreachable. Operand no size info available [2018-11-23 07:08:56,230 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 129 states to 79 states and 129 transitions. [2018-11-23 07:08:56,231 INFO L276 IsEmpty]: Start isEmpty. Operand 79 states and 129 transitions. [2018-11-23 07:08:56,233 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 14 [2018-11-23 07:08:56,233 INFO L427 CodeCheckObserver]: Error Path is FOUND. [2018-11-23 07:08:56,282 ERROR L613 CodeCheckObserver]: First Tracecheck threw exception Indexed Sort FloatingPoint undefined [2018-11-23 07:08:56,347 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 07:08:56,361 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 07:08:56,375 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 07:08:56,388 INFO L82 GeneralOperation]: Start removeUnreachable. Operand no size info available [2018-11-23 07:08:56,389 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 122 states to 79 states and 122 transitions. [2018-11-23 07:08:56,389 INFO L276 IsEmpty]: Start isEmpty. Operand 79 states and 122 transitions. [2018-11-23 07:08:56,390 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 17 [2018-11-23 07:08:56,390 INFO L427 CodeCheckObserver]: Error Path is FOUND. [2018-11-23 07:08:56,391 ERROR L613 CodeCheckObserver]: First Tracecheck threw exception Indexed Sort FloatingPoint undefined [2018-11-23 07:08:56,446 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 07:08:56,456 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 07:08:56,467 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 07:08:56,773 INFO L82 GeneralOperation]: Start removeUnreachable. Operand no size info available [2018-11-23 07:08:56,774 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 124 states to 80 states and 124 transitions. [2018-11-23 07:08:56,774 INFO L276 IsEmpty]: Start isEmpty. Operand 80 states and 124 transitions. [2018-11-23 07:08:56,774 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 19 [2018-11-23 07:08:56,774 INFO L427 CodeCheckObserver]: Error Path is FOUND. [2018-11-23 07:08:56,775 ERROR L613 CodeCheckObserver]: First Tracecheck threw exception Indexed Sort FloatingPoint undefined [2018-11-23 07:08:56,815 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 07:08:56,822 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 07:08:56,825 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 07:08:56,830 INFO L82 GeneralOperation]: Start removeUnreachable. Operand no size info available [2018-11-23 07:08:56,832 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 122 states to 80 states and 122 transitions. [2018-11-23 07:08:56,832 INFO L276 IsEmpty]: Start isEmpty. Operand 80 states and 122 transitions. [2018-11-23 07:08:56,832 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 20 [2018-11-23 07:08:56,833 INFO L427 CodeCheckObserver]: Error Path is FOUND. [2018-11-23 07:08:56,834 ERROR L613 CodeCheckObserver]: First Tracecheck threw exception Indexed Sort FloatingPoint undefined [2018-11-23 07:08:56,954 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 07:08:56,963 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 07:08:57,033 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 07:08:57,033 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 07:08:57,039 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 07:08:57,091 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 07:08:57,092 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 2 disjoint index pairs (out of 1 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 27 treesize of output 33 [2018-11-23 07:08:57,093 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 07:08:57,125 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 07:08:57,130 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 07:08:57,131 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 2 select indices, 2 select index equivalence classes, 2 disjoint index pairs (out of 1 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 18 treesize of output 11 [2018-11-23 07:08:57,132 INFO L267 ElimStorePlain]: Start of recursive call 5: End of recursive call: and 1 xjuncts. [2018-11-23 07:08:57,138 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 07:08:57,142 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 07:08:57,160 INFO L267 ElimStorePlain]: Start of recursive call 1: 3 dim-0 vars, 1 dim-2 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2018-11-23 07:08:57,160 INFO L202 ElimStorePlain]: Needed 5 recursive calls to eliminate 4 variables, input treesize:55, output treesize:27 [2018-11-23 07:08:57,271 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 07:08:57,272 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 07:08:57,273 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 07:08:57,273 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 07:08:57,275 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 07:08:57,384 WARN L180 SmtUtils]: Spent 105.00 ms on a formula simplification. DAG size of input: 31 DAG size of output: 27 [2018-11-23 07:08:57,407 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 07:08:57,409 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 2 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 49 treesize of output 51 [2018-11-23 07:08:57,409 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 07:08:57,466 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 27 treesize of output 21 [2018-11-23 07:08:57,477 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 13 [2018-11-23 07:08:57,477 INFO L267 ElimStorePlain]: Start of recursive call 5: End of recursive call: and 1 xjuncts. [2018-11-23 07:08:57,489 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 07:08:57,515 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 07:08:57,525 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 13 treesize of output 1 [2018-11-23 07:08:57,525 INFO L267 ElimStorePlain]: Start of recursive call 7: End of recursive call: and 1 xjuncts. [2018-11-23 07:08:57,528 INFO L267 ElimStorePlain]: Start of recursive call 6: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 07:08:57,541 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, 2 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 07:08:57,574 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 07:08:57,575 INFO L202 ElimStorePlain]: Needed 7 recursive calls to eliminate 5 variables, input treesize:96, output treesize:47 [2018-11-23 07:08:57,784 WARN L180 SmtUtils]: Spent 147.00 ms on a formula simplification. DAG size of input: 41 DAG size of output: 37 [2018-11-23 07:09:02,574 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 07:09:03,977 INFO L82 GeneralOperation]: Start removeUnreachable. Operand no size info available [2018-11-23 07:09:03,978 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 121 states to 80 states and 121 transitions. [2018-11-23 07:09:03,978 INFO L276 IsEmpty]: Start isEmpty. Operand 80 states and 121 transitions. [2018-11-23 07:09:03,978 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 23 [2018-11-23 07:09:03,978 INFO L427 CodeCheckObserver]: Error Path is FOUND. [2018-11-23 07:09:03,979 ERROR L613 CodeCheckObserver]: First Tracecheck threw exception Indexed Sort FloatingPoint undefined [2018-11-23 07:09:04,068 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 07:09:04,078 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 07:09:04,190 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 07:09:04,192 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 07:09:04,194 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 07:09:04,195 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 07:09:04,196 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 07:09:04,316 WARN L180 SmtUtils]: Spent 118.00 ms on a formula simplification. DAG size of input: 31 DAG size of output: 26 [2018-11-23 07:09:04,317 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_6 (_ bv0 32) ((_ extract 31 0) |v_q#valueAsBitvector_15|)) 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 07:09:04,320 INFO L168 Benchmark]: Toolchain (without parser) took 252434.25 ms. Allocated memory was 1.0 GB in the beginning and 1.2 GB in the end (delta: 145.8 MB). Free memory was 950.8 MB in the beginning and 856.1 MB in the end (delta: 94.7 MB). Peak memory consumption was 240.5 MB. Max. memory is 11.5 GB. [2018-11-23 07:09:04,321 INFO L168 Benchmark]: CDTParser took 0.21 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 07:09:04,321 INFO L168 Benchmark]: CACSL2BoogieTranslator took 345.63 ms. Allocated memory is still 1.0 GB. Free memory was 950.8 MB in the beginning and 929.3 MB in the end (delta: 21.5 MB). Peak memory consumption was 21.5 MB. Max. memory is 11.5 GB. [2018-11-23 07:09:04,321 INFO L168 Benchmark]: Boogie Procedure Inliner took 83.64 ms. Allocated memory was 1.0 GB in the beginning and 1.2 GB in the end (delta: 145.8 MB). Free memory was 929.3 MB in the beginning and 1.1 GB in the end (delta: -204.4 MB). Peak memory consumption was 15.9 MB. Max. memory is 11.5 GB. [2018-11-23 07:09:04,322 INFO L168 Benchmark]: Boogie Preprocessor took 46.84 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 07:09:04,322 INFO L168 Benchmark]: RCFGBuilder took 243815.53 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: 97.8 MB). Peak memory consumption was 97.8 MB. Max. memory is 11.5 GB. [2018-11-23 07:09:04,322 INFO L168 Benchmark]: CodeCheck took 8138.66 ms. Allocated memory is still 1.2 GB. Free memory was 1.0 GB in the beginning and 856.1 MB in the end (delta: 179.8 MB). Peak memory consumption was 179.8 MB. Max. memory is 11.5 GB. [2018-11-23 07:09:04,325 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_6 (_ bv0 32) ((_ extract 31 0) |v_q#valueAsBitvector_15|)) de.uni_freiburg.informatik.ultimate.plugins.generator.codecheck: UnsupportedOperationException: nested self-update not yet implemented: (store v_arrayElimCell_6 (_ bv0 32) ((_ extract 31 0) |v_q#valueAsBitvector_15|)): 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.21 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 345.63 ms. Allocated memory is still 1.0 GB. Free memory was 950.8 MB in the beginning and 929.3 MB in the end (delta: 21.5 MB). Peak memory consumption was 21.5 MB. Max. memory is 11.5 GB. * Boogie Procedure Inliner took 83.64 ms. Allocated memory was 1.0 GB in the beginning and 1.2 GB in the end (delta: 145.8 MB). Free memory was 929.3 MB in the beginning and 1.1 GB in the end (delta: -204.4 MB). Peak memory consumption was 15.9 MB. Max. memory is 11.5 GB. * Boogie Preprocessor took 46.84 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 243815.53 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: 97.8 MB). Peak memory consumption was 97.8 MB. Max. memory is 11.5 GB. * CodeCheck took 8138.66 ms. Allocated memory is still 1.2 GB. Free memory was 1.0 GB in the beginning and 856.1 MB in the end (delta: 179.8 MB). Peak memory consumption was 179.8 MB. 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...