./Ultimate.py --spec ../../sv-benchmarks/c/properties/unreach-call.prp --file ../../sv-benchmarks/c/float-newlib/double_req_bl_0684b_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_c182fa98-1d14-4b12-a347-c32694980a55/bin-2019/uautomizer/data/config -Xmx12G -Xms1G -jar /tmp/vcloud-vcloud-master/worker/working_dir_c182fa98-1d14-4b12-a347-c32694980a55/bin-2019/uautomizer/plugins/org.eclipse.equinox.launcher_1.3.100.v20150511-1540.jar -data @noDefault -ultimatedata /tmp/vcloud-vcloud-master/worker/working_dir_c182fa98-1d14-4b12-a347-c32694980a55/bin-2019/uautomizer/data -tc /tmp/vcloud-vcloud-master/worker/working_dir_c182fa98-1d14-4b12-a347-c32694980a55/bin-2019/uautomizer/config/AutomizerReach.xml -i ../../sv-benchmarks/c/float-newlib/double_req_bl_0684b_true-unreach-call.c -s /tmp/vcloud-vcloud-master/worker/working_dir_c182fa98-1d14-4b12-a347-c32694980a55/bin-2019/uautomizer/config/svcomp-Reach-32bit-Automizer_Default.epf --cacsl2boogietranslator.entry.function main --witnessprinter.witness.directory /tmp/vcloud-vcloud-master/worker/working_dir_c182fa98-1d14-4b12-a347-c32694980a55/bin-2019/uautomizer --witnessprinter.witness.filename witness.graphml --witnessprinter.write.witness.besides.input.file false --witnessprinter.graph.data.specification CHECK( init(main()), LTL(G ! call(__VERIFIER_error())) ) --witnessprinter.graph.data.producer Automizer --witnessprinter.graph.data.architecture 32bit --witnessprinter.graph.data.programhash 9898ce33ba90bf1deafb76b4145359648bf729c6 ..................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................... 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_c182fa98-1d14-4b12-a347-c32694980a55/bin-2019/uautomizer/data/config -Xmx12G -Xms1G -jar /tmp/vcloud-vcloud-master/worker/working_dir_c182fa98-1d14-4b12-a347-c32694980a55/bin-2019/uautomizer/plugins/org.eclipse.equinox.launcher_1.3.100.v20150511-1540.jar -data @noDefault -ultimatedata /tmp/vcloud-vcloud-master/worker/working_dir_c182fa98-1d14-4b12-a347-c32694980a55/bin-2019/uautomizer/data -tc /tmp/vcloud-vcloud-master/worker/working_dir_c182fa98-1d14-4b12-a347-c32694980a55/bin-2019/uautomizer/config/AutomizerReach.xml -i ../../sv-benchmarks/c/float-newlib/double_req_bl_0684b_true-unreach-call.c -s /tmp/vcloud-vcloud-master/worker/working_dir_c182fa98-1d14-4b12-a347-c32694980a55/bin-2019/uautomizer/config/svcomp-Reach-32bit-Automizer_Bitvector.epf --cacsl2boogietranslator.entry.function main --witnessprinter.witness.directory /tmp/vcloud-vcloud-master/worker/working_dir_c182fa98-1d14-4b12-a347-c32694980a55/bin-2019/uautomizer --witnessprinter.witness.filename witness.graphml --witnessprinter.write.witness.besides.input.file false --witnessprinter.graph.data.specification CHECK( init(main()), LTL(G ! call(__VERIFIER_error())) ) --witnessprinter.graph.data.producer Automizer --witnessprinter.graph.data.architecture 32bit --witnessprinter.graph.data.programhash 9898ce33ba90bf1deafb76b4145359648bf729c6 ........................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................... Execution finished normally Writing output log to file Ultimate.log Result: ERROR: ExceptionOrErrorResult: UnsupportedOperationException: nested self-update not yet implemented: (store v_arrayElimCell_43 (_ bv0 32) ((_ extract 31 0) v_prenex_239)) --- Real Ultimate output --- This is Ultimate 0.1.23-aa41828 [2018-11-23 02:23:12,172 INFO L170 SettingsManager]: Resetting all preferences to default values... [2018-11-23 02:23:12,173 INFO L174 SettingsManager]: Resetting UltimateCore preferences to default values [2018-11-23 02:23:12,181 INFO L177 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2018-11-23 02:23:12,181 INFO L174 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2018-11-23 02:23:12,181 INFO L174 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2018-11-23 02:23:12,182 INFO L174 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2018-11-23 02:23:12,183 INFO L174 SettingsManager]: Resetting LassoRanker preferences to default values [2018-11-23 02:23:12,185 INFO L174 SettingsManager]: Resetting Reaching Definitions preferences to default values [2018-11-23 02:23:12,185 INFO L174 SettingsManager]: Resetting SyntaxChecker preferences to default values [2018-11-23 02:23:12,186 INFO L177 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2018-11-23 02:23:12,186 INFO L174 SettingsManager]: Resetting LTL2Aut preferences to default values [2018-11-23 02:23:12,187 INFO L174 SettingsManager]: Resetting PEA to Boogie preferences to default values [2018-11-23 02:23:12,188 INFO L174 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2018-11-23 02:23:12,189 INFO L174 SettingsManager]: Resetting ChcToBoogie preferences to default values [2018-11-23 02:23:12,189 INFO L174 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2018-11-23 02:23:12,190 INFO L174 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2018-11-23 02:23:12,191 INFO L174 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2018-11-23 02:23:12,193 INFO L174 SettingsManager]: Resetting CodeCheck preferences to default values [2018-11-23 02:23:12,194 INFO L174 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2018-11-23 02:23:12,195 INFO L174 SettingsManager]: Resetting RCFGBuilder preferences to default values [2018-11-23 02:23:12,196 INFO L174 SettingsManager]: Resetting TraceAbstraction preferences to default values [2018-11-23 02:23:12,197 INFO L177 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2018-11-23 02:23:12,198 INFO L177 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2018-11-23 02:23:12,198 INFO L174 SettingsManager]: Resetting TreeAutomizer preferences to default values [2018-11-23 02:23:12,199 INFO L174 SettingsManager]: Resetting IcfgTransformer preferences to default values [2018-11-23 02:23:12,199 INFO L174 SettingsManager]: Resetting Boogie Printer preferences to default values [2018-11-23 02:23:12,200 INFO L174 SettingsManager]: Resetting ReqPrinter preferences to default values [2018-11-23 02:23:12,201 INFO L174 SettingsManager]: Resetting Witness Printer preferences to default values [2018-11-23 02:23:12,202 INFO L177 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2018-11-23 02:23:12,202 INFO L174 SettingsManager]: Resetting CDTParser preferences to default values [2018-11-23 02:23:12,202 INFO L177 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2018-11-23 02:23:12,203 INFO L177 SettingsManager]: ReqParser provides no preferences, ignoring... [2018-11-23 02:23:12,203 INFO L174 SettingsManager]: Resetting SmtParser preferences to default values [2018-11-23 02:23:12,204 INFO L174 SettingsManager]: Resetting Witness Parser preferences to default values [2018-11-23 02:23:12,204 INFO L181 SettingsManager]: Finished resetting all preferences to default values... [2018-11-23 02:23:12,204 INFO L98 SettingsManager]: Beginning loading settings from /tmp/vcloud-vcloud-master/worker/working_dir_c182fa98-1d14-4b12-a347-c32694980a55/bin-2019/uautomizer/config/svcomp-Reach-32bit-Automizer_Default.epf [2018-11-23 02:23:12,216 INFO L110 SettingsManager]: Loading preferences was successful [2018-11-23 02:23:12,216 INFO L112 SettingsManager]: Preferences different from defaults after loading the file: [2018-11-23 02:23:12,217 INFO L131 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2018-11-23 02:23:12,217 INFO L133 SettingsManager]: * ... calls to implemented procedures=ONLY_FOR_CONCURRENT_PROGRAMS [2018-11-23 02:23:12,218 INFO L131 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2018-11-23 02:23:12,218 INFO L133 SettingsManager]: * Create parallel compositions if possible=false [2018-11-23 02:23:12,218 INFO L133 SettingsManager]: * Use SBE=true [2018-11-23 02:23:12,218 INFO L131 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2018-11-23 02:23:12,218 INFO L133 SettingsManager]: * sizeof long=4 [2018-11-23 02:23:12,218 INFO L133 SettingsManager]: * Overapproximate operations on floating types=true [2018-11-23 02:23:12,219 INFO L133 SettingsManager]: * sizeof POINTER=4 [2018-11-23 02:23:12,219 INFO L133 SettingsManager]: * Check division by zero=IGNORE [2018-11-23 02:23:12,219 INFO L133 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2018-11-23 02:23:12,219 INFO L133 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2018-11-23 02:23:12,219 INFO L133 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2018-11-23 02:23:12,219 INFO L133 SettingsManager]: * sizeof long double=12 [2018-11-23 02:23:12,220 INFO L133 SettingsManager]: * Check if freed pointer was valid=false [2018-11-23 02:23:12,220 INFO L133 SettingsManager]: * Use constant arrays=true [2018-11-23 02:23:12,220 INFO L133 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2018-11-23 02:23:12,220 INFO L131 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2018-11-23 02:23:12,220 INFO L133 SettingsManager]: * Size of a code block=SequenceOfStatements [2018-11-23 02:23:12,220 INFO L133 SettingsManager]: * To the following directory=./dump/ [2018-11-23 02:23:12,221 INFO L133 SettingsManager]: * SMT solver=External_DefaultMode [2018-11-23 02:23:12,221 INFO L133 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2018-11-23 02:23:12,221 INFO L131 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2018-11-23 02:23:12,221 INFO L133 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2018-11-23 02:23:12,221 INFO L133 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopsAndPotentialCycles [2018-11-23 02:23:12,221 INFO L133 SettingsManager]: * Trace refinement strategy=CAMEL [2018-11-23 02:23:12,222 INFO L133 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode [2018-11-23 02:23:12,222 INFO L133 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2018-11-23 02:23:12,222 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_c182fa98-1d14-4b12-a347-c32694980a55/bin-2019/uautomizer Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Witness filename -> witness.graphml Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Write witness besides input file -> false Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Graph data specification -> CHECK( init(main()), LTL(G ! call(__VERIFIER_error())) ) Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Graph data producer -> Automizer Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Graph data architecture -> 32bit Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Graph data programhash -> 9898ce33ba90bf1deafb76b4145359648bf729c6 [2018-11-23 02:23:12,248 INFO L81 nceAwareModelManager]: Repository-Root is: /tmp [2018-11-23 02:23:12,257 INFO L258 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2018-11-23 02:23:12,260 INFO L214 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2018-11-23 02:23:12,261 INFO L271 PluginConnector]: Initializing CDTParser... [2018-11-23 02:23:12,261 INFO L276 PluginConnector]: CDTParser initialized [2018-11-23 02:23:12,261 INFO L418 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /tmp/vcloud-vcloud-master/worker/working_dir_c182fa98-1d14-4b12-a347-c32694980a55/bin-2019/uautomizer/../../sv-benchmarks/c/float-newlib/double_req_bl_0684b_true-unreach-call.c [2018-11-23 02:23:12,307 INFO L221 CDTParser]: Created temporary CDT project at /tmp/vcloud-vcloud-master/worker/working_dir_c182fa98-1d14-4b12-a347-c32694980a55/bin-2019/uautomizer/data/ae5ade2af/6d2a4ca4c9db457da6fa0f9087e7d42c/FLAG4a7247fd0 [2018-11-23 02:23:12,654 INFO L307 CDTParser]: Found 1 translation units. [2018-11-23 02:23:12,654 INFO L161 CDTParser]: Scanning /tmp/vcloud-vcloud-master/worker/working_dir_c182fa98-1d14-4b12-a347-c32694980a55/sv-benchmarks/c/float-newlib/double_req_bl_0684b_true-unreach-call.c [2018-11-23 02:23:12,660 INFO L355 CDTParser]: About to delete temporary CDT project at /tmp/vcloud-vcloud-master/worker/working_dir_c182fa98-1d14-4b12-a347-c32694980a55/bin-2019/uautomizer/data/ae5ade2af/6d2a4ca4c9db457da6fa0f9087e7d42c/FLAG4a7247fd0 [2018-11-23 02:23:12,669 INFO L363 CDTParser]: Successfully deleted /tmp/vcloud-vcloud-master/worker/working_dir_c182fa98-1d14-4b12-a347-c32694980a55/bin-2019/uautomizer/data/ae5ade2af/6d2a4ca4c9db457da6fa0f9087e7d42c [2018-11-23 02:23:12,671 INFO L296 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2018-11-23 02:23:12,672 INFO L131 ToolchainWalker]: Walking toolchain with 6 elements. [2018-11-23 02:23:12,673 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2018-11-23 02:23:12,673 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2018-11-23 02:23:12,675 INFO L276 PluginConnector]: CACSL2BoogieTranslator initialized [2018-11-23 02:23:12,676 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 23.11 02:23:12" (1/1) ... [2018-11-23 02:23:12,677 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@2780dd4e and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 02:23:12, skipping insertion in model container [2018-11-23 02:23:12,677 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 23.11 02:23:12" (1/1) ... [2018-11-23 02:23:12,683 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2018-11-23 02:23:12,703 INFO L176 MainTranslator]: Built tables and reachable declarations [2018-11-23 02:23:12,859 INFO L201 PostProcessor]: Analyzing one entry point: main [2018-11-23 02:23:12,864 INFO L191 MainTranslator]: Completed pre-run [2018-11-23 02:23:12,908 INFO L201 PostProcessor]: Analyzing one entry point: main [2018-11-23 02:23:12,971 INFO L195 MainTranslator]: Completed translation [2018-11-23 02:23:12,971 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 02:23:12 WrapperNode [2018-11-23 02:23:12,971 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2018-11-23 02:23:12,972 INFO L113 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2018-11-23 02:23:12,972 INFO L271 PluginConnector]: Initializing Boogie Procedure Inliner... [2018-11-23 02:23:12,972 INFO L276 PluginConnector]: Boogie Procedure Inliner initialized [2018-11-23 02:23:12,979 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 02:23:12" (1/1) ... [2018-11-23 02:23:12,990 INFO L185 PluginConnector]: Executing the observer Inliner from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 02:23:12" (1/1) ... [2018-11-23 02:23:12,995 INFO L132 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2018-11-23 02:23:12,995 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2018-11-23 02:23:12,995 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2018-11-23 02:23:12,995 INFO L276 PluginConnector]: Boogie Preprocessor initialized [2018-11-23 02:23:13,001 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 02:23:12" (1/1) ... [2018-11-23 02:23:13,001 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 02:23:12" (1/1) ... [2018-11-23 02:23:13,004 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 02:23:12" (1/1) ... [2018-11-23 02:23:13,004 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 02:23:12" (1/1) ... [2018-11-23 02:23:13,018 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 02:23:12" (1/1) ... [2018-11-23 02:23:13,026 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 02:23:12" (1/1) ... [2018-11-23 02:23:13,028 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 02:23:12" (1/1) ... [2018-11-23 02:23:13,030 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2018-11-23 02:23:13,030 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2018-11-23 02:23:13,030 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2018-11-23 02:23:13,030 INFO L276 PluginConnector]: RCFGBuilder initialized [2018-11-23 02:23:13,030 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 02:23:12" (1/1) ... No working directory specified, using /tmp/vcloud-vcloud-master/worker/working_dir_c182fa98-1d14-4b12-a347-c32694980a55/bin-2019/uautomizer/z3 Starting monitored process 1 with z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 1 with z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2018-11-23 02:23:13,061 INFO L130 BoogieDeclarations]: Found specification of procedure isfinite_double [2018-11-23 02:23:13,061 INFO L138 BoogieDeclarations]: Found implementation of procedure isfinite_double [2018-11-23 02:23:13,061 INFO L130 BoogieDeclarations]: Found specification of procedure isinf_double [2018-11-23 02:23:13,061 INFO L138 BoogieDeclarations]: Found implementation of procedure isinf_double [2018-11-23 02:23:13,061 INFO L130 BoogieDeclarations]: Found specification of procedure main [2018-11-23 02:23:13,061 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2018-11-23 02:23:13,062 INFO L130 BoogieDeclarations]: Found specification of procedure __ieee754_atan2 [2018-11-23 02:23:13,062 INFO L138 BoogieDeclarations]: Found implementation of procedure __ieee754_atan2 [2018-11-23 02:23:13,062 INFO L130 BoogieDeclarations]: Found specification of procedure read~real [2018-11-23 02:23:13,062 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2018-11-23 02:23:13,062 INFO L130 BoogieDeclarations]: Found specification of procedure fabs_double [2018-11-23 02:23:13,062 INFO L138 BoogieDeclarations]: Found implementation of procedure fabs_double [2018-11-23 02:23:13,062 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2018-11-23 02:23:13,062 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2018-11-23 02:23:13,062 INFO L130 BoogieDeclarations]: Found specification of procedure write~real [2018-11-23 02:23:13,062 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.alloc [2018-11-23 02:23:13,063 INFO L130 BoogieDeclarations]: Found specification of procedure atan_double [2018-11-23 02:23:13,063 INFO L138 BoogieDeclarations]: Found implementation of procedure atan_double [2018-11-23 02:23:13,063 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2018-11-23 02:23:13,063 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2018-11-23 02:23:13,063 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2018-11-23 02:23:13,063 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~real [2018-11-23 02:23:13,063 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2018-11-23 02:23:13,505 INFO L275 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2018-11-23 02:23:13,505 INFO L280 CfgBuilder]: Removed 20 assue(true) statements. [2018-11-23 02:23:13,505 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 23.11 02:23:13 BoogieIcfgContainer [2018-11-23 02:23:13,506 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2018-11-23 02:23:13,506 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2018-11-23 02:23:13,506 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2018-11-23 02:23:13,508 INFO L276 PluginConnector]: TraceAbstraction initialized [2018-11-23 02:23:13,508 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 23.11 02:23:12" (1/3) ... [2018-11-23 02:23:13,508 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@3a64d6bf and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 23.11 02:23:13, skipping insertion in model container [2018-11-23 02:23:13,508 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 02:23:12" (2/3) ... [2018-11-23 02:23:13,509 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@3a64d6bf and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 23.11 02:23:13, skipping insertion in model container [2018-11-23 02:23:13,509 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 23.11 02:23:13" (3/3) ... [2018-11-23 02:23:13,510 INFO L112 eAbstractionObserver]: Analyzing ICFG double_req_bl_0684b_true-unreach-call.c [2018-11-23 02:23:13,516 INFO L156 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2018-11-23 02:23:13,520 INFO L168 ceAbstractionStarter]: Appying trace abstraction to program that has 1 error locations. [2018-11-23 02:23:13,529 INFO L257 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2018-11-23 02:23:13,547 INFO L133 ementStrategyFactory]: Using default assertion order modulation [2018-11-23 02:23:13,547 INFO L382 AbstractCegarLoop]: Interprodecural is true [2018-11-23 02:23:13,547 INFO L383 AbstractCegarLoop]: Hoare is true [2018-11-23 02:23:13,547 INFO L384 AbstractCegarLoop]: Compute interpolants for FPandBP [2018-11-23 02:23:13,547 INFO L385 AbstractCegarLoop]: Backedges is STRAIGHT_LINE [2018-11-23 02:23:13,548 INFO L386 AbstractCegarLoop]: Determinization is PREDICATE_ABSTRACTION [2018-11-23 02:23:13,548 INFO L387 AbstractCegarLoop]: Difference is false [2018-11-23 02:23:13,548 INFO L388 AbstractCegarLoop]: Minimize is MINIMIZE_SEVPA [2018-11-23 02:23:13,548 INFO L393 AbstractCegarLoop]: ======== Iteration 0==of CEGAR loop == AllErrorsAtOnce======== [2018-11-23 02:23:13,559 INFO L276 IsEmpty]: Start isEmpty. Operand 120 states. [2018-11-23 02:23:13,564 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 28 [2018-11-23 02:23:13,564 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 02:23:13,565 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 02:23:13,567 INFO L423 AbstractCegarLoop]: === Iteration 1 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 02:23:13,571 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 02:23:13,572 INFO L82 PathProgramCache]: Analyzing trace with hash -1181622730, now seen corresponding path program 1 times [2018-11-23 02:23:13,573 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 02:23:13,574 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 02:23:13,604 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 02:23:13,604 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 02:23:13,605 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 02:23:13,645 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 02:23:13,688 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 02:23:13,689 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-23 02:23:13,690 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [2] imperfect sequences [] total 2 [2018-11-23 02:23:13,692 INFO L459 AbstractCegarLoop]: Interpolant automaton has 2 states [2018-11-23 02:23:13,699 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 2 interpolants. [2018-11-23 02:23:13,699 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=1, Invalid=1, Unknown=0, NotChecked=0, Total=2 [2018-11-23 02:23:13,701 INFO L87 Difference]: Start difference. First operand 120 states. Second operand 2 states. [2018-11-23 02:23:13,726 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 02:23:13,726 INFO L93 Difference]: Finished difference Result 232 states and 362 transitions. [2018-11-23 02:23:13,726 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 2 states. [2018-11-23 02:23:13,727 INFO L78 Accepts]: Start accepts. Automaton has 2 states. Word has length 27 [2018-11-23 02:23:13,727 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 02:23:13,736 INFO L225 Difference]: With dead ends: 232 [2018-11-23 02:23:13,736 INFO L226 Difference]: Without dead ends: 115 [2018-11-23 02:23:13,740 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 2 GetRequests, 2 SyntacticMatches, 0 SemanticMatches, 0 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=1, Invalid=1, Unknown=0, NotChecked=0, Total=2 [2018-11-23 02:23:13,751 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 115 states. [2018-11-23 02:23:13,766 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 115 to 115. [2018-11-23 02:23:13,767 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 115 states. [2018-11-23 02:23:13,769 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 115 states to 115 states and 155 transitions. [2018-11-23 02:23:13,770 INFO L78 Accepts]: Start accepts. Automaton has 115 states and 155 transitions. Word has length 27 [2018-11-23 02:23:13,770 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 02:23:13,771 INFO L480 AbstractCegarLoop]: Abstraction has 115 states and 155 transitions. [2018-11-23 02:23:13,771 INFO L481 AbstractCegarLoop]: Interpolant automaton has 2 states. [2018-11-23 02:23:13,771 INFO L276 IsEmpty]: Start isEmpty. Operand 115 states and 155 transitions. [2018-11-23 02:23:13,772 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 31 [2018-11-23 02:23:13,772 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 02:23:13,772 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 02:23:13,772 INFO L423 AbstractCegarLoop]: === Iteration 2 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 02:23:13,772 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 02:23:13,773 INFO L82 PathProgramCache]: Analyzing trace with hash 258080510, now seen corresponding path program 1 times [2018-11-23 02:23:13,773 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 02:23:13,773 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 02:23:13,774 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 02:23:13,774 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 02:23:13,774 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 02:23:13,804 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 02:23:13,841 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 02:23:13,842 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-23 02:23:13,842 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2018-11-23 02:23:13,843 INFO L459 AbstractCegarLoop]: Interpolant automaton has 3 states [2018-11-23 02:23:13,843 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2018-11-23 02:23:13,843 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2018-11-23 02:23:13,844 INFO L87 Difference]: Start difference. First operand 115 states and 155 transitions. Second operand 3 states. [2018-11-23 02:23:13,869 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 02:23:13,869 INFO L93 Difference]: Finished difference Result 207 states and 286 transitions. [2018-11-23 02:23:13,869 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2018-11-23 02:23:13,870 INFO L78 Accepts]: Start accepts. Automaton has 3 states. Word has length 30 [2018-11-23 02:23:13,870 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 02:23:13,871 INFO L225 Difference]: With dead ends: 207 [2018-11-23 02:23:13,871 INFO L226 Difference]: Without dead ends: 115 [2018-11-23 02:23:13,872 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 3 GetRequests, 2 SyntacticMatches, 0 SemanticMatches, 1 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2018-11-23 02:23:13,873 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 115 states. [2018-11-23 02:23:13,879 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 115 to 115. [2018-11-23 02:23:13,879 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 115 states. [2018-11-23 02:23:13,882 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 115 states to 115 states and 154 transitions. [2018-11-23 02:23:13,882 INFO L78 Accepts]: Start accepts. Automaton has 115 states and 154 transitions. Word has length 30 [2018-11-23 02:23:13,882 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 02:23:13,883 INFO L480 AbstractCegarLoop]: Abstraction has 115 states and 154 transitions. [2018-11-23 02:23:13,883 INFO L481 AbstractCegarLoop]: Interpolant automaton has 3 states. [2018-11-23 02:23:13,883 INFO L276 IsEmpty]: Start isEmpty. Operand 115 states and 154 transitions. [2018-11-23 02:23:13,883 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 39 [2018-11-23 02:23:13,884 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 02:23:13,884 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 02:23:13,884 INFO L423 AbstractCegarLoop]: === Iteration 3 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 02:23:13,885 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 02:23:13,885 INFO L82 PathProgramCache]: Analyzing trace with hash -5924694, now seen corresponding path program 1 times [2018-11-23 02:23:13,885 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 02:23:13,885 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 02:23:13,886 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 02:23:13,886 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 02:23:13,886 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 02:23:13,955 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-11-23 02:23:14,002 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-11-23 02:23:14,031 INFO L469 BasicCegarLoop]: Counterexample might be feasible ----- class de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder.RCFGBacktranslator [?] CALL call ULTIMATE.init(); VAL [|#NULL.base|=15032385566, |#NULL.offset|=15032385555, |old(#NULL.base)|=15032385566, |old(#NULL.offset)|=15032385555, |old(~#aT_atan~0.base)|=15032385545, |old(~#aT_atan~0.offset)|=15032385553, |old(~#atanhi_atan~0.base)|=15032385547, |old(~#atanhi_atan~0.offset)|=15032385561, |old(~#atanlo_atan~0.base)|=15032385540, |old(~#atanlo_atan~0.offset)|=15032385572, |old(~huge_atan~0)|=15032385568.0, |old(~one_atan~0)|=15032385554.0, |old(~pi_lo_atan2~0)|=15032385551.0, |old(~pi_o_2~0)|=15032385537.0, |old(~pi_o_4~0)|=15032385559.0, |old(~pi~0)|=15032385563.0, |old(~tiny_atan2~0)|=15032385570.0, |old(~zero_atan2~0)|=15032385544.0, |~#aT_atan~0.base|=15032385545, |~#aT_atan~0.offset|=15032385553, |~#atanhi_atan~0.base|=15032385547, |~#atanhi_atan~0.offset|=15032385561, |~#atanlo_atan~0.base|=15032385540, |~#atanlo_atan~0.offset|=15032385572, ~huge_atan~0=15032385568.0, ~one_atan~0=15032385554.0, ~pi_lo_atan2~0=15032385551.0, ~pi_o_2~0=15032385537.0, ~pi_o_4~0=15032385559.0, ~pi~0=15032385563.0, ~tiny_atan2~0=15032385570.0, ~zero_atan2~0=15032385544.0] [?] #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];call ~#atanhi_atan~0.base, ~#atanhi_atan~0.offset := #Ultimate.alloc(32);call write~init~real(0.4636476090008061, ~#atanhi_atan~0.base, ~#atanhi_atan~0.offset, 8);call write~init~real(0.7853981633974483, ~#atanhi_atan~0.base, 8 + ~#atanhi_atan~0.offset, 8);call write~init~real(0.982793723247329, ~#atanhi_atan~0.base, 16 + ~#atanhi_atan~0.offset, 8);call write~init~real(1.5707963267948966, ~#atanhi_atan~0.base, 24 + ~#atanhi_atan~0.offset, 8);call ~#atanlo_atan~0.base, ~#atanlo_atan~0.offset := #Ultimate.alloc(32);call write~init~real(2.2698777452961687E-17, ~#atanlo_atan~0.base, ~#atanlo_atan~0.offset, 8);call write~init~real(3.061616997868383E-17, ~#atanlo_atan~0.base, 8 + ~#atanlo_atan~0.offset, 8);call write~init~real(1.3903311031230998E-17, ~#atanlo_atan~0.base, 16 + ~#atanlo_atan~0.offset, 8);call write~init~real(6.123233995736766E-17, ~#atanlo_atan~0.base, 24 + ~#atanlo_atan~0.offset, 8);call ~#aT_atan~0.base, ~#aT_atan~0.offset := #Ultimate.alloc(88);call write~init~real(0.3333333333333293, ~#aT_atan~0.base, ~#aT_atan~0.offset, 8);call write~init~real(~someUnaryDOUBLEoperation(0.19999999999876483), ~#aT_atan~0.base, 8 + ~#aT_atan~0.offset, 8);call write~init~real(0.14285714272503466, ~#aT_atan~0.base, 16 + ~#aT_atan~0.offset, 8);call write~init~real(~someUnaryDOUBLEoperation(0.11111110405462356), ~#aT_atan~0.base, 24 + ~#aT_atan~0.offset, 8);call write~init~real(0.09090887133436507, ~#aT_atan~0.base, 32 + ~#aT_atan~0.offset, 8);call write~init~real(~someUnaryDOUBLEoperation(0.0769187620504483), ~#aT_atan~0.base, 40 + ~#aT_atan~0.offset, 8);call write~init~real(0.06661073137387531, ~#aT_atan~0.base, 48 + ~#aT_atan~0.offset, 8);call write~init~real(~someUnaryDOUBLEoperation(0.058335701337905735), ~#aT_atan~0.base, 56 + ~#aT_atan~0.offset, 8);call write~init~real(0.049768779946159324, ~#aT_atan~0.base, 64 + ~#aT_atan~0.offset, 8);call write~init~real(~someUnaryDOUBLEoperation(0.036531572744216916), ~#aT_atan~0.base, 72 + ~#aT_atan~0.offset, 8);call write~init~real(0.016285820115365782, ~#aT_atan~0.base, 80 + ~#aT_atan~0.offset, 8);~one_atan~0 := 1.0;~pi_o_4~0 := 0.7853981633974483;~pi_o_2~0 := 1.5707963267948966;~pi~0 := 3.141592653589793;~huge_atan~0 := 1.0E300;~tiny_atan2~0 := 1.0E-300;~zero_atan2~0 := 0.0;~pi_lo_atan2~0 := 1.2246467991473532E-16; VAL [|#NULL.base|=0, |#NULL.offset|=0, |old(#NULL.base)|=15032385566, |old(#NULL.offset)|=15032385555, |old(~#aT_atan~0.base)|=15032385545, |old(~#aT_atan~0.offset)|=15032385553, |old(~#atanhi_atan~0.base)|=15032385547, |old(~#atanhi_atan~0.offset)|=15032385561, |old(~#atanlo_atan~0.base)|=15032385540, |old(~#atanlo_atan~0.offset)|=15032385572, |old(~huge_atan~0)|=15032385568.0, |old(~one_atan~0)|=15032385554.0, |old(~pi_lo_atan2~0)|=15032385551.0, |old(~pi_o_2~0)|=15032385537.0, |old(~pi_o_4~0)|=15032385559.0, |old(~pi~0)|=15032385563.0, |old(~tiny_atan2~0)|=15032385570.0, |old(~zero_atan2~0)|=15032385544.0, |~#aT_atan~0.base|=15032385546, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=15032385549, |~#atanhi_atan~0.offset|=0, |~#atanlo_atan~0.base|=15032385538, |~#atanlo_atan~0.offset|=0, ~huge_atan~0=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0, ~one_atan~0=1.0, ~pi_lo_atan2~0=(/ 3061616997868382943.0 25000000000000000000000000000000000.0), ~pi_o_2~0=(/ 785398163397448279.0 500000000000000000.0), ~pi_o_4~0=(/ 785398163397448279.0 1000000000000000000.0), ~pi~0=(/ 785398163397448279.0 250000000000000000.0), ~tiny_atan2~0=(/ 1.0 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0), ~zero_atan2~0=0.0] [?] assume true; VAL [|#NULL.base|=0, |#NULL.offset|=0, |old(#NULL.base)|=15032385566, |old(#NULL.offset)|=15032385555, |old(~#aT_atan~0.base)|=15032385545, |old(~#aT_atan~0.offset)|=15032385553, |old(~#atanhi_atan~0.base)|=15032385547, |old(~#atanhi_atan~0.offset)|=15032385561, |old(~#atanlo_atan~0.base)|=15032385540, |old(~#atanlo_atan~0.offset)|=15032385572, |old(~huge_atan~0)|=15032385568.0, |old(~one_atan~0)|=15032385554.0, |old(~pi_lo_atan2~0)|=15032385551.0, |old(~pi_o_2~0)|=15032385537.0, |old(~pi_o_4~0)|=15032385559.0, |old(~pi~0)|=15032385563.0, |old(~tiny_atan2~0)|=15032385570.0, |old(~zero_atan2~0)|=15032385544.0, |~#aT_atan~0.base|=15032385546, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=15032385549, |~#atanhi_atan~0.offset|=0, |~#atanlo_atan~0.base|=15032385538, |~#atanlo_atan~0.offset|=0, ~huge_atan~0=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0, ~one_atan~0=1.0, ~pi_lo_atan2~0=(/ 3061616997868382943.0 25000000000000000000000000000000000.0), ~pi_o_2~0=(/ 785398163397448279.0 500000000000000000.0), ~pi_o_4~0=(/ 785398163397448279.0 1000000000000000000.0), ~pi~0=(/ 785398163397448279.0 250000000000000000.0), ~tiny_atan2~0=(/ 1.0 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0), ~zero_atan2~0=0.0] [?] RET #381#return; VAL [|#NULL.base|=0, |#NULL.offset|=0, |~#aT_atan~0.base|=15032385546, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=15032385549, |~#atanhi_atan~0.offset|=0, |~#atanlo_atan~0.base|=15032385538, |~#atanlo_atan~0.offset|=0, ~huge_atan~0=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0, ~one_atan~0=1.0, ~pi_lo_atan2~0=(/ 3061616997868382943.0 25000000000000000000000000000000000.0), ~pi_o_2~0=(/ 785398163397448279.0 500000000000000000.0), ~pi_o_4~0=(/ 785398163397448279.0 1000000000000000000.0), ~pi~0=(/ 785398163397448279.0 250000000000000000.0), ~tiny_atan2~0=(/ 1.0 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0), ~zero_atan2~0=0.0] [?] CALL call #t~ret59 := main(); VAL [|#NULL.base|=0, |#NULL.offset|=0, |~#aT_atan~0.base|=15032385546, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=15032385549, |~#atanhi_atan~0.offset|=0, |~#atanlo_atan~0.base|=15032385538, |~#atanlo_atan~0.offset|=0, ~huge_atan~0=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0, ~one_atan~0=1.0, ~pi_lo_atan2~0=(/ 3061616997868382943.0 25000000000000000000000000000000000.0), ~pi_o_2~0=(/ 785398163397448279.0 500000000000000000.0), ~pi_o_4~0=(/ 785398163397448279.0 1000000000000000000.0), ~pi~0=(/ 785398163397448279.0 250000000000000000.0), ~tiny_atan2~0=(/ 1.0 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0), ~zero_atan2~0=0.0] [?] ~x~0 := #t~nondet54;havoc #t~nondet54;~y~0 := ~someBinaryArithmeticDOUBLEoperation(~someUnaryDOUBLEoperation(1.0), 0.0); VAL [main_~x~0=15032385560.0, |#NULL.base|=0, |#NULL.offset|=0, |~#aT_atan~0.base|=15032385546, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=15032385549, |~#atanhi_atan~0.offset|=0, |~#atanlo_atan~0.base|=15032385538, |~#atanlo_atan~0.offset|=0, ~huge_atan~0=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0, ~one_atan~0=1.0, ~pi_lo_atan2~0=(/ 3061616997868382943.0 25000000000000000000000000000000000.0), ~pi_o_2~0=(/ 785398163397448279.0 500000000000000000.0), ~pi_o_4~0=(/ 785398163397448279.0 1000000000000000000.0), ~pi~0=(/ 785398163397448279.0 250000000000000000.0), ~tiny_atan2~0=(/ 1.0 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0), ~zero_atan2~0=0.0] [?] CALL call #t~ret55 := isfinite_double(~x~0); VAL [|#NULL.base|=0, |#NULL.offset|=0, |isfinite_double_#in~x|=15032385560.0, |~#aT_atan~0.base|=15032385546, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=15032385549, |~#atanhi_atan~0.offset|=0, |~#atanlo_atan~0.base|=15032385538, |~#atanlo_atan~0.offset|=0, ~huge_atan~0=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0, ~one_atan~0=1.0, ~pi_lo_atan2~0=(/ 3061616997868382943.0 25000000000000000000000000000000000.0), ~pi_o_2~0=(/ 785398163397448279.0 500000000000000000.0), ~pi_o_4~0=(/ 785398163397448279.0 1000000000000000000.0), ~pi~0=(/ 785398163397448279.0 250000000000000000.0), ~tiny_atan2~0=(/ 1.0 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0), ~zero_atan2~0=0.0] [?] ~x := #in~x;havoc ~hx~3; VAL [isfinite_double_~x=15032385560.0, |#NULL.base|=0, |#NULL.offset|=0, |isfinite_double_#in~x|=15032385560.0, |~#aT_atan~0.base|=15032385546, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=15032385549, |~#atanhi_atan~0.offset|=0, |~#atanlo_atan~0.base|=15032385538, |~#atanlo_atan~0.offset|=0, ~huge_atan~0=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0, ~one_atan~0=1.0, ~pi_lo_atan2~0=(/ 3061616997868382943.0 25000000000000000000000000000000000.0), ~pi_o_2~0=(/ 785398163397448279.0 500000000000000000.0), ~pi_o_4~0=(/ 785398163397448279.0 1000000000000000000.0), ~pi~0=(/ 785398163397448279.0 250000000000000000.0), ~tiny_atan2~0=(/ 1.0 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0), ~zero_atan2~0=0.0] [?] call ~#gh_u~3.base, ~#gh_u~3.offset := #Ultimate.alloc(8);call write~real(~x, ~#gh_u~3.base, ~#gh_u~3.offset, 8);call #t~mem52 := read~int(~#gh_u~3.base, 4 + ~#gh_u~3.offset, 4);~hx~3 := (if #t~mem52 % 4294967296 % 4294967296 <= 2147483647 then #t~mem52 % 4294967296 % 4294967296 else #t~mem52 % 4294967296 % 4294967296 - 4294967296);call write~real(#t~union53, ~#gh_u~3.base, ~#gh_u~3.offset, 8);havoc #t~union53;havoc #t~mem52;call ULTIMATE.dealloc(~#gh_u~3.base, ~#gh_u~3.offset);havoc ~#gh_u~3.base, ~#gh_u~3.offset; VAL [isfinite_double_~hx~3=3, isfinite_double_~x=15032385560.0, |#NULL.base|=0, |#NULL.offset|=0, |isfinite_double_#in~x|=15032385560.0, |~#aT_atan~0.base|=15032385546, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=15032385549, |~#atanhi_atan~0.offset|=0, |~#atanlo_atan~0.base|=15032385538, |~#atanlo_atan~0.offset|=0, ~huge_atan~0=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0, ~one_atan~0=1.0, ~pi_lo_atan2~0=(/ 3061616997868382943.0 25000000000000000000000000000000000.0), ~pi_o_2~0=(/ 785398163397448279.0 500000000000000000.0), ~pi_o_4~0=(/ 785398163397448279.0 1000000000000000000.0), ~pi~0=(/ 785398163397448279.0 250000000000000000.0), ~tiny_atan2~0=(/ 1.0 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0), ~zero_atan2~0=0.0] [?] goto; VAL [isfinite_double_~hx~3=3, isfinite_double_~x=15032385560.0, |#NULL.base|=0, |#NULL.offset|=0, |isfinite_double_#in~x|=15032385560.0, |~#aT_atan~0.base|=15032385546, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=15032385549, |~#atanhi_atan~0.offset|=0, |~#atanlo_atan~0.base|=15032385538, |~#atanlo_atan~0.offset|=0, ~huge_atan~0=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0, ~one_atan~0=1.0, ~pi_lo_atan2~0=(/ 3061616997868382943.0 25000000000000000000000000000000000.0), ~pi_o_2~0=(/ 785398163397448279.0 500000000000000000.0), ~pi_o_4~0=(/ 785398163397448279.0 1000000000000000000.0), ~pi~0=(/ 785398163397448279.0 250000000000000000.0), ~tiny_atan2~0=(/ 1.0 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0), ~zero_atan2~0=0.0] [?] #res := (if (~bitwiseAnd(~hx~3, 2147483647) - 2146435072) / 2147483648 % 4294967296 % 4294967296 <= 2147483647 then (~bitwiseAnd(~hx~3, 2147483647) - 2146435072) / 2147483648 % 4294967296 % 4294967296 else (~bitwiseAnd(~hx~3, 2147483647) - 2146435072) / 2147483648 % 4294967296 % 4294967296 - 4294967296); VAL [isfinite_double_~hx~3=3, isfinite_double_~x=15032385560.0, |#NULL.base|=0, |#NULL.offset|=0, |isfinite_double_#in~x|=15032385560.0, |isfinite_double_#res|=(- 1), |~#aT_atan~0.base|=15032385546, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=15032385549, |~#atanhi_atan~0.offset|=0, |~#atanlo_atan~0.base|=15032385538, |~#atanlo_atan~0.offset|=0, ~huge_atan~0=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0, ~one_atan~0=1.0, ~pi_lo_atan2~0=(/ 3061616997868382943.0 25000000000000000000000000000000000.0), ~pi_o_2~0=(/ 785398163397448279.0 500000000000000000.0), ~pi_o_4~0=(/ 785398163397448279.0 1000000000000000000.0), ~pi~0=(/ 785398163397448279.0 250000000000000000.0), ~tiny_atan2~0=(/ 1.0 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0), ~zero_atan2~0=0.0] [?] assume true; VAL [isfinite_double_~hx~3=3, isfinite_double_~x=15032385560.0, |#NULL.base|=0, |#NULL.offset|=0, |isfinite_double_#in~x|=15032385560.0, |isfinite_double_#res|=(- 1), |~#aT_atan~0.base|=15032385546, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=15032385549, |~#atanhi_atan~0.offset|=0, |~#atanlo_atan~0.base|=15032385538, |~#atanlo_atan~0.offset|=0, ~huge_atan~0=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0, ~one_atan~0=1.0, ~pi_lo_atan2~0=(/ 3061616997868382943.0 25000000000000000000000000000000000.0), ~pi_o_2~0=(/ 785398163397448279.0 500000000000000000.0), ~pi_o_4~0=(/ 785398163397448279.0 1000000000000000000.0), ~pi~0=(/ 785398163397448279.0 250000000000000000.0), ~tiny_atan2~0=(/ 1.0 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0), ~zero_atan2~0=0.0] [?] RET #367#return; VAL [main_~x~0=15032385560.0, |#NULL.base|=0, |#NULL.offset|=0, |main_#t~ret55|=(- 1), |~#aT_atan~0.base|=15032385546, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=15032385549, |~#atanhi_atan~0.offset|=0, |~#atanlo_atan~0.base|=15032385538, |~#atanlo_atan~0.offset|=0, ~huge_atan~0=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0, ~one_atan~0=1.0, ~pi_lo_atan2~0=(/ 3061616997868382943.0 25000000000000000000000000000000000.0), ~pi_o_2~0=(/ 785398163397448279.0 500000000000000000.0), ~pi_o_4~0=(/ 785398163397448279.0 1000000000000000000.0), ~pi~0=(/ 785398163397448279.0 250000000000000000.0), ~tiny_atan2~0=(/ 1.0 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0), ~zero_atan2~0=0.0] [?] assume -2147483648 <= #t~ret55 && #t~ret55 <= 2147483647;#t~short57 := 0 != #t~ret55; VAL [main_~x~0=15032385560.0, |#NULL.base|=0, |#NULL.offset|=0, |main_#t~ret55|=(- 1), |main_#t~short57|=true, |~#aT_atan~0.base|=15032385546, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=15032385549, |~#atanhi_atan~0.offset|=0, |~#atanlo_atan~0.base|=15032385538, |~#atanlo_atan~0.offset|=0, ~huge_atan~0=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0, ~one_atan~0=1.0, ~pi_lo_atan2~0=(/ 3061616997868382943.0 25000000000000000000000000000000000.0), ~pi_o_2~0=(/ 785398163397448279.0 500000000000000000.0), ~pi_o_4~0=(/ 785398163397448279.0 1000000000000000000.0), ~pi~0=(/ 785398163397448279.0 250000000000000000.0), ~tiny_atan2~0=(/ 1.0 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0), ~zero_atan2~0=0.0] [?] assume #t~short57; VAL [main_~x~0=15032385560.0, |#NULL.base|=0, |#NULL.offset|=0, |main_#t~ret55|=(- 1), |main_#t~short57|=true, |~#aT_atan~0.base|=15032385546, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=15032385549, |~#atanhi_atan~0.offset|=0, |~#atanlo_atan~0.base|=15032385538, |~#atanlo_atan~0.offset|=0, ~huge_atan~0=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0, ~one_atan~0=1.0, ~pi_lo_atan2~0=(/ 3061616997868382943.0 25000000000000000000000000000000000.0), ~pi_o_2~0=(/ 785398163397448279.0 500000000000000000.0), ~pi_o_4~0=(/ 785398163397448279.0 1000000000000000000.0), ~pi~0=(/ 785398163397448279.0 250000000000000000.0), ~tiny_atan2~0=(/ 1.0 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0), ~zero_atan2~0=0.0] [?] CALL call #t~ret56 := isinf_double(~y~0); VAL [|#NULL.base|=0, |#NULL.offset|=0, |isinf_double_#in~x|=15032385558.0, |~#aT_atan~0.base|=15032385546, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=15032385549, |~#atanhi_atan~0.offset|=0, |~#atanlo_atan~0.base|=15032385538, |~#atanlo_atan~0.offset|=0, ~huge_atan~0=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0, ~one_atan~0=1.0, ~pi_lo_atan2~0=(/ 3061616997868382943.0 25000000000000000000000000000000000.0), ~pi_o_2~0=(/ 785398163397448279.0 500000000000000000.0), ~pi_o_4~0=(/ 785398163397448279.0 1000000000000000000.0), ~pi~0=(/ 785398163397448279.0 250000000000000000.0), ~tiny_atan2~0=(/ 1.0 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0), ~zero_atan2~0=0.0] [?] ~x := #in~x;havoc ~hx~2;havoc ~lx~1; VAL [isinf_double_~x=15032385558.0, |#NULL.base|=0, |#NULL.offset|=0, |isinf_double_#in~x|=15032385558.0, |~#aT_atan~0.base|=15032385546, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=15032385549, |~#atanhi_atan~0.offset|=0, |~#atanlo_atan~0.base|=15032385538, |~#atanlo_atan~0.offset|=0, ~huge_atan~0=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0, ~one_atan~0=1.0, ~pi_lo_atan2~0=(/ 3061616997868382943.0 25000000000000000000000000000000000.0), ~pi_o_2~0=(/ 785398163397448279.0 500000000000000000.0), ~pi_o_4~0=(/ 785398163397448279.0 1000000000000000000.0), ~pi~0=(/ 785398163397448279.0 250000000000000000.0), ~tiny_atan2~0=(/ 1.0 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0), ~zero_atan2~0=0.0] [?] call ~#ew_u~2.base, ~#ew_u~2.offset := #Ultimate.alloc(8);call write~real(~x, ~#ew_u~2.base, ~#ew_u~2.offset, 8);call #t~mem48 := read~int(~#ew_u~2.base, 4 + ~#ew_u~2.offset, 4);~hx~2 := (if #t~mem48 % 4294967296 % 4294967296 <= 2147483647 then #t~mem48 % 4294967296 % 4294967296 else #t~mem48 % 4294967296 % 4294967296 - 4294967296);call write~real(#t~union49, ~#ew_u~2.base, ~#ew_u~2.offset, 8);havoc #t~union49;havoc #t~mem48;call #t~mem50 := read~int(~#ew_u~2.base, ~#ew_u~2.offset, 4);~lx~1 := (if #t~mem50 % 4294967296 % 4294967296 <= 2147483647 then #t~mem50 % 4294967296 % 4294967296 else #t~mem50 % 4294967296 % 4294967296 - 4294967296);call write~real(#t~union51, ~#ew_u~2.base, ~#ew_u~2.offset, 8);havoc #t~mem50;havoc #t~union51;call ULTIMATE.dealloc(~#ew_u~2.base, ~#ew_u~2.offset);havoc ~#ew_u~2.base, ~#ew_u~2.offset; VAL [isinf_double_~hx~2=(- 2147483648), isinf_double_~lx~1=(- 2147483648), isinf_double_~x=15032385558.0, |#NULL.base|=0, |#NULL.offset|=0, |isinf_double_#in~x|=15032385558.0, |~#aT_atan~0.base|=15032385546, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=15032385549, |~#atanhi_atan~0.offset|=0, |~#atanlo_atan~0.base|=15032385538, |~#atanlo_atan~0.offset|=0, ~huge_atan~0=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0, ~one_atan~0=1.0, ~pi_lo_atan2~0=(/ 3061616997868382943.0 25000000000000000000000000000000000.0), ~pi_o_2~0=(/ 785398163397448279.0 500000000000000000.0), ~pi_o_4~0=(/ 785398163397448279.0 1000000000000000000.0), ~pi~0=(/ 785398163397448279.0 250000000000000000.0), ~tiny_atan2~0=(/ 1.0 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0), ~zero_atan2~0=0.0] [?] goto; VAL [isinf_double_~hx~2=(- 2147483648), isinf_double_~lx~1=(- 2147483648), isinf_double_~x=15032385558.0, |#NULL.base|=0, |#NULL.offset|=0, |isinf_double_#in~x|=15032385558.0, |~#aT_atan~0.base|=15032385546, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=15032385549, |~#atanhi_atan~0.offset|=0, |~#atanlo_atan~0.base|=15032385538, |~#atanlo_atan~0.offset|=0, ~huge_atan~0=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0, ~one_atan~0=1.0, ~pi_lo_atan2~0=(/ 3061616997868382943.0 25000000000000000000000000000000000.0), ~pi_o_2~0=(/ 785398163397448279.0 500000000000000000.0), ~pi_o_4~0=(/ 785398163397448279.0 1000000000000000000.0), ~pi~0=(/ 785398163397448279.0 250000000000000000.0), ~tiny_atan2~0=(/ 1.0 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0), ~zero_atan2~0=0.0] [?] ~hx~2 := ~bitwiseAnd(~hx~2, 2147483647);~hx~2 := (if ~bitwiseOr(~hx~2, ~bitwiseOr(~lx~1, -~lx~1) / 2147483648) % 4294967296 % 4294967296 <= 2147483647 then ~bitwiseOr(~hx~2, ~bitwiseOr(~lx~1, -~lx~1) / 2147483648) % 4294967296 % 4294967296 else ~bitwiseOr(~hx~2, ~bitwiseOr(~lx~1, -~lx~1) / 2147483648) % 4294967296 % 4294967296 - 4294967296);~hx~2 := 2146435072 - ~hx~2;#res := 1 - (if ~bitwiseOr(~hx~2, -~hx~2) / 2147483648 % 4294967296 % 4294967296 <= 2147483647 then ~bitwiseOr(~hx~2, -~hx~2) / 2147483648 % 4294967296 % 4294967296 else ~bitwiseOr(~hx~2, -~hx~2) / 2147483648 % 4294967296 % 4294967296 - 4294967296); VAL [isinf_double_~hx~2=2146435072, isinf_double_~lx~1=(- 2147483648), isinf_double_~x=15032385558.0, |#NULL.base|=0, |#NULL.offset|=0, |isinf_double_#in~x|=15032385558.0, |isinf_double_#res|=2, |~#aT_atan~0.base|=15032385546, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=15032385549, |~#atanhi_atan~0.offset|=0, |~#atanlo_atan~0.base|=15032385538, |~#atanlo_atan~0.offset|=0, ~huge_atan~0=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0, ~one_atan~0=1.0, ~pi_lo_atan2~0=(/ 3061616997868382943.0 25000000000000000000000000000000000.0), ~pi_o_2~0=(/ 785398163397448279.0 500000000000000000.0), ~pi_o_4~0=(/ 785398163397448279.0 1000000000000000000.0), ~pi~0=(/ 785398163397448279.0 250000000000000000.0), ~tiny_atan2~0=(/ 1.0 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0), ~zero_atan2~0=0.0] [?] assume true; VAL [isinf_double_~hx~2=2146435072, isinf_double_~lx~1=(- 2147483648), isinf_double_~x=15032385558.0, |#NULL.base|=0, |#NULL.offset|=0, |isinf_double_#in~x|=15032385558.0, |isinf_double_#res|=2, |~#aT_atan~0.base|=15032385546, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=15032385549, |~#atanhi_atan~0.offset|=0, |~#atanlo_atan~0.base|=15032385538, |~#atanlo_atan~0.offset|=0, ~huge_atan~0=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0, ~one_atan~0=1.0, ~pi_lo_atan2~0=(/ 3061616997868382943.0 25000000000000000000000000000000000.0), ~pi_o_2~0=(/ 785398163397448279.0 500000000000000000.0), ~pi_o_4~0=(/ 785398163397448279.0 1000000000000000000.0), ~pi~0=(/ 785398163397448279.0 250000000000000000.0), ~tiny_atan2~0=(/ 1.0 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0), ~zero_atan2~0=0.0] [?] RET #369#return; VAL [main_~x~0=15032385560.0, main_~y~0=15032385558.0, |#NULL.base|=0, |#NULL.offset|=0, |main_#t~ret55|=(- 1), |main_#t~ret56|=2, |main_#t~short57|=true, |~#aT_atan~0.base|=15032385546, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=15032385549, |~#atanhi_atan~0.offset|=0, |~#atanlo_atan~0.base|=15032385538, |~#atanlo_atan~0.offset|=0, ~huge_atan~0=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0, ~one_atan~0=1.0, ~pi_lo_atan2~0=(/ 3061616997868382943.0 25000000000000000000000000000000000.0), ~pi_o_2~0=(/ 785398163397448279.0 500000000000000000.0), ~pi_o_4~0=(/ 785398163397448279.0 1000000000000000000.0), ~pi~0=(/ 785398163397448279.0 250000000000000000.0), ~tiny_atan2~0=(/ 1.0 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0), ~zero_atan2~0=0.0] [?] assume -2147483648 <= #t~ret56 && #t~ret56 <= 2147483647;#t~short57 := 0 != #t~ret56; VAL [main_~x~0=15032385560.0, main_~y~0=15032385558.0, |#NULL.base|=0, |#NULL.offset|=0, |main_#t~ret55|=(- 1), |main_#t~ret56|=2, |main_#t~short57|=true, |~#aT_atan~0.base|=15032385546, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=15032385549, |~#atanhi_atan~0.offset|=0, |~#atanlo_atan~0.base|=15032385538, |~#atanlo_atan~0.offset|=0, ~huge_atan~0=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0, ~one_atan~0=1.0, ~pi_lo_atan2~0=(/ 3061616997868382943.0 25000000000000000000000000000000000.0), ~pi_o_2~0=(/ 785398163397448279.0 500000000000000000.0), ~pi_o_4~0=(/ 785398163397448279.0 1000000000000000000.0), ~pi~0=(/ 785398163397448279.0 250000000000000000.0), ~tiny_atan2~0=(/ 1.0 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0), ~zero_atan2~0=0.0] [?] assume #t~short57;havoc #t~ret55;havoc #t~ret56;havoc #t~short57; VAL [main_~x~0=15032385560.0, main_~y~0=15032385558.0, |#NULL.base|=0, |#NULL.offset|=0, |~#aT_atan~0.base|=15032385546, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=15032385549, |~#atanhi_atan~0.offset|=0, |~#atanlo_atan~0.base|=15032385538, |~#atanlo_atan~0.offset|=0, ~huge_atan~0=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0, ~one_atan~0=1.0, ~pi_lo_atan2~0=(/ 3061616997868382943.0 25000000000000000000000000000000000.0), ~pi_o_2~0=(/ 785398163397448279.0 500000000000000000.0), ~pi_o_4~0=(/ 785398163397448279.0 1000000000000000000.0), ~pi~0=(/ 785398163397448279.0 250000000000000000.0), ~tiny_atan2~0=(/ 1.0 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0), ~zero_atan2~0=0.0] [?] CALL call #t~ret58 := __ieee754_atan2(~y~0, ~x~0); VAL [|#NULL.base|=0, |#NULL.offset|=0, |__ieee754_atan2_#in~x|=15032385560.0, |__ieee754_atan2_#in~y|=15032385558.0, |~#aT_atan~0.base|=15032385546, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=15032385549, |~#atanhi_atan~0.offset|=0, |~#atanlo_atan~0.base|=15032385538, |~#atanlo_atan~0.offset|=0, ~huge_atan~0=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0, ~one_atan~0=1.0, ~pi_lo_atan2~0=(/ 3061616997868382943.0 25000000000000000000000000000000000.0), ~pi_o_2~0=(/ 785398163397448279.0 500000000000000000.0), ~pi_o_4~0=(/ 785398163397448279.0 1000000000000000000.0), ~pi~0=(/ 785398163397448279.0 250000000000000000.0), ~tiny_atan2~0=(/ 1.0 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0), ~zero_atan2~0=0.0] [?] ~y := #in~y;~x := #in~x;havoc ~z~1;havoc ~k~0;havoc ~m~0;havoc ~hx~1;havoc ~hy~0;havoc ~ix~1;havoc ~iy~0;havoc ~lx~0;havoc ~ly~0; VAL [__ieee754_atan2_~x=15032385560.0, __ieee754_atan2_~y=15032385558.0, |#NULL.base|=0, |#NULL.offset|=0, |__ieee754_atan2_#in~x|=15032385560.0, |__ieee754_atan2_#in~y|=15032385558.0, |~#aT_atan~0.base|=15032385546, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=15032385549, |~#atanhi_atan~0.offset|=0, |~#atanlo_atan~0.base|=15032385538, |~#atanlo_atan~0.offset|=0, ~huge_atan~0=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0, ~one_atan~0=1.0, ~pi_lo_atan2~0=(/ 3061616997868382943.0 25000000000000000000000000000000000.0), ~pi_o_2~0=(/ 785398163397448279.0 500000000000000000.0), ~pi_o_4~0=(/ 785398163397448279.0 1000000000000000000.0), ~pi~0=(/ 785398163397448279.0 250000000000000000.0), ~tiny_atan2~0=(/ 1.0 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0), ~zero_atan2~0=0.0] [?] call ~#ew_u~0.base, ~#ew_u~0.offset := #Ultimate.alloc(8);call write~real(~x, ~#ew_u~0.base, ~#ew_u~0.offset, 8);call #t~mem27 := read~int(~#ew_u~0.base, 4 + ~#ew_u~0.offset, 4);~hx~1 := (if #t~mem27 % 4294967296 % 4294967296 <= 2147483647 then #t~mem27 % 4294967296 % 4294967296 else #t~mem27 % 4294967296 % 4294967296 - 4294967296);call write~real(#t~union28, ~#ew_u~0.base, ~#ew_u~0.offset, 8);havoc #t~mem27;havoc #t~union28;call #t~mem29 := read~int(~#ew_u~0.base, ~#ew_u~0.offset, 4);~lx~0 := #t~mem29;call write~real(#t~union30, ~#ew_u~0.base, ~#ew_u~0.offset, 8);havoc #t~mem29;havoc #t~union30;call ULTIMATE.dealloc(~#ew_u~0.base, ~#ew_u~0.offset);havoc ~#ew_u~0.base, ~#ew_u~0.offset; VAL [__ieee754_atan2_~hx~1=(- 2147483648), __ieee754_atan2_~lx~0=15032385575, __ieee754_atan2_~x=15032385560.0, __ieee754_atan2_~y=15032385558.0, |#NULL.base|=0, |#NULL.offset|=0, |__ieee754_atan2_#in~x|=15032385560.0, |__ieee754_atan2_#in~y|=15032385558.0, |~#aT_atan~0.base|=15032385546, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=15032385549, |~#atanhi_atan~0.offset|=0, |~#atanlo_atan~0.base|=15032385538, |~#atanlo_atan~0.offset|=0, ~huge_atan~0=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0, ~one_atan~0=1.0, ~pi_lo_atan2~0=(/ 3061616997868382943.0 25000000000000000000000000000000000.0), ~pi_o_2~0=(/ 785398163397448279.0 500000000000000000.0), ~pi_o_4~0=(/ 785398163397448279.0 1000000000000000000.0), ~pi~0=(/ 785398163397448279.0 250000000000000000.0), ~tiny_atan2~0=(/ 1.0 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0), ~zero_atan2~0=0.0] [?] goto; VAL [__ieee754_atan2_~hx~1=(- 2147483648), __ieee754_atan2_~lx~0=15032385575, __ieee754_atan2_~x=15032385560.0, __ieee754_atan2_~y=15032385558.0, |#NULL.base|=0, |#NULL.offset|=0, |__ieee754_atan2_#in~x|=15032385560.0, |__ieee754_atan2_#in~y|=15032385558.0, |~#aT_atan~0.base|=15032385546, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=15032385549, |~#atanhi_atan~0.offset|=0, |~#atanlo_atan~0.base|=15032385538, |~#atanlo_atan~0.offset|=0, ~huge_atan~0=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0, ~one_atan~0=1.0, ~pi_lo_atan2~0=(/ 3061616997868382943.0 25000000000000000000000000000000000.0), ~pi_o_2~0=(/ 785398163397448279.0 500000000000000000.0), ~pi_o_4~0=(/ 785398163397448279.0 1000000000000000000.0), ~pi~0=(/ 785398163397448279.0 250000000000000000.0), ~tiny_atan2~0=(/ 1.0 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0), ~zero_atan2~0=0.0] [?] ~ix~1 := ~bitwiseAnd(~hx~1, 2147483647); VAL [__ieee754_atan2_~hx~1=(- 2147483648), __ieee754_atan2_~lx~0=15032385575, __ieee754_atan2_~x=15032385560.0, __ieee754_atan2_~y=15032385558.0, |#NULL.base|=0, |#NULL.offset|=0, |__ieee754_atan2_#in~x|=15032385560.0, |__ieee754_atan2_#in~y|=15032385558.0, |~#aT_atan~0.base|=15032385546, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=15032385549, |~#atanhi_atan~0.offset|=0, |~#atanlo_atan~0.base|=15032385538, |~#atanlo_atan~0.offset|=0, ~huge_atan~0=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0, ~one_atan~0=1.0, ~pi_lo_atan2~0=(/ 3061616997868382943.0 25000000000000000000000000000000000.0), ~pi_o_2~0=(/ 785398163397448279.0 500000000000000000.0), ~pi_o_4~0=(/ 785398163397448279.0 1000000000000000000.0), ~pi~0=(/ 785398163397448279.0 250000000000000000.0), ~tiny_atan2~0=(/ 1.0 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0), ~zero_atan2~0=0.0] [?] call ~#ew_u~1.base, ~#ew_u~1.offset := #Ultimate.alloc(8);call write~real(~y, ~#ew_u~1.base, ~#ew_u~1.offset, 8);call #t~mem31 := read~int(~#ew_u~1.base, 4 + ~#ew_u~1.offset, 4);~hy~0 := (if #t~mem31 % 4294967296 % 4294967296 <= 2147483647 then #t~mem31 % 4294967296 % 4294967296 else #t~mem31 % 4294967296 % 4294967296 - 4294967296);call write~real(#t~union32, ~#ew_u~1.base, ~#ew_u~1.offset, 8);havoc #t~union32;havoc #t~mem31;call #t~mem33 := read~int(~#ew_u~1.base, ~#ew_u~1.offset, 4);~ly~0 := #t~mem33;call write~real(#t~union34, ~#ew_u~1.base, ~#ew_u~1.offset, 8);havoc #t~mem33;havoc #t~union34;call ULTIMATE.dealloc(~#ew_u~1.base, ~#ew_u~1.offset);havoc ~#ew_u~1.base, ~#ew_u~1.offset; VAL [__ieee754_atan2_~hx~1=(- 2147483648), __ieee754_atan2_~hy~0=(- 2147483648), __ieee754_atan2_~lx~0=15032385575, __ieee754_atan2_~ly~0=15032385573, __ieee754_atan2_~x=15032385560.0, __ieee754_atan2_~y=15032385558.0, |#NULL.base|=0, |#NULL.offset|=0, |__ieee754_atan2_#in~x|=15032385560.0, |__ieee754_atan2_#in~y|=15032385558.0, |~#aT_atan~0.base|=15032385546, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=15032385549, |~#atanhi_atan~0.offset|=0, |~#atanlo_atan~0.base|=15032385538, |~#atanlo_atan~0.offset|=0, ~huge_atan~0=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0, ~one_atan~0=1.0, ~pi_lo_atan2~0=(/ 3061616997868382943.0 25000000000000000000000000000000000.0), ~pi_o_2~0=(/ 785398163397448279.0 500000000000000000.0), ~pi_o_4~0=(/ 785398163397448279.0 1000000000000000000.0), ~pi~0=(/ 785398163397448279.0 250000000000000000.0), ~tiny_atan2~0=(/ 1.0 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0), ~zero_atan2~0=0.0] [?] goto; VAL [__ieee754_atan2_~hx~1=(- 2147483648), __ieee754_atan2_~hy~0=(- 2147483648), __ieee754_atan2_~lx~0=15032385575, __ieee754_atan2_~ly~0=15032385573, __ieee754_atan2_~x=15032385560.0, __ieee754_atan2_~y=15032385558.0, |#NULL.base|=0, |#NULL.offset|=0, |__ieee754_atan2_#in~x|=15032385560.0, |__ieee754_atan2_#in~y|=15032385558.0, |~#aT_atan~0.base|=15032385546, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=15032385549, |~#atanhi_atan~0.offset|=0, |~#atanlo_atan~0.base|=15032385538, |~#atanlo_atan~0.offset|=0, ~huge_atan~0=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0, ~one_atan~0=1.0, ~pi_lo_atan2~0=(/ 3061616997868382943.0 25000000000000000000000000000000000.0), ~pi_o_2~0=(/ 785398163397448279.0 500000000000000000.0), ~pi_o_4~0=(/ 785398163397448279.0 1000000000000000000.0), ~pi~0=(/ 785398163397448279.0 250000000000000000.0), ~tiny_atan2~0=(/ 1.0 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0), ~zero_atan2~0=0.0] [?] ~iy~0 := ~bitwiseAnd(~hy~0, 2147483647); VAL [__ieee754_atan2_~hx~1=(- 2147483648), __ieee754_atan2_~hy~0=(- 2147483648), __ieee754_atan2_~lx~0=15032385575, __ieee754_atan2_~ly~0=15032385573, __ieee754_atan2_~x=15032385560.0, __ieee754_atan2_~y=15032385558.0, |#NULL.base|=0, |#NULL.offset|=0, |__ieee754_atan2_#in~x|=15032385560.0, |__ieee754_atan2_#in~y|=15032385558.0, |~#aT_atan~0.base|=15032385546, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=15032385549, |~#atanhi_atan~0.offset|=0, |~#atanlo_atan~0.base|=15032385538, |~#atanlo_atan~0.offset|=0, ~huge_atan~0=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0, ~one_atan~0=1.0, ~pi_lo_atan2~0=(/ 3061616997868382943.0 25000000000000000000000000000000000.0), ~pi_o_2~0=(/ 785398163397448279.0 500000000000000000.0), ~pi_o_4~0=(/ 785398163397448279.0 1000000000000000000.0), ~pi~0=(/ 785398163397448279.0 250000000000000000.0), ~tiny_atan2~0=(/ 1.0 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0), ~zero_atan2~0=0.0] [?] assume ~bitwiseOr(~ix~1, ~bitwiseOr(~lx~0, -~lx~0) / 2147483648) % 4294967296 > 2146435072 || ~bitwiseOr(~iy~0, ~bitwiseOr(~ly~0, -~ly~0) / 2147483648) % 4294967296 > 2146435072;#res := ~someBinaryArithmeticDOUBLEoperation(~x, ~y); VAL [__ieee754_atan2_~hx~1=(- 2147483648), __ieee754_atan2_~hy~0=(- 2147483648), __ieee754_atan2_~lx~0=15032385575, __ieee754_atan2_~ly~0=15032385573, __ieee754_atan2_~x=15032385560.0, __ieee754_atan2_~y=15032385558.0, |#NULL.base|=0, |#NULL.offset|=0, |__ieee754_atan2_#in~x|=15032385560.0, |__ieee754_atan2_#in~y|=15032385558.0, |~#aT_atan~0.base|=15032385546, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=15032385549, |~#atanhi_atan~0.offset|=0, |~#atanlo_atan~0.base|=15032385538, |~#atanlo_atan~0.offset|=0, ~huge_atan~0=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0, ~one_atan~0=1.0, ~pi_lo_atan2~0=(/ 3061616997868382943.0 25000000000000000000000000000000000.0), ~pi_o_2~0=(/ 785398163397448279.0 500000000000000000.0), ~pi_o_4~0=(/ 785398163397448279.0 1000000000000000000.0), ~pi~0=(/ 785398163397448279.0 250000000000000000.0), ~tiny_atan2~0=(/ 1.0 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0), ~zero_atan2~0=0.0] [?] assume true; VAL [__ieee754_atan2_~hx~1=(- 2147483648), __ieee754_atan2_~hy~0=(- 2147483648), __ieee754_atan2_~lx~0=15032385575, __ieee754_atan2_~ly~0=15032385573, __ieee754_atan2_~x=15032385560.0, __ieee754_atan2_~y=15032385558.0, |#NULL.base|=0, |#NULL.offset|=0, |__ieee754_atan2_#in~x|=15032385560.0, |__ieee754_atan2_#in~y|=15032385558.0, |~#aT_atan~0.base|=15032385546, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=15032385549, |~#atanhi_atan~0.offset|=0, |~#atanlo_atan~0.base|=15032385538, |~#atanlo_atan~0.offset|=0, ~huge_atan~0=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0, ~one_atan~0=1.0, ~pi_lo_atan2~0=(/ 3061616997868382943.0 25000000000000000000000000000000000.0), ~pi_o_2~0=(/ 785398163397448279.0 500000000000000000.0), ~pi_o_4~0=(/ 785398163397448279.0 1000000000000000000.0), ~pi~0=(/ 785398163397448279.0 250000000000000000.0), ~tiny_atan2~0=(/ 1.0 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0), ~zero_atan2~0=0.0] [?] RET #371#return; VAL [main_~x~0=15032385560.0, main_~y~0=15032385558.0, |#NULL.base|=0, |#NULL.offset|=0, |main_#t~ret58|=15032385552.0, |~#aT_atan~0.base|=15032385546, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=15032385549, |~#atanhi_atan~0.offset|=0, |~#atanlo_atan~0.base|=15032385538, |~#atanlo_atan~0.offset|=0, ~huge_atan~0=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0, ~one_atan~0=1.0, ~pi_lo_atan2~0=(/ 3061616997868382943.0 25000000000000000000000000000000000.0), ~pi_o_2~0=(/ 785398163397448279.0 500000000000000000.0), ~pi_o_4~0=(/ 785398163397448279.0 1000000000000000000.0), ~pi~0=(/ 785398163397448279.0 250000000000000000.0), ~tiny_atan2~0=(/ 1.0 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0), ~zero_atan2~0=0.0] [?] ~res~0 := #t~ret58;havoc #t~ret58; VAL [main_~res~0=15032385552.0, main_~x~0=15032385560.0, main_~y~0=15032385558.0, |#NULL.base|=0, |#NULL.offset|=0, |~#aT_atan~0.base|=15032385546, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=15032385549, |~#atanhi_atan~0.offset|=0, |~#atanlo_atan~0.base|=15032385538, |~#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(~res~0, ~someUnaryDOUBLEoperation(~pi_o_2~0)); VAL [main_~res~0=15032385552.0, main_~x~0=15032385560.0, main_~y~0=15032385558.0, |#NULL.base|=0, |#NULL.offset|=0, |~#aT_atan~0.base|=15032385546, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=15032385549, |~#atanhi_atan~0.offset|=0, |~#atanlo_atan~0.base|=15032385538, |~#atanlo_atan~0.offset|=0, ~huge_atan~0=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0, ~one_atan~0=1.0, ~pi_lo_atan2~0=(/ 3061616997868382943.0 25000000000000000000000000000000000.0), ~pi_o_2~0=(/ 785398163397448279.0 500000000000000000.0), ~pi_o_4~0=(/ 785398163397448279.0 1000000000000000000.0), ~pi~0=(/ 785398163397448279.0 250000000000000000.0), ~tiny_atan2~0=(/ 1.0 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0), ~zero_atan2~0=0.0] [?] assume !false; VAL [main_~res~0=15032385552.0, main_~x~0=15032385560.0, main_~y~0=15032385558.0, |#NULL.base|=0, |#NULL.offset|=0, |~#aT_atan~0.base|=15032385546, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=15032385549, |~#atanhi_atan~0.offset|=0, |~#atanlo_atan~0.base|=15032385538, |~#atanlo_atan~0.offset|=0, ~huge_atan~0=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0, ~one_atan~0=1.0, ~pi_lo_atan2~0=(/ 3061616997868382943.0 25000000000000000000000000000000000.0), ~pi_o_2~0=(/ 785398163397448279.0 500000000000000000.0), ~pi_o_4~0=(/ 785398163397448279.0 1000000000000000000.0), ~pi~0=(/ 785398163397448279.0 250000000000000000.0), ~tiny_atan2~0=(/ 1.0 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0), ~zero_atan2~0=0.0] [?] CALL call ULTIMATE.init(); VAL [#NULL.base=15032385566, #NULL.offset=15032385555, old(#NULL.base)=15032385566, old(#NULL.offset)=15032385555, old(~#aT_atan~0.base)=15032385545, old(~#aT_atan~0.offset)=15032385553, old(~#atanhi_atan~0.base)=15032385547, old(~#atanhi_atan~0.offset)=15032385561, old(~#atanlo_atan~0.base)=15032385540, old(~#atanlo_atan~0.offset)=15032385572, old(~huge_atan~0)=1.5032385568E10, old(~one_atan~0)=1.5032385554E10, old(~pi_lo_atan2~0)=1.5032385551E10, old(~pi_o_2~0)=1.5032385537E10, old(~pi_o_4~0)=1.5032385559E10, old(~pi~0)=1.5032385563E10, old(~tiny_atan2~0)=1.503238557E10, old(~zero_atan2~0)=1.5032385544E10, ~#aT_atan~0.base=15032385545, ~#aT_atan~0.offset=15032385553, ~#atanhi_atan~0.base=15032385547, ~#atanhi_atan~0.offset=15032385561, ~#atanlo_atan~0.base=15032385540, ~#atanlo_atan~0.offset=15032385572, ~huge_atan~0=1.5032385568E10, ~one_atan~0=1.5032385554E10, ~pi_lo_atan2~0=1.5032385551E10, ~pi_o_2~0=1.5032385537E10, ~pi_o_4~0=1.5032385559E10, ~pi~0=1.5032385563E10, ~tiny_atan2~0=1.503238557E10, ~zero_atan2~0=1.5032385544E10] [?] #NULL.base, #NULL.offset := 0, 0; [?] #valid := #valid[0 := 0]; [L37-L42] call ~#atanhi_atan~0.base, ~#atanhi_atan~0.offset := #Ultimate.alloc(32); [L37-L42] call write~init~real(0.4636476090008061, ~#atanhi_atan~0.base, ~#atanhi_atan~0.offset, 8); [L37-L42] call write~init~real(0.7853981633974483, ~#atanhi_atan~0.base, 8 + ~#atanhi_atan~0.offset, 8); [L37-L42] call write~init~real(0.982793723247329, ~#atanhi_atan~0.base, 16 + ~#atanhi_atan~0.offset, 8); [L37-L42] call write~init~real(1.5707963267948966, ~#atanhi_atan~0.base, 24 + ~#atanhi_atan~0.offset, 8); [L44-L49] call ~#atanlo_atan~0.base, ~#atanlo_atan~0.offset := #Ultimate.alloc(32); [L44-L49] call write~init~real(2.2698777452961687E-17, ~#atanlo_atan~0.base, ~#atanlo_atan~0.offset, 8); [L44-L49] call write~init~real(3.061616997868383E-17, ~#atanlo_atan~0.base, 8 + ~#atanlo_atan~0.offset, 8); [L44-L49] call write~init~real(1.3903311031230998E-17, ~#atanlo_atan~0.base, 16 + ~#atanlo_atan~0.offset, 8); [L44-L49] call write~init~real(6.123233995736766E-17, ~#atanlo_atan~0.base, 24 + ~#atanlo_atan~0.offset, 8); [L51-L58] call ~#aT_atan~0.base, ~#aT_atan~0.offset := #Ultimate.alloc(88); [L51-L58] call write~init~real(0.3333333333333293, ~#aT_atan~0.base, ~#aT_atan~0.offset, 8); [L51-L58] call write~init~real(~someUnaryDOUBLEoperation(0.19999999999876483), ~#aT_atan~0.base, 8 + ~#aT_atan~0.offset, 8); [L51-L58] call write~init~real(0.14285714272503466, ~#aT_atan~0.base, 16 + ~#aT_atan~0.offset, 8); [L51-L58] call write~init~real(~someUnaryDOUBLEoperation(0.11111110405462356), ~#aT_atan~0.base, 24 + ~#aT_atan~0.offset, 8); [L51-L58] call write~init~real(0.09090887133436507, ~#aT_atan~0.base, 32 + ~#aT_atan~0.offset, 8); [L51-L58] call write~init~real(~someUnaryDOUBLEoperation(0.0769187620504483), ~#aT_atan~0.base, 40 + ~#aT_atan~0.offset, 8); [L51-L58] call write~init~real(0.06661073137387531, ~#aT_atan~0.base, 48 + ~#aT_atan~0.offset, 8); [L51-L58] call write~init~real(~someUnaryDOUBLEoperation(0.058335701337905735), ~#aT_atan~0.base, 56 + ~#aT_atan~0.offset, 8); [L51-L58] call write~init~real(0.049768779946159324, ~#aT_atan~0.base, 64 + ~#aT_atan~0.offset, 8); [L51-L58] call write~init~real(~someUnaryDOUBLEoperation(0.036531572744216916), ~#aT_atan~0.base, 72 + ~#aT_atan~0.offset, 8); [L51-L58] call write~init~real(0.016285820115365782, ~#aT_atan~0.base, 80 + ~#aT_atan~0.offset, 8); [L60-L62] ~one_atan~0 := 1.0; [L60-L62] ~pi_o_4~0 := 0.7853981633974483; [L60-L62] ~pi_o_2~0 := 1.5707963267948966; [L60-L62] ~pi~0 := 3.141592653589793; [L60-L62] ~huge_atan~0 := 1.0E300; [L139-L140] ~tiny_atan2~0 := 1.0E-300; [L139-L140] ~zero_atan2~0 := 0.0; [L139-L140] ~pi_lo_atan2~0 := 1.2246467991473532E-16; VAL [#NULL.base=0, #NULL.offset=0, old(#NULL.base)=15032385566, old(#NULL.offset)=15032385555, old(~#aT_atan~0.base)=15032385545, old(~#aT_atan~0.offset)=15032385553, old(~#atanhi_atan~0.base)=15032385547, old(~#atanhi_atan~0.offset)=15032385561, old(~#atanlo_atan~0.base)=15032385540, old(~#atanlo_atan~0.offset)=15032385572, old(~huge_atan~0)=1.5032385568E10, old(~one_atan~0)=1.5032385554E10, old(~pi_lo_atan2~0)=1.5032385551E10, old(~pi_o_2~0)=1.5032385537E10, old(~pi_o_4~0)=1.5032385559E10, old(~pi~0)=1.5032385563E10, old(~tiny_atan2~0)=1.503238557E10, old(~zero_atan2~0)=1.5032385544E10, ~#aT_atan~0.base=15032385546, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=15032385549, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=15032385538, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [?] ensures true; VAL [#NULL.base=0, #NULL.offset=0, old(#NULL.base)=15032385566, old(#NULL.offset)=15032385555, old(~#aT_atan~0.base)=15032385545, old(~#aT_atan~0.offset)=15032385553, old(~#atanhi_atan~0.base)=15032385547, old(~#atanhi_atan~0.offset)=15032385561, old(~#atanlo_atan~0.base)=15032385540, old(~#atanlo_atan~0.offset)=15032385572, old(~huge_atan~0)=1.5032385568E10, old(~one_atan~0)=1.5032385554E10, old(~pi_lo_atan2~0)=1.5032385551E10, old(~pi_o_2~0)=1.5032385537E10, old(~pi_o_4~0)=1.5032385559E10, old(~pi~0)=1.5032385563E10, old(~tiny_atan2~0)=1.503238557E10, old(~zero_atan2~0)=1.5032385544E10, ~#aT_atan~0.base=15032385546, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=15032385549, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=15032385538, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [?] RET call ULTIMATE.init(); VAL [#NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=15032385546, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=15032385549, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=15032385538, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [?] CALL call #t~ret59 := main(); VAL [#NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=15032385546, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=15032385549, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=15032385538, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [L276] ~x~0 := #t~nondet54; [L276] havoc #t~nondet54; [L277] ~y~0 := ~someBinaryArithmeticDOUBLEoperation(~someUnaryDOUBLEoperation(1.0), 0.0); VAL [#NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=15032385546, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=15032385549, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=15032385538, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=1.503238556E10, ~zero_atan2~0=0.0] [L280] CALL call #t~ret55 := isfinite_double(~x~0); VAL [#in~x=1.503238556E10, #NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=15032385546, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=15032385549, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=15032385538, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [L259-L267] ~x := #in~x; [L260] havoc ~hx~3; VAL [#in~x=1.503238556E10, #NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=15032385546, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=15032385549, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=15032385538, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=1.503238556E10, ~zero_atan2~0=0.0] [L262] call ~#gh_u~3.base, ~#gh_u~3.offset := #Ultimate.alloc(8); [L263] call write~real(~x, ~#gh_u~3.base, ~#gh_u~3.offset, 8); [L264] call #t~mem52 := read~int(~#gh_u~3.base, 4 + ~#gh_u~3.offset, 4); [L264] ~hx~3 := (if #t~mem52 % 4294967296 % 4294967296 <= 2147483647 then #t~mem52 % 4294967296 % 4294967296 else #t~mem52 % 4294967296 % 4294967296 - 4294967296); [L264] call write~real(#t~union53, ~#gh_u~3.base, ~#gh_u~3.offset, 8); [L264] havoc #t~union53; [L264] havoc #t~mem52; [L262] call ULTIMATE.dealloc(~#gh_u~3.base, ~#gh_u~3.offset); [L262] havoc ~#gh_u~3.base, ~#gh_u~3.offset; VAL [#in~x=1.503238556E10, #NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=15032385546, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=15032385549, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=15032385538, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~hx~3=3, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=1.503238556E10, ~zero_atan2~0=0.0] [L266] #res := (if (~bitwiseAnd(~hx~3, 2147483647) - 2146435072) / 2147483648 % 4294967296 % 4294967296 <= 2147483647 then (~bitwiseAnd(~hx~3, 2147483647) - 2146435072) / 2147483648 % 4294967296 % 4294967296 else (~bitwiseAnd(~hx~3, 2147483647) - 2146435072) / 2147483648 % 4294967296 % 4294967296 - 4294967296); VAL [#in~x=1.503238556E10, #NULL.base=0, #NULL.offset=0, #res=-1, ~#aT_atan~0.base=15032385546, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=15032385549, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=15032385538, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~hx~3=3, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=1.503238556E10, ~zero_atan2~0=0.0] [L259-L267] ensures true; VAL [#in~x=1.503238556E10, #NULL.base=0, #NULL.offset=0, #res=-1, ~#aT_atan~0.base=15032385546, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=15032385549, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=15032385538, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~hx~3=3, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=1.503238556E10, ~zero_atan2~0=0.0] [L280] RET call #t~ret55 := isfinite_double(~x~0); VAL [#NULL.base=0, #NULL.offset=0, #t~ret55=-1, ~#aT_atan~0.base=15032385546, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=15032385549, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=15032385538, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=1.503238556E10, ~zero_atan2~0=0.0] [L280] assume -2147483648 <= #t~ret55 && #t~ret55 <= 2147483647; [L280] #t~short57 := 0 != #t~ret55; VAL [#NULL.base=0, #NULL.offset=0, #t~ret55=-1, #t~short57=true, ~#aT_atan~0.base=15032385546, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=15032385549, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=15032385538, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=1.503238556E10, ~zero_atan2~0=0.0] [L280] assume #t~short57; VAL [#NULL.base=0, #NULL.offset=0, #t~ret55=-1, #t~short57=true, ~#aT_atan~0.base=15032385546, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=15032385549, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=15032385538, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=1.503238556E10, ~zero_atan2~0=0.0] [L280] CALL call #t~ret56 := isinf_double(~y~0); VAL [#in~x=1.5032385558E10, #NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=15032385546, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=15032385549, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=15032385538, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [L245-L257] ~x := #in~x; [L246] havoc ~hx~2; [L246] havoc ~lx~1; VAL [#in~x=1.5032385558E10, #NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=15032385546, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=15032385549, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=15032385538, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=1.5032385558E10, ~zero_atan2~0=0.0] [L248] call ~#ew_u~2.base, ~#ew_u~2.offset := #Ultimate.alloc(8); [L249] call write~real(~x, ~#ew_u~2.base, ~#ew_u~2.offset, 8); [L250] call #t~mem48 := read~int(~#ew_u~2.base, 4 + ~#ew_u~2.offset, 4); [L250] ~hx~2 := (if #t~mem48 % 4294967296 % 4294967296 <= 2147483647 then #t~mem48 % 4294967296 % 4294967296 else #t~mem48 % 4294967296 % 4294967296 - 4294967296); [L250] call write~real(#t~union49, ~#ew_u~2.base, ~#ew_u~2.offset, 8); [L250] havoc #t~union49; [L250] havoc #t~mem48; [L251] call #t~mem50 := read~int(~#ew_u~2.base, ~#ew_u~2.offset, 4); [L251] ~lx~1 := (if #t~mem50 % 4294967296 % 4294967296 <= 2147483647 then #t~mem50 % 4294967296 % 4294967296 else #t~mem50 % 4294967296 % 4294967296 - 4294967296); [L251] call write~real(#t~union51, ~#ew_u~2.base, ~#ew_u~2.offset, 8); [L251] havoc #t~mem50; [L251] havoc #t~union51; [L248] call ULTIMATE.dealloc(~#ew_u~2.base, ~#ew_u~2.offset); [L248] havoc ~#ew_u~2.base, ~#ew_u~2.offset; VAL [#in~x=1.5032385558E10, #NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=15032385546, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=15032385549, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=15032385538, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~hx~2=-2147483648, ~lx~1=-2147483648, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=1.5032385558E10, ~zero_atan2~0=0.0] [L253] ~hx~2 := ~bitwiseAnd(~hx~2, 2147483647); [L254] ~hx~2 := (if ~bitwiseOr(~hx~2, ~bitwiseOr(~lx~1, -~lx~1) / 2147483648) % 4294967296 % 4294967296 <= 2147483647 then ~bitwiseOr(~hx~2, ~bitwiseOr(~lx~1, -~lx~1) / 2147483648) % 4294967296 % 4294967296 else ~bitwiseOr(~hx~2, ~bitwiseOr(~lx~1, -~lx~1) / 2147483648) % 4294967296 % 4294967296 - 4294967296); [L255] ~hx~2 := 2146435072 - ~hx~2; [L256] #res := 1 - (if ~bitwiseOr(~hx~2, -~hx~2) / 2147483648 % 4294967296 % 4294967296 <= 2147483647 then ~bitwiseOr(~hx~2, -~hx~2) / 2147483648 % 4294967296 % 4294967296 else ~bitwiseOr(~hx~2, -~hx~2) / 2147483648 % 4294967296 % 4294967296 - 4294967296); VAL [#in~x=1.5032385558E10, #NULL.base=0, #NULL.offset=0, #res=2, ~#aT_atan~0.base=15032385546, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=15032385549, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=15032385538, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~hx~2=2146435072, ~lx~1=-2147483648, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=1.5032385558E10, ~zero_atan2~0=0.0] [L245-L257] ensures true; VAL [#in~x=1.5032385558E10, #NULL.base=0, #NULL.offset=0, #res=2, ~#aT_atan~0.base=15032385546, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=15032385549, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=15032385538, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~hx~2=2146435072, ~lx~1=-2147483648, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=1.5032385558E10, ~zero_atan2~0=0.0] [L280] RET call #t~ret56 := isinf_double(~y~0); VAL [#NULL.base=0, #NULL.offset=0, #t~ret55=-1, #t~ret56=2, #t~short57=true, ~#aT_atan~0.base=15032385546, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=15032385549, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=15032385538, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=1.503238556E10, ~y~0=1.5032385558E10, ~zero_atan2~0=0.0] [L280] assume -2147483648 <= #t~ret56 && #t~ret56 <= 2147483647; [L280] #t~short57 := 0 != #t~ret56; VAL [#NULL.base=0, #NULL.offset=0, #t~ret55=-1, #t~ret56=2, #t~short57=true, ~#aT_atan~0.base=15032385546, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=15032385549, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=15032385538, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=1.503238556E10, ~y~0=1.5032385558E10, ~zero_atan2~0=0.0] [L280-L289] assume #t~short57; [L280] havoc #t~ret55; [L280] havoc #t~ret56; [L280] havoc #t~short57; VAL [#NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=15032385546, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=15032385549, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=15032385538, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=1.503238556E10, ~y~0=1.5032385558E10, ~zero_atan2~0=0.0] [L282] CALL call #t~ret58 := __ieee754_atan2(~y~0, ~x~0); VAL [#in~x=1.503238556E10, #in~y=1.5032385558E10, #NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=15032385546, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=15032385549, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=15032385538, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [L142-L242] ~y := #in~y; [L142-L242] ~x := #in~x; [L143] havoc ~z~1; [L144] havoc ~k~0; [L144] havoc ~m~0; [L144] havoc ~hx~1; [L144] havoc ~hy~0; [L144] havoc ~ix~1; [L144] havoc ~iy~0; [L145] havoc ~lx~0; [L145] havoc ~ly~0; VAL [#in~x=1.503238556E10, #in~y=1.5032385558E10, #NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=15032385546, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=15032385549, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=15032385538, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=1.503238556E10, ~y=1.5032385558E10, ~zero_atan2~0=0.0] [L148] call ~#ew_u~0.base, ~#ew_u~0.offset := #Ultimate.alloc(8); [L149] call write~real(~x, ~#ew_u~0.base, ~#ew_u~0.offset, 8); [L150] call #t~mem27 := read~int(~#ew_u~0.base, 4 + ~#ew_u~0.offset, 4); [L150] ~hx~1 := (if #t~mem27 % 4294967296 % 4294967296 <= 2147483647 then #t~mem27 % 4294967296 % 4294967296 else #t~mem27 % 4294967296 % 4294967296 - 4294967296); [L150] call write~real(#t~union28, ~#ew_u~0.base, ~#ew_u~0.offset, 8); [L150] havoc #t~mem27; [L150] havoc #t~union28; [L151] call #t~mem29 := read~int(~#ew_u~0.base, ~#ew_u~0.offset, 4); [L151] ~lx~0 := #t~mem29; [L151] call write~real(#t~union30, ~#ew_u~0.base, ~#ew_u~0.offset, 8); [L151] havoc #t~mem29; [L151] havoc #t~union30; [L148] call ULTIMATE.dealloc(~#ew_u~0.base, ~#ew_u~0.offset); [L148] havoc ~#ew_u~0.base, ~#ew_u~0.offset; VAL [#in~x=1.503238556E10, #in~y=1.5032385558E10, #NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=15032385546, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=15032385549, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=15032385538, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~hx~1=-2147483648, ~lx~0=15032385575, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=1.503238556E10, ~y=1.5032385558E10, ~zero_atan2~0=0.0] [L153] ~ix~1 := ~bitwiseAnd(~hx~1, 2147483647); VAL [#in~x=1.503238556E10, #in~y=1.5032385558E10, #NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=15032385546, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=15032385549, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=15032385538, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~hx~1=-2147483648, ~lx~0=15032385575, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=1.503238556E10, ~y=1.5032385558E10, ~zero_atan2~0=0.0] [L155] call ~#ew_u~1.base, ~#ew_u~1.offset := #Ultimate.alloc(8); [L156] call write~real(~y, ~#ew_u~1.base, ~#ew_u~1.offset, 8); [L157] call #t~mem31 := read~int(~#ew_u~1.base, 4 + ~#ew_u~1.offset, 4); [L157] ~hy~0 := (if #t~mem31 % 4294967296 % 4294967296 <= 2147483647 then #t~mem31 % 4294967296 % 4294967296 else #t~mem31 % 4294967296 % 4294967296 - 4294967296); [L157] call write~real(#t~union32, ~#ew_u~1.base, ~#ew_u~1.offset, 8); [L157] havoc #t~union32; [L157] havoc #t~mem31; [L158] call #t~mem33 := read~int(~#ew_u~1.base, ~#ew_u~1.offset, 4); [L158] ~ly~0 := #t~mem33; [L158] call write~real(#t~union34, ~#ew_u~1.base, ~#ew_u~1.offset, 8); [L158] havoc #t~mem33; [L158] havoc #t~union34; [L155] call ULTIMATE.dealloc(~#ew_u~1.base, ~#ew_u~1.offset); [L155] havoc ~#ew_u~1.base, ~#ew_u~1.offset; VAL [#in~x=1.503238556E10, #in~y=1.5032385558E10, #NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=15032385546, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=15032385549, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=15032385538, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~hx~1=-2147483648, ~hy~0=-2147483648, ~lx~0=15032385575, ~ly~0=15032385573, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=1.503238556E10, ~y=1.5032385558E10, ~zero_atan2~0=0.0] [L160] ~iy~0 := ~bitwiseAnd(~hy~0, 2147483647); VAL [#in~x=1.503238556E10, #in~y=1.5032385558E10, #NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=15032385546, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=15032385549, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=15032385538, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~hx~1=-2147483648, ~hy~0=-2147483648, ~lx~0=15032385575, ~ly~0=15032385573, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=1.503238556E10, ~y=1.5032385558E10, ~zero_atan2~0=0.0] [L161-L163] assume ~bitwiseOr(~ix~1, ~bitwiseOr(~lx~0, -~lx~0) / 2147483648) % 4294967296 > 2146435072 || ~bitwiseOr(~iy~0, ~bitwiseOr(~ly~0, -~ly~0) / 2147483648) % 4294967296 > 2146435072; [L163] #res := ~someBinaryArithmeticDOUBLEoperation(~x, ~y); VAL [#in~x=1.503238556E10, #in~y=1.5032385558E10, #NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=15032385546, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=15032385549, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=15032385538, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~hx~1=-2147483648, ~hy~0=-2147483648, ~lx~0=15032385575, ~ly~0=15032385573, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=1.503238556E10, ~y=1.5032385558E10, ~zero_atan2~0=0.0] [L142-L242] ensures true; VAL [#in~x=1.503238556E10, #in~y=1.5032385558E10, #NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=15032385546, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=15032385549, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=15032385538, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~hx~1=-2147483648, ~hy~0=-2147483648, ~lx~0=15032385575, ~ly~0=15032385573, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=1.503238556E10, ~y=1.5032385558E10, ~zero_atan2~0=0.0] [L282] RET call #t~ret58 := __ieee754_atan2(~y~0, ~x~0); VAL [#NULL.base=0, #NULL.offset=0, #t~ret58=1.5032385552E10, ~#aT_atan~0.base=15032385546, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=15032385549, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=15032385538, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=1.503238556E10, ~y~0=1.5032385558E10, ~zero_atan2~0=0.0] [L282] ~res~0 := #t~ret58; [L282] havoc #t~ret58; VAL [#NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=15032385546, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=15032385549, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=15032385538, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~res~0=1.5032385552E10, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=1.503238556E10, ~y~0=1.5032385558E10, ~zero_atan2~0=0.0] [L285-L288] assume ~someBinaryDOUBLEComparisonOperation(~res~0, ~someUnaryDOUBLEoperation(~pi_o_2~0)); VAL [#NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=15032385546, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=15032385549, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=15032385538, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~res~0=1.5032385552E10, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=1.503238556E10, ~y~0=1.5032385558E10, ~zero_atan2~0=0.0] [L286] assert false; VAL [#NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=15032385546, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=15032385549, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=15032385538, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~res~0=1.5032385552E10, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=1.503238556E10, ~y~0=1.5032385558E10, ~zero_atan2~0=0.0] ----- ----- class de.uni_freiburg.informatik.ultimate.boogie.preprocessor.BoogiePreprocessorBacktranslator [?] CALL call ULTIMATE.init(); VAL [#NULL.base=15032385566, #NULL.offset=15032385555, old(#NULL.base)=15032385566, old(#NULL.offset)=15032385555, old(~#aT_atan~0.base)=15032385545, old(~#aT_atan~0.offset)=15032385553, old(~#atanhi_atan~0.base)=15032385547, old(~#atanhi_atan~0.offset)=15032385561, old(~#atanlo_atan~0.base)=15032385540, old(~#atanlo_atan~0.offset)=15032385572, old(~huge_atan~0)=1.5032385568E10, old(~one_atan~0)=1.5032385554E10, old(~pi_lo_atan2~0)=1.5032385551E10, old(~pi_o_2~0)=1.5032385537E10, old(~pi_o_4~0)=1.5032385559E10, old(~pi~0)=1.5032385563E10, old(~tiny_atan2~0)=1.503238557E10, old(~zero_atan2~0)=1.5032385544E10, ~#aT_atan~0.base=15032385545, ~#aT_atan~0.offset=15032385553, ~#atanhi_atan~0.base=15032385547, ~#atanhi_atan~0.offset=15032385561, ~#atanlo_atan~0.base=15032385540, ~#atanlo_atan~0.offset=15032385572, ~huge_atan~0=1.5032385568E10, ~one_atan~0=1.5032385554E10, ~pi_lo_atan2~0=1.5032385551E10, ~pi_o_2~0=1.5032385537E10, ~pi_o_4~0=1.5032385559E10, ~pi~0=1.5032385563E10, ~tiny_atan2~0=1.503238557E10, ~zero_atan2~0=1.5032385544E10] [?] #NULL.base, #NULL.offset := 0, 0; [?] #valid := #valid[0 := 0]; [L37-L42] call ~#atanhi_atan~0.base, ~#atanhi_atan~0.offset := #Ultimate.alloc(32); [L37-L42] call write~init~real(0.4636476090008061, ~#atanhi_atan~0.base, ~#atanhi_atan~0.offset, 8); [L37-L42] call write~init~real(0.7853981633974483, ~#atanhi_atan~0.base, 8 + ~#atanhi_atan~0.offset, 8); [L37-L42] call write~init~real(0.982793723247329, ~#atanhi_atan~0.base, 16 + ~#atanhi_atan~0.offset, 8); [L37-L42] call write~init~real(1.5707963267948966, ~#atanhi_atan~0.base, 24 + ~#atanhi_atan~0.offset, 8); [L44-L49] call ~#atanlo_atan~0.base, ~#atanlo_atan~0.offset := #Ultimate.alloc(32); [L44-L49] call write~init~real(2.2698777452961687E-17, ~#atanlo_atan~0.base, ~#atanlo_atan~0.offset, 8); [L44-L49] call write~init~real(3.061616997868383E-17, ~#atanlo_atan~0.base, 8 + ~#atanlo_atan~0.offset, 8); [L44-L49] call write~init~real(1.3903311031230998E-17, ~#atanlo_atan~0.base, 16 + ~#atanlo_atan~0.offset, 8); [L44-L49] call write~init~real(6.123233995736766E-17, ~#atanlo_atan~0.base, 24 + ~#atanlo_atan~0.offset, 8); [L51-L58] call ~#aT_atan~0.base, ~#aT_atan~0.offset := #Ultimate.alloc(88); [L51-L58] call write~init~real(0.3333333333333293, ~#aT_atan~0.base, ~#aT_atan~0.offset, 8); [L51-L58] call write~init~real(~someUnaryDOUBLEoperation(0.19999999999876483), ~#aT_atan~0.base, 8 + ~#aT_atan~0.offset, 8); [L51-L58] call write~init~real(0.14285714272503466, ~#aT_atan~0.base, 16 + ~#aT_atan~0.offset, 8); [L51-L58] call write~init~real(~someUnaryDOUBLEoperation(0.11111110405462356), ~#aT_atan~0.base, 24 + ~#aT_atan~0.offset, 8); [L51-L58] call write~init~real(0.09090887133436507, ~#aT_atan~0.base, 32 + ~#aT_atan~0.offset, 8); [L51-L58] call write~init~real(~someUnaryDOUBLEoperation(0.0769187620504483), ~#aT_atan~0.base, 40 + ~#aT_atan~0.offset, 8); [L51-L58] call write~init~real(0.06661073137387531, ~#aT_atan~0.base, 48 + ~#aT_atan~0.offset, 8); [L51-L58] call write~init~real(~someUnaryDOUBLEoperation(0.058335701337905735), ~#aT_atan~0.base, 56 + ~#aT_atan~0.offset, 8); [L51-L58] call write~init~real(0.049768779946159324, ~#aT_atan~0.base, 64 + ~#aT_atan~0.offset, 8); [L51-L58] call write~init~real(~someUnaryDOUBLEoperation(0.036531572744216916), ~#aT_atan~0.base, 72 + ~#aT_atan~0.offset, 8); [L51-L58] call write~init~real(0.016285820115365782, ~#aT_atan~0.base, 80 + ~#aT_atan~0.offset, 8); [L60-L62] ~one_atan~0 := 1.0; [L60-L62] ~pi_o_4~0 := 0.7853981633974483; [L60-L62] ~pi_o_2~0 := 1.5707963267948966; [L60-L62] ~pi~0 := 3.141592653589793; [L60-L62] ~huge_atan~0 := 1.0E300; [L139-L140] ~tiny_atan2~0 := 1.0E-300; [L139-L140] ~zero_atan2~0 := 0.0; [L139-L140] ~pi_lo_atan2~0 := 1.2246467991473532E-16; VAL [#NULL.base=0, #NULL.offset=0, old(#NULL.base)=15032385566, old(#NULL.offset)=15032385555, old(~#aT_atan~0.base)=15032385545, old(~#aT_atan~0.offset)=15032385553, old(~#atanhi_atan~0.base)=15032385547, old(~#atanhi_atan~0.offset)=15032385561, old(~#atanlo_atan~0.base)=15032385540, old(~#atanlo_atan~0.offset)=15032385572, old(~huge_atan~0)=1.5032385568E10, old(~one_atan~0)=1.5032385554E10, old(~pi_lo_atan2~0)=1.5032385551E10, old(~pi_o_2~0)=1.5032385537E10, old(~pi_o_4~0)=1.5032385559E10, old(~pi~0)=1.5032385563E10, old(~tiny_atan2~0)=1.503238557E10, old(~zero_atan2~0)=1.5032385544E10, ~#aT_atan~0.base=15032385546, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=15032385549, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=15032385538, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [?] ensures true; VAL [#NULL.base=0, #NULL.offset=0, old(#NULL.base)=15032385566, old(#NULL.offset)=15032385555, old(~#aT_atan~0.base)=15032385545, old(~#aT_atan~0.offset)=15032385553, old(~#atanhi_atan~0.base)=15032385547, old(~#atanhi_atan~0.offset)=15032385561, old(~#atanlo_atan~0.base)=15032385540, old(~#atanlo_atan~0.offset)=15032385572, old(~huge_atan~0)=1.5032385568E10, old(~one_atan~0)=1.5032385554E10, old(~pi_lo_atan2~0)=1.5032385551E10, old(~pi_o_2~0)=1.5032385537E10, old(~pi_o_4~0)=1.5032385559E10, old(~pi~0)=1.5032385563E10, old(~tiny_atan2~0)=1.503238557E10, old(~zero_atan2~0)=1.5032385544E10, ~#aT_atan~0.base=15032385546, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=15032385549, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=15032385538, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [?] RET call ULTIMATE.init(); VAL [#NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=15032385546, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=15032385549, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=15032385538, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [?] CALL call #t~ret59 := main(); VAL [#NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=15032385546, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=15032385549, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=15032385538, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [L276] ~x~0 := #t~nondet54; [L276] havoc #t~nondet54; [L277] ~y~0 := ~someBinaryArithmeticDOUBLEoperation(~someUnaryDOUBLEoperation(1.0), 0.0); VAL [#NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=15032385546, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=15032385549, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=15032385538, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=1.503238556E10, ~zero_atan2~0=0.0] [L280] CALL call #t~ret55 := isfinite_double(~x~0); VAL [#in~x=1.503238556E10, #NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=15032385546, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=15032385549, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=15032385538, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [L259-L267] ~x := #in~x; [L260] havoc ~hx~3; VAL [#in~x=1.503238556E10, #NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=15032385546, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=15032385549, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=15032385538, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=1.503238556E10, ~zero_atan2~0=0.0] [L262] call ~#gh_u~3.base, ~#gh_u~3.offset := #Ultimate.alloc(8); [L263] call write~real(~x, ~#gh_u~3.base, ~#gh_u~3.offset, 8); [L264] call #t~mem52 := read~int(~#gh_u~3.base, 4 + ~#gh_u~3.offset, 4); [L264] ~hx~3 := (if #t~mem52 % 4294967296 % 4294967296 <= 2147483647 then #t~mem52 % 4294967296 % 4294967296 else #t~mem52 % 4294967296 % 4294967296 - 4294967296); [L264] call write~real(#t~union53, ~#gh_u~3.base, ~#gh_u~3.offset, 8); [L264] havoc #t~union53; [L264] havoc #t~mem52; [L262] call ULTIMATE.dealloc(~#gh_u~3.base, ~#gh_u~3.offset); [L262] havoc ~#gh_u~3.base, ~#gh_u~3.offset; VAL [#in~x=1.503238556E10, #NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=15032385546, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=15032385549, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=15032385538, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~hx~3=3, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=1.503238556E10, ~zero_atan2~0=0.0] [L266] #res := (if (~bitwiseAnd(~hx~3, 2147483647) - 2146435072) / 2147483648 % 4294967296 % 4294967296 <= 2147483647 then (~bitwiseAnd(~hx~3, 2147483647) - 2146435072) / 2147483648 % 4294967296 % 4294967296 else (~bitwiseAnd(~hx~3, 2147483647) - 2146435072) / 2147483648 % 4294967296 % 4294967296 - 4294967296); VAL [#in~x=1.503238556E10, #NULL.base=0, #NULL.offset=0, #res=-1, ~#aT_atan~0.base=15032385546, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=15032385549, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=15032385538, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~hx~3=3, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=1.503238556E10, ~zero_atan2~0=0.0] [L259-L267] ensures true; VAL [#in~x=1.503238556E10, #NULL.base=0, #NULL.offset=0, #res=-1, ~#aT_atan~0.base=15032385546, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=15032385549, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=15032385538, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~hx~3=3, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=1.503238556E10, ~zero_atan2~0=0.0] [L280] RET call #t~ret55 := isfinite_double(~x~0); VAL [#NULL.base=0, #NULL.offset=0, #t~ret55=-1, ~#aT_atan~0.base=15032385546, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=15032385549, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=15032385538, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=1.503238556E10, ~zero_atan2~0=0.0] [L280] assume -2147483648 <= #t~ret55 && #t~ret55 <= 2147483647; [L280] #t~short57 := 0 != #t~ret55; VAL [#NULL.base=0, #NULL.offset=0, #t~ret55=-1, #t~short57=true, ~#aT_atan~0.base=15032385546, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=15032385549, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=15032385538, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=1.503238556E10, ~zero_atan2~0=0.0] [L280] assume #t~short57; VAL [#NULL.base=0, #NULL.offset=0, #t~ret55=-1, #t~short57=true, ~#aT_atan~0.base=15032385546, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=15032385549, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=15032385538, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=1.503238556E10, ~zero_atan2~0=0.0] [L280] CALL call #t~ret56 := isinf_double(~y~0); VAL [#in~x=1.5032385558E10, #NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=15032385546, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=15032385549, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=15032385538, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [L245-L257] ~x := #in~x; [L246] havoc ~hx~2; [L246] havoc ~lx~1; VAL [#in~x=1.5032385558E10, #NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=15032385546, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=15032385549, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=15032385538, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=1.5032385558E10, ~zero_atan2~0=0.0] [L248] call ~#ew_u~2.base, ~#ew_u~2.offset := #Ultimate.alloc(8); [L249] call write~real(~x, ~#ew_u~2.base, ~#ew_u~2.offset, 8); [L250] call #t~mem48 := read~int(~#ew_u~2.base, 4 + ~#ew_u~2.offset, 4); [L250] ~hx~2 := (if #t~mem48 % 4294967296 % 4294967296 <= 2147483647 then #t~mem48 % 4294967296 % 4294967296 else #t~mem48 % 4294967296 % 4294967296 - 4294967296); [L250] call write~real(#t~union49, ~#ew_u~2.base, ~#ew_u~2.offset, 8); [L250] havoc #t~union49; [L250] havoc #t~mem48; [L251] call #t~mem50 := read~int(~#ew_u~2.base, ~#ew_u~2.offset, 4); [L251] ~lx~1 := (if #t~mem50 % 4294967296 % 4294967296 <= 2147483647 then #t~mem50 % 4294967296 % 4294967296 else #t~mem50 % 4294967296 % 4294967296 - 4294967296); [L251] call write~real(#t~union51, ~#ew_u~2.base, ~#ew_u~2.offset, 8); [L251] havoc #t~mem50; [L251] havoc #t~union51; [L248] call ULTIMATE.dealloc(~#ew_u~2.base, ~#ew_u~2.offset); [L248] havoc ~#ew_u~2.base, ~#ew_u~2.offset; VAL [#in~x=1.5032385558E10, #NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=15032385546, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=15032385549, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=15032385538, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~hx~2=-2147483648, ~lx~1=-2147483648, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=1.5032385558E10, ~zero_atan2~0=0.0] [L253] ~hx~2 := ~bitwiseAnd(~hx~2, 2147483647); [L254] ~hx~2 := (if ~bitwiseOr(~hx~2, ~bitwiseOr(~lx~1, -~lx~1) / 2147483648) % 4294967296 % 4294967296 <= 2147483647 then ~bitwiseOr(~hx~2, ~bitwiseOr(~lx~1, -~lx~1) / 2147483648) % 4294967296 % 4294967296 else ~bitwiseOr(~hx~2, ~bitwiseOr(~lx~1, -~lx~1) / 2147483648) % 4294967296 % 4294967296 - 4294967296); [L255] ~hx~2 := 2146435072 - ~hx~2; [L256] #res := 1 - (if ~bitwiseOr(~hx~2, -~hx~2) / 2147483648 % 4294967296 % 4294967296 <= 2147483647 then ~bitwiseOr(~hx~2, -~hx~2) / 2147483648 % 4294967296 % 4294967296 else ~bitwiseOr(~hx~2, -~hx~2) / 2147483648 % 4294967296 % 4294967296 - 4294967296); VAL [#in~x=1.5032385558E10, #NULL.base=0, #NULL.offset=0, #res=2, ~#aT_atan~0.base=15032385546, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=15032385549, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=15032385538, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~hx~2=2146435072, ~lx~1=-2147483648, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=1.5032385558E10, ~zero_atan2~0=0.0] [L245-L257] ensures true; VAL [#in~x=1.5032385558E10, #NULL.base=0, #NULL.offset=0, #res=2, ~#aT_atan~0.base=15032385546, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=15032385549, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=15032385538, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~hx~2=2146435072, ~lx~1=-2147483648, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=1.5032385558E10, ~zero_atan2~0=0.0] [L280] RET call #t~ret56 := isinf_double(~y~0); VAL [#NULL.base=0, #NULL.offset=0, #t~ret55=-1, #t~ret56=2, #t~short57=true, ~#aT_atan~0.base=15032385546, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=15032385549, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=15032385538, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=1.503238556E10, ~y~0=1.5032385558E10, ~zero_atan2~0=0.0] [L280] assume -2147483648 <= #t~ret56 && #t~ret56 <= 2147483647; [L280] #t~short57 := 0 != #t~ret56; VAL [#NULL.base=0, #NULL.offset=0, #t~ret55=-1, #t~ret56=2, #t~short57=true, ~#aT_atan~0.base=15032385546, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=15032385549, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=15032385538, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=1.503238556E10, ~y~0=1.5032385558E10, ~zero_atan2~0=0.0] [L280-L289] assume #t~short57; [L280] havoc #t~ret55; [L280] havoc #t~ret56; [L280] havoc #t~short57; VAL [#NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=15032385546, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=15032385549, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=15032385538, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=1.503238556E10, ~y~0=1.5032385558E10, ~zero_atan2~0=0.0] [L282] CALL call #t~ret58 := __ieee754_atan2(~y~0, ~x~0); VAL [#in~x=1.503238556E10, #in~y=1.5032385558E10, #NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=15032385546, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=15032385549, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=15032385538, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [L142-L242] ~y := #in~y; [L142-L242] ~x := #in~x; [L143] havoc ~z~1; [L144] havoc ~k~0; [L144] havoc ~m~0; [L144] havoc ~hx~1; [L144] havoc ~hy~0; [L144] havoc ~ix~1; [L144] havoc ~iy~0; [L145] havoc ~lx~0; [L145] havoc ~ly~0; VAL [#in~x=1.503238556E10, #in~y=1.5032385558E10, #NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=15032385546, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=15032385549, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=15032385538, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=1.503238556E10, ~y=1.5032385558E10, ~zero_atan2~0=0.0] [L148] call ~#ew_u~0.base, ~#ew_u~0.offset := #Ultimate.alloc(8); [L149] call write~real(~x, ~#ew_u~0.base, ~#ew_u~0.offset, 8); [L150] call #t~mem27 := read~int(~#ew_u~0.base, 4 + ~#ew_u~0.offset, 4); [L150] ~hx~1 := (if #t~mem27 % 4294967296 % 4294967296 <= 2147483647 then #t~mem27 % 4294967296 % 4294967296 else #t~mem27 % 4294967296 % 4294967296 - 4294967296); [L150] call write~real(#t~union28, ~#ew_u~0.base, ~#ew_u~0.offset, 8); [L150] havoc #t~mem27; [L150] havoc #t~union28; [L151] call #t~mem29 := read~int(~#ew_u~0.base, ~#ew_u~0.offset, 4); [L151] ~lx~0 := #t~mem29; [L151] call write~real(#t~union30, ~#ew_u~0.base, ~#ew_u~0.offset, 8); [L151] havoc #t~mem29; [L151] havoc #t~union30; [L148] call ULTIMATE.dealloc(~#ew_u~0.base, ~#ew_u~0.offset); [L148] havoc ~#ew_u~0.base, ~#ew_u~0.offset; VAL [#in~x=1.503238556E10, #in~y=1.5032385558E10, #NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=15032385546, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=15032385549, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=15032385538, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~hx~1=-2147483648, ~lx~0=15032385575, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=1.503238556E10, ~y=1.5032385558E10, ~zero_atan2~0=0.0] [L153] ~ix~1 := ~bitwiseAnd(~hx~1, 2147483647); VAL [#in~x=1.503238556E10, #in~y=1.5032385558E10, #NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=15032385546, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=15032385549, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=15032385538, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~hx~1=-2147483648, ~lx~0=15032385575, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=1.503238556E10, ~y=1.5032385558E10, ~zero_atan2~0=0.0] [L155] call ~#ew_u~1.base, ~#ew_u~1.offset := #Ultimate.alloc(8); [L156] call write~real(~y, ~#ew_u~1.base, ~#ew_u~1.offset, 8); [L157] call #t~mem31 := read~int(~#ew_u~1.base, 4 + ~#ew_u~1.offset, 4); [L157] ~hy~0 := (if #t~mem31 % 4294967296 % 4294967296 <= 2147483647 then #t~mem31 % 4294967296 % 4294967296 else #t~mem31 % 4294967296 % 4294967296 - 4294967296); [L157] call write~real(#t~union32, ~#ew_u~1.base, ~#ew_u~1.offset, 8); [L157] havoc #t~union32; [L157] havoc #t~mem31; [L158] call #t~mem33 := read~int(~#ew_u~1.base, ~#ew_u~1.offset, 4); [L158] ~ly~0 := #t~mem33; [L158] call write~real(#t~union34, ~#ew_u~1.base, ~#ew_u~1.offset, 8); [L158] havoc #t~mem33; [L158] havoc #t~union34; [L155] call ULTIMATE.dealloc(~#ew_u~1.base, ~#ew_u~1.offset); [L155] havoc ~#ew_u~1.base, ~#ew_u~1.offset; VAL [#in~x=1.503238556E10, #in~y=1.5032385558E10, #NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=15032385546, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=15032385549, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=15032385538, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~hx~1=-2147483648, ~hy~0=-2147483648, ~lx~0=15032385575, ~ly~0=15032385573, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=1.503238556E10, ~y=1.5032385558E10, ~zero_atan2~0=0.0] [L160] ~iy~0 := ~bitwiseAnd(~hy~0, 2147483647); VAL [#in~x=1.503238556E10, #in~y=1.5032385558E10, #NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=15032385546, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=15032385549, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=15032385538, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~hx~1=-2147483648, ~hy~0=-2147483648, ~lx~0=15032385575, ~ly~0=15032385573, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=1.503238556E10, ~y=1.5032385558E10, ~zero_atan2~0=0.0] [L161-L163] assume ~bitwiseOr(~ix~1, ~bitwiseOr(~lx~0, -~lx~0) / 2147483648) % 4294967296 > 2146435072 || ~bitwiseOr(~iy~0, ~bitwiseOr(~ly~0, -~ly~0) / 2147483648) % 4294967296 > 2146435072; [L163] #res := ~someBinaryArithmeticDOUBLEoperation(~x, ~y); VAL [#in~x=1.503238556E10, #in~y=1.5032385558E10, #NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=15032385546, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=15032385549, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=15032385538, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~hx~1=-2147483648, ~hy~0=-2147483648, ~lx~0=15032385575, ~ly~0=15032385573, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=1.503238556E10, ~y=1.5032385558E10, ~zero_atan2~0=0.0] [L142-L242] ensures true; VAL [#in~x=1.503238556E10, #in~y=1.5032385558E10, #NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=15032385546, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=15032385549, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=15032385538, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~hx~1=-2147483648, ~hy~0=-2147483648, ~lx~0=15032385575, ~ly~0=15032385573, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=1.503238556E10, ~y=1.5032385558E10, ~zero_atan2~0=0.0] [L282] RET call #t~ret58 := __ieee754_atan2(~y~0, ~x~0); VAL [#NULL.base=0, #NULL.offset=0, #t~ret58=1.5032385552E10, ~#aT_atan~0.base=15032385546, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=15032385549, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=15032385538, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=1.503238556E10, ~y~0=1.5032385558E10, ~zero_atan2~0=0.0] [L282] ~res~0 := #t~ret58; [L282] havoc #t~ret58; VAL [#NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=15032385546, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=15032385549, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=15032385538, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~res~0=1.5032385552E10, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=1.503238556E10, ~y~0=1.5032385558E10, ~zero_atan2~0=0.0] [L285-L288] assume ~someBinaryDOUBLEComparisonOperation(~res~0, ~someUnaryDOUBLEoperation(~pi_o_2~0)); VAL [#NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=15032385546, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=15032385549, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=15032385538, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~res~0=1.5032385552E10, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=1.503238556E10, ~y~0=1.5032385558E10, ~zero_atan2~0=0.0] [L286] assert false; VAL [#NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=15032385546, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=15032385549, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=15032385538, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~res~0=1.5032385552E10, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=1.503238556E10, ~y~0=1.5032385558E10, ~zero_atan2~0=0.0] [?] CALL call ULTIMATE.init(); VAL [#NULL!base=15032385566, #NULL!offset=15032385555, old(#NULL!base)=15032385566, old(#NULL!offset)=15032385555, old(~#aT_atan~0!base)=15032385545, old(~#aT_atan~0!offset)=15032385553, old(~#atanhi_atan~0!base)=15032385547, old(~#atanhi_atan~0!offset)=15032385561, old(~#atanlo_atan~0!base)=15032385540, old(~#atanlo_atan~0!offset)=15032385572, old(~huge_atan~0)=1.5032385568E10, old(~one_atan~0)=1.5032385554E10, old(~pi_lo_atan2~0)=1.5032385551E10, old(~pi_o_2~0)=1.5032385537E10, old(~pi_o_4~0)=1.5032385559E10, old(~pi~0)=1.5032385563E10, old(~tiny_atan2~0)=1.503238557E10, old(~zero_atan2~0)=1.5032385544E10, ~#aT_atan~0!base=15032385545, ~#aT_atan~0!offset=15032385553, ~#atanhi_atan~0!base=15032385547, ~#atanhi_atan~0!offset=15032385561, ~#atanlo_atan~0!base=15032385540, ~#atanlo_atan~0!offset=15032385572, ~huge_atan~0=1.5032385568E10, ~one_atan~0=1.5032385554E10, ~pi_lo_atan2~0=1.5032385551E10, ~pi_o_2~0=1.5032385537E10, ~pi_o_4~0=1.5032385559E10, ~pi~0=1.5032385563E10, ~tiny_atan2~0=1.503238557E10, ~zero_atan2~0=1.5032385544E10] [?] #NULL := { base: 0, offset: 0 }; [?] #valid[0] := 0; [L37-L42] FCALL call ~#atanhi_atan~0 := #Ultimate.alloc(32); [L37-L42] FCALL call write~init~real(0.4636476090008061, { base: ~#atanhi_atan~0!base, offset: ~#atanhi_atan~0!offset }, 8); [L37-L42] FCALL call write~init~real(0.7853981633974483, { base: ~#atanhi_atan~0!base, offset: 8 + ~#atanhi_atan~0!offset }, 8); [L37-L42] FCALL call write~init~real(0.982793723247329, { base: ~#atanhi_atan~0!base, offset: 16 + ~#atanhi_atan~0!offset }, 8); [L37-L42] FCALL call write~init~real(1.5707963267948966, { base: ~#atanhi_atan~0!base, offset: 24 + ~#atanhi_atan~0!offset }, 8); [L44-L49] FCALL call ~#atanlo_atan~0 := #Ultimate.alloc(32); [L44-L49] FCALL call write~init~real(2.2698777452961687E-17, { base: ~#atanlo_atan~0!base, offset: ~#atanlo_atan~0!offset }, 8); [L44-L49] FCALL call write~init~real(3.061616997868383E-17, { base: ~#atanlo_atan~0!base, offset: 8 + ~#atanlo_atan~0!offset }, 8); [L44-L49] FCALL call write~init~real(1.3903311031230998E-17, { base: ~#atanlo_atan~0!base, offset: 16 + ~#atanlo_atan~0!offset }, 8); [L44-L49] FCALL call write~init~real(6.123233995736766E-17, { base: ~#atanlo_atan~0!base, offset: 24 + ~#atanlo_atan~0!offset }, 8); [L51-L58] FCALL call ~#aT_atan~0 := #Ultimate.alloc(88); [L51-L58] FCALL call write~init~real(0.3333333333333293, { base: ~#aT_atan~0!base, offset: ~#aT_atan~0!offset }, 8); [L51-L58] FCALL call write~init~real(~someUnaryDOUBLEoperation(0.19999999999876483), { base: ~#aT_atan~0!base, offset: 8 + ~#aT_atan~0!offset }, 8); [L51-L58] FCALL call write~init~real(0.14285714272503466, { base: ~#aT_atan~0!base, offset: 16 + ~#aT_atan~0!offset }, 8); [L51-L58] FCALL call write~init~real(~someUnaryDOUBLEoperation(0.11111110405462356), { base: ~#aT_atan~0!base, offset: 24 + ~#aT_atan~0!offset }, 8); [L51-L58] FCALL call write~init~real(0.09090887133436507, { base: ~#aT_atan~0!base, offset: 32 + ~#aT_atan~0!offset }, 8); [L51-L58] FCALL call write~init~real(~someUnaryDOUBLEoperation(0.0769187620504483), { base: ~#aT_atan~0!base, offset: 40 + ~#aT_atan~0!offset }, 8); [L51-L58] FCALL call write~init~real(0.06661073137387531, { base: ~#aT_atan~0!base, offset: 48 + ~#aT_atan~0!offset }, 8); [L51-L58] FCALL call write~init~real(~someUnaryDOUBLEoperation(0.058335701337905735), { base: ~#aT_atan~0!base, offset: 56 + ~#aT_atan~0!offset }, 8); [L51-L58] FCALL call write~init~real(0.049768779946159324, { base: ~#aT_atan~0!base, offset: 64 + ~#aT_atan~0!offset }, 8); [L51-L58] FCALL call write~init~real(~someUnaryDOUBLEoperation(0.036531572744216916), { base: ~#aT_atan~0!base, offset: 72 + ~#aT_atan~0!offset }, 8); [L51-L58] FCALL call write~init~real(0.016285820115365782, { base: ~#aT_atan~0!base, offset: 80 + ~#aT_atan~0!offset }, 8); [L60-L62] ~one_atan~0 := 1.0; [L60-L62] ~pi_o_4~0 := 0.7853981633974483; [L60-L62] ~pi_o_2~0 := 1.5707963267948966; [L60-L62] ~pi~0 := 3.141592653589793; [L60-L62] ~huge_atan~0 := 1.0E300; [L139-L140] ~tiny_atan2~0 := 1.0E-300; [L139-L140] ~zero_atan2~0 := 0.0; [L139-L140] ~pi_lo_atan2~0 := 1.2246467991473532E-16; VAL [#NULL!base=0, #NULL!offset=0, old(#NULL!base)=15032385566, old(#NULL!offset)=15032385555, old(~#aT_atan~0!base)=15032385545, old(~#aT_atan~0!offset)=15032385553, old(~#atanhi_atan~0!base)=15032385547, old(~#atanhi_atan~0!offset)=15032385561, old(~#atanlo_atan~0!base)=15032385540, old(~#atanlo_atan~0!offset)=15032385572, old(~huge_atan~0)=1.5032385568E10, old(~one_atan~0)=1.5032385554E10, old(~pi_lo_atan2~0)=1.5032385551E10, old(~pi_o_2~0)=1.5032385537E10, old(~pi_o_4~0)=1.5032385559E10, old(~pi~0)=1.5032385563E10, old(~tiny_atan2~0)=1.503238557E10, old(~zero_atan2~0)=1.5032385544E10, ~#aT_atan~0!base=15032385546, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=15032385549, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=15032385538, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [?] RET call ULTIMATE.init(); VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=15032385546, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=15032385549, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=15032385538, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [?] CALL call #t~ret59 := main(); VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=15032385546, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=15032385549, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=15032385538, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [L276] ~x~0 := #t~nondet54; [L276] havoc #t~nondet54; [L277] ~y~0 := ~someBinaryArithmeticDOUBLEoperation(~someUnaryDOUBLEoperation(1.0), 0.0); VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=15032385546, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=15032385549, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=15032385538, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=1.503238556E10, ~zero_atan2~0=0.0] [L280] CALL call #t~ret55 := isfinite_double(~x~0); VAL [#in~x=1.503238556E10, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=15032385546, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=15032385549, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=15032385538, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [L259-L267] ~x := #in~x; [L260] havoc ~hx~3; VAL [#in~x=1.503238556E10, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=15032385546, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=15032385549, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=15032385538, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=1.503238556E10, ~zero_atan2~0=0.0] [L262] FCALL call ~#gh_u~3 := #Ultimate.alloc(8); [L263] FCALL call write~real(~x, { base: ~#gh_u~3!base, offset: ~#gh_u~3!offset }, 8); [L264] FCALL call #t~mem52 := read~int({ base: ~#gh_u~3!base, offset: 4 + ~#gh_u~3!offset }, 4); [L264] ~hx~3 := (if #t~mem52 % 4294967296 % 4294967296 <= 2147483647 then #t~mem52 % 4294967296 % 4294967296 else #t~mem52 % 4294967296 % 4294967296 - 4294967296); [L264] FCALL call write~real(#t~union53, { base: ~#gh_u~3!base, offset: ~#gh_u~3!offset }, 8); [L264] havoc #t~union53; [L264] havoc #t~mem52; [L262] FCALL call ULTIMATE.dealloc(~#gh_u~3); [L262] havoc ~#gh_u~3; VAL [#in~x=1.503238556E10, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=15032385546, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=15032385549, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=15032385538, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~hx~3=3, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=1.503238556E10, ~zero_atan2~0=0.0] [L266] #res := (if (~bitwiseAnd(~hx~3, 2147483647) - 2146435072) / 2147483648 % 4294967296 % 4294967296 <= 2147483647 then (~bitwiseAnd(~hx~3, 2147483647) - 2146435072) / 2147483648 % 4294967296 % 4294967296 else (~bitwiseAnd(~hx~3, 2147483647) - 2146435072) / 2147483648 % 4294967296 % 4294967296 - 4294967296); VAL [#in~x=1.503238556E10, #NULL!base=0, #NULL!offset=0, #res=-1, ~#aT_atan~0!base=15032385546, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=15032385549, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=15032385538, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~hx~3=3, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=1.503238556E10, ~zero_atan2~0=0.0] [L280] RET call #t~ret55 := isfinite_double(~x~0); VAL [#NULL!base=0, #NULL!offset=0, #t~ret55=-1, ~#aT_atan~0!base=15032385546, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=15032385549, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=15032385538, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=1.503238556E10, ~zero_atan2~0=0.0] [L280] assume -2147483648 <= #t~ret55 && #t~ret55 <= 2147483647; [L280] #t~short57 := 0 != #t~ret55; VAL [#NULL!base=0, #NULL!offset=0, #t~ret55=-1, #t~short57=true, ~#aT_atan~0!base=15032385546, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=15032385549, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=15032385538, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=1.503238556E10, ~zero_atan2~0=0.0] [L280] COND TRUE #t~short57 VAL [#NULL!base=0, #NULL!offset=0, #t~ret55=-1, #t~short57=true, ~#aT_atan~0!base=15032385546, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=15032385549, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=15032385538, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=1.503238556E10, ~zero_atan2~0=0.0] [L280] CALL call #t~ret56 := isinf_double(~y~0); VAL [#in~x=1.5032385558E10, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=15032385546, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=15032385549, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=15032385538, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [L245-L257] ~x := #in~x; [L246] havoc ~hx~2; [L246] havoc ~lx~1; VAL [#in~x=1.5032385558E10, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=15032385546, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=15032385549, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=15032385538, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=1.5032385558E10, ~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~mem50; [L251] havoc #t~union51; [L248] FCALL call ULTIMATE.dealloc(~#ew_u~2); [L248] havoc ~#ew_u~2; VAL [#in~x=1.5032385558E10, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=15032385546, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=15032385549, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=15032385538, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~hx~2=-2147483648, ~lx~1=-2147483648, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=1.5032385558E10, ~zero_atan2~0=0.0] [L253] ~hx~2 := ~bitwiseAnd(~hx~2, 2147483647); [L254] ~hx~2 := (if ~bitwiseOr(~hx~2, ~bitwiseOr(~lx~1, -~lx~1) / 2147483648) % 4294967296 % 4294967296 <= 2147483647 then ~bitwiseOr(~hx~2, ~bitwiseOr(~lx~1, -~lx~1) / 2147483648) % 4294967296 % 4294967296 else ~bitwiseOr(~hx~2, ~bitwiseOr(~lx~1, -~lx~1) / 2147483648) % 4294967296 % 4294967296 - 4294967296); [L255] ~hx~2 := 2146435072 - ~hx~2; [L256] #res := 1 - (if ~bitwiseOr(~hx~2, -~hx~2) / 2147483648 % 4294967296 % 4294967296 <= 2147483647 then ~bitwiseOr(~hx~2, -~hx~2) / 2147483648 % 4294967296 % 4294967296 else ~bitwiseOr(~hx~2, -~hx~2) / 2147483648 % 4294967296 % 4294967296 - 4294967296); VAL [#in~x=1.5032385558E10, #NULL!base=0, #NULL!offset=0, #res=2, ~#aT_atan~0!base=15032385546, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=15032385549, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=15032385538, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~hx~2=2146435072, ~lx~1=-2147483648, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=1.5032385558E10, ~zero_atan2~0=0.0] [L280] RET call #t~ret56 := isinf_double(~y~0); VAL [#NULL!base=0, #NULL!offset=0, #t~ret55=-1, #t~ret56=2, #t~short57=true, ~#aT_atan~0!base=15032385546, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=15032385549, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=15032385538, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=1.503238556E10, ~y~0=1.5032385558E10, ~zero_atan2~0=0.0] [L280] assume -2147483648 <= #t~ret56 && #t~ret56 <= 2147483647; [L280] #t~short57 := 0 != #t~ret56; VAL [#NULL!base=0, #NULL!offset=0, #t~ret55=-1, #t~ret56=2, #t~short57=true, ~#aT_atan~0!base=15032385546, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=15032385549, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=15032385538, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=1.503238556E10, ~y~0=1.5032385558E10, ~zero_atan2~0=0.0] [L280] COND TRUE #t~short57 [L280] havoc #t~ret55; [L280] havoc #t~ret56; [L280] havoc #t~short57; VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=15032385546, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=15032385549, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=15032385538, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=1.503238556E10, ~y~0=1.5032385558E10, ~zero_atan2~0=0.0] [L282] CALL call #t~ret58 := __ieee754_atan2(~y~0, ~x~0); VAL [#in~x=1.503238556E10, #in~y=1.5032385558E10, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=15032385546, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=15032385549, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=15032385538, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [L142-L242] ~y := #in~y; [L142-L242] ~x := #in~x; [L143] havoc ~z~1; [L144] havoc ~k~0; [L144] havoc ~m~0; [L144] havoc ~hx~1; [L144] havoc ~hy~0; [L144] havoc ~ix~1; [L144] havoc ~iy~0; [L145] havoc ~lx~0; [L145] havoc ~ly~0; VAL [#in~x=1.503238556E10, #in~y=1.5032385558E10, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=15032385546, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=15032385549, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=15032385538, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=1.503238556E10, ~y=1.5032385558E10, ~zero_atan2~0=0.0] [L148] FCALL call ~#ew_u~0 := #Ultimate.alloc(8); [L149] FCALL call write~real(~x, { base: ~#ew_u~0!base, offset: ~#ew_u~0!offset }, 8); [L150] FCALL call #t~mem27 := read~int({ base: ~#ew_u~0!base, offset: 4 + ~#ew_u~0!offset }, 4); [L150] ~hx~1 := (if #t~mem27 % 4294967296 % 4294967296 <= 2147483647 then #t~mem27 % 4294967296 % 4294967296 else #t~mem27 % 4294967296 % 4294967296 - 4294967296); [L150] FCALL call write~real(#t~union28, { base: ~#ew_u~0!base, offset: ~#ew_u~0!offset }, 8); [L150] havoc #t~mem27; [L150] havoc #t~union28; [L151] FCALL call #t~mem29 := read~int({ base: ~#ew_u~0!base, offset: ~#ew_u~0!offset }, 4); [L151] ~lx~0 := #t~mem29; [L151] FCALL call write~real(#t~union30, { base: ~#ew_u~0!base, offset: ~#ew_u~0!offset }, 8); [L151] havoc #t~mem29; [L151] havoc #t~union30; [L148] FCALL call ULTIMATE.dealloc(~#ew_u~0); [L148] havoc ~#ew_u~0; VAL [#in~x=1.503238556E10, #in~y=1.5032385558E10, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=15032385546, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=15032385549, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=15032385538, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~hx~1=-2147483648, ~lx~0=15032385575, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=1.503238556E10, ~y=1.5032385558E10, ~zero_atan2~0=0.0] [L153] ~ix~1 := ~bitwiseAnd(~hx~1, 2147483647); VAL [#in~x=1.503238556E10, #in~y=1.5032385558E10, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=15032385546, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=15032385549, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=15032385538, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~hx~1=-2147483648, ~lx~0=15032385575, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=1.503238556E10, ~y=1.5032385558E10, ~zero_atan2~0=0.0] [L155] FCALL call ~#ew_u~1 := #Ultimate.alloc(8); [L156] FCALL call write~real(~y, { base: ~#ew_u~1!base, offset: ~#ew_u~1!offset }, 8); [L157] FCALL call #t~mem31 := read~int({ base: ~#ew_u~1!base, offset: 4 + ~#ew_u~1!offset }, 4); [L157] ~hy~0 := (if #t~mem31 % 4294967296 % 4294967296 <= 2147483647 then #t~mem31 % 4294967296 % 4294967296 else #t~mem31 % 4294967296 % 4294967296 - 4294967296); [L157] FCALL call write~real(#t~union32, { base: ~#ew_u~1!base, offset: ~#ew_u~1!offset }, 8); [L157] havoc #t~union32; [L157] havoc #t~mem31; [L158] FCALL call #t~mem33 := read~int({ base: ~#ew_u~1!base, offset: ~#ew_u~1!offset }, 4); [L158] ~ly~0 := #t~mem33; [L158] FCALL call write~real(#t~union34, { base: ~#ew_u~1!base, offset: ~#ew_u~1!offset }, 8); [L158] havoc #t~mem33; [L158] havoc #t~union34; [L155] FCALL call ULTIMATE.dealloc(~#ew_u~1); [L155] havoc ~#ew_u~1; VAL [#in~x=1.503238556E10, #in~y=1.5032385558E10, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=15032385546, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=15032385549, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=15032385538, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~hx~1=-2147483648, ~hy~0=-2147483648, ~lx~0=15032385575, ~ly~0=15032385573, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=1.503238556E10, ~y=1.5032385558E10, ~zero_atan2~0=0.0] [L160] ~iy~0 := ~bitwiseAnd(~hy~0, 2147483647); VAL [#in~x=1.503238556E10, #in~y=1.5032385558E10, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=15032385546, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=15032385549, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=15032385538, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~hx~1=-2147483648, ~hy~0=-2147483648, ~lx~0=15032385575, ~ly~0=15032385573, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=1.503238556E10, ~y=1.5032385558E10, ~zero_atan2~0=0.0] [L161-L162] COND TRUE ~bitwiseOr(~ix~1, ~bitwiseOr(~lx~0, -~lx~0) / 2147483648) % 4294967296 > 2146435072 || ~bitwiseOr(~iy~0, ~bitwiseOr(~ly~0, -~ly~0) / 2147483648) % 4294967296 > 2146435072 [L163] #res := ~someBinaryArithmeticDOUBLEoperation(~x, ~y); VAL [#in~x=1.503238556E10, #in~y=1.5032385558E10, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=15032385546, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=15032385549, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=15032385538, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~hx~1=-2147483648, ~hy~0=-2147483648, ~lx~0=15032385575, ~ly~0=15032385573, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=1.503238556E10, ~y=1.5032385558E10, ~zero_atan2~0=0.0] [L282] RET call #t~ret58 := __ieee754_atan2(~y~0, ~x~0); VAL [#NULL!base=0, #NULL!offset=0, #t~ret58=1.5032385552E10, ~#aT_atan~0!base=15032385546, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=15032385549, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=15032385538, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=1.503238556E10, ~y~0=1.5032385558E10, ~zero_atan2~0=0.0] [L282] ~res~0 := #t~ret58; [L282] havoc #t~ret58; VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=15032385546, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=15032385549, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=15032385538, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~res~0=1.5032385552E10, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=1.503238556E10, ~y~0=1.5032385558E10, ~zero_atan2~0=0.0] [L285] COND TRUE ~someBinaryDOUBLEComparisonOperation(~res~0, ~someUnaryDOUBLEoperation(~pi_o_2~0)) VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=15032385546, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=15032385549, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=15032385538, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~res~0=1.5032385552E10, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=1.503238556E10, ~y~0=1.5032385558E10, ~zero_atan2~0=0.0] [L286] assert false; VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=15032385546, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=15032385549, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=15032385538, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~res~0=1.5032385552E10, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=1.503238556E10, ~y~0=1.5032385558E10, ~zero_atan2~0=0.0] ----- ----- class de.uni_freiburg.informatik.ultimate.boogie.procedureinliner.backtranslation.InlinerBacktranslator [?] CALL call ULTIMATE.init(); VAL [#NULL!base=15032385566, #NULL!offset=15032385555, old(#NULL!base)=15032385566, old(#NULL!offset)=15032385555, old(~#aT_atan~0!base)=15032385545, old(~#aT_atan~0!offset)=15032385553, old(~#atanhi_atan~0!base)=15032385547, old(~#atanhi_atan~0!offset)=15032385561, old(~#atanlo_atan~0!base)=15032385540, old(~#atanlo_atan~0!offset)=15032385572, old(~huge_atan~0)=1.5032385568E10, old(~one_atan~0)=1.5032385554E10, old(~pi_lo_atan2~0)=1.5032385551E10, old(~pi_o_2~0)=1.5032385537E10, old(~pi_o_4~0)=1.5032385559E10, old(~pi~0)=1.5032385563E10, old(~tiny_atan2~0)=1.503238557E10, old(~zero_atan2~0)=1.5032385544E10, ~#aT_atan~0!base=15032385545, ~#aT_atan~0!offset=15032385553, ~#atanhi_atan~0!base=15032385547, ~#atanhi_atan~0!offset=15032385561, ~#atanlo_atan~0!base=15032385540, ~#atanlo_atan~0!offset=15032385572, ~huge_atan~0=1.5032385568E10, ~one_atan~0=1.5032385554E10, ~pi_lo_atan2~0=1.5032385551E10, ~pi_o_2~0=1.5032385537E10, ~pi_o_4~0=1.5032385559E10, ~pi~0=1.5032385563E10, ~tiny_atan2~0=1.503238557E10, ~zero_atan2~0=1.5032385544E10] [?] #NULL := { base: 0, offset: 0 }; [?] #valid[0] := 0; [L37-L42] FCALL call ~#atanhi_atan~0 := #Ultimate.alloc(32); [L37-L42] FCALL call write~init~real(0.4636476090008061, { base: ~#atanhi_atan~0!base, offset: ~#atanhi_atan~0!offset }, 8); [L37-L42] FCALL call write~init~real(0.7853981633974483, { base: ~#atanhi_atan~0!base, offset: 8 + ~#atanhi_atan~0!offset }, 8); [L37-L42] FCALL call write~init~real(0.982793723247329, { base: ~#atanhi_atan~0!base, offset: 16 + ~#atanhi_atan~0!offset }, 8); [L37-L42] FCALL call write~init~real(1.5707963267948966, { base: ~#atanhi_atan~0!base, offset: 24 + ~#atanhi_atan~0!offset }, 8); [L44-L49] FCALL call ~#atanlo_atan~0 := #Ultimate.alloc(32); [L44-L49] FCALL call write~init~real(2.2698777452961687E-17, { base: ~#atanlo_atan~0!base, offset: ~#atanlo_atan~0!offset }, 8); [L44-L49] FCALL call write~init~real(3.061616997868383E-17, { base: ~#atanlo_atan~0!base, offset: 8 + ~#atanlo_atan~0!offset }, 8); [L44-L49] FCALL call write~init~real(1.3903311031230998E-17, { base: ~#atanlo_atan~0!base, offset: 16 + ~#atanlo_atan~0!offset }, 8); [L44-L49] FCALL call write~init~real(6.123233995736766E-17, { base: ~#atanlo_atan~0!base, offset: 24 + ~#atanlo_atan~0!offset }, 8); [L51-L58] FCALL call ~#aT_atan~0 := #Ultimate.alloc(88); [L51-L58] FCALL call write~init~real(0.3333333333333293, { base: ~#aT_atan~0!base, offset: ~#aT_atan~0!offset }, 8); [L51-L58] FCALL call write~init~real(~someUnaryDOUBLEoperation(0.19999999999876483), { base: ~#aT_atan~0!base, offset: 8 + ~#aT_atan~0!offset }, 8); [L51-L58] FCALL call write~init~real(0.14285714272503466, { base: ~#aT_atan~0!base, offset: 16 + ~#aT_atan~0!offset }, 8); [L51-L58] FCALL call write~init~real(~someUnaryDOUBLEoperation(0.11111110405462356), { base: ~#aT_atan~0!base, offset: 24 + ~#aT_atan~0!offset }, 8); [L51-L58] FCALL call write~init~real(0.09090887133436507, { base: ~#aT_atan~0!base, offset: 32 + ~#aT_atan~0!offset }, 8); [L51-L58] FCALL call write~init~real(~someUnaryDOUBLEoperation(0.0769187620504483), { base: ~#aT_atan~0!base, offset: 40 + ~#aT_atan~0!offset }, 8); [L51-L58] FCALL call write~init~real(0.06661073137387531, { base: ~#aT_atan~0!base, offset: 48 + ~#aT_atan~0!offset }, 8); [L51-L58] FCALL call write~init~real(~someUnaryDOUBLEoperation(0.058335701337905735), { base: ~#aT_atan~0!base, offset: 56 + ~#aT_atan~0!offset }, 8); [L51-L58] FCALL call write~init~real(0.049768779946159324, { base: ~#aT_atan~0!base, offset: 64 + ~#aT_atan~0!offset }, 8); [L51-L58] FCALL call write~init~real(~someUnaryDOUBLEoperation(0.036531572744216916), { base: ~#aT_atan~0!base, offset: 72 + ~#aT_atan~0!offset }, 8); [L51-L58] FCALL call write~init~real(0.016285820115365782, { base: ~#aT_atan~0!base, offset: 80 + ~#aT_atan~0!offset }, 8); [L60-L62] ~one_atan~0 := 1.0; [L60-L62] ~pi_o_4~0 := 0.7853981633974483; [L60-L62] ~pi_o_2~0 := 1.5707963267948966; [L60-L62] ~pi~0 := 3.141592653589793; [L60-L62] ~huge_atan~0 := 1.0E300; [L139-L140] ~tiny_atan2~0 := 1.0E-300; [L139-L140] ~zero_atan2~0 := 0.0; [L139-L140] ~pi_lo_atan2~0 := 1.2246467991473532E-16; VAL [#NULL!base=0, #NULL!offset=0, old(#NULL!base)=15032385566, old(#NULL!offset)=15032385555, old(~#aT_atan~0!base)=15032385545, old(~#aT_atan~0!offset)=15032385553, old(~#atanhi_atan~0!base)=15032385547, old(~#atanhi_atan~0!offset)=15032385561, old(~#atanlo_atan~0!base)=15032385540, old(~#atanlo_atan~0!offset)=15032385572, old(~huge_atan~0)=1.5032385568E10, old(~one_atan~0)=1.5032385554E10, old(~pi_lo_atan2~0)=1.5032385551E10, old(~pi_o_2~0)=1.5032385537E10, old(~pi_o_4~0)=1.5032385559E10, old(~pi~0)=1.5032385563E10, old(~tiny_atan2~0)=1.503238557E10, old(~zero_atan2~0)=1.5032385544E10, ~#aT_atan~0!base=15032385546, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=15032385549, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=15032385538, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [?] RET call ULTIMATE.init(); VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=15032385546, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=15032385549, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=15032385538, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [?] CALL call #t~ret59 := main(); VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=15032385546, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=15032385549, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=15032385538, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [L276] ~x~0 := #t~nondet54; [L276] havoc #t~nondet54; [L277] ~y~0 := ~someBinaryArithmeticDOUBLEoperation(~someUnaryDOUBLEoperation(1.0), 0.0); VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=15032385546, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=15032385549, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=15032385538, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=1.503238556E10, ~zero_atan2~0=0.0] [L280] CALL call #t~ret55 := isfinite_double(~x~0); VAL [#in~x=1.503238556E10, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=15032385546, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=15032385549, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=15032385538, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [L259-L267] ~x := #in~x; [L260] havoc ~hx~3; VAL [#in~x=1.503238556E10, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=15032385546, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=15032385549, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=15032385538, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=1.503238556E10, ~zero_atan2~0=0.0] [L262] FCALL call ~#gh_u~3 := #Ultimate.alloc(8); [L263] FCALL call write~real(~x, { base: ~#gh_u~3!base, offset: ~#gh_u~3!offset }, 8); [L264] FCALL call #t~mem52 := read~int({ base: ~#gh_u~3!base, offset: 4 + ~#gh_u~3!offset }, 4); [L264] ~hx~3 := (if #t~mem52 % 4294967296 % 4294967296 <= 2147483647 then #t~mem52 % 4294967296 % 4294967296 else #t~mem52 % 4294967296 % 4294967296 - 4294967296); [L264] FCALL call write~real(#t~union53, { base: ~#gh_u~3!base, offset: ~#gh_u~3!offset }, 8); [L264] havoc #t~union53; [L264] havoc #t~mem52; [L262] FCALL call ULTIMATE.dealloc(~#gh_u~3); [L262] havoc ~#gh_u~3; VAL [#in~x=1.503238556E10, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=15032385546, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=15032385549, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=15032385538, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~hx~3=3, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=1.503238556E10, ~zero_atan2~0=0.0] [L266] #res := (if (~bitwiseAnd(~hx~3, 2147483647) - 2146435072) / 2147483648 % 4294967296 % 4294967296 <= 2147483647 then (~bitwiseAnd(~hx~3, 2147483647) - 2146435072) / 2147483648 % 4294967296 % 4294967296 else (~bitwiseAnd(~hx~3, 2147483647) - 2146435072) / 2147483648 % 4294967296 % 4294967296 - 4294967296); VAL [#in~x=1.503238556E10, #NULL!base=0, #NULL!offset=0, #res=-1, ~#aT_atan~0!base=15032385546, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=15032385549, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=15032385538, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~hx~3=3, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=1.503238556E10, ~zero_atan2~0=0.0] [L280] RET call #t~ret55 := isfinite_double(~x~0); VAL [#NULL!base=0, #NULL!offset=0, #t~ret55=-1, ~#aT_atan~0!base=15032385546, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=15032385549, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=15032385538, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=1.503238556E10, ~zero_atan2~0=0.0] [L280] assume -2147483648 <= #t~ret55 && #t~ret55 <= 2147483647; [L280] #t~short57 := 0 != #t~ret55; VAL [#NULL!base=0, #NULL!offset=0, #t~ret55=-1, #t~short57=true, ~#aT_atan~0!base=15032385546, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=15032385549, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=15032385538, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=1.503238556E10, ~zero_atan2~0=0.0] [L280] COND TRUE #t~short57 VAL [#NULL!base=0, #NULL!offset=0, #t~ret55=-1, #t~short57=true, ~#aT_atan~0!base=15032385546, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=15032385549, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=15032385538, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=1.503238556E10, ~zero_atan2~0=0.0] [L280] CALL call #t~ret56 := isinf_double(~y~0); VAL [#in~x=1.5032385558E10, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=15032385546, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=15032385549, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=15032385538, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [L245-L257] ~x := #in~x; [L246] havoc ~hx~2; [L246] havoc ~lx~1; VAL [#in~x=1.5032385558E10, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=15032385546, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=15032385549, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=15032385538, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=1.5032385558E10, ~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~mem50; [L251] havoc #t~union51; [L248] FCALL call ULTIMATE.dealloc(~#ew_u~2); [L248] havoc ~#ew_u~2; VAL [#in~x=1.5032385558E10, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=15032385546, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=15032385549, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=15032385538, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~hx~2=-2147483648, ~lx~1=-2147483648, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=1.5032385558E10, ~zero_atan2~0=0.0] [L253] ~hx~2 := ~bitwiseAnd(~hx~2, 2147483647); [L254] ~hx~2 := (if ~bitwiseOr(~hx~2, ~bitwiseOr(~lx~1, -~lx~1) / 2147483648) % 4294967296 % 4294967296 <= 2147483647 then ~bitwiseOr(~hx~2, ~bitwiseOr(~lx~1, -~lx~1) / 2147483648) % 4294967296 % 4294967296 else ~bitwiseOr(~hx~2, ~bitwiseOr(~lx~1, -~lx~1) / 2147483648) % 4294967296 % 4294967296 - 4294967296); [L255] ~hx~2 := 2146435072 - ~hx~2; [L256] #res := 1 - (if ~bitwiseOr(~hx~2, -~hx~2) / 2147483648 % 4294967296 % 4294967296 <= 2147483647 then ~bitwiseOr(~hx~2, -~hx~2) / 2147483648 % 4294967296 % 4294967296 else ~bitwiseOr(~hx~2, -~hx~2) / 2147483648 % 4294967296 % 4294967296 - 4294967296); VAL [#in~x=1.5032385558E10, #NULL!base=0, #NULL!offset=0, #res=2, ~#aT_atan~0!base=15032385546, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=15032385549, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=15032385538, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~hx~2=2146435072, ~lx~1=-2147483648, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=1.5032385558E10, ~zero_atan2~0=0.0] [L280] RET call #t~ret56 := isinf_double(~y~0); VAL [#NULL!base=0, #NULL!offset=0, #t~ret55=-1, #t~ret56=2, #t~short57=true, ~#aT_atan~0!base=15032385546, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=15032385549, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=15032385538, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=1.503238556E10, ~y~0=1.5032385558E10, ~zero_atan2~0=0.0] [L280] assume -2147483648 <= #t~ret56 && #t~ret56 <= 2147483647; [L280] #t~short57 := 0 != #t~ret56; VAL [#NULL!base=0, #NULL!offset=0, #t~ret55=-1, #t~ret56=2, #t~short57=true, ~#aT_atan~0!base=15032385546, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=15032385549, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=15032385538, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=1.503238556E10, ~y~0=1.5032385558E10, ~zero_atan2~0=0.0] [L280] COND TRUE #t~short57 [L280] havoc #t~ret55; [L280] havoc #t~ret56; [L280] havoc #t~short57; VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=15032385546, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=15032385549, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=15032385538, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=1.503238556E10, ~y~0=1.5032385558E10, ~zero_atan2~0=0.0] [L282] CALL call #t~ret58 := __ieee754_atan2(~y~0, ~x~0); VAL [#in~x=1.503238556E10, #in~y=1.5032385558E10, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=15032385546, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=15032385549, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=15032385538, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [L142-L242] ~y := #in~y; [L142-L242] ~x := #in~x; [L143] havoc ~z~1; [L144] havoc ~k~0; [L144] havoc ~m~0; [L144] havoc ~hx~1; [L144] havoc ~hy~0; [L144] havoc ~ix~1; [L144] havoc ~iy~0; [L145] havoc ~lx~0; [L145] havoc ~ly~0; VAL [#in~x=1.503238556E10, #in~y=1.5032385558E10, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=15032385546, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=15032385549, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=15032385538, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=1.503238556E10, ~y=1.5032385558E10, ~zero_atan2~0=0.0] [L148] FCALL call ~#ew_u~0 := #Ultimate.alloc(8); [L149] FCALL call write~real(~x, { base: ~#ew_u~0!base, offset: ~#ew_u~0!offset }, 8); [L150] FCALL call #t~mem27 := read~int({ base: ~#ew_u~0!base, offset: 4 + ~#ew_u~0!offset }, 4); [L150] ~hx~1 := (if #t~mem27 % 4294967296 % 4294967296 <= 2147483647 then #t~mem27 % 4294967296 % 4294967296 else #t~mem27 % 4294967296 % 4294967296 - 4294967296); [L150] FCALL call write~real(#t~union28, { base: ~#ew_u~0!base, offset: ~#ew_u~0!offset }, 8); [L150] havoc #t~mem27; [L150] havoc #t~union28; [L151] FCALL call #t~mem29 := read~int({ base: ~#ew_u~0!base, offset: ~#ew_u~0!offset }, 4); [L151] ~lx~0 := #t~mem29; [L151] FCALL call write~real(#t~union30, { base: ~#ew_u~0!base, offset: ~#ew_u~0!offset }, 8); [L151] havoc #t~mem29; [L151] havoc #t~union30; [L148] FCALL call ULTIMATE.dealloc(~#ew_u~0); [L148] havoc ~#ew_u~0; VAL [#in~x=1.503238556E10, #in~y=1.5032385558E10, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=15032385546, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=15032385549, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=15032385538, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~hx~1=-2147483648, ~lx~0=15032385575, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=1.503238556E10, ~y=1.5032385558E10, ~zero_atan2~0=0.0] [L153] ~ix~1 := ~bitwiseAnd(~hx~1, 2147483647); VAL [#in~x=1.503238556E10, #in~y=1.5032385558E10, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=15032385546, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=15032385549, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=15032385538, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~hx~1=-2147483648, ~lx~0=15032385575, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=1.503238556E10, ~y=1.5032385558E10, ~zero_atan2~0=0.0] [L155] FCALL call ~#ew_u~1 := #Ultimate.alloc(8); [L156] FCALL call write~real(~y, { base: ~#ew_u~1!base, offset: ~#ew_u~1!offset }, 8); [L157] FCALL call #t~mem31 := read~int({ base: ~#ew_u~1!base, offset: 4 + ~#ew_u~1!offset }, 4); [L157] ~hy~0 := (if #t~mem31 % 4294967296 % 4294967296 <= 2147483647 then #t~mem31 % 4294967296 % 4294967296 else #t~mem31 % 4294967296 % 4294967296 - 4294967296); [L157] FCALL call write~real(#t~union32, { base: ~#ew_u~1!base, offset: ~#ew_u~1!offset }, 8); [L157] havoc #t~union32; [L157] havoc #t~mem31; [L158] FCALL call #t~mem33 := read~int({ base: ~#ew_u~1!base, offset: ~#ew_u~1!offset }, 4); [L158] ~ly~0 := #t~mem33; [L158] FCALL call write~real(#t~union34, { base: ~#ew_u~1!base, offset: ~#ew_u~1!offset }, 8); [L158] havoc #t~mem33; [L158] havoc #t~union34; [L155] FCALL call ULTIMATE.dealloc(~#ew_u~1); [L155] havoc ~#ew_u~1; VAL [#in~x=1.503238556E10, #in~y=1.5032385558E10, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=15032385546, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=15032385549, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=15032385538, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~hx~1=-2147483648, ~hy~0=-2147483648, ~lx~0=15032385575, ~ly~0=15032385573, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=1.503238556E10, ~y=1.5032385558E10, ~zero_atan2~0=0.0] [L160] ~iy~0 := ~bitwiseAnd(~hy~0, 2147483647); VAL [#in~x=1.503238556E10, #in~y=1.5032385558E10, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=15032385546, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=15032385549, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=15032385538, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~hx~1=-2147483648, ~hy~0=-2147483648, ~lx~0=15032385575, ~ly~0=15032385573, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=1.503238556E10, ~y=1.5032385558E10, ~zero_atan2~0=0.0] [L161-L162] COND TRUE ~bitwiseOr(~ix~1, ~bitwiseOr(~lx~0, -~lx~0) / 2147483648) % 4294967296 > 2146435072 || ~bitwiseOr(~iy~0, ~bitwiseOr(~ly~0, -~ly~0) / 2147483648) % 4294967296 > 2146435072 [L163] #res := ~someBinaryArithmeticDOUBLEoperation(~x, ~y); VAL [#in~x=1.503238556E10, #in~y=1.5032385558E10, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=15032385546, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=15032385549, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=15032385538, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~hx~1=-2147483648, ~hy~0=-2147483648, ~lx~0=15032385575, ~ly~0=15032385573, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=1.503238556E10, ~y=1.5032385558E10, ~zero_atan2~0=0.0] [L282] RET call #t~ret58 := __ieee754_atan2(~y~0, ~x~0); VAL [#NULL!base=0, #NULL!offset=0, #t~ret58=1.5032385552E10, ~#aT_atan~0!base=15032385546, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=15032385549, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=15032385538, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=1.503238556E10, ~y~0=1.5032385558E10, ~zero_atan2~0=0.0] [L282] ~res~0 := #t~ret58; [L282] havoc #t~ret58; VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=15032385546, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=15032385549, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=15032385538, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~res~0=1.5032385552E10, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=1.503238556E10, ~y~0=1.5032385558E10, ~zero_atan2~0=0.0] [L285] COND TRUE ~someBinaryDOUBLEComparisonOperation(~res~0, ~someUnaryDOUBLEoperation(~pi_o_2~0)) VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=15032385546, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=15032385549, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=15032385538, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~res~0=1.5032385552E10, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=1.503238556E10, ~y~0=1.5032385558E10, ~zero_atan2~0=0.0] [L286] assert false; VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=15032385546, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=15032385549, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=15032385538, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~res~0=1.5032385552E10, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=1.503238556E10, ~y~0=1.5032385558E10, ~zero_atan2~0=0.0] [?] CALL call ULTIMATE.init(); VAL [#NULL!base=15032385566, #NULL!offset=15032385555, old(#NULL!base)=15032385566, old(#NULL!offset)=15032385555, old(~#aT_atan~0!base)=15032385545, old(~#aT_atan~0!offset)=15032385553, old(~#atanhi_atan~0!base)=15032385547, old(~#atanhi_atan~0!offset)=15032385561, old(~#atanlo_atan~0!base)=15032385540, old(~#atanlo_atan~0!offset)=15032385572, old(~huge_atan~0)=1.5032385568E10, old(~one_atan~0)=1.5032385554E10, old(~pi_lo_atan2~0)=1.5032385551E10, old(~pi_o_2~0)=1.5032385537E10, old(~pi_o_4~0)=1.5032385559E10, old(~pi~0)=1.5032385563E10, old(~tiny_atan2~0)=1.503238557E10, old(~zero_atan2~0)=1.5032385544E10, ~#aT_atan~0!base=15032385545, ~#aT_atan~0!offset=15032385553, ~#atanhi_atan~0!base=15032385547, ~#atanhi_atan~0!offset=15032385561, ~#atanlo_atan~0!base=15032385540, ~#atanlo_atan~0!offset=15032385572, ~huge_atan~0=1.5032385568E10, ~one_atan~0=1.5032385554E10, ~pi_lo_atan2~0=1.5032385551E10, ~pi_o_2~0=1.5032385537E10, ~pi_o_4~0=1.5032385559E10, ~pi~0=1.5032385563E10, ~tiny_atan2~0=1.503238557E10, ~zero_atan2~0=1.5032385544E10] [?] #NULL := { base: 0, offset: 0 }; [?] #valid[0] := 0; [L37-L42] FCALL call ~#atanhi_atan~0 := #Ultimate.alloc(32); [L37-L42] FCALL call write~init~real(0.4636476090008061, { base: ~#atanhi_atan~0!base, offset: ~#atanhi_atan~0!offset }, 8); [L37-L42] FCALL call write~init~real(0.7853981633974483, { base: ~#atanhi_atan~0!base, offset: 8 + ~#atanhi_atan~0!offset }, 8); [L37-L42] FCALL call write~init~real(0.982793723247329, { base: ~#atanhi_atan~0!base, offset: 16 + ~#atanhi_atan~0!offset }, 8); [L37-L42] FCALL call write~init~real(1.5707963267948966, { base: ~#atanhi_atan~0!base, offset: 24 + ~#atanhi_atan~0!offset }, 8); [L44-L49] FCALL call ~#atanlo_atan~0 := #Ultimate.alloc(32); [L44-L49] FCALL call write~init~real(2.2698777452961687E-17, { base: ~#atanlo_atan~0!base, offset: ~#atanlo_atan~0!offset }, 8); [L44-L49] FCALL call write~init~real(3.061616997868383E-17, { base: ~#atanlo_atan~0!base, offset: 8 + ~#atanlo_atan~0!offset }, 8); [L44-L49] FCALL call write~init~real(1.3903311031230998E-17, { base: ~#atanlo_atan~0!base, offset: 16 + ~#atanlo_atan~0!offset }, 8); [L44-L49] FCALL call write~init~real(6.123233995736766E-17, { base: ~#atanlo_atan~0!base, offset: 24 + ~#atanlo_atan~0!offset }, 8); [L51-L58] FCALL call ~#aT_atan~0 := #Ultimate.alloc(88); [L51-L58] FCALL call write~init~real(0.3333333333333293, { base: ~#aT_atan~0!base, offset: ~#aT_atan~0!offset }, 8); [L51-L58] FCALL call write~init~real(~someUnaryDOUBLEoperation(0.19999999999876483), { base: ~#aT_atan~0!base, offset: 8 + ~#aT_atan~0!offset }, 8); [L51-L58] FCALL call write~init~real(0.14285714272503466, { base: ~#aT_atan~0!base, offset: 16 + ~#aT_atan~0!offset }, 8); [L51-L58] FCALL call write~init~real(~someUnaryDOUBLEoperation(0.11111110405462356), { base: ~#aT_atan~0!base, offset: 24 + ~#aT_atan~0!offset }, 8); [L51-L58] FCALL call write~init~real(0.09090887133436507, { base: ~#aT_atan~0!base, offset: 32 + ~#aT_atan~0!offset }, 8); [L51-L58] FCALL call write~init~real(~someUnaryDOUBLEoperation(0.0769187620504483), { base: ~#aT_atan~0!base, offset: 40 + ~#aT_atan~0!offset }, 8); [L51-L58] FCALL call write~init~real(0.06661073137387531, { base: ~#aT_atan~0!base, offset: 48 + ~#aT_atan~0!offset }, 8); [L51-L58] FCALL call write~init~real(~someUnaryDOUBLEoperation(0.058335701337905735), { base: ~#aT_atan~0!base, offset: 56 + ~#aT_atan~0!offset }, 8); [L51-L58] FCALL call write~init~real(0.049768779946159324, { base: ~#aT_atan~0!base, offset: 64 + ~#aT_atan~0!offset }, 8); [L51-L58] FCALL call write~init~real(~someUnaryDOUBLEoperation(0.036531572744216916), { base: ~#aT_atan~0!base, offset: 72 + ~#aT_atan~0!offset }, 8); [L51-L58] FCALL call write~init~real(0.016285820115365782, { base: ~#aT_atan~0!base, offset: 80 + ~#aT_atan~0!offset }, 8); [L60-L62] ~one_atan~0 := 1.0; [L60-L62] ~pi_o_4~0 := 0.7853981633974483; [L60-L62] ~pi_o_2~0 := 1.5707963267948966; [L60-L62] ~pi~0 := 3.141592653589793; [L60-L62] ~huge_atan~0 := 1.0E300; [L139-L140] ~tiny_atan2~0 := 1.0E-300; [L139-L140] ~zero_atan2~0 := 0.0; [L139-L140] ~pi_lo_atan2~0 := 1.2246467991473532E-16; VAL [#NULL!base=0, #NULL!offset=0, old(#NULL!base)=15032385566, old(#NULL!offset)=15032385555, old(~#aT_atan~0!base)=15032385545, old(~#aT_atan~0!offset)=15032385553, old(~#atanhi_atan~0!base)=15032385547, old(~#atanhi_atan~0!offset)=15032385561, old(~#atanlo_atan~0!base)=15032385540, old(~#atanlo_atan~0!offset)=15032385572, old(~huge_atan~0)=1.5032385568E10, old(~one_atan~0)=1.5032385554E10, old(~pi_lo_atan2~0)=1.5032385551E10, old(~pi_o_2~0)=1.5032385537E10, old(~pi_o_4~0)=1.5032385559E10, old(~pi~0)=1.5032385563E10, old(~tiny_atan2~0)=1.503238557E10, old(~zero_atan2~0)=1.5032385544E10, ~#aT_atan~0!base=15032385546, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=15032385549, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=15032385538, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [?] RET call ULTIMATE.init(); VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=15032385546, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=15032385549, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=15032385538, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [?] CALL call #t~ret59 := main(); VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=15032385546, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=15032385549, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=15032385538, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [L276] ~x~0 := #t~nondet54; [L276] havoc #t~nondet54; [L277] ~y~0 := ~someBinaryArithmeticDOUBLEoperation(~someUnaryDOUBLEoperation(1.0), 0.0); VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=15032385546, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=15032385549, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=15032385538, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=1.503238556E10, ~zero_atan2~0=0.0] [L280] CALL call #t~ret55 := isfinite_double(~x~0); VAL [#in~x=1.503238556E10, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=15032385546, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=15032385549, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=15032385538, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [L259-L267] ~x := #in~x; [L260] havoc ~hx~3; VAL [#in~x=1.503238556E10, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=15032385546, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=15032385549, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=15032385538, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=1.503238556E10, ~zero_atan2~0=0.0] [L262] FCALL call ~#gh_u~3 := #Ultimate.alloc(8); [L263] FCALL call write~real(~x, { base: ~#gh_u~3!base, offset: ~#gh_u~3!offset }, 8); [L264] FCALL call #t~mem52 := read~int({ base: ~#gh_u~3!base, offset: 4 + ~#gh_u~3!offset }, 4); [L264] ~hx~3 := (if #t~mem52 % 4294967296 % 4294967296 <= 2147483647 then #t~mem52 % 4294967296 % 4294967296 else #t~mem52 % 4294967296 % 4294967296 - 4294967296); [L264] FCALL call write~real(#t~union53, { base: ~#gh_u~3!base, offset: ~#gh_u~3!offset }, 8); [L264] havoc #t~union53; [L264] havoc #t~mem52; [L262] FCALL call ULTIMATE.dealloc(~#gh_u~3); [L262] havoc ~#gh_u~3; VAL [#in~x=1.503238556E10, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=15032385546, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=15032385549, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=15032385538, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~hx~3=3, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=1.503238556E10, ~zero_atan2~0=0.0] [L266] #res := (if (~bitwiseAnd(~hx~3, 2147483647) - 2146435072) / 2147483648 % 4294967296 % 4294967296 <= 2147483647 then (~bitwiseAnd(~hx~3, 2147483647) - 2146435072) / 2147483648 % 4294967296 % 4294967296 else (~bitwiseAnd(~hx~3, 2147483647) - 2146435072) / 2147483648 % 4294967296 % 4294967296 - 4294967296); VAL [#in~x=1.503238556E10, #NULL!base=0, #NULL!offset=0, #res=-1, ~#aT_atan~0!base=15032385546, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=15032385549, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=15032385538, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~hx~3=3, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=1.503238556E10, ~zero_atan2~0=0.0] [L280] RET call #t~ret55 := isfinite_double(~x~0); VAL [#NULL!base=0, #NULL!offset=0, #t~ret55=-1, ~#aT_atan~0!base=15032385546, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=15032385549, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=15032385538, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=1.503238556E10, ~zero_atan2~0=0.0] [L280] assume -2147483648 <= #t~ret55 && #t~ret55 <= 2147483647; [L280] #t~short57 := 0 != #t~ret55; VAL [#NULL!base=0, #NULL!offset=0, #t~ret55=-1, #t~short57=true, ~#aT_atan~0!base=15032385546, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=15032385549, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=15032385538, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=1.503238556E10, ~zero_atan2~0=0.0] [L280] COND TRUE #t~short57 VAL [#NULL!base=0, #NULL!offset=0, #t~ret55=-1, #t~short57=true, ~#aT_atan~0!base=15032385546, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=15032385549, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=15032385538, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=1.503238556E10, ~zero_atan2~0=0.0] [L280] CALL call #t~ret56 := isinf_double(~y~0); VAL [#in~x=1.5032385558E10, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=15032385546, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=15032385549, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=15032385538, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [L245-L257] ~x := #in~x; [L246] havoc ~hx~2; [L246] havoc ~lx~1; VAL [#in~x=1.5032385558E10, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=15032385546, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=15032385549, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=15032385538, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=1.5032385558E10, ~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~mem50; [L251] havoc #t~union51; [L248] FCALL call ULTIMATE.dealloc(~#ew_u~2); [L248] havoc ~#ew_u~2; VAL [#in~x=1.5032385558E10, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=15032385546, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=15032385549, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=15032385538, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~hx~2=-2147483648, ~lx~1=-2147483648, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=1.5032385558E10, ~zero_atan2~0=0.0] [L253] ~hx~2 := ~bitwiseAnd(~hx~2, 2147483647); [L254] ~hx~2 := (if ~bitwiseOr(~hx~2, ~bitwiseOr(~lx~1, -~lx~1) / 2147483648) % 4294967296 % 4294967296 <= 2147483647 then ~bitwiseOr(~hx~2, ~bitwiseOr(~lx~1, -~lx~1) / 2147483648) % 4294967296 % 4294967296 else ~bitwiseOr(~hx~2, ~bitwiseOr(~lx~1, -~lx~1) / 2147483648) % 4294967296 % 4294967296 - 4294967296); [L255] ~hx~2 := 2146435072 - ~hx~2; [L256] #res := 1 - (if ~bitwiseOr(~hx~2, -~hx~2) / 2147483648 % 4294967296 % 4294967296 <= 2147483647 then ~bitwiseOr(~hx~2, -~hx~2) / 2147483648 % 4294967296 % 4294967296 else ~bitwiseOr(~hx~2, -~hx~2) / 2147483648 % 4294967296 % 4294967296 - 4294967296); VAL [#in~x=1.5032385558E10, #NULL!base=0, #NULL!offset=0, #res=2, ~#aT_atan~0!base=15032385546, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=15032385549, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=15032385538, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~hx~2=2146435072, ~lx~1=-2147483648, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=1.5032385558E10, ~zero_atan2~0=0.0] [L280] RET call #t~ret56 := isinf_double(~y~0); VAL [#NULL!base=0, #NULL!offset=0, #t~ret55=-1, #t~ret56=2, #t~short57=true, ~#aT_atan~0!base=15032385546, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=15032385549, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=15032385538, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=1.503238556E10, ~y~0=1.5032385558E10, ~zero_atan2~0=0.0] [L280] assume -2147483648 <= #t~ret56 && #t~ret56 <= 2147483647; [L280] #t~short57 := 0 != #t~ret56; VAL [#NULL!base=0, #NULL!offset=0, #t~ret55=-1, #t~ret56=2, #t~short57=true, ~#aT_atan~0!base=15032385546, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=15032385549, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=15032385538, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=1.503238556E10, ~y~0=1.5032385558E10, ~zero_atan2~0=0.0] [L280] COND TRUE #t~short57 [L280] havoc #t~ret55; [L280] havoc #t~ret56; [L280] havoc #t~short57; VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=15032385546, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=15032385549, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=15032385538, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=1.503238556E10, ~y~0=1.5032385558E10, ~zero_atan2~0=0.0] [L282] CALL call #t~ret58 := __ieee754_atan2(~y~0, ~x~0); VAL [#in~x=1.503238556E10, #in~y=1.5032385558E10, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=15032385546, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=15032385549, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=15032385538, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [L142-L242] ~y := #in~y; [L142-L242] ~x := #in~x; [L143] havoc ~z~1; [L144] havoc ~k~0; [L144] havoc ~m~0; [L144] havoc ~hx~1; [L144] havoc ~hy~0; [L144] havoc ~ix~1; [L144] havoc ~iy~0; [L145] havoc ~lx~0; [L145] havoc ~ly~0; VAL [#in~x=1.503238556E10, #in~y=1.5032385558E10, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=15032385546, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=15032385549, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=15032385538, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=1.503238556E10, ~y=1.5032385558E10, ~zero_atan2~0=0.0] [L148] FCALL call ~#ew_u~0 := #Ultimate.alloc(8); [L149] FCALL call write~real(~x, { base: ~#ew_u~0!base, offset: ~#ew_u~0!offset }, 8); [L150] FCALL call #t~mem27 := read~int({ base: ~#ew_u~0!base, offset: 4 + ~#ew_u~0!offset }, 4); [L150] ~hx~1 := (if #t~mem27 % 4294967296 % 4294967296 <= 2147483647 then #t~mem27 % 4294967296 % 4294967296 else #t~mem27 % 4294967296 % 4294967296 - 4294967296); [L150] FCALL call write~real(#t~union28, { base: ~#ew_u~0!base, offset: ~#ew_u~0!offset }, 8); [L150] havoc #t~mem27; [L150] havoc #t~union28; [L151] FCALL call #t~mem29 := read~int({ base: ~#ew_u~0!base, offset: ~#ew_u~0!offset }, 4); [L151] ~lx~0 := #t~mem29; [L151] FCALL call write~real(#t~union30, { base: ~#ew_u~0!base, offset: ~#ew_u~0!offset }, 8); [L151] havoc #t~mem29; [L151] havoc #t~union30; [L148] FCALL call ULTIMATE.dealloc(~#ew_u~0); [L148] havoc ~#ew_u~0; VAL [#in~x=1.503238556E10, #in~y=1.5032385558E10, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=15032385546, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=15032385549, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=15032385538, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~hx~1=-2147483648, ~lx~0=15032385575, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=1.503238556E10, ~y=1.5032385558E10, ~zero_atan2~0=0.0] [L153] ~ix~1 := ~bitwiseAnd(~hx~1, 2147483647); VAL [#in~x=1.503238556E10, #in~y=1.5032385558E10, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=15032385546, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=15032385549, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=15032385538, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~hx~1=-2147483648, ~lx~0=15032385575, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=1.503238556E10, ~y=1.5032385558E10, ~zero_atan2~0=0.0] [L155] FCALL call ~#ew_u~1 := #Ultimate.alloc(8); [L156] FCALL call write~real(~y, { base: ~#ew_u~1!base, offset: ~#ew_u~1!offset }, 8); [L157] FCALL call #t~mem31 := read~int({ base: ~#ew_u~1!base, offset: 4 + ~#ew_u~1!offset }, 4); [L157] ~hy~0 := (if #t~mem31 % 4294967296 % 4294967296 <= 2147483647 then #t~mem31 % 4294967296 % 4294967296 else #t~mem31 % 4294967296 % 4294967296 - 4294967296); [L157] FCALL call write~real(#t~union32, { base: ~#ew_u~1!base, offset: ~#ew_u~1!offset }, 8); [L157] havoc #t~union32; [L157] havoc #t~mem31; [L158] FCALL call #t~mem33 := read~int({ base: ~#ew_u~1!base, offset: ~#ew_u~1!offset }, 4); [L158] ~ly~0 := #t~mem33; [L158] FCALL call write~real(#t~union34, { base: ~#ew_u~1!base, offset: ~#ew_u~1!offset }, 8); [L158] havoc #t~mem33; [L158] havoc #t~union34; [L155] FCALL call ULTIMATE.dealloc(~#ew_u~1); [L155] havoc ~#ew_u~1; VAL [#in~x=1.503238556E10, #in~y=1.5032385558E10, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=15032385546, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=15032385549, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=15032385538, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~hx~1=-2147483648, ~hy~0=-2147483648, ~lx~0=15032385575, ~ly~0=15032385573, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=1.503238556E10, ~y=1.5032385558E10, ~zero_atan2~0=0.0] [L160] ~iy~0 := ~bitwiseAnd(~hy~0, 2147483647); VAL [#in~x=1.503238556E10, #in~y=1.5032385558E10, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=15032385546, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=15032385549, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=15032385538, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~hx~1=-2147483648, ~hy~0=-2147483648, ~lx~0=15032385575, ~ly~0=15032385573, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=1.503238556E10, ~y=1.5032385558E10, ~zero_atan2~0=0.0] [L161-L162] COND TRUE ~bitwiseOr(~ix~1, ~bitwiseOr(~lx~0, -~lx~0) / 2147483648) % 4294967296 > 2146435072 || ~bitwiseOr(~iy~0, ~bitwiseOr(~ly~0, -~ly~0) / 2147483648) % 4294967296 > 2146435072 [L163] #res := ~someBinaryArithmeticDOUBLEoperation(~x, ~y); VAL [#in~x=1.503238556E10, #in~y=1.5032385558E10, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=15032385546, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=15032385549, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=15032385538, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~hx~1=-2147483648, ~hy~0=-2147483648, ~lx~0=15032385575, ~ly~0=15032385573, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=1.503238556E10, ~y=1.5032385558E10, ~zero_atan2~0=0.0] [L282] RET call #t~ret58 := __ieee754_atan2(~y~0, ~x~0); VAL [#NULL!base=0, #NULL!offset=0, #t~ret58=1.5032385552E10, ~#aT_atan~0!base=15032385546, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=15032385549, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=15032385538, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=1.503238556E10, ~y~0=1.5032385558E10, ~zero_atan2~0=0.0] [L282] ~res~0 := #t~ret58; [L282] havoc #t~ret58; VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=15032385546, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=15032385549, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=15032385538, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~res~0=1.5032385552E10, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=1.503238556E10, ~y~0=1.5032385558E10, ~zero_atan2~0=0.0] [L285] COND TRUE ~someBinaryDOUBLEComparisonOperation(~res~0, ~someUnaryDOUBLEoperation(~pi_o_2~0)) VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=15032385546, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=15032385549, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=15032385538, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~res~0=1.5032385552E10, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=1.503238556E10, ~y~0=1.5032385558E10, ~zero_atan2~0=0.0] [L286] assert false; VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=15032385546, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=15032385549, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=15032385538, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~res~0=1.5032385552E10, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=1.503238556E10, ~y~0=1.5032385558E10, ~zero_atan2~0=0.0] ----- [2018-11-23 02:23:14,314 WARN L1272 BoogieBacktranslator]: Unfinished Backtranslation: IntegerLiteral 15032385572 could not be translated for associated CType ARRAY#_4_~DOUBLE# [2018-11-23 02:23:14,315 WARN L1272 BoogieBacktranslator]: Unfinished Backtranslation: IntegerLiteral 15032385553 could not be translated for associated CType ARRAY#_11_~DOUBLE# [2018-11-23 02:23:14,315 WARN L1272 BoogieBacktranslator]: Unfinished Backtranslation: IntegerLiteral 15032385540 could not be translated for associated CType ARRAY#_4_~DOUBLE# [2018-11-23 02:23:14,316 WARN L1272 BoogieBacktranslator]: Unfinished Backtranslation: IntegerLiteral 15032385561 could not be translated for associated CType ARRAY#_4_~DOUBLE# [2018-11-23 02:23:14,316 WARN L1272 BoogieBacktranslator]: Unfinished Backtranslation: IntegerLiteral 15032385545 could not be translated for associated CType ARRAY#_11_~DOUBLE# [2018-11-23 02:23:14,316 WARN L1272 BoogieBacktranslator]: Unfinished Backtranslation: IntegerLiteral 15032385547 could not be translated for associated CType ARRAY#_4_~DOUBLE# ----- class de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.CACSL2BoogieBacktranslator [?] CALL call ULTIMATE.init(); VAL [#NULL!base=15032385566, #NULL!offset=15032385555, old(#NULL!base)=15032385566, old(#NULL!offset)=15032385555, old(~#aT_atan~0!base)=15032385545, old(~#aT_atan~0!offset)=15032385553, old(~#atanhi_atan~0!base)=15032385547, old(~#atanhi_atan~0!offset)=15032385561, old(~#atanlo_atan~0!base)=15032385540, old(~#atanlo_atan~0!offset)=15032385572, old(~huge_atan~0)=1.5032385568E10, old(~one_atan~0)=1.5032385554E10, old(~pi_lo_atan2~0)=1.5032385551E10, old(~pi_o_2~0)=1.5032385537E10, old(~pi_o_4~0)=1.5032385559E10, old(~pi~0)=1.5032385563E10, old(~tiny_atan2~0)=1.503238557E10, old(~zero_atan2~0)=1.5032385544E10, ~#aT_atan~0!base=15032385545, ~#aT_atan~0!offset=15032385553, ~#atanhi_atan~0!base=15032385547, ~#atanhi_atan~0!offset=15032385561, ~#atanlo_atan~0!base=15032385540, ~#atanlo_atan~0!offset=15032385572, ~huge_atan~0=1.5032385568E10, ~one_atan~0=1.5032385554E10, ~pi_lo_atan2~0=1.5032385551E10, ~pi_o_2~0=1.5032385537E10, ~pi_o_4~0=1.5032385559E10, ~pi~0=1.5032385563E10, ~tiny_atan2~0=1.503238557E10, ~zero_atan2~0=1.5032385544E10] [?] #NULL := { base: 0, offset: 0 }; [?] #valid[0] := 0; [L37-L42] FCALL call ~#atanhi_atan~0 := #Ultimate.alloc(32); [L37-L42] FCALL call write~init~real(0.4636476090008061, { base: ~#atanhi_atan~0!base, offset: ~#atanhi_atan~0!offset }, 8); [L37-L42] FCALL call write~init~real(0.7853981633974483, { base: ~#atanhi_atan~0!base, offset: 8 + ~#atanhi_atan~0!offset }, 8); [L37-L42] FCALL call write~init~real(0.982793723247329, { base: ~#atanhi_atan~0!base, offset: 16 + ~#atanhi_atan~0!offset }, 8); [L37-L42] FCALL call write~init~real(1.5707963267948966, { base: ~#atanhi_atan~0!base, offset: 24 + ~#atanhi_atan~0!offset }, 8); [L44-L49] FCALL call ~#atanlo_atan~0 := #Ultimate.alloc(32); [L44-L49] FCALL call write~init~real(2.2698777452961687E-17, { base: ~#atanlo_atan~0!base, offset: ~#atanlo_atan~0!offset }, 8); [L44-L49] FCALL call write~init~real(3.061616997868383E-17, { base: ~#atanlo_atan~0!base, offset: 8 + ~#atanlo_atan~0!offset }, 8); [L44-L49] FCALL call write~init~real(1.3903311031230998E-17, { base: ~#atanlo_atan~0!base, offset: 16 + ~#atanlo_atan~0!offset }, 8); [L44-L49] FCALL call write~init~real(6.123233995736766E-17, { base: ~#atanlo_atan~0!base, offset: 24 + ~#atanlo_atan~0!offset }, 8); [L51-L58] FCALL call ~#aT_atan~0 := #Ultimate.alloc(88); [L51-L58] FCALL call write~init~real(0.3333333333333293, { base: ~#aT_atan~0!base, offset: ~#aT_atan~0!offset }, 8); [L51-L58] FCALL call write~init~real(~someUnaryDOUBLEoperation(0.19999999999876483), { base: ~#aT_atan~0!base, offset: 8 + ~#aT_atan~0!offset }, 8); [L51-L58] FCALL call write~init~real(0.14285714272503466, { base: ~#aT_atan~0!base, offset: 16 + ~#aT_atan~0!offset }, 8); [L51-L58] FCALL call write~init~real(~someUnaryDOUBLEoperation(0.11111110405462356), { base: ~#aT_atan~0!base, offset: 24 + ~#aT_atan~0!offset }, 8); [L51-L58] FCALL call write~init~real(0.09090887133436507, { base: ~#aT_atan~0!base, offset: 32 + ~#aT_atan~0!offset }, 8); [L51-L58] FCALL call write~init~real(~someUnaryDOUBLEoperation(0.0769187620504483), { base: ~#aT_atan~0!base, offset: 40 + ~#aT_atan~0!offset }, 8); [L51-L58] FCALL call write~init~real(0.06661073137387531, { base: ~#aT_atan~0!base, offset: 48 + ~#aT_atan~0!offset }, 8); [L51-L58] FCALL call write~init~real(~someUnaryDOUBLEoperation(0.058335701337905735), { base: ~#aT_atan~0!base, offset: 56 + ~#aT_atan~0!offset }, 8); [L51-L58] FCALL call write~init~real(0.049768779946159324, { base: ~#aT_atan~0!base, offset: 64 + ~#aT_atan~0!offset }, 8); [L51-L58] FCALL call write~init~real(~someUnaryDOUBLEoperation(0.036531572744216916), { base: ~#aT_atan~0!base, offset: 72 + ~#aT_atan~0!offset }, 8); [L51-L58] FCALL call write~init~real(0.016285820115365782, { base: ~#aT_atan~0!base, offset: 80 + ~#aT_atan~0!offset }, 8); [L60-L62] ~one_atan~0 := 1.0; [L60-L62] ~pi_o_4~0 := 0.7853981633974483; [L60-L62] ~pi_o_2~0 := 1.5707963267948966; [L60-L62] ~pi~0 := 3.141592653589793; [L60-L62] ~huge_atan~0 := 1.0E300; [L139-L140] ~tiny_atan2~0 := 1.0E-300; [L139-L140] ~zero_atan2~0 := 0.0; [L139-L140] ~pi_lo_atan2~0 := 1.2246467991473532E-16; VAL [#NULL!base=0, #NULL!offset=0, old(#NULL!base)=15032385566, old(#NULL!offset)=15032385555, old(~#aT_atan~0!base)=15032385545, old(~#aT_atan~0!offset)=15032385553, old(~#atanhi_atan~0!base)=15032385547, old(~#atanhi_atan~0!offset)=15032385561, old(~#atanlo_atan~0!base)=15032385540, old(~#atanlo_atan~0!offset)=15032385572, old(~huge_atan~0)=1.5032385568E10, old(~one_atan~0)=1.5032385554E10, old(~pi_lo_atan2~0)=1.5032385551E10, old(~pi_o_2~0)=1.5032385537E10, old(~pi_o_4~0)=1.5032385559E10, old(~pi~0)=1.5032385563E10, old(~tiny_atan2~0)=1.503238557E10, old(~zero_atan2~0)=1.5032385544E10, ~#aT_atan~0!base=15032385546, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=15032385549, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=15032385538, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [?] RET call ULTIMATE.init(); VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=15032385546, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=15032385549, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=15032385538, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [?] CALL call #t~ret59 := main(); VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=15032385546, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=15032385549, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=15032385538, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [L276] ~x~0 := #t~nondet54; [L276] havoc #t~nondet54; [L277] ~y~0 := ~someBinaryArithmeticDOUBLEoperation(~someUnaryDOUBLEoperation(1.0), 0.0); VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=15032385546, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=15032385549, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=15032385538, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=1.503238556E10, ~zero_atan2~0=0.0] [L280] CALL call #t~ret55 := isfinite_double(~x~0); VAL [#in~x=1.503238556E10, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=15032385546, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=15032385549, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=15032385538, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [L259-L267] ~x := #in~x; [L260] havoc ~hx~3; VAL [#in~x=1.503238556E10, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=15032385546, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=15032385549, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=15032385538, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=1.503238556E10, ~zero_atan2~0=0.0] [L262] FCALL call ~#gh_u~3 := #Ultimate.alloc(8); [L263] FCALL call write~real(~x, { base: ~#gh_u~3!base, offset: ~#gh_u~3!offset }, 8); [L264] FCALL call #t~mem52 := read~int({ base: ~#gh_u~3!base, offset: 4 + ~#gh_u~3!offset }, 4); [L264] ~hx~3 := (if #t~mem52 % 4294967296 % 4294967296 <= 2147483647 then #t~mem52 % 4294967296 % 4294967296 else #t~mem52 % 4294967296 % 4294967296 - 4294967296); [L264] FCALL call write~real(#t~union53, { base: ~#gh_u~3!base, offset: ~#gh_u~3!offset }, 8); [L264] havoc #t~union53; [L264] havoc #t~mem52; [L262] FCALL call ULTIMATE.dealloc(~#gh_u~3); [L262] havoc ~#gh_u~3; VAL [#in~x=1.503238556E10, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=15032385546, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=15032385549, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=15032385538, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~hx~3=3, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=1.503238556E10, ~zero_atan2~0=0.0] [L266] #res := (if (~bitwiseAnd(~hx~3, 2147483647) - 2146435072) / 2147483648 % 4294967296 % 4294967296 <= 2147483647 then (~bitwiseAnd(~hx~3, 2147483647) - 2146435072) / 2147483648 % 4294967296 % 4294967296 else (~bitwiseAnd(~hx~3, 2147483647) - 2146435072) / 2147483648 % 4294967296 % 4294967296 - 4294967296); VAL [#in~x=1.503238556E10, #NULL!base=0, #NULL!offset=0, #res=-1, ~#aT_atan~0!base=15032385546, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=15032385549, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=15032385538, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~hx~3=3, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=1.503238556E10, ~zero_atan2~0=0.0] [L280] RET call #t~ret55 := isfinite_double(~x~0); VAL [#NULL!base=0, #NULL!offset=0, #t~ret55=-1, ~#aT_atan~0!base=15032385546, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=15032385549, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=15032385538, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=1.503238556E10, ~zero_atan2~0=0.0] [L280] assume -2147483648 <= #t~ret55 && #t~ret55 <= 2147483647; [L280] #t~short57 := 0 != #t~ret55; VAL [#NULL!base=0, #NULL!offset=0, #t~ret55=-1, #t~short57=true, ~#aT_atan~0!base=15032385546, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=15032385549, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=15032385538, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=1.503238556E10, ~zero_atan2~0=0.0] [L280] COND TRUE #t~short57 VAL [#NULL!base=0, #NULL!offset=0, #t~ret55=-1, #t~short57=true, ~#aT_atan~0!base=15032385546, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=15032385549, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=15032385538, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=1.503238556E10, ~zero_atan2~0=0.0] [L280] CALL call #t~ret56 := isinf_double(~y~0); VAL [#in~x=1.5032385558E10, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=15032385546, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=15032385549, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=15032385538, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [L245-L257] ~x := #in~x; [L246] havoc ~hx~2; [L246] havoc ~lx~1; VAL [#in~x=1.5032385558E10, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=15032385546, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=15032385549, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=15032385538, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=1.5032385558E10, ~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~mem50; [L251] havoc #t~union51; [L248] FCALL call ULTIMATE.dealloc(~#ew_u~2); [L248] havoc ~#ew_u~2; VAL [#in~x=1.5032385558E10, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=15032385546, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=15032385549, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=15032385538, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~hx~2=-2147483648, ~lx~1=-2147483648, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=1.5032385558E10, ~zero_atan2~0=0.0] [L253] ~hx~2 := ~bitwiseAnd(~hx~2, 2147483647); [L254] ~hx~2 := (if ~bitwiseOr(~hx~2, ~bitwiseOr(~lx~1, -~lx~1) / 2147483648) % 4294967296 % 4294967296 <= 2147483647 then ~bitwiseOr(~hx~2, ~bitwiseOr(~lx~1, -~lx~1) / 2147483648) % 4294967296 % 4294967296 else ~bitwiseOr(~hx~2, ~bitwiseOr(~lx~1, -~lx~1) / 2147483648) % 4294967296 % 4294967296 - 4294967296); [L255] ~hx~2 := 2146435072 - ~hx~2; [L256] #res := 1 - (if ~bitwiseOr(~hx~2, -~hx~2) / 2147483648 % 4294967296 % 4294967296 <= 2147483647 then ~bitwiseOr(~hx~2, -~hx~2) / 2147483648 % 4294967296 % 4294967296 else ~bitwiseOr(~hx~2, -~hx~2) / 2147483648 % 4294967296 % 4294967296 - 4294967296); VAL [#in~x=1.5032385558E10, #NULL!base=0, #NULL!offset=0, #res=2, ~#aT_atan~0!base=15032385546, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=15032385549, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=15032385538, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~hx~2=2146435072, ~lx~1=-2147483648, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=1.5032385558E10, ~zero_atan2~0=0.0] [L280] RET call #t~ret56 := isinf_double(~y~0); VAL [#NULL!base=0, #NULL!offset=0, #t~ret55=-1, #t~ret56=2, #t~short57=true, ~#aT_atan~0!base=15032385546, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=15032385549, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=15032385538, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=1.503238556E10, ~y~0=1.5032385558E10, ~zero_atan2~0=0.0] [L280] assume -2147483648 <= #t~ret56 && #t~ret56 <= 2147483647; [L280] #t~short57 := 0 != #t~ret56; VAL [#NULL!base=0, #NULL!offset=0, #t~ret55=-1, #t~ret56=2, #t~short57=true, ~#aT_atan~0!base=15032385546, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=15032385549, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=15032385538, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=1.503238556E10, ~y~0=1.5032385558E10, ~zero_atan2~0=0.0] [L280] COND TRUE #t~short57 [L280] havoc #t~ret55; [L280] havoc #t~ret56; [L280] havoc #t~short57; VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=15032385546, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=15032385549, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=15032385538, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=1.503238556E10, ~y~0=1.5032385558E10, ~zero_atan2~0=0.0] [L282] CALL call #t~ret58 := __ieee754_atan2(~y~0, ~x~0); VAL [#in~x=1.503238556E10, #in~y=1.5032385558E10, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=15032385546, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=15032385549, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=15032385538, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [L142-L242] ~y := #in~y; [L142-L242] ~x := #in~x; [L143] havoc ~z~1; [L144] havoc ~k~0; [L144] havoc ~m~0; [L144] havoc ~hx~1; [L144] havoc ~hy~0; [L144] havoc ~ix~1; [L144] havoc ~iy~0; [L145] havoc ~lx~0; [L145] havoc ~ly~0; VAL [#in~x=1.503238556E10, #in~y=1.5032385558E10, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=15032385546, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=15032385549, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=15032385538, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=1.503238556E10, ~y=1.5032385558E10, ~zero_atan2~0=0.0] [L148] FCALL call ~#ew_u~0 := #Ultimate.alloc(8); [L149] FCALL call write~real(~x, { base: ~#ew_u~0!base, offset: ~#ew_u~0!offset }, 8); [L150] FCALL call #t~mem27 := read~int({ base: ~#ew_u~0!base, offset: 4 + ~#ew_u~0!offset }, 4); [L150] ~hx~1 := (if #t~mem27 % 4294967296 % 4294967296 <= 2147483647 then #t~mem27 % 4294967296 % 4294967296 else #t~mem27 % 4294967296 % 4294967296 - 4294967296); [L150] FCALL call write~real(#t~union28, { base: ~#ew_u~0!base, offset: ~#ew_u~0!offset }, 8); [L150] havoc #t~mem27; [L150] havoc #t~union28; [L151] FCALL call #t~mem29 := read~int({ base: ~#ew_u~0!base, offset: ~#ew_u~0!offset }, 4); [L151] ~lx~0 := #t~mem29; [L151] FCALL call write~real(#t~union30, { base: ~#ew_u~0!base, offset: ~#ew_u~0!offset }, 8); [L151] havoc #t~mem29; [L151] havoc #t~union30; [L148] FCALL call ULTIMATE.dealloc(~#ew_u~0); [L148] havoc ~#ew_u~0; VAL [#in~x=1.503238556E10, #in~y=1.5032385558E10, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=15032385546, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=15032385549, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=15032385538, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~hx~1=-2147483648, ~lx~0=15032385575, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=1.503238556E10, ~y=1.5032385558E10, ~zero_atan2~0=0.0] [L153] ~ix~1 := ~bitwiseAnd(~hx~1, 2147483647); VAL [#in~x=1.503238556E10, #in~y=1.5032385558E10, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=15032385546, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=15032385549, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=15032385538, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~hx~1=-2147483648, ~lx~0=15032385575, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=1.503238556E10, ~y=1.5032385558E10, ~zero_atan2~0=0.0] [L155] FCALL call ~#ew_u~1 := #Ultimate.alloc(8); [L156] FCALL call write~real(~y, { base: ~#ew_u~1!base, offset: ~#ew_u~1!offset }, 8); [L157] FCALL call #t~mem31 := read~int({ base: ~#ew_u~1!base, offset: 4 + ~#ew_u~1!offset }, 4); [L157] ~hy~0 := (if #t~mem31 % 4294967296 % 4294967296 <= 2147483647 then #t~mem31 % 4294967296 % 4294967296 else #t~mem31 % 4294967296 % 4294967296 - 4294967296); [L157] FCALL call write~real(#t~union32, { base: ~#ew_u~1!base, offset: ~#ew_u~1!offset }, 8); [L157] havoc #t~union32; [L157] havoc #t~mem31; [L158] FCALL call #t~mem33 := read~int({ base: ~#ew_u~1!base, offset: ~#ew_u~1!offset }, 4); [L158] ~ly~0 := #t~mem33; [L158] FCALL call write~real(#t~union34, { base: ~#ew_u~1!base, offset: ~#ew_u~1!offset }, 8); [L158] havoc #t~mem33; [L158] havoc #t~union34; [L155] FCALL call ULTIMATE.dealloc(~#ew_u~1); [L155] havoc ~#ew_u~1; VAL [#in~x=1.503238556E10, #in~y=1.5032385558E10, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=15032385546, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=15032385549, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=15032385538, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~hx~1=-2147483648, ~hy~0=-2147483648, ~lx~0=15032385575, ~ly~0=15032385573, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=1.503238556E10, ~y=1.5032385558E10, ~zero_atan2~0=0.0] [L160] ~iy~0 := ~bitwiseAnd(~hy~0, 2147483647); VAL [#in~x=1.503238556E10, #in~y=1.5032385558E10, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=15032385546, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=15032385549, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=15032385538, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~hx~1=-2147483648, ~hy~0=-2147483648, ~lx~0=15032385575, ~ly~0=15032385573, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=1.503238556E10, ~y=1.5032385558E10, ~zero_atan2~0=0.0] [L161-L162] COND TRUE ~bitwiseOr(~ix~1, ~bitwiseOr(~lx~0, -~lx~0) / 2147483648) % 4294967296 > 2146435072 || ~bitwiseOr(~iy~0, ~bitwiseOr(~ly~0, -~ly~0) / 2147483648) % 4294967296 > 2146435072 [L163] #res := ~someBinaryArithmeticDOUBLEoperation(~x, ~y); VAL [#in~x=1.503238556E10, #in~y=1.5032385558E10, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=15032385546, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=15032385549, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=15032385538, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~hx~1=-2147483648, ~hy~0=-2147483648, ~lx~0=15032385575, ~ly~0=15032385573, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=1.503238556E10, ~y=1.5032385558E10, ~zero_atan2~0=0.0] [L282] RET call #t~ret58 := __ieee754_atan2(~y~0, ~x~0); VAL [#NULL!base=0, #NULL!offset=0, #t~ret58=1.5032385552E10, ~#aT_atan~0!base=15032385546, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=15032385549, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=15032385538, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=1.503238556E10, ~y~0=1.5032385558E10, ~zero_atan2~0=0.0] [L282] ~res~0 := #t~ret58; [L282] havoc #t~ret58; VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=15032385546, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=15032385549, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=15032385538, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~res~0=1.5032385552E10, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=1.503238556E10, ~y~0=1.5032385558E10, ~zero_atan2~0=0.0] [L285] COND TRUE ~someBinaryDOUBLEComparisonOperation(~res~0, ~someUnaryDOUBLEoperation(~pi_o_2~0)) VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=15032385546, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=15032385549, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=15032385538, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~res~0=1.5032385552E10, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=1.503238556E10, ~y~0=1.5032385558E10, ~zero_atan2~0=0.0] [L286] assert false; VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=15032385546, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=15032385549, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=15032385538, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~res~0=1.5032385552E10, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=1.503238556E10, ~y~0=1.5032385558E10, ~zero_atan2~0=0.0] [L37-L42] static const double atanhi_atan[] = { 4.63647609000806093515e-01, 7.85398163397448278999e-01, 9.82793723247329054082e-01, 1.57079632679489655800e+00, }; [L44-L49] static const double atanlo_atan[] = { 2.26987774529616870924e-17, 3.06161699786838301793e-17, 1.39033110312309984516e-17, 6.12323399573676603587e-17, }; [L51-L58] static const double aT_atan[] = { 3.33333333333329318027e-01, -1.99999999998764832476e-01, 1.42857142725034663711e-01, -1.11111104054623557880e-01, 9.09088713343650656196e-02, -7.69187620504482999495e-02, 6.66107313738753120669e-02, -5.83357013379057348645e-02, 4.97687799461593236017e-02, -3.65315727442169155270e-02, 1.62858201153657823623e-02, }; [L60-L62] static const double one_atan = 1.0, pi_o_4 = 7.8539816339744827900E-01, pi_o_2 = 1.5707963267948965580E+00, pi = 3.1415926535897931160E+00, huge_atan = 1.0e300; [L139-L140] static const double tiny_atan2 = 1.0e-300, zero_atan2 = 0.0, pi_lo_atan2 = 1.2246467991473531772E-16; VAL [\old(aT_atan)=null, \old(aT_atan)=null, \old(atanhi_atan)=null, \old(atanhi_atan)=null, \old(atanlo_atan)=null, \old(atanlo_atan)=null, \old(huge_atan)=15032385568, \old(one_atan)=15032385554, \old(pi)=15032385563, \old(pi_lo_atan2)=15032385551, \old(pi_o_2)=15032385537, \old(pi_o_4)=15032385559, \old(tiny_atan2)=15032385570, \old(zero_atan2)=15032385544, aT_atan={15032385546:0}, atanhi_atan={15032385549:0}, atanlo_atan={15032385538: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] [L276] double x = __VERIFIER_nondet_double(); [L277] double y = -1.0 / 0.0; VAL [aT_atan={15032385546:0}, atanhi_atan={15032385549:0}, atanlo_atan={15032385538:0}, huge_atan=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, one_atan=1, pi=785398163397448279/250000000000000000, pi_lo_atan2=3061616997868382943/25000000000000000000000000000000000, pi_o_2=785398163397448279/500000000000000000, pi_o_4=785398163397448279/1000000000000000000, tiny_atan2=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, x=15032385560, zero_atan2=0] [L280] CALL, EXPR isfinite_double(x) VAL [\old(x)=15032385560, aT_atan={15032385546:0}, atanhi_atan={15032385549:0}, atanlo_atan={15032385538:0}, huge_atan=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, one_atan=1, pi=785398163397448279/250000000000000000, pi_lo_atan2=3061616997868382943/25000000000000000000000000000000000, pi_o_2=785398163397448279/500000000000000000, pi_o_4=785398163397448279/1000000000000000000, tiny_atan2=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, zero_atan2=0] [L260] __int32_t hx; VAL [\old(x)=15032385560, aT_atan={15032385546:0}, atanhi_atan={15032385549:0}, atanlo_atan={15032385538:0}, huge_atan=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, one_atan=1, pi=785398163397448279/250000000000000000, pi_lo_atan2=3061616997868382943/25000000000000000000000000000000000, pi_o_2=785398163397448279/500000000000000000, pi_o_4=785398163397448279/1000000000000000000, tiny_atan2=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, x=15032385560, zero_atan2=0] [L262] ieee_double_shape_type gh_u; [L263] gh_u.value = (x) [L264] EXPR gh_u.parts.msw [L264] (hx) = gh_u.parts.msw [L266] return (int)((__uint32_t)((hx & 0x7fffffff) - 0x7ff00000) >> 31); VAL [\old(x)=15032385560, \result=-1, aT_atan={15032385546:0}, atanhi_atan={15032385549:0}, atanlo_atan={15032385538:0}, huge_atan=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, hx=3, one_atan=1, pi=785398163397448279/250000000000000000, pi_lo_atan2=3061616997868382943/25000000000000000000000000000000000, pi_o_2=785398163397448279/500000000000000000, pi_o_4=785398163397448279/1000000000000000000, tiny_atan2=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, x=15032385560, zero_atan2=0] [L280] RET, EXPR isfinite_double(x) VAL [aT_atan={15032385546:0}, atanhi_atan={15032385549:0}, atanlo_atan={15032385538:0}, huge_atan=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, isfinite_double(x)=-1, one_atan=1, pi=785398163397448279/250000000000000000, pi_lo_atan2=3061616997868382943/25000000000000000000000000000000000, pi_o_2=785398163397448279/500000000000000000, pi_o_4=785398163397448279/1000000000000000000, tiny_atan2=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, x=15032385560, zero_atan2=0] [L280] isfinite_double(x) && isinf_double(y) VAL [aT_atan={15032385546:0}, atanhi_atan={15032385549:0}, atanlo_atan={15032385538:0}, huge_atan=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, isfinite_double(x)=-1, isfinite_double(x) && isinf_double(y)=1, one_atan=1, pi=785398163397448279/250000000000000000, pi_lo_atan2=3061616997868382943/25000000000000000000000000000000000, pi_o_2=785398163397448279/500000000000000000, pi_o_4=785398163397448279/1000000000000000000, tiny_atan2=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, x=15032385560, zero_atan2=0] [L280] CALL, EXPR isinf_double(y) VAL [\old(x)=15032385558, aT_atan={15032385546:0}, atanhi_atan={15032385549:0}, atanlo_atan={15032385538:0}, huge_atan=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, one_atan=1, pi=785398163397448279/250000000000000000, pi_lo_atan2=3061616997868382943/25000000000000000000000000000000000, pi_o_2=785398163397448279/500000000000000000, pi_o_4=785398163397448279/1000000000000000000, tiny_atan2=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, zero_atan2=0] [L246] __int32_t hx, lx; VAL [\old(x)=15032385558, aT_atan={15032385546:0}, atanhi_atan={15032385549:0}, atanlo_atan={15032385538:0}, huge_atan=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, one_atan=1, pi=785398163397448279/250000000000000000, pi_lo_atan2=3061616997868382943/25000000000000000000000000000000000, pi_o_2=785398163397448279/500000000000000000, pi_o_4=785398163397448279/1000000000000000000, tiny_atan2=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, x=15032385558, zero_atan2=0] [L248] ieee_double_shape_type ew_u; [L249] ew_u.value = (x) [L250] EXPR ew_u.parts.msw [L250] (hx) = ew_u.parts.msw [L251] EXPR ew_u.parts.lsw [L251] (lx) = ew_u.parts.lsw [L253] hx &= 0x7fffffff [L254] hx |= (__uint32_t)(lx | (-lx)) >> 31 [L255] hx = 0x7ff00000 - hx [L256] return 1 - (int)((__uint32_t)(hx | (-hx)) >> 31); VAL [\old(x)=15032385558, \result=2, aT_atan={15032385546:0}, atanhi_atan={15032385549:0}, atanlo_atan={15032385538:0}, huge_atan=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, hx=2146435072, lx=-2147483648, one_atan=1, pi=785398163397448279/250000000000000000, pi_lo_atan2=3061616997868382943/25000000000000000000000000000000000, pi_o_2=785398163397448279/500000000000000000, pi_o_4=785398163397448279/1000000000000000000, tiny_atan2=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, x=15032385558, zero_atan2=0] [L280] RET, EXPR isinf_double(y) VAL [aT_atan={15032385546:0}, atanhi_atan={15032385549:0}, atanlo_atan={15032385538:0}, huge_atan=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, isfinite_double(x)=-1, isfinite_double(x) && isinf_double(y)=1, isinf_double(y)=2, one_atan=1, pi=785398163397448279/250000000000000000, pi_lo_atan2=3061616997868382943/25000000000000000000000000000000000, pi_o_2=785398163397448279/500000000000000000, pi_o_4=785398163397448279/1000000000000000000, tiny_atan2=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, x=15032385560, y=15032385558, zero_atan2=0] [L280] isfinite_double(x) && isinf_double(y) VAL [aT_atan={15032385546:0}, atanhi_atan={15032385549:0}, atanlo_atan={15032385538:0}, huge_atan=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, isfinite_double(x)=-1, isfinite_double(x) && isinf_double(y)=1, isinf_double(y)=2, one_atan=1, pi=785398163397448279/250000000000000000, pi_lo_atan2=3061616997868382943/25000000000000000000000000000000000, pi_o_2=785398163397448279/500000000000000000, pi_o_4=785398163397448279/1000000000000000000, tiny_atan2=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, x=15032385560, y=15032385558, zero_atan2=0] [L280] COND TRUE isfinite_double(x) && isinf_double(y) [L282] CALL, EXPR __ieee754_atan2(y, x) VAL [\old(x)=15032385560, \old(y)=15032385558, aT_atan={15032385546:0}, atanhi_atan={15032385549:0}, atanlo_atan={15032385538:0}, huge_atan=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, one_atan=1, pi=785398163397448279/250000000000000000, pi_lo_atan2=3061616997868382943/25000000000000000000000000000000000, pi_o_2=785398163397448279/500000000000000000, pi_o_4=785398163397448279/1000000000000000000, tiny_atan2=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, zero_atan2=0] [L143] double z; [L144] __int32_t k, m, hx, hy, ix, iy; [L145] __uint32_t lx, ly; VAL [\old(x)=15032385560, \old(y)=15032385558, aT_atan={15032385546:0}, atanhi_atan={15032385549:0}, atanlo_atan={15032385538:0}, huge_atan=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, one_atan=1, pi=785398163397448279/250000000000000000, pi_lo_atan2=3061616997868382943/25000000000000000000000000000000000, pi_o_2=785398163397448279/500000000000000000, pi_o_4=785398163397448279/1000000000000000000, tiny_atan2=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, x=15032385560, y=15032385558, zero_atan2=0] [L148] ieee_double_shape_type ew_u; [L149] ew_u.value = (x) [L150] EXPR ew_u.parts.msw [L150] (hx) = ew_u.parts.msw [L151] EXPR ew_u.parts.lsw [L151] (lx) = ew_u.parts.lsw [L153] ix = hx & 0x7fffffff VAL [\old(x)=15032385560, \old(y)=15032385558, aT_atan={15032385546:0}, atanhi_atan={15032385549:0}, atanlo_atan={15032385538:0}, huge_atan=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, hx=-2147483648, lx=15032385575, one_atan=1, pi=785398163397448279/250000000000000000, pi_lo_atan2=3061616997868382943/25000000000000000000000000000000000, pi_o_2=785398163397448279/500000000000000000, pi_o_4=785398163397448279/1000000000000000000, tiny_atan2=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, x=15032385560, y=15032385558, zero_atan2=0] [L155] ieee_double_shape_type ew_u; [L156] ew_u.value = (y) [L157] EXPR ew_u.parts.msw [L157] (hy) = ew_u.parts.msw [L158] EXPR ew_u.parts.lsw [L158] (ly) = ew_u.parts.lsw [L160] iy = hy & 0x7fffffff VAL [\old(x)=15032385560, \old(y)=15032385558, aT_atan={15032385546:0}, atanhi_atan={15032385549:0}, atanlo_atan={15032385538:0}, huge_atan=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, hx=-2147483648, hy=-2147483648, lx=15032385575, ly=15032385573, one_atan=1, pi=785398163397448279/250000000000000000, pi_lo_atan2=3061616997868382943/25000000000000000000000000000000000, pi_o_2=785398163397448279/500000000000000000, pi_o_4=785398163397448279/1000000000000000000, tiny_atan2=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, x=15032385560, y=15032385558, zero_atan2=0] [L161-L162] COND TRUE ((ix | ((lx | -lx) >> 31)) > 0x7ff00000) || ((iy | ((ly | -ly) >> 31)) > 0x7ff00000) [L163] return x + y; VAL [\old(x)=15032385560, \old(y)=15032385558, aT_atan={15032385546:0}, atanhi_atan={15032385549:0}, atanlo_atan={15032385538:0}, huge_atan=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, hx=-2147483648, hy=-2147483648, lx=15032385575, ly=15032385573, one_atan=1, pi=785398163397448279/250000000000000000, pi_lo_atan2=3061616997868382943/25000000000000000000000000000000000, pi_o_2=785398163397448279/500000000000000000, pi_o_4=785398163397448279/1000000000000000000, tiny_atan2=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, x=15032385560, y=15032385558, zero_atan2=0] [L282] RET, EXPR __ieee754_atan2(y, x) VAL [__ieee754_atan2(y, x)=15032385552, aT_atan={15032385546:0}, atanhi_atan={15032385549:0}, atanlo_atan={15032385538:0}, huge_atan=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, one_atan=1, pi=785398163397448279/250000000000000000, pi_lo_atan2=3061616997868382943/25000000000000000000000000000000000, pi_o_2=785398163397448279/500000000000000000, pi_o_4=785398163397448279/1000000000000000000, tiny_atan2=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, x=15032385560, y=15032385558, zero_atan2=0] [L282] double res = __ieee754_atan2(y, x); [L285] COND TRUE res != -pi_o_2 VAL [aT_atan={15032385546:0}, atanhi_atan={15032385549:0}, atanlo_atan={15032385538:0}, huge_atan=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, one_atan=1, pi=785398163397448279/250000000000000000, pi_lo_atan2=3061616997868382943/25000000000000000000000000000000000, pi_o_2=785398163397448279/500000000000000000, pi_o_4=785398163397448279/1000000000000000000, res=15032385552, tiny_atan2=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, x=15032385560, y=15032385558, zero_atan2=0] [L286] __VERIFIER_error() VAL [aT_atan={15032385546:0}, atanhi_atan={15032385549:0}, atanlo_atan={15032385538:0}, huge_atan=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, one_atan=1, pi=785398163397448279/250000000000000000, pi_lo_atan2=3061616997868382943/25000000000000000000000000000000000, pi_o_2=785398163397448279/500000000000000000, pi_o_4=785398163397448279/1000000000000000000, res=15032385552, tiny_atan2=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, x=15032385560, y=15032385558, zero_atan2=0] ----- [2018-11-23 02:23:14,436 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction CFG 23.11 02:23:14 BoogieIcfgContainer [2018-11-23 02:23:14,436 INFO L132 PluginConnector]: ------------------------ END TraceAbstraction---------------------------- [2018-11-23 02:23:14,436 INFO L113 PluginConnector]: ------------------------Witness Printer---------------------------- [2018-11-23 02:23:14,437 INFO L271 PluginConnector]: Initializing Witness Printer... [2018-11-23 02:23:14,437 INFO L276 PluginConnector]: Witness Printer initialized [2018-11-23 02:23:14,437 INFO L185 PluginConnector]: Executing the observer RCFGCatcher from plugin Witness Printer for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 23.11 02:23:13" (3/4) ... [2018-11-23 02:23:14,440 INFO L147 WitnessPrinter]: No result that supports witness generation found [2018-11-23 02:23:14,440 INFO L132 PluginConnector]: ------------------------ END Witness Printer---------------------------- [2018-11-23 02:23:14,441 INFO L168 Benchmark]: Toolchain (without parser) took 1768.88 ms. Allocated memory was 1.0 GB in the beginning and 1.2 GB in the end (delta: 173.0 MB). Free memory was 953.8 MB in the beginning and 1.0 GB in the end (delta: -78.7 MB). Peak memory consumption was 94.3 MB. Max. memory is 11.5 GB. [2018-11-23 02:23:14,442 INFO L168 Benchmark]: CDTParser took 0.13 ms. Allocated memory is still 1.0 GB. Free memory is still 980.1 MB. There was no memory consumed. Max. memory is 11.5 GB. [2018-11-23 02:23:14,442 INFO L168 Benchmark]: CACSL2BoogieTranslator took 299.04 ms. Allocated memory was 1.0 GB in the beginning and 1.2 GB in the end (delta: 173.0 MB). Free memory was 953.8 MB in the beginning and 1.2 GB in the end (delta: -216.7 MB). Peak memory consumption was 35.0 MB. Max. memory is 11.5 GB. [2018-11-23 02:23:14,443 INFO L168 Benchmark]: Boogie Procedure Inliner took 22.88 ms. Allocated memory is still 1.2 GB. Free memory was 1.2 GB in the beginning and 1.2 GB in the end (delta: 3.3 MB). Peak memory consumption was 3.3 MB. Max. memory is 11.5 GB. [2018-11-23 02:23:14,443 INFO L168 Benchmark]: Boogie Preprocessor took 34.57 ms. Allocated memory is still 1.2 GB. Free memory was 1.2 GB in the beginning and 1.2 GB in the end (delta: 3.3 MB). Peak memory consumption was 3.3 MB. Max. memory is 11.5 GB. [2018-11-23 02:23:14,444 INFO L168 Benchmark]: RCFGBuilder took 475.75 ms. Allocated memory is still 1.2 GB. Free memory was 1.2 GB in the beginning and 1.1 GB in the end (delta: 48.8 MB). Peak memory consumption was 48.8 MB. Max. memory is 11.5 GB. [2018-11-23 02:23:14,444 INFO L168 Benchmark]: TraceAbstraction took 930.19 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: 79.2 MB). Peak memory consumption was 79.2 MB. Max. memory is 11.5 GB. [2018-11-23 02:23:14,445 INFO L168 Benchmark]: Witness Printer took 3.60 ms. Allocated memory is still 1.2 GB. Free memory is still 1.0 GB. There was no memory consumed. Max. memory is 11.5 GB. [2018-11-23 02:23:14,446 INFO L336 ainManager$Toolchain]: ####################### End [Toolchain 1] ####################### --- Results --- * Results from de.uni_freiburg.informatik.ultimate.core: - StatisticsResult: Toolchain Benchmarks Benchmark results are: * CDTParser took 0.13 ms. Allocated memory is still 1.0 GB. Free memory is still 980.1 MB. There was no memory consumed. Max. memory is 11.5 GB. * CACSL2BoogieTranslator took 299.04 ms. Allocated memory was 1.0 GB in the beginning and 1.2 GB in the end (delta: 173.0 MB). Free memory was 953.8 MB in the beginning and 1.2 GB in the end (delta: -216.7 MB). Peak memory consumption was 35.0 MB. Max. memory is 11.5 GB. * Boogie Procedure Inliner took 22.88 ms. Allocated memory is still 1.2 GB. Free memory was 1.2 GB in the beginning and 1.2 GB in the end (delta: 3.3 MB). Peak memory consumption was 3.3 MB. Max. memory is 11.5 GB. * Boogie Preprocessor took 34.57 ms. Allocated memory is still 1.2 GB. Free memory was 1.2 GB in the beginning and 1.2 GB in the end (delta: 3.3 MB). Peak memory consumption was 3.3 MB. Max. memory is 11.5 GB. * RCFGBuilder took 475.75 ms. Allocated memory is still 1.2 GB. Free memory was 1.2 GB in the beginning and 1.1 GB in the end (delta: 48.8 MB). Peak memory consumption was 48.8 MB. Max. memory is 11.5 GB. * TraceAbstraction took 930.19 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: 79.2 MB). Peak memory consumption was 79.2 MB. Max. memory is 11.5 GB. * Witness Printer took 3.60 ms. Allocated memory is still 1.2 GB. Free memory is still 1.0 GB. There was no memory consumed. Max. memory is 11.5 GB. * Results from de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator: - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: IntegerLiteral 15032385572 could not be translated for associated CType ARRAY#_4_~DOUBLE# - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: IntegerLiteral 15032385553 could not be translated for associated CType ARRAY#_11_~DOUBLE# - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: IntegerLiteral 15032385540 could not be translated for associated CType ARRAY#_4_~DOUBLE# - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: IntegerLiteral 15032385561 could not be translated for associated CType ARRAY#_4_~DOUBLE# - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: IntegerLiteral 15032385545 could not be translated for associated CType ARRAY#_11_~DOUBLE# - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: IntegerLiteral 15032385547 could not be translated for associated CType ARRAY#_4_~DOUBLE# * Results from de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: - UnprovableResult [Line: 286]: 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 285. Possible FailurePath: [L37-L42] static const double atanhi_atan[] = { 4.63647609000806093515e-01, 7.85398163397448278999e-01, 9.82793723247329054082e-01, 1.57079632679489655800e+00, }; [L44-L49] static const double atanlo_atan[] = { 2.26987774529616870924e-17, 3.06161699786838301793e-17, 1.39033110312309984516e-17, 6.12323399573676603587e-17, }; [L51-L58] static const double aT_atan[] = { 3.33333333333329318027e-01, -1.99999999998764832476e-01, 1.42857142725034663711e-01, -1.11111104054623557880e-01, 9.09088713343650656196e-02, -7.69187620504482999495e-02, 6.66107313738753120669e-02, -5.83357013379057348645e-02, 4.97687799461593236017e-02, -3.65315727442169155270e-02, 1.62858201153657823623e-02, }; [L60-L62] static const double one_atan = 1.0, pi_o_4 = 7.8539816339744827900E-01, pi_o_2 = 1.5707963267948965580E+00, pi = 3.1415926535897931160E+00, huge_atan = 1.0e300; [L139-L140] static const double tiny_atan2 = 1.0e-300, zero_atan2 = 0.0, pi_lo_atan2 = 1.2246467991473531772E-16; VAL [\old(aT_atan)=null, \old(aT_atan)=null, \old(atanhi_atan)=null, \old(atanhi_atan)=null, \old(atanlo_atan)=null, \old(atanlo_atan)=null, \old(huge_atan)=15032385568, \old(one_atan)=15032385554, \old(pi)=15032385563, \old(pi_lo_atan2)=15032385551, \old(pi_o_2)=15032385537, \old(pi_o_4)=15032385559, \old(tiny_atan2)=15032385570, \old(zero_atan2)=15032385544, aT_atan={15032385546:0}, atanhi_atan={15032385549:0}, atanlo_atan={15032385538: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] [L276] double x = __VERIFIER_nondet_double(); [L277] double y = -1.0 / 0.0; VAL [aT_atan={15032385546:0}, atanhi_atan={15032385549:0}, atanlo_atan={15032385538:0}, huge_atan=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, one_atan=1, pi=785398163397448279/250000000000000000, pi_lo_atan2=3061616997868382943/25000000000000000000000000000000000, pi_o_2=785398163397448279/500000000000000000, pi_o_4=785398163397448279/1000000000000000000, tiny_atan2=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, x=15032385560, zero_atan2=0] [L280] CALL, EXPR isfinite_double(x) VAL [\old(x)=15032385560, aT_atan={15032385546:0}, atanhi_atan={15032385549:0}, atanlo_atan={15032385538:0}, huge_atan=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, one_atan=1, pi=785398163397448279/250000000000000000, pi_lo_atan2=3061616997868382943/25000000000000000000000000000000000, pi_o_2=785398163397448279/500000000000000000, pi_o_4=785398163397448279/1000000000000000000, tiny_atan2=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, zero_atan2=0] [L260] __int32_t hx; VAL [\old(x)=15032385560, aT_atan={15032385546:0}, atanhi_atan={15032385549:0}, atanlo_atan={15032385538:0}, huge_atan=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, one_atan=1, pi=785398163397448279/250000000000000000, pi_lo_atan2=3061616997868382943/25000000000000000000000000000000000, pi_o_2=785398163397448279/500000000000000000, pi_o_4=785398163397448279/1000000000000000000, tiny_atan2=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, x=15032385560, zero_atan2=0] [L262] ieee_double_shape_type gh_u; [L263] gh_u.value = (x) [L264] EXPR gh_u.parts.msw [L264] (hx) = gh_u.parts.msw [L266] return (int)((__uint32_t)((hx & 0x7fffffff) - 0x7ff00000) >> 31); VAL [\old(x)=15032385560, \result=-1, aT_atan={15032385546:0}, atanhi_atan={15032385549:0}, atanlo_atan={15032385538:0}, huge_atan=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, hx=3, one_atan=1, pi=785398163397448279/250000000000000000, pi_lo_atan2=3061616997868382943/25000000000000000000000000000000000, pi_o_2=785398163397448279/500000000000000000, pi_o_4=785398163397448279/1000000000000000000, tiny_atan2=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, x=15032385560, zero_atan2=0] [L280] RET, EXPR isfinite_double(x) VAL [aT_atan={15032385546:0}, atanhi_atan={15032385549:0}, atanlo_atan={15032385538:0}, huge_atan=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, isfinite_double(x)=-1, one_atan=1, pi=785398163397448279/250000000000000000, pi_lo_atan2=3061616997868382943/25000000000000000000000000000000000, pi_o_2=785398163397448279/500000000000000000, pi_o_4=785398163397448279/1000000000000000000, tiny_atan2=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, x=15032385560, zero_atan2=0] [L280] isfinite_double(x) && isinf_double(y) VAL [aT_atan={15032385546:0}, atanhi_atan={15032385549:0}, atanlo_atan={15032385538:0}, huge_atan=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, isfinite_double(x)=-1, isfinite_double(x) && isinf_double(y)=1, one_atan=1, pi=785398163397448279/250000000000000000, pi_lo_atan2=3061616997868382943/25000000000000000000000000000000000, pi_o_2=785398163397448279/500000000000000000, pi_o_4=785398163397448279/1000000000000000000, tiny_atan2=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, x=15032385560, zero_atan2=0] [L280] CALL, EXPR isinf_double(y) VAL [\old(x)=15032385558, aT_atan={15032385546:0}, atanhi_atan={15032385549:0}, atanlo_atan={15032385538:0}, huge_atan=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, one_atan=1, pi=785398163397448279/250000000000000000, pi_lo_atan2=3061616997868382943/25000000000000000000000000000000000, pi_o_2=785398163397448279/500000000000000000, pi_o_4=785398163397448279/1000000000000000000, tiny_atan2=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, zero_atan2=0] [L246] __int32_t hx, lx; VAL [\old(x)=15032385558, aT_atan={15032385546:0}, atanhi_atan={15032385549:0}, atanlo_atan={15032385538:0}, huge_atan=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, one_atan=1, pi=785398163397448279/250000000000000000, pi_lo_atan2=3061616997868382943/25000000000000000000000000000000000, pi_o_2=785398163397448279/500000000000000000, pi_o_4=785398163397448279/1000000000000000000, tiny_atan2=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, x=15032385558, zero_atan2=0] [L248] ieee_double_shape_type ew_u; [L249] ew_u.value = (x) [L250] EXPR ew_u.parts.msw [L250] (hx) = ew_u.parts.msw [L251] EXPR ew_u.parts.lsw [L251] (lx) = ew_u.parts.lsw [L253] hx &= 0x7fffffff [L254] hx |= (__uint32_t)(lx | (-lx)) >> 31 [L255] hx = 0x7ff00000 - hx [L256] return 1 - (int)((__uint32_t)(hx | (-hx)) >> 31); VAL [\old(x)=15032385558, \result=2, aT_atan={15032385546:0}, atanhi_atan={15032385549:0}, atanlo_atan={15032385538:0}, huge_atan=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, hx=2146435072, lx=-2147483648, one_atan=1, pi=785398163397448279/250000000000000000, pi_lo_atan2=3061616997868382943/25000000000000000000000000000000000, pi_o_2=785398163397448279/500000000000000000, pi_o_4=785398163397448279/1000000000000000000, tiny_atan2=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, x=15032385558, zero_atan2=0] [L280] RET, EXPR isinf_double(y) VAL [aT_atan={15032385546:0}, atanhi_atan={15032385549:0}, atanlo_atan={15032385538:0}, huge_atan=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, isfinite_double(x)=-1, isfinite_double(x) && isinf_double(y)=1, isinf_double(y)=2, one_atan=1, pi=785398163397448279/250000000000000000, pi_lo_atan2=3061616997868382943/25000000000000000000000000000000000, pi_o_2=785398163397448279/500000000000000000, pi_o_4=785398163397448279/1000000000000000000, tiny_atan2=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, x=15032385560, y=15032385558, zero_atan2=0] [L280] isfinite_double(x) && isinf_double(y) VAL [aT_atan={15032385546:0}, atanhi_atan={15032385549:0}, atanlo_atan={15032385538:0}, huge_atan=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, isfinite_double(x)=-1, isfinite_double(x) && isinf_double(y)=1, isinf_double(y)=2, one_atan=1, pi=785398163397448279/250000000000000000, pi_lo_atan2=3061616997868382943/25000000000000000000000000000000000, pi_o_2=785398163397448279/500000000000000000, pi_o_4=785398163397448279/1000000000000000000, tiny_atan2=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, x=15032385560, y=15032385558, zero_atan2=0] [L280] COND TRUE isfinite_double(x) && isinf_double(y) [L282] CALL, EXPR __ieee754_atan2(y, x) VAL [\old(x)=15032385560, \old(y)=15032385558, aT_atan={15032385546:0}, atanhi_atan={15032385549:0}, atanlo_atan={15032385538:0}, huge_atan=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, one_atan=1, pi=785398163397448279/250000000000000000, pi_lo_atan2=3061616997868382943/25000000000000000000000000000000000, pi_o_2=785398163397448279/500000000000000000, pi_o_4=785398163397448279/1000000000000000000, tiny_atan2=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, zero_atan2=0] [L143] double z; [L144] __int32_t k, m, hx, hy, ix, iy; [L145] __uint32_t lx, ly; VAL [\old(x)=15032385560, \old(y)=15032385558, aT_atan={15032385546:0}, atanhi_atan={15032385549:0}, atanlo_atan={15032385538:0}, huge_atan=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, one_atan=1, pi=785398163397448279/250000000000000000, pi_lo_atan2=3061616997868382943/25000000000000000000000000000000000, pi_o_2=785398163397448279/500000000000000000, pi_o_4=785398163397448279/1000000000000000000, tiny_atan2=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, x=15032385560, y=15032385558, zero_atan2=0] [L148] ieee_double_shape_type ew_u; [L149] ew_u.value = (x) [L150] EXPR ew_u.parts.msw [L150] (hx) = ew_u.parts.msw [L151] EXPR ew_u.parts.lsw [L151] (lx) = ew_u.parts.lsw [L153] ix = hx & 0x7fffffff VAL [\old(x)=15032385560, \old(y)=15032385558, aT_atan={15032385546:0}, atanhi_atan={15032385549:0}, atanlo_atan={15032385538:0}, huge_atan=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, hx=-2147483648, lx=15032385575, one_atan=1, pi=785398163397448279/250000000000000000, pi_lo_atan2=3061616997868382943/25000000000000000000000000000000000, pi_o_2=785398163397448279/500000000000000000, pi_o_4=785398163397448279/1000000000000000000, tiny_atan2=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, x=15032385560, y=15032385558, zero_atan2=0] [L155] ieee_double_shape_type ew_u; [L156] ew_u.value = (y) [L157] EXPR ew_u.parts.msw [L157] (hy) = ew_u.parts.msw [L158] EXPR ew_u.parts.lsw [L158] (ly) = ew_u.parts.lsw [L160] iy = hy & 0x7fffffff VAL [\old(x)=15032385560, \old(y)=15032385558, aT_atan={15032385546:0}, atanhi_atan={15032385549:0}, atanlo_atan={15032385538:0}, huge_atan=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, hx=-2147483648, hy=-2147483648, lx=15032385575, ly=15032385573, one_atan=1, pi=785398163397448279/250000000000000000, pi_lo_atan2=3061616997868382943/25000000000000000000000000000000000, pi_o_2=785398163397448279/500000000000000000, pi_o_4=785398163397448279/1000000000000000000, tiny_atan2=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, x=15032385560, y=15032385558, zero_atan2=0] [L161-L162] COND TRUE ((ix | ((lx | -lx) >> 31)) > 0x7ff00000) || ((iy | ((ly | -ly) >> 31)) > 0x7ff00000) [L163] return x + y; VAL [\old(x)=15032385560, \old(y)=15032385558, aT_atan={15032385546:0}, atanhi_atan={15032385549:0}, atanlo_atan={15032385538:0}, huge_atan=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, hx=-2147483648, hy=-2147483648, lx=15032385575, ly=15032385573, one_atan=1, pi=785398163397448279/250000000000000000, pi_lo_atan2=3061616997868382943/25000000000000000000000000000000000, pi_o_2=785398163397448279/500000000000000000, pi_o_4=785398163397448279/1000000000000000000, tiny_atan2=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, x=15032385560, y=15032385558, zero_atan2=0] [L282] RET, EXPR __ieee754_atan2(y, x) VAL [__ieee754_atan2(y, x)=15032385552, aT_atan={15032385546:0}, atanhi_atan={15032385549:0}, atanlo_atan={15032385538:0}, huge_atan=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, one_atan=1, pi=785398163397448279/250000000000000000, pi_lo_atan2=3061616997868382943/25000000000000000000000000000000000, pi_o_2=785398163397448279/500000000000000000, pi_o_4=785398163397448279/1000000000000000000, tiny_atan2=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, x=15032385560, y=15032385558, zero_atan2=0] [L282] double res = __ieee754_atan2(y, x); [L285] COND TRUE res != -pi_o_2 VAL [aT_atan={15032385546:0}, atanhi_atan={15032385549:0}, atanlo_atan={15032385538:0}, huge_atan=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, one_atan=1, pi=785398163397448279/250000000000000000, pi_lo_atan2=3061616997868382943/25000000000000000000000000000000000, pi_o_2=785398163397448279/500000000000000000, pi_o_4=785398163397448279/1000000000000000000, res=15032385552, tiny_atan2=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, x=15032385560, y=15032385558, zero_atan2=0] [L286] __VERIFIER_error() VAL [aT_atan={15032385546:0}, atanhi_atan={15032385549:0}, atanlo_atan={15032385538:0}, huge_atan=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, one_atan=1, pi=785398163397448279/250000000000000000, pi_lo_atan2=3061616997868382943/25000000000000000000000000000000000, pi_o_2=785398163397448279/500000000000000000, pi_o_4=785398163397448279/1000000000000000000, res=15032385552, tiny_atan2=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, x=15032385560, y=15032385558, zero_atan2=0] - StatisticsResult: Ultimate Automizer benchmark data CFG has 8 procedures, 120 locations, 1 error locations. UNSAFE Result, 0.8s OverallTime, 3 OverallIterations, 1 TraceHistogramMax, 0.0s AutomataDifference, 0.0s DeadEndRemovalTime, 0.0s HoareAnnotationTime, HoareTripleCheckerStatistics: 316 SDtfs, 0 SDslu, 150 SDs, 0 SdLazy, 4 SolverSat, 0 SolverUnsat, 0 SolverUnknown, 0 SolverNotchecked, 0.0s Time, PredicateUnifierStatistics: 0 DeclaredPredicates, 5 GetRequests, 4 SyntacticMatches, 0 SemanticMatches, 1 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s Time, 0.0s BasicInterpolantAutomatonTime, BiggestAbstraction: size=120occurred in iteration=0, traceCheckStatistics: No data available, InterpolantConsolidationStatistics: No data available, PathInvariantsStatistics: No data available, 0/0 InterpolantCoveringCapability, TotalInterpolationStatistics: No data available, 0.0s AbstIntTime, 0 AbstIntIterations, 0 AbstIntStrong, NaN AbsIntWeakeningRatio, NaN AbsIntAvgWeakeningVarsNumRemoved, NaN AbsIntAvgWeakenedConjuncts, 0.0s DumpTime, AutomataMinimizationStatistics: 0.0s AutomataMinimizationTime, 2 MinimizatonAttempts, 0 StatesRemovedByMinimization, 0 NontrivialMinimizations, HoareAnnotationStatistics: No data available, RefinementEngineStatistics: TraceCheckStatistics: 0.0s SsaConstructionTime, 0.1s SatisfiabilityAnalysisTime, 0.0s InterpolantComputationTime, 95 NumberOfCodeBlocks, 95 NumberOfCodeBlocksAsserted, 3 NumberOfCheckSat, 55 ConstructedInterpolants, 0 QuantifiedInterpolants, 1546 SizeOfPredicates, 0 NumberOfNonLiveVariables, 0 ConjunctsInSsa, 0 ConjunctsInUnsatCore, 2 InterpolantComputations, 2 PerfectInterpolantSequences, 0/0 InterpolantCoveringCapability, InvariantSynthesisStatistics: No data available, InterpolantConsolidationStatistics: No data available, ReuseStatistics: No data available RESULT: Ultimate could not prove your program: unable to determine feasibility of some traces Received shutdown request... ### Bit-precise run ### This is Ultimate 0.1.23-aa41828 [2018-11-23 02:23:15,950 INFO L170 SettingsManager]: Resetting all preferences to default values... [2018-11-23 02:23:15,951 INFO L174 SettingsManager]: Resetting UltimateCore preferences to default values [2018-11-23 02:23:15,959 INFO L177 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2018-11-23 02:23:15,960 INFO L174 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2018-11-23 02:23:15,960 INFO L174 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2018-11-23 02:23:15,961 INFO L174 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2018-11-23 02:23:15,962 INFO L174 SettingsManager]: Resetting LassoRanker preferences to default values [2018-11-23 02:23:15,963 INFO L174 SettingsManager]: Resetting Reaching Definitions preferences to default values [2018-11-23 02:23:15,964 INFO L174 SettingsManager]: Resetting SyntaxChecker preferences to default values [2018-11-23 02:23:15,964 INFO L177 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2018-11-23 02:23:15,964 INFO L174 SettingsManager]: Resetting LTL2Aut preferences to default values [2018-11-23 02:23:15,965 INFO L174 SettingsManager]: Resetting PEA to Boogie preferences to default values [2018-11-23 02:23:15,966 INFO L174 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2018-11-23 02:23:15,966 INFO L174 SettingsManager]: Resetting ChcToBoogie preferences to default values [2018-11-23 02:23:15,967 INFO L174 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2018-11-23 02:23:15,967 INFO L174 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2018-11-23 02:23:15,968 INFO L174 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2018-11-23 02:23:15,970 INFO L174 SettingsManager]: Resetting CodeCheck preferences to default values [2018-11-23 02:23:15,971 INFO L174 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2018-11-23 02:23:15,971 INFO L174 SettingsManager]: Resetting RCFGBuilder preferences to default values [2018-11-23 02:23:15,972 INFO L174 SettingsManager]: Resetting TraceAbstraction preferences to default values [2018-11-23 02:23:15,974 INFO L177 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2018-11-23 02:23:15,974 INFO L177 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2018-11-23 02:23:15,974 INFO L174 SettingsManager]: Resetting TreeAutomizer preferences to default values [2018-11-23 02:23:15,974 INFO L174 SettingsManager]: Resetting IcfgTransformer preferences to default values [2018-11-23 02:23:15,975 INFO L174 SettingsManager]: Resetting Boogie Printer preferences to default values [2018-11-23 02:23:15,976 INFO L174 SettingsManager]: Resetting ReqPrinter preferences to default values [2018-11-23 02:23:15,976 INFO L174 SettingsManager]: Resetting Witness Printer preferences to default values [2018-11-23 02:23:15,977 INFO L177 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2018-11-23 02:23:15,977 INFO L174 SettingsManager]: Resetting CDTParser preferences to default values [2018-11-23 02:23:15,977 INFO L177 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2018-11-23 02:23:15,978 INFO L177 SettingsManager]: ReqParser provides no preferences, ignoring... [2018-11-23 02:23:15,978 INFO L174 SettingsManager]: Resetting SmtParser preferences to default values [2018-11-23 02:23:15,978 INFO L174 SettingsManager]: Resetting Witness Parser preferences to default values [2018-11-23 02:23:15,979 INFO L181 SettingsManager]: Finished resetting all preferences to default values... [2018-11-23 02:23:15,979 INFO L98 SettingsManager]: Beginning loading settings from /tmp/vcloud-vcloud-master/worker/working_dir_c182fa98-1d14-4b12-a347-c32694980a55/bin-2019/uautomizer/config/svcomp-Reach-32bit-Automizer_Bitvector.epf [2018-11-23 02:23:15,989 INFO L110 SettingsManager]: Loading preferences was successful [2018-11-23 02:23:15,989 INFO L112 SettingsManager]: Preferences different from defaults after loading the file: [2018-11-23 02:23:15,989 INFO L131 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2018-11-23 02:23:15,990 INFO L133 SettingsManager]: * ... calls to implemented procedures=ONLY_FOR_CONCURRENT_PROGRAMS [2018-11-23 02:23:15,990 INFO L131 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2018-11-23 02:23:15,990 INFO L133 SettingsManager]: * Create parallel compositions if possible=false [2018-11-23 02:23:15,990 INFO L133 SettingsManager]: * Use SBE=true [2018-11-23 02:23:15,990 INFO L131 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2018-11-23 02:23:15,991 INFO L133 SettingsManager]: * sizeof long=4 [2018-11-23 02:23:15,991 INFO L133 SettingsManager]: * sizeof POINTER=4 [2018-11-23 02:23:15,991 INFO L133 SettingsManager]: * Check division by zero=IGNORE [2018-11-23 02:23:15,991 INFO L133 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2018-11-23 02:23:15,991 INFO L133 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2018-11-23 02:23:15,991 INFO L133 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2018-11-23 02:23:15,991 INFO L133 SettingsManager]: * Use bitvectors instead of ints=true [2018-11-23 02:23:15,991 INFO L133 SettingsManager]: * Memory model=HoenickeLindenmann_4ByteResolution [2018-11-23 02:23:15,992 INFO L133 SettingsManager]: * sizeof long double=12 [2018-11-23 02:23:15,992 INFO L133 SettingsManager]: * Check if freed pointer was valid=false [2018-11-23 02:23:15,992 INFO L133 SettingsManager]: * Use constant arrays=true [2018-11-23 02:23:15,992 INFO L133 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2018-11-23 02:23:15,992 INFO L131 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2018-11-23 02:23:15,992 INFO L133 SettingsManager]: * Size of a code block=SequenceOfStatements [2018-11-23 02:23:15,992 INFO L133 SettingsManager]: * To the following directory=./dump/ [2018-11-23 02:23:15,993 INFO L133 SettingsManager]: * SMT solver=External_DefaultMode [2018-11-23 02:23:15,993 INFO L133 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2018-11-23 02:23:15,993 INFO L131 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2018-11-23 02:23:15,993 INFO L133 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2018-11-23 02:23:15,993 INFO L133 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopsAndPotentialCycles [2018-11-23 02:23:15,993 INFO L133 SettingsManager]: * Trace refinement strategy=WOLF [2018-11-23 02:23:15,993 INFO L133 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode [2018-11-23 02:23:15,993 INFO L133 SettingsManager]: * Command for external solver=cvc4nyu --tear-down-incremental --rewrite-divk --print-success --lang smt [2018-11-23 02:23:15,994 INFO L133 SettingsManager]: * Logic for external solver=AUFBV [2018-11-23 02:23:15,994 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_c182fa98-1d14-4b12-a347-c32694980a55/bin-2019/uautomizer Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Witness filename -> witness.graphml Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Write witness besides input file -> false Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Graph data specification -> CHECK( init(main()), LTL(G ! call(__VERIFIER_error())) ) Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Graph data producer -> Automizer Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Graph data architecture -> 32bit Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Graph data programhash -> 9898ce33ba90bf1deafb76b4145359648bf729c6 [2018-11-23 02:23:16,022 INFO L81 nceAwareModelManager]: Repository-Root is: /tmp [2018-11-23 02:23:16,031 INFO L258 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2018-11-23 02:23:16,034 INFO L214 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2018-11-23 02:23:16,035 INFO L271 PluginConnector]: Initializing CDTParser... [2018-11-23 02:23:16,035 INFO L276 PluginConnector]: CDTParser initialized [2018-11-23 02:23:16,036 INFO L418 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /tmp/vcloud-vcloud-master/worker/working_dir_c182fa98-1d14-4b12-a347-c32694980a55/bin-2019/uautomizer/../../sv-benchmarks/c/float-newlib/double_req_bl_0684b_true-unreach-call.c [2018-11-23 02:23:16,076 INFO L221 CDTParser]: Created temporary CDT project at /tmp/vcloud-vcloud-master/worker/working_dir_c182fa98-1d14-4b12-a347-c32694980a55/bin-2019/uautomizer/data/7cab512b2/116150e96bcd4faca113bfc312b24aaf/FLAG3c54de3e1 [2018-11-23 02:23:16,490 INFO L307 CDTParser]: Found 1 translation units. [2018-11-23 02:23:16,490 INFO L161 CDTParser]: Scanning /tmp/vcloud-vcloud-master/worker/working_dir_c182fa98-1d14-4b12-a347-c32694980a55/sv-benchmarks/c/float-newlib/double_req_bl_0684b_true-unreach-call.c [2018-11-23 02:23:16,495 INFO L355 CDTParser]: About to delete temporary CDT project at /tmp/vcloud-vcloud-master/worker/working_dir_c182fa98-1d14-4b12-a347-c32694980a55/bin-2019/uautomizer/data/7cab512b2/116150e96bcd4faca113bfc312b24aaf/FLAG3c54de3e1 [2018-11-23 02:23:16,505 INFO L363 CDTParser]: Successfully deleted /tmp/vcloud-vcloud-master/worker/working_dir_c182fa98-1d14-4b12-a347-c32694980a55/bin-2019/uautomizer/data/7cab512b2/116150e96bcd4faca113bfc312b24aaf [2018-11-23 02:23:16,508 INFO L296 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2018-11-23 02:23:16,509 INFO L131 ToolchainWalker]: Walking toolchain with 6 elements. [2018-11-23 02:23:16,510 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2018-11-23 02:23:16,510 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2018-11-23 02:23:16,513 INFO L276 PluginConnector]: CACSL2BoogieTranslator initialized [2018-11-23 02:23:16,513 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 23.11 02:23:16" (1/1) ... [2018-11-23 02:23:16,516 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 02:23:16, skipping insertion in model container [2018-11-23 02:23:16,516 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 23.11 02:23:16" (1/1) ... [2018-11-23 02:23:16,523 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2018-11-23 02:23:16,548 INFO L176 MainTranslator]: Built tables and reachable declarations [2018-11-23 02:23:16,761 INFO L201 PostProcessor]: Analyzing one entry point: main [2018-11-23 02:23:16,767 INFO L191 MainTranslator]: Completed pre-run [2018-11-23 02:23:16,819 INFO L201 PostProcessor]: Analyzing one entry point: main [2018-11-23 02:23:16,842 INFO L195 MainTranslator]: Completed translation [2018-11-23 02:23:16,842 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 02:23:16 WrapperNode [2018-11-23 02:23:16,842 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2018-11-23 02:23:16,843 INFO L113 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2018-11-23 02:23:16,843 INFO L271 PluginConnector]: Initializing Boogie Procedure Inliner... [2018-11-23 02:23:16,843 INFO L276 PluginConnector]: Boogie Procedure Inliner initialized [2018-11-23 02:23:16,848 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 02:23:16" (1/1) ... [2018-11-23 02:23:16,897 INFO L185 PluginConnector]: Executing the observer Inliner from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 02:23:16" (1/1) ... [2018-11-23 02:23:16,903 INFO L132 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2018-11-23 02:23:16,903 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2018-11-23 02:23:16,903 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2018-11-23 02:23:16,903 INFO L276 PluginConnector]: Boogie Preprocessor initialized [2018-11-23 02:23:16,908 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 02:23:16" (1/1) ... [2018-11-23 02:23:16,909 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 02:23:16" (1/1) ... [2018-11-23 02:23:16,914 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 02:23:16" (1/1) ... [2018-11-23 02:23:16,914 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 02:23:16" (1/1) ... [2018-11-23 02:23:16,936 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 02:23:16" (1/1) ... [2018-11-23 02:23:16,942 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 02:23:16" (1/1) ... [2018-11-23 02:23:16,945 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 02:23:16" (1/1) ... [2018-11-23 02:23:16,949 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2018-11-23 02:23:16,949 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2018-11-23 02:23:16,949 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2018-11-23 02:23:16,949 INFO L276 PluginConnector]: RCFGBuilder initialized [2018-11-23 02:23:16,950 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 02:23:16" (1/1) ... No working directory specified, using /tmp/vcloud-vcloud-master/worker/working_dir_c182fa98-1d14-4b12-a347-c32694980a55/bin-2019/uautomizer/z3 Starting monitored process 1 with z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 1 with z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2018-11-23 02:23:16,998 INFO L130 BoogieDeclarations]: Found specification of procedure isfinite_double [2018-11-23 02:23:16,998 INFO L138 BoogieDeclarations]: Found implementation of procedure isfinite_double [2018-11-23 02:23:16,998 INFO L130 BoogieDeclarations]: Found specification of procedure read~intFLOATTYPE8 [2018-11-23 02:23:16,998 INFO L130 BoogieDeclarations]: Found specification of procedure isinf_double [2018-11-23 02:23:16,998 INFO L138 BoogieDeclarations]: Found implementation of procedure isinf_double [2018-11-23 02:23:16,998 INFO L130 BoogieDeclarations]: Found specification of procedure write~intFLOATTYPE8 [2018-11-23 02:23:16,999 INFO L130 BoogieDeclarations]: Found specification of procedure main [2018-11-23 02:23:16,999 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2018-11-23 02:23:16,999 INFO L130 BoogieDeclarations]: Found specification of procedure __ieee754_atan2 [2018-11-23 02:23:16,999 INFO L138 BoogieDeclarations]: Found implementation of procedure __ieee754_atan2 [2018-11-23 02:23:16,999 INFO L130 BoogieDeclarations]: Found specification of procedure fabs_double [2018-11-23 02:23:16,999 INFO L138 BoogieDeclarations]: Found implementation of procedure fabs_double [2018-11-23 02:23:16,999 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2018-11-23 02:23:16,999 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2018-11-23 02:23:16,999 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~intFLOATTYPE8 [2018-11-23 02:23:17,000 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.alloc [2018-11-23 02:23:17,000 INFO L130 BoogieDeclarations]: Found specification of procedure atan_double [2018-11-23 02:23:17,000 INFO L138 BoogieDeclarations]: Found implementation of procedure atan_double [2018-11-23 02:23:17,000 INFO L130 BoogieDeclarations]: Found specification of procedure read~intINTTYPE4 [2018-11-23 02:23:17,000 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2018-11-23 02:23:17,000 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2018-11-23 02:23:17,000 INFO L130 BoogieDeclarations]: Found specification of procedure write~intINTTYPE4 [2018-11-23 02:23:17,000 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2018-11-23 02:23:17,150 WARN L317 ript$VariableManager]: TermVariabe |q#valueAsBitvector| not constructed by VariableManager. Cannot ensure absence of name clashes. [2018-11-23 02:23:17,176 WARN L317 ript$VariableManager]: TermVariabe |q#valueAsBitvector| not constructed by VariableManager. Cannot ensure absence of name clashes. [2018-11-23 02:23:18,020 WARN L317 ript$VariableManager]: TermVariabe |q#valueAsBitvector| not constructed by VariableManager. Cannot ensure absence of name clashes. [2018-11-23 02:23:18,195 WARN L317 ript$VariableManager]: TermVariabe |q#valueAsBitvector| not constructed by VariableManager. Cannot ensure absence of name clashes. [2018-11-23 02:23:18,507 WARN L317 ript$VariableManager]: TermVariabe |q#valueAsBitvector| not constructed by VariableManager. Cannot ensure absence of name clashes. [2018-11-23 02:23:18,531 WARN L317 ript$VariableManager]: TermVariabe |q#valueAsBitvector| not constructed by VariableManager. Cannot ensure absence of name clashes. [2018-11-23 02:23:19,198 WARN L317 ript$VariableManager]: TermVariabe |q#valueAsBitvector| not constructed by VariableManager. Cannot ensure absence of name clashes. [2018-11-23 02:23:19,214 WARN L317 ript$VariableManager]: TermVariabe |q#valueAsBitvector| not constructed by VariableManager. Cannot ensure absence of name clashes. [2018-11-23 02:23:19,264 WARN L317 ript$VariableManager]: TermVariabe |q#valueAsBitvector| not constructed by VariableManager. Cannot ensure absence of name clashes. [2018-11-23 02:23:24,254 WARN L317 ript$VariableManager]: TermVariabe |q#valueAsBitvector| not constructed by VariableManager. Cannot ensure absence of name clashes. [2018-11-23 02:23:35,472 WARN L317 ript$VariableManager]: TermVariabe |q#valueAsBitvector| not constructed by VariableManager. Cannot ensure absence of name clashes. [2018-11-23 02:23:35,650 INFO L275 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2018-11-23 02:23:35,650 INFO L280 CfgBuilder]: Removed 20 assue(true) statements. [2018-11-23 02:23:35,651 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 23.11 02:23:35 BoogieIcfgContainer [2018-11-23 02:23:35,651 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2018-11-23 02:23:35,652 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2018-11-23 02:23:35,652 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2018-11-23 02:23:35,654 INFO L276 PluginConnector]: TraceAbstraction initialized [2018-11-23 02:23:35,654 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 23.11 02:23:16" (1/3) ... [2018-11-23 02:23:35,654 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@67b804ac and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 23.11 02:23:35, skipping insertion in model container [2018-11-23 02:23:35,655 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 02:23:16" (2/3) ... [2018-11-23 02:23:35,655 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@67b804ac and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 23.11 02:23:35, skipping insertion in model container [2018-11-23 02:23:35,655 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 23.11 02:23:35" (3/3) ... [2018-11-23 02:23:35,656 INFO L112 eAbstractionObserver]: Analyzing ICFG double_req_bl_0684b_true-unreach-call.c [2018-11-23 02:23:35,662 INFO L156 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2018-11-23 02:23:35,666 INFO L168 ceAbstractionStarter]: Appying trace abstraction to program that has 1 error locations. [2018-11-23 02:23:35,675 INFO L257 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2018-11-23 02:23:35,693 INFO L133 ementStrategyFactory]: Using default assertion order modulation [2018-11-23 02:23:35,693 INFO L382 AbstractCegarLoop]: Interprodecural is true [2018-11-23 02:23:35,694 INFO L383 AbstractCegarLoop]: Hoare is true [2018-11-23 02:23:35,694 INFO L384 AbstractCegarLoop]: Compute interpolants for FPandBP [2018-11-23 02:23:35,694 INFO L385 AbstractCegarLoop]: Backedges is STRAIGHT_LINE [2018-11-23 02:23:35,694 INFO L386 AbstractCegarLoop]: Determinization is PREDICATE_ABSTRACTION [2018-11-23 02:23:35,694 INFO L387 AbstractCegarLoop]: Difference is false [2018-11-23 02:23:35,694 INFO L388 AbstractCegarLoop]: Minimize is MINIMIZE_SEVPA [2018-11-23 02:23:35,694 INFO L393 AbstractCegarLoop]: ======== Iteration 0==of CEGAR loop == AllErrorsAtOnce======== [2018-11-23 02:23:35,707 INFO L276 IsEmpty]: Start isEmpty. Operand 120 states. [2018-11-23 02:23:35,710 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 28 [2018-11-23 02:23:35,711 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 02:23:35,711 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 02:23:35,713 INFO L423 AbstractCegarLoop]: === Iteration 1 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 02:23:35,716 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 02:23:35,716 INFO L82 PathProgramCache]: Analyzing trace with hash -1181622730, now seen corresponding path program 1 times [2018-11-23 02:23:35,719 INFO L223 ckRefinementStrategy]: Switched to mode MATHSAT_FPBP [2018-11-23 02:23:35,720 INFO L69 tionRefinementEngine]: Using refinement strategy WolfRefinementStrategy No working directory specified, using /tmp/vcloud-vcloud-master/worker/working_dir_c182fa98-1d14-4b12-a347-c32694980a55/bin-2019/uautomizer/mathsat Starting monitored process 2 with mathsat -unsat_core_generation=3 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 2 with mathsat -unsat_core_generation=3 [2018-11-23 02:23:35,736 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 02:23:35,926 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 02:23:35,949 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 02:23:35,963 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 02:23:35,963 INFO L312 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2018-11-23 02:23:35,976 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-23 02:23:35,976 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [2] imperfect sequences [] total 2 [2018-11-23 02:23:35,979 INFO L459 AbstractCegarLoop]: Interpolant automaton has 2 states [2018-11-23 02:23:35,990 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 2 interpolants. [2018-11-23 02:23:35,991 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=1, Invalid=1, Unknown=0, NotChecked=0, Total=2 [2018-11-23 02:23:35,993 INFO L87 Difference]: Start difference. First operand 120 states. Second operand 2 states. [2018-11-23 02:23:36,020 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 02:23:36,020 INFO L93 Difference]: Finished difference Result 232 states and 362 transitions. [2018-11-23 02:23:36,020 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 2 states. [2018-11-23 02:23:36,021 INFO L78 Accepts]: Start accepts. Automaton has 2 states. Word has length 27 [2018-11-23 02:23:36,021 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 02:23:36,027 INFO L225 Difference]: With dead ends: 232 [2018-11-23 02:23:36,028 INFO L226 Difference]: Without dead ends: 115 [2018-11-23 02:23:36,030 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 26 GetRequests, 26 SyntacticMatches, 0 SemanticMatches, 0 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=1, Invalid=1, Unknown=0, NotChecked=0, Total=2 [2018-11-23 02:23:36,041 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 115 states. [2018-11-23 02:23:36,056 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 115 to 115. [2018-11-23 02:23:36,057 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 115 states. [2018-11-23 02:23:36,059 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 115 states to 115 states and 155 transitions. [2018-11-23 02:23:36,060 INFO L78 Accepts]: Start accepts. Automaton has 115 states and 155 transitions. Word has length 27 [2018-11-23 02:23:36,060 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 02:23:36,060 INFO L480 AbstractCegarLoop]: Abstraction has 115 states and 155 transitions. [2018-11-23 02:23:36,060 INFO L481 AbstractCegarLoop]: Interpolant automaton has 2 states. [2018-11-23 02:23:36,060 INFO L276 IsEmpty]: Start isEmpty. Operand 115 states and 155 transitions. [2018-11-23 02:23:36,061 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 31 [2018-11-23 02:23:36,061 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 02:23:36,061 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 02:23:36,061 INFO L423 AbstractCegarLoop]: === Iteration 2 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 02:23:36,061 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 02:23:36,062 INFO L82 PathProgramCache]: Analyzing trace with hash 258080510, now seen corresponding path program 1 times [2018-11-23 02:23:36,062 INFO L223 ckRefinementStrategy]: Switched to mode MATHSAT_FPBP [2018-11-23 02:23:36,062 INFO L69 tionRefinementEngine]: Using refinement strategy WolfRefinementStrategy No working directory specified, using /tmp/vcloud-vcloud-master/worker/working_dir_c182fa98-1d14-4b12-a347-c32694980a55/bin-2019/uautomizer/mathsat Starting monitored process 3 with mathsat -unsat_core_generation=3 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 3 with mathsat -unsat_core_generation=3 [2018-11-23 02:23:36,065 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 02:23:36,297 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 02:23:36,326 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 02:23:36,339 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 02:23:36,339 INFO L312 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2018-11-23 02:23:36,356 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-23 02:23:36,356 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2018-11-23 02:23:36,357 INFO L459 AbstractCegarLoop]: Interpolant automaton has 3 states [2018-11-23 02:23:36,358 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2018-11-23 02:23:36,358 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2018-11-23 02:23:36,358 INFO L87 Difference]: Start difference. First operand 115 states and 155 transitions. Second operand 3 states. [2018-11-23 02:23:36,382 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 02:23:36,382 INFO L93 Difference]: Finished difference Result 207 states and 286 transitions. [2018-11-23 02:23:36,383 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2018-11-23 02:23:36,383 INFO L78 Accepts]: Start accepts. Automaton has 3 states. Word has length 30 [2018-11-23 02:23:36,383 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 02:23:36,384 INFO L225 Difference]: With dead ends: 207 [2018-11-23 02:23:36,384 INFO L226 Difference]: Without dead ends: 115 [2018-11-23 02:23:36,385 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 29 GetRequests, 28 SyntacticMatches, 0 SemanticMatches, 1 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2018-11-23 02:23:36,386 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 115 states. [2018-11-23 02:23:36,392 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 115 to 115. [2018-11-23 02:23:36,392 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 115 states. [2018-11-23 02:23:36,394 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 115 states to 115 states and 154 transitions. [2018-11-23 02:23:36,394 INFO L78 Accepts]: Start accepts. Automaton has 115 states and 154 transitions. Word has length 30 [2018-11-23 02:23:36,394 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 02:23:36,394 INFO L480 AbstractCegarLoop]: Abstraction has 115 states and 154 transitions. [2018-11-23 02:23:36,394 INFO L481 AbstractCegarLoop]: Interpolant automaton has 3 states. [2018-11-23 02:23:36,395 INFO L276 IsEmpty]: Start isEmpty. Operand 115 states and 154 transitions. [2018-11-23 02:23:36,395 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 39 [2018-11-23 02:23:36,396 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 02:23:36,396 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 02:23:36,396 INFO L423 AbstractCegarLoop]: === Iteration 3 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 02:23:36,396 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 02:23:36,396 INFO L82 PathProgramCache]: Analyzing trace with hash -5924694, now seen corresponding path program 1 times [2018-11-23 02:23:36,397 INFO L223 ckRefinementStrategy]: Switched to mode MATHSAT_FPBP [2018-11-23 02:23:36,397 INFO L69 tionRefinementEngine]: Using refinement strategy WolfRefinementStrategy No working directory specified, using /tmp/vcloud-vcloud-master/worker/working_dir_c182fa98-1d14-4b12-a347-c32694980a55/bin-2019/uautomizer/mathsat Starting monitored process 4 with mathsat -unsat_core_generation=3 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 4 with mathsat -unsat_core_generation=3 [2018-11-23 02:23:36,401 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 02:23:37,027 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 02:23:37,070 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 02:23:37,114 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 02:23:37,115 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 02:23:37,118 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 02:23:37,180 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 27 treesize of output 24 [2018-11-23 02:23:37,181 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 02:23:37,197 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 02:23:37,202 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 18 treesize of output 4 [2018-11-23 02:23:37,203 INFO L267 ElimStorePlain]: Start of recursive call 5: End of recursive call: and 1 xjuncts. [2018-11-23 02:23:37,206 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 02:23:37,208 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 02:23:37,219 INFO L267 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-2 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2018-11-23 02:23:37,220 INFO L202 ElimStorePlain]: Needed 5 recursive calls to eliminate 3 variables, input treesize:42, output treesize:14 [2018-11-23 02:23:37,564 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 02:23:37,565 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 02:23:37,566 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 02:23:37,622 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 02:23:37,631 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 2 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 24 treesize of output 24 [2018-11-23 02:23:37,631 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 02:23:37,652 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 02:23:37,658 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 18 treesize of output 4 [2018-11-23 02:23:37,659 INFO L267 ElimStorePlain]: Start of recursive call 5: End of recursive call: and 1 xjuncts. [2018-11-23 02:23:37,679 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 02:23:37,707 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 02:23:37,771 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 02:23:37,771 INFO L202 ElimStorePlain]: Needed 5 recursive calls to eliminate 4 variables, input treesize:49, output treesize:21 [2018-11-23 02:23:37,944 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 02:23:37,945 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 02:23:37,945 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 2 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 48 treesize of output 56 [2018-11-23 02:23:37,991 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 02:23:37,999 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 2 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 37 treesize of output 35 [2018-11-23 02:23:37,999 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 02:23:38,022 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 35 treesize of output 27 [2018-11-23 02:23:38,040 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 23 treesize of output 9 [2018-11-23 02:23:38,041 INFO L267 ElimStorePlain]: Start of recursive call 5: End of recursive call: and 1 xjuncts. [2018-11-23 02:23:38,048 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 02:23:38,055 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 02:23:38,082 INFO L267 ElimStorePlain]: Start of recursive call 1: 4 dim-0 vars, 1 dim-2 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2018-11-23 02:23:38,082 INFO L202 ElimStorePlain]: Needed 5 recursive calls to eliminate 5 variables, input treesize:76, output treesize:37 [2018-11-23 02:23:38,506 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 02:23:38,506 INFO L312 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2018-11-23 02:23:38,525 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-23 02:23:38,525 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [15] imperfect sequences [] total 15 [2018-11-23 02:23:38,525 INFO L459 AbstractCegarLoop]: Interpolant automaton has 15 states [2018-11-23 02:23:38,525 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 15 interpolants. [2018-11-23 02:23:38,526 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=30, Invalid=180, Unknown=0, NotChecked=0, Total=210 [2018-11-23 02:23:38,526 INFO L87 Difference]: Start difference. First operand 115 states and 154 transitions. Second operand 15 states. [2018-11-23 02:23:39,140 WARN L180 SmtUtils]: Spent 112.00 ms on a formula simplification. DAG size of input: 50 DAG size of output: 50 [2018-11-23 02:23:40,498 WARN L180 SmtUtils]: Spent 215.00 ms on a formula simplification that was a NOOP. DAG size: 46 [2018-11-23 02:23:41,034 WARN L180 SmtUtils]: Spent 245.00 ms on a formula simplification that was a NOOP. DAG size: 72 [2018-11-23 02:23:45,865 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 02:23:45,865 INFO L93 Difference]: Finished difference Result 121 states and 159 transitions. [2018-11-23 02:23:45,866 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 17 states. [2018-11-23 02:23:45,866 INFO L78 Accepts]: Start accepts. Automaton has 15 states. Word has length 38 [2018-11-23 02:23:45,866 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 02:23:45,867 INFO L225 Difference]: With dead ends: 121 [2018-11-23 02:23:45,867 INFO L226 Difference]: Without dead ends: 115 [2018-11-23 02:23:45,868 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 47 GetRequests, 24 SyntacticMatches, 0 SemanticMatches, 23 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 72 ImplicationChecksByTransitivity, 2.4s TimeCoverageRelationStatistics Valid=98, Invalid=502, Unknown=0, NotChecked=0, Total=600 [2018-11-23 02:23:45,868 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 115 states. [2018-11-23 02:23:45,875 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 115 to 115. [2018-11-23 02:23:45,875 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 115 states. [2018-11-23 02:23:45,875 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 115 states to 115 states and 153 transitions. [2018-11-23 02:23:45,875 INFO L78 Accepts]: Start accepts. Automaton has 115 states and 153 transitions. Word has length 38 [2018-11-23 02:23:45,876 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 02:23:45,876 INFO L480 AbstractCegarLoop]: Abstraction has 115 states and 153 transitions. [2018-11-23 02:23:45,876 INFO L481 AbstractCegarLoop]: Interpolant automaton has 15 states. [2018-11-23 02:23:45,876 INFO L276 IsEmpty]: Start isEmpty. Operand 115 states and 153 transitions. [2018-11-23 02:23:45,877 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 44 [2018-11-23 02:23:45,877 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 02:23:45,877 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 02:23:45,877 INFO L423 AbstractCegarLoop]: === Iteration 4 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 02:23:45,877 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 02:23:45,877 INFO L82 PathProgramCache]: Analyzing trace with hash -1616527494, now seen corresponding path program 1 times [2018-11-23 02:23:45,878 INFO L223 ckRefinementStrategy]: Switched to mode MATHSAT_FPBP [2018-11-23 02:23:45,878 INFO L69 tionRefinementEngine]: Using refinement strategy WolfRefinementStrategy No working directory specified, using /tmp/vcloud-vcloud-master/worker/working_dir_c182fa98-1d14-4b12-a347-c32694980a55/bin-2019/uautomizer/mathsat Starting monitored process 5 with mathsat -unsat_core_generation=3 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 5 with mathsat -unsat_core_generation=3 [2018-11-23 02:23:45,880 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 02:23:46,230 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 02:23:46,261 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 02:23:46,301 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 02:23:46,301 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 02:23:46,302 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 02:23:46,337 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 02:23:46,345 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 2 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 24 treesize of output 24 [2018-11-23 02:23:46,345 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 02:23:46,359 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 02:23:46,363 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 18 treesize of output 4 [2018-11-23 02:23:46,364 INFO L267 ElimStorePlain]: Start of recursive call 5: End of recursive call: and 1 xjuncts. [2018-11-23 02:23:46,366 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 02:23:46,368 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 02:23:46,375 INFO L267 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-2 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2018-11-23 02:23:46,375 INFO L202 ElimStorePlain]: Needed 5 recursive calls to eliminate 3 variables, input treesize:42, output treesize:14 [2018-11-23 02:23:46,472 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 02:23:46,473 INFO L312 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2018-11-23 02:23:46,490 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-23 02:23:46,490 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [7] imperfect sequences [] total 7 [2018-11-23 02:23:46,490 INFO L459 AbstractCegarLoop]: Interpolant automaton has 7 states [2018-11-23 02:23:46,491 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2018-11-23 02:23:46,491 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=11, Invalid=31, Unknown=0, NotChecked=0, Total=42 [2018-11-23 02:23:46,491 INFO L87 Difference]: Start difference. First operand 115 states and 153 transitions. Second operand 7 states. [2018-11-23 02:23:51,726 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 02:23:51,726 INFO L93 Difference]: Finished difference Result 206 states and 284 transitions. [2018-11-23 02:23:51,727 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2018-11-23 02:23:51,727 INFO L78 Accepts]: Start accepts. Automaton has 7 states. Word has length 43 [2018-11-23 02:23:51,727 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 02:23:51,729 INFO L225 Difference]: With dead ends: 206 [2018-11-23 02:23:51,729 INFO L226 Difference]: Without dead ends: 109 [2018-11-23 02:23:51,730 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 45 GetRequests, 37 SyntacticMatches, 0 SemanticMatches, 8 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=29, Invalid=61, Unknown=0, NotChecked=0, Total=90 [2018-11-23 02:23:51,730 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 109 states. [2018-11-23 02:23:51,742 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 109 to 109. [2018-11-23 02:23:51,742 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 109 states. [2018-11-23 02:23:51,743 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 109 states to 109 states and 142 transitions. [2018-11-23 02:23:51,743 INFO L78 Accepts]: Start accepts. Automaton has 109 states and 142 transitions. Word has length 43 [2018-11-23 02:23:51,743 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 02:23:51,743 INFO L480 AbstractCegarLoop]: Abstraction has 109 states and 142 transitions. [2018-11-23 02:23:51,743 INFO L481 AbstractCegarLoop]: Interpolant automaton has 7 states. [2018-11-23 02:23:51,744 INFO L276 IsEmpty]: Start isEmpty. Operand 109 states and 142 transitions. [2018-11-23 02:23:51,744 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 44 [2018-11-23 02:23:51,744 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 02:23:51,745 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 02:23:51,745 INFO L423 AbstractCegarLoop]: === Iteration 5 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 02:23:51,745 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 02:23:51,745 INFO L82 PathProgramCache]: Analyzing trace with hash 39323066, now seen corresponding path program 1 times [2018-11-23 02:23:51,746 INFO L223 ckRefinementStrategy]: Switched to mode MATHSAT_FPBP [2018-11-23 02:23:51,746 INFO L69 tionRefinementEngine]: Using refinement strategy WolfRefinementStrategy No working directory specified, using /tmp/vcloud-vcloud-master/worker/working_dir_c182fa98-1d14-4b12-a347-c32694980a55/bin-2019/uautomizer/mathsat Starting monitored process 6 with mathsat -unsat_core_generation=3 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 6 with mathsat -unsat_core_generation=3 [2018-11-23 02:23:51,751 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 02:23:52,209 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 02:23:52,246 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 02:23:52,270 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 02:23:52,270 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 02:23:52,271 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 02:23:52,307 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 02:23:52,312 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 2 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 24 treesize of output 24 [2018-11-23 02:23:52,312 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 02:23:52,326 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 02:23:52,332 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 18 treesize of output 4 [2018-11-23 02:23:52,332 INFO L267 ElimStorePlain]: Start of recursive call 5: End of recursive call: and 1 xjuncts. [2018-11-23 02:23:52,335 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 02:23:52,338 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 02:23:52,343 INFO L267 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-2 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2018-11-23 02:23:52,344 INFO L202 ElimStorePlain]: Needed 5 recursive calls to eliminate 3 variables, input treesize:42, output treesize:14 [2018-11-23 02:23:52,399 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 02:23:52,399 INFO L312 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2018-11-23 02:23:52,411 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-23 02:23:52,411 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2018-11-23 02:23:52,412 INFO L459 AbstractCegarLoop]: Interpolant automaton has 6 states [2018-11-23 02:23:52,412 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2018-11-23 02:23:52,412 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=9, Invalid=21, Unknown=0, NotChecked=0, Total=30 [2018-11-23 02:23:52,412 INFO L87 Difference]: Start difference. First operand 109 states and 142 transitions. Second operand 6 states. [2018-11-23 02:23:56,489 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 02:23:56,489 INFO L93 Difference]: Finished difference Result 117 states and 149 transitions. [2018-11-23 02:23:56,490 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2018-11-23 02:23:56,490 INFO L78 Accepts]: Start accepts. Automaton has 6 states. Word has length 43 [2018-11-23 02:23:56,490 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 02:23:56,490 INFO L225 Difference]: With dead ends: 117 [2018-11-23 02:23:56,491 INFO L226 Difference]: Without dead ends: 109 [2018-11-23 02:23:56,491 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 44 GetRequests, 38 SyntacticMatches, 0 SemanticMatches, 6 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=19, Invalid=37, Unknown=0, NotChecked=0, Total=56 [2018-11-23 02:23:56,491 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 109 states. [2018-11-23 02:23:56,499 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 109 to 109. [2018-11-23 02:23:56,499 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 109 states. [2018-11-23 02:23:56,500 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 109 states to 109 states and 140 transitions. [2018-11-23 02:23:56,500 INFO L78 Accepts]: Start accepts. Automaton has 109 states and 140 transitions. Word has length 43 [2018-11-23 02:23:56,500 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 02:23:56,500 INFO L480 AbstractCegarLoop]: Abstraction has 109 states and 140 transitions. [2018-11-23 02:23:56,500 INFO L481 AbstractCegarLoop]: Interpolant automaton has 6 states. [2018-11-23 02:23:56,500 INFO L276 IsEmpty]: Start isEmpty. Operand 109 states and 140 transitions. [2018-11-23 02:23:56,502 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 44 [2018-11-23 02:23:56,502 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 02:23:56,503 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 02:23:56,503 INFO L423 AbstractCegarLoop]: === Iteration 6 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 02:23:56,503 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 02:23:56,503 INFO L82 PathProgramCache]: Analyzing trace with hash -1735684296, now seen corresponding path program 1 times [2018-11-23 02:23:56,503 INFO L223 ckRefinementStrategy]: Switched to mode MATHSAT_FPBP [2018-11-23 02:23:56,503 INFO L69 tionRefinementEngine]: Using refinement strategy WolfRefinementStrategy No working directory specified, using /tmp/vcloud-vcloud-master/worker/working_dir_c182fa98-1d14-4b12-a347-c32694980a55/bin-2019/uautomizer/mathsat Starting monitored process 7 with mathsat -unsat_core_generation=3 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 7 with mathsat -unsat_core_generation=3 [2018-11-23 02:23:56,511 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 02:23:56,734 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 02:23:56,761 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 02:23:57,215 WARN L180 SmtUtils]: Spent 317.00 ms on a formula simplification that was a NOOP. DAG size: 14 [2018-11-23 02:23:57,568 WARN L180 SmtUtils]: Spent 259.00 ms on a formula simplification that was a NOOP. DAG size: 14 [2018-11-23 02:23:57,946 WARN L180 SmtUtils]: Spent 243.00 ms on a formula simplification that was a NOOP. DAG size: 12 [2018-11-23 02:23:58,162 WARN L180 SmtUtils]: Spent 121.00 ms on a formula simplification that was a NOOP. DAG size: 12 [2018-11-23 02:23:58,167 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 02:23:58,167 INFO L312 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2018-11-23 02:23:58,178 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-23 02:23:58,178 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [7] imperfect sequences [] total 7 [2018-11-23 02:23:58,179 INFO L459 AbstractCegarLoop]: Interpolant automaton has 7 states [2018-11-23 02:23:58,179 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2018-11-23 02:23:58,179 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=13, Invalid=29, Unknown=0, NotChecked=0, Total=42 [2018-11-23 02:23:58,179 INFO L87 Difference]: Start difference. First operand 109 states and 140 transitions. Second operand 7 states. [2018-11-23 02:24:00,840 WARN L180 SmtUtils]: Spent 128.00 ms on a formula simplification that was a NOOP. DAG size: 14 [2018-11-23 02:24:13,095 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 02:24:13,096 INFO L93 Difference]: Finished difference Result 115 states and 145 transitions. [2018-11-23 02:24:13,097 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2018-11-23 02:24:13,097 INFO L78 Accepts]: Start accepts. Automaton has 7 states. Word has length 43 [2018-11-23 02:24:13,097 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 02:24:13,098 INFO L225 Difference]: With dead ends: 115 [2018-11-23 02:24:13,098 INFO L226 Difference]: Without dead ends: 107 [2018-11-23 02:24:13,098 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 44 GetRequests, 36 SyntacticMatches, 1 SemanticMatches, 7 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 5 ImplicationChecksByTransitivity, 1.8s TimeCoverageRelationStatistics Valid=21, Invalid=51, Unknown=0, NotChecked=0, Total=72 [2018-11-23 02:24:13,098 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 107 states. [2018-11-23 02:24:13,108 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 107 to 107. [2018-11-23 02:24:13,108 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 107 states. [2018-11-23 02:24:13,108 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 107 states to 107 states and 137 transitions. [2018-11-23 02:24:13,109 INFO L78 Accepts]: Start accepts. Automaton has 107 states and 137 transitions. Word has length 43 [2018-11-23 02:24:13,109 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 02:24:13,109 INFO L480 AbstractCegarLoop]: Abstraction has 107 states and 137 transitions. [2018-11-23 02:24:13,109 INFO L481 AbstractCegarLoop]: Interpolant automaton has 7 states. [2018-11-23 02:24:13,109 INFO L276 IsEmpty]: Start isEmpty. Operand 107 states and 137 transitions. [2018-11-23 02:24:13,109 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 45 [2018-11-23 02:24:13,110 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 02:24:13,110 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 02:24:13,110 INFO L423 AbstractCegarLoop]: === Iteration 7 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 02:24:13,110 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 02:24:13,110 INFO L82 PathProgramCache]: Analyzing trace with hash 232934729, now seen corresponding path program 1 times [2018-11-23 02:24:13,110 INFO L223 ckRefinementStrategy]: Switched to mode MATHSAT_FPBP [2018-11-23 02:24:13,111 INFO L69 tionRefinementEngine]: Using refinement strategy WolfRefinementStrategy No working directory specified, using /tmp/vcloud-vcloud-master/worker/working_dir_c182fa98-1d14-4b12-a347-c32694980a55/bin-2019/uautomizer/mathsat Starting monitored process 8 with mathsat -unsat_core_generation=3 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 8 with mathsat -unsat_core_generation=3 [2018-11-23 02:24:13,113 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 02:24:13,577 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 02:24:13,621 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 02:24:13,644 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 02:24:13,644 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 02:24:13,645 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 02:24:13,685 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 02:24:13,690 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 2 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 24 treesize of output 24 [2018-11-23 02:24:13,690 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 02:24:13,703 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 02:24:13,707 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 18 treesize of output 4 [2018-11-23 02:24:13,708 INFO L267 ElimStorePlain]: Start of recursive call 5: End of recursive call: and 1 xjuncts. [2018-11-23 02:24:13,710 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 02:24:13,712 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 02:24:13,719 INFO L267 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-2 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2018-11-23 02:24:13,719 INFO L202 ElimStorePlain]: Needed 5 recursive calls to eliminate 3 variables, input treesize:42, output treesize:14 [2018-11-23 02:24:13,952 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 02:24:13,953 INFO L312 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2018-11-23 02:24:13,964 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-23 02:24:13,965 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2018-11-23 02:24:13,965 INFO L459 AbstractCegarLoop]: Interpolant automaton has 8 states [2018-11-23 02:24:13,965 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2018-11-23 02:24:13,965 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=14, Invalid=42, Unknown=0, NotChecked=0, Total=56 [2018-11-23 02:24:13,965 INFO L87 Difference]: Start difference. First operand 107 states and 137 transitions. Second operand 8 states. [2018-11-23 02:24:20,321 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 02:24:20,321 INFO L93 Difference]: Finished difference Result 115 states and 144 transitions. [2018-11-23 02:24:20,322 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2018-11-23 02:24:20,322 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 44 [2018-11-23 02:24:20,322 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 02:24:20,323 INFO L225 Difference]: With dead ends: 115 [2018-11-23 02:24:20,323 INFO L226 Difference]: Without dead ends: 109 [2018-11-23 02:24:20,324 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 47 GetRequests, 37 SyntacticMatches, 0 SemanticMatches, 10 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 2 ImplicationChecksByTransitivity, 0.4s TimeCoverageRelationStatistics Valid=42, Invalid=90, Unknown=0, NotChecked=0, Total=132 [2018-11-23 02:24:20,324 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 109 states. [2018-11-23 02:24:20,334 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 109 to 107. [2018-11-23 02:24:20,335 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 107 states. [2018-11-23 02:24:20,335 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 107 states to 107 states and 135 transitions. [2018-11-23 02:24:20,335 INFO L78 Accepts]: Start accepts. Automaton has 107 states and 135 transitions. Word has length 44 [2018-11-23 02:24:20,335 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 02:24:20,336 INFO L480 AbstractCegarLoop]: Abstraction has 107 states and 135 transitions. [2018-11-23 02:24:20,336 INFO L481 AbstractCegarLoop]: Interpolant automaton has 8 states. [2018-11-23 02:24:20,336 INFO L276 IsEmpty]: Start isEmpty. Operand 107 states and 135 transitions. [2018-11-23 02:24:20,336 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 45 [2018-11-23 02:24:20,337 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 02:24:20,337 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 02:24:20,337 INFO L423 AbstractCegarLoop]: === Iteration 8 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 02:24:20,337 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 02:24:20,337 INFO L82 PathProgramCache]: Analyzing trace with hash 1375722185, now seen corresponding path program 1 times [2018-11-23 02:24:20,337 INFO L223 ckRefinementStrategy]: Switched to mode MATHSAT_FPBP [2018-11-23 02:24:20,338 INFO L69 tionRefinementEngine]: Using refinement strategy WolfRefinementStrategy No working directory specified, using /tmp/vcloud-vcloud-master/worker/working_dir_c182fa98-1d14-4b12-a347-c32694980a55/bin-2019/uautomizer/mathsat Starting monitored process 9 with mathsat -unsat_core_generation=3 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 9 with mathsat -unsat_core_generation=3 [2018-11-23 02:24:20,345 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 02:24:20,709 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 02:24:20,740 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 02:24:20,758 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 02:24:20,758 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 02:24:20,759 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 02:24:20,788 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 27 treesize of output 21 [2018-11-23 02:24:20,788 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 02:24:20,797 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 02:24:20,801 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 02:24:20,801 INFO L267 ElimStorePlain]: Start of recursive call 5: End of recursive call: and 1 xjuncts. [2018-11-23 02:24:20,802 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 02:24:20,804 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 02:24:20,809 INFO L267 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-2 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2018-11-23 02:24:20,809 INFO L202 ElimStorePlain]: Needed 5 recursive calls to eliminate 3 variables, input treesize:42, output treesize:14 [2018-11-23 02:24:20,872 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 02:24:20,873 INFO L312 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2018-11-23 02:24:20,884 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-23 02:24:20,884 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [7] imperfect sequences [] total 7 [2018-11-23 02:24:20,884 INFO L459 AbstractCegarLoop]: Interpolant automaton has 7 states [2018-11-23 02:24:20,885 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2018-11-23 02:24:20,885 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=11, Invalid=31, Unknown=0, NotChecked=0, Total=42 [2018-11-23 02:24:20,885 INFO L87 Difference]: Start difference. First operand 107 states and 135 transitions. Second operand 7 states. [2018-11-23 02:24:22,293 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 02:24:22,293 INFO L93 Difference]: Finished difference Result 116 states and 144 transitions. [2018-11-23 02:24:22,294 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2018-11-23 02:24:22,294 INFO L78 Accepts]: Start accepts. Automaton has 7 states. Word has length 44 [2018-11-23 02:24:22,294 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 02:24:22,295 INFO L225 Difference]: With dead ends: 116 [2018-11-23 02:24:22,295 INFO L226 Difference]: Without dead ends: 86 [2018-11-23 02:24:22,295 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 46 GetRequests, 38 SyntacticMatches, 0 SemanticMatches, 8 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=29, Invalid=61, Unknown=0, NotChecked=0, Total=90 [2018-11-23 02:24:22,296 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 86 states. [2018-11-23 02:24:22,302 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 86 to 86. [2018-11-23 02:24:22,302 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 86 states. [2018-11-23 02:24:22,302 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 86 states to 86 states and 100 transitions. [2018-11-23 02:24:22,303 INFO L78 Accepts]: Start accepts. Automaton has 86 states and 100 transitions. Word has length 44 [2018-11-23 02:24:22,303 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 02:24:22,303 INFO L480 AbstractCegarLoop]: Abstraction has 86 states and 100 transitions. [2018-11-23 02:24:22,303 INFO L481 AbstractCegarLoop]: Interpolant automaton has 7 states. [2018-11-23 02:24:22,303 INFO L276 IsEmpty]: Start isEmpty. Operand 86 states and 100 transitions. [2018-11-23 02:24:22,303 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 46 [2018-11-23 02:24:22,303 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 02:24:22,304 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 02:24:22,304 INFO L423 AbstractCegarLoop]: === Iteration 9 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 02:24:22,304 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 02:24:22,304 INFO L82 PathProgramCache]: Analyzing trace with hash 1314433996, now seen corresponding path program 1 times [2018-11-23 02:24:22,304 INFO L223 ckRefinementStrategy]: Switched to mode MATHSAT_FPBP [2018-11-23 02:24:22,304 INFO L69 tionRefinementEngine]: Using refinement strategy WolfRefinementStrategy No working directory specified, using /tmp/vcloud-vcloud-master/worker/working_dir_c182fa98-1d14-4b12-a347-c32694980a55/bin-2019/uautomizer/mathsat Starting monitored process 10 with mathsat -unsat_core_generation=3 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 10 with mathsat -unsat_core_generation=3 [2018-11-23 02:24:22,307 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 02:24:22,522 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 02:24:22,550 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 02:24:22,813 WARN L180 SmtUtils]: Spent 237.00 ms on a formula simplification that was a NOOP. DAG size: 14 [2018-11-23 02:24:23,401 WARN L180 SmtUtils]: Spent 403.00 ms on a formula simplification that was a NOOP. DAG size: 14 [2018-11-23 02:24:23,874 WARN L180 SmtUtils]: Spent 327.00 ms on a formula simplification that was a NOOP. DAG size: 12 [2018-11-23 02:24:24,049 WARN L180 SmtUtils]: Spent 154.00 ms on a formula simplification that was a NOOP. DAG size: 12 [2018-11-23 02:24:24,055 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 02:24:24,055 INFO L312 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2018-11-23 02:24:24,066 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-23 02:24:24,066 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [7] imperfect sequences [] total 7 [2018-11-23 02:24:24,066 INFO L459 AbstractCegarLoop]: Interpolant automaton has 7 states [2018-11-23 02:24:24,067 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2018-11-23 02:24:24,067 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=13, Invalid=29, Unknown=0, NotChecked=0, Total=42 [2018-11-23 02:24:24,067 INFO L87 Difference]: Start difference. First operand 86 states and 100 transitions. Second operand 7 states. [2018-11-23 02:24:25,546 WARN L180 SmtUtils]: Spent 503.00 ms on a formula simplification that was a NOOP. DAG size: 14 [2018-11-23 02:24:26,797 WARN L180 SmtUtils]: Spent 148.00 ms on a formula simplification that was a NOOP. DAG size: 14 [2018-11-23 02:24:27,019 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 02:24:27,020 INFO L93 Difference]: Finished difference Result 92 states and 105 transitions. [2018-11-23 02:24:27,021 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2018-11-23 02:24:27,021 INFO L78 Accepts]: Start accepts. Automaton has 7 states. Word has length 45 [2018-11-23 02:24:27,021 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 02:24:27,022 INFO L225 Difference]: With dead ends: 92 [2018-11-23 02:24:27,022 INFO L226 Difference]: Without dead ends: 82 [2018-11-23 02:24:27,022 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 46 GetRequests, 38 SyntacticMatches, 1 SemanticMatches, 7 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 5 ImplicationChecksByTransitivity, 2.4s TimeCoverageRelationStatistics Valid=21, Invalid=51, Unknown=0, NotChecked=0, Total=72 [2018-11-23 02:24:27,022 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 82 states. [2018-11-23 02:24:27,029 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 82 to 82. [2018-11-23 02:24:27,029 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 82 states. [2018-11-23 02:24:27,029 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 82 states to 82 states and 94 transitions. [2018-11-23 02:24:27,030 INFO L78 Accepts]: Start accepts. Automaton has 82 states and 94 transitions. Word has length 45 [2018-11-23 02:24:27,030 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 02:24:27,030 INFO L480 AbstractCegarLoop]: Abstraction has 82 states and 94 transitions. [2018-11-23 02:24:27,030 INFO L481 AbstractCegarLoop]: Interpolant automaton has 7 states. [2018-11-23 02:24:27,030 INFO L276 IsEmpty]: Start isEmpty. Operand 82 states and 94 transitions. [2018-11-23 02:24:27,030 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 46 [2018-11-23 02:24:27,031 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 02:24:27,031 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 02:24:27,031 INFO L423 AbstractCegarLoop]: === Iteration 10 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 02:24:27,031 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 02:24:27,031 INFO L82 PathProgramCache]: Analyzing trace with hash 732197198, now seen corresponding path program 1 times [2018-11-23 02:24:27,032 INFO L223 ckRefinementStrategy]: Switched to mode MATHSAT_FPBP [2018-11-23 02:24:27,032 INFO L69 tionRefinementEngine]: Using refinement strategy WolfRefinementStrategy No working directory specified, using /tmp/vcloud-vcloud-master/worker/working_dir_c182fa98-1d14-4b12-a347-c32694980a55/bin-2019/uautomizer/mathsat Starting monitored process 11 with mathsat -unsat_core_generation=3 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 11 with mathsat -unsat_core_generation=3 [2018-11-23 02:24:27,037 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 02:24:27,568 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 02:24:27,611 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 02:24:27,623 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 02:24:27,624 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 02:24:27,624 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 02:24:27,663 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 02:24:27,672 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 2 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 24 treesize of output 24 [2018-11-23 02:24:27,672 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 02:24:27,683 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 02:24:27,687 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 18 treesize of output 4 [2018-11-23 02:24:27,687 INFO L267 ElimStorePlain]: Start of recursive call 5: End of recursive call: and 1 xjuncts. [2018-11-23 02:24:27,689 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 02:24:27,691 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 02:24:27,697 INFO L267 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-2 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2018-11-23 02:24:27,697 INFO L202 ElimStorePlain]: Needed 5 recursive calls to eliminate 3 variables, input treesize:42, output treesize:14 [2018-11-23 02:24:27,888 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 02:24:27,889 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 02:24:27,889 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 02:24:27,924 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 02:24:27,931 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 2 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 24 treesize of output 24 [2018-11-23 02:24:27,932 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 02:24:27,942 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 02:24:27,947 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 18 treesize of output 4 [2018-11-23 02:24:27,947 INFO L267 ElimStorePlain]: Start of recursive call 5: End of recursive call: and 1 xjuncts. [2018-11-23 02:24:27,949 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 02:24:27,951 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 02:24:27,958 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 02:24:27,958 INFO L202 ElimStorePlain]: Needed 5 recursive calls to eliminate 4 variables, input treesize:46, output treesize:18 [2018-11-23 02:24:28,315 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 02:24:28,315 INFO L312 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2018-11-23 02:24:28,328 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-23 02:24:28,328 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [13] imperfect sequences [] total 13 [2018-11-23 02:24:28,328 INFO L459 AbstractCegarLoop]: Interpolant automaton has 13 states [2018-11-23 02:24:28,328 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 13 interpolants. [2018-11-23 02:24:28,329 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=23, Invalid=133, Unknown=0, NotChecked=0, Total=156 [2018-11-23 02:24:28,329 INFO L87 Difference]: Start difference. First operand 82 states and 94 transitions. Second operand 13 states. [2018-11-23 02:24:30,126 WARN L180 SmtUtils]: Spent 295.00 ms on a formula simplification. DAG size of input: 34 DAG size of output: 32 [2018-11-23 02:24:30,481 WARN L180 SmtUtils]: Spent 102.00 ms on a formula simplification. DAG size of input: 40 DAG size of output: 35 [2018-11-23 02:24:30,623 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 02:24:30,623 INFO L93 Difference]: Finished difference Result 88 states and 99 transitions. [2018-11-23 02:24:30,625 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 15 states. [2018-11-23 02:24:30,625 INFO L78 Accepts]: Start accepts. Automaton has 13 states. Word has length 45 [2018-11-23 02:24:30,626 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 02:24:30,626 INFO L225 Difference]: With dead ends: 88 [2018-11-23 02:24:30,626 INFO L226 Difference]: Without dead ends: 74 [2018-11-23 02:24:30,626 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 53 GetRequests, 33 SyntacticMatches, 0 SemanticMatches, 20 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 28 ImplicationChecksByTransitivity, 1.7s TimeCoverageRelationStatistics Valid=76, Invalid=386, Unknown=0, NotChecked=0, Total=462 [2018-11-23 02:24:30,627 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 74 states. [2018-11-23 02:24:30,631 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 74 to 74. [2018-11-23 02:24:30,631 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 74 states. [2018-11-23 02:24:30,631 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 74 states to 74 states and 84 transitions. [2018-11-23 02:24:30,632 INFO L78 Accepts]: Start accepts. Automaton has 74 states and 84 transitions. Word has length 45 [2018-11-23 02:24:30,632 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 02:24:30,632 INFO L480 AbstractCegarLoop]: Abstraction has 74 states and 84 transitions. [2018-11-23 02:24:30,632 INFO L481 AbstractCegarLoop]: Interpolant automaton has 13 states. [2018-11-23 02:24:30,632 INFO L276 IsEmpty]: Start isEmpty. Operand 74 states and 84 transitions. [2018-11-23 02:24:30,632 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 52 [2018-11-23 02:24:30,632 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 02:24:30,632 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 02:24:30,632 INFO L423 AbstractCegarLoop]: === Iteration 11 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 02:24:30,633 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 02:24:30,633 INFO L82 PathProgramCache]: Analyzing trace with hash 923595322, now seen corresponding path program 1 times [2018-11-23 02:24:30,633 INFO L223 ckRefinementStrategy]: Switched to mode MATHSAT_FPBP [2018-11-23 02:24:30,633 INFO L69 tionRefinementEngine]: Using refinement strategy WolfRefinementStrategy No working directory specified, using /tmp/vcloud-vcloud-master/worker/working_dir_c182fa98-1d14-4b12-a347-c32694980a55/bin-2019/uautomizer/mathsat Starting monitored process 12 with mathsat -unsat_core_generation=3 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 12 with mathsat -unsat_core_generation=3 [2018-11-23 02:24:30,636 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 02:24:31,123 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 02:24:31,170 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 02:24:31,205 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 02:24:31,206 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 02:24:31,206 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 02:24:31,260 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 27 treesize of output 21 [2018-11-23 02:24:31,260 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 02:24:31,281 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 02:24:31,290 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 02:24:31,290 INFO L267 ElimStorePlain]: Start of recursive call 5: End of recursive call: and 1 xjuncts. [2018-11-23 02:24:31,291 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 02:24:31,304 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 02:24:31,327 INFO L267 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-2 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2018-11-23 02:24:31,327 INFO L202 ElimStorePlain]: Needed 5 recursive calls to eliminate 3 variables, input treesize:45, output treesize:17 [2018-11-23 02:24:31,558 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 02:24:31,559 INFO L312 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2018-11-23 02:24:31,571 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-23 02:24:31,571 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [10] imperfect sequences [] total 10 [2018-11-23 02:24:31,571 INFO L459 AbstractCegarLoop]: Interpolant automaton has 10 states [2018-11-23 02:24:31,571 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2018-11-23 02:24:31,571 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=19, Invalid=71, Unknown=0, NotChecked=0, Total=90 [2018-11-23 02:24:31,572 INFO L87 Difference]: Start difference. First operand 74 states and 84 transitions. Second operand 10 states. [2018-11-23 02:24:36,971 WARN L180 SmtUtils]: Spent 4.17 s on a formula simplification. DAG size of input: 47 DAG size of output: 45 [2018-11-23 02:24:42,456 WARN L180 SmtUtils]: Spent 146.00 ms on a formula simplification that was a NOOP. DAG size: 17 [2018-11-23 02:25:10,954 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 02:25:10,954 INFO L93 Difference]: Finished difference Result 88 states and 97 transitions. [2018-11-23 02:25:11,287 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2018-11-23 02:25:11,287 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 51 [2018-11-23 02:25:11,288 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 02:25:11,288 INFO L225 Difference]: With dead ends: 88 [2018-11-23 02:25:11,288 INFO L226 Difference]: Without dead ends: 79 [2018-11-23 02:25:11,289 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 54 GetRequests, 42 SyntacticMatches, 0 SemanticMatches, 12 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 11 ImplicationChecksByTransitivity, 4.7s TimeCoverageRelationStatistics Valid=44, Invalid=138, Unknown=0, NotChecked=0, Total=182 [2018-11-23 02:25:11,289 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 79 states. [2018-11-23 02:25:11,295 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 79 to 74. [2018-11-23 02:25:11,295 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 74 states. [2018-11-23 02:25:11,295 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 74 states to 74 states and 83 transitions. [2018-11-23 02:25:11,295 INFO L78 Accepts]: Start accepts. Automaton has 74 states and 83 transitions. Word has length 51 [2018-11-23 02:25:11,296 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 02:25:11,296 INFO L480 AbstractCegarLoop]: Abstraction has 74 states and 83 transitions. [2018-11-23 02:25:11,296 INFO L481 AbstractCegarLoop]: Interpolant automaton has 10 states. [2018-11-23 02:25:11,296 INFO L276 IsEmpty]: Start isEmpty. Operand 74 states and 83 transitions. [2018-11-23 02:25:11,296 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 52 [2018-11-23 02:25:11,296 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 02:25:11,298 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 02:25:11,298 INFO L423 AbstractCegarLoop]: === Iteration 12 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 02:25:11,298 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 02:25:11,298 INFO L82 PathProgramCache]: Analyzing trace with hash 1274241141, now seen corresponding path program 1 times [2018-11-23 02:25:11,298 INFO L223 ckRefinementStrategy]: Switched to mode MATHSAT_FPBP [2018-11-23 02:25:11,299 INFO L69 tionRefinementEngine]: Using refinement strategy WolfRefinementStrategy No working directory specified, using /tmp/vcloud-vcloud-master/worker/working_dir_c182fa98-1d14-4b12-a347-c32694980a55/bin-2019/uautomizer/mathsat Starting monitored process 13 with mathsat -unsat_core_generation=3 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 13 with mathsat -unsat_core_generation=3 [2018-11-23 02:25:11,306 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 02:25:11,575 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 02:25:11,604 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 02:25:14,514 WARN L180 SmtUtils]: Spent 868.00 ms on a formula simplification that was a NOOP. DAG size: 13 [2018-11-23 02:25:18,432 WARN L180 SmtUtils]: Spent 668.00 ms on a formula simplification that was a NOOP. DAG size: 13 [2018-11-23 02:25:18,438 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 02:25:18,438 INFO L312 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2018-11-23 02:25:18,449 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-23 02:25:18,449 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2018-11-23 02:25:18,449 INFO L459 AbstractCegarLoop]: Interpolant automaton has 8 states [2018-11-23 02:25:18,449 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2018-11-23 02:25:18,449 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=18, Invalid=38, Unknown=0, NotChecked=0, Total=56 [2018-11-23 02:25:18,449 INFO L87 Difference]: Start difference. First operand 74 states and 83 transitions. Second operand 8 states. [2018-11-23 02:25:29,107 WARN L180 SmtUtils]: Spent 1.04 s on a formula simplification that was a NOOP. DAG size: 15 [2018-11-23 02:25:37,954 WARN L180 SmtUtils]: Spent 1.19 s on a formula simplification that was a NOOP. DAG size: 15 [2018-11-23 02:25:53,473 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 02:25:53,473 INFO L93 Difference]: Finished difference Result 87 states and 95 transitions. [2018-11-23 02:25:53,812 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2018-11-23 02:25:53,813 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 51 [2018-11-23 02:25:53,813 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 02:25:53,813 INFO L225 Difference]: With dead ends: 87 [2018-11-23 02:25:53,813 INFO L226 Difference]: Without dead ends: 78 [2018-11-23 02:25:53,814 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 52 GetRequests, 43 SyntacticMatches, 1 SemanticMatches, 8 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 1 ImplicationChecksByTransitivity, 12.1s TimeCoverageRelationStatistics Valid=28, Invalid=62, Unknown=0, NotChecked=0, Total=90 [2018-11-23 02:25:53,814 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 78 states. [2018-11-23 02:25:53,822 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 78 to 74. [2018-11-23 02:25:53,822 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 74 states. [2018-11-23 02:25:53,822 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 74 states to 74 states and 82 transitions. [2018-11-23 02:25:53,822 INFO L78 Accepts]: Start accepts. Automaton has 74 states and 82 transitions. Word has length 51 [2018-11-23 02:25:53,823 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 02:25:53,823 INFO L480 AbstractCegarLoop]: Abstraction has 74 states and 82 transitions. [2018-11-23 02:25:53,823 INFO L481 AbstractCegarLoop]: Interpolant automaton has 8 states. [2018-11-23 02:25:53,823 INFO L276 IsEmpty]: Start isEmpty. Operand 74 states and 82 transitions. [2018-11-23 02:25:53,823 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 53 [2018-11-23 02:25:53,823 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 02:25:53,823 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 02:25:53,823 INFO L423 AbstractCegarLoop]: === Iteration 13 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 02:25:53,823 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 02:25:53,823 INFO L82 PathProgramCache]: Analyzing trace with hash 857869985, now seen corresponding path program 1 times [2018-11-23 02:25:53,824 INFO L223 ckRefinementStrategy]: Switched to mode MATHSAT_FPBP [2018-11-23 02:25:53,824 INFO L69 tionRefinementEngine]: Using refinement strategy WolfRefinementStrategy No working directory specified, using /tmp/vcloud-vcloud-master/worker/working_dir_c182fa98-1d14-4b12-a347-c32694980a55/bin-2019/uautomizer/mathsat Starting monitored process 14 with mathsat -unsat_core_generation=3 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 14 with mathsat -unsat_core_generation=3 [2018-11-23 02:25:53,827 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 02:25:54,373 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 02:25:54,422 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 02:25:54,476 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 02:25:54,477 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 02:25:54,477 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 02:25:54,523 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 27 treesize of output 24 [2018-11-23 02:25:54,523 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 02:25:54,534 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 02:25:54,538 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 18 treesize of output 4 [2018-11-23 02:25:54,538 INFO L267 ElimStorePlain]: Start of recursive call 5: End of recursive call: and 1 xjuncts. [2018-11-23 02:25:54,541 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 02:25:54,543 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 02:25:54,551 INFO L267 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-2 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2018-11-23 02:25:54,551 INFO L202 ElimStorePlain]: Needed 5 recursive calls to eliminate 3 variables, input treesize:42, output treesize:14 [2018-11-23 02:25:54,625 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-23 02:25:54,625 INFO L312 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2018-11-23 02:25:54,637 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-23 02:25:54,637 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2018-11-23 02:25:54,638 INFO L459 AbstractCegarLoop]: Interpolant automaton has 8 states [2018-11-23 02:25:54,638 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2018-11-23 02:25:54,638 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=13, Invalid=43, Unknown=0, NotChecked=0, Total=56 [2018-11-23 02:25:54,638 INFO L87 Difference]: Start difference. First operand 74 states and 82 transitions. Second operand 8 states. [2018-11-23 02:26:14,396 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 02:26:14,397 INFO L93 Difference]: Finished difference Result 86 states and 93 transitions. [2018-11-23 02:26:14,736 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2018-11-23 02:26:14,736 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 52 [2018-11-23 02:26:14,736 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 02:26:14,737 INFO L225 Difference]: With dead ends: 86 [2018-11-23 02:26:14,737 INFO L226 Difference]: Without dead ends: 77 [2018-11-23 02:26:14,737 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 54 GetRequests, 45 SyntacticMatches, 0 SemanticMatches, 9 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 2 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=27, Invalid=83, Unknown=0, NotChecked=0, Total=110 [2018-11-23 02:26:14,737 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 77 states. [2018-11-23 02:26:14,745 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 77 to 74. [2018-11-23 02:26:14,745 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 74 states. [2018-11-23 02:26:14,745 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 74 states to 74 states and 81 transitions. [2018-11-23 02:26:14,745 INFO L78 Accepts]: Start accepts. Automaton has 74 states and 81 transitions. Word has length 52 [2018-11-23 02:26:14,746 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 02:26:14,746 INFO L480 AbstractCegarLoop]: Abstraction has 74 states and 81 transitions. [2018-11-23 02:26:14,746 INFO L481 AbstractCegarLoop]: Interpolant automaton has 8 states. [2018-11-23 02:26:14,746 INFO L276 IsEmpty]: Start isEmpty. Operand 74 states and 81 transitions. [2018-11-23 02:26:14,746 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 53 [2018-11-23 02:26:14,746 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 02:26:14,747 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 02:26:14,747 INFO L423 AbstractCegarLoop]: === Iteration 14 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 02:26:14,747 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 02:26:14,747 INFO L82 PathProgramCache]: Analyzing trace with hash -949584478, now seen corresponding path program 1 times [2018-11-23 02:26:14,747 INFO L223 ckRefinementStrategy]: Switched to mode MATHSAT_FPBP [2018-11-23 02:26:14,748 INFO L69 tionRefinementEngine]: Using refinement strategy WolfRefinementStrategy No working directory specified, using /tmp/vcloud-vcloud-master/worker/working_dir_c182fa98-1d14-4b12-a347-c32694980a55/bin-2019/uautomizer/mathsat Starting monitored process 15 with mathsat -unsat_core_generation=3 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 15 with mathsat -unsat_core_generation=3 [2018-11-23 02:26:14,755 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 02:26:15,908 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 02:26:15,967 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 02:26:15,980 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 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 41 treesize of output 37 [2018-11-23 02:26:16,006 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 02:26:16,018 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 1 new quantified variables, introduced 2 case distinctions, treesize of input 34 treesize of output 47 [2018-11-23 02:26:16,098 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 02:26:16,099 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 02:26:16,100 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 4 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 34 treesize of output 45 [2018-11-23 02:26:16,108 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 4 disjoint index pairs (out of 3 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 30 treesize of output 36 [2018-11-23 02:26:16,108 INFO L267 ElimStorePlain]: Start of recursive call 5: End of recursive call: and 1 xjuncts. [2018-11-23 02:26:16,127 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 02:26:16,180 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 02:26:16,181 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 02:26:16,182 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 02:26:16,191 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 02:26:16,200 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 5 disjoint index pairs (out of 6 index pairs), introduced 1 new quantified variables, introduced 2 case distinctions, treesize of input 32 treesize of output 55 [2018-11-23 02:26:16,216 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 4 disjoint index pairs (out of 3 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 49 treesize of output 43 [2018-11-23 02:26:16,217 INFO L267 ElimStorePlain]: Start of recursive call 7: End of recursive call: and 1 xjuncts. [2018-11-23 02:26:16,268 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 02:26:16,270 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 02:26:16,276 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 02:26:16,291 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 6 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 2 case distinctions, treesize of input 28 treesize of output 53 [2018-11-23 02:26:16,291 INFO L267 ElimStorePlain]: Start of recursive call 8: End of recursive call: and 2 xjuncts. [2018-11-23 02:26:16,357 INFO L267 ElimStorePlain]: Start of recursive call 6: 2 dim-1 vars, End of recursive call: and 3 xjuncts. [2018-11-23 02:26:16,399 INFO L267 ElimStorePlain]: Start of recursive call 3: 2 dim-1 vars, End of recursive call: and 4 xjuncts. [2018-11-23 02:26:16,444 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 4 xjuncts. [2018-11-23 02:26:16,590 INFO L267 ElimStorePlain]: Start of recursive call 1: 6 dim-0 vars, 1 dim-1 vars, End of recursive call: 23 dim-0 vars, and 4 xjuncts. [2018-11-23 02:26:16,590 INFO L202 ElimStorePlain]: Needed 8 recursive calls to eliminate 7 variables, input treesize:166, output treesize:586 [2018-11-23 02:26:17,018 WARN L180 SmtUtils]: Spent 407.00 ms on a formula simplification that was a NOOP. DAG size: 285 [2018-11-23 02:26:17,733 WARN L180 SmtUtils]: Spent 493.00 ms on a formula simplification that was a NOOP. DAG size: 292 [2018-11-23 02:26:17,762 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 02:26:17,764 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 02:26:17,766 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 02:26:17,768 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 151 treesize of output 144 [2018-11-23 02:26:17,769 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-11-23 02:26:18,478 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 02:26:18,479 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 02:26:18,480 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 02:26:18,481 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 02:26:18,482 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 02:26:18,483 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 02:26:18,484 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 02:26:18,485 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 4 select indices, 4 select index equivalence classes, 7 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 156 treesize of output 156 [2018-11-23 02:26:18,486 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 02:26:19,182 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 02:26:19,186 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 02:26:19,187 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 02:26:19,189 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 154 treesize of output 147 [2018-11-23 02:26:19,190 INFO L267 ElimStorePlain]: Start of recursive call 4: End of recursive call: and 1 xjuncts. [2018-11-23 02:26:19,883 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 02:26:19,884 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 02:26:19,886 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 02:26:19,887 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 154 treesize of output 147 [2018-11-23 02:26:19,887 INFO L267 ElimStorePlain]: Start of recursive call 5: End of recursive call: and 1 xjuncts. [2018-11-23 02:26:20,574 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 02:26:20,575 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 02:26:20,577 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 02:26:20,578 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 02:26:20,580 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 02:26:20,582 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 02:26:20,583 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 3 select indices, 3 select index equivalence classes, 6 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 135 treesize of output 147 [2018-11-23 02:26:20,606 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 02:26:20,620 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 02:26:20,685 INFO L478 Elim1Store]: Elim1 applied some preprocessing eliminated variable of array dimension 1, 0 stores, 4 select indices, 4 select index equivalence classes, 4 disjoint index pairs (out of 6 index pairs), introduced 4 new quantified variables, introduced 5 case distinctions, treesize of input 25 treesize of output 79 [2018-11-23 02:26:20,696 INFO L267 ElimStorePlain]: Start of recursive call 7: 24 dim-0 vars, End of recursive call: 24 dim-0 vars, and 15 xjuncts. [2018-11-23 02:26:20,828 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 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 6 treesize of output 1 [2018-11-23 02:26:20,829 INFO L267 ElimStorePlain]: Start of recursive call 8: End of recursive call: and 1 xjuncts. [2018-11-23 02:26:20,906 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 02:26:20,907 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 02:26:20,908 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 02:26:20,909 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 02:26:20,922 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 02:26:20,923 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 02:26:20,925 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 3 select indices, 3 select index equivalence classes, 6 disjoint index pairs (out of 3 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 25 treesize of output 43 [2018-11-23 02:26:20,925 INFO L267 ElimStorePlain]: Start of recursive call 9: End of recursive call: and 1 xjuncts. [2018-11-23 02:26:21,008 INFO L267 ElimStorePlain]: Start of recursive call 6: 3 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 02:26:21,677 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 02:26:21,678 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 02:26:21,680 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 02:26:21,681 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 02:26:21,682 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 02:26:21,684 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 02:26:21,685 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 3 select indices, 3 select index equivalence classes, 9 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 144 treesize of output 156 [2018-11-23 02:26:21,698 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 02:26:21,712 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 02:26:21,782 INFO L478 Elim1Store]: Elim1 applied some preprocessing eliminated variable of array dimension 1, 0 stores, 4 select indices, 4 select index equivalence classes, 4 disjoint index pairs (out of 6 index pairs), introduced 4 new quantified variables, introduced 5 case distinctions, treesize of input 25 treesize of output 79 [2018-11-23 02:26:21,790 INFO L267 ElimStorePlain]: Start of recursive call 11: 24 dim-0 vars, End of recursive call: 24 dim-0 vars, and 15 xjuncts. [2018-11-23 02:26:21,972 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 02:26:21,973 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 02:26:21,974 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 02:26:21,975 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 02:26:21,976 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 02:26:21,977 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 02:26:21,978 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 3 select indices, 3 select index equivalence classes, 6 disjoint index pairs (out of 3 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 25 treesize of output 43 [2018-11-23 02:26:21,979 INFO L267 ElimStorePlain]: Start of recursive call 12: End of recursive call: and 1 xjuncts. [2018-11-23 02:26:22,066 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 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 6 treesize of output 1 [2018-11-23 02:26:22,066 INFO L267 ElimStorePlain]: Start of recursive call 13: End of recursive call: and 1 xjuncts. [2018-11-23 02:26:22,129 INFO L267 ElimStorePlain]: Start of recursive call 10: 3 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 02:26:22,676 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 02:26:22,677 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 02:26:22,678 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 02:26:22,679 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 02:26:22,680 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 02:26:22,682 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 02:26:22,683 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 3 select indices, 3 select index equivalence classes, 6 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 135 treesize of output 147 [2018-11-23 02:26:22,722 INFO L478 Elim1Store]: Elim1 applied some preprocessing eliminated variable of array dimension 1, 0 stores, 3 select indices, 3 select index equivalence classes, 2 disjoint index pairs (out of 3 index pairs), introduced 4 new quantified variables, introduced 3 case distinctions, treesize of input 15 treesize of output 39 [2018-11-23 02:26:22,723 INFO L267 ElimStorePlain]: Start of recursive call 15: End of recursive call: and 1 xjuncts. [2018-11-23 02:26:22,832 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 02:26:22,833 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 02:26:22,834 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 02:26:22,835 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 02:26:22,836 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 02:26:22,837 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 02:26:22,839 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 3 select indices, 3 select index equivalence classes, 6 disjoint index pairs (out of 3 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 25 treesize of output 43 [2018-11-23 02:26:22,839 INFO L267 ElimStorePlain]: Start of recursive call 16: End of recursive call: and 1 xjuncts. [2018-11-23 02:26:22,939 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 02:26:22,940 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 02:26:22,941 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 17 treesize of output 15 [2018-11-23 02:26:22,941 INFO L267 ElimStorePlain]: Start of recursive call 17: End of recursive call: and 1 xjuncts. [2018-11-23 02:26:23,002 INFO L267 ElimStorePlain]: Start of recursive call 14: 3 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 02:26:23,570 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 02:26:23,571 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 02:26:23,572 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 02:26:23,573 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 02:26:23,575 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 02:26:23,576 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 02:26:23,577 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 3 select indices, 3 select index equivalence classes, 6 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 132 treesize of output 144 [2018-11-23 02:26:23,588 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 02:26:23,590 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 02:26:23,597 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 02:26:23,609 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 02:26:23,610 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 02:26:23,616 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 02:26:23,720 INFO L478 Elim1Store]: Elim1 applied some preprocessing eliminated variable of array dimension 1, 0 stores, 5 select indices, 5 select index equivalence classes, 8 disjoint index pairs (out of 10 index pairs), introduced 4 new quantified variables, introduced 7 case distinctions, treesize of input 33 treesize of output 129 [2018-11-23 02:26:23,720 WARN L138 XnfTransformerHelper]: expecting exponential blowup for input size 7 [2018-11-23 02:26:23,770 INFO L267 ElimStorePlain]: Start of recursive call 19: 72 dim-0 vars, End of recursive call: 72 dim-0 vars, and 41 xjuncts. [2018-11-23 02:26:24,331 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 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 6 treesize of output 1 [2018-11-23 02:26:24,331 INFO L267 ElimStorePlain]: Start of recursive call 20: End of recursive call: and 1 xjuncts. [2018-11-23 02:26:24,405 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 02:26:24,406 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 02:26:24,407 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 17 treesize of output 15 [2018-11-23 02:26:24,407 INFO L267 ElimStorePlain]: Start of recursive call 21: End of recursive call: and 1 xjuncts. [2018-11-23 02:26:24,468 INFO L267 ElimStorePlain]: Start of recursive call 18: 3 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 02:26:24,874 INFO L267 ElimStorePlain]: Start of recursive call 1: 23 dim-0 vars, 4 dim-1 vars, 4 dim-2 vars, End of recursive call: and 4 xjuncts. [2018-11-23 02:26:24,874 INFO L202 ElimStorePlain]: Needed 21 recursive calls to eliminate 31 variables, input treesize:616, output treesize:111 [2018-11-23 02:26:27,140 WARN L180 SmtUtils]: Spent 2.05 s on a formula simplification that was a NOOP. DAG size: 52 [2018-11-23 02:26:27,183 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 02:26:27,188 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 02:26:27,197 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 02:26:27,204 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 02:26:27,212 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 02:26:27,221 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 02:26:27,223 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 7 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 230 treesize of output 250 [2018-11-23 02:26:27,224 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-11-23 02:28:09,116 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 02:28:09,124 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 02:28:09,132 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 02:28:09,138 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 02:28:09,144 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 02:28:09,151 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 02:28:09,158 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 02:28:09,163 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 02:28:09,182 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 02:28:09,204 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 02:28:09,205 INFO L303 Elim1Store]: Index analysis took 107 ms [2018-11-23 02:28:09,206 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 10 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 228 treesize of output 264 [2018-11-23 02:28:09,206 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 02:29:45,016 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 02:29:45,025 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 02:29:45,033 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 02:29:45,040 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 02:29:45,048 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 02:29:45,056 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 02:29:45,065 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 02:29:45,067 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 7 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 223 treesize of output 247 [2018-11-23 02:29:45,067 INFO L267 ElimStorePlain]: Start of recursive call 4: End of recursive call: and 1 xjuncts. [2018-11-23 02:31:43,045 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 02:31:43,054 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 02:31:43,063 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 02:31:43,071 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 02:31:43,078 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 02:31:43,087 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 02:31:43,096 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 02:31:43,098 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 7 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 226 treesize of output 250 [2018-11-23 02:31:43,099 INFO L267 ElimStorePlain]: Start of recursive call 5: End of recursive call: and 1 xjuncts. [2018-11-23 02:33:35,890 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 02:33:35,896 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 02:33:35,903 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 02:33:35,913 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 02:33:35,920 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 02:33:35,928 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 02:33:35,936 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 02:33:35,946 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 02:33:36,035 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 02:33:36,208 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 02:33:36,208 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 02:33:36,209 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 02:33:36,210 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 02:33:36,211 INFO L303 Elim1Store]: Index analysis took 351 ms [2018-11-23 02:33:36,212 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 4 stores, 4 select indices, 4 select index equivalence classes, 9 disjoint index pairs (out of 6 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 220 treesize of output 291 [2018-11-23 02:33:36,413 WARN L521 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 15 mathsat -unsat_core_generation=3 [2018-11-23 02:33:36,414 FATAL L292 ToolchainWalker]: The Plugin de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction has thrown an exception: java.lang.UnsupportedOperationException: nested self-update not yet implemented: (store v_arrayElimCell_43 (_ bv0 32) ((_ extract 31 0) v_prenex_239)) 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.traceabstraction.tracehandling.TraceCheckConstructor.constructForwardBackward(TraceCheckConstructor.java:224) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.tracehandling.TraceCheckConstructor.constructTraceCheck(TraceCheckConstructor.java:188) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.tracehandling.TraceCheckConstructor.get(TraceCheckConstructor.java:165) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.tracehandling.MultiTrackRefinementStrategy.getTraceCheck(MultiTrackRefinementStrategy.java:232) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.tracehandling.BaseRefinementStrategy.checkFeasibility(BaseRefinementStrategy.java:223) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.tracehandling.BaseRefinementStrategy.executeStrategy(BaseRefinementStrategy.java:197) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.tracehandling.TraceAbstractionRefinementEngine.(TraceAbstractionRefinementEngine.java:70) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.BasicCegarLoop.isCounterexampleFeasible(BasicCegarLoop.java:456) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.AbstractCegarLoop.iterateInternal(AbstractCegarLoop.java:434) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.AbstractCegarLoop.iterate(AbstractCegarLoop.java:376) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionStarter.iterate(TraceAbstractionStarter.java:334) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionStarter.runCegarLoops(TraceAbstractionStarter.java:174) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionStarter.(TraceAbstractionStarter.java:126) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver.finish(TraceAbstractionObserver.java:123) at de.uni_freiburg.informatik.ultimate.core.coreplugin.PluginConnector.runObserver(PluginConnector.java:168) at de.uni_freiburg.informatik.ultimate.core.coreplugin.PluginConnector.runTool(PluginConnector.java:151) at de.uni_freiburg.informatik.ultimate.core.coreplugin.PluginConnector.run(PluginConnector.java:128) at de.uni_freiburg.informatik.ultimate.core.coreplugin.ToolchainWalker.executePluginConnector(ToolchainWalker.java:232) at de.uni_freiburg.informatik.ultimate.core.coreplugin.ToolchainWalker.processPlugin(ToolchainWalker.java:226) at de.uni_freiburg.informatik.ultimate.core.coreplugin.ToolchainWalker.walkUnprotected(ToolchainWalker.java:142) at de.uni_freiburg.informatik.ultimate.core.coreplugin.ToolchainWalker.walk(ToolchainWalker.java:104) at de.uni_freiburg.informatik.ultimate.core.coreplugin.ToolchainManager$Toolchain.processToolchain(ToolchainManager.java:316) at de.uni_freiburg.informatik.ultimate.core.coreplugin.toolchain.DefaultToolchainJob.run(DefaultToolchainJob.java:145) at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55) [2018-11-23 02:33:36,416 INFO L168 Benchmark]: Toolchain (without parser) took 619908.03 ms. Allocated memory was 1.0 GB in the beginning and 1.2 GB in the end (delta: 183.0 MB). Free memory was 949.7 MB in the beginning and 951.0 MB in the end (delta: -1.3 MB). Peak memory consumption was 331.0 MB. Max. memory is 11.5 GB. [2018-11-23 02:33:36,417 INFO L168 Benchmark]: CDTParser took 0.16 ms. Allocated memory is still 1.0 GB. Free memory is still 978.7 MB. There was no memory consumed. Max. memory is 11.5 GB. [2018-11-23 02:33:36,417 INFO L168 Benchmark]: CACSL2BoogieTranslator took 332.53 ms. Allocated memory is still 1.0 GB. Free memory was 949.7 MB in the beginning and 928.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 02:33:36,417 INFO L168 Benchmark]: Boogie Procedure Inliner took 60.05 ms. Allocated memory was 1.0 GB in the beginning and 1.2 GB in the end (delta: 146.3 MB). Free memory was 928.3 MB in the beginning and 1.1 GB in the end (delta: -205.6 MB). Peak memory consumption was 16.0 MB. Max. memory is 11.5 GB. [2018-11-23 02:33:36,418 INFO L168 Benchmark]: Boogie Preprocessor took 45.97 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 02:33:36,418 INFO L168 Benchmark]: RCFGBuilder took 18701.97 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: 77.8 MB). Peak memory consumption was 77.8 MB. Max. memory is 11.5 GB. [2018-11-23 02:33:36,418 INFO L168 Benchmark]: TraceAbstraction took 600763.99 ms. Allocated memory was 1.2 GB in the beginning and 1.2 GB in the end (delta: 36.7 MB). Free memory was 1.1 GB in the beginning and 951.0 MB in the end (delta: 105.0 MB). Peak memory consumption was 291.0 MB. Max. memory is 11.5 GB. [2018-11-23 02:33:36,420 INFO L336 ainManager$Toolchain]: ####################### End [Toolchain 1] ####################### --- Results --- * Results from de.uni_freiburg.informatik.ultimate.core: - StatisticsResult: Toolchain Benchmarks Benchmark results are: * CDTParser took 0.16 ms. Allocated memory is still 1.0 GB. Free memory is still 978.7 MB. There was no memory consumed. Max. memory is 11.5 GB. * CACSL2BoogieTranslator took 332.53 ms. Allocated memory is still 1.0 GB. Free memory was 949.7 MB in the beginning and 928.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 60.05 ms. Allocated memory was 1.0 GB in the beginning and 1.2 GB in the end (delta: 146.3 MB). Free memory was 928.3 MB in the beginning and 1.1 GB in the end (delta: -205.6 MB). Peak memory consumption was 16.0 MB. Max. memory is 11.5 GB. * Boogie Preprocessor took 45.97 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 18701.97 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: 77.8 MB). Peak memory consumption was 77.8 MB. Max. memory is 11.5 GB. * TraceAbstraction took 600763.99 ms. Allocated memory was 1.2 GB in the beginning and 1.2 GB in the end (delta: 36.7 MB). Free memory was 1.1 GB in the beginning and 951.0 MB in the end (delta: 105.0 MB). Peak memory consumption was 291.0 MB. Max. memory is 11.5 GB. * Results from de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: - ExceptionOrErrorResult: UnsupportedOperationException: nested self-update not yet implemented: (store v_arrayElimCell_43 (_ bv0 32) ((_ extract 31 0) v_prenex_239)) de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: UnsupportedOperationException: nested self-update not yet implemented: (store v_arrayElimCell_43 (_ bv0 32) ((_ extract 31 0) v_prenex_239)): de.uni_freiburg.informatik.ultimate.modelcheckerutils.smt.DerPreprocessor.constructReplacementForStoreCase(DerPreprocessor.java:248) RESULT: Ultimate could not prove your program: Toolchain returned no result. [MP z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (1)] Forcibly destroying the process Received shutdown request...