./Ultimate.py --spec ../../sv-benchmarks/c/properties/unreach-call.prp --file ../../sv-benchmarks/c/float-newlib/double_req_bl_0663b_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_58b6649f-6fc8-4b8b-8a6e-b706f3989c42/bin-2019/uautomizer/data/config -Xmx12G -Xms1G -jar /tmp/vcloud-vcloud-master/worker/working_dir_58b6649f-6fc8-4b8b-8a6e-b706f3989c42/bin-2019/uautomizer/plugins/org.eclipse.equinox.launcher_1.3.100.v20150511-1540.jar -data @noDefault -ultimatedata /tmp/vcloud-vcloud-master/worker/working_dir_58b6649f-6fc8-4b8b-8a6e-b706f3989c42/bin-2019/uautomizer/data -tc /tmp/vcloud-vcloud-master/worker/working_dir_58b6649f-6fc8-4b8b-8a6e-b706f3989c42/bin-2019/uautomizer/config/AutomizerReach.xml -i ../../sv-benchmarks/c/float-newlib/double_req_bl_0663b_true-unreach-call.c -s /tmp/vcloud-vcloud-master/worker/working_dir_58b6649f-6fc8-4b8b-8a6e-b706f3989c42/bin-2019/uautomizer/config/svcomp-Reach-32bit-Automizer_Default.epf --cacsl2boogietranslator.entry.function main --witnessprinter.witness.directory /tmp/vcloud-vcloud-master/worker/working_dir_58b6649f-6fc8-4b8b-8a6e-b706f3989c42/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 0cca6d33f0772631e27f925c9516a89b4af2326a ................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................... 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_58b6649f-6fc8-4b8b-8a6e-b706f3989c42/bin-2019/uautomizer/data/config -Xmx12G -Xms1G -jar /tmp/vcloud-vcloud-master/worker/working_dir_58b6649f-6fc8-4b8b-8a6e-b706f3989c42/bin-2019/uautomizer/plugins/org.eclipse.equinox.launcher_1.3.100.v20150511-1540.jar -data @noDefault -ultimatedata /tmp/vcloud-vcloud-master/worker/working_dir_58b6649f-6fc8-4b8b-8a6e-b706f3989c42/bin-2019/uautomizer/data -tc /tmp/vcloud-vcloud-master/worker/working_dir_58b6649f-6fc8-4b8b-8a6e-b706f3989c42/bin-2019/uautomizer/config/AutomizerReach.xml -i ../../sv-benchmarks/c/float-newlib/double_req_bl_0663b_true-unreach-call.c -s /tmp/vcloud-vcloud-master/worker/working_dir_58b6649f-6fc8-4b8b-8a6e-b706f3989c42/bin-2019/uautomizer/config/svcomp-Reach-32bit-Automizer_Bitvector.epf --cacsl2boogietranslator.entry.function main --witnessprinter.witness.directory /tmp/vcloud-vcloud-master/worker/working_dir_58b6649f-6fc8-4b8b-8a6e-b706f3989c42/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 0cca6d33f0772631e27f925c9516a89b4af2326a ..................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................... Execution finished normally Writing output log to file Ultimate.log Result: ERROR: ExceptionOrErrorResult: UnsupportedOperationException: nested self-update not yet implemented: (store v_arrayElimCell_9 (_ bv0 32) ((_ extract 31 0) v_prenex_61)) --- Real Ultimate output --- This is Ultimate 0.1.23-aa41828 [2018-11-23 00:07:49,477 INFO L170 SettingsManager]: Resetting all preferences to default values... [2018-11-23 00:07:49,478 INFO L174 SettingsManager]: Resetting UltimateCore preferences to default values [2018-11-23 00:07:49,485 INFO L177 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2018-11-23 00:07:49,485 INFO L174 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2018-11-23 00:07:49,486 INFO L174 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2018-11-23 00:07:49,486 INFO L174 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2018-11-23 00:07:49,487 INFO L174 SettingsManager]: Resetting LassoRanker preferences to default values [2018-11-23 00:07:49,488 INFO L174 SettingsManager]: Resetting Reaching Definitions preferences to default values [2018-11-23 00:07:49,489 INFO L174 SettingsManager]: Resetting SyntaxChecker preferences to default values [2018-11-23 00:07:49,490 INFO L177 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2018-11-23 00:07:49,490 INFO L174 SettingsManager]: Resetting LTL2Aut preferences to default values [2018-11-23 00:07:49,490 INFO L174 SettingsManager]: Resetting PEA to Boogie preferences to default values [2018-11-23 00:07:49,491 INFO L174 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2018-11-23 00:07:49,492 INFO L174 SettingsManager]: Resetting ChcToBoogie preferences to default values [2018-11-23 00:07:49,492 INFO L174 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2018-11-23 00:07:49,493 INFO L174 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2018-11-23 00:07:49,494 INFO L174 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2018-11-23 00:07:49,495 INFO L174 SettingsManager]: Resetting CodeCheck preferences to default values [2018-11-23 00:07:49,496 INFO L174 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2018-11-23 00:07:49,497 INFO L174 SettingsManager]: Resetting RCFGBuilder preferences to default values [2018-11-23 00:07:49,498 INFO L174 SettingsManager]: Resetting TraceAbstraction preferences to default values [2018-11-23 00:07:49,499 INFO L177 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2018-11-23 00:07:49,500 INFO L177 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2018-11-23 00:07:49,500 INFO L174 SettingsManager]: Resetting TreeAutomizer preferences to default values [2018-11-23 00:07:49,500 INFO L174 SettingsManager]: Resetting IcfgTransformer preferences to default values [2018-11-23 00:07:49,501 INFO L174 SettingsManager]: Resetting Boogie Printer preferences to default values [2018-11-23 00:07:49,502 INFO L174 SettingsManager]: Resetting ReqPrinter preferences to default values [2018-11-23 00:07:49,502 INFO L174 SettingsManager]: Resetting Witness Printer preferences to default values [2018-11-23 00:07:49,503 INFO L177 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2018-11-23 00:07:49,503 INFO L174 SettingsManager]: Resetting CDTParser preferences to default values [2018-11-23 00:07:49,504 INFO L177 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2018-11-23 00:07:49,504 INFO L177 SettingsManager]: ReqParser provides no preferences, ignoring... [2018-11-23 00:07:49,504 INFO L174 SettingsManager]: Resetting SmtParser preferences to default values [2018-11-23 00:07:49,504 INFO L174 SettingsManager]: Resetting Witness Parser preferences to default values [2018-11-23 00:07:49,505 INFO L181 SettingsManager]: Finished resetting all preferences to default values... [2018-11-23 00:07:49,505 INFO L98 SettingsManager]: Beginning loading settings from /tmp/vcloud-vcloud-master/worker/working_dir_58b6649f-6fc8-4b8b-8a6e-b706f3989c42/bin-2019/uautomizer/config/svcomp-Reach-32bit-Automizer_Default.epf [2018-11-23 00:07:49,515 INFO L110 SettingsManager]: Loading preferences was successful [2018-11-23 00:07:49,516 INFO L112 SettingsManager]: Preferences different from defaults after loading the file: [2018-11-23 00:07:49,516 INFO L131 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2018-11-23 00:07:49,516 INFO L133 SettingsManager]: * ... calls to implemented procedures=ONLY_FOR_CONCURRENT_PROGRAMS [2018-11-23 00:07:49,517 INFO L131 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2018-11-23 00:07:49,517 INFO L133 SettingsManager]: * Create parallel compositions if possible=false [2018-11-23 00:07:49,517 INFO L133 SettingsManager]: * Use SBE=true [2018-11-23 00:07:49,517 INFO L131 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2018-11-23 00:07:49,517 INFO L133 SettingsManager]: * sizeof long=4 [2018-11-23 00:07:49,517 INFO L133 SettingsManager]: * Overapproximate operations on floating types=true [2018-11-23 00:07:49,518 INFO L133 SettingsManager]: * sizeof POINTER=4 [2018-11-23 00:07:49,518 INFO L133 SettingsManager]: * Check division by zero=IGNORE [2018-11-23 00:07:49,518 INFO L133 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2018-11-23 00:07:49,518 INFO L133 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2018-11-23 00:07:49,518 INFO L133 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2018-11-23 00:07:49,518 INFO L133 SettingsManager]: * sizeof long double=12 [2018-11-23 00:07:49,518 INFO L133 SettingsManager]: * Check if freed pointer was valid=false [2018-11-23 00:07:49,518 INFO L133 SettingsManager]: * Use constant arrays=true [2018-11-23 00:07:49,519 INFO L133 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2018-11-23 00:07:49,519 INFO L131 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2018-11-23 00:07:49,519 INFO L133 SettingsManager]: * Size of a code block=SequenceOfStatements [2018-11-23 00:07:49,519 INFO L133 SettingsManager]: * To the following directory=./dump/ [2018-11-23 00:07:49,519 INFO L133 SettingsManager]: * SMT solver=External_DefaultMode [2018-11-23 00:07:49,519 INFO L133 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2018-11-23 00:07:49,519 INFO L131 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2018-11-23 00:07:49,520 INFO L133 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2018-11-23 00:07:49,520 INFO L133 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopsAndPotentialCycles [2018-11-23 00:07:49,520 INFO L133 SettingsManager]: * Trace refinement strategy=CAMEL [2018-11-23 00:07:49,520 INFO L133 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode [2018-11-23 00:07:49,520 INFO L133 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2018-11-23 00:07:49,520 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_58b6649f-6fc8-4b8b-8a6e-b706f3989c42/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 -> 0cca6d33f0772631e27f925c9516a89b4af2326a [2018-11-23 00:07:49,542 INFO L81 nceAwareModelManager]: Repository-Root is: /tmp [2018-11-23 00:07:49,550 INFO L258 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2018-11-23 00:07:49,552 INFO L214 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2018-11-23 00:07:49,553 INFO L271 PluginConnector]: Initializing CDTParser... [2018-11-23 00:07:49,554 INFO L276 PluginConnector]: CDTParser initialized [2018-11-23 00:07:49,554 INFO L418 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /tmp/vcloud-vcloud-master/worker/working_dir_58b6649f-6fc8-4b8b-8a6e-b706f3989c42/bin-2019/uautomizer/../../sv-benchmarks/c/float-newlib/double_req_bl_0663b_true-unreach-call.c [2018-11-23 00:07:49,590 INFO L221 CDTParser]: Created temporary CDT project at /tmp/vcloud-vcloud-master/worker/working_dir_58b6649f-6fc8-4b8b-8a6e-b706f3989c42/bin-2019/uautomizer/data/d7684ef54/3dd52c4d36204aa59023517bfb2873b2/FLAG864f5ad54 [2018-11-23 00:07:49,927 INFO L307 CDTParser]: Found 1 translation units. [2018-11-23 00:07:49,928 INFO L161 CDTParser]: Scanning /tmp/vcloud-vcloud-master/worker/working_dir_58b6649f-6fc8-4b8b-8a6e-b706f3989c42/sv-benchmarks/c/float-newlib/double_req_bl_0663b_true-unreach-call.c [2018-11-23 00:07:49,933 INFO L355 CDTParser]: About to delete temporary CDT project at /tmp/vcloud-vcloud-master/worker/working_dir_58b6649f-6fc8-4b8b-8a6e-b706f3989c42/bin-2019/uautomizer/data/d7684ef54/3dd52c4d36204aa59023517bfb2873b2/FLAG864f5ad54 [2018-11-23 00:07:49,944 INFO L363 CDTParser]: Successfully deleted /tmp/vcloud-vcloud-master/worker/working_dir_58b6649f-6fc8-4b8b-8a6e-b706f3989c42/bin-2019/uautomizer/data/d7684ef54/3dd52c4d36204aa59023517bfb2873b2 [2018-11-23 00:07:49,946 INFO L296 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2018-11-23 00:07:49,947 INFO L131 ToolchainWalker]: Walking toolchain with 6 elements. [2018-11-23 00:07:49,947 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2018-11-23 00:07:49,948 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2018-11-23 00:07:49,950 INFO L276 PluginConnector]: CACSL2BoogieTranslator initialized [2018-11-23 00:07:49,950 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 23.11 12:07:49" (1/1) ... [2018-11-23 00:07:49,952 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@6b425268 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 12:07:49, skipping insertion in model container [2018-11-23 00:07:49,952 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 23.11 12:07:49" (1/1) ... [2018-11-23 00:07:49,958 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2018-11-23 00:07:49,978 INFO L176 MainTranslator]: Built tables and reachable declarations [2018-11-23 00:07:50,135 INFO L201 PostProcessor]: Analyzing one entry point: main [2018-11-23 00:07:50,140 INFO L191 MainTranslator]: Completed pre-run [2018-11-23 00:07:50,179 INFO L201 PostProcessor]: Analyzing one entry point: main [2018-11-23 00:07:50,236 INFO L195 MainTranslator]: Completed translation [2018-11-23 00:07:50,236 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 12:07:50 WrapperNode [2018-11-23 00:07:50,236 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2018-11-23 00:07:50,237 INFO L113 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2018-11-23 00:07:50,237 INFO L271 PluginConnector]: Initializing Boogie Procedure Inliner... [2018-11-23 00:07:50,237 INFO L276 PluginConnector]: Boogie Procedure Inliner initialized [2018-11-23 00:07:50,242 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 12:07:50" (1/1) ... [2018-11-23 00:07:50,251 INFO L185 PluginConnector]: Executing the observer Inliner from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 12:07:50" (1/1) ... [2018-11-23 00:07:50,257 INFO L132 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2018-11-23 00:07:50,257 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2018-11-23 00:07:50,257 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2018-11-23 00:07:50,257 INFO L276 PluginConnector]: Boogie Preprocessor initialized [2018-11-23 00:07:50,262 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 12:07:50" (1/1) ... [2018-11-23 00:07:50,262 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 12:07:50" (1/1) ... [2018-11-23 00:07:50,266 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 12:07:50" (1/1) ... [2018-11-23 00:07:50,266 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 12:07:50" (1/1) ... [2018-11-23 00:07:50,284 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 12:07:50" (1/1) ... [2018-11-23 00:07:50,291 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 12:07:50" (1/1) ... [2018-11-23 00:07:50,294 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 12:07:50" (1/1) ... [2018-11-23 00:07:50,297 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2018-11-23 00:07:50,297 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2018-11-23 00:07:50,297 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2018-11-23 00:07:50,297 INFO L276 PluginConnector]: RCFGBuilder initialized [2018-11-23 00:07:50,298 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 12:07:50" (1/1) ... No working directory specified, using /tmp/vcloud-vcloud-master/worker/working_dir_58b6649f-6fc8-4b8b-8a6e-b706f3989c42/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 00:07:50,332 INFO L130 BoogieDeclarations]: Found specification of procedure main [2018-11-23 00:07:50,333 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2018-11-23 00:07:50,333 INFO L130 BoogieDeclarations]: Found specification of procedure __ieee754_atan2 [2018-11-23 00:07:50,333 INFO L138 BoogieDeclarations]: Found implementation of procedure __ieee754_atan2 [2018-11-23 00:07:50,333 INFO L130 BoogieDeclarations]: Found specification of procedure read~real [2018-11-23 00:07:50,333 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2018-11-23 00:07:50,333 INFO L130 BoogieDeclarations]: Found specification of procedure fabs_double [2018-11-23 00:07:50,333 INFO L138 BoogieDeclarations]: Found implementation of procedure fabs_double [2018-11-23 00:07:50,333 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2018-11-23 00:07:50,334 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2018-11-23 00:07:50,334 INFO L130 BoogieDeclarations]: Found specification of procedure write~real [2018-11-23 00:07:50,334 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.alloc [2018-11-23 00:07:50,334 INFO L130 BoogieDeclarations]: Found specification of procedure atan_double [2018-11-23 00:07:50,334 INFO L138 BoogieDeclarations]: Found implementation of procedure atan_double [2018-11-23 00:07:50,334 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2018-11-23 00:07:50,334 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2018-11-23 00:07:50,334 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2018-11-23 00:07:50,334 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~real [2018-11-23 00:07:50,334 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2018-11-23 00:07:50,733 INFO L275 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2018-11-23 00:07:50,733 INFO L280 CfgBuilder]: Removed 16 assue(true) statements. [2018-11-23 00:07:50,733 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 23.11 12:07:50 BoogieIcfgContainer [2018-11-23 00:07:50,733 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2018-11-23 00:07:50,734 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2018-11-23 00:07:50,734 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2018-11-23 00:07:50,736 INFO L276 PluginConnector]: TraceAbstraction initialized [2018-11-23 00:07:50,736 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 23.11 12:07:49" (1/3) ... [2018-11-23 00:07:50,736 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@35c94bea and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 23.11 12:07:50, skipping insertion in model container [2018-11-23 00:07:50,736 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 12:07:50" (2/3) ... [2018-11-23 00:07:50,736 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@35c94bea and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 23.11 12:07:50, skipping insertion in model container [2018-11-23 00:07:50,737 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 23.11 12:07:50" (3/3) ... [2018-11-23 00:07:50,738 INFO L112 eAbstractionObserver]: Analyzing ICFG double_req_bl_0663b_true-unreach-call.c [2018-11-23 00:07:50,744 INFO L156 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2018-11-23 00:07:50,750 INFO L168 ceAbstractionStarter]: Appying trace abstraction to program that has 1 error locations. [2018-11-23 00:07:50,759 INFO L257 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2018-11-23 00:07:50,779 INFO L133 ementStrategyFactory]: Using default assertion order modulation [2018-11-23 00:07:50,780 INFO L382 AbstractCegarLoop]: Interprodecural is true [2018-11-23 00:07:50,780 INFO L383 AbstractCegarLoop]: Hoare is true [2018-11-23 00:07:50,780 INFO L384 AbstractCegarLoop]: Compute interpolants for FPandBP [2018-11-23 00:07:50,780 INFO L385 AbstractCegarLoop]: Backedges is STRAIGHT_LINE [2018-11-23 00:07:50,780 INFO L386 AbstractCegarLoop]: Determinization is PREDICATE_ABSTRACTION [2018-11-23 00:07:50,780 INFO L387 AbstractCegarLoop]: Difference is false [2018-11-23 00:07:50,780 INFO L388 AbstractCegarLoop]: Minimize is MINIMIZE_SEVPA [2018-11-23 00:07:50,780 INFO L393 AbstractCegarLoop]: ======== Iteration 0==of CEGAR loop == AllErrorsAtOnce======== [2018-11-23 00:07:50,794 INFO L276 IsEmpty]: Start isEmpty. Operand 103 states. [2018-11-23 00:07:50,799 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 20 [2018-11-23 00:07:50,799 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 00:07:50,800 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 00:07:50,802 INFO L423 AbstractCegarLoop]: === Iteration 1 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 00:07:50,806 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 00:07:50,806 INFO L82 PathProgramCache]: Analyzing trace with hash -1380022172, now seen corresponding path program 1 times [2018-11-23 00:07:50,807 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 00:07:50,807 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 00:07:50,836 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 00:07:50,836 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 00:07:50,836 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 00:07:50,878 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 00:07:50,917 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 00:07:50,918 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-23 00:07:50,918 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [2] imperfect sequences [] total 2 [2018-11-23 00:07:50,921 INFO L459 AbstractCegarLoop]: Interpolant automaton has 2 states [2018-11-23 00:07:50,929 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 2 interpolants. [2018-11-23 00:07:50,929 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=1, Invalid=1, Unknown=0, NotChecked=0, Total=2 [2018-11-23 00:07:50,931 INFO L87 Difference]: Start difference. First operand 103 states. Second operand 2 states. [2018-11-23 00:07:50,950 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 00:07:50,950 INFO L93 Difference]: Finished difference Result 197 states and 314 transitions. [2018-11-23 00:07:50,950 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 2 states. [2018-11-23 00:07:50,951 INFO L78 Accepts]: Start accepts. Automaton has 2 states. Word has length 19 [2018-11-23 00:07:50,951 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 00:07:50,958 INFO L225 Difference]: With dead ends: 197 [2018-11-23 00:07:50,958 INFO L226 Difference]: Without dead ends: 98 [2018-11-23 00:07:50,961 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 00:07:50,972 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 98 states. [2018-11-23 00:07:50,988 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 98 to 98. [2018-11-23 00:07:50,988 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 98 states. [2018-11-23 00:07:50,990 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 98 states to 98 states and 137 transitions. [2018-11-23 00:07:50,992 INFO L78 Accepts]: Start accepts. Automaton has 98 states and 137 transitions. Word has length 19 [2018-11-23 00:07:50,992 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 00:07:50,992 INFO L480 AbstractCegarLoop]: Abstraction has 98 states and 137 transitions. [2018-11-23 00:07:50,992 INFO L481 AbstractCegarLoop]: Interpolant automaton has 2 states. [2018-11-23 00:07:50,992 INFO L276 IsEmpty]: Start isEmpty. Operand 98 states and 137 transitions. [2018-11-23 00:07:50,993 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 22 [2018-11-23 00:07:50,993 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 00:07:50,993 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] [2018-11-23 00:07:50,993 INFO L423 AbstractCegarLoop]: === Iteration 2 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 00:07:50,994 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 00:07:50,994 INFO L82 PathProgramCache]: Analyzing trace with hash 959017453, now seen corresponding path program 1 times [2018-11-23 00:07:50,994 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 00:07:50,994 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 00:07:50,995 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 00:07:50,995 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 00:07:50,995 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 00:07:51,035 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-11-23 00:07:51,064 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-11-23 00:07:51,089 INFO L469 BasicCegarLoop]: Counterexample might be feasible ----- class de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder.RCFGBacktranslator [?] CALL call ULTIMATE.init(); VAL [|#NULL.base|=114, |#NULL.offset|=106, |old(#NULL.base)|=114, |old(#NULL.offset)|=106, |old(~#aT_atan~0.base)|=97, |old(~#aT_atan~0.offset)|=104, |old(~#atanhi_atan~0.base)|=100, |old(~#atanhi_atan~0.offset)|=108, |old(~#atanlo_atan~0.base)|=92, |old(~#atanlo_atan~0.offset)|=119, |old(~huge_atan~0)|=116.0, |old(~one_atan~0)|=105.0, |old(~pi_lo_atan2~0)|=103.0, |old(~pi_o_2~0)|=89.0, |old(~pi_o_4~0)|=107.0, |old(~pi~0)|=111.0, |old(~tiny_atan2~0)|=118.0, |old(~zero_atan2~0)|=96.0, |~#aT_atan~0.base|=97, |~#aT_atan~0.offset|=104, |~#atanhi_atan~0.base|=100, |~#atanhi_atan~0.offset|=108, |~#atanlo_atan~0.base|=92, |~#atanlo_atan~0.offset|=119, ~huge_atan~0=116.0, ~one_atan~0=105.0, ~pi_lo_atan2~0=103.0, ~pi_o_2~0=89.0, ~pi_o_4~0=107.0, ~pi~0=111.0, ~tiny_atan2~0=118.0, ~zero_atan2~0=96.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)|=114, |old(#NULL.offset)|=106, |old(~#aT_atan~0.base)|=97, |old(~#aT_atan~0.offset)|=104, |old(~#atanhi_atan~0.base)|=100, |old(~#atanhi_atan~0.offset)|=108, |old(~#atanlo_atan~0.base)|=92, |old(~#atanlo_atan~0.offset)|=119, |old(~huge_atan~0)|=116.0, |old(~one_atan~0)|=105.0, |old(~pi_lo_atan2~0)|=103.0, |old(~pi_o_2~0)|=89.0, |old(~pi_o_4~0)|=107.0, |old(~pi~0)|=111.0, |old(~tiny_atan2~0)|=118.0, |old(~zero_atan2~0)|=96.0, |~#aT_atan~0.base|=99, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=101, |~#atanhi_atan~0.offset|=0, |~#atanlo_atan~0.base|=90, |~#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)|=114, |old(#NULL.offset)|=106, |old(~#aT_atan~0.base)|=97, |old(~#aT_atan~0.offset)|=104, |old(~#atanhi_atan~0.base)|=100, |old(~#atanhi_atan~0.offset)|=108, |old(~#atanlo_atan~0.base)|=92, |old(~#atanlo_atan~0.offset)|=119, |old(~huge_atan~0)|=116.0, |old(~one_atan~0)|=105.0, |old(~pi_lo_atan2~0)|=103.0, |old(~pi_o_2~0)|=89.0, |old(~pi_o_4~0)|=107.0, |old(~pi~0)|=111.0, |old(~tiny_atan2~0)|=118.0, |old(~zero_atan2~0)|=96.0, |~#aT_atan~0.base|=99, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=101, |~#atanhi_atan~0.offset|=0, |~#atanlo_atan~0.base|=90, |~#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 #337#return; VAL [|#NULL.base|=0, |#NULL.offset|=0, |~#aT_atan~0.base|=99, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=101, |~#atanhi_atan~0.offset|=0, |~#atanlo_atan~0.base|=90, |~#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~ret50 := main(); VAL [|#NULL.base|=0, |#NULL.offset|=0, |~#aT_atan~0.base|=99, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=101, |~#atanhi_atan~0.offset|=0, |~#atanlo_atan~0.base|=90, |~#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 := 0.0;~y~0 := #t~nondet48;havoc #t~nondet48; VAL [main_~x~0=0.0, main_~y~0=117.0, |#NULL.base|=0, |#NULL.offset|=0, |~#aT_atan~0.base|=99, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=101, |~#atanhi_atan~0.offset|=0, |~#atanlo_atan~0.base|=90, |~#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(~y~0, 0.0); VAL [main_~x~0=0.0, main_~y~0=117.0, |#NULL.base|=0, |#NULL.offset|=0, |~#aT_atan~0.base|=99, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=101, |~#atanhi_atan~0.offset|=0, |~#atanlo_atan~0.base|=90, |~#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~ret49 := __ieee754_atan2(~y~0, ~x~0); VAL [|#NULL.base|=0, |#NULL.offset|=0, |__ieee754_atan2_#in~x|=0.0, |__ieee754_atan2_#in~y|=117.0, |~#aT_atan~0.base|=99, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=101, |~#atanhi_atan~0.offset|=0, |~#atanlo_atan~0.base|=90, |~#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=0.0, __ieee754_atan2_~y=117.0, |#NULL.base|=0, |#NULL.offset|=0, |__ieee754_atan2_#in~x|=0.0, |__ieee754_atan2_#in~y|=117.0, |~#aT_atan~0.base|=99, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=101, |~#atanhi_atan~0.offset|=0, |~#atanlo_atan~0.base|=90, |~#atanlo_atan~0.offset|=0, ~huge_atan~0=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0, ~one_atan~0=1.0, ~pi_lo_atan2~0=(/ 3061616997868382943.0 25000000000000000000000000000000000.0), ~pi_o_2~0=(/ 785398163397448279.0 500000000000000000.0), ~pi_o_4~0=(/ 785398163397448279.0 1000000000000000000.0), ~pi~0=(/ 785398163397448279.0 250000000000000000.0), ~tiny_atan2~0=(/ 1.0 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0), ~zero_atan2~0=0.0] [?] call ~#ew_u~0.base, ~#ew_u~0.offset := #Ultimate.alloc(8);call write~real(~x, ~#ew_u~0.base, ~#ew_u~0.offset, 8);call #t~mem27 := read~int(~#ew_u~0.base, 4 + ~#ew_u~0.offset, 4);~hx~1 := (if #t~mem27 % 4294967296 % 4294967296 <= 2147483647 then #t~mem27 % 4294967296 % 4294967296 else #t~mem27 % 4294967296 % 4294967296 - 4294967296);call write~real(#t~union28, ~#ew_u~0.base, ~#ew_u~0.offset, 8);havoc #t~union28;havoc #t~mem27;call #t~mem29 := read~int(~#ew_u~0.base, ~#ew_u~0.offset, 4);~lx~0 := #t~mem29;call write~real(#t~union30, ~#ew_u~0.base, ~#ew_u~0.offset, 8);havoc #t~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=5, __ieee754_atan2_~lx~0=112, __ieee754_atan2_~x=0.0, __ieee754_atan2_~y=117.0, |#NULL.base|=0, |#NULL.offset|=0, |__ieee754_atan2_#in~x|=0.0, |__ieee754_atan2_#in~y|=117.0, |~#aT_atan~0.base|=99, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=101, |~#atanhi_atan~0.offset|=0, |~#atanlo_atan~0.base|=90, |~#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=5, __ieee754_atan2_~lx~0=112, __ieee754_atan2_~x=0.0, __ieee754_atan2_~y=117.0, |#NULL.base|=0, |#NULL.offset|=0, |__ieee754_atan2_#in~x|=0.0, |__ieee754_atan2_#in~y|=117.0, |~#aT_atan~0.base|=99, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=101, |~#atanhi_atan~0.offset|=0, |~#atanlo_atan~0.base|=90, |~#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=5, __ieee754_atan2_~lx~0=112, __ieee754_atan2_~x=0.0, __ieee754_atan2_~y=117.0, |#NULL.base|=0, |#NULL.offset|=0, |__ieee754_atan2_#in~x|=0.0, |__ieee754_atan2_#in~y|=117.0, |~#aT_atan~0.base|=99, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=101, |~#atanhi_atan~0.offset|=0, |~#atanlo_atan~0.base|=90, |~#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~union34;havoc #t~mem33;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=5, __ieee754_atan2_~hy~0=2, __ieee754_atan2_~lx~0=112, __ieee754_atan2_~ly~0=93, __ieee754_atan2_~x=0.0, __ieee754_atan2_~y=117.0, |#NULL.base|=0, |#NULL.offset|=0, |__ieee754_atan2_#in~x|=0.0, |__ieee754_atan2_#in~y|=117.0, |~#aT_atan~0.base|=99, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=101, |~#atanhi_atan~0.offset|=0, |~#atanlo_atan~0.base|=90, |~#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=5, __ieee754_atan2_~hy~0=2, __ieee754_atan2_~lx~0=112, __ieee754_atan2_~ly~0=93, __ieee754_atan2_~x=0.0, __ieee754_atan2_~y=117.0, |#NULL.base|=0, |#NULL.offset|=0, |__ieee754_atan2_#in~x|=0.0, |__ieee754_atan2_#in~y|=117.0, |~#aT_atan~0.base|=99, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=101, |~#atanhi_atan~0.offset|=0, |~#atanlo_atan~0.base|=90, |~#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=5, __ieee754_atan2_~hy~0=2, __ieee754_atan2_~lx~0=112, __ieee754_atan2_~ly~0=93, __ieee754_atan2_~x=0.0, __ieee754_atan2_~y=117.0, |#NULL.base|=0, |#NULL.offset|=0, |__ieee754_atan2_#in~x|=0.0, |__ieee754_atan2_#in~y|=117.0, |~#aT_atan~0.base|=99, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=101, |~#atanhi_atan~0.offset|=0, |~#atanlo_atan~0.base|=90, |~#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=5, __ieee754_atan2_~hy~0=2, __ieee754_atan2_~lx~0=112, __ieee754_atan2_~ly~0=93, __ieee754_atan2_~x=0.0, __ieee754_atan2_~y=117.0, |#NULL.base|=0, |#NULL.offset|=0, |__ieee754_atan2_#in~x|=0.0, |__ieee754_atan2_#in~y|=117.0, |~#aT_atan~0.base|=99, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=101, |~#atanhi_atan~0.offset|=0, |~#atanlo_atan~0.base|=90, |~#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=5, __ieee754_atan2_~hy~0=2, __ieee754_atan2_~lx~0=112, __ieee754_atan2_~ly~0=93, __ieee754_atan2_~x=0.0, __ieee754_atan2_~y=117.0, |#NULL.base|=0, |#NULL.offset|=0, |__ieee754_atan2_#in~x|=0.0, |__ieee754_atan2_#in~y|=117.0, |~#aT_atan~0.base|=99, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=101, |~#atanhi_atan~0.offset|=0, |~#atanlo_atan~0.base|=90, |~#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 #327#return; VAL [main_~x~0=0.0, main_~y~0=117.0, |#NULL.base|=0, |#NULL.offset|=0, |main_#t~ret49|=110.0, |~#aT_atan~0.base|=99, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=101, |~#atanhi_atan~0.offset|=0, |~#atanlo_atan~0.base|=90, |~#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~ret49;havoc #t~ret49; VAL [main_~res~0=110.0, main_~x~0=0.0, main_~y~0=117.0, |#NULL.base|=0, |#NULL.offset|=0, |~#aT_atan~0.base|=99, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=101, |~#atanhi_atan~0.offset|=0, |~#atanlo_atan~0.base|=90, |~#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, ~pi_o_2~0); VAL [main_~res~0=110.0, main_~x~0=0.0, main_~y~0=117.0, |#NULL.base|=0, |#NULL.offset|=0, |~#aT_atan~0.base|=99, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=101, |~#atanhi_atan~0.offset|=0, |~#atanlo_atan~0.base|=90, |~#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=110.0, main_~x~0=0.0, main_~y~0=117.0, |#NULL.base|=0, |#NULL.offset|=0, |~#aT_atan~0.base|=99, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=101, |~#atanhi_atan~0.offset|=0, |~#atanlo_atan~0.base|=90, |~#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=114, #NULL.offset=106, old(#NULL.base)=114, old(#NULL.offset)=106, old(~#aT_atan~0.base)=97, old(~#aT_atan~0.offset)=104, old(~#atanhi_atan~0.base)=100, old(~#atanhi_atan~0.offset)=108, old(~#atanlo_atan~0.base)=92, old(~#atanlo_atan~0.offset)=119, old(~huge_atan~0)=116.0, old(~one_atan~0)=105.0, old(~pi_lo_atan2~0)=103.0, old(~pi_o_2~0)=89.0, old(~pi_o_4~0)=107.0, old(~pi~0)=111.0, old(~tiny_atan2~0)=118.0, old(~zero_atan2~0)=96.0, ~#aT_atan~0.base=97, ~#aT_atan~0.offset=104, ~#atanhi_atan~0.base=100, ~#atanhi_atan~0.offset=108, ~#atanlo_atan~0.base=92, ~#atanlo_atan~0.offset=119, ~huge_atan~0=116.0, ~one_atan~0=105.0, ~pi_lo_atan2~0=103.0, ~pi_o_2~0=89.0, ~pi_o_4~0=107.0, ~pi~0=111.0, ~tiny_atan2~0=118.0, ~zero_atan2~0=96.0] [?] #NULL.base, #NULL.offset := 0, 0; [?] #valid := #valid[0 := 0]; [L37-L42] call ~#atanhi_atan~0.base, ~#atanhi_atan~0.offset := #Ultimate.alloc(32); [L37-L42] call write~init~real(0.4636476090008061, ~#atanhi_atan~0.base, ~#atanhi_atan~0.offset, 8); [L37-L42] call write~init~real(0.7853981633974483, ~#atanhi_atan~0.base, 8 + ~#atanhi_atan~0.offset, 8); [L37-L42] call write~init~real(0.982793723247329, ~#atanhi_atan~0.base, 16 + ~#atanhi_atan~0.offset, 8); [L37-L42] call write~init~real(1.5707963267948966, ~#atanhi_atan~0.base, 24 + ~#atanhi_atan~0.offset, 8); [L44-L49] call ~#atanlo_atan~0.base, ~#atanlo_atan~0.offset := #Ultimate.alloc(32); [L44-L49] call write~init~real(2.2698777452961687E-17, ~#atanlo_atan~0.base, ~#atanlo_atan~0.offset, 8); [L44-L49] call write~init~real(3.061616997868383E-17, ~#atanlo_atan~0.base, 8 + ~#atanlo_atan~0.offset, 8); [L44-L49] call write~init~real(1.3903311031230998E-17, ~#atanlo_atan~0.base, 16 + ~#atanlo_atan~0.offset, 8); [L44-L49] call write~init~real(6.123233995736766E-17, ~#atanlo_atan~0.base, 24 + ~#atanlo_atan~0.offset, 8); [L51-L58] call ~#aT_atan~0.base, ~#aT_atan~0.offset := #Ultimate.alloc(88); [L51-L58] call write~init~real(0.3333333333333293, ~#aT_atan~0.base, ~#aT_atan~0.offset, 8); [L51-L58] call write~init~real(~someUnaryDOUBLEoperation(0.19999999999876483), ~#aT_atan~0.base, 8 + ~#aT_atan~0.offset, 8); [L51-L58] call write~init~real(0.14285714272503466, ~#aT_atan~0.base, 16 + ~#aT_atan~0.offset, 8); [L51-L58] call write~init~real(~someUnaryDOUBLEoperation(0.11111110405462356), ~#aT_atan~0.base, 24 + ~#aT_atan~0.offset, 8); [L51-L58] call write~init~real(0.09090887133436507, ~#aT_atan~0.base, 32 + ~#aT_atan~0.offset, 8); [L51-L58] call write~init~real(~someUnaryDOUBLEoperation(0.0769187620504483), ~#aT_atan~0.base, 40 + ~#aT_atan~0.offset, 8); [L51-L58] call write~init~real(0.06661073137387531, ~#aT_atan~0.base, 48 + ~#aT_atan~0.offset, 8); [L51-L58] call write~init~real(~someUnaryDOUBLEoperation(0.058335701337905735), ~#aT_atan~0.base, 56 + ~#aT_atan~0.offset, 8); [L51-L58] call write~init~real(0.049768779946159324, ~#aT_atan~0.base, 64 + ~#aT_atan~0.offset, 8); [L51-L58] call write~init~real(~someUnaryDOUBLEoperation(0.036531572744216916), ~#aT_atan~0.base, 72 + ~#aT_atan~0.offset, 8); [L51-L58] call write~init~real(0.016285820115365782, ~#aT_atan~0.base, 80 + ~#aT_atan~0.offset, 8); [L60-L62] ~one_atan~0 := 1.0; [L60-L62] ~pi_o_4~0 := 0.7853981633974483; [L60-L62] ~pi_o_2~0 := 1.5707963267948966; [L60-L62] ~pi~0 := 3.141592653589793; [L60-L62] ~huge_atan~0 := 1.0E300; [L139-L140] ~tiny_atan2~0 := 1.0E-300; [L139-L140] ~zero_atan2~0 := 0.0; [L139-L140] ~pi_lo_atan2~0 := 1.2246467991473532E-16; VAL [#NULL.base=0, #NULL.offset=0, old(#NULL.base)=114, old(#NULL.offset)=106, old(~#aT_atan~0.base)=97, old(~#aT_atan~0.offset)=104, old(~#atanhi_atan~0.base)=100, old(~#atanhi_atan~0.offset)=108, old(~#atanlo_atan~0.base)=92, old(~#atanlo_atan~0.offset)=119, old(~huge_atan~0)=116.0, old(~one_atan~0)=105.0, old(~pi_lo_atan2~0)=103.0, old(~pi_o_2~0)=89.0, old(~pi_o_4~0)=107.0, old(~pi~0)=111.0, old(~tiny_atan2~0)=118.0, old(~zero_atan2~0)=96.0, ~#aT_atan~0.base=99, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=101, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=90, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_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)=114, old(#NULL.offset)=106, old(~#aT_atan~0.base)=97, old(~#aT_atan~0.offset)=104, old(~#atanhi_atan~0.base)=100, old(~#atanhi_atan~0.offset)=108, old(~#atanlo_atan~0.base)=92, old(~#atanlo_atan~0.offset)=119, old(~huge_atan~0)=116.0, old(~one_atan~0)=105.0, old(~pi_lo_atan2~0)=103.0, old(~pi_o_2~0)=89.0, old(~pi_o_4~0)=107.0, old(~pi~0)=111.0, old(~tiny_atan2~0)=118.0, old(~zero_atan2~0)=96.0, ~#aT_atan~0.base=99, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=101, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=90, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_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=99, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=101, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=90, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_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~ret50 := main(); VAL [#NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=99, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=101, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=90, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [L251] ~x~0 := 0.0; [L252] ~y~0 := #t~nondet48; [L252] havoc #t~nondet48; VAL [#NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=99, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=101, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=90, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~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=0.0, ~y~0=117.0, ~zero_atan2~0=0.0] [L254-L263] assume ~someBinaryDOUBLEComparisonOperation(~y~0, 0.0); VAL [#NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=99, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=101, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=90, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~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=0.0, ~y~0=117.0, ~zero_atan2~0=0.0] [L256] CALL call #t~ret49 := __ieee754_atan2(~y~0, ~x~0); VAL [#in~x=0.0, #in~y=117.0, #NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=99, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=101, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=90, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_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=0.0, #in~y=117.0, #NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=99, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=101, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=90, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~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.0, ~y=117.0, ~zero_atan2~0=0.0] [L148] call ~#ew_u~0.base, ~#ew_u~0.offset := #Ultimate.alloc(8); [L149] call write~real(~x, ~#ew_u~0.base, ~#ew_u~0.offset, 8); [L150] call #t~mem27 := read~int(~#ew_u~0.base, 4 + ~#ew_u~0.offset, 4); [L150] ~hx~1 := (if #t~mem27 % 4294967296 % 4294967296 <= 2147483647 then #t~mem27 % 4294967296 % 4294967296 else #t~mem27 % 4294967296 % 4294967296 - 4294967296); [L150] call write~real(#t~union28, ~#ew_u~0.base, ~#ew_u~0.offset, 8); [L150] havoc #t~union28; [L150] havoc #t~mem27; [L151] call #t~mem29 := read~int(~#ew_u~0.base, ~#ew_u~0.offset, 4); [L151] ~lx~0 := #t~mem29; [L151] call write~real(#t~union30, ~#ew_u~0.base, ~#ew_u~0.offset, 8); [L151] havoc #t~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=0.0, #in~y=117.0, #NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=99, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=101, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=90, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~hx~1=5, ~lx~0=112, ~one_atan~0=1.0, ~pi_lo_atan2~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.0, ~y=117.0, ~zero_atan2~0=0.0] [L153] ~ix~1 := ~bitwiseAnd(~hx~1, 2147483647); VAL [#in~x=0.0, #in~y=117.0, #NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=99, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=101, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=90, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~hx~1=5, ~lx~0=112, ~one_atan~0=1.0, ~pi_lo_atan2~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.0, ~y=117.0, ~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~union34; [L158] havoc #t~mem33; [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=0.0, #in~y=117.0, #NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=99, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=101, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=90, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~hx~1=5, ~hy~0=2, ~lx~0=112, ~ly~0=93, ~one_atan~0=1.0, ~pi_lo_atan2~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.0, ~y=117.0, ~zero_atan2~0=0.0] [L160] ~iy~0 := ~bitwiseAnd(~hy~0, 2147483647); VAL [#in~x=0.0, #in~y=117.0, #NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=99, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=101, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=90, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~hx~1=5, ~hy~0=2, ~lx~0=112, ~ly~0=93, ~one_atan~0=1.0, ~pi_lo_atan2~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.0, ~y=117.0, ~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=0.0, #in~y=117.0, #NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=99, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=101, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=90, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~hx~1=5, ~hy~0=2, ~lx~0=112, ~ly~0=93, ~one_atan~0=1.0, ~pi_lo_atan2~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.0, ~y=117.0, ~zero_atan2~0=0.0] [L142-L242] ensures true; VAL [#in~x=0.0, #in~y=117.0, #NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=99, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=101, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=90, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~hx~1=5, ~hy~0=2, ~lx~0=112, ~ly~0=93, ~one_atan~0=1.0, ~pi_lo_atan2~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.0, ~y=117.0, ~zero_atan2~0=0.0] [L256] RET call #t~ret49 := __ieee754_atan2(~y~0, ~x~0); VAL [#NULL.base=0, #NULL.offset=0, #t~ret49=110.0, ~#aT_atan~0.base=99, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=101, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=90, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~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=0.0, ~y~0=117.0, ~zero_atan2~0=0.0] [L256] ~res~0 := #t~ret49; [L256] havoc #t~ret49; VAL [#NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=99, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=101, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=90, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=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=110.0, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=0.0, ~y~0=117.0, ~zero_atan2~0=0.0] [L259-L262] assume ~someBinaryDOUBLEComparisonOperation(~res~0, ~pi_o_2~0); VAL [#NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=99, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=101, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=90, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=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=110.0, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=0.0, ~y~0=117.0, ~zero_atan2~0=0.0] [L260] assert false; VAL [#NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=99, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=101, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=90, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=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=110.0, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=0.0, ~y~0=117.0, ~zero_atan2~0=0.0] ----- ----- class de.uni_freiburg.informatik.ultimate.boogie.preprocessor.BoogiePreprocessorBacktranslator [?] CALL call ULTIMATE.init(); VAL [#NULL.base=114, #NULL.offset=106, old(#NULL.base)=114, old(#NULL.offset)=106, old(~#aT_atan~0.base)=97, old(~#aT_atan~0.offset)=104, old(~#atanhi_atan~0.base)=100, old(~#atanhi_atan~0.offset)=108, old(~#atanlo_atan~0.base)=92, old(~#atanlo_atan~0.offset)=119, old(~huge_atan~0)=116.0, old(~one_atan~0)=105.0, old(~pi_lo_atan2~0)=103.0, old(~pi_o_2~0)=89.0, old(~pi_o_4~0)=107.0, old(~pi~0)=111.0, old(~tiny_atan2~0)=118.0, old(~zero_atan2~0)=96.0, ~#aT_atan~0.base=97, ~#aT_atan~0.offset=104, ~#atanhi_atan~0.base=100, ~#atanhi_atan~0.offset=108, ~#atanlo_atan~0.base=92, ~#atanlo_atan~0.offset=119, ~huge_atan~0=116.0, ~one_atan~0=105.0, ~pi_lo_atan2~0=103.0, ~pi_o_2~0=89.0, ~pi_o_4~0=107.0, ~pi~0=111.0, ~tiny_atan2~0=118.0, ~zero_atan2~0=96.0] [?] #NULL.base, #NULL.offset := 0, 0; [?] #valid := #valid[0 := 0]; [L37-L42] call ~#atanhi_atan~0.base, ~#atanhi_atan~0.offset := #Ultimate.alloc(32); [L37-L42] call write~init~real(0.4636476090008061, ~#atanhi_atan~0.base, ~#atanhi_atan~0.offset, 8); [L37-L42] call write~init~real(0.7853981633974483, ~#atanhi_atan~0.base, 8 + ~#atanhi_atan~0.offset, 8); [L37-L42] call write~init~real(0.982793723247329, ~#atanhi_atan~0.base, 16 + ~#atanhi_atan~0.offset, 8); [L37-L42] call write~init~real(1.5707963267948966, ~#atanhi_atan~0.base, 24 + ~#atanhi_atan~0.offset, 8); [L44-L49] call ~#atanlo_atan~0.base, ~#atanlo_atan~0.offset := #Ultimate.alloc(32); [L44-L49] call write~init~real(2.2698777452961687E-17, ~#atanlo_atan~0.base, ~#atanlo_atan~0.offset, 8); [L44-L49] call write~init~real(3.061616997868383E-17, ~#atanlo_atan~0.base, 8 + ~#atanlo_atan~0.offset, 8); [L44-L49] call write~init~real(1.3903311031230998E-17, ~#atanlo_atan~0.base, 16 + ~#atanlo_atan~0.offset, 8); [L44-L49] call write~init~real(6.123233995736766E-17, ~#atanlo_atan~0.base, 24 + ~#atanlo_atan~0.offset, 8); [L51-L58] call ~#aT_atan~0.base, ~#aT_atan~0.offset := #Ultimate.alloc(88); [L51-L58] call write~init~real(0.3333333333333293, ~#aT_atan~0.base, ~#aT_atan~0.offset, 8); [L51-L58] call write~init~real(~someUnaryDOUBLEoperation(0.19999999999876483), ~#aT_atan~0.base, 8 + ~#aT_atan~0.offset, 8); [L51-L58] call write~init~real(0.14285714272503466, ~#aT_atan~0.base, 16 + ~#aT_atan~0.offset, 8); [L51-L58] call write~init~real(~someUnaryDOUBLEoperation(0.11111110405462356), ~#aT_atan~0.base, 24 + ~#aT_atan~0.offset, 8); [L51-L58] call write~init~real(0.09090887133436507, ~#aT_atan~0.base, 32 + ~#aT_atan~0.offset, 8); [L51-L58] call write~init~real(~someUnaryDOUBLEoperation(0.0769187620504483), ~#aT_atan~0.base, 40 + ~#aT_atan~0.offset, 8); [L51-L58] call write~init~real(0.06661073137387531, ~#aT_atan~0.base, 48 + ~#aT_atan~0.offset, 8); [L51-L58] call write~init~real(~someUnaryDOUBLEoperation(0.058335701337905735), ~#aT_atan~0.base, 56 + ~#aT_atan~0.offset, 8); [L51-L58] call write~init~real(0.049768779946159324, ~#aT_atan~0.base, 64 + ~#aT_atan~0.offset, 8); [L51-L58] call write~init~real(~someUnaryDOUBLEoperation(0.036531572744216916), ~#aT_atan~0.base, 72 + ~#aT_atan~0.offset, 8); [L51-L58] call write~init~real(0.016285820115365782, ~#aT_atan~0.base, 80 + ~#aT_atan~0.offset, 8); [L60-L62] ~one_atan~0 := 1.0; [L60-L62] ~pi_o_4~0 := 0.7853981633974483; [L60-L62] ~pi_o_2~0 := 1.5707963267948966; [L60-L62] ~pi~0 := 3.141592653589793; [L60-L62] ~huge_atan~0 := 1.0E300; [L139-L140] ~tiny_atan2~0 := 1.0E-300; [L139-L140] ~zero_atan2~0 := 0.0; [L139-L140] ~pi_lo_atan2~0 := 1.2246467991473532E-16; VAL [#NULL.base=0, #NULL.offset=0, old(#NULL.base)=114, old(#NULL.offset)=106, old(~#aT_atan~0.base)=97, old(~#aT_atan~0.offset)=104, old(~#atanhi_atan~0.base)=100, old(~#atanhi_atan~0.offset)=108, old(~#atanlo_atan~0.base)=92, old(~#atanlo_atan~0.offset)=119, old(~huge_atan~0)=116.0, old(~one_atan~0)=105.0, old(~pi_lo_atan2~0)=103.0, old(~pi_o_2~0)=89.0, old(~pi_o_4~0)=107.0, old(~pi~0)=111.0, old(~tiny_atan2~0)=118.0, old(~zero_atan2~0)=96.0, ~#aT_atan~0.base=99, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=101, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=90, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_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)=114, old(#NULL.offset)=106, old(~#aT_atan~0.base)=97, old(~#aT_atan~0.offset)=104, old(~#atanhi_atan~0.base)=100, old(~#atanhi_atan~0.offset)=108, old(~#atanlo_atan~0.base)=92, old(~#atanlo_atan~0.offset)=119, old(~huge_atan~0)=116.0, old(~one_atan~0)=105.0, old(~pi_lo_atan2~0)=103.0, old(~pi_o_2~0)=89.0, old(~pi_o_4~0)=107.0, old(~pi~0)=111.0, old(~tiny_atan2~0)=118.0, old(~zero_atan2~0)=96.0, ~#aT_atan~0.base=99, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=101, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=90, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_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=99, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=101, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=90, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_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~ret50 := main(); VAL [#NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=99, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=101, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=90, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [L251] ~x~0 := 0.0; [L252] ~y~0 := #t~nondet48; [L252] havoc #t~nondet48; VAL [#NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=99, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=101, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=90, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~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=0.0, ~y~0=117.0, ~zero_atan2~0=0.0] [L254-L263] assume ~someBinaryDOUBLEComparisonOperation(~y~0, 0.0); VAL [#NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=99, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=101, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=90, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~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=0.0, ~y~0=117.0, ~zero_atan2~0=0.0] [L256] CALL call #t~ret49 := __ieee754_atan2(~y~0, ~x~0); VAL [#in~x=0.0, #in~y=117.0, #NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=99, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=101, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=90, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_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=0.0, #in~y=117.0, #NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=99, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=101, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=90, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~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.0, ~y=117.0, ~zero_atan2~0=0.0] [L148] call ~#ew_u~0.base, ~#ew_u~0.offset := #Ultimate.alloc(8); [L149] call write~real(~x, ~#ew_u~0.base, ~#ew_u~0.offset, 8); [L150] call #t~mem27 := read~int(~#ew_u~0.base, 4 + ~#ew_u~0.offset, 4); [L150] ~hx~1 := (if #t~mem27 % 4294967296 % 4294967296 <= 2147483647 then #t~mem27 % 4294967296 % 4294967296 else #t~mem27 % 4294967296 % 4294967296 - 4294967296); [L150] call write~real(#t~union28, ~#ew_u~0.base, ~#ew_u~0.offset, 8); [L150] havoc #t~union28; [L150] havoc #t~mem27; [L151] call #t~mem29 := read~int(~#ew_u~0.base, ~#ew_u~0.offset, 4); [L151] ~lx~0 := #t~mem29; [L151] call write~real(#t~union30, ~#ew_u~0.base, ~#ew_u~0.offset, 8); [L151] havoc #t~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=0.0, #in~y=117.0, #NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=99, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=101, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=90, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~hx~1=5, ~lx~0=112, ~one_atan~0=1.0, ~pi_lo_atan2~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.0, ~y=117.0, ~zero_atan2~0=0.0] [L153] ~ix~1 := ~bitwiseAnd(~hx~1, 2147483647); VAL [#in~x=0.0, #in~y=117.0, #NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=99, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=101, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=90, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~hx~1=5, ~lx~0=112, ~one_atan~0=1.0, ~pi_lo_atan2~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.0, ~y=117.0, ~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~union34; [L158] havoc #t~mem33; [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=0.0, #in~y=117.0, #NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=99, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=101, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=90, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~hx~1=5, ~hy~0=2, ~lx~0=112, ~ly~0=93, ~one_atan~0=1.0, ~pi_lo_atan2~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.0, ~y=117.0, ~zero_atan2~0=0.0] [L160] ~iy~0 := ~bitwiseAnd(~hy~0, 2147483647); VAL [#in~x=0.0, #in~y=117.0, #NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=99, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=101, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=90, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~hx~1=5, ~hy~0=2, ~lx~0=112, ~ly~0=93, ~one_atan~0=1.0, ~pi_lo_atan2~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.0, ~y=117.0, ~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=0.0, #in~y=117.0, #NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=99, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=101, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=90, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~hx~1=5, ~hy~0=2, ~lx~0=112, ~ly~0=93, ~one_atan~0=1.0, ~pi_lo_atan2~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.0, ~y=117.0, ~zero_atan2~0=0.0] [L142-L242] ensures true; VAL [#in~x=0.0, #in~y=117.0, #NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=99, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=101, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=90, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~hx~1=5, ~hy~0=2, ~lx~0=112, ~ly~0=93, ~one_atan~0=1.0, ~pi_lo_atan2~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.0, ~y=117.0, ~zero_atan2~0=0.0] [L256] RET call #t~ret49 := __ieee754_atan2(~y~0, ~x~0); VAL [#NULL.base=0, #NULL.offset=0, #t~ret49=110.0, ~#aT_atan~0.base=99, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=101, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=90, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~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=0.0, ~y~0=117.0, ~zero_atan2~0=0.0] [L256] ~res~0 := #t~ret49; [L256] havoc #t~ret49; VAL [#NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=99, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=101, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=90, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=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=110.0, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=0.0, ~y~0=117.0, ~zero_atan2~0=0.0] [L259-L262] assume ~someBinaryDOUBLEComparisonOperation(~res~0, ~pi_o_2~0); VAL [#NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=99, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=101, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=90, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=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=110.0, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=0.0, ~y~0=117.0, ~zero_atan2~0=0.0] [L260] assert false; VAL [#NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=99, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=101, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=90, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=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=110.0, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=0.0, ~y~0=117.0, ~zero_atan2~0=0.0] [?] CALL call ULTIMATE.init(); VAL [#NULL!base=114, #NULL!offset=106, old(#NULL!base)=114, old(#NULL!offset)=106, old(~#aT_atan~0!base)=97, old(~#aT_atan~0!offset)=104, old(~#atanhi_atan~0!base)=100, old(~#atanhi_atan~0!offset)=108, old(~#atanlo_atan~0!base)=92, old(~#atanlo_atan~0!offset)=119, old(~huge_atan~0)=116.0, old(~one_atan~0)=105.0, old(~pi_lo_atan2~0)=103.0, old(~pi_o_2~0)=89.0, old(~pi_o_4~0)=107.0, old(~pi~0)=111.0, old(~tiny_atan2~0)=118.0, old(~zero_atan2~0)=96.0, ~#aT_atan~0!base=97, ~#aT_atan~0!offset=104, ~#atanhi_atan~0!base=100, ~#atanhi_atan~0!offset=108, ~#atanlo_atan~0!base=92, ~#atanlo_atan~0!offset=119, ~huge_atan~0=116.0, ~one_atan~0=105.0, ~pi_lo_atan2~0=103.0, ~pi_o_2~0=89.0, ~pi_o_4~0=107.0, ~pi~0=111.0, ~tiny_atan2~0=118.0, ~zero_atan2~0=96.0] [?] #NULL := { base: 0, offset: 0 }; [?] #valid[0] := 0; [L37-L42] FCALL call ~#atanhi_atan~0 := #Ultimate.alloc(32); [L37-L42] FCALL call write~init~real(0.4636476090008061, { base: ~#atanhi_atan~0!base, offset: ~#atanhi_atan~0!offset }, 8); [L37-L42] FCALL call write~init~real(0.7853981633974483, { base: ~#atanhi_atan~0!base, offset: 8 + ~#atanhi_atan~0!offset }, 8); [L37-L42] FCALL call write~init~real(0.982793723247329, { base: ~#atanhi_atan~0!base, offset: 16 + ~#atanhi_atan~0!offset }, 8); [L37-L42] FCALL call write~init~real(1.5707963267948966, { base: ~#atanhi_atan~0!base, offset: 24 + ~#atanhi_atan~0!offset }, 8); [L44-L49] FCALL call ~#atanlo_atan~0 := #Ultimate.alloc(32); [L44-L49] FCALL call write~init~real(2.2698777452961687E-17, { base: ~#atanlo_atan~0!base, offset: ~#atanlo_atan~0!offset }, 8); [L44-L49] FCALL call write~init~real(3.061616997868383E-17, { base: ~#atanlo_atan~0!base, offset: 8 + ~#atanlo_atan~0!offset }, 8); [L44-L49] FCALL call write~init~real(1.3903311031230998E-17, { base: ~#atanlo_atan~0!base, offset: 16 + ~#atanlo_atan~0!offset }, 8); [L44-L49] FCALL call write~init~real(6.123233995736766E-17, { base: ~#atanlo_atan~0!base, offset: 24 + ~#atanlo_atan~0!offset }, 8); [L51-L58] FCALL call ~#aT_atan~0 := #Ultimate.alloc(88); [L51-L58] FCALL call write~init~real(0.3333333333333293, { base: ~#aT_atan~0!base, offset: ~#aT_atan~0!offset }, 8); [L51-L58] FCALL call write~init~real(~someUnaryDOUBLEoperation(0.19999999999876483), { base: ~#aT_atan~0!base, offset: 8 + ~#aT_atan~0!offset }, 8); [L51-L58] FCALL call write~init~real(0.14285714272503466, { base: ~#aT_atan~0!base, offset: 16 + ~#aT_atan~0!offset }, 8); [L51-L58] FCALL call write~init~real(~someUnaryDOUBLEoperation(0.11111110405462356), { base: ~#aT_atan~0!base, offset: 24 + ~#aT_atan~0!offset }, 8); [L51-L58] FCALL call write~init~real(0.09090887133436507, { base: ~#aT_atan~0!base, offset: 32 + ~#aT_atan~0!offset }, 8); [L51-L58] FCALL call write~init~real(~someUnaryDOUBLEoperation(0.0769187620504483), { base: ~#aT_atan~0!base, offset: 40 + ~#aT_atan~0!offset }, 8); [L51-L58] FCALL call write~init~real(0.06661073137387531, { base: ~#aT_atan~0!base, offset: 48 + ~#aT_atan~0!offset }, 8); [L51-L58] FCALL call write~init~real(~someUnaryDOUBLEoperation(0.058335701337905735), { base: ~#aT_atan~0!base, offset: 56 + ~#aT_atan~0!offset }, 8); [L51-L58] FCALL call write~init~real(0.049768779946159324, { base: ~#aT_atan~0!base, offset: 64 + ~#aT_atan~0!offset }, 8); [L51-L58] FCALL call write~init~real(~someUnaryDOUBLEoperation(0.036531572744216916), { base: ~#aT_atan~0!base, offset: 72 + ~#aT_atan~0!offset }, 8); [L51-L58] FCALL call write~init~real(0.016285820115365782, { base: ~#aT_atan~0!base, offset: 80 + ~#aT_atan~0!offset }, 8); [L60-L62] ~one_atan~0 := 1.0; [L60-L62] ~pi_o_4~0 := 0.7853981633974483; [L60-L62] ~pi_o_2~0 := 1.5707963267948966; [L60-L62] ~pi~0 := 3.141592653589793; [L60-L62] ~huge_atan~0 := 1.0E300; [L139-L140] ~tiny_atan2~0 := 1.0E-300; [L139-L140] ~zero_atan2~0 := 0.0; [L139-L140] ~pi_lo_atan2~0 := 1.2246467991473532E-16; VAL [#NULL!base=0, #NULL!offset=0, old(#NULL!base)=114, old(#NULL!offset)=106, old(~#aT_atan~0!base)=97, old(~#aT_atan~0!offset)=104, old(~#atanhi_atan~0!base)=100, old(~#atanhi_atan~0!offset)=108, old(~#atanlo_atan~0!base)=92, old(~#atanlo_atan~0!offset)=119, old(~huge_atan~0)=116.0, old(~one_atan~0)=105.0, old(~pi_lo_atan2~0)=103.0, old(~pi_o_2~0)=89.0, old(~pi_o_4~0)=107.0, old(~pi~0)=111.0, old(~tiny_atan2~0)=118.0, old(~zero_atan2~0)=96.0, ~#aT_atan~0!base=99, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=101, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=90, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_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=99, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=101, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=90, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_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~ret50 := main(); VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=99, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=101, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=90, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [L251] ~x~0 := 0.0; [L252] ~y~0 := #t~nondet48; [L252] havoc #t~nondet48; VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=99, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=101, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=90, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~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=0.0, ~y~0=117.0, ~zero_atan2~0=0.0] [L254] COND TRUE ~someBinaryDOUBLEComparisonOperation(~y~0, 0.0) VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=99, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=101, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=90, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~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=0.0, ~y~0=117.0, ~zero_atan2~0=0.0] [L256] CALL call #t~ret49 := __ieee754_atan2(~y~0, ~x~0); VAL [#in~x=0.0, #in~y=117.0, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=99, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=101, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=90, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_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=0.0, #in~y=117.0, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=99, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=101, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=90, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~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.0, ~y=117.0, ~zero_atan2~0=0.0] [L148] FCALL call ~#ew_u~0 := #Ultimate.alloc(8); [L149] FCALL call write~real(~x, { base: ~#ew_u~0!base, offset: ~#ew_u~0!offset }, 8); [L150] FCALL call #t~mem27 := read~int({ base: ~#ew_u~0!base, offset: 4 + ~#ew_u~0!offset }, 4); [L150] ~hx~1 := (if #t~mem27 % 4294967296 % 4294967296 <= 2147483647 then #t~mem27 % 4294967296 % 4294967296 else #t~mem27 % 4294967296 % 4294967296 - 4294967296); [L150] FCALL call write~real(#t~union28, { base: ~#ew_u~0!base, offset: ~#ew_u~0!offset }, 8); [L150] havoc #t~union28; [L150] havoc #t~mem27; [L151] FCALL call #t~mem29 := read~int({ base: ~#ew_u~0!base, offset: ~#ew_u~0!offset }, 4); [L151] ~lx~0 := #t~mem29; [L151] FCALL call write~real(#t~union30, { base: ~#ew_u~0!base, offset: ~#ew_u~0!offset }, 8); [L151] havoc #t~mem29; [L151] havoc #t~union30; [L148] FCALL call ULTIMATE.dealloc(~#ew_u~0); [L148] havoc ~#ew_u~0; VAL [#in~x=0.0, #in~y=117.0, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=99, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=101, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=90, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~hx~1=5, ~lx~0=112, ~one_atan~0=1.0, ~pi_lo_atan2~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.0, ~y=117.0, ~zero_atan2~0=0.0] [L153] ~ix~1 := ~bitwiseAnd(~hx~1, 2147483647); VAL [#in~x=0.0, #in~y=117.0, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=99, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=101, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=90, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~hx~1=5, ~lx~0=112, ~one_atan~0=1.0, ~pi_lo_atan2~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.0, ~y=117.0, ~zero_atan2~0=0.0] [L155] FCALL call ~#ew_u~1 := #Ultimate.alloc(8); [L156] FCALL call write~real(~y, { base: ~#ew_u~1!base, offset: ~#ew_u~1!offset }, 8); [L157] FCALL call #t~mem31 := read~int({ base: ~#ew_u~1!base, offset: 4 + ~#ew_u~1!offset }, 4); [L157] ~hy~0 := (if #t~mem31 % 4294967296 % 4294967296 <= 2147483647 then #t~mem31 % 4294967296 % 4294967296 else #t~mem31 % 4294967296 % 4294967296 - 4294967296); [L157] FCALL call write~real(#t~union32, { base: ~#ew_u~1!base, offset: ~#ew_u~1!offset }, 8); [L157] havoc #t~union32; [L157] havoc #t~mem31; [L158] FCALL call #t~mem33 := read~int({ base: ~#ew_u~1!base, offset: ~#ew_u~1!offset }, 4); [L158] ~ly~0 := #t~mem33; [L158] FCALL call write~real(#t~union34, { base: ~#ew_u~1!base, offset: ~#ew_u~1!offset }, 8); [L158] havoc #t~union34; [L158] havoc #t~mem33; [L155] FCALL call ULTIMATE.dealloc(~#ew_u~1); [L155] havoc ~#ew_u~1; VAL [#in~x=0.0, #in~y=117.0, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=99, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=101, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=90, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~hx~1=5, ~hy~0=2, ~lx~0=112, ~ly~0=93, ~one_atan~0=1.0, ~pi_lo_atan2~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.0, ~y=117.0, ~zero_atan2~0=0.0] [L160] ~iy~0 := ~bitwiseAnd(~hy~0, 2147483647); VAL [#in~x=0.0, #in~y=117.0, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=99, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=101, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=90, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~hx~1=5, ~hy~0=2, ~lx~0=112, ~ly~0=93, ~one_atan~0=1.0, ~pi_lo_atan2~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.0, ~y=117.0, ~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=0.0, #in~y=117.0, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=99, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=101, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=90, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~hx~1=5, ~hy~0=2, ~lx~0=112, ~ly~0=93, ~one_atan~0=1.0, ~pi_lo_atan2~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.0, ~y=117.0, ~zero_atan2~0=0.0] [L256] RET call #t~ret49 := __ieee754_atan2(~y~0, ~x~0); VAL [#NULL!base=0, #NULL!offset=0, #t~ret49=110.0, ~#aT_atan~0!base=99, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=101, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=90, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~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=0.0, ~y~0=117.0, ~zero_atan2~0=0.0] [L256] ~res~0 := #t~ret49; [L256] havoc #t~ret49; VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=99, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=101, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=90, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=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=110.0, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=0.0, ~y~0=117.0, ~zero_atan2~0=0.0] [L259] COND TRUE ~someBinaryDOUBLEComparisonOperation(~res~0, ~pi_o_2~0) VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=99, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=101, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=90, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=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=110.0, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=0.0, ~y~0=117.0, ~zero_atan2~0=0.0] [L260] assert false; VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=99, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=101, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=90, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=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=110.0, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=0.0, ~y~0=117.0, ~zero_atan2~0=0.0] ----- ----- class de.uni_freiburg.informatik.ultimate.boogie.procedureinliner.backtranslation.InlinerBacktranslator [?] CALL call ULTIMATE.init(); VAL [#NULL!base=114, #NULL!offset=106, old(#NULL!base)=114, old(#NULL!offset)=106, old(~#aT_atan~0!base)=97, old(~#aT_atan~0!offset)=104, old(~#atanhi_atan~0!base)=100, old(~#atanhi_atan~0!offset)=108, old(~#atanlo_atan~0!base)=92, old(~#atanlo_atan~0!offset)=119, old(~huge_atan~0)=116.0, old(~one_atan~0)=105.0, old(~pi_lo_atan2~0)=103.0, old(~pi_o_2~0)=89.0, old(~pi_o_4~0)=107.0, old(~pi~0)=111.0, old(~tiny_atan2~0)=118.0, old(~zero_atan2~0)=96.0, ~#aT_atan~0!base=97, ~#aT_atan~0!offset=104, ~#atanhi_atan~0!base=100, ~#atanhi_atan~0!offset=108, ~#atanlo_atan~0!base=92, ~#atanlo_atan~0!offset=119, ~huge_atan~0=116.0, ~one_atan~0=105.0, ~pi_lo_atan2~0=103.0, ~pi_o_2~0=89.0, ~pi_o_4~0=107.0, ~pi~0=111.0, ~tiny_atan2~0=118.0, ~zero_atan2~0=96.0] [?] #NULL := { base: 0, offset: 0 }; [?] #valid[0] := 0; [L37-L42] FCALL call ~#atanhi_atan~0 := #Ultimate.alloc(32); [L37-L42] FCALL call write~init~real(0.4636476090008061, { base: ~#atanhi_atan~0!base, offset: ~#atanhi_atan~0!offset }, 8); [L37-L42] FCALL call write~init~real(0.7853981633974483, { base: ~#atanhi_atan~0!base, offset: 8 + ~#atanhi_atan~0!offset }, 8); [L37-L42] FCALL call write~init~real(0.982793723247329, { base: ~#atanhi_atan~0!base, offset: 16 + ~#atanhi_atan~0!offset }, 8); [L37-L42] FCALL call write~init~real(1.5707963267948966, { base: ~#atanhi_atan~0!base, offset: 24 + ~#atanhi_atan~0!offset }, 8); [L44-L49] FCALL call ~#atanlo_atan~0 := #Ultimate.alloc(32); [L44-L49] FCALL call write~init~real(2.2698777452961687E-17, { base: ~#atanlo_atan~0!base, offset: ~#atanlo_atan~0!offset }, 8); [L44-L49] FCALL call write~init~real(3.061616997868383E-17, { base: ~#atanlo_atan~0!base, offset: 8 + ~#atanlo_atan~0!offset }, 8); [L44-L49] FCALL call write~init~real(1.3903311031230998E-17, { base: ~#atanlo_atan~0!base, offset: 16 + ~#atanlo_atan~0!offset }, 8); [L44-L49] FCALL call write~init~real(6.123233995736766E-17, { base: ~#atanlo_atan~0!base, offset: 24 + ~#atanlo_atan~0!offset }, 8); [L51-L58] FCALL call ~#aT_atan~0 := #Ultimate.alloc(88); [L51-L58] FCALL call write~init~real(0.3333333333333293, { base: ~#aT_atan~0!base, offset: ~#aT_atan~0!offset }, 8); [L51-L58] FCALL call write~init~real(~someUnaryDOUBLEoperation(0.19999999999876483), { base: ~#aT_atan~0!base, offset: 8 + ~#aT_atan~0!offset }, 8); [L51-L58] FCALL call write~init~real(0.14285714272503466, { base: ~#aT_atan~0!base, offset: 16 + ~#aT_atan~0!offset }, 8); [L51-L58] FCALL call write~init~real(~someUnaryDOUBLEoperation(0.11111110405462356), { base: ~#aT_atan~0!base, offset: 24 + ~#aT_atan~0!offset }, 8); [L51-L58] FCALL call write~init~real(0.09090887133436507, { base: ~#aT_atan~0!base, offset: 32 + ~#aT_atan~0!offset }, 8); [L51-L58] FCALL call write~init~real(~someUnaryDOUBLEoperation(0.0769187620504483), { base: ~#aT_atan~0!base, offset: 40 + ~#aT_atan~0!offset }, 8); [L51-L58] FCALL call write~init~real(0.06661073137387531, { base: ~#aT_atan~0!base, offset: 48 + ~#aT_atan~0!offset }, 8); [L51-L58] FCALL call write~init~real(~someUnaryDOUBLEoperation(0.058335701337905735), { base: ~#aT_atan~0!base, offset: 56 + ~#aT_atan~0!offset }, 8); [L51-L58] FCALL call write~init~real(0.049768779946159324, { base: ~#aT_atan~0!base, offset: 64 + ~#aT_atan~0!offset }, 8); [L51-L58] FCALL call write~init~real(~someUnaryDOUBLEoperation(0.036531572744216916), { base: ~#aT_atan~0!base, offset: 72 + ~#aT_atan~0!offset }, 8); [L51-L58] FCALL call write~init~real(0.016285820115365782, { base: ~#aT_atan~0!base, offset: 80 + ~#aT_atan~0!offset }, 8); [L60-L62] ~one_atan~0 := 1.0; [L60-L62] ~pi_o_4~0 := 0.7853981633974483; [L60-L62] ~pi_o_2~0 := 1.5707963267948966; [L60-L62] ~pi~0 := 3.141592653589793; [L60-L62] ~huge_atan~0 := 1.0E300; [L139-L140] ~tiny_atan2~0 := 1.0E-300; [L139-L140] ~zero_atan2~0 := 0.0; [L139-L140] ~pi_lo_atan2~0 := 1.2246467991473532E-16; VAL [#NULL!base=0, #NULL!offset=0, old(#NULL!base)=114, old(#NULL!offset)=106, old(~#aT_atan~0!base)=97, old(~#aT_atan~0!offset)=104, old(~#atanhi_atan~0!base)=100, old(~#atanhi_atan~0!offset)=108, old(~#atanlo_atan~0!base)=92, old(~#atanlo_atan~0!offset)=119, old(~huge_atan~0)=116.0, old(~one_atan~0)=105.0, old(~pi_lo_atan2~0)=103.0, old(~pi_o_2~0)=89.0, old(~pi_o_4~0)=107.0, old(~pi~0)=111.0, old(~tiny_atan2~0)=118.0, old(~zero_atan2~0)=96.0, ~#aT_atan~0!base=99, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=101, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=90, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_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=99, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=101, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=90, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_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~ret50 := main(); VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=99, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=101, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=90, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [L251] ~x~0 := 0.0; [L252] ~y~0 := #t~nondet48; [L252] havoc #t~nondet48; VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=99, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=101, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=90, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~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=0.0, ~y~0=117.0, ~zero_atan2~0=0.0] [L254] COND TRUE ~someBinaryDOUBLEComparisonOperation(~y~0, 0.0) VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=99, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=101, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=90, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~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=0.0, ~y~0=117.0, ~zero_atan2~0=0.0] [L256] CALL call #t~ret49 := __ieee754_atan2(~y~0, ~x~0); VAL [#in~x=0.0, #in~y=117.0, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=99, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=101, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=90, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_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=0.0, #in~y=117.0, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=99, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=101, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=90, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~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.0, ~y=117.0, ~zero_atan2~0=0.0] [L148] FCALL call ~#ew_u~0 := #Ultimate.alloc(8); [L149] FCALL call write~real(~x, { base: ~#ew_u~0!base, offset: ~#ew_u~0!offset }, 8); [L150] FCALL call #t~mem27 := read~int({ base: ~#ew_u~0!base, offset: 4 + ~#ew_u~0!offset }, 4); [L150] ~hx~1 := (if #t~mem27 % 4294967296 % 4294967296 <= 2147483647 then #t~mem27 % 4294967296 % 4294967296 else #t~mem27 % 4294967296 % 4294967296 - 4294967296); [L150] FCALL call write~real(#t~union28, { base: ~#ew_u~0!base, offset: ~#ew_u~0!offset }, 8); [L150] havoc #t~union28; [L150] havoc #t~mem27; [L151] FCALL call #t~mem29 := read~int({ base: ~#ew_u~0!base, offset: ~#ew_u~0!offset }, 4); [L151] ~lx~0 := #t~mem29; [L151] FCALL call write~real(#t~union30, { base: ~#ew_u~0!base, offset: ~#ew_u~0!offset }, 8); [L151] havoc #t~mem29; [L151] havoc #t~union30; [L148] FCALL call ULTIMATE.dealloc(~#ew_u~0); [L148] havoc ~#ew_u~0; VAL [#in~x=0.0, #in~y=117.0, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=99, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=101, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=90, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~hx~1=5, ~lx~0=112, ~one_atan~0=1.0, ~pi_lo_atan2~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.0, ~y=117.0, ~zero_atan2~0=0.0] [L153] ~ix~1 := ~bitwiseAnd(~hx~1, 2147483647); VAL [#in~x=0.0, #in~y=117.0, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=99, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=101, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=90, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~hx~1=5, ~lx~0=112, ~one_atan~0=1.0, ~pi_lo_atan2~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.0, ~y=117.0, ~zero_atan2~0=0.0] [L155] FCALL call ~#ew_u~1 := #Ultimate.alloc(8); [L156] FCALL call write~real(~y, { base: ~#ew_u~1!base, offset: ~#ew_u~1!offset }, 8); [L157] FCALL call #t~mem31 := read~int({ base: ~#ew_u~1!base, offset: 4 + ~#ew_u~1!offset }, 4); [L157] ~hy~0 := (if #t~mem31 % 4294967296 % 4294967296 <= 2147483647 then #t~mem31 % 4294967296 % 4294967296 else #t~mem31 % 4294967296 % 4294967296 - 4294967296); [L157] FCALL call write~real(#t~union32, { base: ~#ew_u~1!base, offset: ~#ew_u~1!offset }, 8); [L157] havoc #t~union32; [L157] havoc #t~mem31; [L158] FCALL call #t~mem33 := read~int({ base: ~#ew_u~1!base, offset: ~#ew_u~1!offset }, 4); [L158] ~ly~0 := #t~mem33; [L158] FCALL call write~real(#t~union34, { base: ~#ew_u~1!base, offset: ~#ew_u~1!offset }, 8); [L158] havoc #t~union34; [L158] havoc #t~mem33; [L155] FCALL call ULTIMATE.dealloc(~#ew_u~1); [L155] havoc ~#ew_u~1; VAL [#in~x=0.0, #in~y=117.0, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=99, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=101, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=90, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~hx~1=5, ~hy~0=2, ~lx~0=112, ~ly~0=93, ~one_atan~0=1.0, ~pi_lo_atan2~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.0, ~y=117.0, ~zero_atan2~0=0.0] [L160] ~iy~0 := ~bitwiseAnd(~hy~0, 2147483647); VAL [#in~x=0.0, #in~y=117.0, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=99, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=101, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=90, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~hx~1=5, ~hy~0=2, ~lx~0=112, ~ly~0=93, ~one_atan~0=1.0, ~pi_lo_atan2~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.0, ~y=117.0, ~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=0.0, #in~y=117.0, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=99, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=101, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=90, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~hx~1=5, ~hy~0=2, ~lx~0=112, ~ly~0=93, ~one_atan~0=1.0, ~pi_lo_atan2~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.0, ~y=117.0, ~zero_atan2~0=0.0] [L256] RET call #t~ret49 := __ieee754_atan2(~y~0, ~x~0); VAL [#NULL!base=0, #NULL!offset=0, #t~ret49=110.0, ~#aT_atan~0!base=99, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=101, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=90, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~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=0.0, ~y~0=117.0, ~zero_atan2~0=0.0] [L256] ~res~0 := #t~ret49; [L256] havoc #t~ret49; VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=99, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=101, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=90, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=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=110.0, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=0.0, ~y~0=117.0, ~zero_atan2~0=0.0] [L259] COND TRUE ~someBinaryDOUBLEComparisonOperation(~res~0, ~pi_o_2~0) VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=99, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=101, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=90, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=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=110.0, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=0.0, ~y~0=117.0, ~zero_atan2~0=0.0] [L260] assert false; VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=99, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=101, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=90, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=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=110.0, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=0.0, ~y~0=117.0, ~zero_atan2~0=0.0] [?] CALL call ULTIMATE.init(); VAL [#NULL!base=114, #NULL!offset=106, old(#NULL!base)=114, old(#NULL!offset)=106, old(~#aT_atan~0!base)=97, old(~#aT_atan~0!offset)=104, old(~#atanhi_atan~0!base)=100, old(~#atanhi_atan~0!offset)=108, old(~#atanlo_atan~0!base)=92, old(~#atanlo_atan~0!offset)=119, old(~huge_atan~0)=116.0, old(~one_atan~0)=105.0, old(~pi_lo_atan2~0)=103.0, old(~pi_o_2~0)=89.0, old(~pi_o_4~0)=107.0, old(~pi~0)=111.0, old(~tiny_atan2~0)=118.0, old(~zero_atan2~0)=96.0, ~#aT_atan~0!base=97, ~#aT_atan~0!offset=104, ~#atanhi_atan~0!base=100, ~#atanhi_atan~0!offset=108, ~#atanlo_atan~0!base=92, ~#atanlo_atan~0!offset=119, ~huge_atan~0=116.0, ~one_atan~0=105.0, ~pi_lo_atan2~0=103.0, ~pi_o_2~0=89.0, ~pi_o_4~0=107.0, ~pi~0=111.0, ~tiny_atan2~0=118.0, ~zero_atan2~0=96.0] [?] #NULL := { base: 0, offset: 0 }; [?] #valid[0] := 0; [L37-L42] FCALL call ~#atanhi_atan~0 := #Ultimate.alloc(32); [L37-L42] FCALL call write~init~real(0.4636476090008061, { base: ~#atanhi_atan~0!base, offset: ~#atanhi_atan~0!offset }, 8); [L37-L42] FCALL call write~init~real(0.7853981633974483, { base: ~#atanhi_atan~0!base, offset: 8 + ~#atanhi_atan~0!offset }, 8); [L37-L42] FCALL call write~init~real(0.982793723247329, { base: ~#atanhi_atan~0!base, offset: 16 + ~#atanhi_atan~0!offset }, 8); [L37-L42] FCALL call write~init~real(1.5707963267948966, { base: ~#atanhi_atan~0!base, offset: 24 + ~#atanhi_atan~0!offset }, 8); [L44-L49] FCALL call ~#atanlo_atan~0 := #Ultimate.alloc(32); [L44-L49] FCALL call write~init~real(2.2698777452961687E-17, { base: ~#atanlo_atan~0!base, offset: ~#atanlo_atan~0!offset }, 8); [L44-L49] FCALL call write~init~real(3.061616997868383E-17, { base: ~#atanlo_atan~0!base, offset: 8 + ~#atanlo_atan~0!offset }, 8); [L44-L49] FCALL call write~init~real(1.3903311031230998E-17, { base: ~#atanlo_atan~0!base, offset: 16 + ~#atanlo_atan~0!offset }, 8); [L44-L49] FCALL call write~init~real(6.123233995736766E-17, { base: ~#atanlo_atan~0!base, offset: 24 + ~#atanlo_atan~0!offset }, 8); [L51-L58] FCALL call ~#aT_atan~0 := #Ultimate.alloc(88); [L51-L58] FCALL call write~init~real(0.3333333333333293, { base: ~#aT_atan~0!base, offset: ~#aT_atan~0!offset }, 8); [L51-L58] FCALL call write~init~real(~someUnaryDOUBLEoperation(0.19999999999876483), { base: ~#aT_atan~0!base, offset: 8 + ~#aT_atan~0!offset }, 8); [L51-L58] FCALL call write~init~real(0.14285714272503466, { base: ~#aT_atan~0!base, offset: 16 + ~#aT_atan~0!offset }, 8); [L51-L58] FCALL call write~init~real(~someUnaryDOUBLEoperation(0.11111110405462356), { base: ~#aT_atan~0!base, offset: 24 + ~#aT_atan~0!offset }, 8); [L51-L58] FCALL call write~init~real(0.09090887133436507, { base: ~#aT_atan~0!base, offset: 32 + ~#aT_atan~0!offset }, 8); [L51-L58] FCALL call write~init~real(~someUnaryDOUBLEoperation(0.0769187620504483), { base: ~#aT_atan~0!base, offset: 40 + ~#aT_atan~0!offset }, 8); [L51-L58] FCALL call write~init~real(0.06661073137387531, { base: ~#aT_atan~0!base, offset: 48 + ~#aT_atan~0!offset }, 8); [L51-L58] FCALL call write~init~real(~someUnaryDOUBLEoperation(0.058335701337905735), { base: ~#aT_atan~0!base, offset: 56 + ~#aT_atan~0!offset }, 8); [L51-L58] FCALL call write~init~real(0.049768779946159324, { base: ~#aT_atan~0!base, offset: 64 + ~#aT_atan~0!offset }, 8); [L51-L58] FCALL call write~init~real(~someUnaryDOUBLEoperation(0.036531572744216916), { base: ~#aT_atan~0!base, offset: 72 + ~#aT_atan~0!offset }, 8); [L51-L58] FCALL call write~init~real(0.016285820115365782, { base: ~#aT_atan~0!base, offset: 80 + ~#aT_atan~0!offset }, 8); [L60-L62] ~one_atan~0 := 1.0; [L60-L62] ~pi_o_4~0 := 0.7853981633974483; [L60-L62] ~pi_o_2~0 := 1.5707963267948966; [L60-L62] ~pi~0 := 3.141592653589793; [L60-L62] ~huge_atan~0 := 1.0E300; [L139-L140] ~tiny_atan2~0 := 1.0E-300; [L139-L140] ~zero_atan2~0 := 0.0; [L139-L140] ~pi_lo_atan2~0 := 1.2246467991473532E-16; VAL [#NULL!base=0, #NULL!offset=0, old(#NULL!base)=114, old(#NULL!offset)=106, old(~#aT_atan~0!base)=97, old(~#aT_atan~0!offset)=104, old(~#atanhi_atan~0!base)=100, old(~#atanhi_atan~0!offset)=108, old(~#atanlo_atan~0!base)=92, old(~#atanlo_atan~0!offset)=119, old(~huge_atan~0)=116.0, old(~one_atan~0)=105.0, old(~pi_lo_atan2~0)=103.0, old(~pi_o_2~0)=89.0, old(~pi_o_4~0)=107.0, old(~pi~0)=111.0, old(~tiny_atan2~0)=118.0, old(~zero_atan2~0)=96.0, ~#aT_atan~0!base=99, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=101, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=90, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_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=99, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=101, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=90, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_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~ret50 := main(); VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=99, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=101, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=90, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [L251] ~x~0 := 0.0; [L252] ~y~0 := #t~nondet48; [L252] havoc #t~nondet48; VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=99, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=101, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=90, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~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=0.0, ~y~0=117.0, ~zero_atan2~0=0.0] [L254] COND TRUE ~someBinaryDOUBLEComparisonOperation(~y~0, 0.0) VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=99, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=101, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=90, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~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=0.0, ~y~0=117.0, ~zero_atan2~0=0.0] [L256] CALL call #t~ret49 := __ieee754_atan2(~y~0, ~x~0); VAL [#in~x=0.0, #in~y=117.0, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=99, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=101, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=90, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_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=0.0, #in~y=117.0, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=99, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=101, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=90, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~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.0, ~y=117.0, ~zero_atan2~0=0.0] [L148] FCALL call ~#ew_u~0 := #Ultimate.alloc(8); [L149] FCALL call write~real(~x, { base: ~#ew_u~0!base, offset: ~#ew_u~0!offset }, 8); [L150] FCALL call #t~mem27 := read~int({ base: ~#ew_u~0!base, offset: 4 + ~#ew_u~0!offset }, 4); [L150] ~hx~1 := (if #t~mem27 % 4294967296 % 4294967296 <= 2147483647 then #t~mem27 % 4294967296 % 4294967296 else #t~mem27 % 4294967296 % 4294967296 - 4294967296); [L150] FCALL call write~real(#t~union28, { base: ~#ew_u~0!base, offset: ~#ew_u~0!offset }, 8); [L150] havoc #t~union28; [L150] havoc #t~mem27; [L151] FCALL call #t~mem29 := read~int({ base: ~#ew_u~0!base, offset: ~#ew_u~0!offset }, 4); [L151] ~lx~0 := #t~mem29; [L151] FCALL call write~real(#t~union30, { base: ~#ew_u~0!base, offset: ~#ew_u~0!offset }, 8); [L151] havoc #t~mem29; [L151] havoc #t~union30; [L148] FCALL call ULTIMATE.dealloc(~#ew_u~0); [L148] havoc ~#ew_u~0; VAL [#in~x=0.0, #in~y=117.0, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=99, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=101, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=90, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~hx~1=5, ~lx~0=112, ~one_atan~0=1.0, ~pi_lo_atan2~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.0, ~y=117.0, ~zero_atan2~0=0.0] [L153] ~ix~1 := ~bitwiseAnd(~hx~1, 2147483647); VAL [#in~x=0.0, #in~y=117.0, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=99, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=101, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=90, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~hx~1=5, ~lx~0=112, ~one_atan~0=1.0, ~pi_lo_atan2~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.0, ~y=117.0, ~zero_atan2~0=0.0] [L155] FCALL call ~#ew_u~1 := #Ultimate.alloc(8); [L156] FCALL call write~real(~y, { base: ~#ew_u~1!base, offset: ~#ew_u~1!offset }, 8); [L157] FCALL call #t~mem31 := read~int({ base: ~#ew_u~1!base, offset: 4 + ~#ew_u~1!offset }, 4); [L157] ~hy~0 := (if #t~mem31 % 4294967296 % 4294967296 <= 2147483647 then #t~mem31 % 4294967296 % 4294967296 else #t~mem31 % 4294967296 % 4294967296 - 4294967296); [L157] FCALL call write~real(#t~union32, { base: ~#ew_u~1!base, offset: ~#ew_u~1!offset }, 8); [L157] havoc #t~union32; [L157] havoc #t~mem31; [L158] FCALL call #t~mem33 := read~int({ base: ~#ew_u~1!base, offset: ~#ew_u~1!offset }, 4); [L158] ~ly~0 := #t~mem33; [L158] FCALL call write~real(#t~union34, { base: ~#ew_u~1!base, offset: ~#ew_u~1!offset }, 8); [L158] havoc #t~union34; [L158] havoc #t~mem33; [L155] FCALL call ULTIMATE.dealloc(~#ew_u~1); [L155] havoc ~#ew_u~1; VAL [#in~x=0.0, #in~y=117.0, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=99, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=101, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=90, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~hx~1=5, ~hy~0=2, ~lx~0=112, ~ly~0=93, ~one_atan~0=1.0, ~pi_lo_atan2~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.0, ~y=117.0, ~zero_atan2~0=0.0] [L160] ~iy~0 := ~bitwiseAnd(~hy~0, 2147483647); VAL [#in~x=0.0, #in~y=117.0, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=99, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=101, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=90, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~hx~1=5, ~hy~0=2, ~lx~0=112, ~ly~0=93, ~one_atan~0=1.0, ~pi_lo_atan2~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.0, ~y=117.0, ~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=0.0, #in~y=117.0, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=99, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=101, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=90, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~hx~1=5, ~hy~0=2, ~lx~0=112, ~ly~0=93, ~one_atan~0=1.0, ~pi_lo_atan2~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.0, ~y=117.0, ~zero_atan2~0=0.0] [L256] RET call #t~ret49 := __ieee754_atan2(~y~0, ~x~0); VAL [#NULL!base=0, #NULL!offset=0, #t~ret49=110.0, ~#aT_atan~0!base=99, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=101, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=90, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~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=0.0, ~y~0=117.0, ~zero_atan2~0=0.0] [L256] ~res~0 := #t~ret49; [L256] havoc #t~ret49; VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=99, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=101, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=90, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=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=110.0, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=0.0, ~y~0=117.0, ~zero_atan2~0=0.0] [L259] COND TRUE ~someBinaryDOUBLEComparisonOperation(~res~0, ~pi_o_2~0) VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=99, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=101, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=90, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=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=110.0, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=0.0, ~y~0=117.0, ~zero_atan2~0=0.0] [L260] assert false; VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=99, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=101, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=90, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=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=110.0, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=0.0, ~y~0=117.0, ~zero_atan2~0=0.0] ----- [2018-11-23 00:07:51,200 WARN L1272 BoogieBacktranslator]: Unfinished Backtranslation: IntegerLiteral 100 could not be translated for associated CType ARRAY#_4_~DOUBLE# [2018-11-23 00:07:51,201 WARN L1272 BoogieBacktranslator]: Unfinished Backtranslation: IntegerLiteral 104 could not be translated for associated CType ARRAY#_11_~DOUBLE# [2018-11-23 00:07:51,202 WARN L1272 BoogieBacktranslator]: Unfinished Backtranslation: IntegerLiteral 97 could not be translated for associated CType ARRAY#_11_~DOUBLE# [2018-11-23 00:07:51,202 WARN L1272 BoogieBacktranslator]: Unfinished Backtranslation: IntegerLiteral 119 could not be translated for associated CType ARRAY#_4_~DOUBLE# [2018-11-23 00:07:51,202 WARN L1272 BoogieBacktranslator]: Unfinished Backtranslation: IntegerLiteral 92 could not be translated for associated CType ARRAY#_4_~DOUBLE# [2018-11-23 00:07:51,202 WARN L1272 BoogieBacktranslator]: Unfinished Backtranslation: IntegerLiteral 108 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=114, #NULL!offset=106, old(#NULL!base)=114, old(#NULL!offset)=106, old(~#aT_atan~0!base)=97, old(~#aT_atan~0!offset)=104, old(~#atanhi_atan~0!base)=100, old(~#atanhi_atan~0!offset)=108, old(~#atanlo_atan~0!base)=92, old(~#atanlo_atan~0!offset)=119, old(~huge_atan~0)=116.0, old(~one_atan~0)=105.0, old(~pi_lo_atan2~0)=103.0, old(~pi_o_2~0)=89.0, old(~pi_o_4~0)=107.0, old(~pi~0)=111.0, old(~tiny_atan2~0)=118.0, old(~zero_atan2~0)=96.0, ~#aT_atan~0!base=97, ~#aT_atan~0!offset=104, ~#atanhi_atan~0!base=100, ~#atanhi_atan~0!offset=108, ~#atanlo_atan~0!base=92, ~#atanlo_atan~0!offset=119, ~huge_atan~0=116.0, ~one_atan~0=105.0, ~pi_lo_atan2~0=103.0, ~pi_o_2~0=89.0, ~pi_o_4~0=107.0, ~pi~0=111.0, ~tiny_atan2~0=118.0, ~zero_atan2~0=96.0] [?] #NULL := { base: 0, offset: 0 }; [?] #valid[0] := 0; [L37-L42] FCALL call ~#atanhi_atan~0 := #Ultimate.alloc(32); [L37-L42] FCALL call write~init~real(0.4636476090008061, { base: ~#atanhi_atan~0!base, offset: ~#atanhi_atan~0!offset }, 8); [L37-L42] FCALL call write~init~real(0.7853981633974483, { base: ~#atanhi_atan~0!base, offset: 8 + ~#atanhi_atan~0!offset }, 8); [L37-L42] FCALL call write~init~real(0.982793723247329, { base: ~#atanhi_atan~0!base, offset: 16 + ~#atanhi_atan~0!offset }, 8); [L37-L42] FCALL call write~init~real(1.5707963267948966, { base: ~#atanhi_atan~0!base, offset: 24 + ~#atanhi_atan~0!offset }, 8); [L44-L49] FCALL call ~#atanlo_atan~0 := #Ultimate.alloc(32); [L44-L49] FCALL call write~init~real(2.2698777452961687E-17, { base: ~#atanlo_atan~0!base, offset: ~#atanlo_atan~0!offset }, 8); [L44-L49] FCALL call write~init~real(3.061616997868383E-17, { base: ~#atanlo_atan~0!base, offset: 8 + ~#atanlo_atan~0!offset }, 8); [L44-L49] FCALL call write~init~real(1.3903311031230998E-17, { base: ~#atanlo_atan~0!base, offset: 16 + ~#atanlo_atan~0!offset }, 8); [L44-L49] FCALL call write~init~real(6.123233995736766E-17, { base: ~#atanlo_atan~0!base, offset: 24 + ~#atanlo_atan~0!offset }, 8); [L51-L58] FCALL call ~#aT_atan~0 := #Ultimate.alloc(88); [L51-L58] FCALL call write~init~real(0.3333333333333293, { base: ~#aT_atan~0!base, offset: ~#aT_atan~0!offset }, 8); [L51-L58] FCALL call write~init~real(~someUnaryDOUBLEoperation(0.19999999999876483), { base: ~#aT_atan~0!base, offset: 8 + ~#aT_atan~0!offset }, 8); [L51-L58] FCALL call write~init~real(0.14285714272503466, { base: ~#aT_atan~0!base, offset: 16 + ~#aT_atan~0!offset }, 8); [L51-L58] FCALL call write~init~real(~someUnaryDOUBLEoperation(0.11111110405462356), { base: ~#aT_atan~0!base, offset: 24 + ~#aT_atan~0!offset }, 8); [L51-L58] FCALL call write~init~real(0.09090887133436507, { base: ~#aT_atan~0!base, offset: 32 + ~#aT_atan~0!offset }, 8); [L51-L58] FCALL call write~init~real(~someUnaryDOUBLEoperation(0.0769187620504483), { base: ~#aT_atan~0!base, offset: 40 + ~#aT_atan~0!offset }, 8); [L51-L58] FCALL call write~init~real(0.06661073137387531, { base: ~#aT_atan~0!base, offset: 48 + ~#aT_atan~0!offset }, 8); [L51-L58] FCALL call write~init~real(~someUnaryDOUBLEoperation(0.058335701337905735), { base: ~#aT_atan~0!base, offset: 56 + ~#aT_atan~0!offset }, 8); [L51-L58] FCALL call write~init~real(0.049768779946159324, { base: ~#aT_atan~0!base, offset: 64 + ~#aT_atan~0!offset }, 8); [L51-L58] FCALL call write~init~real(~someUnaryDOUBLEoperation(0.036531572744216916), { base: ~#aT_atan~0!base, offset: 72 + ~#aT_atan~0!offset }, 8); [L51-L58] FCALL call write~init~real(0.016285820115365782, { base: ~#aT_atan~0!base, offset: 80 + ~#aT_atan~0!offset }, 8); [L60-L62] ~one_atan~0 := 1.0; [L60-L62] ~pi_o_4~0 := 0.7853981633974483; [L60-L62] ~pi_o_2~0 := 1.5707963267948966; [L60-L62] ~pi~0 := 3.141592653589793; [L60-L62] ~huge_atan~0 := 1.0E300; [L139-L140] ~tiny_atan2~0 := 1.0E-300; [L139-L140] ~zero_atan2~0 := 0.0; [L139-L140] ~pi_lo_atan2~0 := 1.2246467991473532E-16; VAL [#NULL!base=0, #NULL!offset=0, old(#NULL!base)=114, old(#NULL!offset)=106, old(~#aT_atan~0!base)=97, old(~#aT_atan~0!offset)=104, old(~#atanhi_atan~0!base)=100, old(~#atanhi_atan~0!offset)=108, old(~#atanlo_atan~0!base)=92, old(~#atanlo_atan~0!offset)=119, old(~huge_atan~0)=116.0, old(~one_atan~0)=105.0, old(~pi_lo_atan2~0)=103.0, old(~pi_o_2~0)=89.0, old(~pi_o_4~0)=107.0, old(~pi~0)=111.0, old(~tiny_atan2~0)=118.0, old(~zero_atan2~0)=96.0, ~#aT_atan~0!base=99, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=101, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=90, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_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=99, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=101, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=90, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_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~ret50 := main(); VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=99, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=101, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=90, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [L251] ~x~0 := 0.0; [L252] ~y~0 := #t~nondet48; [L252] havoc #t~nondet48; VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=99, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=101, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=90, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~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=0.0, ~y~0=117.0, ~zero_atan2~0=0.0] [L254] COND TRUE ~someBinaryDOUBLEComparisonOperation(~y~0, 0.0) VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=99, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=101, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=90, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~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=0.0, ~y~0=117.0, ~zero_atan2~0=0.0] [L256] CALL call #t~ret49 := __ieee754_atan2(~y~0, ~x~0); VAL [#in~x=0.0, #in~y=117.0, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=99, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=101, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=90, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_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=0.0, #in~y=117.0, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=99, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=101, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=90, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~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.0, ~y=117.0, ~zero_atan2~0=0.0] [L148] FCALL call ~#ew_u~0 := #Ultimate.alloc(8); [L149] FCALL call write~real(~x, { base: ~#ew_u~0!base, offset: ~#ew_u~0!offset }, 8); [L150] FCALL call #t~mem27 := read~int({ base: ~#ew_u~0!base, offset: 4 + ~#ew_u~0!offset }, 4); [L150] ~hx~1 := (if #t~mem27 % 4294967296 % 4294967296 <= 2147483647 then #t~mem27 % 4294967296 % 4294967296 else #t~mem27 % 4294967296 % 4294967296 - 4294967296); [L150] FCALL call write~real(#t~union28, { base: ~#ew_u~0!base, offset: ~#ew_u~0!offset }, 8); [L150] havoc #t~union28; [L150] havoc #t~mem27; [L151] FCALL call #t~mem29 := read~int({ base: ~#ew_u~0!base, offset: ~#ew_u~0!offset }, 4); [L151] ~lx~0 := #t~mem29; [L151] FCALL call write~real(#t~union30, { base: ~#ew_u~0!base, offset: ~#ew_u~0!offset }, 8); [L151] havoc #t~mem29; [L151] havoc #t~union30; [L148] FCALL call ULTIMATE.dealloc(~#ew_u~0); [L148] havoc ~#ew_u~0; VAL [#in~x=0.0, #in~y=117.0, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=99, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=101, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=90, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~hx~1=5, ~lx~0=112, ~one_atan~0=1.0, ~pi_lo_atan2~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.0, ~y=117.0, ~zero_atan2~0=0.0] [L153] ~ix~1 := ~bitwiseAnd(~hx~1, 2147483647); VAL [#in~x=0.0, #in~y=117.0, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=99, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=101, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=90, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~hx~1=5, ~lx~0=112, ~one_atan~0=1.0, ~pi_lo_atan2~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.0, ~y=117.0, ~zero_atan2~0=0.0] [L155] FCALL call ~#ew_u~1 := #Ultimate.alloc(8); [L156] FCALL call write~real(~y, { base: ~#ew_u~1!base, offset: ~#ew_u~1!offset }, 8); [L157] FCALL call #t~mem31 := read~int({ base: ~#ew_u~1!base, offset: 4 + ~#ew_u~1!offset }, 4); [L157] ~hy~0 := (if #t~mem31 % 4294967296 % 4294967296 <= 2147483647 then #t~mem31 % 4294967296 % 4294967296 else #t~mem31 % 4294967296 % 4294967296 - 4294967296); [L157] FCALL call write~real(#t~union32, { base: ~#ew_u~1!base, offset: ~#ew_u~1!offset }, 8); [L157] havoc #t~union32; [L157] havoc #t~mem31; [L158] FCALL call #t~mem33 := read~int({ base: ~#ew_u~1!base, offset: ~#ew_u~1!offset }, 4); [L158] ~ly~0 := #t~mem33; [L158] FCALL call write~real(#t~union34, { base: ~#ew_u~1!base, offset: ~#ew_u~1!offset }, 8); [L158] havoc #t~union34; [L158] havoc #t~mem33; [L155] FCALL call ULTIMATE.dealloc(~#ew_u~1); [L155] havoc ~#ew_u~1; VAL [#in~x=0.0, #in~y=117.0, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=99, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=101, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=90, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~hx~1=5, ~hy~0=2, ~lx~0=112, ~ly~0=93, ~one_atan~0=1.0, ~pi_lo_atan2~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.0, ~y=117.0, ~zero_atan2~0=0.0] [L160] ~iy~0 := ~bitwiseAnd(~hy~0, 2147483647); VAL [#in~x=0.0, #in~y=117.0, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=99, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=101, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=90, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~hx~1=5, ~hy~0=2, ~lx~0=112, ~ly~0=93, ~one_atan~0=1.0, ~pi_lo_atan2~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.0, ~y=117.0, ~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=0.0, #in~y=117.0, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=99, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=101, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=90, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~hx~1=5, ~hy~0=2, ~lx~0=112, ~ly~0=93, ~one_atan~0=1.0, ~pi_lo_atan2~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.0, ~y=117.0, ~zero_atan2~0=0.0] [L256] RET call #t~ret49 := __ieee754_atan2(~y~0, ~x~0); VAL [#NULL!base=0, #NULL!offset=0, #t~ret49=110.0, ~#aT_atan~0!base=99, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=101, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=90, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~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=0.0, ~y~0=117.0, ~zero_atan2~0=0.0] [L256] ~res~0 := #t~ret49; [L256] havoc #t~ret49; VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=99, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=101, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=90, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=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=110.0, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=0.0, ~y~0=117.0, ~zero_atan2~0=0.0] [L259] COND TRUE ~someBinaryDOUBLEComparisonOperation(~res~0, ~pi_o_2~0) VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=99, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=101, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=90, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=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=110.0, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=0.0, ~y~0=117.0, ~zero_atan2~0=0.0] [L260] assert false; VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=99, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=101, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=90, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=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=110.0, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=0.0, ~y~0=117.0, ~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)=116, \old(one_atan)=105, \old(pi)=111, \old(pi_lo_atan2)=103, \old(pi_o_2)=89, \old(pi_o_4)=107, \old(tiny_atan2)=118, \old(zero_atan2)=96, aT_atan={99:0}, atanhi_atan={101:0}, atanlo_atan={90: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] [L251] double x = 0.0; [L252] double y = __VERIFIER_nondet_double(); [L254] COND TRUE y > 0.0 VAL [aT_atan={99:0}, atanhi_atan={101:0}, atanlo_atan={90: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=0, y=117, zero_atan2=0] [L256] CALL, EXPR __ieee754_atan2(y, x) VAL [\old(x)=0, \old(y)=117, aT_atan={99:0}, atanhi_atan={101:0}, atanlo_atan={90: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)=0, \old(y)=117, aT_atan={99:0}, atanhi_atan={101:0}, atanlo_atan={90: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=0, y=117, 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)=0, \old(y)=117, aT_atan={99:0}, atanhi_atan={101:0}, atanlo_atan={90:0}, huge_atan=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, hx=5, lx=112, 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=0, y=117, 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)=0, \old(y)=117, aT_atan={99:0}, atanhi_atan={101:0}, atanlo_atan={90:0}, huge_atan=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, hx=5, hy=2, lx=112, ly=93, 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=0, y=117, zero_atan2=0] [L161-L162] COND TRUE ((ix | ((lx | -lx) >> 31)) > 0x7ff00000) || ((iy | ((ly | -ly) >> 31)) > 0x7ff00000) [L163] return x + y; VAL [\old(x)=0, \old(y)=117, aT_atan={99:0}, atanhi_atan={101:0}, atanlo_atan={90:0}, huge_atan=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, hx=5, hy=2, lx=112, ly=93, 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=0, y=117, zero_atan2=0] [L256] RET, EXPR __ieee754_atan2(y, x) VAL [__ieee754_atan2(y, x)=110, aT_atan={99:0}, atanhi_atan={101:0}, atanlo_atan={90: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=0, y=117, zero_atan2=0] [L256] double res = __ieee754_atan2(y, x); [L259] COND TRUE res != pi_o_2 VAL [aT_atan={99:0}, atanhi_atan={101:0}, atanlo_atan={90: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=110, tiny_atan2=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, x=0, y=117, zero_atan2=0] [L260] __VERIFIER_error() VAL [aT_atan={99:0}, atanhi_atan={101:0}, atanlo_atan={90: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=110, tiny_atan2=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, x=0, y=117, zero_atan2=0] ----- [2018-11-23 00:07:51,246 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction CFG 23.11 12:07:51 BoogieIcfgContainer [2018-11-23 00:07:51,247 INFO L132 PluginConnector]: ------------------------ END TraceAbstraction---------------------------- [2018-11-23 00:07:51,247 INFO L113 PluginConnector]: ------------------------Witness Printer---------------------------- [2018-11-23 00:07:51,247 INFO L271 PluginConnector]: Initializing Witness Printer... [2018-11-23 00:07:51,247 INFO L276 PluginConnector]: Witness Printer initialized [2018-11-23 00:07:51,248 INFO L185 PluginConnector]: Executing the observer RCFGCatcher from plugin Witness Printer for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 23.11 12:07:50" (3/4) ... [2018-11-23 00:07:51,250 INFO L147 WitnessPrinter]: No result that supports witness generation found [2018-11-23 00:07:51,250 INFO L132 PluginConnector]: ------------------------ END Witness Printer---------------------------- [2018-11-23 00:07:51,251 INFO L168 Benchmark]: Toolchain (without parser) took 1304.73 ms. Allocated memory was 1.0 GB in the beginning and 1.2 GB in the end (delta: 150.5 MB). Free memory was 960.2 MB in the beginning and 1.0 GB in the end (delta: -79.3 MB). Peak memory consumption was 71.2 MB. Max. memory is 11.5 GB. [2018-11-23 00:07:51,252 INFO L168 Benchmark]: CDTParser took 0.14 ms. Allocated memory is still 1.0 GB. Free memory is still 985.4 MB. There was no memory consumed. Max. memory is 11.5 GB. [2018-11-23 00:07:51,253 INFO L168 Benchmark]: CACSL2BoogieTranslator took 289.18 ms. Allocated memory was 1.0 GB in the beginning and 1.2 GB in the end (delta: 150.5 MB). Free memory was 960.2 MB in the beginning and 1.1 GB in the end (delta: -187.8 MB). Peak memory consumption was 34.6 MB. Max. memory is 11.5 GB. [2018-11-23 00:07:51,253 INFO L168 Benchmark]: Boogie Procedure Inliner took 19.75 ms. Allocated memory is still 1.2 GB. Free memory was 1.1 GB in the beginning and 1.1 GB in the end (delta: 3.3 MB). Peak memory consumption was 3.3 MB. Max. memory is 11.5 GB. [2018-11-23 00:07:51,254 INFO L168 Benchmark]: Boogie Preprocessor took 39.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: 3.3 MB). Peak memory consumption was 3.3 MB. Max. memory is 11.5 GB. [2018-11-23 00:07:51,254 INFO L168 Benchmark]: RCFGBuilder took 436.42 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: 47.5 MB). Peak memory consumption was 47.5 MB. Max. memory is 11.5 GB. [2018-11-23 00:07:51,255 INFO L168 Benchmark]: TraceAbstraction took 512.87 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: 51.0 MB). Peak memory consumption was 51.0 MB. Max. memory is 11.5 GB. [2018-11-23 00:07:51,255 INFO L168 Benchmark]: Witness Printer took 3.58 ms. Allocated memory is still 1.2 GB. Free memory was 1.0 GB in the beginning and 1.0 GB in the end (delta: 3.3 MB). Peak memory consumption was 3.3 MB. Max. memory is 11.5 GB. [2018-11-23 00:07:51,258 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.14 ms. Allocated memory is still 1.0 GB. Free memory is still 985.4 MB. There was no memory consumed. Max. memory is 11.5 GB. * CACSL2BoogieTranslator took 289.18 ms. Allocated memory was 1.0 GB in the beginning and 1.2 GB in the end (delta: 150.5 MB). Free memory was 960.2 MB in the beginning and 1.1 GB in the end (delta: -187.8 MB). Peak memory consumption was 34.6 MB. Max. memory is 11.5 GB. * Boogie Procedure Inliner took 19.75 ms. Allocated memory is still 1.2 GB. Free memory was 1.1 GB in the beginning and 1.1 GB in the end (delta: 3.3 MB). Peak memory consumption was 3.3 MB. Max. memory is 11.5 GB. * Boogie Preprocessor took 39.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: 3.3 MB). Peak memory consumption was 3.3 MB. Max. memory is 11.5 GB. * RCFGBuilder took 436.42 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: 47.5 MB). Peak memory consumption was 47.5 MB. Max. memory is 11.5 GB. * TraceAbstraction took 512.87 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: 51.0 MB). Peak memory consumption was 51.0 MB. Max. memory is 11.5 GB. * Witness Printer took 3.58 ms. Allocated memory is still 1.2 GB. Free memory was 1.0 GB in the beginning and 1.0 GB in the end (delta: 3.3 MB). Peak memory consumption was 3.3 MB. Max. memory is 11.5 GB. * Results from de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator: - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: IntegerLiteral 100 could not be translated for associated CType ARRAY#_4_~DOUBLE# - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: IntegerLiteral 104 could not be translated for associated CType ARRAY#_11_~DOUBLE# - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: IntegerLiteral 97 could not be translated for associated CType ARRAY#_11_~DOUBLE# - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: IntegerLiteral 119 could not be translated for associated CType ARRAY#_4_~DOUBLE# - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: IntegerLiteral 92 could not be translated for associated CType ARRAY#_4_~DOUBLE# - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: IntegerLiteral 108 could not be translated for associated CType ARRAY#_4_~DOUBLE# * Results from de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: - UnprovableResult [Line: 260]: 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 bitwiseAnd at line 160, overapproximation of someBinaryArithmeticDOUBLEoperation at line 163, overapproximation of someBinaryDOUBLEComparisonOperation at line 259. 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)=116, \old(one_atan)=105, \old(pi)=111, \old(pi_lo_atan2)=103, \old(pi_o_2)=89, \old(pi_o_4)=107, \old(tiny_atan2)=118, \old(zero_atan2)=96, aT_atan={99:0}, atanhi_atan={101:0}, atanlo_atan={90: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] [L251] double x = 0.0; [L252] double y = __VERIFIER_nondet_double(); [L254] COND TRUE y > 0.0 VAL [aT_atan={99:0}, atanhi_atan={101:0}, atanlo_atan={90: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=0, y=117, zero_atan2=0] [L256] CALL, EXPR __ieee754_atan2(y, x) VAL [\old(x)=0, \old(y)=117, aT_atan={99:0}, atanhi_atan={101:0}, atanlo_atan={90: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)=0, \old(y)=117, aT_atan={99:0}, atanhi_atan={101:0}, atanlo_atan={90: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=0, y=117, 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)=0, \old(y)=117, aT_atan={99:0}, atanhi_atan={101:0}, atanlo_atan={90:0}, huge_atan=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, hx=5, lx=112, 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=0, y=117, 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)=0, \old(y)=117, aT_atan={99:0}, atanhi_atan={101:0}, atanlo_atan={90:0}, huge_atan=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, hx=5, hy=2, lx=112, ly=93, 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=0, y=117, zero_atan2=0] [L161-L162] COND TRUE ((ix | ((lx | -lx) >> 31)) > 0x7ff00000) || ((iy | ((ly | -ly) >> 31)) > 0x7ff00000) [L163] return x + y; VAL [\old(x)=0, \old(y)=117, aT_atan={99:0}, atanhi_atan={101:0}, atanlo_atan={90:0}, huge_atan=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, hx=5, hy=2, lx=112, ly=93, 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=0, y=117, zero_atan2=0] [L256] RET, EXPR __ieee754_atan2(y, x) VAL [__ieee754_atan2(y, x)=110, aT_atan={99:0}, atanhi_atan={101:0}, atanlo_atan={90: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=0, y=117, zero_atan2=0] [L256] double res = __ieee754_atan2(y, x); [L259] COND TRUE res != pi_o_2 VAL [aT_atan={99:0}, atanhi_atan={101:0}, atanlo_atan={90: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=110, tiny_atan2=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, x=0, y=117, zero_atan2=0] [L260] __VERIFIER_error() VAL [aT_atan={99:0}, atanhi_atan={101:0}, atanlo_atan={90: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=110, tiny_atan2=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, x=0, y=117, zero_atan2=0] - StatisticsResult: Ultimate Automizer benchmark data CFG has 6 procedures, 103 locations, 1 error locations. UNSAFE Result, 0.4s OverallTime, 2 OverallIterations, 1 TraceHistogramMax, 0.0s AutomataDifference, 0.0s DeadEndRemovalTime, 0.0s HoareAnnotationTime, HoareTripleCheckerStatistics: 143 SDtfs, 0 SDslu, 0 SDs, 0 SdLazy, 0 SolverSat, 0 SolverUnsat, 0 SolverUnknown, 0 SolverNotchecked, 0.0s Time, PredicateUnifierStatistics: 0 DeclaredPredicates, 2 GetRequests, 2 SyntacticMatches, 0 SemanticMatches, 0 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s Time, 0.0s BasicInterpolantAutomatonTime, BiggestAbstraction: size=103occurred 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, 1 MinimizatonAttempts, 0 StatesRemovedByMinimization, 0 NontrivialMinimizations, HoareAnnotationStatistics: No data available, RefinementEngineStatistics: TraceCheckStatistics: 0.0s SsaConstructionTime, 0.0s SatisfiabilityAnalysisTime, 0.0s InterpolantComputationTime, 40 NumberOfCodeBlocks, 40 NumberOfCodeBlocksAsserted, 2 NumberOfCheckSat, 18 ConstructedInterpolants, 0 QuantifiedInterpolants, 324 SizeOfPredicates, 0 NumberOfNonLiveVariables, 0 ConjunctsInSsa, 0 ConjunctsInUnsatCore, 1 InterpolantComputations, 1 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 00:07:52,745 INFO L170 SettingsManager]: Resetting all preferences to default values... [2018-11-23 00:07:52,746 INFO L174 SettingsManager]: Resetting UltimateCore preferences to default values [2018-11-23 00:07:52,754 INFO L177 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2018-11-23 00:07:52,755 INFO L174 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2018-11-23 00:07:52,755 INFO L174 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2018-11-23 00:07:52,756 INFO L174 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2018-11-23 00:07:52,757 INFO L174 SettingsManager]: Resetting LassoRanker preferences to default values [2018-11-23 00:07:52,758 INFO L174 SettingsManager]: Resetting Reaching Definitions preferences to default values [2018-11-23 00:07:52,759 INFO L174 SettingsManager]: Resetting SyntaxChecker preferences to default values [2018-11-23 00:07:52,759 INFO L177 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2018-11-23 00:07:52,760 INFO L174 SettingsManager]: Resetting LTL2Aut preferences to default values [2018-11-23 00:07:52,760 INFO L174 SettingsManager]: Resetting PEA to Boogie preferences to default values [2018-11-23 00:07:52,761 INFO L174 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2018-11-23 00:07:52,762 INFO L174 SettingsManager]: Resetting ChcToBoogie preferences to default values [2018-11-23 00:07:52,762 INFO L174 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2018-11-23 00:07:52,763 INFO L174 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2018-11-23 00:07:52,764 INFO L174 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2018-11-23 00:07:52,765 INFO L174 SettingsManager]: Resetting CodeCheck preferences to default values [2018-11-23 00:07:52,766 INFO L174 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2018-11-23 00:07:52,767 INFO L174 SettingsManager]: Resetting RCFGBuilder preferences to default values [2018-11-23 00:07:52,768 INFO L174 SettingsManager]: Resetting TraceAbstraction preferences to default values [2018-11-23 00:07:52,769 INFO L177 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2018-11-23 00:07:52,769 INFO L177 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2018-11-23 00:07:52,770 INFO L174 SettingsManager]: Resetting TreeAutomizer preferences to default values [2018-11-23 00:07:52,770 INFO L174 SettingsManager]: Resetting IcfgTransformer preferences to default values [2018-11-23 00:07:52,771 INFO L174 SettingsManager]: Resetting Boogie Printer preferences to default values [2018-11-23 00:07:52,771 INFO L174 SettingsManager]: Resetting ReqPrinter preferences to default values [2018-11-23 00:07:52,772 INFO L174 SettingsManager]: Resetting Witness Printer preferences to default values [2018-11-23 00:07:52,773 INFO L177 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2018-11-23 00:07:52,773 INFO L174 SettingsManager]: Resetting CDTParser preferences to default values [2018-11-23 00:07:52,773 INFO L177 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2018-11-23 00:07:52,774 INFO L177 SettingsManager]: ReqParser provides no preferences, ignoring... [2018-11-23 00:07:52,774 INFO L174 SettingsManager]: Resetting SmtParser preferences to default values [2018-11-23 00:07:52,774 INFO L174 SettingsManager]: Resetting Witness Parser preferences to default values [2018-11-23 00:07:52,775 INFO L181 SettingsManager]: Finished resetting all preferences to default values... [2018-11-23 00:07:52,775 INFO L98 SettingsManager]: Beginning loading settings from /tmp/vcloud-vcloud-master/worker/working_dir_58b6649f-6fc8-4b8b-8a6e-b706f3989c42/bin-2019/uautomizer/config/svcomp-Reach-32bit-Automizer_Bitvector.epf [2018-11-23 00:07:52,785 INFO L110 SettingsManager]: Loading preferences was successful [2018-11-23 00:07:52,785 INFO L112 SettingsManager]: Preferences different from defaults after loading the file: [2018-11-23 00:07:52,785 INFO L131 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2018-11-23 00:07:52,786 INFO L133 SettingsManager]: * ... calls to implemented procedures=ONLY_FOR_CONCURRENT_PROGRAMS [2018-11-23 00:07:52,786 INFO L131 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2018-11-23 00:07:52,786 INFO L133 SettingsManager]: * Create parallel compositions if possible=false [2018-11-23 00:07:52,786 INFO L133 SettingsManager]: * Use SBE=true [2018-11-23 00:07:52,787 INFO L131 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2018-11-23 00:07:52,787 INFO L133 SettingsManager]: * sizeof long=4 [2018-11-23 00:07:52,787 INFO L133 SettingsManager]: * sizeof POINTER=4 [2018-11-23 00:07:52,787 INFO L133 SettingsManager]: * Check division by zero=IGNORE [2018-11-23 00:07:52,787 INFO L133 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2018-11-23 00:07:52,787 INFO L133 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2018-11-23 00:07:52,787 INFO L133 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2018-11-23 00:07:52,787 INFO L133 SettingsManager]: * Use bitvectors instead of ints=true [2018-11-23 00:07:52,788 INFO L133 SettingsManager]: * Memory model=HoenickeLindenmann_4ByteResolution [2018-11-23 00:07:52,788 INFO L133 SettingsManager]: * sizeof long double=12 [2018-11-23 00:07:52,788 INFO L133 SettingsManager]: * Check if freed pointer was valid=false [2018-11-23 00:07:52,788 INFO L133 SettingsManager]: * Use constant arrays=true [2018-11-23 00:07:52,788 INFO L133 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2018-11-23 00:07:52,788 INFO L131 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2018-11-23 00:07:52,788 INFO L133 SettingsManager]: * Size of a code block=SequenceOfStatements [2018-11-23 00:07:52,789 INFO L133 SettingsManager]: * To the following directory=./dump/ [2018-11-23 00:07:52,789 INFO L133 SettingsManager]: * SMT solver=External_DefaultMode [2018-11-23 00:07:52,789 INFO L133 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2018-11-23 00:07:52,789 INFO L131 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2018-11-23 00:07:52,789 INFO L133 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2018-11-23 00:07:52,789 INFO L133 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopsAndPotentialCycles [2018-11-23 00:07:52,789 INFO L133 SettingsManager]: * Trace refinement strategy=WOLF [2018-11-23 00:07:52,789 INFO L133 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode [2018-11-23 00:07:52,790 INFO L133 SettingsManager]: * Command for external solver=cvc4nyu --tear-down-incremental --rewrite-divk --print-success --lang smt [2018-11-23 00:07:52,790 INFO L133 SettingsManager]: * Logic for external solver=AUFBV [2018-11-23 00:07:52,790 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_58b6649f-6fc8-4b8b-8a6e-b706f3989c42/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 -> 0cca6d33f0772631e27f925c9516a89b4af2326a [2018-11-23 00:07:52,821 INFO L81 nceAwareModelManager]: Repository-Root is: /tmp [2018-11-23 00:07:52,830 INFO L258 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2018-11-23 00:07:52,832 INFO L214 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2018-11-23 00:07:52,833 INFO L271 PluginConnector]: Initializing CDTParser... [2018-11-23 00:07:52,834 INFO L276 PluginConnector]: CDTParser initialized [2018-11-23 00:07:52,834 INFO L418 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /tmp/vcloud-vcloud-master/worker/working_dir_58b6649f-6fc8-4b8b-8a6e-b706f3989c42/bin-2019/uautomizer/../../sv-benchmarks/c/float-newlib/double_req_bl_0663b_true-unreach-call.c [2018-11-23 00:07:52,873 INFO L221 CDTParser]: Created temporary CDT project at /tmp/vcloud-vcloud-master/worker/working_dir_58b6649f-6fc8-4b8b-8a6e-b706f3989c42/bin-2019/uautomizer/data/6506c8ca6/27cfbf8ad1ca452e8c00b26168cd9d64/FLAG995375a11 [2018-11-23 00:07:53,191 INFO L307 CDTParser]: Found 1 translation units. [2018-11-23 00:07:53,191 INFO L161 CDTParser]: Scanning /tmp/vcloud-vcloud-master/worker/working_dir_58b6649f-6fc8-4b8b-8a6e-b706f3989c42/sv-benchmarks/c/float-newlib/double_req_bl_0663b_true-unreach-call.c [2018-11-23 00:07:53,197 INFO L355 CDTParser]: About to delete temporary CDT project at /tmp/vcloud-vcloud-master/worker/working_dir_58b6649f-6fc8-4b8b-8a6e-b706f3989c42/bin-2019/uautomizer/data/6506c8ca6/27cfbf8ad1ca452e8c00b26168cd9d64/FLAG995375a11 [2018-11-23 00:07:53,206 INFO L363 CDTParser]: Successfully deleted /tmp/vcloud-vcloud-master/worker/working_dir_58b6649f-6fc8-4b8b-8a6e-b706f3989c42/bin-2019/uautomizer/data/6506c8ca6/27cfbf8ad1ca452e8c00b26168cd9d64 [2018-11-23 00:07:53,209 INFO L296 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2018-11-23 00:07:53,210 INFO L131 ToolchainWalker]: Walking toolchain with 6 elements. [2018-11-23 00:07:53,211 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2018-11-23 00:07:53,211 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2018-11-23 00:07:53,214 INFO L276 PluginConnector]: CACSL2BoogieTranslator initialized [2018-11-23 00:07:53,215 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 23.11 12:07:53" (1/1) ... [2018-11-23 00:07:53,217 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@276dba24 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 12:07:53, skipping insertion in model container [2018-11-23 00:07:53,217 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 23.11 12:07:53" (1/1) ... [2018-11-23 00:07:53,224 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2018-11-23 00:07:53,247 INFO L176 MainTranslator]: Built tables and reachable declarations [2018-11-23 00:07:53,435 INFO L201 PostProcessor]: Analyzing one entry point: main [2018-11-23 00:07:53,442 INFO L191 MainTranslator]: Completed pre-run [2018-11-23 00:07:53,488 INFO L201 PostProcessor]: Analyzing one entry point: main [2018-11-23 00:07:53,511 INFO L195 MainTranslator]: Completed translation [2018-11-23 00:07:53,511 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 12:07:53 WrapperNode [2018-11-23 00:07:53,511 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2018-11-23 00:07:53,512 INFO L113 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2018-11-23 00:07:53,512 INFO L271 PluginConnector]: Initializing Boogie Procedure Inliner... [2018-11-23 00:07:53,512 INFO L276 PluginConnector]: Boogie Procedure Inliner initialized [2018-11-23 00:07:53,517 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 12:07:53" (1/1) ... [2018-11-23 00:07:53,569 INFO L185 PluginConnector]: Executing the observer Inliner from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 12:07:53" (1/1) ... [2018-11-23 00:07:53,575 INFO L132 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2018-11-23 00:07:53,576 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2018-11-23 00:07:53,576 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2018-11-23 00:07:53,576 INFO L276 PluginConnector]: Boogie Preprocessor initialized [2018-11-23 00:07:53,581 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 12:07:53" (1/1) ... [2018-11-23 00:07:53,581 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 12:07:53" (1/1) ... [2018-11-23 00:07:53,585 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 12:07:53" (1/1) ... [2018-11-23 00:07:53,585 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 12:07:53" (1/1) ... [2018-11-23 00:07:53,600 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 12:07:53" (1/1) ... [2018-11-23 00:07:53,605 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 12:07:53" (1/1) ... [2018-11-23 00:07:53,608 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 12:07:53" (1/1) ... [2018-11-23 00:07:53,612 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2018-11-23 00:07:53,612 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2018-11-23 00:07:53,612 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2018-11-23 00:07:53,612 INFO L276 PluginConnector]: RCFGBuilder initialized [2018-11-23 00:07:53,613 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 12:07:53" (1/1) ... No working directory specified, using /tmp/vcloud-vcloud-master/worker/working_dir_58b6649f-6fc8-4b8b-8a6e-b706f3989c42/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 00:07:53,645 INFO L130 BoogieDeclarations]: Found specification of procedure read~intFLOATTYPE8 [2018-11-23 00:07:53,645 INFO L130 BoogieDeclarations]: Found specification of procedure write~intFLOATTYPE8 [2018-11-23 00:07:53,645 INFO L130 BoogieDeclarations]: Found specification of procedure main [2018-11-23 00:07:53,645 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2018-11-23 00:07:53,645 INFO L130 BoogieDeclarations]: Found specification of procedure __ieee754_atan2 [2018-11-23 00:07:53,645 INFO L138 BoogieDeclarations]: Found implementation of procedure __ieee754_atan2 [2018-11-23 00:07:53,645 INFO L130 BoogieDeclarations]: Found specification of procedure fabs_double [2018-11-23 00:07:53,646 INFO L138 BoogieDeclarations]: Found implementation of procedure fabs_double [2018-11-23 00:07:53,646 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2018-11-23 00:07:53,646 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2018-11-23 00:07:53,646 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~intFLOATTYPE8 [2018-11-23 00:07:53,646 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.alloc [2018-11-23 00:07:53,646 INFO L130 BoogieDeclarations]: Found specification of procedure atan_double [2018-11-23 00:07:53,646 INFO L138 BoogieDeclarations]: Found implementation of procedure atan_double [2018-11-23 00:07:53,646 INFO L130 BoogieDeclarations]: Found specification of procedure read~intINTTYPE4 [2018-11-23 00:07:53,646 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2018-11-23 00:07:53,647 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2018-11-23 00:07:53,647 INFO L130 BoogieDeclarations]: Found specification of procedure write~intINTTYPE4 [2018-11-23 00:07:53,647 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2018-11-23 00:07:54,283 WARN L317 ript$VariableManager]: TermVariabe |q#valueAsBitvector| not constructed by VariableManager. Cannot ensure absence of name clashes. [2018-11-23 00:07:54,519 WARN L317 ript$VariableManager]: TermVariabe |q#valueAsBitvector| not constructed by VariableManager. Cannot ensure absence of name clashes. [2018-11-23 00:07:54,591 WARN L317 ript$VariableManager]: TermVariabe |q#valueAsBitvector| not constructed by VariableManager. Cannot ensure absence of name clashes. [2018-11-23 00:07:54,623 WARN L317 ript$VariableManager]: TermVariabe |q#valueAsBitvector| not constructed by VariableManager. Cannot ensure absence of name clashes. [2018-11-23 00:07:56,306 WARN L317 ript$VariableManager]: TermVariabe |q#valueAsBitvector| not constructed by VariableManager. Cannot ensure absence of name clashes. [2018-11-23 00:07:56,320 WARN L317 ript$VariableManager]: TermVariabe |q#valueAsBitvector| not constructed by VariableManager. Cannot ensure absence of name clashes. [2018-11-23 00:07:56,385 WARN L317 ript$VariableManager]: TermVariabe |q#valueAsBitvector| not constructed by VariableManager. Cannot ensure absence of name clashes. [2018-11-23 00:07:56,408 WARN L317 ript$VariableManager]: TermVariabe |q#valueAsBitvector| not constructed by VariableManager. Cannot ensure absence of name clashes. [2018-11-23 00:08:01,726 WARN L317 ript$VariableManager]: TermVariabe |q#valueAsBitvector| not constructed by VariableManager. Cannot ensure absence of name clashes. [2018-11-23 00:08:12,031 INFO L275 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2018-11-23 00:08:12,032 INFO L280 CfgBuilder]: Removed 16 assue(true) statements. [2018-11-23 00:08:12,032 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 23.11 12:08:12 BoogieIcfgContainer [2018-11-23 00:08:12,032 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2018-11-23 00:08:12,034 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2018-11-23 00:08:12,034 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2018-11-23 00:08:12,037 INFO L276 PluginConnector]: TraceAbstraction initialized [2018-11-23 00:08:12,037 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 23.11 12:07:53" (1/3) ... [2018-11-23 00:08:12,038 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@2270b4a9 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 23.11 12:08:12, skipping insertion in model container [2018-11-23 00:08:12,038 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 12:07:53" (2/3) ... [2018-11-23 00:08:12,038 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@2270b4a9 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 23.11 12:08:12, skipping insertion in model container [2018-11-23 00:08:12,038 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 23.11 12:08:12" (3/3) ... [2018-11-23 00:08:12,040 INFO L112 eAbstractionObserver]: Analyzing ICFG double_req_bl_0663b_true-unreach-call.c [2018-11-23 00:08:12,046 INFO L156 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2018-11-23 00:08:12,051 INFO L168 ceAbstractionStarter]: Appying trace abstraction to program that has 1 error locations. [2018-11-23 00:08:12,061 INFO L257 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2018-11-23 00:08:12,079 INFO L133 ementStrategyFactory]: Using default assertion order modulation [2018-11-23 00:08:12,080 INFO L382 AbstractCegarLoop]: Interprodecural is true [2018-11-23 00:08:12,080 INFO L383 AbstractCegarLoop]: Hoare is true [2018-11-23 00:08:12,080 INFO L384 AbstractCegarLoop]: Compute interpolants for FPandBP [2018-11-23 00:08:12,080 INFO L385 AbstractCegarLoop]: Backedges is STRAIGHT_LINE [2018-11-23 00:08:12,080 INFO L386 AbstractCegarLoop]: Determinization is PREDICATE_ABSTRACTION [2018-11-23 00:08:12,081 INFO L387 AbstractCegarLoop]: Difference is false [2018-11-23 00:08:12,081 INFO L388 AbstractCegarLoop]: Minimize is MINIMIZE_SEVPA [2018-11-23 00:08:12,081 INFO L393 AbstractCegarLoop]: ======== Iteration 0==of CEGAR loop == AllErrorsAtOnce======== [2018-11-23 00:08:12,092 INFO L276 IsEmpty]: Start isEmpty. Operand 103 states. [2018-11-23 00:08:12,096 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 20 [2018-11-23 00:08:12,096 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 00:08:12,096 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 00:08:12,098 INFO L423 AbstractCegarLoop]: === Iteration 1 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 00:08:12,101 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 00:08:12,101 INFO L82 PathProgramCache]: Analyzing trace with hash -1380022172, now seen corresponding path program 1 times [2018-11-23 00:08:12,104 INFO L223 ckRefinementStrategy]: Switched to mode MATHSAT_FPBP [2018-11-23 00:08:12,105 INFO L69 tionRefinementEngine]: Using refinement strategy WolfRefinementStrategy No working directory specified, using /tmp/vcloud-vcloud-master/worker/working_dir_58b6649f-6fc8-4b8b-8a6e-b706f3989c42/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 00:08:12,109 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 00:08:12,306 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 00:08:12,330 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 00:08:12,341 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 00:08:12,341 INFO L312 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2018-11-23 00:08:12,353 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-23 00:08:12,353 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [2] imperfect sequences [] total 2 [2018-11-23 00:08:12,355 INFO L459 AbstractCegarLoop]: Interpolant automaton has 2 states [2018-11-23 00:08:12,363 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 2 interpolants. [2018-11-23 00:08:12,363 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=1, Invalid=1, Unknown=0, NotChecked=0, Total=2 [2018-11-23 00:08:12,365 INFO L87 Difference]: Start difference. First operand 103 states. Second operand 2 states. [2018-11-23 00:08:12,386 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 00:08:12,386 INFO L93 Difference]: Finished difference Result 197 states and 314 transitions. [2018-11-23 00:08:12,386 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 2 states. [2018-11-23 00:08:12,387 INFO L78 Accepts]: Start accepts. Automaton has 2 states. Word has length 19 [2018-11-23 00:08:12,387 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 00:08:12,394 INFO L225 Difference]: With dead ends: 197 [2018-11-23 00:08:12,394 INFO L226 Difference]: Without dead ends: 98 [2018-11-23 00:08:12,396 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 18 GetRequests, 18 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 00:08:12,410 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 98 states. [2018-11-23 00:08:12,425 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 98 to 98. [2018-11-23 00:08:12,426 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 98 states. [2018-11-23 00:08:12,428 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 98 states to 98 states and 137 transitions. [2018-11-23 00:08:12,429 INFO L78 Accepts]: Start accepts. Automaton has 98 states and 137 transitions. Word has length 19 [2018-11-23 00:08:12,429 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 00:08:12,429 INFO L480 AbstractCegarLoop]: Abstraction has 98 states and 137 transitions. [2018-11-23 00:08:12,429 INFO L481 AbstractCegarLoop]: Interpolant automaton has 2 states. [2018-11-23 00:08:12,429 INFO L276 IsEmpty]: Start isEmpty. Operand 98 states and 137 transitions. [2018-11-23 00:08:12,430 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 22 [2018-11-23 00:08:12,430 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 00:08:12,430 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] [2018-11-23 00:08:12,430 INFO L423 AbstractCegarLoop]: === Iteration 2 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 00:08:12,431 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 00:08:12,431 INFO L82 PathProgramCache]: Analyzing trace with hash 959017453, now seen corresponding path program 1 times [2018-11-23 00:08:12,431 INFO L223 ckRefinementStrategy]: Switched to mode MATHSAT_FPBP [2018-11-23 00:08:12,431 INFO L69 tionRefinementEngine]: Using refinement strategy WolfRefinementStrategy No working directory specified, using /tmp/vcloud-vcloud-master/worker/working_dir_58b6649f-6fc8-4b8b-8a6e-b706f3989c42/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 00:08:12,434 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 00:08:12,828 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 00:08:12,859 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 00:08:12,964 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 00:08:12,965 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 00:08:12,969 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 00:08:13,020 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 00:08:13,026 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 00:08:13,027 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 00:08:13,056 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 00:08:13,067 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 00:08:13,067 INFO L267 ElimStorePlain]: Start of recursive call 5: End of recursive call: and 1 xjuncts. [2018-11-23 00:08:13,072 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 00:08:13,076 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 00:08:13,096 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 00:08:13,097 INFO L202 ElimStorePlain]: Needed 5 recursive calls to eliminate 3 variables, input treesize:45, output treesize:17 [2018-11-23 00:08:13,241 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 00:08:13,241 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 00:08:13,242 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 00:08:13,338 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 40 treesize of output 35 [2018-11-23 00:08:13,339 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 00:08:13,365 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 00:08:13,385 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 00:08:13,386 INFO L267 ElimStorePlain]: Start of recursive call 5: End of recursive call: and 1 xjuncts. [2018-11-23 00:08:13,396 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 00:08:13,406 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 00:08:13,432 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 00:08:13,432 INFO L202 ElimStorePlain]: Needed 5 recursive calls to eliminate 5 variables, input treesize:72, output treesize:33 [2018-11-23 00:08:13,746 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 00:08:13,746 INFO L312 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2018-11-23 00:08:13,763 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-23 00:08:13,763 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [10] imperfect sequences [] total 10 [2018-11-23 00:08:13,764 INFO L459 AbstractCegarLoop]: Interpolant automaton has 10 states [2018-11-23 00:08:13,764 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2018-11-23 00:08:13,764 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=18, Invalid=72, Unknown=0, NotChecked=0, Total=90 [2018-11-23 00:08:13,765 INFO L87 Difference]: Start difference. First operand 98 states and 137 transitions. Second operand 10 states. [2018-11-23 00:08:15,824 WARN L180 SmtUtils]: Spent 193.00 ms on a formula simplification that was a NOOP. DAG size: 69 [2018-11-23 00:08:21,952 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 00:08:21,952 INFO L93 Difference]: Finished difference Result 123 states and 171 transitions. [2018-11-23 00:08:21,953 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2018-11-23 00:08:21,953 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 21 [2018-11-23 00:08:21,954 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 00:08:21,955 INFO L225 Difference]: With dead ends: 123 [2018-11-23 00:08:21,955 INFO L226 Difference]: Without dead ends: 87 [2018-11-23 00:08:21,956 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 25 GetRequests, 12 SyntacticMatches, 0 SemanticMatches, 13 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 11 ImplicationChecksByTransitivity, 1.1s TimeCoverageRelationStatistics Valid=58, Invalid=152, Unknown=0, NotChecked=0, Total=210 [2018-11-23 00:08:21,956 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 87 states. [2018-11-23 00:08:21,965 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 87 to 87. [2018-11-23 00:08:21,965 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 87 states. [2018-11-23 00:08:21,966 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 87 states to 87 states and 115 transitions. [2018-11-23 00:08:21,966 INFO L78 Accepts]: Start accepts. Automaton has 87 states and 115 transitions. Word has length 21 [2018-11-23 00:08:21,966 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 00:08:21,967 INFO L480 AbstractCegarLoop]: Abstraction has 87 states and 115 transitions. [2018-11-23 00:08:21,967 INFO L481 AbstractCegarLoop]: Interpolant automaton has 10 states. [2018-11-23 00:08:21,967 INFO L276 IsEmpty]: Start isEmpty. Operand 87 states and 115 transitions. [2018-11-23 00:08:21,968 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 27 [2018-11-23 00:08:21,968 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 00:08:21,968 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] [2018-11-23 00:08:21,968 INFO L423 AbstractCegarLoop]: === Iteration 3 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 00:08:21,968 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 00:08:21,968 INFO L82 PathProgramCache]: Analyzing trace with hash -322982793, now seen corresponding path program 1 times [2018-11-23 00:08:21,969 INFO L223 ckRefinementStrategy]: Switched to mode MATHSAT_FPBP [2018-11-23 00:08:21,969 INFO L69 tionRefinementEngine]: Using refinement strategy WolfRefinementStrategy No working directory specified, using /tmp/vcloud-vcloud-master/worker/working_dir_58b6649f-6fc8-4b8b-8a6e-b706f3989c42/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 00:08:21,974 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 00:08:22,267 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 00:08:22,291 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 00:08:22,312 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 00:08:22,312 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 00:08:22,313 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 00:08:22,375 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 2 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 40 treesize of output 43 [2018-11-23 00:08:22,402 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 00:08:22,403 INFO L267 ElimStorePlain]: Start of recursive call 4: End of recursive call: and 1 xjuncts. [2018-11-23 00:08:22,418 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 00:08:22,433 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 00:08:22,437 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 00:08:22,437 INFO L267 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2018-11-23 00:08:22,438 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 00:08:22,443 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 00:08:22,452 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 00:08:22,452 INFO L202 ElimStorePlain]: Needed 6 recursive calls to eliminate 4 variables, input treesize:57, output treesize:18 [2018-11-23 00:08:22,538 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 00:08:22,538 INFO L312 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2018-11-23 00:08:22,553 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-23 00:08:22,553 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [7] imperfect sequences [] total 7 [2018-11-23 00:08:22,554 INFO L459 AbstractCegarLoop]: Interpolant automaton has 7 states [2018-11-23 00:08:22,554 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2018-11-23 00:08:22,554 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=11, Invalid=31, Unknown=0, NotChecked=0, Total=42 [2018-11-23 00:08:22,554 INFO L87 Difference]: Start difference. First operand 87 states and 115 transitions. Second operand 7 states. [2018-11-23 00:08:27,104 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 00:08:27,104 INFO L93 Difference]: Finished difference Result 118 states and 157 transitions. [2018-11-23 00:08:27,106 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2018-11-23 00:08:27,106 INFO L78 Accepts]: Start accepts. Automaton has 7 states. Word has length 26 [2018-11-23 00:08:27,106 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 00:08:27,107 INFO L225 Difference]: With dead ends: 118 [2018-11-23 00:08:27,107 INFO L226 Difference]: Without dead ends: 81 [2018-11-23 00:08:27,107 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 28 GetRequests, 20 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 00:08:27,107 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 81 states. [2018-11-23 00:08:27,116 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 81 to 81. [2018-11-23 00:08:27,116 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 81 states. [2018-11-23 00:08:27,117 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 81 states to 81 states and 104 transitions. [2018-11-23 00:08:27,118 INFO L78 Accepts]: Start accepts. Automaton has 81 states and 104 transitions. Word has length 26 [2018-11-23 00:08:27,118 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 00:08:27,118 INFO L480 AbstractCegarLoop]: Abstraction has 81 states and 104 transitions. [2018-11-23 00:08:27,118 INFO L481 AbstractCegarLoop]: Interpolant automaton has 7 states. [2018-11-23 00:08:27,118 INFO L276 IsEmpty]: Start isEmpty. Operand 81 states and 104 transitions. [2018-11-23 00:08:27,119 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 27 [2018-11-23 00:08:27,119 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 00:08:27,119 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] [2018-11-23 00:08:27,119 INFO L423 AbstractCegarLoop]: === Iteration 4 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 00:08:27,119 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 00:08:27,120 INFO L82 PathProgramCache]: Analyzing trace with hash -442139595, now seen corresponding path program 1 times [2018-11-23 00:08:27,120 INFO L223 ckRefinementStrategy]: Switched to mode MATHSAT_FPBP [2018-11-23 00:08:27,120 INFO L69 tionRefinementEngine]: Using refinement strategy WolfRefinementStrategy No working directory specified, using /tmp/vcloud-vcloud-master/worker/working_dir_58b6649f-6fc8-4b8b-8a6e-b706f3989c42/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 00:08:27,124 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 00:08:27,451 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 00:08:27,481 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 00:08:27,503 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 00:08:27,503 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 00:08:27,504 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 00:08:27,570 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 00:08:27,570 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 00:08:27,583 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 00:08:27,587 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 00:08:27,587 INFO L267 ElimStorePlain]: Start of recursive call 5: End of recursive call: and 1 xjuncts. [2018-11-23 00:08:27,590 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 00:08:27,594 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 00:08:27,602 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 00:08:27,602 INFO L202 ElimStorePlain]: Needed 5 recursive calls to eliminate 3 variables, input treesize:42, output treesize:14 [2018-11-23 00:08:27,643 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 00:08:27,643 INFO L312 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2018-11-23 00:08:27,654 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-23 00:08:27,654 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2018-11-23 00:08:27,654 INFO L459 AbstractCegarLoop]: Interpolant automaton has 6 states [2018-11-23 00:08:27,654 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2018-11-23 00:08:27,655 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=9, Invalid=21, Unknown=0, NotChecked=0, Total=30 [2018-11-23 00:08:27,655 INFO L87 Difference]: Start difference. First operand 81 states and 104 transitions. Second operand 6 states. [2018-11-23 00:08:31,486 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 00:08:31,486 INFO L93 Difference]: Finished difference Result 89 states and 111 transitions. [2018-11-23 00:08:31,487 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2018-11-23 00:08:31,487 INFO L78 Accepts]: Start accepts. Automaton has 6 states. Word has length 26 [2018-11-23 00:08:31,488 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 00:08:31,488 INFO L225 Difference]: With dead ends: 89 [2018-11-23 00:08:31,488 INFO L226 Difference]: Without dead ends: 81 [2018-11-23 00:08:31,488 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 27 GetRequests, 21 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 00:08:31,489 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 81 states. [2018-11-23 00:08:31,496 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 81 to 81. [2018-11-23 00:08:31,496 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 81 states. [2018-11-23 00:08:31,497 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 81 states to 81 states and 102 transitions. [2018-11-23 00:08:31,497 INFO L78 Accepts]: Start accepts. Automaton has 81 states and 102 transitions. Word has length 26 [2018-11-23 00:08:31,497 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 00:08:31,497 INFO L480 AbstractCegarLoop]: Abstraction has 81 states and 102 transitions. [2018-11-23 00:08:31,497 INFO L481 AbstractCegarLoop]: Interpolant automaton has 6 states. [2018-11-23 00:08:31,497 INFO L276 IsEmpty]: Start isEmpty. Operand 81 states and 102 transitions. [2018-11-23 00:08:31,498 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 27 [2018-11-23 00:08:31,498 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 00:08:31,498 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] [2018-11-23 00:08:31,498 INFO L423 AbstractCegarLoop]: === Iteration 5 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 00:08:31,498 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 00:08:31,499 INFO L82 PathProgramCache]: Analyzing trace with hash 1332867767, now seen corresponding path program 1 times [2018-11-23 00:08:31,499 INFO L223 ckRefinementStrategy]: Switched to mode MATHSAT_FPBP [2018-11-23 00:08:31,499 INFO L69 tionRefinementEngine]: Using refinement strategy WolfRefinementStrategy No working directory specified, using /tmp/vcloud-vcloud-master/worker/working_dir_58b6649f-6fc8-4b8b-8a6e-b706f3989c42/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 00:08:31,507 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 00:08:31,709 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 00:08:31,732 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 00:08:32,095 WARN L180 SmtUtils]: Spent 284.00 ms on a formula simplification that was a NOOP. DAG size: 13 [2018-11-23 00:08:32,466 WARN L180 SmtUtils]: Spent 190.00 ms on a formula simplification that was a NOOP. DAG size: 13 [2018-11-23 00:08:32,909 WARN L180 SmtUtils]: Spent 218.00 ms on a formula simplification that was a NOOP. DAG size: 11 [2018-11-23 00:08:32,911 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 00:08:32,911 INFO L312 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2018-11-23 00:08:32,921 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-23 00:08:32,922 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [7] imperfect sequences [] total 7 [2018-11-23 00:08:32,922 INFO L459 AbstractCegarLoop]: Interpolant automaton has 7 states [2018-11-23 00:08:32,922 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2018-11-23 00:08:32,922 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=13, Invalid=29, Unknown=0, NotChecked=0, Total=42 [2018-11-23 00:08:32,922 INFO L87 Difference]: Start difference. First operand 81 states and 102 transitions. Second operand 7 states. [2018-11-23 00:08:34,663 WARN L180 SmtUtils]: Spent 144.00 ms on a formula simplification that was a NOOP. DAG size: 13 [2018-11-23 00:08:35,092 WARN L180 SmtUtils]: Spent 342.00 ms on a formula simplification that was a NOOP. DAG size: 13 [2018-11-23 00:08:39,859 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 00:08:39,860 INFO L93 Difference]: Finished difference Result 87 states and 107 transitions. [2018-11-23 00:08:39,860 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2018-11-23 00:08:39,860 INFO L78 Accepts]: Start accepts. Automaton has 7 states. Word has length 26 [2018-11-23 00:08:39,861 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 00:08:39,861 INFO L225 Difference]: With dead ends: 87 [2018-11-23 00:08:39,862 INFO L226 Difference]: Without dead ends: 79 [2018-11-23 00:08:39,862 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 27 GetRequests, 19 SyntacticMatches, 1 SemanticMatches, 7 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 5 ImplicationChecksByTransitivity, 1.7s TimeCoverageRelationStatistics Valid=21, Invalid=51, Unknown=0, NotChecked=0, Total=72 [2018-11-23 00:08:39,862 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 79 states. [2018-11-23 00:08:39,872 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 79 to 79. [2018-11-23 00:08:39,872 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 79 states. [2018-11-23 00:08:39,872 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 79 states to 79 states and 99 transitions. [2018-11-23 00:08:39,873 INFO L78 Accepts]: Start accepts. Automaton has 79 states and 99 transitions. Word has length 26 [2018-11-23 00:08:39,873 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 00:08:39,873 INFO L480 AbstractCegarLoop]: Abstraction has 79 states and 99 transitions. [2018-11-23 00:08:39,873 INFO L481 AbstractCegarLoop]: Interpolant automaton has 7 states. [2018-11-23 00:08:39,873 INFO L276 IsEmpty]: Start isEmpty. Operand 79 states and 99 transitions. [2018-11-23 00:08:39,874 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 29 [2018-11-23 00:08:39,874 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 00:08:39,874 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 00:08:39,874 INFO L423 AbstractCegarLoop]: === Iteration 6 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 00:08:39,874 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 00:08:39,874 INFO L82 PathProgramCache]: Analyzing trace with hash 759779339, now seen corresponding path program 1 times [2018-11-23 00:08:39,875 INFO L223 ckRefinementStrategy]: Switched to mode MATHSAT_FPBP [2018-11-23 00:08:39,875 INFO L69 tionRefinementEngine]: Using refinement strategy WolfRefinementStrategy No working directory specified, using /tmp/vcloud-vcloud-master/worker/working_dir_58b6649f-6fc8-4b8b-8a6e-b706f3989c42/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 00:08:39,877 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 00:08:40,055 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 00:08:40,078 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 00:08:40,425 WARN L180 SmtUtils]: Spent 322.00 ms on a formula simplification that was a NOOP. DAG size: 13 [2018-11-23 00:08:41,034 WARN L180 SmtUtils]: Spent 357.00 ms on a formula simplification that was a NOOP. DAG size: 13 [2018-11-23 00:08:41,158 WARN L180 SmtUtils]: Spent 108.00 ms on a formula simplification that was a NOOP. DAG size: 11 [2018-11-23 00:08:41,462 WARN L180 SmtUtils]: Spent 142.00 ms on a formula simplification that was a NOOP. DAG size: 11 [2018-11-23 00:08:41,465 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 00:08:41,465 INFO L312 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2018-11-23 00:08:41,475 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-23 00:08:41,475 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [7] imperfect sequences [] total 7 [2018-11-23 00:08:41,475 INFO L459 AbstractCegarLoop]: Interpolant automaton has 7 states [2018-11-23 00:08:41,475 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2018-11-23 00:08:41,475 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=13, Invalid=29, Unknown=0, NotChecked=0, Total=42 [2018-11-23 00:08:41,475 INFO L87 Difference]: Start difference. First operand 79 states and 99 transitions. Second operand 7 states. [2018-11-23 00:08:43,553 WARN L180 SmtUtils]: Spent 149.00 ms on a formula simplification that was a NOOP. DAG size: 13 [2018-11-23 00:08:44,174 WARN L180 SmtUtils]: Spent 316.00 ms on a formula simplification that was a NOOP. DAG size: 13 [2018-11-23 00:08:48,484 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 00:08:48,484 INFO L93 Difference]: Finished difference Result 85 states and 104 transitions. [2018-11-23 00:08:48,485 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2018-11-23 00:08:48,486 INFO L78 Accepts]: Start accepts. Automaton has 7 states. Word has length 28 [2018-11-23 00:08:48,486 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 00:08:48,486 INFO L225 Difference]: With dead ends: 85 [2018-11-23 00:08:48,486 INFO L226 Difference]: Without dead ends: 77 [2018-11-23 00:08:48,487 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 29 GetRequests, 21 SyntacticMatches, 1 SemanticMatches, 7 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 5 ImplicationChecksByTransitivity, 1.9s TimeCoverageRelationStatistics Valid=21, Invalid=51, Unknown=0, NotChecked=0, Total=72 [2018-11-23 00:08:48,487 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 77 states. [2018-11-23 00:08:48,494 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 77 to 77. [2018-11-23 00:08:48,495 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 77 states. [2018-11-23 00:08:48,495 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 77 states to 77 states and 96 transitions. [2018-11-23 00:08:48,495 INFO L78 Accepts]: Start accepts. Automaton has 77 states and 96 transitions. Word has length 28 [2018-11-23 00:08:48,495 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 00:08:48,495 INFO L480 AbstractCegarLoop]: Abstraction has 77 states and 96 transitions. [2018-11-23 00:08:48,495 INFO L481 AbstractCegarLoop]: Interpolant automaton has 7 states. [2018-11-23 00:08:48,495 INFO L276 IsEmpty]: Start isEmpty. Operand 77 states and 96 transitions. [2018-11-23 00:08:48,496 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 30 [2018-11-23 00:08:48,496 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 00:08:48,496 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] [2018-11-23 00:08:48,496 INFO L423 AbstractCegarLoop]: === Iteration 7 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 00:08:48,496 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 00:08:48,497 INFO L82 PathProgramCache]: Analyzing trace with hash -1854768899, now seen corresponding path program 1 times [2018-11-23 00:08:48,497 INFO L223 ckRefinementStrategy]: Switched to mode MATHSAT_FPBP [2018-11-23 00:08:48,497 INFO L69 tionRefinementEngine]: Using refinement strategy WolfRefinementStrategy No working directory specified, using /tmp/vcloud-vcloud-master/worker/working_dir_58b6649f-6fc8-4b8b-8a6e-b706f3989c42/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 00:08:48,503 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 00:08:48,770 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 00:08:48,800 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 00:08:49,822 WARN L180 SmtUtils]: Spent 1.00 s on a formula simplification that was a NOOP. DAG size: 16 [2018-11-23 00:08:50,721 WARN L180 SmtUtils]: Spent 761.00 ms on a formula simplification that was a NOOP. DAG size: 16 [2018-11-23 00:08:51,064 WARN L180 SmtUtils]: Spent 209.00 ms on a formula simplification that was a NOOP. DAG size: 14 [2018-11-23 00:08:51,307 WARN L180 SmtUtils]: Spent 227.00 ms on a formula simplification that was a NOOP. DAG size: 14 [2018-11-23 00:08:51,309 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 00:08:51,309 INFO L312 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2018-11-23 00:08:51,320 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-23 00:08:51,320 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [7] imperfect sequences [] total 7 [2018-11-23 00:08:51,320 INFO L459 AbstractCegarLoop]: Interpolant automaton has 7 states [2018-11-23 00:08:51,320 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2018-11-23 00:08:51,320 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=13, Invalid=29, Unknown=0, NotChecked=0, Total=42 [2018-11-23 00:08:51,320 INFO L87 Difference]: Start difference. First operand 77 states and 96 transitions. Second operand 7 states. [2018-11-23 00:08:54,532 WARN L180 SmtUtils]: Spent 1.86 s on a formula simplification that was a NOOP. DAG size: 18 [2018-11-23 00:08:57,697 WARN L180 SmtUtils]: Spent 171.00 ms on a formula simplification that was a NOOP. DAG size: 16 [2018-11-23 00:08:58,501 WARN L180 SmtUtils]: Spent 117.00 ms on a formula simplification that was a NOOP. DAG size: 16 [2018-11-23 00:09:02,974 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 00:09:02,974 INFO L93 Difference]: Finished difference Result 94 states and 116 transitions. [2018-11-23 00:09:02,975 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2018-11-23 00:09:02,975 INFO L78 Accepts]: Start accepts. Automaton has 7 states. Word has length 29 [2018-11-23 00:09:02,975 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 00:09:02,977 INFO L225 Difference]: With dead ends: 94 [2018-11-23 00:09:02,977 INFO L226 Difference]: Without dead ends: 88 [2018-11-23 00:09:02,977 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 31 GetRequests, 22 SyntacticMatches, 1 SemanticMatches, 8 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 7 ImplicationChecksByTransitivity, 5.1s TimeCoverageRelationStatistics Valid=26, Invalid=64, Unknown=0, NotChecked=0, Total=90 [2018-11-23 00:09:02,977 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 88 states. [2018-11-23 00:09:02,986 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 88 to 79. [2018-11-23 00:09:02,986 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 79 states. [2018-11-23 00:09:02,987 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 79 states to 79 states and 98 transitions. [2018-11-23 00:09:02,987 INFO L78 Accepts]: Start accepts. Automaton has 79 states and 98 transitions. Word has length 29 [2018-11-23 00:09:02,987 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 00:09:02,987 INFO L480 AbstractCegarLoop]: Abstraction has 79 states and 98 transitions. [2018-11-23 00:09:02,987 INFO L481 AbstractCegarLoop]: Interpolant automaton has 7 states. [2018-11-23 00:09:02,987 INFO L276 IsEmpty]: Start isEmpty. Operand 79 states and 98 transitions. [2018-11-23 00:09:02,987 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 31 [2018-11-23 00:09:02,988 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 00:09:02,988 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 00:09:02,988 INFO L423 AbstractCegarLoop]: === Iteration 8 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 00:09:02,988 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 00:09:02,988 INFO L82 PathProgramCache]: Analyzing trace with hash 89007903, now seen corresponding path program 1 times [2018-11-23 00:09:02,988 INFO L223 ckRefinementStrategy]: Switched to mode MATHSAT_FPBP [2018-11-23 00:09:02,988 INFO L69 tionRefinementEngine]: Using refinement strategy WolfRefinementStrategy No working directory specified, using /tmp/vcloud-vcloud-master/worker/working_dir_58b6649f-6fc8-4b8b-8a6e-b706f3989c42/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 00:09:02,993 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 00:09:03,136 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 00:09:03,158 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 00:09:03,187 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 00:09:03,187 INFO L312 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2018-11-23 00:09:03,196 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-23 00:09:03,197 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2018-11-23 00:09:03,197 INFO L459 AbstractCegarLoop]: Interpolant automaton has 5 states [2018-11-23 00:09:03,197 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2018-11-23 00:09:03,197 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2018-11-23 00:09:03,197 INFO L87 Difference]: Start difference. First operand 79 states and 98 transitions. Second operand 5 states. [2018-11-23 00:09:08,643 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 00:09:08,643 INFO L93 Difference]: Finished difference Result 100 states and 122 transitions. [2018-11-23 00:09:08,643 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2018-11-23 00:09:08,643 INFO L78 Accepts]: Start accepts. Automaton has 5 states. Word has length 30 [2018-11-23 00:09:08,644 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 00:09:08,644 INFO L225 Difference]: With dead ends: 100 [2018-11-23 00:09:08,644 INFO L226 Difference]: Without dead ends: 89 [2018-11-23 00:09:08,644 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 32 GetRequests, 26 SyntacticMatches, 0 SemanticMatches, 6 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 2 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=22, Invalid=34, Unknown=0, NotChecked=0, Total=56 [2018-11-23 00:09:08,645 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 89 states. [2018-11-23 00:09:08,654 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 89 to 82. [2018-11-23 00:09:08,655 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 82 states. [2018-11-23 00:09:08,655 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 82 states to 82 states and 101 transitions. [2018-11-23 00:09:08,655 INFO L78 Accepts]: Start accepts. Automaton has 82 states and 101 transitions. Word has length 30 [2018-11-23 00:09:08,655 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 00:09:08,656 INFO L480 AbstractCegarLoop]: Abstraction has 82 states and 101 transitions. [2018-11-23 00:09:08,656 INFO L481 AbstractCegarLoop]: Interpolant automaton has 5 states. [2018-11-23 00:09:08,656 INFO L276 IsEmpty]: Start isEmpty. Operand 82 states and 101 transitions. [2018-11-23 00:09:08,656 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 32 [2018-11-23 00:09:08,656 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 00:09:08,657 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 00:09:08,657 INFO L423 AbstractCegarLoop]: === Iteration 9 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 00:09:08,657 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 00:09:08,657 INFO L82 PathProgramCache]: Analyzing trace with hash 1404759961, now seen corresponding path program 1 times [2018-11-23 00:09:08,657 INFO L223 ckRefinementStrategy]: Switched to mode MATHSAT_FPBP [2018-11-23 00:09:08,657 INFO L69 tionRefinementEngine]: Using refinement strategy WolfRefinementStrategy No working directory specified, using /tmp/vcloud-vcloud-master/worker/working_dir_58b6649f-6fc8-4b8b-8a6e-b706f3989c42/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 00:09:08,667 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 00:09:09,197 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 00:09:09,241 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 00:09:09,264 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 00:09:09,264 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 00:09:09,265 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 00:09:09,265 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 00:09:09,266 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 4 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 5 new quantified variables, introduced 0 case distinctions, treesize of input 58 treesize of output 85 [2018-11-23 00:09:09,524 WARN L521 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 10 mathsat -unsat_core_generation=3 [2018-11-23 00:09:09,525 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_9 (_ bv0 32) ((_ extract 31 0) v_prenex_61)) 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 00:09:09,527 INFO L168 Benchmark]: Toolchain (without parser) took 76317.49 ms. Allocated memory was 1.0 GB in the beginning and 1.2 GB in the end (delta: 196.6 MB). Free memory was 953.2 MB in the beginning and 979.8 MB in the end (delta: -26.6 MB). Peak memory consumption was 170.0 MB. Max. memory is 11.5 GB. [2018-11-23 00:09:09,527 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 00:09:09,528 INFO L168 Benchmark]: CACSL2BoogieTranslator took 300.61 ms. Allocated memory is still 1.0 GB. Free memory was 953.2 MB in the beginning and 931.7 MB in the end (delta: 21.5 MB). Peak memory consumption was 21.5 MB. Max. memory is 11.5 GB. [2018-11-23 00:09:09,528 INFO L168 Benchmark]: Boogie Procedure Inliner took 63.67 ms. Allocated memory was 1.0 GB in the beginning and 1.1 GB in the end (delta: 116.9 MB). Free memory was 931.7 MB in the beginning and 1.1 GB in the end (delta: -171.8 MB). Peak memory consumption was 15.8 MB. Max. memory is 11.5 GB. [2018-11-23 00:09:09,528 INFO L168 Benchmark]: Boogie Preprocessor took 36.07 ms. Allocated memory is still 1.1 GB. Free memory is still 1.1 GB. There was no memory consumed. Max. memory is 11.5 GB. [2018-11-23 00:09:09,528 INFO L168 Benchmark]: RCFGBuilder took 18420.47 ms. Allocated memory is still 1.1 GB. Free memory was 1.1 GB in the beginning and 1.0 GB in the end (delta: 62.8 MB). Peak memory consumption was 62.8 MB. Max. memory is 11.5 GB. [2018-11-23 00:09:09,529 INFO L168 Benchmark]: TraceAbstraction took 57492.77 ms. Allocated memory was 1.1 GB in the beginning and 1.2 GB in the end (delta: 79.7 MB). Free memory was 1.0 GB in the beginning and 979.8 MB in the end (delta: 61.0 MB). Peak memory consumption was 140.7 MB. Max. memory is 11.5 GB. [2018-11-23 00:09:09,530 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 300.61 ms. Allocated memory is still 1.0 GB. Free memory was 953.2 MB in the beginning and 931.7 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 63.67 ms. Allocated memory was 1.0 GB in the beginning and 1.1 GB in the end (delta: 116.9 MB). Free memory was 931.7 MB in the beginning and 1.1 GB in the end (delta: -171.8 MB). Peak memory consumption was 15.8 MB. Max. memory is 11.5 GB. * Boogie Preprocessor took 36.07 ms. Allocated memory is still 1.1 GB. Free memory is still 1.1 GB. There was no memory consumed. Max. memory is 11.5 GB. * RCFGBuilder took 18420.47 ms. Allocated memory is still 1.1 GB. Free memory was 1.1 GB in the beginning and 1.0 GB in the end (delta: 62.8 MB). Peak memory consumption was 62.8 MB. Max. memory is 11.5 GB. * TraceAbstraction took 57492.77 ms. Allocated memory was 1.1 GB in the beginning and 1.2 GB in the end (delta: 79.7 MB). Free memory was 1.0 GB in the beginning and 979.8 MB in the end (delta: 61.0 MB). Peak memory consumption was 140.7 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_9 (_ bv0 32) ((_ extract 31 0) v_prenex_61)) de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: UnsupportedOperationException: nested self-update not yet implemented: (store v_arrayElimCell_9 (_ bv0 32) ((_ extract 31 0) v_prenex_61)): 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...