./Ultimate.py --spec ../../sv-benchmarks/c/properties/unreach-call.prp --file ../../sv-benchmarks/c/float-newlib/double_req_bl_0660b_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_db7a6861-a69e-4334-88f8-090087223d59/bin-2019/ukojak/data/config -Xmx12G -Xms1G -jar /tmp/vcloud-vcloud-master/worker/working_dir_db7a6861-a69e-4334-88f8-090087223d59/bin-2019/ukojak/plugins/org.eclipse.equinox.launcher_1.3.100.v20150511-1540.jar -data @noDefault -ultimatedata /tmp/vcloud-vcloud-master/worker/working_dir_db7a6861-a69e-4334-88f8-090087223d59/bin-2019/ukojak/data -tc /tmp/vcloud-vcloud-master/worker/working_dir_db7a6861-a69e-4334-88f8-090087223d59/bin-2019/ukojak/config/KojakReach.xml -i ../../sv-benchmarks/c/float-newlib/double_req_bl_0660b_true-unreach-call.c -s /tmp/vcloud-vcloud-master/worker/working_dir_db7a6861-a69e-4334-88f8-090087223d59/bin-2019/ukojak/config/svcomp-Reach-32bit-Kojak_Default.epf --cacsl2boogietranslator.entry.function main --witnessprinter.witness.directory /tmp/vcloud-vcloud-master/worker/working_dir_db7a6861-a69e-4334-88f8-090087223d59/bin-2019/ukojak --witnessprinter.witness.filename witness.graphml --witnessprinter.write.witness.besides.input.file false --witnessprinter.graph.data.specification CHECK( init(main()), LTL(G ! call(__VERIFIER_error())) ) --witnessprinter.graph.data.producer Kojak --witnessprinter.graph.data.architecture 32bit --witnessprinter.graph.data.programhash fcfb0681d482dd50f2d20807361558887e88a0e8 ................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................... 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_db7a6861-a69e-4334-88f8-090087223d59/bin-2019/ukojak/data/config -Xmx12G -Xms1G -jar /tmp/vcloud-vcloud-master/worker/working_dir_db7a6861-a69e-4334-88f8-090087223d59/bin-2019/ukojak/plugins/org.eclipse.equinox.launcher_1.3.100.v20150511-1540.jar -data @noDefault -ultimatedata /tmp/vcloud-vcloud-master/worker/working_dir_db7a6861-a69e-4334-88f8-090087223d59/bin-2019/ukojak/data -tc /tmp/vcloud-vcloud-master/worker/working_dir_db7a6861-a69e-4334-88f8-090087223d59/bin-2019/ukojak/config/KojakReach.xml -i ../../sv-benchmarks/c/float-newlib/double_req_bl_0660b_true-unreach-call.c -s /tmp/vcloud-vcloud-master/worker/working_dir_db7a6861-a69e-4334-88f8-090087223d59/bin-2019/ukojak/config/svcomp-Reach-32bit-Kojak_Bitvector.epf --cacsl2boogietranslator.entry.function main --witnessprinter.witness.directory /tmp/vcloud-vcloud-master/worker/working_dir_db7a6861-a69e-4334-88f8-090087223d59/bin-2019/ukojak --witnessprinter.witness.filename witness.graphml --witnessprinter.write.witness.besides.input.file false --witnessprinter.graph.data.specification CHECK( init(main()), LTL(G ! call(__VERIFIER_error())) ) --witnessprinter.graph.data.producer Kojak --witnessprinter.graph.data.architecture 32bit --witnessprinter.graph.data.programhash fcfb0681d482dd50f2d20807361558887e88a0e8 .......................................................................................................................................................................................................................................................... Execution finished normally Writing output log to file Ultimate.log Result: ERROR: ExceptionOrErrorResult: UnsupportedOperationException: nested self-update not yet implemented: (store v_arrayElimCell_1 (_ bv0 32) ((_ extract 31 0) v_prenex_89)) --- Real Ultimate output --- This is Ultimate 0.1.23-aa41828 [2018-11-23 09:48:57,589 INFO L170 SettingsManager]: Resetting all preferences to default values... [2018-11-23 09:48:57,590 INFO L174 SettingsManager]: Resetting UltimateCore preferences to default values [2018-11-23 09:48:57,597 INFO L177 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2018-11-23 09:48:57,598 INFO L174 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2018-11-23 09:48:57,598 INFO L174 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2018-11-23 09:48:57,599 INFO L174 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2018-11-23 09:48:57,600 INFO L174 SettingsManager]: Resetting LassoRanker preferences to default values [2018-11-23 09:48:57,601 INFO L174 SettingsManager]: Resetting Reaching Definitions preferences to default values [2018-11-23 09:48:57,602 INFO L174 SettingsManager]: Resetting SyntaxChecker preferences to default values [2018-11-23 09:48:57,602 INFO L177 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2018-11-23 09:48:57,603 INFO L174 SettingsManager]: Resetting LTL2Aut preferences to default values [2018-11-23 09:48:57,603 INFO L174 SettingsManager]: Resetting PEA to Boogie preferences to default values [2018-11-23 09:48:57,604 INFO L174 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2018-11-23 09:48:57,604 INFO L174 SettingsManager]: Resetting ChcToBoogie preferences to default values [2018-11-23 09:48:57,605 INFO L174 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2018-11-23 09:48:57,605 INFO L174 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2018-11-23 09:48:57,606 INFO L174 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2018-11-23 09:48:57,607 INFO L174 SettingsManager]: Resetting CodeCheck preferences to default values [2018-11-23 09:48:57,608 INFO L174 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2018-11-23 09:48:57,609 INFO L174 SettingsManager]: Resetting RCFGBuilder preferences to default values [2018-11-23 09:48:57,610 INFO L174 SettingsManager]: Resetting TraceAbstraction preferences to default values [2018-11-23 09:48:57,612 INFO L177 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2018-11-23 09:48:57,612 INFO L177 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2018-11-23 09:48:57,612 INFO L174 SettingsManager]: Resetting TreeAutomizer preferences to default values [2018-11-23 09:48:57,612 INFO L174 SettingsManager]: Resetting IcfgTransformer preferences to default values [2018-11-23 09:48:57,613 INFO L174 SettingsManager]: Resetting Boogie Printer preferences to default values [2018-11-23 09:48:57,613 INFO L174 SettingsManager]: Resetting ReqPrinter preferences to default values [2018-11-23 09:48:57,614 INFO L174 SettingsManager]: Resetting Witness Printer preferences to default values [2018-11-23 09:48:57,615 INFO L177 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2018-11-23 09:48:57,615 INFO L174 SettingsManager]: Resetting CDTParser preferences to default values [2018-11-23 09:48:57,615 INFO L177 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2018-11-23 09:48:57,615 INFO L177 SettingsManager]: ReqParser provides no preferences, ignoring... [2018-11-23 09:48:57,616 INFO L174 SettingsManager]: Resetting SmtParser preferences to default values [2018-11-23 09:48:57,616 INFO L174 SettingsManager]: Resetting Witness Parser preferences to default values [2018-11-23 09:48:57,617 INFO L181 SettingsManager]: Finished resetting all preferences to default values... [2018-11-23 09:48:57,617 INFO L98 SettingsManager]: Beginning loading settings from /tmp/vcloud-vcloud-master/worker/working_dir_db7a6861-a69e-4334-88f8-090087223d59/bin-2019/ukojak/config/svcomp-Reach-32bit-Kojak_Default.epf [2018-11-23 09:48:57,624 INFO L110 SettingsManager]: Loading preferences was successful [2018-11-23 09:48:57,624 INFO L112 SettingsManager]: Preferences different from defaults after loading the file: [2018-11-23 09:48:57,625 INFO L131 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2018-11-23 09:48:57,625 INFO L133 SettingsManager]: * ... to procedures called more than once=ALWAYS [2018-11-23 09:48:57,625 INFO L131 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2018-11-23 09:48:57,625 INFO L133 SettingsManager]: * Create parallel compositions if possible=false [2018-11-23 09:48:57,625 INFO L131 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2018-11-23 09:48:57,625 INFO L133 SettingsManager]: * sizeof long=4 [2018-11-23 09:48:57,626 INFO L133 SettingsManager]: * Overapproximate operations on floating types=true [2018-11-23 09:48:57,626 INFO L133 SettingsManager]: * sizeof POINTER=4 [2018-11-23 09:48:57,626 INFO L133 SettingsManager]: * Check division by zero=IGNORE [2018-11-23 09:48:57,626 INFO L133 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2018-11-23 09:48:57,626 INFO L133 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2018-11-23 09:48:57,626 INFO L133 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2018-11-23 09:48:57,626 INFO L133 SettingsManager]: * sizeof long double=12 [2018-11-23 09:48:57,626 INFO L133 SettingsManager]: * Check if freed pointer was valid=false [2018-11-23 09:48:57,626 INFO L133 SettingsManager]: * Use constant arrays=true [2018-11-23 09:48:57,627 INFO L133 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2018-11-23 09:48:57,627 INFO L131 SettingsManager]: Preferences of CodeCheck differ from their defaults: [2018-11-23 09:48:57,627 INFO L133 SettingsManager]: * Timeout in seconds=1000000 [2018-11-23 09:48:57,627 INFO L131 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2018-11-23 09:48:57,627 INFO L133 SettingsManager]: * To the following directory=./dump/ [2018-11-23 09:48:57,627 INFO L133 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:10000 [2018-11-23 09:48:57,627 INFO L131 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2018-11-23 09:48:57,628 INFO L133 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2018-11-23 09:48:57,628 INFO L133 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopsAndPotentialCycles [2018-11-23 09:48:57,628 INFO L133 SettingsManager]: * Trace refinement strategy=PENGUIN [2018-11-23 09:48:57,628 INFO L133 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode [2018-11-23 09:48:57,628 INFO L133 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2018-11-23 09:48:57,628 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_db7a6861-a69e-4334-88f8-090087223d59/bin-2019/ukojak Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Witness filename -> witness.graphml Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Write witness besides input file -> false Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Graph data specification -> CHECK( init(main()), LTL(G ! call(__VERIFIER_error())) ) Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Graph data producer -> Kojak Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Graph data architecture -> 32bit Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Graph data programhash -> fcfb0681d482dd50f2d20807361558887e88a0e8 [2018-11-23 09:48:57,652 INFO L81 nceAwareModelManager]: Repository-Root is: /tmp [2018-11-23 09:48:57,662 INFO L258 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2018-11-23 09:48:57,664 INFO L214 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2018-11-23 09:48:57,665 INFO L271 PluginConnector]: Initializing CDTParser... [2018-11-23 09:48:57,666 INFO L276 PluginConnector]: CDTParser initialized [2018-11-23 09:48:57,666 INFO L418 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /tmp/vcloud-vcloud-master/worker/working_dir_db7a6861-a69e-4334-88f8-090087223d59/bin-2019/ukojak/../../sv-benchmarks/c/float-newlib/double_req_bl_0660b_true-unreach-call.c [2018-11-23 09:48:57,711 INFO L221 CDTParser]: Created temporary CDT project at /tmp/vcloud-vcloud-master/worker/working_dir_db7a6861-a69e-4334-88f8-090087223d59/bin-2019/ukojak/data/a1c00c1a2/8f75baed626443cdad39490aa3556c3f/FLAG1edd92c74 [2018-11-23 09:48:58,120 INFO L307 CDTParser]: Found 1 translation units. [2018-11-23 09:48:58,120 INFO L161 CDTParser]: Scanning /tmp/vcloud-vcloud-master/worker/working_dir_db7a6861-a69e-4334-88f8-090087223d59/sv-benchmarks/c/float-newlib/double_req_bl_0660b_true-unreach-call.c [2018-11-23 09:48:58,125 INFO L355 CDTParser]: About to delete temporary CDT project at /tmp/vcloud-vcloud-master/worker/working_dir_db7a6861-a69e-4334-88f8-090087223d59/bin-2019/ukojak/data/a1c00c1a2/8f75baed626443cdad39490aa3556c3f/FLAG1edd92c74 [2018-11-23 09:48:58,134 INFO L363 CDTParser]: Successfully deleted /tmp/vcloud-vcloud-master/worker/working_dir_db7a6861-a69e-4334-88f8-090087223d59/bin-2019/ukojak/data/a1c00c1a2/8f75baed626443cdad39490aa3556c3f [2018-11-23 09:48:58,136 INFO L296 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2018-11-23 09:48:58,137 INFO L131 ToolchainWalker]: Walking toolchain with 6 elements. [2018-11-23 09:48:58,137 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2018-11-23 09:48:58,138 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2018-11-23 09:48:58,140 INFO L276 PluginConnector]: CACSL2BoogieTranslator initialized [2018-11-23 09:48:58,140 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 23.11 09:48:58" (1/1) ... [2018-11-23 09:48:58,142 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@64d4648b and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 09:48:58, skipping insertion in model container [2018-11-23 09:48:58,142 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 23.11 09:48:58" (1/1) ... [2018-11-23 09:48:58,148 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2018-11-23 09:48:58,169 INFO L176 MainTranslator]: Built tables and reachable declarations [2018-11-23 09:48:58,305 INFO L201 PostProcessor]: Analyzing one entry point: main [2018-11-23 09:48:58,309 INFO L191 MainTranslator]: Completed pre-run [2018-11-23 09:48:58,384 INFO L201 PostProcessor]: Analyzing one entry point: main [2018-11-23 09:48:58,400 INFO L195 MainTranslator]: Completed translation [2018-11-23 09:48:58,400 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 09:48:58 WrapperNode [2018-11-23 09:48:58,400 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2018-11-23 09:48:58,401 INFO L113 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2018-11-23 09:48:58,401 INFO L271 PluginConnector]: Initializing Boogie Procedure Inliner... [2018-11-23 09:48:58,401 INFO L276 PluginConnector]: Boogie Procedure Inliner initialized [2018-11-23 09:48:58,406 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 09:48:58" (1/1) ... [2018-11-23 09:48:58,416 INFO L185 PluginConnector]: Executing the observer Inliner from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 09:48:58" (1/1) ... [2018-11-23 09:48:58,438 INFO L132 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2018-11-23 09:48:58,438 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2018-11-23 09:48:58,438 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2018-11-23 09:48:58,438 INFO L276 PluginConnector]: Boogie Preprocessor initialized [2018-11-23 09:48:58,445 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 09:48:58" (1/1) ... [2018-11-23 09:48:58,445 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 09:48:58" (1/1) ... [2018-11-23 09:48:58,448 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 09:48:58" (1/1) ... [2018-11-23 09:48:58,448 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 09:48:58" (1/1) ... [2018-11-23 09:48:58,458 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 09:48:58" (1/1) ... [2018-11-23 09:48:58,463 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 09:48:58" (1/1) ... [2018-11-23 09:48:58,465 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 09:48:58" (1/1) ... [2018-11-23 09:48:58,469 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2018-11-23 09:48:58,469 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2018-11-23 09:48:58,469 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2018-11-23 09:48:58,470 INFO L276 PluginConnector]: RCFGBuilder initialized [2018-11-23 09:48:58,470 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 09:48:58" (1/1) ... No working directory specified, using /tmp/vcloud-vcloud-master/worker/working_dir_db7a6861-a69e-4334-88f8-090087223d59/bin-2019/ukojak/z3 Starting monitored process 1 with z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:10000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 1 with z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:10000 [2018-11-23 09:48:58,510 INFO L130 BoogieDeclarations]: Found specification of procedure read~real [2018-11-23 09:48:58,510 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2018-11-23 09:48:58,511 INFO L130 BoogieDeclarations]: Found specification of procedure fabs_double [2018-11-23 09:48:58,511 INFO L138 BoogieDeclarations]: Found implementation of procedure fabs_double [2018-11-23 09:48:58,511 INFO L130 BoogieDeclarations]: Found specification of procedure write~real [2018-11-23 09:48:58,511 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.alloc [2018-11-23 09:48:58,511 INFO L130 BoogieDeclarations]: Found specification of procedure atan_double [2018-11-23 09:48:58,511 INFO L138 BoogieDeclarations]: Found implementation of procedure atan_double [2018-11-23 09:48:58,511 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2018-11-23 09:48:58,511 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2018-11-23 09:48:58,511 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2018-11-23 09:48:58,512 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~real [2018-11-23 09:48:58,512 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2018-11-23 09:48:59,058 INFO L275 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2018-11-23 09:48:59,058 INFO L280 CfgBuilder]: Removed 22 assue(true) statements. [2018-11-23 09:48:59,058 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 23.11 09:48:59 BoogieIcfgContainer [2018-11-23 09:48:59,058 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2018-11-23 09:48:59,059 INFO L113 PluginConnector]: ------------------------CodeCheck---------------------------- [2018-11-23 09:48:59,059 INFO L271 PluginConnector]: Initializing CodeCheck... [2018-11-23 09:48:59,066 INFO L276 PluginConnector]: CodeCheck initialized [2018-11-23 09:48:59,066 INFO L185 PluginConnector]: Executing the observer CodeCheckObserver from plugin CodeCheck for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 23.11 09:48:59" (1/1) ... [2018-11-23 09:48:59,074 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 09:48:59,094 INFO L82 GeneralOperation]: Start removeUnreachable. Operand no size info available [2018-11-23 09:48:59,101 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 117 states to 72 states and 117 transitions. [2018-11-23 09:48:59,101 INFO L276 IsEmpty]: Start isEmpty. Operand 72 states and 117 transitions. [2018-11-23 09:48:59,103 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 11 [2018-11-23 09:48:59,103 INFO L427 CodeCheckObserver]: Error Path is FOUND. [2018-11-23 09:48:59,160 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 09:48:59,189 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 09:48:59,197 INFO L82 GeneralOperation]: Start removeUnreachable. Operand no size info available [2018-11-23 09:48:59,198 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 112 states to 72 states and 112 transitions. [2018-11-23 09:48:59,198 INFO L276 IsEmpty]: Start isEmpty. Operand 72 states and 112 transitions. [2018-11-23 09:48:59,199 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 13 [2018-11-23 09:48:59,199 INFO L427 CodeCheckObserver]: Error Path is FOUND. [2018-11-23 09:48:59,237 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-11-23 09:48:59,262 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-11-23 09:48:59,313 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-11-23 09:48:59,327 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-11-23 09:48:59,352 WARN L493 CodeCheckObserver]: This program is UNSAFE, Check terminated with 2 iterations. ----- class de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder.RCFGBacktranslator [?] #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];call ~#atanhi_atan~0.base, ~#atanhi_atan~0.offset := #Ultimate.alloc(32);call write~init~real(0.4636476090008061, ~#atanhi_atan~0.base, ~#atanhi_atan~0.offset, 8);call write~init~real(0.7853981633974483, ~#atanhi_atan~0.base, 8 + ~#atanhi_atan~0.offset, 8);call write~init~real(0.982793723247329, ~#atanhi_atan~0.base, 16 + ~#atanhi_atan~0.offset, 8);call write~init~real(1.5707963267948966, ~#atanhi_atan~0.base, 24 + ~#atanhi_atan~0.offset, 8);call ~#atanlo_atan~0.base, ~#atanlo_atan~0.offset := #Ultimate.alloc(32);call write~init~real(2.2698777452961687E-17, ~#atanlo_atan~0.base, ~#atanlo_atan~0.offset, 8);call write~init~real(3.061616997868383E-17, ~#atanlo_atan~0.base, 8 + ~#atanlo_atan~0.offset, 8);call write~init~real(1.3903311031230998E-17, ~#atanlo_atan~0.base, 16 + ~#atanlo_atan~0.offset, 8);call write~init~real(6.123233995736766E-17, ~#atanlo_atan~0.base, 24 + ~#atanlo_atan~0.offset, 8);call ~#aT_atan~0.base, ~#aT_atan~0.offset := #Ultimate.alloc(88);call write~init~real(0.3333333333333293, ~#aT_atan~0.base, ~#aT_atan~0.offset, 8);call write~init~real(~someUnaryDOUBLEoperation(0.19999999999876483), ~#aT_atan~0.base, 8 + ~#aT_atan~0.offset, 8);call write~init~real(0.14285714272503466, ~#aT_atan~0.base, 16 + ~#aT_atan~0.offset, 8);call write~init~real(~someUnaryDOUBLEoperation(0.11111110405462356), ~#aT_atan~0.base, 24 + ~#aT_atan~0.offset, 8);call write~init~real(0.09090887133436507, ~#aT_atan~0.base, 32 + ~#aT_atan~0.offset, 8);call write~init~real(~someUnaryDOUBLEoperation(0.0769187620504483), ~#aT_atan~0.base, 40 + ~#aT_atan~0.offset, 8);call write~init~real(0.06661073137387531, ~#aT_atan~0.base, 48 + ~#aT_atan~0.offset, 8);call write~init~real(~someUnaryDOUBLEoperation(0.058335701337905735), ~#aT_atan~0.base, 56 + ~#aT_atan~0.offset, 8);call write~init~real(0.049768779946159324, ~#aT_atan~0.base, 64 + ~#aT_atan~0.offset, 8);call write~init~real(~someUnaryDOUBLEoperation(0.036531572744216916), ~#aT_atan~0.base, 72 + ~#aT_atan~0.offset, 8);call write~init~real(0.016285820115365782, ~#aT_atan~0.base, 80 + ~#aT_atan~0.offset, 8);~one_atan~0 := 1.0;~pi_o_4~0 := 0.7853981633974483;~pi_o_2~0 := 1.5707963267948966;~pi~0 := 3.141592653589793;~huge_atan~0 := 1.0E300;~tiny_atan2~0 := 1.0E-300;~zero_atan2~0 := 0.0;~pi_lo_atan2~0 := 1.2246467991473532E-16;havoc main_#res;havoc main_#t~nondet48, main_#t~ret49, main_~res~0, main_~x~0, main_~y~0;main_~x~0 := main_#t~nondet48;havoc main_#t~nondet48;main_~y~0 := 0.0; VAL [ULTIMATE.start_main_~y~0=0.0, |#NULL.base|=0, |#NULL.offset|=0, |~#aT_atan~0.base|=5, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=2, |~#atanhi_atan~0.offset|=0, |~#atanlo_atan~0.base|=3, |~#atanlo_atan~0.offset|=0, ~huge_atan~0=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0, ~one_atan~0=1.0, ~pi_lo_atan2~0=(/ 3061616997868382943.0 25000000000000000000000000000000000.0), ~pi_o_2~0=(/ 785398163397448279.0 500000000000000000.0), ~pi_o_4~0=(/ 785398163397448279.0 1000000000000000000.0), ~pi~0=(/ 785398163397448279.0 250000000000000000.0), ~tiny_atan2~0=(/ 1.0 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0), ~zero_atan2~0=0.0] [?] assume ~someBinaryDOUBLEComparisonOperation(main_~x~0, 0.0);__ieee754_atan2_#in~y, __ieee754_atan2_#in~x := main_~y~0, main_~x~0;havoc __ieee754_atan2_#res;havoc __ieee754_atan2_#t~mem27, __ieee754_atan2_#t~union28, __ieee754_atan2_#t~mem29, __ieee754_atan2_#t~union30, __ieee754_atan2_~#ew_u~0.base, __ieee754_atan2_~#ew_u~0.offset, __ieee754_atan2_#t~mem31, __ieee754_atan2_#t~union32, __ieee754_atan2_#t~mem33, __ieee754_atan2_#t~union34, __ieee754_atan2_~#ew_u~1.base, __ieee754_atan2_~#ew_u~1.offset, __ieee754_atan2_#t~ret35, __ieee754_atan2_#t~switch36, __ieee754_atan2_#t~ite37, __ieee754_atan2_#t~switch38, __ieee754_atan2_#t~switch39, __ieee754_atan2_#t~ite40, __ieee754_atan2_#t~ret41, __ieee754_atan2_#t~ret42, __ieee754_atan2_#t~switch43, __ieee754_atan2_#t~mem44, __ieee754_atan2_#t~union45, __ieee754_atan2_~#gh_u~2.base, __ieee754_atan2_~#gh_u~2.offset, __ieee754_atan2_#t~mem46, __ieee754_atan2_#t~union47.lsw, __ieee754_atan2_#t~union47.msw, __ieee754_atan2_~#sh_u~1.base, __ieee754_atan2_~#sh_u~1.offset, __ieee754_atan2_~zh~0, __ieee754_atan2_~y, __ieee754_atan2_~x, __ieee754_atan2_~z~1, __ieee754_atan2_~k~0, __ieee754_atan2_~m~0, __ieee754_atan2_~hx~1, __ieee754_atan2_~hy~0, __ieee754_atan2_~ix~1, __ieee754_atan2_~iy~0, __ieee754_atan2_~lx~0, __ieee754_atan2_~ly~0;__ieee754_atan2_~y := __ieee754_atan2_#in~y;__ieee754_atan2_~x := __ieee754_atan2_#in~x;havoc __ieee754_atan2_~z~1;havoc __ieee754_atan2_~k~0;havoc __ieee754_atan2_~m~0;havoc __ieee754_atan2_~hx~1;havoc __ieee754_atan2_~hy~0;havoc __ieee754_atan2_~ix~1;havoc __ieee754_atan2_~iy~0;havoc __ieee754_atan2_~lx~0;havoc __ieee754_atan2_~ly~0; VAL [ULTIMATE.start___ieee754_atan2_~x=3.0, ULTIMATE.start___ieee754_atan2_~y=0.0, ULTIMATE.start_main_~x~0=3.0, ULTIMATE.start_main_~y~0=0.0, |#NULL.base|=0, |#NULL.offset|=0, |ULTIMATE.start___ieee754_atan2_#in~x|=3.0, |ULTIMATE.start___ieee754_atan2_#in~y|=0.0, |~#aT_atan~0.base|=5, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=2, |~#atanhi_atan~0.offset|=0, |~#atanlo_atan~0.base|=3, |~#atanlo_atan~0.offset|=0, ~huge_atan~0=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0, ~one_atan~0=1.0, ~pi_lo_atan2~0=(/ 3061616997868382943.0 25000000000000000000000000000000000.0), ~pi_o_2~0=(/ 785398163397448279.0 500000000000000000.0), ~pi_o_4~0=(/ 785398163397448279.0 1000000000000000000.0), ~pi~0=(/ 785398163397448279.0 250000000000000000.0), ~tiny_atan2~0=(/ 1.0 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0), ~zero_atan2~0=0.0] [?] call __ieee754_atan2_~#ew_u~0.base, __ieee754_atan2_~#ew_u~0.offset := #Ultimate.alloc(8);call write~real(__ieee754_atan2_~x, __ieee754_atan2_~#ew_u~0.base, __ieee754_atan2_~#ew_u~0.offset, 8);call __ieee754_atan2_#t~mem27 := read~int(__ieee754_atan2_~#ew_u~0.base, 4 + __ieee754_atan2_~#ew_u~0.offset, 4);__ieee754_atan2_~hx~1 := (if __ieee754_atan2_#t~mem27 % 4294967296 % 4294967296 <= 2147483647 then __ieee754_atan2_#t~mem27 % 4294967296 % 4294967296 else __ieee754_atan2_#t~mem27 % 4294967296 % 4294967296 - 4294967296);call write~real(__ieee754_atan2_#t~union28, __ieee754_atan2_~#ew_u~0.base, __ieee754_atan2_~#ew_u~0.offset, 8);havoc __ieee754_atan2_#t~mem27;havoc __ieee754_atan2_#t~union28;call __ieee754_atan2_#t~mem29 := read~int(__ieee754_atan2_~#ew_u~0.base, __ieee754_atan2_~#ew_u~0.offset, 4);__ieee754_atan2_~lx~0 := __ieee754_atan2_#t~mem29;call write~real(__ieee754_atan2_#t~union30, __ieee754_atan2_~#ew_u~0.base, __ieee754_atan2_~#ew_u~0.offset, 8);havoc __ieee754_atan2_#t~union30;havoc __ieee754_atan2_#t~mem29;call ULTIMATE.dealloc(__ieee754_atan2_~#ew_u~0.base, __ieee754_atan2_~#ew_u~0.offset);havoc __ieee754_atan2_~#ew_u~0.base, __ieee754_atan2_~#ew_u~0.offset; VAL [ULTIMATE.start___ieee754_atan2_~hx~1=0, ULTIMATE.start___ieee754_atan2_~lx~0=6, ULTIMATE.start___ieee754_atan2_~x=3.0, ULTIMATE.start___ieee754_atan2_~y=0.0, ULTIMATE.start_main_~x~0=3.0, ULTIMATE.start_main_~y~0=0.0, |#NULL.base|=0, |#NULL.offset|=0, |ULTIMATE.start___ieee754_atan2_#in~x|=3.0, |ULTIMATE.start___ieee754_atan2_#in~y|=0.0, |~#aT_atan~0.base|=5, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=2, |~#atanhi_atan~0.offset|=0, |~#atanlo_atan~0.base|=3, |~#atanlo_atan~0.offset|=0, ~huge_atan~0=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0, ~one_atan~0=1.0, ~pi_lo_atan2~0=(/ 3061616997868382943.0 25000000000000000000000000000000000.0), ~pi_o_2~0=(/ 785398163397448279.0 500000000000000000.0), ~pi_o_4~0=(/ 785398163397448279.0 1000000000000000000.0), ~pi~0=(/ 785398163397448279.0 250000000000000000.0), ~tiny_atan2~0=(/ 1.0 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0), ~zero_atan2~0=0.0] [?] goto; VAL [ULTIMATE.start___ieee754_atan2_~hx~1=0, ULTIMATE.start___ieee754_atan2_~lx~0=6, ULTIMATE.start___ieee754_atan2_~x=3.0, ULTIMATE.start___ieee754_atan2_~y=0.0, ULTIMATE.start_main_~x~0=3.0, ULTIMATE.start_main_~y~0=0.0, |#NULL.base|=0, |#NULL.offset|=0, |ULTIMATE.start___ieee754_atan2_#in~x|=3.0, |ULTIMATE.start___ieee754_atan2_#in~y|=0.0, |~#aT_atan~0.base|=5, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=2, |~#atanhi_atan~0.offset|=0, |~#atanlo_atan~0.base|=3, |~#atanlo_atan~0.offset|=0, ~huge_atan~0=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0, ~one_atan~0=1.0, ~pi_lo_atan2~0=(/ 3061616997868382943.0 25000000000000000000000000000000000.0), ~pi_o_2~0=(/ 785398163397448279.0 500000000000000000.0), ~pi_o_4~0=(/ 785398163397448279.0 1000000000000000000.0), ~pi~0=(/ 785398163397448279.0 250000000000000000.0), ~tiny_atan2~0=(/ 1.0 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0), ~zero_atan2~0=0.0] [?] __ieee754_atan2_~ix~1 := ~bitwiseAnd(__ieee754_atan2_~hx~1, 2147483647); VAL [ULTIMATE.start___ieee754_atan2_~hx~1=0, ULTIMATE.start___ieee754_atan2_~lx~0=6, ULTIMATE.start___ieee754_atan2_~x=3.0, ULTIMATE.start___ieee754_atan2_~y=0.0, ULTIMATE.start_main_~x~0=3.0, ULTIMATE.start_main_~y~0=0.0, |#NULL.base|=0, |#NULL.offset|=0, |ULTIMATE.start___ieee754_atan2_#in~x|=3.0, |ULTIMATE.start___ieee754_atan2_#in~y|=0.0, |~#aT_atan~0.base|=5, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=2, |~#atanhi_atan~0.offset|=0, |~#atanlo_atan~0.base|=3, |~#atanlo_atan~0.offset|=0, ~huge_atan~0=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0, ~one_atan~0=1.0, ~pi_lo_atan2~0=(/ 3061616997868382943.0 25000000000000000000000000000000000.0), ~pi_o_2~0=(/ 785398163397448279.0 500000000000000000.0), ~pi_o_4~0=(/ 785398163397448279.0 1000000000000000000.0), ~pi~0=(/ 785398163397448279.0 250000000000000000.0), ~tiny_atan2~0=(/ 1.0 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0), ~zero_atan2~0=0.0] [?] call __ieee754_atan2_~#ew_u~1.base, __ieee754_atan2_~#ew_u~1.offset := #Ultimate.alloc(8);call write~real(__ieee754_atan2_~y, __ieee754_atan2_~#ew_u~1.base, __ieee754_atan2_~#ew_u~1.offset, 8);call __ieee754_atan2_#t~mem31 := read~int(__ieee754_atan2_~#ew_u~1.base, 4 + __ieee754_atan2_~#ew_u~1.offset, 4);__ieee754_atan2_~hy~0 := (if __ieee754_atan2_#t~mem31 % 4294967296 % 4294967296 <= 2147483647 then __ieee754_atan2_#t~mem31 % 4294967296 % 4294967296 else __ieee754_atan2_#t~mem31 % 4294967296 % 4294967296 - 4294967296);call write~real(__ieee754_atan2_#t~union32, __ieee754_atan2_~#ew_u~1.base, __ieee754_atan2_~#ew_u~1.offset, 8);havoc __ieee754_atan2_#t~union32;havoc __ieee754_atan2_#t~mem31;call __ieee754_atan2_#t~mem33 := read~int(__ieee754_atan2_~#ew_u~1.base, __ieee754_atan2_~#ew_u~1.offset, 4);__ieee754_atan2_~ly~0 := __ieee754_atan2_#t~mem33;call write~real(__ieee754_atan2_#t~union34, __ieee754_atan2_~#ew_u~1.base, __ieee754_atan2_~#ew_u~1.offset, 8);havoc __ieee754_atan2_#t~union34;havoc __ieee754_atan2_#t~mem33;call ULTIMATE.dealloc(__ieee754_atan2_~#ew_u~1.base, __ieee754_atan2_~#ew_u~1.offset);havoc __ieee754_atan2_~#ew_u~1.base, __ieee754_atan2_~#ew_u~1.offset; VAL [ULTIMATE.start___ieee754_atan2_~hx~1=0, ULTIMATE.start___ieee754_atan2_~hy~0=0, ULTIMATE.start___ieee754_atan2_~lx~0=6, ULTIMATE.start___ieee754_atan2_~ly~0=11, ULTIMATE.start___ieee754_atan2_~x=3.0, ULTIMATE.start___ieee754_atan2_~y=0.0, ULTIMATE.start_main_~x~0=3.0, ULTIMATE.start_main_~y~0=0.0, |#NULL.base|=0, |#NULL.offset|=0, |ULTIMATE.start___ieee754_atan2_#in~x|=3.0, |ULTIMATE.start___ieee754_atan2_#in~y|=0.0, |~#aT_atan~0.base|=5, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=2, |~#atanhi_atan~0.offset|=0, |~#atanlo_atan~0.base|=3, |~#atanlo_atan~0.offset|=0, ~huge_atan~0=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0, ~one_atan~0=1.0, ~pi_lo_atan2~0=(/ 3061616997868382943.0 25000000000000000000000000000000000.0), ~pi_o_2~0=(/ 785398163397448279.0 500000000000000000.0), ~pi_o_4~0=(/ 785398163397448279.0 1000000000000000000.0), ~pi~0=(/ 785398163397448279.0 250000000000000000.0), ~tiny_atan2~0=(/ 1.0 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0), ~zero_atan2~0=0.0] [?] goto; VAL [ULTIMATE.start___ieee754_atan2_~hx~1=0, ULTIMATE.start___ieee754_atan2_~hy~0=0, ULTIMATE.start___ieee754_atan2_~lx~0=6, ULTIMATE.start___ieee754_atan2_~ly~0=11, ULTIMATE.start___ieee754_atan2_~x=3.0, ULTIMATE.start___ieee754_atan2_~y=0.0, ULTIMATE.start_main_~x~0=3.0, ULTIMATE.start_main_~y~0=0.0, |#NULL.base|=0, |#NULL.offset|=0, |ULTIMATE.start___ieee754_atan2_#in~x|=3.0, |ULTIMATE.start___ieee754_atan2_#in~y|=0.0, |~#aT_atan~0.base|=5, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=2, |~#atanhi_atan~0.offset|=0, |~#atanlo_atan~0.base|=3, |~#atanlo_atan~0.offset|=0, ~huge_atan~0=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0, ~one_atan~0=1.0, ~pi_lo_atan2~0=(/ 3061616997868382943.0 25000000000000000000000000000000000.0), ~pi_o_2~0=(/ 785398163397448279.0 500000000000000000.0), ~pi_o_4~0=(/ 785398163397448279.0 1000000000000000000.0), ~pi~0=(/ 785398163397448279.0 250000000000000000.0), ~tiny_atan2~0=(/ 1.0 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0), ~zero_atan2~0=0.0] [?] __ieee754_atan2_~iy~0 := ~bitwiseAnd(__ieee754_atan2_~hy~0, 2147483647); VAL [ULTIMATE.start___ieee754_atan2_~hx~1=0, ULTIMATE.start___ieee754_atan2_~hy~0=0, ULTIMATE.start___ieee754_atan2_~lx~0=6, ULTIMATE.start___ieee754_atan2_~ly~0=11, ULTIMATE.start___ieee754_atan2_~x=3.0, ULTIMATE.start___ieee754_atan2_~y=0.0, ULTIMATE.start_main_~x~0=3.0, ULTIMATE.start_main_~y~0=0.0, |#NULL.base|=0, |#NULL.offset|=0, |ULTIMATE.start___ieee754_atan2_#in~x|=3.0, |ULTIMATE.start___ieee754_atan2_#in~y|=0.0, |~#aT_atan~0.base|=5, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=2, |~#atanhi_atan~0.offset|=0, |~#atanlo_atan~0.base|=3, |~#atanlo_atan~0.offset|=0, ~huge_atan~0=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0, ~one_atan~0=1.0, ~pi_lo_atan2~0=(/ 3061616997868382943.0 25000000000000000000000000000000000.0), ~pi_o_2~0=(/ 785398163397448279.0 500000000000000000.0), ~pi_o_4~0=(/ 785398163397448279.0 1000000000000000000.0), ~pi~0=(/ 785398163397448279.0 250000000000000000.0), ~tiny_atan2~0=(/ 1.0 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0), ~zero_atan2~0=0.0] [?] assume ~bitwiseOr(__ieee754_atan2_~ix~1, ~bitwiseOr(__ieee754_atan2_~lx~0, -__ieee754_atan2_~lx~0) / 2147483648) % 4294967296 > 2146435072 || ~bitwiseOr(__ieee754_atan2_~iy~0, ~bitwiseOr(__ieee754_atan2_~ly~0, -__ieee754_atan2_~ly~0) / 2147483648) % 4294967296 > 2146435072;__ieee754_atan2_#res := ~someBinaryArithmeticDOUBLEoperation(__ieee754_atan2_~x, __ieee754_atan2_~y); VAL [ULTIMATE.start___ieee754_atan2_~hx~1=0, ULTIMATE.start___ieee754_atan2_~hy~0=0, ULTIMATE.start___ieee754_atan2_~lx~0=6, ULTIMATE.start___ieee754_atan2_~ly~0=11, ULTIMATE.start___ieee754_atan2_~x=3.0, ULTIMATE.start___ieee754_atan2_~y=0.0, ULTIMATE.start_main_~x~0=3.0, ULTIMATE.start_main_~y~0=0.0, |#NULL.base|=0, |#NULL.offset|=0, |ULTIMATE.start___ieee754_atan2_#in~x|=3.0, |ULTIMATE.start___ieee754_atan2_#in~y|=0.0, |~#aT_atan~0.base|=5, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=2, |~#atanhi_atan~0.offset|=0, |~#atanlo_atan~0.base|=3, |~#atanlo_atan~0.offset|=0, ~huge_atan~0=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0, ~one_atan~0=1.0, ~pi_lo_atan2~0=(/ 3061616997868382943.0 25000000000000000000000000000000000.0), ~pi_o_2~0=(/ 785398163397448279.0 500000000000000000.0), ~pi_o_4~0=(/ 785398163397448279.0 1000000000000000000.0), ~pi~0=(/ 785398163397448279.0 250000000000000000.0), ~tiny_atan2~0=(/ 1.0 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0), ~zero_atan2~0=0.0] [?] main_#t~ret49 := __ieee754_atan2_#res;main_~res~0 := main_#t~ret49;havoc main_#t~ret49; VAL [ULTIMATE.start___ieee754_atan2_~hx~1=0, ULTIMATE.start___ieee754_atan2_~hy~0=0, ULTIMATE.start___ieee754_atan2_~lx~0=6, ULTIMATE.start___ieee754_atan2_~ly~0=11, ULTIMATE.start___ieee754_atan2_~x=3.0, ULTIMATE.start___ieee754_atan2_~y=0.0, ULTIMATE.start_main_~res~0=5.0, ULTIMATE.start_main_~x~0=3.0, ULTIMATE.start_main_~y~0=0.0, |#NULL.base|=0, |#NULL.offset|=0, |ULTIMATE.start___ieee754_atan2_#in~x|=3.0, |ULTIMATE.start___ieee754_atan2_#in~y|=0.0, |ULTIMATE.start___ieee754_atan2_#res|=5.0, |~#aT_atan~0.base|=5, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=2, |~#atanhi_atan~0.offset|=0, |~#atanlo_atan~0.base|=3, |~#atanlo_atan~0.offset|=0, ~huge_atan~0=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0, ~one_atan~0=1.0, ~pi_lo_atan2~0=(/ 3061616997868382943.0 25000000000000000000000000000000000.0), ~pi_o_2~0=(/ 785398163397448279.0 500000000000000000.0), ~pi_o_4~0=(/ 785398163397448279.0 1000000000000000000.0), ~pi~0=(/ 785398163397448279.0 250000000000000000.0), ~tiny_atan2~0=(/ 1.0 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0), ~zero_atan2~0=0.0] [?] assume ~someBinaryDOUBLEComparisonOperation(main_~res~0, ~pi~0); VAL [ULTIMATE.start___ieee754_atan2_~hx~1=0, ULTIMATE.start___ieee754_atan2_~hy~0=0, ULTIMATE.start___ieee754_atan2_~lx~0=6, ULTIMATE.start___ieee754_atan2_~ly~0=11, ULTIMATE.start___ieee754_atan2_~x=3.0, ULTIMATE.start___ieee754_atan2_~y=0.0, ULTIMATE.start_main_~res~0=5.0, ULTIMATE.start_main_~x~0=3.0, ULTIMATE.start_main_~y~0=0.0, |#NULL.base|=0, |#NULL.offset|=0, |ULTIMATE.start___ieee754_atan2_#in~x|=3.0, |ULTIMATE.start___ieee754_atan2_#in~y|=0.0, |ULTIMATE.start___ieee754_atan2_#res|=5.0, |~#aT_atan~0.base|=5, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=2, |~#atanhi_atan~0.offset|=0, |~#atanlo_atan~0.base|=3, |~#atanlo_atan~0.offset|=0, ~huge_atan~0=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0, ~one_atan~0=1.0, ~pi_lo_atan2~0=(/ 3061616997868382943.0 25000000000000000000000000000000000.0), ~pi_o_2~0=(/ 785398163397448279.0 500000000000000000.0), ~pi_o_4~0=(/ 785398163397448279.0 1000000000000000000.0), ~pi~0=(/ 785398163397448279.0 250000000000000000.0), ~tiny_atan2~0=(/ 1.0 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0), ~zero_atan2~0=0.0] [?] assume !false; VAL [ULTIMATE.start___ieee754_atan2_~hx~1=0, ULTIMATE.start___ieee754_atan2_~hy~0=0, ULTIMATE.start___ieee754_atan2_~lx~0=6, ULTIMATE.start___ieee754_atan2_~ly~0=11, ULTIMATE.start___ieee754_atan2_~x=3.0, ULTIMATE.start___ieee754_atan2_~y=0.0, ULTIMATE.start_main_~res~0=5.0, ULTIMATE.start_main_~x~0=3.0, ULTIMATE.start_main_~y~0=0.0, |#NULL.base|=0, |#NULL.offset|=0, |ULTIMATE.start___ieee754_atan2_#in~x|=3.0, |ULTIMATE.start___ieee754_atan2_#in~y|=0.0, |ULTIMATE.start___ieee754_atan2_#res|=5.0, |~#aT_atan~0.base|=5, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=2, |~#atanhi_atan~0.offset|=0, |~#atanlo_atan~0.base|=3, |~#atanlo_atan~0.offset|=0, ~huge_atan~0=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0, ~one_atan~0=1.0, ~pi_lo_atan2~0=(/ 3061616997868382943.0 25000000000000000000000000000000000.0), ~pi_o_2~0=(/ 785398163397448279.0 500000000000000000.0), ~pi_o_4~0=(/ 785398163397448279.0 1000000000000000000.0), ~pi~0=(/ 785398163397448279.0 250000000000000000.0), ~tiny_atan2~0=(/ 1.0 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0), ~zero_atan2~0=0.0] [?] #NULL.base, #NULL.offset := 0, 0; [?] #valid := #valid[0 := 0]; [L37-L42] call ~#atanhi_atan~0.base, ~#atanhi_atan~0.offset := #Ultimate.alloc(32); [L37-L42] call write~init~real(0.4636476090008061, ~#atanhi_atan~0.base, ~#atanhi_atan~0.offset, 8); [L37-L42] call write~init~real(0.7853981633974483, ~#atanhi_atan~0.base, 8 + ~#atanhi_atan~0.offset, 8); [L37-L42] call write~init~real(0.982793723247329, ~#atanhi_atan~0.base, 16 + ~#atanhi_atan~0.offset, 8); [L37-L42] call write~init~real(1.5707963267948966, ~#atanhi_atan~0.base, 24 + ~#atanhi_atan~0.offset, 8); [L44-L49] call ~#atanlo_atan~0.base, ~#atanlo_atan~0.offset := #Ultimate.alloc(32); [L44-L49] call write~init~real(2.2698777452961687E-17, ~#atanlo_atan~0.base, ~#atanlo_atan~0.offset, 8); [L44-L49] call write~init~real(3.061616997868383E-17, ~#atanlo_atan~0.base, 8 + ~#atanlo_atan~0.offset, 8); [L44-L49] call write~init~real(1.3903311031230998E-17, ~#atanlo_atan~0.base, 16 + ~#atanlo_atan~0.offset, 8); [L44-L49] call write~init~real(6.123233995736766E-17, ~#atanlo_atan~0.base, 24 + ~#atanlo_atan~0.offset, 8); [L51-L58] call ~#aT_atan~0.base, ~#aT_atan~0.offset := #Ultimate.alloc(88); [L51-L58] call write~init~real(0.3333333333333293, ~#aT_atan~0.base, ~#aT_atan~0.offset, 8); [L51-L58] call write~init~real(~someUnaryDOUBLEoperation(0.19999999999876483), ~#aT_atan~0.base, 8 + ~#aT_atan~0.offset, 8); [L51-L58] call write~init~real(0.14285714272503466, ~#aT_atan~0.base, 16 + ~#aT_atan~0.offset, 8); [L51-L58] call write~init~real(~someUnaryDOUBLEoperation(0.11111110405462356), ~#aT_atan~0.base, 24 + ~#aT_atan~0.offset, 8); [L51-L58] call write~init~real(0.09090887133436507, ~#aT_atan~0.base, 32 + ~#aT_atan~0.offset, 8); [L51-L58] call write~init~real(~someUnaryDOUBLEoperation(0.0769187620504483), ~#aT_atan~0.base, 40 + ~#aT_atan~0.offset, 8); [L51-L58] call write~init~real(0.06661073137387531, ~#aT_atan~0.base, 48 + ~#aT_atan~0.offset, 8); [L51-L58] call write~init~real(~someUnaryDOUBLEoperation(0.058335701337905735), ~#aT_atan~0.base, 56 + ~#aT_atan~0.offset, 8); [L51-L58] call write~init~real(0.049768779946159324, ~#aT_atan~0.base, 64 + ~#aT_atan~0.offset, 8); [L51-L58] call write~init~real(~someUnaryDOUBLEoperation(0.036531572744216916), ~#aT_atan~0.base, 72 + ~#aT_atan~0.offset, 8); [L51-L58] call write~init~real(0.016285820115365782, ~#aT_atan~0.base, 80 + ~#aT_atan~0.offset, 8); [L60-L62] ~one_atan~0 := 1.0; [L60-L62] ~pi_o_4~0 := 0.7853981633974483; [L60-L62] ~pi_o_2~0 := 1.5707963267948966; [L60-L62] ~pi~0 := 3.141592653589793; [L60-L62] ~huge_atan~0 := 1.0E300; [L139-L140] ~tiny_atan2~0 := 1.0E-300; [L139-L140] ~zero_atan2~0 := 0.0; [L139-L140] ~pi_lo_atan2~0 := 1.2246467991473532E-16; [?] havoc main_#res; [?] havoc main_#t~nondet48, main_#t~ret49, main_~res~0, main_~x~0, main_~y~0; [L250] main_~x~0 := main_#t~nondet48; [L250] havoc main_#t~nondet48; [L251] main_~y~0 := 0.0; VAL [#NULL.base=0, #NULL.offset=0, main_~y~0=0.0, ~#aT_atan~0.base=5, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=2, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=3, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [L253-L262] assume ~someBinaryDOUBLEComparisonOperation(main_~x~0, 0.0); [L255] __ieee754_atan2_#in~y, __ieee754_atan2_#in~x := main_~y~0, main_~x~0; [L255] havoc __ieee754_atan2_#res; [L255] havoc __ieee754_atan2_#t~mem27, __ieee754_atan2_#t~union28, __ieee754_atan2_#t~mem29, __ieee754_atan2_#t~union30, __ieee754_atan2_~#ew_u~0.base, __ieee754_atan2_~#ew_u~0.offset, __ieee754_atan2_#t~mem31, __ieee754_atan2_#t~union32, __ieee754_atan2_#t~mem33, __ieee754_atan2_#t~union34, __ieee754_atan2_~#ew_u~1.base, __ieee754_atan2_~#ew_u~1.offset, __ieee754_atan2_#t~ret35, __ieee754_atan2_#t~switch36, __ieee754_atan2_#t~ite37, __ieee754_atan2_#t~switch38, __ieee754_atan2_#t~switch39, __ieee754_atan2_#t~ite40, __ieee754_atan2_#t~ret41, __ieee754_atan2_#t~ret42, __ieee754_atan2_#t~switch43, __ieee754_atan2_#t~mem44, __ieee754_atan2_#t~union45, __ieee754_atan2_~#gh_u~2.base, __ieee754_atan2_~#gh_u~2.offset, __ieee754_atan2_#t~mem46, __ieee754_atan2_#t~union47.lsw, __ieee754_atan2_#t~union47.msw, __ieee754_atan2_~#sh_u~1.base, __ieee754_atan2_~#sh_u~1.offset, __ieee754_atan2_~zh~0, __ieee754_atan2_~y, __ieee754_atan2_~x, __ieee754_atan2_~z~1, __ieee754_atan2_~k~0, __ieee754_atan2_~m~0, __ieee754_atan2_~hx~1, __ieee754_atan2_~hy~0, __ieee754_atan2_~ix~1, __ieee754_atan2_~iy~0, __ieee754_atan2_~lx~0, __ieee754_atan2_~ly~0; [L142-L242] __ieee754_atan2_~y := __ieee754_atan2_#in~y; [L142-L242] __ieee754_atan2_~x := __ieee754_atan2_#in~x; [L143] havoc __ieee754_atan2_~z~1; [L144] havoc __ieee754_atan2_~k~0; [L144] havoc __ieee754_atan2_~m~0; [L144] havoc __ieee754_atan2_~hx~1; [L144] havoc __ieee754_atan2_~hy~0; [L144] havoc __ieee754_atan2_~ix~1; [L144] havoc __ieee754_atan2_~iy~0; [L145] havoc __ieee754_atan2_~lx~0; [L145] havoc __ieee754_atan2_~ly~0; VAL [#NULL.base=0, #NULL.offset=0, __ieee754_atan2_#in~x=3.0, __ieee754_atan2_#in~y=0.0, __ieee754_atan2_~x=3.0, __ieee754_atan2_~y=0.0, main_~x~0=3.0, main_~y~0=0.0, ~#aT_atan~0.base=5, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=2, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=3, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [L148] call __ieee754_atan2_~#ew_u~0.base, __ieee754_atan2_~#ew_u~0.offset := #Ultimate.alloc(8); [L149] call write~real(__ieee754_atan2_~x, __ieee754_atan2_~#ew_u~0.base, __ieee754_atan2_~#ew_u~0.offset, 8); [L150] call __ieee754_atan2_#t~mem27 := read~int(__ieee754_atan2_~#ew_u~0.base, 4 + __ieee754_atan2_~#ew_u~0.offset, 4); [L150] __ieee754_atan2_~hx~1 := (if __ieee754_atan2_#t~mem27 % 4294967296 % 4294967296 <= 2147483647 then __ieee754_atan2_#t~mem27 % 4294967296 % 4294967296 else __ieee754_atan2_#t~mem27 % 4294967296 % 4294967296 - 4294967296); [L150] call write~real(__ieee754_atan2_#t~union28, __ieee754_atan2_~#ew_u~0.base, __ieee754_atan2_~#ew_u~0.offset, 8); [L150] havoc __ieee754_atan2_#t~mem27; [L150] havoc __ieee754_atan2_#t~union28; [L151] call __ieee754_atan2_#t~mem29 := read~int(__ieee754_atan2_~#ew_u~0.base, __ieee754_atan2_~#ew_u~0.offset, 4); [L151] __ieee754_atan2_~lx~0 := __ieee754_atan2_#t~mem29; [L151] call write~real(__ieee754_atan2_#t~union30, __ieee754_atan2_~#ew_u~0.base, __ieee754_atan2_~#ew_u~0.offset, 8); [L151] havoc __ieee754_atan2_#t~union30; [L151] havoc __ieee754_atan2_#t~mem29; [L148] call ULTIMATE.dealloc(__ieee754_atan2_~#ew_u~0.base, __ieee754_atan2_~#ew_u~0.offset); [L148] havoc __ieee754_atan2_~#ew_u~0.base, __ieee754_atan2_~#ew_u~0.offset; VAL [#NULL.base=0, #NULL.offset=0, __ieee754_atan2_#in~x=3.0, __ieee754_atan2_#in~y=0.0, __ieee754_atan2_~hx~1=0, __ieee754_atan2_~lx~0=6, __ieee754_atan2_~x=3.0, __ieee754_atan2_~y=0.0, main_~x~0=3.0, main_~y~0=0.0, ~#aT_atan~0.base=5, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=2, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=3, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [L153] __ieee754_atan2_~ix~1 := ~bitwiseAnd(__ieee754_atan2_~hx~1, 2147483647); VAL [#NULL.base=0, #NULL.offset=0, __ieee754_atan2_#in~x=3.0, __ieee754_atan2_#in~y=0.0, __ieee754_atan2_~hx~1=0, __ieee754_atan2_~lx~0=6, __ieee754_atan2_~x=3.0, __ieee754_atan2_~y=0.0, main_~x~0=3.0, main_~y~0=0.0, ~#aT_atan~0.base=5, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=2, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=3, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [L155] call __ieee754_atan2_~#ew_u~1.base, __ieee754_atan2_~#ew_u~1.offset := #Ultimate.alloc(8); [L156] call write~real(__ieee754_atan2_~y, __ieee754_atan2_~#ew_u~1.base, __ieee754_atan2_~#ew_u~1.offset, 8); [L157] call __ieee754_atan2_#t~mem31 := read~int(__ieee754_atan2_~#ew_u~1.base, 4 + __ieee754_atan2_~#ew_u~1.offset, 4); [L157] __ieee754_atan2_~hy~0 := (if __ieee754_atan2_#t~mem31 % 4294967296 % 4294967296 <= 2147483647 then __ieee754_atan2_#t~mem31 % 4294967296 % 4294967296 else __ieee754_atan2_#t~mem31 % 4294967296 % 4294967296 - 4294967296); [L157] call write~real(__ieee754_atan2_#t~union32, __ieee754_atan2_~#ew_u~1.base, __ieee754_atan2_~#ew_u~1.offset, 8); [L157] havoc __ieee754_atan2_#t~union32; [L157] havoc __ieee754_atan2_#t~mem31; [L158] call __ieee754_atan2_#t~mem33 := read~int(__ieee754_atan2_~#ew_u~1.base, __ieee754_atan2_~#ew_u~1.offset, 4); [L158] __ieee754_atan2_~ly~0 := __ieee754_atan2_#t~mem33; [L158] call write~real(__ieee754_atan2_#t~union34, __ieee754_atan2_~#ew_u~1.base, __ieee754_atan2_~#ew_u~1.offset, 8); [L158] havoc __ieee754_atan2_#t~union34; [L158] havoc __ieee754_atan2_#t~mem33; [L155] call ULTIMATE.dealloc(__ieee754_atan2_~#ew_u~1.base, __ieee754_atan2_~#ew_u~1.offset); [L155] havoc __ieee754_atan2_~#ew_u~1.base, __ieee754_atan2_~#ew_u~1.offset; VAL [#NULL.base=0, #NULL.offset=0, __ieee754_atan2_#in~x=3.0, __ieee754_atan2_#in~y=0.0, __ieee754_atan2_~hx~1=0, __ieee754_atan2_~hy~0=0, __ieee754_atan2_~lx~0=6, __ieee754_atan2_~ly~0=11, __ieee754_atan2_~x=3.0, __ieee754_atan2_~y=0.0, main_~x~0=3.0, main_~y~0=0.0, ~#aT_atan~0.base=5, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=2, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=3, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [L160] __ieee754_atan2_~iy~0 := ~bitwiseAnd(__ieee754_atan2_~hy~0, 2147483647); VAL [#NULL.base=0, #NULL.offset=0, __ieee754_atan2_#in~x=3.0, __ieee754_atan2_#in~y=0.0, __ieee754_atan2_~hx~1=0, __ieee754_atan2_~hy~0=0, __ieee754_atan2_~lx~0=6, __ieee754_atan2_~ly~0=11, __ieee754_atan2_~x=3.0, __ieee754_atan2_~y=0.0, main_~x~0=3.0, main_~y~0=0.0, ~#aT_atan~0.base=5, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=2, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=3, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [L161-L163] assume ~bitwiseOr(__ieee754_atan2_~ix~1, ~bitwiseOr(__ieee754_atan2_~lx~0, -__ieee754_atan2_~lx~0) / 2147483648) % 4294967296 > 2146435072 || ~bitwiseOr(__ieee754_atan2_~iy~0, ~bitwiseOr(__ieee754_atan2_~ly~0, -__ieee754_atan2_~ly~0) / 2147483648) % 4294967296 > 2146435072; [L163] __ieee754_atan2_#res := ~someBinaryArithmeticDOUBLEoperation(__ieee754_atan2_~x, __ieee754_atan2_~y); VAL [#NULL.base=0, #NULL.offset=0, __ieee754_atan2_#in~x=3.0, __ieee754_atan2_#in~y=0.0, __ieee754_atan2_~hx~1=0, __ieee754_atan2_~hy~0=0, __ieee754_atan2_~lx~0=6, __ieee754_atan2_~ly~0=11, __ieee754_atan2_~x=3.0, __ieee754_atan2_~y=0.0, main_~x~0=3.0, main_~y~0=0.0, ~#aT_atan~0.base=5, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=2, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=3, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [L255] main_#t~ret49 := __ieee754_atan2_#res; [L255] main_~res~0 := main_#t~ret49; [L255] havoc main_#t~ret49; VAL [#NULL.base=0, #NULL.offset=0, __ieee754_atan2_#in~x=3.0, __ieee754_atan2_#in~y=0.0, __ieee754_atan2_#res=5.0, __ieee754_atan2_~hx~1=0, __ieee754_atan2_~hy~0=0, __ieee754_atan2_~lx~0=6, __ieee754_atan2_~ly~0=11, __ieee754_atan2_~x=3.0, __ieee754_atan2_~y=0.0, main_~res~0=5.0, main_~x~0=3.0, main_~y~0=0.0, ~#aT_atan~0.base=5, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=2, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=3, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [L258-L261] assume ~someBinaryDOUBLEComparisonOperation(main_~res~0, ~pi~0); VAL [#NULL.base=0, #NULL.offset=0, __ieee754_atan2_#in~x=3.0, __ieee754_atan2_#in~y=0.0, __ieee754_atan2_#res=5.0, __ieee754_atan2_~hx~1=0, __ieee754_atan2_~hy~0=0, __ieee754_atan2_~lx~0=6, __ieee754_atan2_~ly~0=11, __ieee754_atan2_~x=3.0, __ieee754_atan2_~y=0.0, main_~res~0=5.0, main_~x~0=3.0, main_~y~0=0.0, ~#aT_atan~0.base=5, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=2, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=3, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [L259] assert false; VAL [#NULL.base=0, #NULL.offset=0, __ieee754_atan2_#in~x=3.0, __ieee754_atan2_#in~y=0.0, __ieee754_atan2_#res=5.0, __ieee754_atan2_~hx~1=0, __ieee754_atan2_~hy~0=0, __ieee754_atan2_~lx~0=6, __ieee754_atan2_~ly~0=11, __ieee754_atan2_~x=3.0, __ieee754_atan2_~y=0.0, main_~res~0=5.0, main_~x~0=3.0, main_~y~0=0.0, ~#aT_atan~0.base=5, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=2, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=3, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] ----- ----- class de.uni_freiburg.informatik.ultimate.boogie.preprocessor.BoogiePreprocessorBacktranslator [?] #NULL.base, #NULL.offset := 0, 0; [?] #valid := #valid[0 := 0]; [L37-L42] call ~#atanhi_atan~0.base, ~#atanhi_atan~0.offset := #Ultimate.alloc(32); [L37-L42] call write~init~real(0.4636476090008061, ~#atanhi_atan~0.base, ~#atanhi_atan~0.offset, 8); [L37-L42] call write~init~real(0.7853981633974483, ~#atanhi_atan~0.base, 8 + ~#atanhi_atan~0.offset, 8); [L37-L42] call write~init~real(0.982793723247329, ~#atanhi_atan~0.base, 16 + ~#atanhi_atan~0.offset, 8); [L37-L42] call write~init~real(1.5707963267948966, ~#atanhi_atan~0.base, 24 + ~#atanhi_atan~0.offset, 8); [L44-L49] call ~#atanlo_atan~0.base, ~#atanlo_atan~0.offset := #Ultimate.alloc(32); [L44-L49] call write~init~real(2.2698777452961687E-17, ~#atanlo_atan~0.base, ~#atanlo_atan~0.offset, 8); [L44-L49] call write~init~real(3.061616997868383E-17, ~#atanlo_atan~0.base, 8 + ~#atanlo_atan~0.offset, 8); [L44-L49] call write~init~real(1.3903311031230998E-17, ~#atanlo_atan~0.base, 16 + ~#atanlo_atan~0.offset, 8); [L44-L49] call write~init~real(6.123233995736766E-17, ~#atanlo_atan~0.base, 24 + ~#atanlo_atan~0.offset, 8); [L51-L58] call ~#aT_atan~0.base, ~#aT_atan~0.offset := #Ultimate.alloc(88); [L51-L58] call write~init~real(0.3333333333333293, ~#aT_atan~0.base, ~#aT_atan~0.offset, 8); [L51-L58] call write~init~real(~someUnaryDOUBLEoperation(0.19999999999876483), ~#aT_atan~0.base, 8 + ~#aT_atan~0.offset, 8); [L51-L58] call write~init~real(0.14285714272503466, ~#aT_atan~0.base, 16 + ~#aT_atan~0.offset, 8); [L51-L58] call write~init~real(~someUnaryDOUBLEoperation(0.11111110405462356), ~#aT_atan~0.base, 24 + ~#aT_atan~0.offset, 8); [L51-L58] call write~init~real(0.09090887133436507, ~#aT_atan~0.base, 32 + ~#aT_atan~0.offset, 8); [L51-L58] call write~init~real(~someUnaryDOUBLEoperation(0.0769187620504483), ~#aT_atan~0.base, 40 + ~#aT_atan~0.offset, 8); [L51-L58] call write~init~real(0.06661073137387531, ~#aT_atan~0.base, 48 + ~#aT_atan~0.offset, 8); [L51-L58] call write~init~real(~someUnaryDOUBLEoperation(0.058335701337905735), ~#aT_atan~0.base, 56 + ~#aT_atan~0.offset, 8); [L51-L58] call write~init~real(0.049768779946159324, ~#aT_atan~0.base, 64 + ~#aT_atan~0.offset, 8); [L51-L58] call write~init~real(~someUnaryDOUBLEoperation(0.036531572744216916), ~#aT_atan~0.base, 72 + ~#aT_atan~0.offset, 8); [L51-L58] call write~init~real(0.016285820115365782, ~#aT_atan~0.base, 80 + ~#aT_atan~0.offset, 8); [L60-L62] ~one_atan~0 := 1.0; [L60-L62] ~pi_o_4~0 := 0.7853981633974483; [L60-L62] ~pi_o_2~0 := 1.5707963267948966; [L60-L62] ~pi~0 := 3.141592653589793; [L60-L62] ~huge_atan~0 := 1.0E300; [L139-L140] ~tiny_atan2~0 := 1.0E-300; [L139-L140] ~zero_atan2~0 := 0.0; [L139-L140] ~pi_lo_atan2~0 := 1.2246467991473532E-16; [?] havoc main_#res; [?] havoc main_#t~nondet48, main_#t~ret49, main_~res~0, main_~x~0, main_~y~0; [L250] main_~x~0 := main_#t~nondet48; [L250] havoc main_#t~nondet48; [L251] main_~y~0 := 0.0; VAL [#NULL.base=0, #NULL.offset=0, main_~y~0=0.0, ~#aT_atan~0.base=5, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=2, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=3, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [L253-L262] assume ~someBinaryDOUBLEComparisonOperation(main_~x~0, 0.0); [L255] __ieee754_atan2_#in~y, __ieee754_atan2_#in~x := main_~y~0, main_~x~0; [L255] havoc __ieee754_atan2_#res; [L255] havoc __ieee754_atan2_#t~mem27, __ieee754_atan2_#t~union28, __ieee754_atan2_#t~mem29, __ieee754_atan2_#t~union30, __ieee754_atan2_~#ew_u~0.base, __ieee754_atan2_~#ew_u~0.offset, __ieee754_atan2_#t~mem31, __ieee754_atan2_#t~union32, __ieee754_atan2_#t~mem33, __ieee754_atan2_#t~union34, __ieee754_atan2_~#ew_u~1.base, __ieee754_atan2_~#ew_u~1.offset, __ieee754_atan2_#t~ret35, __ieee754_atan2_#t~switch36, __ieee754_atan2_#t~ite37, __ieee754_atan2_#t~switch38, __ieee754_atan2_#t~switch39, __ieee754_atan2_#t~ite40, __ieee754_atan2_#t~ret41, __ieee754_atan2_#t~ret42, __ieee754_atan2_#t~switch43, __ieee754_atan2_#t~mem44, __ieee754_atan2_#t~union45, __ieee754_atan2_~#gh_u~2.base, __ieee754_atan2_~#gh_u~2.offset, __ieee754_atan2_#t~mem46, __ieee754_atan2_#t~union47.lsw, __ieee754_atan2_#t~union47.msw, __ieee754_atan2_~#sh_u~1.base, __ieee754_atan2_~#sh_u~1.offset, __ieee754_atan2_~zh~0, __ieee754_atan2_~y, __ieee754_atan2_~x, __ieee754_atan2_~z~1, __ieee754_atan2_~k~0, __ieee754_atan2_~m~0, __ieee754_atan2_~hx~1, __ieee754_atan2_~hy~0, __ieee754_atan2_~ix~1, __ieee754_atan2_~iy~0, __ieee754_atan2_~lx~0, __ieee754_atan2_~ly~0; [L142-L242] __ieee754_atan2_~y := __ieee754_atan2_#in~y; [L142-L242] __ieee754_atan2_~x := __ieee754_atan2_#in~x; [L143] havoc __ieee754_atan2_~z~1; [L144] havoc __ieee754_atan2_~k~0; [L144] havoc __ieee754_atan2_~m~0; [L144] havoc __ieee754_atan2_~hx~1; [L144] havoc __ieee754_atan2_~hy~0; [L144] havoc __ieee754_atan2_~ix~1; [L144] havoc __ieee754_atan2_~iy~0; [L145] havoc __ieee754_atan2_~lx~0; [L145] havoc __ieee754_atan2_~ly~0; VAL [#NULL.base=0, #NULL.offset=0, __ieee754_atan2_#in~x=3.0, __ieee754_atan2_#in~y=0.0, __ieee754_atan2_~x=3.0, __ieee754_atan2_~y=0.0, main_~x~0=3.0, main_~y~0=0.0, ~#aT_atan~0.base=5, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=2, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=3, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [L148] call __ieee754_atan2_~#ew_u~0.base, __ieee754_atan2_~#ew_u~0.offset := #Ultimate.alloc(8); [L149] call write~real(__ieee754_atan2_~x, __ieee754_atan2_~#ew_u~0.base, __ieee754_atan2_~#ew_u~0.offset, 8); [L150] call __ieee754_atan2_#t~mem27 := read~int(__ieee754_atan2_~#ew_u~0.base, 4 + __ieee754_atan2_~#ew_u~0.offset, 4); [L150] __ieee754_atan2_~hx~1 := (if __ieee754_atan2_#t~mem27 % 4294967296 % 4294967296 <= 2147483647 then __ieee754_atan2_#t~mem27 % 4294967296 % 4294967296 else __ieee754_atan2_#t~mem27 % 4294967296 % 4294967296 - 4294967296); [L150] call write~real(__ieee754_atan2_#t~union28, __ieee754_atan2_~#ew_u~0.base, __ieee754_atan2_~#ew_u~0.offset, 8); [L150] havoc __ieee754_atan2_#t~mem27; [L150] havoc __ieee754_atan2_#t~union28; [L151] call __ieee754_atan2_#t~mem29 := read~int(__ieee754_atan2_~#ew_u~0.base, __ieee754_atan2_~#ew_u~0.offset, 4); [L151] __ieee754_atan2_~lx~0 := __ieee754_atan2_#t~mem29; [L151] call write~real(__ieee754_atan2_#t~union30, __ieee754_atan2_~#ew_u~0.base, __ieee754_atan2_~#ew_u~0.offset, 8); [L151] havoc __ieee754_atan2_#t~union30; [L151] havoc __ieee754_atan2_#t~mem29; [L148] call ULTIMATE.dealloc(__ieee754_atan2_~#ew_u~0.base, __ieee754_atan2_~#ew_u~0.offset); [L148] havoc __ieee754_atan2_~#ew_u~0.base, __ieee754_atan2_~#ew_u~0.offset; VAL [#NULL.base=0, #NULL.offset=0, __ieee754_atan2_#in~x=3.0, __ieee754_atan2_#in~y=0.0, __ieee754_atan2_~hx~1=0, __ieee754_atan2_~lx~0=6, __ieee754_atan2_~x=3.0, __ieee754_atan2_~y=0.0, main_~x~0=3.0, main_~y~0=0.0, ~#aT_atan~0.base=5, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=2, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=3, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [L153] __ieee754_atan2_~ix~1 := ~bitwiseAnd(__ieee754_atan2_~hx~1, 2147483647); VAL [#NULL.base=0, #NULL.offset=0, __ieee754_atan2_#in~x=3.0, __ieee754_atan2_#in~y=0.0, __ieee754_atan2_~hx~1=0, __ieee754_atan2_~lx~0=6, __ieee754_atan2_~x=3.0, __ieee754_atan2_~y=0.0, main_~x~0=3.0, main_~y~0=0.0, ~#aT_atan~0.base=5, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=2, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=3, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [L155] call __ieee754_atan2_~#ew_u~1.base, __ieee754_atan2_~#ew_u~1.offset := #Ultimate.alloc(8); [L156] call write~real(__ieee754_atan2_~y, __ieee754_atan2_~#ew_u~1.base, __ieee754_atan2_~#ew_u~1.offset, 8); [L157] call __ieee754_atan2_#t~mem31 := read~int(__ieee754_atan2_~#ew_u~1.base, 4 + __ieee754_atan2_~#ew_u~1.offset, 4); [L157] __ieee754_atan2_~hy~0 := (if __ieee754_atan2_#t~mem31 % 4294967296 % 4294967296 <= 2147483647 then __ieee754_atan2_#t~mem31 % 4294967296 % 4294967296 else __ieee754_atan2_#t~mem31 % 4294967296 % 4294967296 - 4294967296); [L157] call write~real(__ieee754_atan2_#t~union32, __ieee754_atan2_~#ew_u~1.base, __ieee754_atan2_~#ew_u~1.offset, 8); [L157] havoc __ieee754_atan2_#t~union32; [L157] havoc __ieee754_atan2_#t~mem31; [L158] call __ieee754_atan2_#t~mem33 := read~int(__ieee754_atan2_~#ew_u~1.base, __ieee754_atan2_~#ew_u~1.offset, 4); [L158] __ieee754_atan2_~ly~0 := __ieee754_atan2_#t~mem33; [L158] call write~real(__ieee754_atan2_#t~union34, __ieee754_atan2_~#ew_u~1.base, __ieee754_atan2_~#ew_u~1.offset, 8); [L158] havoc __ieee754_atan2_#t~union34; [L158] havoc __ieee754_atan2_#t~mem33; [L155] call ULTIMATE.dealloc(__ieee754_atan2_~#ew_u~1.base, __ieee754_atan2_~#ew_u~1.offset); [L155] havoc __ieee754_atan2_~#ew_u~1.base, __ieee754_atan2_~#ew_u~1.offset; VAL [#NULL.base=0, #NULL.offset=0, __ieee754_atan2_#in~x=3.0, __ieee754_atan2_#in~y=0.0, __ieee754_atan2_~hx~1=0, __ieee754_atan2_~hy~0=0, __ieee754_atan2_~lx~0=6, __ieee754_atan2_~ly~0=11, __ieee754_atan2_~x=3.0, __ieee754_atan2_~y=0.0, main_~x~0=3.0, main_~y~0=0.0, ~#aT_atan~0.base=5, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=2, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=3, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [L160] __ieee754_atan2_~iy~0 := ~bitwiseAnd(__ieee754_atan2_~hy~0, 2147483647); VAL [#NULL.base=0, #NULL.offset=0, __ieee754_atan2_#in~x=3.0, __ieee754_atan2_#in~y=0.0, __ieee754_atan2_~hx~1=0, __ieee754_atan2_~hy~0=0, __ieee754_atan2_~lx~0=6, __ieee754_atan2_~ly~0=11, __ieee754_atan2_~x=3.0, __ieee754_atan2_~y=0.0, main_~x~0=3.0, main_~y~0=0.0, ~#aT_atan~0.base=5, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=2, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=3, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [L161-L163] assume ~bitwiseOr(__ieee754_atan2_~ix~1, ~bitwiseOr(__ieee754_atan2_~lx~0, -__ieee754_atan2_~lx~0) / 2147483648) % 4294967296 > 2146435072 || ~bitwiseOr(__ieee754_atan2_~iy~0, ~bitwiseOr(__ieee754_atan2_~ly~0, -__ieee754_atan2_~ly~0) / 2147483648) % 4294967296 > 2146435072; [L163] __ieee754_atan2_#res := ~someBinaryArithmeticDOUBLEoperation(__ieee754_atan2_~x, __ieee754_atan2_~y); VAL [#NULL.base=0, #NULL.offset=0, __ieee754_atan2_#in~x=3.0, __ieee754_atan2_#in~y=0.0, __ieee754_atan2_~hx~1=0, __ieee754_atan2_~hy~0=0, __ieee754_atan2_~lx~0=6, __ieee754_atan2_~ly~0=11, __ieee754_atan2_~x=3.0, __ieee754_atan2_~y=0.0, main_~x~0=3.0, main_~y~0=0.0, ~#aT_atan~0.base=5, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=2, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=3, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [L255] main_#t~ret49 := __ieee754_atan2_#res; [L255] main_~res~0 := main_#t~ret49; [L255] havoc main_#t~ret49; VAL [#NULL.base=0, #NULL.offset=0, __ieee754_atan2_#in~x=3.0, __ieee754_atan2_#in~y=0.0, __ieee754_atan2_#res=5.0, __ieee754_atan2_~hx~1=0, __ieee754_atan2_~hy~0=0, __ieee754_atan2_~lx~0=6, __ieee754_atan2_~ly~0=11, __ieee754_atan2_~x=3.0, __ieee754_atan2_~y=0.0, main_~res~0=5.0, main_~x~0=3.0, main_~y~0=0.0, ~#aT_atan~0.base=5, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=2, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=3, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [L258-L261] assume ~someBinaryDOUBLEComparisonOperation(main_~res~0, ~pi~0); VAL [#NULL.base=0, #NULL.offset=0, __ieee754_atan2_#in~x=3.0, __ieee754_atan2_#in~y=0.0, __ieee754_atan2_#res=5.0, __ieee754_atan2_~hx~1=0, __ieee754_atan2_~hy~0=0, __ieee754_atan2_~lx~0=6, __ieee754_atan2_~ly~0=11, __ieee754_atan2_~x=3.0, __ieee754_atan2_~y=0.0, main_~res~0=5.0, main_~x~0=3.0, main_~y~0=0.0, ~#aT_atan~0.base=5, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=2, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=3, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [L259] assert false; VAL [#NULL.base=0, #NULL.offset=0, __ieee754_atan2_#in~x=3.0, __ieee754_atan2_#in~y=0.0, __ieee754_atan2_#res=5.0, __ieee754_atan2_~hx~1=0, __ieee754_atan2_~hy~0=0, __ieee754_atan2_~lx~0=6, __ieee754_atan2_~ly~0=11, __ieee754_atan2_~x=3.0, __ieee754_atan2_~y=0.0, main_~res~0=5.0, main_~x~0=3.0, main_~y~0=0.0, ~#aT_atan~0.base=5, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=2, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=3, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [?] #NULL := { base: 0, offset: 0 }; [?] #valid[0] := 0; [L37-L42] FCALL call ~#atanhi_atan~0 := #Ultimate.alloc(32); [L37-L42] FCALL call write~init~real(0.4636476090008061, { base: ~#atanhi_atan~0!base, offset: ~#atanhi_atan~0!offset }, 8); [L37-L42] FCALL call write~init~real(0.7853981633974483, { base: ~#atanhi_atan~0!base, offset: 8 + ~#atanhi_atan~0!offset }, 8); [L37-L42] FCALL call write~init~real(0.982793723247329, { base: ~#atanhi_atan~0!base, offset: 16 + ~#atanhi_atan~0!offset }, 8); [L37-L42] FCALL call write~init~real(1.5707963267948966, { base: ~#atanhi_atan~0!base, offset: 24 + ~#atanhi_atan~0!offset }, 8); [L44-L49] FCALL call ~#atanlo_atan~0 := #Ultimate.alloc(32); [L44-L49] FCALL call write~init~real(2.2698777452961687E-17, { base: ~#atanlo_atan~0!base, offset: ~#atanlo_atan~0!offset }, 8); [L44-L49] FCALL call write~init~real(3.061616997868383E-17, { base: ~#atanlo_atan~0!base, offset: 8 + ~#atanlo_atan~0!offset }, 8); [L44-L49] FCALL call write~init~real(1.3903311031230998E-17, { base: ~#atanlo_atan~0!base, offset: 16 + ~#atanlo_atan~0!offset }, 8); [L44-L49] FCALL call write~init~real(6.123233995736766E-17, { base: ~#atanlo_atan~0!base, offset: 24 + ~#atanlo_atan~0!offset }, 8); [L51-L58] FCALL call ~#aT_atan~0 := #Ultimate.alloc(88); [L51-L58] FCALL call write~init~real(0.3333333333333293, { base: ~#aT_atan~0!base, offset: ~#aT_atan~0!offset }, 8); [L51-L58] FCALL call write~init~real(~someUnaryDOUBLEoperation(0.19999999999876483), { base: ~#aT_atan~0!base, offset: 8 + ~#aT_atan~0!offset }, 8); [L51-L58] FCALL call write~init~real(0.14285714272503466, { base: ~#aT_atan~0!base, offset: 16 + ~#aT_atan~0!offset }, 8); [L51-L58] FCALL call write~init~real(~someUnaryDOUBLEoperation(0.11111110405462356), { base: ~#aT_atan~0!base, offset: 24 + ~#aT_atan~0!offset }, 8); [L51-L58] FCALL call write~init~real(0.09090887133436507, { base: ~#aT_atan~0!base, offset: 32 + ~#aT_atan~0!offset }, 8); [L51-L58] FCALL call write~init~real(~someUnaryDOUBLEoperation(0.0769187620504483), { base: ~#aT_atan~0!base, offset: 40 + ~#aT_atan~0!offset }, 8); [L51-L58] FCALL call write~init~real(0.06661073137387531, { base: ~#aT_atan~0!base, offset: 48 + ~#aT_atan~0!offset }, 8); [L51-L58] FCALL call write~init~real(~someUnaryDOUBLEoperation(0.058335701337905735), { base: ~#aT_atan~0!base, offset: 56 + ~#aT_atan~0!offset }, 8); [L51-L58] FCALL call write~init~real(0.049768779946159324, { base: ~#aT_atan~0!base, offset: 64 + ~#aT_atan~0!offset }, 8); [L51-L58] FCALL call write~init~real(~someUnaryDOUBLEoperation(0.036531572744216916), { base: ~#aT_atan~0!base, offset: 72 + ~#aT_atan~0!offset }, 8); [L51-L58] FCALL call write~init~real(0.016285820115365782, { base: ~#aT_atan~0!base, offset: 80 + ~#aT_atan~0!offset }, 8); [L60-L62] ~one_atan~0 := 1.0; [L60-L62] ~pi_o_4~0 := 0.7853981633974483; [L60-L62] ~pi_o_2~0 := 1.5707963267948966; [L60-L62] ~pi~0 := 3.141592653589793; [L60-L62] ~huge_atan~0 := 1.0E300; [L139-L140] ~tiny_atan2~0 := 1.0E-300; [L139-L140] ~zero_atan2~0 := 0.0; [L139-L140] ~pi_lo_atan2~0 := 1.2246467991473532E-16; [?] havoc main_#res; [?] havoc main_#t~nondet48, main_#t~ret49, main_~res~0, main_~x~0, main_~y~0; [L250] main_~x~0 := main_#t~nondet48; [L250] havoc main_#t~nondet48; [L251] main_~y~0 := 0.0; VAL [#NULL!base=0, #NULL!offset=0, main_~y~0=0.0, ~#aT_atan~0!base=5, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=2, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=3, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [L253] COND TRUE ~someBinaryDOUBLEComparisonOperation(main_~x~0, 0.0) [L255] __ieee754_atan2_#in~y, __ieee754_atan2_#in~x := main_~y~0, main_~x~0; [L255] havoc __ieee754_atan2_#res; [L255] havoc __ieee754_atan2_#t~mem27, __ieee754_atan2_#t~union28, __ieee754_atan2_#t~mem29, __ieee754_atan2_#t~union30, __ieee754_atan2_~#ew_u~0, __ieee754_atan2_#t~mem31, __ieee754_atan2_#t~union32, __ieee754_atan2_#t~mem33, __ieee754_atan2_#t~union34, __ieee754_atan2_~#ew_u~1, __ieee754_atan2_#t~ret35, __ieee754_atan2_#t~switch36, __ieee754_atan2_#t~ite37, __ieee754_atan2_#t~switch38, __ieee754_atan2_#t~switch39, __ieee754_atan2_#t~ite40, __ieee754_atan2_#t~ret41, __ieee754_atan2_#t~ret42, __ieee754_atan2_#t~switch43, __ieee754_atan2_#t~mem44, __ieee754_atan2_#t~union45, __ieee754_atan2_~#gh_u~2, __ieee754_atan2_#t~mem46, __ieee754_atan2_#t~union47, __ieee754_atan2_~#sh_u~1, __ieee754_atan2_~zh~0, __ieee754_atan2_~y, __ieee754_atan2_~x, __ieee754_atan2_~z~1, __ieee754_atan2_~k~0, __ieee754_atan2_~m~0, __ieee754_atan2_~hx~1, __ieee754_atan2_~hy~0, __ieee754_atan2_~ix~1, __ieee754_atan2_~iy~0, __ieee754_atan2_~lx~0, __ieee754_atan2_~ly~0; [L142-L242] __ieee754_atan2_~y := __ieee754_atan2_#in~y; [L142-L242] __ieee754_atan2_~x := __ieee754_atan2_#in~x; [L143] havoc __ieee754_atan2_~z~1; [L144] havoc __ieee754_atan2_~k~0; [L144] havoc __ieee754_atan2_~m~0; [L144] havoc __ieee754_atan2_~hx~1; [L144] havoc __ieee754_atan2_~hy~0; [L144] havoc __ieee754_atan2_~ix~1; [L144] havoc __ieee754_atan2_~iy~0; [L145] havoc __ieee754_atan2_~lx~0; [L145] havoc __ieee754_atan2_~ly~0; VAL [#NULL!base=0, #NULL!offset=0, __ieee754_atan2_#in~x=3.0, __ieee754_atan2_#in~y=0.0, __ieee754_atan2_~x=3.0, __ieee754_atan2_~y=0.0, main_~x~0=3.0, main_~y~0=0.0, ~#aT_atan~0!base=5, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=2, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=3, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [L148] FCALL call __ieee754_atan2_~#ew_u~0 := #Ultimate.alloc(8); [L149] FCALL call write~real(__ieee754_atan2_~x, { base: __ieee754_atan2_~#ew_u~0!base, offset: __ieee754_atan2_~#ew_u~0!offset }, 8); [L150] FCALL call __ieee754_atan2_#t~mem27 := read~int({ base: __ieee754_atan2_~#ew_u~0!base, offset: 4 + __ieee754_atan2_~#ew_u~0!offset }, 4); [L150] __ieee754_atan2_~hx~1 := (if __ieee754_atan2_#t~mem27 % 4294967296 % 4294967296 <= 2147483647 then __ieee754_atan2_#t~mem27 % 4294967296 % 4294967296 else __ieee754_atan2_#t~mem27 % 4294967296 % 4294967296 - 4294967296); [L150] FCALL call write~real(__ieee754_atan2_#t~union28, { base: __ieee754_atan2_~#ew_u~0!base, offset: __ieee754_atan2_~#ew_u~0!offset }, 8); [L150] havoc __ieee754_atan2_#t~mem27; [L150] havoc __ieee754_atan2_#t~union28; [L151] FCALL call __ieee754_atan2_#t~mem29 := read~int({ base: __ieee754_atan2_~#ew_u~0!base, offset: __ieee754_atan2_~#ew_u~0!offset }, 4); [L151] __ieee754_atan2_~lx~0 := __ieee754_atan2_#t~mem29; [L151] FCALL call write~real(__ieee754_atan2_#t~union30, { base: __ieee754_atan2_~#ew_u~0!base, offset: __ieee754_atan2_~#ew_u~0!offset }, 8); [L151] havoc __ieee754_atan2_#t~union30; [L151] havoc __ieee754_atan2_#t~mem29; [L148] FCALL call ULTIMATE.dealloc(__ieee754_atan2_~#ew_u~0); [L148] havoc __ieee754_atan2_~#ew_u~0; VAL [#NULL!base=0, #NULL!offset=0, __ieee754_atan2_#in~x=3.0, __ieee754_atan2_#in~y=0.0, __ieee754_atan2_~hx~1=0, __ieee754_atan2_~lx~0=6, __ieee754_atan2_~x=3.0, __ieee754_atan2_~y=0.0, main_~x~0=3.0, main_~y~0=0.0, ~#aT_atan~0!base=5, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=2, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=3, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [L153] __ieee754_atan2_~ix~1 := ~bitwiseAnd(__ieee754_atan2_~hx~1, 2147483647); VAL [#NULL!base=0, #NULL!offset=0, __ieee754_atan2_#in~x=3.0, __ieee754_atan2_#in~y=0.0, __ieee754_atan2_~hx~1=0, __ieee754_atan2_~lx~0=6, __ieee754_atan2_~x=3.0, __ieee754_atan2_~y=0.0, main_~x~0=3.0, main_~y~0=0.0, ~#aT_atan~0!base=5, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=2, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=3, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [L155] FCALL call __ieee754_atan2_~#ew_u~1 := #Ultimate.alloc(8); [L156] FCALL call write~real(__ieee754_atan2_~y, { base: __ieee754_atan2_~#ew_u~1!base, offset: __ieee754_atan2_~#ew_u~1!offset }, 8); [L157] FCALL call __ieee754_atan2_#t~mem31 := read~int({ base: __ieee754_atan2_~#ew_u~1!base, offset: 4 + __ieee754_atan2_~#ew_u~1!offset }, 4); [L157] __ieee754_atan2_~hy~0 := (if __ieee754_atan2_#t~mem31 % 4294967296 % 4294967296 <= 2147483647 then __ieee754_atan2_#t~mem31 % 4294967296 % 4294967296 else __ieee754_atan2_#t~mem31 % 4294967296 % 4294967296 - 4294967296); [L157] FCALL call write~real(__ieee754_atan2_#t~union32, { base: __ieee754_atan2_~#ew_u~1!base, offset: __ieee754_atan2_~#ew_u~1!offset }, 8); [L157] havoc __ieee754_atan2_#t~union32; [L157] havoc __ieee754_atan2_#t~mem31; [L158] FCALL call __ieee754_atan2_#t~mem33 := read~int({ base: __ieee754_atan2_~#ew_u~1!base, offset: __ieee754_atan2_~#ew_u~1!offset }, 4); [L158] __ieee754_atan2_~ly~0 := __ieee754_atan2_#t~mem33; [L158] FCALL call write~real(__ieee754_atan2_#t~union34, { base: __ieee754_atan2_~#ew_u~1!base, offset: __ieee754_atan2_~#ew_u~1!offset }, 8); [L158] havoc __ieee754_atan2_#t~union34; [L158] havoc __ieee754_atan2_#t~mem33; [L155] FCALL call ULTIMATE.dealloc(__ieee754_atan2_~#ew_u~1); [L155] havoc __ieee754_atan2_~#ew_u~1; VAL [#NULL!base=0, #NULL!offset=0, __ieee754_atan2_#in~x=3.0, __ieee754_atan2_#in~y=0.0, __ieee754_atan2_~hx~1=0, __ieee754_atan2_~hy~0=0, __ieee754_atan2_~lx~0=6, __ieee754_atan2_~ly~0=11, __ieee754_atan2_~x=3.0, __ieee754_atan2_~y=0.0, main_~x~0=3.0, main_~y~0=0.0, ~#aT_atan~0!base=5, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=2, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=3, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [L160] __ieee754_atan2_~iy~0 := ~bitwiseAnd(__ieee754_atan2_~hy~0, 2147483647); VAL [#NULL!base=0, #NULL!offset=0, __ieee754_atan2_#in~x=3.0, __ieee754_atan2_#in~y=0.0, __ieee754_atan2_~hx~1=0, __ieee754_atan2_~hy~0=0, __ieee754_atan2_~lx~0=6, __ieee754_atan2_~ly~0=11, __ieee754_atan2_~x=3.0, __ieee754_atan2_~y=0.0, main_~x~0=3.0, main_~y~0=0.0, ~#aT_atan~0!base=5, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=2, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=3, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [L161-L162] COND TRUE ~bitwiseOr(__ieee754_atan2_~ix~1, ~bitwiseOr(__ieee754_atan2_~lx~0, -__ieee754_atan2_~lx~0) / 2147483648) % 4294967296 > 2146435072 || ~bitwiseOr(__ieee754_atan2_~iy~0, ~bitwiseOr(__ieee754_atan2_~ly~0, -__ieee754_atan2_~ly~0) / 2147483648) % 4294967296 > 2146435072 [L163] __ieee754_atan2_#res := ~someBinaryArithmeticDOUBLEoperation(__ieee754_atan2_~x, __ieee754_atan2_~y); VAL [#NULL!base=0, #NULL!offset=0, __ieee754_atan2_#in~x=3.0, __ieee754_atan2_#in~y=0.0, __ieee754_atan2_~hx~1=0, __ieee754_atan2_~hy~0=0, __ieee754_atan2_~lx~0=6, __ieee754_atan2_~ly~0=11, __ieee754_atan2_~x=3.0, __ieee754_atan2_~y=0.0, main_~x~0=3.0, main_~y~0=0.0, ~#aT_atan~0!base=5, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=2, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=3, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [L255] main_#t~ret49 := __ieee754_atan2_#res; [L255] main_~res~0 := main_#t~ret49; [L255] havoc main_#t~ret49; VAL [#NULL!base=0, #NULL!offset=0, __ieee754_atan2_#in~x=3.0, __ieee754_atan2_#in~y=0.0, __ieee754_atan2_#res=5.0, __ieee754_atan2_~hx~1=0, __ieee754_atan2_~hy~0=0, __ieee754_atan2_~lx~0=6, __ieee754_atan2_~ly~0=11, __ieee754_atan2_~x=3.0, __ieee754_atan2_~y=0.0, main_~res~0=5.0, main_~x~0=3.0, main_~y~0=0.0, ~#aT_atan~0!base=5, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=2, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=3, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [L258] COND TRUE ~someBinaryDOUBLEComparisonOperation(main_~res~0, ~pi~0) VAL [#NULL!base=0, #NULL!offset=0, __ieee754_atan2_#in~x=3.0, __ieee754_atan2_#in~y=0.0, __ieee754_atan2_#res=5.0, __ieee754_atan2_~hx~1=0, __ieee754_atan2_~hy~0=0, __ieee754_atan2_~lx~0=6, __ieee754_atan2_~ly~0=11, __ieee754_atan2_~x=3.0, __ieee754_atan2_~y=0.0, main_~res~0=5.0, main_~x~0=3.0, main_~y~0=0.0, ~#aT_atan~0!base=5, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=2, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=3, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [L259] assert false; VAL [#NULL!base=0, #NULL!offset=0, __ieee754_atan2_#in~x=3.0, __ieee754_atan2_#in~y=0.0, __ieee754_atan2_#res=5.0, __ieee754_atan2_~hx~1=0, __ieee754_atan2_~hy~0=0, __ieee754_atan2_~lx~0=6, __ieee754_atan2_~ly~0=11, __ieee754_atan2_~x=3.0, __ieee754_atan2_~y=0.0, main_~res~0=5.0, main_~x~0=3.0, main_~y~0=0.0, ~#aT_atan~0!base=5, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=2, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=3, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] ----- ----- class de.uni_freiburg.informatik.ultimate.boogie.procedureinliner.backtranslation.InlinerBacktranslator [?] #NULL := { base: 0, offset: 0 }; [?] #valid[0] := 0; [L37-L42] FCALL call ~#atanhi_atan~0 := #Ultimate.alloc(32); [L37-L42] FCALL call write~init~real(0.4636476090008061, { base: ~#atanhi_atan~0!base, offset: ~#atanhi_atan~0!offset }, 8); [L37-L42] FCALL call write~init~real(0.7853981633974483, { base: ~#atanhi_atan~0!base, offset: 8 + ~#atanhi_atan~0!offset }, 8); [L37-L42] FCALL call write~init~real(0.982793723247329, { base: ~#atanhi_atan~0!base, offset: 16 + ~#atanhi_atan~0!offset }, 8); [L37-L42] FCALL call write~init~real(1.5707963267948966, { base: ~#atanhi_atan~0!base, offset: 24 + ~#atanhi_atan~0!offset }, 8); [L44-L49] FCALL call ~#atanlo_atan~0 := #Ultimate.alloc(32); [L44-L49] FCALL call write~init~real(2.2698777452961687E-17, { base: ~#atanlo_atan~0!base, offset: ~#atanlo_atan~0!offset }, 8); [L44-L49] FCALL call write~init~real(3.061616997868383E-17, { base: ~#atanlo_atan~0!base, offset: 8 + ~#atanlo_atan~0!offset }, 8); [L44-L49] FCALL call write~init~real(1.3903311031230998E-17, { base: ~#atanlo_atan~0!base, offset: 16 + ~#atanlo_atan~0!offset }, 8); [L44-L49] FCALL call write~init~real(6.123233995736766E-17, { base: ~#atanlo_atan~0!base, offset: 24 + ~#atanlo_atan~0!offset }, 8); [L51-L58] FCALL call ~#aT_atan~0 := #Ultimate.alloc(88); [L51-L58] FCALL call write~init~real(0.3333333333333293, { base: ~#aT_atan~0!base, offset: ~#aT_atan~0!offset }, 8); [L51-L58] FCALL call write~init~real(~someUnaryDOUBLEoperation(0.19999999999876483), { base: ~#aT_atan~0!base, offset: 8 + ~#aT_atan~0!offset }, 8); [L51-L58] FCALL call write~init~real(0.14285714272503466, { base: ~#aT_atan~0!base, offset: 16 + ~#aT_atan~0!offset }, 8); [L51-L58] FCALL call write~init~real(~someUnaryDOUBLEoperation(0.11111110405462356), { base: ~#aT_atan~0!base, offset: 24 + ~#aT_atan~0!offset }, 8); [L51-L58] FCALL call write~init~real(0.09090887133436507, { base: ~#aT_atan~0!base, offset: 32 + ~#aT_atan~0!offset }, 8); [L51-L58] FCALL call write~init~real(~someUnaryDOUBLEoperation(0.0769187620504483), { base: ~#aT_atan~0!base, offset: 40 + ~#aT_atan~0!offset }, 8); [L51-L58] FCALL call write~init~real(0.06661073137387531, { base: ~#aT_atan~0!base, offset: 48 + ~#aT_atan~0!offset }, 8); [L51-L58] FCALL call write~init~real(~someUnaryDOUBLEoperation(0.058335701337905735), { base: ~#aT_atan~0!base, offset: 56 + ~#aT_atan~0!offset }, 8); [L51-L58] FCALL call write~init~real(0.049768779946159324, { base: ~#aT_atan~0!base, offset: 64 + ~#aT_atan~0!offset }, 8); [L51-L58] FCALL call write~init~real(~someUnaryDOUBLEoperation(0.036531572744216916), { base: ~#aT_atan~0!base, offset: 72 + ~#aT_atan~0!offset }, 8); [L51-L58] FCALL call write~init~real(0.016285820115365782, { base: ~#aT_atan~0!base, offset: 80 + ~#aT_atan~0!offset }, 8); [L60-L62] ~one_atan~0 := 1.0; [L60-L62] ~pi_o_4~0 := 0.7853981633974483; [L60-L62] ~pi_o_2~0 := 1.5707963267948966; [L60-L62] ~pi~0 := 3.141592653589793; [L60-L62] ~huge_atan~0 := 1.0E300; [L139-L140] ~tiny_atan2~0 := 1.0E-300; [L139-L140] ~zero_atan2~0 := 0.0; [L139-L140] ~pi_lo_atan2~0 := 1.2246467991473532E-16; [?] havoc main_#res; [?] havoc main_#t~nondet48, main_#t~ret49, main_~res~0, main_~x~0, main_~y~0; [L250] main_~x~0 := main_#t~nondet48; [L250] havoc main_#t~nondet48; [L251] main_~y~0 := 0.0; VAL [#NULL!base=0, #NULL!offset=0, main_~y~0=0.0, ~#aT_atan~0!base=5, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=2, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=3, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [L253] COND TRUE ~someBinaryDOUBLEComparisonOperation(main_~x~0, 0.0) [L255] __ieee754_atan2_#in~y, __ieee754_atan2_#in~x := main_~y~0, main_~x~0; [L255] havoc __ieee754_atan2_#res; [L255] havoc __ieee754_atan2_#t~mem27, __ieee754_atan2_#t~union28, __ieee754_atan2_#t~mem29, __ieee754_atan2_#t~union30, __ieee754_atan2_~#ew_u~0, __ieee754_atan2_#t~mem31, __ieee754_atan2_#t~union32, __ieee754_atan2_#t~mem33, __ieee754_atan2_#t~union34, __ieee754_atan2_~#ew_u~1, __ieee754_atan2_#t~ret35, __ieee754_atan2_#t~switch36, __ieee754_atan2_#t~ite37, __ieee754_atan2_#t~switch38, __ieee754_atan2_#t~switch39, __ieee754_atan2_#t~ite40, __ieee754_atan2_#t~ret41, __ieee754_atan2_#t~ret42, __ieee754_atan2_#t~switch43, __ieee754_atan2_#t~mem44, __ieee754_atan2_#t~union45, __ieee754_atan2_~#gh_u~2, __ieee754_atan2_#t~mem46, __ieee754_atan2_#t~union47, __ieee754_atan2_~#sh_u~1, __ieee754_atan2_~zh~0, __ieee754_atan2_~y, __ieee754_atan2_~x, __ieee754_atan2_~z~1, __ieee754_atan2_~k~0, __ieee754_atan2_~m~0, __ieee754_atan2_~hx~1, __ieee754_atan2_~hy~0, __ieee754_atan2_~ix~1, __ieee754_atan2_~iy~0, __ieee754_atan2_~lx~0, __ieee754_atan2_~ly~0; [L142-L242] __ieee754_atan2_~y := __ieee754_atan2_#in~y; [L142-L242] __ieee754_atan2_~x := __ieee754_atan2_#in~x; [L143] havoc __ieee754_atan2_~z~1; [L144] havoc __ieee754_atan2_~k~0; [L144] havoc __ieee754_atan2_~m~0; [L144] havoc __ieee754_atan2_~hx~1; [L144] havoc __ieee754_atan2_~hy~0; [L144] havoc __ieee754_atan2_~ix~1; [L144] havoc __ieee754_atan2_~iy~0; [L145] havoc __ieee754_atan2_~lx~0; [L145] havoc __ieee754_atan2_~ly~0; VAL [#NULL!base=0, #NULL!offset=0, __ieee754_atan2_#in~x=3.0, __ieee754_atan2_#in~y=0.0, __ieee754_atan2_~x=3.0, __ieee754_atan2_~y=0.0, main_~x~0=3.0, main_~y~0=0.0, ~#aT_atan~0!base=5, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=2, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=3, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [L148] FCALL call __ieee754_atan2_~#ew_u~0 := #Ultimate.alloc(8); [L149] FCALL call write~real(__ieee754_atan2_~x, { base: __ieee754_atan2_~#ew_u~0!base, offset: __ieee754_atan2_~#ew_u~0!offset }, 8); [L150] FCALL call __ieee754_atan2_#t~mem27 := read~int({ base: __ieee754_atan2_~#ew_u~0!base, offset: 4 + __ieee754_atan2_~#ew_u~0!offset }, 4); [L150] __ieee754_atan2_~hx~1 := (if __ieee754_atan2_#t~mem27 % 4294967296 % 4294967296 <= 2147483647 then __ieee754_atan2_#t~mem27 % 4294967296 % 4294967296 else __ieee754_atan2_#t~mem27 % 4294967296 % 4294967296 - 4294967296); [L150] FCALL call write~real(__ieee754_atan2_#t~union28, { base: __ieee754_atan2_~#ew_u~0!base, offset: __ieee754_atan2_~#ew_u~0!offset }, 8); [L150] havoc __ieee754_atan2_#t~mem27; [L150] havoc __ieee754_atan2_#t~union28; [L151] FCALL call __ieee754_atan2_#t~mem29 := read~int({ base: __ieee754_atan2_~#ew_u~0!base, offset: __ieee754_atan2_~#ew_u~0!offset }, 4); [L151] __ieee754_atan2_~lx~0 := __ieee754_atan2_#t~mem29; [L151] FCALL call write~real(__ieee754_atan2_#t~union30, { base: __ieee754_atan2_~#ew_u~0!base, offset: __ieee754_atan2_~#ew_u~0!offset }, 8); [L151] havoc __ieee754_atan2_#t~union30; [L151] havoc __ieee754_atan2_#t~mem29; [L148] FCALL call ULTIMATE.dealloc(__ieee754_atan2_~#ew_u~0); [L148] havoc __ieee754_atan2_~#ew_u~0; VAL [#NULL!base=0, #NULL!offset=0, __ieee754_atan2_#in~x=3.0, __ieee754_atan2_#in~y=0.0, __ieee754_atan2_~hx~1=0, __ieee754_atan2_~lx~0=6, __ieee754_atan2_~x=3.0, __ieee754_atan2_~y=0.0, main_~x~0=3.0, main_~y~0=0.0, ~#aT_atan~0!base=5, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=2, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=3, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [L153] __ieee754_atan2_~ix~1 := ~bitwiseAnd(__ieee754_atan2_~hx~1, 2147483647); VAL [#NULL!base=0, #NULL!offset=0, __ieee754_atan2_#in~x=3.0, __ieee754_atan2_#in~y=0.0, __ieee754_atan2_~hx~1=0, __ieee754_atan2_~lx~0=6, __ieee754_atan2_~x=3.0, __ieee754_atan2_~y=0.0, main_~x~0=3.0, main_~y~0=0.0, ~#aT_atan~0!base=5, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=2, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=3, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [L155] FCALL call __ieee754_atan2_~#ew_u~1 := #Ultimate.alloc(8); [L156] FCALL call write~real(__ieee754_atan2_~y, { base: __ieee754_atan2_~#ew_u~1!base, offset: __ieee754_atan2_~#ew_u~1!offset }, 8); [L157] FCALL call __ieee754_atan2_#t~mem31 := read~int({ base: __ieee754_atan2_~#ew_u~1!base, offset: 4 + __ieee754_atan2_~#ew_u~1!offset }, 4); [L157] __ieee754_atan2_~hy~0 := (if __ieee754_atan2_#t~mem31 % 4294967296 % 4294967296 <= 2147483647 then __ieee754_atan2_#t~mem31 % 4294967296 % 4294967296 else __ieee754_atan2_#t~mem31 % 4294967296 % 4294967296 - 4294967296); [L157] FCALL call write~real(__ieee754_atan2_#t~union32, { base: __ieee754_atan2_~#ew_u~1!base, offset: __ieee754_atan2_~#ew_u~1!offset }, 8); [L157] havoc __ieee754_atan2_#t~union32; [L157] havoc __ieee754_atan2_#t~mem31; [L158] FCALL call __ieee754_atan2_#t~mem33 := read~int({ base: __ieee754_atan2_~#ew_u~1!base, offset: __ieee754_atan2_~#ew_u~1!offset }, 4); [L158] __ieee754_atan2_~ly~0 := __ieee754_atan2_#t~mem33; [L158] FCALL call write~real(__ieee754_atan2_#t~union34, { base: __ieee754_atan2_~#ew_u~1!base, offset: __ieee754_atan2_~#ew_u~1!offset }, 8); [L158] havoc __ieee754_atan2_#t~union34; [L158] havoc __ieee754_atan2_#t~mem33; [L155] FCALL call ULTIMATE.dealloc(__ieee754_atan2_~#ew_u~1); [L155] havoc __ieee754_atan2_~#ew_u~1; VAL [#NULL!base=0, #NULL!offset=0, __ieee754_atan2_#in~x=3.0, __ieee754_atan2_#in~y=0.0, __ieee754_atan2_~hx~1=0, __ieee754_atan2_~hy~0=0, __ieee754_atan2_~lx~0=6, __ieee754_atan2_~ly~0=11, __ieee754_atan2_~x=3.0, __ieee754_atan2_~y=0.0, main_~x~0=3.0, main_~y~0=0.0, ~#aT_atan~0!base=5, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=2, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=3, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [L160] __ieee754_atan2_~iy~0 := ~bitwiseAnd(__ieee754_atan2_~hy~0, 2147483647); VAL [#NULL!base=0, #NULL!offset=0, __ieee754_atan2_#in~x=3.0, __ieee754_atan2_#in~y=0.0, __ieee754_atan2_~hx~1=0, __ieee754_atan2_~hy~0=0, __ieee754_atan2_~lx~0=6, __ieee754_atan2_~ly~0=11, __ieee754_atan2_~x=3.0, __ieee754_atan2_~y=0.0, main_~x~0=3.0, main_~y~0=0.0, ~#aT_atan~0!base=5, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=2, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=3, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [L161-L162] COND TRUE ~bitwiseOr(__ieee754_atan2_~ix~1, ~bitwiseOr(__ieee754_atan2_~lx~0, -__ieee754_atan2_~lx~0) / 2147483648) % 4294967296 > 2146435072 || ~bitwiseOr(__ieee754_atan2_~iy~0, ~bitwiseOr(__ieee754_atan2_~ly~0, -__ieee754_atan2_~ly~0) / 2147483648) % 4294967296 > 2146435072 [L163] __ieee754_atan2_#res := ~someBinaryArithmeticDOUBLEoperation(__ieee754_atan2_~x, __ieee754_atan2_~y); VAL [#NULL!base=0, #NULL!offset=0, __ieee754_atan2_#in~x=3.0, __ieee754_atan2_#in~y=0.0, __ieee754_atan2_~hx~1=0, __ieee754_atan2_~hy~0=0, __ieee754_atan2_~lx~0=6, __ieee754_atan2_~ly~0=11, __ieee754_atan2_~x=3.0, __ieee754_atan2_~y=0.0, main_~x~0=3.0, main_~y~0=0.0, ~#aT_atan~0!base=5, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=2, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=3, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [L255] main_#t~ret49 := __ieee754_atan2_#res; [L255] main_~res~0 := main_#t~ret49; [L255] havoc main_#t~ret49; VAL [#NULL!base=0, #NULL!offset=0, __ieee754_atan2_#in~x=3.0, __ieee754_atan2_#in~y=0.0, __ieee754_atan2_#res=5.0, __ieee754_atan2_~hx~1=0, __ieee754_atan2_~hy~0=0, __ieee754_atan2_~lx~0=6, __ieee754_atan2_~ly~0=11, __ieee754_atan2_~x=3.0, __ieee754_atan2_~y=0.0, main_~res~0=5.0, main_~x~0=3.0, main_~y~0=0.0, ~#aT_atan~0!base=5, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=2, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=3, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [L258] COND TRUE ~someBinaryDOUBLEComparisonOperation(main_~res~0, ~pi~0) VAL [#NULL!base=0, #NULL!offset=0, __ieee754_atan2_#in~x=3.0, __ieee754_atan2_#in~y=0.0, __ieee754_atan2_#res=5.0, __ieee754_atan2_~hx~1=0, __ieee754_atan2_~hy~0=0, __ieee754_atan2_~lx~0=6, __ieee754_atan2_~ly~0=11, __ieee754_atan2_~x=3.0, __ieee754_atan2_~y=0.0, main_~res~0=5.0, main_~x~0=3.0, main_~y~0=0.0, ~#aT_atan~0!base=5, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=2, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=3, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [L259] assert false; VAL [#NULL!base=0, #NULL!offset=0, __ieee754_atan2_#in~x=3.0, __ieee754_atan2_#in~y=0.0, __ieee754_atan2_#res=5.0, __ieee754_atan2_~hx~1=0, __ieee754_atan2_~hy~0=0, __ieee754_atan2_~lx~0=6, __ieee754_atan2_~ly~0=11, __ieee754_atan2_~x=3.0, __ieee754_atan2_~y=0.0, main_~res~0=5.0, main_~x~0=3.0, main_~y~0=0.0, ~#aT_atan~0!base=5, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=2, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=3, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [?] #NULL := { base: 0, offset: 0 }; [?] #valid[0] := 0; [L37-L42] FCALL call ~#atanhi_atan~0 := #Ultimate.alloc(32); [L37-L42] FCALL call write~init~real(0.4636476090008061, { base: ~#atanhi_atan~0!base, offset: ~#atanhi_atan~0!offset }, 8); [L37-L42] FCALL call write~init~real(0.7853981633974483, { base: ~#atanhi_atan~0!base, offset: 8 + ~#atanhi_atan~0!offset }, 8); [L37-L42] FCALL call write~init~real(0.982793723247329, { base: ~#atanhi_atan~0!base, offset: 16 + ~#atanhi_atan~0!offset }, 8); [L37-L42] FCALL call write~init~real(1.5707963267948966, { base: ~#atanhi_atan~0!base, offset: 24 + ~#atanhi_atan~0!offset }, 8); [L44-L49] FCALL call ~#atanlo_atan~0 := #Ultimate.alloc(32); [L44-L49] FCALL call write~init~real(2.2698777452961687E-17, { base: ~#atanlo_atan~0!base, offset: ~#atanlo_atan~0!offset }, 8); [L44-L49] FCALL call write~init~real(3.061616997868383E-17, { base: ~#atanlo_atan~0!base, offset: 8 + ~#atanlo_atan~0!offset }, 8); [L44-L49] FCALL call write~init~real(1.3903311031230998E-17, { base: ~#atanlo_atan~0!base, offset: 16 + ~#atanlo_atan~0!offset }, 8); [L44-L49] FCALL call write~init~real(6.123233995736766E-17, { base: ~#atanlo_atan~0!base, offset: 24 + ~#atanlo_atan~0!offset }, 8); [L51-L58] FCALL call ~#aT_atan~0 := #Ultimate.alloc(88); [L51-L58] FCALL call write~init~real(0.3333333333333293, { base: ~#aT_atan~0!base, offset: ~#aT_atan~0!offset }, 8); [L51-L58] FCALL call write~init~real(~someUnaryDOUBLEoperation(0.19999999999876483), { base: ~#aT_atan~0!base, offset: 8 + ~#aT_atan~0!offset }, 8); [L51-L58] FCALL call write~init~real(0.14285714272503466, { base: ~#aT_atan~0!base, offset: 16 + ~#aT_atan~0!offset }, 8); [L51-L58] FCALL call write~init~real(~someUnaryDOUBLEoperation(0.11111110405462356), { base: ~#aT_atan~0!base, offset: 24 + ~#aT_atan~0!offset }, 8); [L51-L58] FCALL call write~init~real(0.09090887133436507, { base: ~#aT_atan~0!base, offset: 32 + ~#aT_atan~0!offset }, 8); [L51-L58] FCALL call write~init~real(~someUnaryDOUBLEoperation(0.0769187620504483), { base: ~#aT_atan~0!base, offset: 40 + ~#aT_atan~0!offset }, 8); [L51-L58] FCALL call write~init~real(0.06661073137387531, { base: ~#aT_atan~0!base, offset: 48 + ~#aT_atan~0!offset }, 8); [L51-L58] FCALL call write~init~real(~someUnaryDOUBLEoperation(0.058335701337905735), { base: ~#aT_atan~0!base, offset: 56 + ~#aT_atan~0!offset }, 8); [L51-L58] FCALL call write~init~real(0.049768779946159324, { base: ~#aT_atan~0!base, offset: 64 + ~#aT_atan~0!offset }, 8); [L51-L58] FCALL call write~init~real(~someUnaryDOUBLEoperation(0.036531572744216916), { base: ~#aT_atan~0!base, offset: 72 + ~#aT_atan~0!offset }, 8); [L51-L58] FCALL call write~init~real(0.016285820115365782, { base: ~#aT_atan~0!base, offset: 80 + ~#aT_atan~0!offset }, 8); [L60-L62] ~one_atan~0 := 1.0; [L60-L62] ~pi_o_4~0 := 0.7853981633974483; [L60-L62] ~pi_o_2~0 := 1.5707963267948966; [L60-L62] ~pi~0 := 3.141592653589793; [L60-L62] ~huge_atan~0 := 1.0E300; [L139-L140] ~tiny_atan2~0 := 1.0E-300; [L139-L140] ~zero_atan2~0 := 0.0; [L139-L140] ~pi_lo_atan2~0 := 1.2246467991473532E-16; [L250] ~x~0 := #t~nondet48; [L250] havoc #t~nondet48; [L251] ~y~0 := 0.0; VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=5, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=2, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=3, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [L253] COND TRUE ~someBinaryDOUBLEComparisonOperation(~x~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 [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=5, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=2, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=3, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [L148] FCALL call ~#ew_u~0 := #Ultimate.alloc(8); [L149] FCALL call write~real(~x, { base: ~#ew_u~0!base, offset: ~#ew_u~0!offset }, 8); [L150] FCALL call #t~mem27 := read~int({ base: ~#ew_u~0!base, offset: 4 + ~#ew_u~0!offset }, 4); [L150] ~hx~1 := (if #t~mem27 % 4294967296 % 4294967296 <= 2147483647 then #t~mem27 % 4294967296 % 4294967296 else #t~mem27 % 4294967296 % 4294967296 - 4294967296); [L150] FCALL call write~real(#t~union28, { base: ~#ew_u~0!base, offset: ~#ew_u~0!offset }, 8); [L150] havoc #t~mem27; [L150] havoc #t~union28; [L151] FCALL call #t~mem29 := read~int({ base: ~#ew_u~0!base, offset: ~#ew_u~0!offset }, 4); [L151] ~lx~0 := #t~mem29; [L151] FCALL call write~real(#t~union30, { base: ~#ew_u~0!base, offset: ~#ew_u~0!offset }, 8); [L151] havoc #t~union30; [L151] havoc #t~mem29; [L148] FCALL call ULTIMATE.dealloc(~#ew_u~0); [L148] havoc ~#ew_u~0; VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=5, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=2, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=3, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [L153] ~ix~1 := ~bitwiseAnd(~hx~1, 2147483647); VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=5, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=2, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=3, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [L155] FCALL call ~#ew_u~1 := #Ultimate.alloc(8); [L156] FCALL call write~real(~y, { base: ~#ew_u~1!base, offset: ~#ew_u~1!offset }, 8); [L157] FCALL call #t~mem31 := read~int({ base: ~#ew_u~1!base, offset: 4 + ~#ew_u~1!offset }, 4); [L157] ~hy~0 := (if #t~mem31 % 4294967296 % 4294967296 <= 2147483647 then #t~mem31 % 4294967296 % 4294967296 else #t~mem31 % 4294967296 % 4294967296 - 4294967296); [L157] FCALL call write~real(#t~union32, { base: ~#ew_u~1!base, offset: ~#ew_u~1!offset }, 8); [L157] havoc #t~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 [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=5, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=2, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=3, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [L160] ~iy~0 := ~bitwiseAnd(~hy~0, 2147483647); VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=5, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=2, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=3, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [L161-L162] COND TRUE ~bitwiseOr(~ix~1, ~bitwiseOr(~lx~0, -~lx~0) / 2147483648) % 4294967296 > 2146435072 || ~bitwiseOr(~iy~0, ~bitwiseOr(~ly~0, -~ly~0) / 2147483648) % 4294967296 > 2146435072 [L163] #res := ~someBinaryArithmeticDOUBLEoperation(~x, ~y); VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=5, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=2, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=3, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [L255] ~res~0 := #t~ret49; [L255] havoc #t~ret49; VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=5, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=2, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=3, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [L258] COND TRUE ~someBinaryDOUBLEComparisonOperation(~res~0, ~pi~0) VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=5, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=2, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=3, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [L259] assert false; VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=5, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=2, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=3, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] ----- ----- class de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.CACSL2BoogieBacktranslator [?] #NULL := { base: 0, offset: 0 }; [?] #valid[0] := 0; [L37-L42] FCALL call ~#atanhi_atan~0 := #Ultimate.alloc(32); [L37-L42] FCALL call write~init~real(0.4636476090008061, { base: ~#atanhi_atan~0!base, offset: ~#atanhi_atan~0!offset }, 8); [L37-L42] FCALL call write~init~real(0.7853981633974483, { base: ~#atanhi_atan~0!base, offset: 8 + ~#atanhi_atan~0!offset }, 8); [L37-L42] FCALL call write~init~real(0.982793723247329, { base: ~#atanhi_atan~0!base, offset: 16 + ~#atanhi_atan~0!offset }, 8); [L37-L42] FCALL call write~init~real(1.5707963267948966, { base: ~#atanhi_atan~0!base, offset: 24 + ~#atanhi_atan~0!offset }, 8); [L44-L49] FCALL call ~#atanlo_atan~0 := #Ultimate.alloc(32); [L44-L49] FCALL call write~init~real(2.2698777452961687E-17, { base: ~#atanlo_atan~0!base, offset: ~#atanlo_atan~0!offset }, 8); [L44-L49] FCALL call write~init~real(3.061616997868383E-17, { base: ~#atanlo_atan~0!base, offset: 8 + ~#atanlo_atan~0!offset }, 8); [L44-L49] FCALL call write~init~real(1.3903311031230998E-17, { base: ~#atanlo_atan~0!base, offset: 16 + ~#atanlo_atan~0!offset }, 8); [L44-L49] FCALL call write~init~real(6.123233995736766E-17, { base: ~#atanlo_atan~0!base, offset: 24 + ~#atanlo_atan~0!offset }, 8); [L51-L58] FCALL call ~#aT_atan~0 := #Ultimate.alloc(88); [L51-L58] FCALL call write~init~real(0.3333333333333293, { base: ~#aT_atan~0!base, offset: ~#aT_atan~0!offset }, 8); [L51-L58] FCALL call write~init~real(~someUnaryDOUBLEoperation(0.19999999999876483), { base: ~#aT_atan~0!base, offset: 8 + ~#aT_atan~0!offset }, 8); [L51-L58] FCALL call write~init~real(0.14285714272503466, { base: ~#aT_atan~0!base, offset: 16 + ~#aT_atan~0!offset }, 8); [L51-L58] FCALL call write~init~real(~someUnaryDOUBLEoperation(0.11111110405462356), { base: ~#aT_atan~0!base, offset: 24 + ~#aT_atan~0!offset }, 8); [L51-L58] FCALL call write~init~real(0.09090887133436507, { base: ~#aT_atan~0!base, offset: 32 + ~#aT_atan~0!offset }, 8); [L51-L58] FCALL call write~init~real(~someUnaryDOUBLEoperation(0.0769187620504483), { base: ~#aT_atan~0!base, offset: 40 + ~#aT_atan~0!offset }, 8); [L51-L58] FCALL call write~init~real(0.06661073137387531, { base: ~#aT_atan~0!base, offset: 48 + ~#aT_atan~0!offset }, 8); [L51-L58] FCALL call write~init~real(~someUnaryDOUBLEoperation(0.058335701337905735), { base: ~#aT_atan~0!base, offset: 56 + ~#aT_atan~0!offset }, 8); [L51-L58] FCALL call write~init~real(0.049768779946159324, { base: ~#aT_atan~0!base, offset: 64 + ~#aT_atan~0!offset }, 8); [L51-L58] FCALL call write~init~real(~someUnaryDOUBLEoperation(0.036531572744216916), { base: ~#aT_atan~0!base, offset: 72 + ~#aT_atan~0!offset }, 8); [L51-L58] FCALL call write~init~real(0.016285820115365782, { base: ~#aT_atan~0!base, offset: 80 + ~#aT_atan~0!offset }, 8); [L60-L62] ~one_atan~0 := 1.0; [L60-L62] ~pi_o_4~0 := 0.7853981633974483; [L60-L62] ~pi_o_2~0 := 1.5707963267948966; [L60-L62] ~pi~0 := 3.141592653589793; [L60-L62] ~huge_atan~0 := 1.0E300; [L139-L140] ~tiny_atan2~0 := 1.0E-300; [L139-L140] ~zero_atan2~0 := 0.0; [L139-L140] ~pi_lo_atan2~0 := 1.2246467991473532E-16; [L250] ~x~0 := #t~nondet48; [L250] havoc #t~nondet48; [L251] ~y~0 := 0.0; VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=5, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=2, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=3, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [L253] COND TRUE ~someBinaryDOUBLEComparisonOperation(~x~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 [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=5, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=2, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=3, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [L148] FCALL call ~#ew_u~0 := #Ultimate.alloc(8); [L149] FCALL call write~real(~x, { base: ~#ew_u~0!base, offset: ~#ew_u~0!offset }, 8); [L150] FCALL call #t~mem27 := read~int({ base: ~#ew_u~0!base, offset: 4 + ~#ew_u~0!offset }, 4); [L150] ~hx~1 := (if #t~mem27 % 4294967296 % 4294967296 <= 2147483647 then #t~mem27 % 4294967296 % 4294967296 else #t~mem27 % 4294967296 % 4294967296 - 4294967296); [L150] FCALL call write~real(#t~union28, { base: ~#ew_u~0!base, offset: ~#ew_u~0!offset }, 8); [L150] havoc #t~mem27; [L150] havoc #t~union28; [L151] FCALL call #t~mem29 := read~int({ base: ~#ew_u~0!base, offset: ~#ew_u~0!offset }, 4); [L151] ~lx~0 := #t~mem29; [L151] FCALL call write~real(#t~union30, { base: ~#ew_u~0!base, offset: ~#ew_u~0!offset }, 8); [L151] havoc #t~union30; [L151] havoc #t~mem29; [L148] FCALL call ULTIMATE.dealloc(~#ew_u~0); [L148] havoc ~#ew_u~0; VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=5, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=2, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=3, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [L153] ~ix~1 := ~bitwiseAnd(~hx~1, 2147483647); VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=5, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=2, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=3, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [L155] FCALL call ~#ew_u~1 := #Ultimate.alloc(8); [L156] FCALL call write~real(~y, { base: ~#ew_u~1!base, offset: ~#ew_u~1!offset }, 8); [L157] FCALL call #t~mem31 := read~int({ base: ~#ew_u~1!base, offset: 4 + ~#ew_u~1!offset }, 4); [L157] ~hy~0 := (if #t~mem31 % 4294967296 % 4294967296 <= 2147483647 then #t~mem31 % 4294967296 % 4294967296 else #t~mem31 % 4294967296 % 4294967296 - 4294967296); [L157] FCALL call write~real(#t~union32, { base: ~#ew_u~1!base, offset: ~#ew_u~1!offset }, 8); [L157] havoc #t~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 [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=5, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=2, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=3, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [L160] ~iy~0 := ~bitwiseAnd(~hy~0, 2147483647); VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=5, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=2, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=3, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [L161-L162] COND TRUE ~bitwiseOr(~ix~1, ~bitwiseOr(~lx~0, -~lx~0) / 2147483648) % 4294967296 > 2146435072 || ~bitwiseOr(~iy~0, ~bitwiseOr(~ly~0, -~ly~0) / 2147483648) % 4294967296 > 2146435072 [L163] #res := ~someBinaryArithmeticDOUBLEoperation(~x, ~y); VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=5, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=2, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=3, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [L255] ~res~0 := #t~ret49; [L255] havoc #t~ret49; VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=5, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=2, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=3, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [L258] COND TRUE ~someBinaryDOUBLEComparisonOperation(~res~0, ~pi~0) VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=5, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=2, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=3, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [L259] assert false; VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=5, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=2, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=3, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [L37-L42] static const double atanhi_atan[] = { 4.63647609000806093515e-01, 7.85398163397448278999e-01, 9.82793723247329054082e-01, 1.57079632679489655800e+00, }; [L44-L49] static const double atanlo_atan[] = { 2.26987774529616870924e-17, 3.06161699786838301793e-17, 1.39033110312309984516e-17, 6.12323399573676603587e-17, }; [L51-L58] static const double aT_atan[] = { 3.33333333333329318027e-01, -1.99999999998764832476e-01, 1.42857142725034663711e-01, -1.11111104054623557880e-01, 9.09088713343650656196e-02, -7.69187620504482999495e-02, 6.66107313738753120669e-02, -5.83357013379057348645e-02, 4.97687799461593236017e-02, -3.65315727442169155270e-02, 1.62858201153657823623e-02, }; [L60-L62] static const double one_atan = 1.0, pi_o_4 = 7.8539816339744827900E-01, pi_o_2 = 1.5707963267948965580E+00, pi = 3.1415926535897931160E+00, huge_atan = 1.0e300; [L139-L140] static const double tiny_atan2 = 1.0e-300, zero_atan2 = 0.0, pi_lo_atan2 = 1.2246467991473531772E-16; [L250] double x = __VERIFIER_nondet_double(); [L251] double y = 0.0; VAL [aT_atan={5:0}, atanhi_atan={2:0}, atanlo_atan={3:0}, huge_atan=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, one_atan=1, pi=785398163397448279/250000000000000000, pi_lo_atan2=3061616997868382943/25000000000000000000000000000000000, pi_o_2=785398163397448279/500000000000000000, pi_o_4=785398163397448279/1000000000000000000, tiny_atan2=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, zero_atan2=0] [L253] COND TRUE x < 0.0 [L143] double z; [L144] __int32_t k, m, hx, hy, ix, iy; [L145] __uint32_t lx, ly; VAL [aT_atan={5:0}, atanhi_atan={2:0}, atanlo_atan={3:0}, huge_atan=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, one_atan=1, pi=785398163397448279/250000000000000000, pi_lo_atan2=3061616997868382943/25000000000000000000000000000000000, pi_o_2=785398163397448279/500000000000000000, pi_o_4=785398163397448279/1000000000000000000, tiny_atan2=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, zero_atan2=0] [L148] ieee_double_shape_type ew_u; [L149] ew_u.value = (x) [L150] EXPR ew_u.parts.msw [L150] (hx) = ew_u.parts.msw [L151] EXPR ew_u.parts.lsw [L151] (lx) = ew_u.parts.lsw [L153] ix = hx & 0x7fffffff VAL [aT_atan={5:0}, atanhi_atan={2:0}, atanlo_atan={3:0}, huge_atan=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, one_atan=1, pi=785398163397448279/250000000000000000, pi_lo_atan2=3061616997868382943/25000000000000000000000000000000000, pi_o_2=785398163397448279/500000000000000000, pi_o_4=785398163397448279/1000000000000000000, tiny_atan2=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, zero_atan2=0] [L155] ieee_double_shape_type ew_u; [L156] ew_u.value = (y) [L157] EXPR ew_u.parts.msw [L157] (hy) = ew_u.parts.msw [L158] EXPR ew_u.parts.lsw [L158] (ly) = ew_u.parts.lsw [L160] iy = hy & 0x7fffffff VAL [aT_atan={5:0}, atanhi_atan={2:0}, atanlo_atan={3:0}, huge_atan=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, one_atan=1, pi=785398163397448279/250000000000000000, pi_lo_atan2=3061616997868382943/25000000000000000000000000000000000, pi_o_2=785398163397448279/500000000000000000, pi_o_4=785398163397448279/1000000000000000000, tiny_atan2=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, zero_atan2=0] [L161-L162] COND TRUE ((ix | ((lx | -lx) >> 31)) > 0x7ff00000) || ((iy | ((ly | -ly) >> 31)) > 0x7ff00000) [L163] return x + y; VAL [aT_atan={5:0}, atanhi_atan={2:0}, atanlo_atan={3:0}, huge_atan=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, one_atan=1, pi=785398163397448279/250000000000000000, pi_lo_atan2=3061616997868382943/25000000000000000000000000000000000, pi_o_2=785398163397448279/500000000000000000, pi_o_4=785398163397448279/1000000000000000000, tiny_atan2=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, zero_atan2=0] [L255] double res = __ieee754_atan2(y, x); [L258] COND TRUE res != pi VAL [aT_atan={5:0}, atanhi_atan={2:0}, atanlo_atan={3:0}, huge_atan=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, one_atan=1, pi=785398163397448279/250000000000000000, pi_lo_atan2=3061616997868382943/25000000000000000000000000000000000, pi_o_2=785398163397448279/500000000000000000, pi_o_4=785398163397448279/1000000000000000000, tiny_atan2=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, zero_atan2=0] [L259] __VERIFIER_error() VAL [aT_atan={5:0}, atanhi_atan={2:0}, atanlo_atan={3:0}, huge_atan=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, one_atan=1, pi=785398163397448279/250000000000000000, pi_lo_atan2=3061616997868382943/25000000000000000000000000000000000, pi_o_2=785398163397448279/500000000000000000, pi_o_4=785398163397448279/1000000000000000000, tiny_atan2=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, zero_atan2=0] ----- [2018-11-23 09:48:59,471 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.codecheck CFG 23.11 09:48:59 ImpRootNode [2018-11-23 09:48:59,471 INFO L132 PluginConnector]: ------------------------ END CodeCheck---------------------------- [2018-11-23 09:48:59,472 INFO L113 PluginConnector]: ------------------------Witness Printer---------------------------- [2018-11-23 09:48:59,472 INFO L271 PluginConnector]: Initializing Witness Printer... [2018-11-23 09:48:59,472 INFO L276 PluginConnector]: Witness Printer initialized [2018-11-23 09:48:59,472 INFO L185 PluginConnector]: Executing the observer RCFGCatcher from plugin Witness Printer for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 23.11 09:48:59" (3/4) ... [2018-11-23 09:48:59,476 INFO L147 WitnessPrinter]: No result that supports witness generation found [2018-11-23 09:48:59,477 INFO L132 PluginConnector]: ------------------------ END Witness Printer---------------------------- [2018-11-23 09:48:59,477 INFO L168 Benchmark]: Toolchain (without parser) took 1340.62 ms. Allocated memory was 1.0 GB in the beginning and 1.2 GB in the end (delta: 144.2 MB). Free memory was 959.1 MB in the beginning and 1.0 GB in the end (delta: -63.6 MB). Peak memory consumption was 80.6 MB. Max. memory is 11.5 GB. [2018-11-23 09:48:59,479 INFO L168 Benchmark]: CDTParser took 0.15 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 09:48:59,479 INFO L168 Benchmark]: CACSL2BoogieTranslator took 263.21 ms. Allocated memory was 1.0 GB in the beginning and 1.2 GB in the end (delta: 144.2 MB). Free memory was 959.1 MB in the beginning and 1.1 GB in the end (delta: -176.3 MB). Peak memory consumption was 28.0 MB. Max. memory is 11.5 GB. [2018-11-23 09:48:59,480 INFO L168 Benchmark]: Boogie Procedure Inliner took 36.86 ms. Allocated memory is still 1.2 GB. Free memory is still 1.1 GB. There was no memory consumed. Max. memory is 11.5 GB. [2018-11-23 09:48:59,480 INFO L168 Benchmark]: Boogie Preprocessor took 31.16 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.4 MB). Peak memory consumption was 3.4 MB. Max. memory is 11.5 GB. [2018-11-23 09:48:59,480 INFO L168 Benchmark]: RCFGBuilder took 589.19 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: 62.1 MB). Peak memory consumption was 62.1 MB. Max. memory is 11.5 GB. [2018-11-23 09:48:59,487 INFO L168 Benchmark]: CodeCheck took 412.55 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: 43.9 MB). Peak memory consumption was 43.9 MB. Max. memory is 11.5 GB. [2018-11-23 09:48:59,487 INFO L168 Benchmark]: Witness Printer took 4.92 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.4 MB). Peak memory consumption was 3.4 MB. Max. memory is 11.5 GB. [2018-11-23 09:48:59,491 INFO L336 ainManager$Toolchain]: ####################### End [Toolchain 1] ####################### --- Results --- * Results from de.uni_freiburg.informatik.ultimate.plugins.generator.codecheck: - StatisticsResult: Ultimate CodeCheck benchmark data CFG has 3 procedures, 94 locations, 1 error locations. UNSAFE Result, 0.2s OverallTime, 2 OverallIterations, 0 TraceHistogramMax, 0.0s AutomataDifference, 0.0s DeadEndRemovalTime, 0.0s HoareAnnotationTime, HoareTripleCheckerStatistics: 32 SDtfs, 0 SDslu, 0 SDs, 0 SdLazy, 0 SolverSat, 0 SolverUnsat, 0 SolverUnknown, 0 SolverNotchecked, 0.0s Time, PredicateUnifierStatistics: 0 DeclaredPredicates, 97 GetRequests, 97 SyntacticMatches, 0 SemanticMatches, 0 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s Time, 0.0s BasicInterpolantAutomatonTime, BiggestAbstraction: size=-1occurred in iteration=-1, traceCheckStatistics: 0.0s SsaConstructionTime, 0.0s SatisfiabilityAnalysisTime, 0.0s InterpolantComputationTime, 22 NumberOfCodeBlocks, 22 NumberOfCodeBlocksAsserted, 2 NumberOfCheckSat, 9 ConstructedInterpolants, 0 QuantifiedInterpolants, 81 SizeOfPredicates, 0 NumberOfNonLiveVariables, 0 ConjunctsInSsa, 0 ConjunctsInUnsatCore, 1 InterpolantComputations, 1 PerfectInterpolantSequences, 0/0 InterpolantCoveringCapability, InterpolantConsolidationStatistics: No data available, PathInvariantsStatistics: No data available, 0/0 InterpolantCoveringCapability, TotalInterpolationStatistics: No data available, 0.0s AbstIntTime, 0 AbstIntIterations, 0 AbstIntStrong, NaN AbsIntWeakeningRatio, NaN AbsIntAvgWeakeningVarsNumRemoved, NaN AbsIntAvgWeakenedConjuncts, 0.0s DumpTime, AutomataMinimizationStatistics: No data available, HoareAnnotationStatistics: No data available, RefinementEngineStatistics: No data available, ReuseStatistics: No data available - UnprovableResult [Line: 259]: 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 258. 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; [L250] double x = __VERIFIER_nondet_double(); [L251] double y = 0.0; VAL [aT_atan={5:0}, atanhi_atan={2:0}, atanlo_atan={3:0}, huge_atan=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, one_atan=1, pi=785398163397448279/250000000000000000, pi_lo_atan2=3061616997868382943/25000000000000000000000000000000000, pi_o_2=785398163397448279/500000000000000000, pi_o_4=785398163397448279/1000000000000000000, tiny_atan2=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, zero_atan2=0] [L253] COND TRUE x < 0.0 [L143] double z; [L144] __int32_t k, m, hx, hy, ix, iy; [L145] __uint32_t lx, ly; VAL [aT_atan={5:0}, atanhi_atan={2:0}, atanlo_atan={3:0}, huge_atan=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, one_atan=1, pi=785398163397448279/250000000000000000, pi_lo_atan2=3061616997868382943/25000000000000000000000000000000000, pi_o_2=785398163397448279/500000000000000000, pi_o_4=785398163397448279/1000000000000000000, tiny_atan2=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, zero_atan2=0] [L148] ieee_double_shape_type ew_u; [L149] ew_u.value = (x) [L150] EXPR ew_u.parts.msw [L150] (hx) = ew_u.parts.msw [L151] EXPR ew_u.parts.lsw [L151] (lx) = ew_u.parts.lsw [L153] ix = hx & 0x7fffffff VAL [aT_atan={5:0}, atanhi_atan={2:0}, atanlo_atan={3:0}, huge_atan=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, one_atan=1, pi=785398163397448279/250000000000000000, pi_lo_atan2=3061616997868382943/25000000000000000000000000000000000, pi_o_2=785398163397448279/500000000000000000, pi_o_4=785398163397448279/1000000000000000000, tiny_atan2=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, zero_atan2=0] [L155] ieee_double_shape_type ew_u; [L156] ew_u.value = (y) [L157] EXPR ew_u.parts.msw [L157] (hy) = ew_u.parts.msw [L158] EXPR ew_u.parts.lsw [L158] (ly) = ew_u.parts.lsw [L160] iy = hy & 0x7fffffff VAL [aT_atan={5:0}, atanhi_atan={2:0}, atanlo_atan={3:0}, huge_atan=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, one_atan=1, pi=785398163397448279/250000000000000000, pi_lo_atan2=3061616997868382943/25000000000000000000000000000000000, pi_o_2=785398163397448279/500000000000000000, pi_o_4=785398163397448279/1000000000000000000, tiny_atan2=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, zero_atan2=0] [L161-L162] COND TRUE ((ix | ((lx | -lx) >> 31)) > 0x7ff00000) || ((iy | ((ly | -ly) >> 31)) > 0x7ff00000) [L163] return x + y; VAL [aT_atan={5:0}, atanhi_atan={2:0}, atanlo_atan={3:0}, huge_atan=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, one_atan=1, pi=785398163397448279/250000000000000000, pi_lo_atan2=3061616997868382943/25000000000000000000000000000000000, pi_o_2=785398163397448279/500000000000000000, pi_o_4=785398163397448279/1000000000000000000, tiny_atan2=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, zero_atan2=0] [L255] double res = __ieee754_atan2(y, x); [L258] COND TRUE res != pi VAL [aT_atan={5:0}, atanhi_atan={2:0}, atanlo_atan={3:0}, huge_atan=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, one_atan=1, pi=785398163397448279/250000000000000000, pi_lo_atan2=3061616997868382943/25000000000000000000000000000000000, pi_o_2=785398163397448279/500000000000000000, pi_o_4=785398163397448279/1000000000000000000, tiny_atan2=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, zero_atan2=0] [L259] __VERIFIER_error() VAL [aT_atan={5:0}, atanhi_atan={2:0}, atanlo_atan={3:0}, huge_atan=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, one_atan=1, pi=785398163397448279/250000000000000000, pi_lo_atan2=3061616997868382943/25000000000000000000000000000000000, pi_o_2=785398163397448279/500000000000000000, pi_o_4=785398163397448279/1000000000000000000, tiny_atan2=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, zero_atan2=0] * Results from de.uni_freiburg.informatik.ultimate.core: - StatisticsResult: Toolchain Benchmarks Benchmark results are: * CDTParser took 0.15 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 263.21 ms. Allocated memory was 1.0 GB in the beginning and 1.2 GB in the end (delta: 144.2 MB). Free memory was 959.1 MB in the beginning and 1.1 GB in the end (delta: -176.3 MB). Peak memory consumption was 28.0 MB. Max. memory is 11.5 GB. * Boogie Procedure Inliner took 36.86 ms. Allocated memory is still 1.2 GB. Free memory is still 1.1 GB. There was no memory consumed. Max. memory is 11.5 GB. * Boogie Preprocessor took 31.16 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.4 MB). Peak memory consumption was 3.4 MB. Max. memory is 11.5 GB. * RCFGBuilder took 589.19 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: 62.1 MB). Peak memory consumption was 62.1 MB. Max. memory is 11.5 GB. * CodeCheck took 412.55 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: 43.9 MB). Peak memory consumption was 43.9 MB. Max. memory is 11.5 GB. * Witness Printer took 4.92 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.4 MB). Peak memory consumption was 3.4 MB. Max. memory is 11.5 GB. RESULT: Ultimate could not prove your program: unable to determine feasibility of some traces Received shutdown request... ### Bit-precise run ### This is Ultimate 0.1.23-aa41828 [2018-11-23 09:49:00,910 INFO L170 SettingsManager]: Resetting all preferences to default values... [2018-11-23 09:49:00,911 INFO L174 SettingsManager]: Resetting UltimateCore preferences to default values [2018-11-23 09:49:00,920 INFO L177 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2018-11-23 09:49:00,921 INFO L174 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2018-11-23 09:49:00,921 INFO L174 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2018-11-23 09:49:00,922 INFO L174 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2018-11-23 09:49:00,923 INFO L174 SettingsManager]: Resetting LassoRanker preferences to default values [2018-11-23 09:49:00,925 INFO L174 SettingsManager]: Resetting Reaching Definitions preferences to default values [2018-11-23 09:49:00,925 INFO L174 SettingsManager]: Resetting SyntaxChecker preferences to default values [2018-11-23 09:49:00,926 INFO L177 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2018-11-23 09:49:00,926 INFO L174 SettingsManager]: Resetting LTL2Aut preferences to default values [2018-11-23 09:49:00,927 INFO L174 SettingsManager]: Resetting PEA to Boogie preferences to default values [2018-11-23 09:49:00,928 INFO L174 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2018-11-23 09:49:00,928 INFO L174 SettingsManager]: Resetting ChcToBoogie preferences to default values [2018-11-23 09:49:00,929 INFO L174 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2018-11-23 09:49:00,930 INFO L174 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2018-11-23 09:49:00,931 INFO L174 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2018-11-23 09:49:00,932 INFO L174 SettingsManager]: Resetting CodeCheck preferences to default values [2018-11-23 09:49:00,933 INFO L174 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2018-11-23 09:49:00,934 INFO L174 SettingsManager]: Resetting RCFGBuilder preferences to default values [2018-11-23 09:49:00,935 INFO L174 SettingsManager]: Resetting TraceAbstraction preferences to default values [2018-11-23 09:49:00,936 INFO L177 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2018-11-23 09:49:00,937 INFO L177 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2018-11-23 09:49:00,937 INFO L174 SettingsManager]: Resetting TreeAutomizer preferences to default values [2018-11-23 09:49:00,937 INFO L174 SettingsManager]: Resetting IcfgTransformer preferences to default values [2018-11-23 09:49:00,938 INFO L174 SettingsManager]: Resetting Boogie Printer preferences to default values [2018-11-23 09:49:00,939 INFO L174 SettingsManager]: Resetting ReqPrinter preferences to default values [2018-11-23 09:49:00,939 INFO L174 SettingsManager]: Resetting Witness Printer preferences to default values [2018-11-23 09:49:00,940 INFO L177 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2018-11-23 09:49:00,940 INFO L174 SettingsManager]: Resetting CDTParser preferences to default values [2018-11-23 09:49:00,941 INFO L177 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2018-11-23 09:49:00,941 INFO L177 SettingsManager]: ReqParser provides no preferences, ignoring... [2018-11-23 09:49:00,941 INFO L174 SettingsManager]: Resetting SmtParser preferences to default values [2018-11-23 09:49:00,942 INFO L174 SettingsManager]: Resetting Witness Parser preferences to default values [2018-11-23 09:49:00,942 INFO L181 SettingsManager]: Finished resetting all preferences to default values... [2018-11-23 09:49:00,942 INFO L98 SettingsManager]: Beginning loading settings from /tmp/vcloud-vcloud-master/worker/working_dir_db7a6861-a69e-4334-88f8-090087223d59/bin-2019/ukojak/config/svcomp-Reach-32bit-Kojak_Bitvector.epf [2018-11-23 09:49:00,953 INFO L110 SettingsManager]: Loading preferences was successful [2018-11-23 09:49:00,953 INFO L112 SettingsManager]: Preferences different from defaults after loading the file: [2018-11-23 09:49:00,954 INFO L131 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2018-11-23 09:49:00,954 INFO L133 SettingsManager]: * ... to procedures called more than once=ALWAYS [2018-11-23 09:49:00,954 INFO L131 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2018-11-23 09:49:00,954 INFO L133 SettingsManager]: * Create parallel compositions if possible=false [2018-11-23 09:49:00,955 INFO L131 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2018-11-23 09:49:00,955 INFO L133 SettingsManager]: * sizeof long=4 [2018-11-23 09:49:00,955 INFO L133 SettingsManager]: * sizeof POINTER=4 [2018-11-23 09:49:00,955 INFO L133 SettingsManager]: * Check division by zero=IGNORE [2018-11-23 09:49:00,955 INFO L133 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2018-11-23 09:49:00,955 INFO L133 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2018-11-23 09:49:00,955 INFO L133 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2018-11-23 09:49:00,956 INFO L133 SettingsManager]: * Use bitvectors instead of ints=true [2018-11-23 09:49:00,956 INFO L133 SettingsManager]: * Memory model=HoenickeLindenmann_4ByteResolution [2018-11-23 09:49:00,956 INFO L133 SettingsManager]: * sizeof long double=12 [2018-11-23 09:49:00,956 INFO L133 SettingsManager]: * Check if freed pointer was valid=false [2018-11-23 09:49:00,956 INFO L133 SettingsManager]: * Use constant arrays=true [2018-11-23 09:49:00,956 INFO L133 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2018-11-23 09:49:00,956 INFO L131 SettingsManager]: Preferences of CodeCheck differ from their defaults: [2018-11-23 09:49:00,957 INFO L133 SettingsManager]: * Timeout in seconds=1000000 [2018-11-23 09:49:00,957 INFO L131 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2018-11-23 09:49:00,957 INFO L133 SettingsManager]: * To the following directory=./dump/ [2018-11-23 09:49:00,957 INFO L133 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:10000 [2018-11-23 09:49:00,957 INFO L131 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2018-11-23 09:49:00,957 INFO L133 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2018-11-23 09:49:00,957 INFO L133 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopsAndPotentialCycles [2018-11-23 09:49:00,958 INFO L133 SettingsManager]: * Use separate solver for trace checks=false [2018-11-23 09:49:00,958 INFO L133 SettingsManager]: * Trace refinement strategy=WALRUS [2018-11-23 09:49:00,958 INFO L133 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode [2018-11-23 09:49:00,958 INFO L133 SettingsManager]: * Command for external solver=cvc4nyu --tear-down-incremental --rewrite-divk --print-success --lang smt [2018-11-23 09:49:00,958 INFO L133 SettingsManager]: * Logic for external solver=AUFBV [2018-11-23 09:49:00,958 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_db7a6861-a69e-4334-88f8-090087223d59/bin-2019/ukojak Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Witness filename -> witness.graphml Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Write witness besides input file -> false Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Graph data specification -> CHECK( init(main()), LTL(G ! call(__VERIFIER_error())) ) Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Graph data producer -> Kojak Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Graph data architecture -> 32bit Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Graph data programhash -> fcfb0681d482dd50f2d20807361558887e88a0e8 [2018-11-23 09:49:00,991 INFO L81 nceAwareModelManager]: Repository-Root is: /tmp [2018-11-23 09:49:01,000 INFO L258 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2018-11-23 09:49:01,003 INFO L214 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2018-11-23 09:49:01,004 INFO L271 PluginConnector]: Initializing CDTParser... [2018-11-23 09:49:01,004 INFO L276 PluginConnector]: CDTParser initialized [2018-11-23 09:49:01,005 INFO L418 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /tmp/vcloud-vcloud-master/worker/working_dir_db7a6861-a69e-4334-88f8-090087223d59/bin-2019/ukojak/../../sv-benchmarks/c/float-newlib/double_req_bl_0660b_true-unreach-call.c [2018-11-23 09:49:01,048 INFO L221 CDTParser]: Created temporary CDT project at /tmp/vcloud-vcloud-master/worker/working_dir_db7a6861-a69e-4334-88f8-090087223d59/bin-2019/ukojak/data/7435d0cf0/539f78e9d2394efda33e9ae8eee589c2/FLAG4a019b117 [2018-11-23 09:49:01,386 INFO L307 CDTParser]: Found 1 translation units. [2018-11-23 09:49:01,387 INFO L161 CDTParser]: Scanning /tmp/vcloud-vcloud-master/worker/working_dir_db7a6861-a69e-4334-88f8-090087223d59/sv-benchmarks/c/float-newlib/double_req_bl_0660b_true-unreach-call.c [2018-11-23 09:49:01,391 INFO L355 CDTParser]: About to delete temporary CDT project at /tmp/vcloud-vcloud-master/worker/working_dir_db7a6861-a69e-4334-88f8-090087223d59/bin-2019/ukojak/data/7435d0cf0/539f78e9d2394efda33e9ae8eee589c2/FLAG4a019b117 [2018-11-23 09:49:01,808 INFO L363 CDTParser]: Successfully deleted /tmp/vcloud-vcloud-master/worker/working_dir_db7a6861-a69e-4334-88f8-090087223d59/bin-2019/ukojak/data/7435d0cf0/539f78e9d2394efda33e9ae8eee589c2 [2018-11-23 09:49:01,810 INFO L296 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2018-11-23 09:49:01,811 INFO L131 ToolchainWalker]: Walking toolchain with 6 elements. [2018-11-23 09:49:01,812 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2018-11-23 09:49:01,812 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2018-11-23 09:49:01,815 INFO L276 PluginConnector]: CACSL2BoogieTranslator initialized [2018-11-23 09:49:01,816 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 23.11 09:49:01" (1/1) ... [2018-11-23 09:49:01,818 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@255f79a3 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 09:49:01, skipping insertion in model container [2018-11-23 09:49:01,818 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 23.11 09:49:01" (1/1) ... [2018-11-23 09:49:01,823 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2018-11-23 09:49:01,845 INFO L176 MainTranslator]: Built tables and reachable declarations [2018-11-23 09:49:02,032 INFO L201 PostProcessor]: Analyzing one entry point: main [2018-11-23 09:49:02,039 INFO L191 MainTranslator]: Completed pre-run [2018-11-23 09:49:02,083 INFO L201 PostProcessor]: Analyzing one entry point: main [2018-11-23 09:49:02,109 INFO L195 MainTranslator]: Completed translation [2018-11-23 09:49:02,109 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 09:49:02 WrapperNode [2018-11-23 09:49:02,110 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2018-11-23 09:49:02,110 INFO L113 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2018-11-23 09:49:02,110 INFO L271 PluginConnector]: Initializing Boogie Procedure Inliner... [2018-11-23 09:49:02,111 INFO L276 PluginConnector]: Boogie Procedure Inliner initialized [2018-11-23 09:49:02,118 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 09:49:02" (1/1) ... [2018-11-23 09:49:02,131 INFO L185 PluginConnector]: Executing the observer Inliner from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 09:49:02" (1/1) ... [2018-11-23 09:49:02,187 INFO L132 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2018-11-23 09:49:02,187 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2018-11-23 09:49:02,187 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2018-11-23 09:49:02,187 INFO L276 PluginConnector]: Boogie Preprocessor initialized [2018-11-23 09:49:02,193 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 09:49:02" (1/1) ... [2018-11-23 09:49:02,193 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 09:49:02" (1/1) ... [2018-11-23 09:49:02,197 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 09:49:02" (1/1) ... [2018-11-23 09:49:02,197 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 09:49:02" (1/1) ... [2018-11-23 09:49:02,209 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 09:49:02" (1/1) ... [2018-11-23 09:49:02,214 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 09:49:02" (1/1) ... [2018-11-23 09:49:02,216 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 09:49:02" (1/1) ... [2018-11-23 09:49:02,220 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2018-11-23 09:49:02,220 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2018-11-23 09:49:02,220 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2018-11-23 09:49:02,221 INFO L276 PluginConnector]: RCFGBuilder initialized [2018-11-23 09:49:02,221 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 09:49:02" (1/1) ... No working directory specified, using /tmp/vcloud-vcloud-master/worker/working_dir_db7a6861-a69e-4334-88f8-090087223d59/bin-2019/ukojak/z3 Starting monitored process 1 with z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:10000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 1 with z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:10000 [2018-11-23 09:49:02,252 INFO L130 BoogieDeclarations]: Found specification of procedure read~intFLOATTYPE8 [2018-11-23 09:49:02,252 INFO L130 BoogieDeclarations]: Found specification of procedure write~intFLOATTYPE8 [2018-11-23 09:49:02,252 INFO L130 BoogieDeclarations]: Found specification of procedure fabs_double [2018-11-23 09:49:02,252 INFO L138 BoogieDeclarations]: Found implementation of procedure fabs_double [2018-11-23 09:49:02,252 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~intFLOATTYPE8 [2018-11-23 09:49:02,252 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.alloc [2018-11-23 09:49:02,252 INFO L130 BoogieDeclarations]: Found specification of procedure atan_double [2018-11-23 09:49:02,253 INFO L138 BoogieDeclarations]: Found implementation of procedure atan_double [2018-11-23 09:49:02,253 INFO L130 BoogieDeclarations]: Found specification of procedure read~intINTTYPE4 [2018-11-23 09:49:02,253 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2018-11-23 09:49:02,253 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2018-11-23 09:49:02,253 INFO L130 BoogieDeclarations]: Found specification of procedure write~intINTTYPE4 [2018-11-23 09:49:02,253 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2018-11-23 09:49:02,370 WARN L317 ript$VariableManager]: TermVariabe |q#valueAsBitvector| not constructed by VariableManager. Cannot ensure absence of name clashes. [2018-11-23 09:49:02,407 WARN L317 ript$VariableManager]: TermVariabe |q#valueAsBitvector| not constructed by VariableManager. Cannot ensure absence of name clashes. [2018-11-23 09:49:10,106 WARN L317 ript$VariableManager]: TermVariabe |q#valueAsBitvector| not constructed by VariableManager. Cannot ensure absence of name clashes. [2018-11-23 09:49:46,695 WARN L317 ript$VariableManager]: TermVariabe |q#valueAsBitvector| not constructed by VariableManager. Cannot ensure absence of name clashes. [2018-11-23 09:49:47,569 WARN L317 ript$VariableManager]: TermVariabe |q#valueAsBitvector| not constructed by VariableManager. Cannot ensure absence of name clashes. [2018-11-23 09:49:47,589 WARN L317 ript$VariableManager]: TermVariabe |q#valueAsBitvector| not constructed by VariableManager. Cannot ensure absence of name clashes. [2018-11-23 09:49:47,943 WARN L317 ript$VariableManager]: TermVariabe |q#valueAsBitvector| not constructed by VariableManager. Cannot ensure absence of name clashes. [2018-11-23 09:49:47,965 WARN L317 ript$VariableManager]: TermVariabe |q#valueAsBitvector| not constructed by VariableManager. Cannot ensure absence of name clashes. [2018-11-23 09:49:47,984 WARN L317 ript$VariableManager]: TermVariabe |q#valueAsBitvector| not constructed by VariableManager. Cannot ensure absence of name clashes. [2018-11-23 09:53:10,407 INFO L275 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2018-11-23 09:53:10,407 INFO L280 CfgBuilder]: Removed 22 assue(true) statements. [2018-11-23 09:53:10,408 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 23.11 09:53:10 BoogieIcfgContainer [2018-11-23 09:53:10,408 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2018-11-23 09:53:10,409 INFO L113 PluginConnector]: ------------------------CodeCheck---------------------------- [2018-11-23 09:53:10,409 INFO L271 PluginConnector]: Initializing CodeCheck... [2018-11-23 09:53:10,418 INFO L276 PluginConnector]: CodeCheck initialized [2018-11-23 09:53:10,419 INFO L185 PluginConnector]: Executing the observer CodeCheckObserver from plugin CodeCheck for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 23.11 09:53:10" (1/1) ... [2018-11-23 09:53:10,429 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 09:53:10,448 INFO L82 GeneralOperation]: Start removeUnreachable. Operand no size info available [2018-11-23 09:53:10,454 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 117 states to 72 states and 117 transitions. [2018-11-23 09:53:10,455 INFO L276 IsEmpty]: Start isEmpty. Operand 72 states and 117 transitions. [2018-11-23 09:53:10,456 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 11 [2018-11-23 09:53:10,456 INFO L427 CodeCheckObserver]: Error Path is FOUND. [2018-11-23 09:53:10,490 ERROR L613 CodeCheckObserver]: First Tracecheck threw exception Indexed Sort FloatingPoint undefined [2018-11-23 09:53:10,542 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 09:53:10,553 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 09:53:10,565 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 09:53:10,574 INFO L82 GeneralOperation]: Start removeUnreachable. Operand no size info available [2018-11-23 09:53:10,575 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 112 states to 72 states and 112 transitions. [2018-11-23 09:53:10,575 INFO L276 IsEmpty]: Start isEmpty. Operand 72 states and 112 transitions. [2018-11-23 09:53:10,575 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 13 [2018-11-23 09:53:10,576 INFO L427 CodeCheckObserver]: Error Path is FOUND. [2018-11-23 09:53:10,577 ERROR L613 CodeCheckObserver]: First Tracecheck threw exception Indexed Sort FloatingPoint undefined [2018-11-23 09:53:13,750 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 09:53:13,758 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 09:53:13,808 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 09:53:13,809 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 09:53:13,810 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 09:53:13,811 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 09:53:13,815 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 09:53:13,926 WARN L180 SmtUtils]: Spent 107.00 ms on a formula simplification. DAG size of input: 31 DAG size of output: 28 [2018-11-23 09:53:13,927 FATAL L292 ToolchainWalker]: The Plugin de.uni_freiburg.informatik.ultimate.plugins.generator.codecheck has thrown an exception: java.lang.UnsupportedOperationException: nested self-update not yet implemented: (store v_arrayElimCell_1 (_ bv0 32) ((_ extract 31 0) v_prenex_89)) at de.uni_freiburg.informatik.ultimate.modelcheckerutils.smt.DerPreprocessor.constructReplacementForStoreCase(DerPreprocessor.java:248) at de.uni_freiburg.informatik.ultimate.modelcheckerutils.smt.DerPreprocessor.constructReplacement(DerPreprocessor.java:219) at de.uni_freiburg.informatik.ultimate.modelcheckerutils.smt.DerPreprocessor.constructReplacement(DerPreprocessor.java:210) at de.uni_freiburg.informatik.ultimate.modelcheckerutils.smt.DerPreprocessor.convert(DerPreprocessor.java:142) at de.uni_freiburg.informatik.ultimate.logic.TermTransformer.cacheConvert(TermTransformer.java:131) at de.uni_freiburg.informatik.ultimate.logic.TermTransformer.access$0(TermTransformer.java:127) at de.uni_freiburg.informatik.ultimate.logic.TermTransformer$Convert.walk(TermTransformer.java:79) at de.uni_freiburg.informatik.ultimate.logic.NonRecursive.run(NonRecursive.java:122) at de.uni_freiburg.informatik.ultimate.logic.NonRecursive.run(NonRecursive.java:113) at de.uni_freiburg.informatik.ultimate.logic.TermTransformer.transform(TermTransformer.java:253) at de.uni_freiburg.informatik.ultimate.modelcheckerutils.smt.Elim1Store.elim1(Elim1Store.java:211) at de.uni_freiburg.informatik.ultimate.modelcheckerutils.smt.ElimStorePlain.doElimOneRec(ElimStorePlain.java:221) at de.uni_freiburg.informatik.ultimate.modelcheckerutils.smt.ElimStorePlain.doElimAllRec(ElimStorePlain.java:247) at de.uni_freiburg.informatik.ultimate.modelcheckerutils.smt.ElimStorePlain.doElimOneRec(ElimStorePlain.java:225) at de.uni_freiburg.informatik.ultimate.modelcheckerutils.smt.ElimStorePlain.doElimAllRec(ElimStorePlain.java:247) at de.uni_freiburg.informatik.ultimate.modelcheckerutils.smt.ElimStorePlain.elimAllRec(ElimStorePlain.java:199) at de.uni_freiburg.informatik.ultimate.modelcheckerutils.smt.PartialQuantifierElimination.elim(PartialQuantifierElimination.java:293) at de.uni_freiburg.informatik.ultimate.modelcheckerutils.smt.PartialQuantifierElimination.tryToEliminate(PartialQuantifierElimination.java:101) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.predicates.IterativePredicateTransformer$QuantifierEliminationPostprocessor.postprocess(IterativePredicateTransformer.java:245) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.predicates.IterativePredicateTransformer.applyPostprocessors(IterativePredicateTransformer.java:439) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.predicates.IterativePredicateTransformer.computeStrongestPostconditionSequence(IterativePredicateTransformer.java:200) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.singletracecheck.TraceCheckSpWp.computeInterpolantsUsingUnsatCore(TraceCheckSpWp.java:286) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.singletracecheck.TraceCheckSpWp.computeInterpolants(TraceCheckSpWp.java:175) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.singletracecheck.TraceCheckSpWp.(TraceCheckSpWp.java:162) at de.uni_freiburg.informatik.ultimate.plugins.generator.codecheck.CodeCheckObserver.createTraceCheck(CodeCheckObserver.java:624) at de.uni_freiburg.informatik.ultimate.plugins.generator.codecheck.CodeCheckObserver.process(CodeCheckObserver.java:454) at de.uni_freiburg.informatik.ultimate.core.coreplugin.modelwalker.CFGWalker.runObserver(CFGWalker.java:57) at de.uni_freiburg.informatik.ultimate.core.coreplugin.modelwalker.BaseWalker.runObserver(BaseWalker.java:93) at de.uni_freiburg.informatik.ultimate.core.coreplugin.modelwalker.BaseWalker.run(BaseWalker.java:86) at de.uni_freiburg.informatik.ultimate.core.coreplugin.PluginConnector.runObserver(PluginConnector.java:167) at de.uni_freiburg.informatik.ultimate.core.coreplugin.PluginConnector.runTool(PluginConnector.java:151) at de.uni_freiburg.informatik.ultimate.core.coreplugin.PluginConnector.run(PluginConnector.java:128) at de.uni_freiburg.informatik.ultimate.core.coreplugin.ToolchainWalker.executePluginConnector(ToolchainWalker.java:232) at de.uni_freiburg.informatik.ultimate.core.coreplugin.ToolchainWalker.processPlugin(ToolchainWalker.java:226) at de.uni_freiburg.informatik.ultimate.core.coreplugin.ToolchainWalker.walkUnprotected(ToolchainWalker.java:142) at de.uni_freiburg.informatik.ultimate.core.coreplugin.ToolchainWalker.walk(ToolchainWalker.java:104) at de.uni_freiburg.informatik.ultimate.core.coreplugin.ToolchainManager$Toolchain.processToolchain(ToolchainManager.java:316) at de.uni_freiburg.informatik.ultimate.core.coreplugin.toolchain.DefaultToolchainJob.run(DefaultToolchainJob.java:145) at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55) [2018-11-23 09:53:13,930 INFO L168 Benchmark]: Toolchain (without parser) took 252119.12 ms. Allocated memory was 1.0 GB in the beginning and 1.2 GB in the end (delta: 168.8 MB). Free memory was 943.8 MB in the beginning and 1.0 GB in the end (delta: -87.2 MB). Peak memory consumption was 81.6 MB. Max. memory is 11.5 GB. [2018-11-23 09:53:13,931 INFO L168 Benchmark]: CDTParser took 0.17 ms. Allocated memory is still 1.0 GB. Free memory is still 973.4 MB. There was no memory consumed. Max. memory is 11.5 GB. [2018-11-23 09:53:13,931 INFO L168 Benchmark]: CACSL2BoogieTranslator took 297.81 ms. Allocated memory is still 1.0 GB. Free memory was 943.8 MB in the beginning and 922.4 MB in the end (delta: 21.5 MB). Peak memory consumption was 21.5 MB. Max. memory is 11.5 GB. [2018-11-23 09:53:13,931 INFO L168 Benchmark]: Boogie Procedure Inliner took 76.57 ms. Allocated memory was 1.0 GB in the beginning and 1.2 GB in the end (delta: 168.8 MB). Free memory was 922.4 MB in the beginning and 1.2 GB in the end (delta: -241.5 MB). Peak memory consumption was 15.7 MB. Max. memory is 11.5 GB. [2018-11-23 09:53:13,932 INFO L168 Benchmark]: Boogie Preprocessor took 33.12 ms. Allocated memory is still 1.2 GB. Free memory was 1.2 GB in the beginning and 1.2 GB in the end (delta: 6.3 MB). Peak memory consumption was 6.3 MB. Max. memory is 11.5 GB. [2018-11-23 09:53:13,932 INFO L168 Benchmark]: RCFGBuilder took 248187.98 ms. Allocated memory is still 1.2 GB. Free memory was 1.2 GB in the beginning and 1.1 GB in the end (delta: 94.8 MB). Peak memory consumption was 94.8 MB. Max. memory is 11.5 GB. [2018-11-23 09:53:13,933 INFO L168 Benchmark]: CodeCheck took 3520.51 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: 31.8 MB). Peak memory consumption was 31.8 MB. Max. memory is 11.5 GB. [2018-11-23 09:53:13,935 INFO L336 ainManager$Toolchain]: ####################### End [Toolchain 1] ####################### --- Results --- * Results from de.uni_freiburg.informatik.ultimate.plugins.generator.codecheck: - ExceptionOrErrorResult: UnsupportedOperationException: nested self-update not yet implemented: (store v_arrayElimCell_1 (_ bv0 32) ((_ extract 31 0) v_prenex_89)) de.uni_freiburg.informatik.ultimate.plugins.generator.codecheck: UnsupportedOperationException: nested self-update not yet implemented: (store v_arrayElimCell_1 (_ bv0 32) ((_ extract 31 0) v_prenex_89)): de.uni_freiburg.informatik.ultimate.modelcheckerutils.smt.DerPreprocessor.constructReplacementForStoreCase(DerPreprocessor.java:248) * Results from de.uni_freiburg.informatik.ultimate.core: - StatisticsResult: Toolchain Benchmarks Benchmark results are: * CDTParser took 0.17 ms. Allocated memory is still 1.0 GB. Free memory is still 973.4 MB. There was no memory consumed. Max. memory is 11.5 GB. * CACSL2BoogieTranslator took 297.81 ms. Allocated memory is still 1.0 GB. Free memory was 943.8 MB in the beginning and 922.4 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 76.57 ms. Allocated memory was 1.0 GB in the beginning and 1.2 GB in the end (delta: 168.8 MB). Free memory was 922.4 MB in the beginning and 1.2 GB in the end (delta: -241.5 MB). Peak memory consumption was 15.7 MB. Max. memory is 11.5 GB. * Boogie Preprocessor took 33.12 ms. Allocated memory is still 1.2 GB. Free memory was 1.2 GB in the beginning and 1.2 GB in the end (delta: 6.3 MB). Peak memory consumption was 6.3 MB. Max. memory is 11.5 GB. * RCFGBuilder took 248187.98 ms. Allocated memory is still 1.2 GB. Free memory was 1.2 GB in the beginning and 1.1 GB in the end (delta: 94.8 MB). Peak memory consumption was 94.8 MB. Max. memory is 11.5 GB. * CodeCheck took 3520.51 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: 31.8 MB). Peak memory consumption was 31.8 MB. Max. memory is 11.5 GB. RESULT: Ultimate could not prove your program: Toolchain returned no result. [MP z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:10000 (1)] Forcibly destroying the process Received shutdown request...