./Ultimate.py --spec ../../sv-benchmarks/c/properties/unreach-call.prp --file ../../sv-benchmarks/c/float-benchs/sqrt_poly2_false-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_e83d716c-73c5-41b8-be26-916311008b88/bin-2019/ukojak/data/config -Xmx12G -Xms1G -jar /tmp/vcloud-vcloud-master/worker/working_dir_e83d716c-73c5-41b8-be26-916311008b88/bin-2019/ukojak/plugins/org.eclipse.equinox.launcher_1.3.100.v20150511-1540.jar -data @noDefault -ultimatedata /tmp/vcloud-vcloud-master/worker/working_dir_e83d716c-73c5-41b8-be26-916311008b88/bin-2019/ukojak/data -tc /tmp/vcloud-vcloud-master/worker/working_dir_e83d716c-73c5-41b8-be26-916311008b88/bin-2019/ukojak/config/KojakReach.xml -i ../../sv-benchmarks/c/float-benchs/sqrt_poly2_false-unreach-call.c -s /tmp/vcloud-vcloud-master/worker/working_dir_e83d716c-73c5-41b8-be26-916311008b88/bin-2019/ukojak/config/svcomp-Reach-32bit-Kojak_Default.epf --cacsl2boogietranslator.entry.function main --witnessprinter.witness.directory /tmp/vcloud-vcloud-master/worker/working_dir_e83d716c-73c5-41b8-be26-916311008b88/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 b63905375af38d9971341930078b6c47230c38fd ........................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................ 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_e83d716c-73c5-41b8-be26-916311008b88/bin-2019/ukojak/data/config -Xmx12G -Xms1G -jar /tmp/vcloud-vcloud-master/worker/working_dir_e83d716c-73c5-41b8-be26-916311008b88/bin-2019/ukojak/plugins/org.eclipse.equinox.launcher_1.3.100.v20150511-1540.jar -data @noDefault -ultimatedata /tmp/vcloud-vcloud-master/worker/working_dir_e83d716c-73c5-41b8-be26-916311008b88/bin-2019/ukojak/data -tc /tmp/vcloud-vcloud-master/worker/working_dir_e83d716c-73c5-41b8-be26-916311008b88/bin-2019/ukojak/config/KojakReach.xml -i ../../sv-benchmarks/c/float-benchs/sqrt_poly2_false-unreach-call.c -s /tmp/vcloud-vcloud-master/worker/working_dir_e83d716c-73c5-41b8-be26-916311008b88/bin-2019/ukojak/config/svcomp-Reach-32bit-Kojak_Bitvector.epf --cacsl2boogietranslator.entry.function main --witnessprinter.witness.directory /tmp/vcloud-vcloud-master/worker/working_dir_e83d716c-73c5-41b8-be26-916311008b88/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 b63905375af38d9971341930078b6c47230c38fd ................................................................................................................................................................................................... Execution finished normally Writing output log to file Ultimate.log Result: ERROR: ExceptionOrErrorResult: UnsupportedOperationException: Solver said unknown --- Real Ultimate output --- This is Ultimate 0.1.23-aa41828 [2018-11-23 05:33:36,883 INFO L170 SettingsManager]: Resetting all preferences to default values... [2018-11-23 05:33:36,884 INFO L174 SettingsManager]: Resetting UltimateCore preferences to default values [2018-11-23 05:33:36,891 INFO L177 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2018-11-23 05:33:36,891 INFO L174 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2018-11-23 05:33:36,892 INFO L174 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2018-11-23 05:33:36,893 INFO L174 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2018-11-23 05:33:36,894 INFO L174 SettingsManager]: Resetting LassoRanker preferences to default values [2018-11-23 05:33:36,895 INFO L174 SettingsManager]: Resetting Reaching Definitions preferences to default values [2018-11-23 05:33:36,896 INFO L174 SettingsManager]: Resetting SyntaxChecker preferences to default values [2018-11-23 05:33:36,896 INFO L177 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2018-11-23 05:33:36,897 INFO L174 SettingsManager]: Resetting LTL2Aut preferences to default values [2018-11-23 05:33:36,898 INFO L174 SettingsManager]: Resetting PEA to Boogie preferences to default values [2018-11-23 05:33:36,898 INFO L174 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2018-11-23 05:33:36,899 INFO L174 SettingsManager]: Resetting ChcToBoogie preferences to default values [2018-11-23 05:33:36,900 INFO L174 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2018-11-23 05:33:36,901 INFO L174 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2018-11-23 05:33:36,902 INFO L174 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2018-11-23 05:33:36,904 INFO L174 SettingsManager]: Resetting CodeCheck preferences to default values [2018-11-23 05:33:36,905 INFO L174 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2018-11-23 05:33:36,906 INFO L174 SettingsManager]: Resetting RCFGBuilder preferences to default values [2018-11-23 05:33:36,907 INFO L174 SettingsManager]: Resetting TraceAbstraction preferences to default values [2018-11-23 05:33:36,908 INFO L177 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2018-11-23 05:33:36,908 INFO L177 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2018-11-23 05:33:36,909 INFO L174 SettingsManager]: Resetting TreeAutomizer preferences to default values [2018-11-23 05:33:36,910 INFO L174 SettingsManager]: Resetting IcfgTransformer preferences to default values [2018-11-23 05:33:36,911 INFO L174 SettingsManager]: Resetting Boogie Printer preferences to default values [2018-11-23 05:33:36,911 INFO L174 SettingsManager]: Resetting ReqPrinter preferences to default values [2018-11-23 05:33:36,912 INFO L174 SettingsManager]: Resetting Witness Printer preferences to default values [2018-11-23 05:33:36,913 INFO L177 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2018-11-23 05:33:36,913 INFO L174 SettingsManager]: Resetting CDTParser preferences to default values [2018-11-23 05:33:36,913 INFO L177 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2018-11-23 05:33:36,914 INFO L177 SettingsManager]: ReqParser provides no preferences, ignoring... [2018-11-23 05:33:36,914 INFO L174 SettingsManager]: Resetting SmtParser preferences to default values [2018-11-23 05:33:36,914 INFO L174 SettingsManager]: Resetting Witness Parser preferences to default values [2018-11-23 05:33:36,915 INFO L181 SettingsManager]: Finished resetting all preferences to default values... [2018-11-23 05:33:36,916 INFO L98 SettingsManager]: Beginning loading settings from /tmp/vcloud-vcloud-master/worker/working_dir_e83d716c-73c5-41b8-be26-916311008b88/bin-2019/ukojak/config/svcomp-Reach-32bit-Kojak_Default.epf [2018-11-23 05:33:36,926 INFO L110 SettingsManager]: Loading preferences was successful [2018-11-23 05:33:36,926 INFO L112 SettingsManager]: Preferences different from defaults after loading the file: [2018-11-23 05:33:36,927 INFO L131 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2018-11-23 05:33:36,927 INFO L133 SettingsManager]: * ... to procedures called more than once=ALWAYS [2018-11-23 05:33:36,927 INFO L131 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2018-11-23 05:33:36,928 INFO L133 SettingsManager]: * Create parallel compositions if possible=false [2018-11-23 05:33:36,928 INFO L131 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2018-11-23 05:33:36,928 INFO L133 SettingsManager]: * sizeof long=4 [2018-11-23 05:33:36,928 INFO L133 SettingsManager]: * Overapproximate operations on floating types=true [2018-11-23 05:33:36,928 INFO L133 SettingsManager]: * sizeof POINTER=4 [2018-11-23 05:33:36,928 INFO L133 SettingsManager]: * Check division by zero=IGNORE [2018-11-23 05:33:36,928 INFO L133 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2018-11-23 05:33:36,929 INFO L133 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2018-11-23 05:33:36,929 INFO L133 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2018-11-23 05:33:36,929 INFO L133 SettingsManager]: * sizeof long double=12 [2018-11-23 05:33:36,930 INFO L133 SettingsManager]: * Check if freed pointer was valid=false [2018-11-23 05:33:36,930 INFO L133 SettingsManager]: * Use constant arrays=true [2018-11-23 05:33:36,930 INFO L133 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2018-11-23 05:33:36,930 INFO L131 SettingsManager]: Preferences of CodeCheck differ from their defaults: [2018-11-23 05:33:36,930 INFO L133 SettingsManager]: * Timeout in seconds=1000000 [2018-11-23 05:33:36,930 INFO L131 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2018-11-23 05:33:36,931 INFO L133 SettingsManager]: * To the following directory=./dump/ [2018-11-23 05:33:36,931 INFO L133 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:10000 [2018-11-23 05:33:36,931 INFO L131 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2018-11-23 05:33:36,931 INFO L133 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2018-11-23 05:33:36,931 INFO L133 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopsAndPotentialCycles [2018-11-23 05:33:36,931 INFO L133 SettingsManager]: * Trace refinement strategy=PENGUIN [2018-11-23 05:33:36,931 INFO L133 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode [2018-11-23 05:33:36,931 INFO L133 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2018-11-23 05:33:36,931 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_e83d716c-73c5-41b8-be26-916311008b88/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 -> b63905375af38d9971341930078b6c47230c38fd [2018-11-23 05:33:36,954 INFO L81 nceAwareModelManager]: Repository-Root is: /tmp [2018-11-23 05:33:36,964 INFO L258 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2018-11-23 05:33:36,966 INFO L214 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2018-11-23 05:33:36,966 INFO L271 PluginConnector]: Initializing CDTParser... [2018-11-23 05:33:36,967 INFO L276 PluginConnector]: CDTParser initialized [2018-11-23 05:33:36,967 INFO L418 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /tmp/vcloud-vcloud-master/worker/working_dir_e83d716c-73c5-41b8-be26-916311008b88/bin-2019/ukojak/../../sv-benchmarks/c/float-benchs/sqrt_poly2_false-unreach-call.c [2018-11-23 05:33:37,012 INFO L221 CDTParser]: Created temporary CDT project at /tmp/vcloud-vcloud-master/worker/working_dir_e83d716c-73c5-41b8-be26-916311008b88/bin-2019/ukojak/data/b6187dc43/6f84c8ee3d964799b8f5c5bb97a67962/FLAGd0aaccb6d [2018-11-23 05:33:37,308 INFO L307 CDTParser]: Found 1 translation units. [2018-11-23 05:33:37,308 INFO L161 CDTParser]: Scanning /tmp/vcloud-vcloud-master/worker/working_dir_e83d716c-73c5-41b8-be26-916311008b88/sv-benchmarks/c/float-benchs/sqrt_poly2_false-unreach-call.c [2018-11-23 05:33:37,312 INFO L355 CDTParser]: About to delete temporary CDT project at /tmp/vcloud-vcloud-master/worker/working_dir_e83d716c-73c5-41b8-be26-916311008b88/bin-2019/ukojak/data/b6187dc43/6f84c8ee3d964799b8f5c5bb97a67962/FLAGd0aaccb6d [2018-11-23 05:33:37,323 INFO L363 CDTParser]: Successfully deleted /tmp/vcloud-vcloud-master/worker/working_dir_e83d716c-73c5-41b8-be26-916311008b88/bin-2019/ukojak/data/b6187dc43/6f84c8ee3d964799b8f5c5bb97a67962 [2018-11-23 05:33:37,325 INFO L296 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2018-11-23 05:33:37,326 INFO L131 ToolchainWalker]: Walking toolchain with 6 elements. [2018-11-23 05:33:37,327 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2018-11-23 05:33:37,327 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2018-11-23 05:33:37,329 INFO L276 PluginConnector]: CACSL2BoogieTranslator initialized [2018-11-23 05:33:37,329 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 23.11 05:33:37" (1/1) ... [2018-11-23 05:33:37,331 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@2fb74b4d and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 05:33:37, skipping insertion in model container [2018-11-23 05:33:37,331 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 23.11 05:33:37" (1/1) ... [2018-11-23 05:33:37,337 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2018-11-23 05:33:37,351 INFO L176 MainTranslator]: Built tables and reachable declarations [2018-11-23 05:33:37,471 INFO L201 PostProcessor]: Analyzing one entry point: main [2018-11-23 05:33:37,473 INFO L191 MainTranslator]: Completed pre-run [2018-11-23 05:33:37,488 INFO L201 PostProcessor]: Analyzing one entry point: main [2018-11-23 05:33:37,499 INFO L195 MainTranslator]: Completed translation [2018-11-23 05:33:37,500 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 05:33:37 WrapperNode [2018-11-23 05:33:37,500 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2018-11-23 05:33:37,500 INFO L113 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2018-11-23 05:33:37,500 INFO L271 PluginConnector]: Initializing Boogie Procedure Inliner... [2018-11-23 05:33:37,500 INFO L276 PluginConnector]: Boogie Procedure Inliner initialized [2018-11-23 05:33:37,508 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 05:33:37" (1/1) ... [2018-11-23 05:33:37,516 INFO L185 PluginConnector]: Executing the observer Inliner from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 05:33:37" (1/1) ... [2018-11-23 05:33:37,569 INFO L132 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2018-11-23 05:33:37,570 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2018-11-23 05:33:37,570 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2018-11-23 05:33:37,570 INFO L276 PluginConnector]: Boogie Preprocessor initialized [2018-11-23 05:33:37,579 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 05:33:37" (1/1) ... [2018-11-23 05:33:37,579 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 05:33:37" (1/1) ... [2018-11-23 05:33:37,581 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 05:33:37" (1/1) ... [2018-11-23 05:33:37,581 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 05:33:37" (1/1) ... [2018-11-23 05:33:37,588 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 05:33:37" (1/1) ... [2018-11-23 05:33:37,590 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 05:33:37" (1/1) ... [2018-11-23 05:33:37,591 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 05:33:37" (1/1) ... [2018-11-23 05:33:37,592 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2018-11-23 05:33:37,592 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2018-11-23 05:33:37,592 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2018-11-23 05:33:37,592 INFO L276 PluginConnector]: RCFGBuilder initialized [2018-11-23 05:33:37,593 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 05:33:37" (1/1) ... No working directory specified, using /tmp/vcloud-vcloud-master/worker/working_dir_e83d716c-73c5-41b8-be26-916311008b88/bin-2019/ukojak/z3 Starting monitored process 1 with z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:10000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 1 with z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:10000 [2018-11-23 05:33:37,637 INFO L130 BoogieDeclarations]: Found specification of procedure read~real [2018-11-23 05:33:37,637 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2018-11-23 05:33:37,638 INFO L130 BoogieDeclarations]: Found specification of procedure write~real [2018-11-23 05:33:37,638 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.alloc [2018-11-23 05:33:37,638 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2018-11-23 05:33:37,638 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2018-11-23 05:33:37,638 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2018-11-23 05:33:37,638 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2018-11-23 05:33:37,941 INFO L275 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2018-11-23 05:33:37,941 INFO L280 CfgBuilder]: Removed 8 assue(true) statements. [2018-11-23 05:33:37,941 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 23.11 05:33:37 BoogieIcfgContainer [2018-11-23 05:33:37,941 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2018-11-23 05:33:37,942 INFO L113 PluginConnector]: ------------------------CodeCheck---------------------------- [2018-11-23 05:33:37,942 INFO L271 PluginConnector]: Initializing CodeCheck... [2018-11-23 05:33:37,952 INFO L276 PluginConnector]: CodeCheck initialized [2018-11-23 05:33:37,952 INFO L185 PluginConnector]: Executing the observer CodeCheckObserver from plugin CodeCheck for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 23.11 05:33:37" (1/1) ... [2018-11-23 05:33:37,963 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 05:33:37,983 INFO L82 GeneralOperation]: Start removeUnreachable. Operand no size info available [2018-11-23 05:33:37,989 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 6 transitions. [2018-11-23 05:33:37,989 INFO L276 IsEmpty]: Start isEmpty. Operand 6 states and 6 transitions. [2018-11-23 05:33:37,991 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 4 [2018-11-23 05:33:37,991 INFO L427 CodeCheckObserver]: Error Path is FOUND. [2018-11-23 05:33:38,081 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-11-23 05:33:38,103 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-11-23 05:33:38,143 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-11-23 05:33:38,154 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-11-23 05:33:38,166 WARN L493 CodeCheckObserver]: This program is UNSAFE, Check terminated with 1 iterations. ----- class de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder.RCFGBacktranslator [?] #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~C0~0 := 1.414213538;~C1~0 := 0.229761391;~C2~0 := 1.296735525;~C3~0 := ~someUnaryDOUBLEoperation(0.90109837);~C4~0 := 0.4935534;~C5~0 := ~someUnaryDOUBLEoperation(0.118958666);havoc main_#res;havoc main_#t~nondet8, main_#t~ret9, main_~x~1, main_~y~0;havoc main_~x~1;havoc main_~y~0;main_~x~1 := main_#t~nondet8;havoc main_#t~nondet8;assume 0 != (if ~someBinaryDOUBLEComparisonOperation(main_~x~1, 1.0) && ~someBinaryDOUBLEComparisonOperation(main_~x~1, 1.0E10) then 1 else 0);sqrt_custom_#in~a := main_~x~1;havoc sqrt_custom_#res;havoc sqrt_custom_#t~mem0, sqrt_custom_#t~union1, sqrt_custom_#t~mem2, sqrt_custom_#t~mem3, sqrt_custom_#t~union4, sqrt_custom_#t~post5, sqrt_custom_#t~mem6, sqrt_custom_#t~union7, sqrt_custom_~a, sqrt_custom_~#x~0.base, sqrt_custom_~#x~0.offset, sqrt_custom_~r~0, sqrt_custom_~exp~0;sqrt_custom_~a := sqrt_custom_#in~a;call sqrt_custom_~#x~0.base, sqrt_custom_~#x~0.offset := #Ultimate.alloc(8);havoc sqrt_custom_~r~0;havoc sqrt_custom_~exp~0;call write~real(sqrt_custom_~a, sqrt_custom_~#x~0.base, sqrt_custom_~#x~0.offset, 8);call sqrt_custom_#t~mem0 := read~int(sqrt_custom_~#x~0.base, sqrt_custom_~#x~0.offset, 4);sqrt_custom_~exp~0 := ~bitwiseAnd(sqrt_custom_#t~mem0, 2146435072) / 1048576;call write~real(sqrt_custom_#t~union1, sqrt_custom_~#x~0.base, sqrt_custom_~#x~0.offset, 8);havoc sqrt_custom_#t~mem0;havoc sqrt_custom_#t~union1;call sqrt_custom_#t~mem2 := read~int(sqrt_custom_~#x~0.base, sqrt_custom_~#x~0.offset, 4);call write~int((if ~bitwiseOr(~bitwiseAnd(sqrt_custom_#t~mem2, 2148532223), 1072693248) % 4294967296 % 4294967296 <= 2147483647 then ~bitwiseOr(~bitwiseAnd(sqrt_custom_#t~mem2, 2148532223), 1072693248) % 4294967296 % 4294967296 else ~bitwiseOr(~bitwiseAnd(sqrt_custom_#t~mem2, 2148532223), 1072693248) % 4294967296 % 4294967296 - 4294967296), sqrt_custom_~#x~0.base, sqrt_custom_~#x~0.offset, 4);havoc sqrt_custom_#t~mem2;call sqrt_custom_#t~mem3 := read~real(sqrt_custom_~#x~0.base, sqrt_custom_~#x~0.offset, 8);sqrt_custom_~r~0 := ~someBinaryArithmeticDOUBLEoperation(sqrt_custom_#t~mem3, 0.5);call write~int(sqrt_custom_#t~union4[0], sqrt_custom_~#x~0.base, sqrt_custom_~#x~0.offset, 4);call write~int(sqrt_custom_#t~union4[1], sqrt_custom_~#x~0.base, 4 + sqrt_custom_~#x~0.offset, 4);havoc sqrt_custom_#t~mem3;havoc sqrt_custom_#t~union4;sqrt_custom_~r~0 := ~someBinaryArithmeticDOUBLEoperation(~someBinaryArithmeticDOUBLEoperation(~C1~0, ~C2~0), ~someBinaryArithmeticDOUBLEoperation(~someBinaryArithmeticDOUBLEoperation(~C3~0, ~someBinaryArithmeticDOUBLEoperation(~someBinaryArithmeticDOUBLEoperation(~C4~0, ~someBinaryArithmeticDOUBLEoperation(~C5~0, sqrt_custom_~r~0)), sqrt_custom_~r~0)), sqrt_custom_~r~0));BeginParallelComposition{ParallelCodeBlock0: assume 0 == (if sqrt_custom_~exp~0 < 0 && 0 != sqrt_custom_~exp~0 % 2 then sqrt_custom_~exp~0 % 2 - 2 else sqrt_custom_~exp~0 % 2);sqrt_custom_#t~post5 := sqrt_custom_~exp~0;sqrt_custom_~exp~0 := 1 + sqrt_custom_#t~post5;havoc sqrt_custom_#t~post5;ParallelCodeBlock1: assume !(0 == (if sqrt_custom_~exp~0 < 0 && 0 != sqrt_custom_~exp~0 % 2 then sqrt_custom_~exp~0 % 2 - 2 else sqrt_custom_~exp~0 % 2));sqrt_custom_~r~0 := ~someBinaryArithmeticDOUBLEoperation(sqrt_custom_~r~0, ~C0~0);}EndParallelCompositioncall write~int(1048576 * (511 + (if sqrt_custom_~exp~0 < 0 && 0 != sqrt_custom_~exp~0 % 2 then 1 + sqrt_custom_~exp~0 / 2 else sqrt_custom_~exp~0 / 2)), sqrt_custom_~#x~0.base, sqrt_custom_~#x~0.offset, 4);call sqrt_custom_#t~mem6 := read~real(sqrt_custom_~#x~0.base, sqrt_custom_~#x~0.offset, 8);sqrt_custom_~r~0 := ~someBinaryArithmeticDOUBLEoperation(sqrt_custom_~r~0, sqrt_custom_#t~mem6);call write~int(sqrt_custom_#t~union7[0], sqrt_custom_~#x~0.base, sqrt_custom_~#x~0.offset, 4);call write~int(sqrt_custom_#t~union7[1], sqrt_custom_~#x~0.base, 4 + sqrt_custom_~#x~0.offset, 4);havoc sqrt_custom_#t~mem6;havoc sqrt_custom_#t~union7;sqrt_custom_#res := sqrt_custom_~r~0;call ULTIMATE.dealloc(sqrt_custom_~#x~0.base, sqrt_custom_~#x~0.offset);havoc sqrt_custom_~#x~0.base, sqrt_custom_~#x~0.offset;main_#t~ret9 := sqrt_custom_#res;main_~y~0 := main_#t~ret9;havoc main_#t~ret9;__VERIFIER_assert_#in~cond := (if ~someBinaryDOUBLEComparisonOperation(main_~y~0, 0.0) && ~someBinaryDOUBLEComparisonOperation(main_~y~0, 1000000.0) then 1 else 0);havoc __VERIFIER_assert_~cond;__VERIFIER_assert_~cond := __VERIFIER_assert_#in~cond; VAL [ULTIMATE.start___VERIFIER_assert_~cond=0, ULTIMATE.start_main_~x~1=0.0, ULTIMATE.start_main_~y~0=10.0, ULTIMATE.start_sqrt_custom_~a=0.0, ULTIMATE.start_sqrt_custom_~exp~0=1, ULTIMATE.start_sqrt_custom_~r~0=10.0, |#NULL.base|=0, |#NULL.offset|=0, |ULTIMATE.start___VERIFIER_assert_#in~cond|=0, |ULTIMATE.start_sqrt_custom_#in~a|=0.0, |ULTIMATE.start_sqrt_custom_#res|=10.0, |ULTIMATE.start_sqrt_custom_#t~post5|=5, ~C0~0=(/ 707106769.0 500000000.0), ~C1~0=(/ 229761391.0 1000000000.0), ~C2~0=(/ 51869421.0 40000000.0), ~C4~0=(/ 2467767.0 5000000.0)] [?] assume 0 == __VERIFIER_assert_~cond; VAL [ULTIMATE.start___VERIFIER_assert_~cond=0, ULTIMATE.start_main_~x~1=0.0, ULTIMATE.start_main_~y~0=10.0, ULTIMATE.start_sqrt_custom_~a=0.0, ULTIMATE.start_sqrt_custom_~exp~0=1, ULTIMATE.start_sqrt_custom_~r~0=10.0, |#NULL.base|=0, |#NULL.offset|=0, |ULTIMATE.start___VERIFIER_assert_#in~cond|=0, |ULTIMATE.start_sqrt_custom_#in~a|=0.0, |ULTIMATE.start_sqrt_custom_#res|=10.0, |ULTIMATE.start_sqrt_custom_#t~post5|=5, ~C0~0=(/ 707106769.0 500000000.0), ~C1~0=(/ 229761391.0 1000000000.0), ~C2~0=(/ 51869421.0 40000000.0), ~C4~0=(/ 2467767.0 5000000.0)] [?] assume !false; VAL [ULTIMATE.start___VERIFIER_assert_~cond=0, ULTIMATE.start_main_~x~1=0.0, ULTIMATE.start_main_~y~0=10.0, ULTIMATE.start_sqrt_custom_~a=0.0, ULTIMATE.start_sqrt_custom_~exp~0=1, ULTIMATE.start_sqrt_custom_~r~0=10.0, |#NULL.base|=0, |#NULL.offset|=0, |ULTIMATE.start___VERIFIER_assert_#in~cond|=0, |ULTIMATE.start_sqrt_custom_#in~a|=0.0, |ULTIMATE.start_sqrt_custom_#res|=10.0, |ULTIMATE.start_sqrt_custom_#t~post5|=5, ~C0~0=(/ 707106769.0 500000000.0), ~C1~0=(/ 229761391.0 1000000000.0), ~C2~0=(/ 51869421.0 40000000.0), ~C4~0=(/ 2467767.0 5000000.0)] [?] #NULL.base, #NULL.offset := 0, 0; [?] #valid := #valid[0 := 0]; [L12] ~C0~0 := 1.414213538; [L13] ~C1~0 := 0.229761391; [L14] ~C2~0 := 1.296735525; [L15] ~C3~0 := ~someUnaryDOUBLEoperation(0.90109837); [L16] ~C4~0 := 0.4935534; [L17] ~C5~0 := ~someUnaryDOUBLEoperation(0.118958666); [?] havoc main_#res; [?] havoc main_#t~nondet8, main_#t~ret9, main_~x~1, main_~y~0; [L53] havoc main_~x~1; [L53] havoc main_~y~0; [L55] main_~x~1 := main_#t~nondet8; [L55] havoc main_#t~nondet8; [L56] assume 0 != (if ~someBinaryDOUBLEComparisonOperation(main_~x~1, 1.0) && ~someBinaryDOUBLEComparisonOperation(main_~x~1, 1.0E10) then 1 else 0); [L58] sqrt_custom_#in~a := main_~x~1; [L58] havoc sqrt_custom_#res; [L58] havoc sqrt_custom_#t~mem0, sqrt_custom_#t~union1, sqrt_custom_#t~mem2, sqrt_custom_#t~mem3, sqrt_custom_#t~union4, sqrt_custom_#t~post5, sqrt_custom_#t~mem6, sqrt_custom_#t~union7, sqrt_custom_~a, sqrt_custom_~#x~0.base, sqrt_custom_~#x~0.offset, sqrt_custom_~r~0, sqrt_custom_~exp~0; [L24-L49] sqrt_custom_~a := sqrt_custom_#in~a; [L26] call sqrt_custom_~#x~0.base, sqrt_custom_~#x~0.offset := #Ultimate.alloc(8); [L27] havoc sqrt_custom_~r~0; [L28] havoc sqrt_custom_~exp~0; [L30] call write~real(sqrt_custom_~a, sqrt_custom_~#x~0.base, sqrt_custom_~#x~0.offset, 8); [L32] call sqrt_custom_#t~mem0 := read~int(sqrt_custom_~#x~0.base, sqrt_custom_~#x~0.offset, 4); [L32] sqrt_custom_~exp~0 := ~bitwiseAnd(sqrt_custom_#t~mem0, 2146435072) / 1048576; [L32] call write~real(sqrt_custom_#t~union1, sqrt_custom_~#x~0.base, sqrt_custom_~#x~0.offset, 8); [L32] havoc sqrt_custom_#t~mem0; [L32] havoc sqrt_custom_#t~union1; [L33] call sqrt_custom_#t~mem2 := read~int(sqrt_custom_~#x~0.base, sqrt_custom_~#x~0.offset, 4); [L33] call write~int((if ~bitwiseOr(~bitwiseAnd(sqrt_custom_#t~mem2, 2148532223), 1072693248) % 4294967296 % 4294967296 <= 2147483647 then ~bitwiseOr(~bitwiseAnd(sqrt_custom_#t~mem2, 2148532223), 1072693248) % 4294967296 % 4294967296 else ~bitwiseOr(~bitwiseAnd(sqrt_custom_#t~mem2, 2148532223), 1072693248) % 4294967296 % 4294967296 - 4294967296), sqrt_custom_~#x~0.base, sqrt_custom_~#x~0.offset, 4); [L33] havoc sqrt_custom_#t~mem2; [L34] call sqrt_custom_#t~mem3 := read~real(sqrt_custom_~#x~0.base, sqrt_custom_~#x~0.offset, 8); [L34] sqrt_custom_~r~0 := ~someBinaryArithmeticDOUBLEoperation(sqrt_custom_#t~mem3, 0.5); [L34] call write~int(sqrt_custom_#t~union4[0], sqrt_custom_~#x~0.base, sqrt_custom_~#x~0.offset, 4); [L34] call write~int(sqrt_custom_#t~union4[1], sqrt_custom_~#x~0.base, 4 + sqrt_custom_~#x~0.offset, 4); [L34] havoc sqrt_custom_#t~mem3; [L34] havoc sqrt_custom_#t~union4; [L36] sqrt_custom_~r~0 := ~someBinaryArithmeticDOUBLEoperation(~someBinaryArithmeticDOUBLEoperation(~C1~0, ~C2~0), ~someBinaryArithmeticDOUBLEoperation(~someBinaryArithmeticDOUBLEoperation(~C3~0, ~someBinaryArithmeticDOUBLEoperation(~someBinaryArithmeticDOUBLEoperation(~C4~0, ~someBinaryArithmeticDOUBLEoperation(~C5~0, sqrt_custom_~r~0)), sqrt_custom_~r~0)), sqrt_custom_~r~0)); [L38-L43] assume !(0 == (if sqrt_custom_~exp~0 < 0 && 0 != sqrt_custom_~exp~0 % 2 then sqrt_custom_~exp~0 % 2 - 2 else sqrt_custom_~exp~0 % 2)); [L42] sqrt_custom_~r~0 := ~someBinaryArithmeticDOUBLEoperation(sqrt_custom_~r~0, ~C0~0); [L45] call write~int(1048576 * (511 + (if sqrt_custom_~exp~0 < 0 && 0 != sqrt_custom_~exp~0 % 2 then 1 + sqrt_custom_~exp~0 / 2 else sqrt_custom_~exp~0 / 2)), sqrt_custom_~#x~0.base, sqrt_custom_~#x~0.offset, 4); [L46] call sqrt_custom_#t~mem6 := read~real(sqrt_custom_~#x~0.base, sqrt_custom_~#x~0.offset, 8); [L46] sqrt_custom_~r~0 := ~someBinaryArithmeticDOUBLEoperation(sqrt_custom_~r~0, sqrt_custom_#t~mem6); [L46] call write~int(sqrt_custom_#t~union7[0], sqrt_custom_~#x~0.base, sqrt_custom_~#x~0.offset, 4); [L46] call write~int(sqrt_custom_#t~union7[1], sqrt_custom_~#x~0.base, 4 + sqrt_custom_~#x~0.offset, 4); [L46] havoc sqrt_custom_#t~mem6; [L46] havoc sqrt_custom_#t~union7; [L48] sqrt_custom_#res := sqrt_custom_~r~0; [L26] call ULTIMATE.dealloc(sqrt_custom_~#x~0.base, sqrt_custom_~#x~0.offset); [L48] havoc sqrt_custom_~#x~0.base, sqrt_custom_~#x~0.offset; [L58] main_#t~ret9 := sqrt_custom_#res; [L58] main_~y~0 := main_#t~ret9; [L58] havoc main_#t~ret9; [L60] __VERIFIER_assert_#in~cond := (if ~someBinaryDOUBLEComparisonOperation(main_~y~0, 0.0) && ~someBinaryDOUBLEComparisonOperation(main_~y~0, 1000000.0) then 1 else 0); [L60] havoc __VERIFIER_assert_~cond; [L9] __VERIFIER_assert_~cond := __VERIFIER_assert_#in~cond; VAL [#NULL.base=0, #NULL.offset=0, __VERIFIER_assert_#in~cond=0, __VERIFIER_assert_~cond=0, main_~x~1=0.0, main_~y~0=10.0, sqrt_custom_#in~a=0.0, sqrt_custom_#res=10.0, sqrt_custom_#t~post5=5, sqrt_custom_~a=0.0, sqrt_custom_~exp~0=1, sqrt_custom_~r~0=10.0, ~C0~0=707106769/500000000, ~C1~0=229761391/1000000000, ~C2~0=51869421/40000000, ~C4~0=2467767/5000000] [L9] assume 0 == __VERIFIER_assert_~cond; VAL [#NULL.base=0, #NULL.offset=0, __VERIFIER_assert_#in~cond=0, __VERIFIER_assert_~cond=0, main_~x~1=0.0, main_~y~0=10.0, sqrt_custom_#in~a=0.0, sqrt_custom_#res=10.0, sqrt_custom_#t~post5=5, sqrt_custom_~a=0.0, sqrt_custom_~exp~0=1, sqrt_custom_~r~0=10.0, ~C0~0=707106769/500000000, ~C1~0=229761391/1000000000, ~C2~0=51869421/40000000, ~C4~0=2467767/5000000] [L9] assert false; VAL [#NULL.base=0, #NULL.offset=0, __VERIFIER_assert_#in~cond=0, __VERIFIER_assert_~cond=0, main_~x~1=0.0, main_~y~0=10.0, sqrt_custom_#in~a=0.0, sqrt_custom_#res=10.0, sqrt_custom_#t~post5=5, sqrt_custom_~a=0.0, sqrt_custom_~exp~0=1, sqrt_custom_~r~0=10.0, ~C0~0=707106769/500000000, ~C1~0=229761391/1000000000, ~C2~0=51869421/40000000, ~C4~0=2467767/5000000] ----- ----- class de.uni_freiburg.informatik.ultimate.boogie.preprocessor.BoogiePreprocessorBacktranslator [?] #NULL.base, #NULL.offset := 0, 0; [?] #valid := #valid[0 := 0]; [L12] ~C0~0 := 1.414213538; [L13] ~C1~0 := 0.229761391; [L14] ~C2~0 := 1.296735525; [L15] ~C3~0 := ~someUnaryDOUBLEoperation(0.90109837); [L16] ~C4~0 := 0.4935534; [L17] ~C5~0 := ~someUnaryDOUBLEoperation(0.118958666); [?] havoc main_#res; [?] havoc main_#t~nondet8, main_#t~ret9, main_~x~1, main_~y~0; [L53] havoc main_~x~1; [L53] havoc main_~y~0; [L55] main_~x~1 := main_#t~nondet8; [L55] havoc main_#t~nondet8; [L56] assume 0 != (if ~someBinaryDOUBLEComparisonOperation(main_~x~1, 1.0) && ~someBinaryDOUBLEComparisonOperation(main_~x~1, 1.0E10) then 1 else 0); [L58] sqrt_custom_#in~a := main_~x~1; [L58] havoc sqrt_custom_#res; [L58] havoc sqrt_custom_#t~mem0, sqrt_custom_#t~union1, sqrt_custom_#t~mem2, sqrt_custom_#t~mem3, sqrt_custom_#t~union4, sqrt_custom_#t~post5, sqrt_custom_#t~mem6, sqrt_custom_#t~union7, sqrt_custom_~a, sqrt_custom_~#x~0.base, sqrt_custom_~#x~0.offset, sqrt_custom_~r~0, sqrt_custom_~exp~0; [L24-L49] sqrt_custom_~a := sqrt_custom_#in~a; [L26] call sqrt_custom_~#x~0.base, sqrt_custom_~#x~0.offset := #Ultimate.alloc(8); [L27] havoc sqrt_custom_~r~0; [L28] havoc sqrt_custom_~exp~0; [L30] call write~real(sqrt_custom_~a, sqrt_custom_~#x~0.base, sqrt_custom_~#x~0.offset, 8); [L32] call sqrt_custom_#t~mem0 := read~int(sqrt_custom_~#x~0.base, sqrt_custom_~#x~0.offset, 4); [L32] sqrt_custom_~exp~0 := ~bitwiseAnd(sqrt_custom_#t~mem0, 2146435072) / 1048576; [L32] call write~real(sqrt_custom_#t~union1, sqrt_custom_~#x~0.base, sqrt_custom_~#x~0.offset, 8); [L32] havoc sqrt_custom_#t~mem0; [L32] havoc sqrt_custom_#t~union1; [L33] call sqrt_custom_#t~mem2 := read~int(sqrt_custom_~#x~0.base, sqrt_custom_~#x~0.offset, 4); [L33] call write~int((if ~bitwiseOr(~bitwiseAnd(sqrt_custom_#t~mem2, 2148532223), 1072693248) % 4294967296 % 4294967296 <= 2147483647 then ~bitwiseOr(~bitwiseAnd(sqrt_custom_#t~mem2, 2148532223), 1072693248) % 4294967296 % 4294967296 else ~bitwiseOr(~bitwiseAnd(sqrt_custom_#t~mem2, 2148532223), 1072693248) % 4294967296 % 4294967296 - 4294967296), sqrt_custom_~#x~0.base, sqrt_custom_~#x~0.offset, 4); [L33] havoc sqrt_custom_#t~mem2; [L34] call sqrt_custom_#t~mem3 := read~real(sqrt_custom_~#x~0.base, sqrt_custom_~#x~0.offset, 8); [L34] sqrt_custom_~r~0 := ~someBinaryArithmeticDOUBLEoperation(sqrt_custom_#t~mem3, 0.5); [L34] call write~int(sqrt_custom_#t~union4[0], sqrt_custom_~#x~0.base, sqrt_custom_~#x~0.offset, 4); [L34] call write~int(sqrt_custom_#t~union4[1], sqrt_custom_~#x~0.base, 4 + sqrt_custom_~#x~0.offset, 4); [L34] havoc sqrt_custom_#t~mem3; [L34] havoc sqrt_custom_#t~union4; [L36] sqrt_custom_~r~0 := ~someBinaryArithmeticDOUBLEoperation(~someBinaryArithmeticDOUBLEoperation(~C1~0, ~C2~0), ~someBinaryArithmeticDOUBLEoperation(~someBinaryArithmeticDOUBLEoperation(~C3~0, ~someBinaryArithmeticDOUBLEoperation(~someBinaryArithmeticDOUBLEoperation(~C4~0, ~someBinaryArithmeticDOUBLEoperation(~C5~0, sqrt_custom_~r~0)), sqrt_custom_~r~0)), sqrt_custom_~r~0)); [L38-L43] assume !(0 == (if sqrt_custom_~exp~0 < 0 && 0 != sqrt_custom_~exp~0 % 2 then sqrt_custom_~exp~0 % 2 - 2 else sqrt_custom_~exp~0 % 2)); [L42] sqrt_custom_~r~0 := ~someBinaryArithmeticDOUBLEoperation(sqrt_custom_~r~0, ~C0~0); [L45] call write~int(1048576 * (511 + (if sqrt_custom_~exp~0 < 0 && 0 != sqrt_custom_~exp~0 % 2 then 1 + sqrt_custom_~exp~0 / 2 else sqrt_custom_~exp~0 / 2)), sqrt_custom_~#x~0.base, sqrt_custom_~#x~0.offset, 4); [L46] call sqrt_custom_#t~mem6 := read~real(sqrt_custom_~#x~0.base, sqrt_custom_~#x~0.offset, 8); [L46] sqrt_custom_~r~0 := ~someBinaryArithmeticDOUBLEoperation(sqrt_custom_~r~0, sqrt_custom_#t~mem6); [L46] call write~int(sqrt_custom_#t~union7[0], sqrt_custom_~#x~0.base, sqrt_custom_~#x~0.offset, 4); [L46] call write~int(sqrt_custom_#t~union7[1], sqrt_custom_~#x~0.base, 4 + sqrt_custom_~#x~0.offset, 4); [L46] havoc sqrt_custom_#t~mem6; [L46] havoc sqrt_custom_#t~union7; [L48] sqrt_custom_#res := sqrt_custom_~r~0; [L26] call ULTIMATE.dealloc(sqrt_custom_~#x~0.base, sqrt_custom_~#x~0.offset); [L48] havoc sqrt_custom_~#x~0.base, sqrt_custom_~#x~0.offset; [L58] main_#t~ret9 := sqrt_custom_#res; [L58] main_~y~0 := main_#t~ret9; [L58] havoc main_#t~ret9; [L60] __VERIFIER_assert_#in~cond := (if ~someBinaryDOUBLEComparisonOperation(main_~y~0, 0.0) && ~someBinaryDOUBLEComparisonOperation(main_~y~0, 1000000.0) then 1 else 0); [L60] havoc __VERIFIER_assert_~cond; [L9] __VERIFIER_assert_~cond := __VERIFIER_assert_#in~cond; VAL [#NULL.base=0, #NULL.offset=0, __VERIFIER_assert_#in~cond=0, __VERIFIER_assert_~cond=0, main_~x~1=0.0, main_~y~0=10.0, sqrt_custom_#in~a=0.0, sqrt_custom_#res=10.0, sqrt_custom_#t~post5=5, sqrt_custom_~a=0.0, sqrt_custom_~exp~0=1, sqrt_custom_~r~0=10.0, ~C0~0=707106769/500000000, ~C1~0=229761391/1000000000, ~C2~0=51869421/40000000, ~C4~0=2467767/5000000] [L9] assume 0 == __VERIFIER_assert_~cond; VAL [#NULL.base=0, #NULL.offset=0, __VERIFIER_assert_#in~cond=0, __VERIFIER_assert_~cond=0, main_~x~1=0.0, main_~y~0=10.0, sqrt_custom_#in~a=0.0, sqrt_custom_#res=10.0, sqrt_custom_#t~post5=5, sqrt_custom_~a=0.0, sqrt_custom_~exp~0=1, sqrt_custom_~r~0=10.0, ~C0~0=707106769/500000000, ~C1~0=229761391/1000000000, ~C2~0=51869421/40000000, ~C4~0=2467767/5000000] [L9] assert false; VAL [#NULL.base=0, #NULL.offset=0, __VERIFIER_assert_#in~cond=0, __VERIFIER_assert_~cond=0, main_~x~1=0.0, main_~y~0=10.0, sqrt_custom_#in~a=0.0, sqrt_custom_#res=10.0, sqrt_custom_#t~post5=5, sqrt_custom_~a=0.0, sqrt_custom_~exp~0=1, sqrt_custom_~r~0=10.0, ~C0~0=707106769/500000000, ~C1~0=229761391/1000000000, ~C2~0=51869421/40000000, ~C4~0=2467767/5000000] [?] #NULL := { base: 0, offset: 0 }; [?] #valid[0] := 0; [L12] ~C0~0 := 1.414213538; [L13] ~C1~0 := 0.229761391; [L14] ~C2~0 := 1.296735525; [L15] ~C3~0 := ~someUnaryDOUBLEoperation(0.90109837); [L16] ~C4~0 := 0.4935534; [L17] ~C5~0 := ~someUnaryDOUBLEoperation(0.118958666); [?] havoc main_#res; [?] havoc main_#t~nondet8, main_#t~ret9, main_~x~1, main_~y~0; [L53] havoc main_~x~1; [L53] havoc main_~y~0; [L55] main_~x~1 := main_#t~nondet8; [L55] havoc main_#t~nondet8; [L56] assume 0 != (if ~someBinaryDOUBLEComparisonOperation(main_~x~1, 1.0) && ~someBinaryDOUBLEComparisonOperation(main_~x~1, 1.0E10) then 1 else 0); [L58] sqrt_custom_#in~a := main_~x~1; [L58] havoc sqrt_custom_#res; [L58] havoc sqrt_custom_#t~mem0, sqrt_custom_#t~union1, sqrt_custom_#t~mem2, sqrt_custom_#t~mem3, sqrt_custom_#t~union4, sqrt_custom_#t~post5, sqrt_custom_#t~mem6, sqrt_custom_#t~union7, sqrt_custom_~a, sqrt_custom_~#x~0, sqrt_custom_~r~0, sqrt_custom_~exp~0; [L24-L49] sqrt_custom_~a := sqrt_custom_#in~a; [L26] FCALL call sqrt_custom_~#x~0 := #Ultimate.alloc(8); [L27] havoc sqrt_custom_~r~0; [L28] havoc sqrt_custom_~exp~0; [L30] FCALL call write~real(sqrt_custom_~a, { base: sqrt_custom_~#x~0!base, offset: sqrt_custom_~#x~0!offset }, 8); [L32] FCALL call sqrt_custom_#t~mem0 := read~int({ base: sqrt_custom_~#x~0!base, offset: sqrt_custom_~#x~0!offset }, 4); [L32] sqrt_custom_~exp~0 := ~bitwiseAnd(sqrt_custom_#t~mem0, 2146435072) / 1048576; [L32] FCALL call write~real(sqrt_custom_#t~union1, { base: sqrt_custom_~#x~0!base, offset: sqrt_custom_~#x~0!offset }, 8); [L32] havoc sqrt_custom_#t~mem0; [L32] havoc sqrt_custom_#t~union1; [L33] FCALL call sqrt_custom_#t~mem2 := read~int({ base: sqrt_custom_~#x~0!base, offset: sqrt_custom_~#x~0!offset }, 4); [L33] FCALL call write~int((if ~bitwiseOr(~bitwiseAnd(sqrt_custom_#t~mem2, 2148532223), 1072693248) % 4294967296 % 4294967296 <= 2147483647 then ~bitwiseOr(~bitwiseAnd(sqrt_custom_#t~mem2, 2148532223), 1072693248) % 4294967296 % 4294967296 else ~bitwiseOr(~bitwiseAnd(sqrt_custom_#t~mem2, 2148532223), 1072693248) % 4294967296 % 4294967296 - 4294967296), { base: sqrt_custom_~#x~0!base, offset: sqrt_custom_~#x~0!offset }, 4); [L33] havoc sqrt_custom_#t~mem2; [L34] FCALL call sqrt_custom_#t~mem3 := read~real({ base: sqrt_custom_~#x~0!base, offset: sqrt_custom_~#x~0!offset }, 8); [L34] sqrt_custom_~r~0 := ~someBinaryArithmeticDOUBLEoperation(sqrt_custom_#t~mem3, 0.5); [L34] FCALL call write~int(sqrt_custom_#t~union4[0], { base: sqrt_custom_~#x~0!base, offset: sqrt_custom_~#x~0!offset }, 4); [L34] FCALL call write~int(sqrt_custom_#t~union4[1], { base: sqrt_custom_~#x~0!base, offset: 4 + sqrt_custom_~#x~0!offset }, 4); [L34] havoc sqrt_custom_#t~mem3; [L34] havoc sqrt_custom_#t~union4; [L36] sqrt_custom_~r~0 := ~someBinaryArithmeticDOUBLEoperation(~someBinaryArithmeticDOUBLEoperation(~C1~0, ~C2~0), ~someBinaryArithmeticDOUBLEoperation(~someBinaryArithmeticDOUBLEoperation(~C3~0, ~someBinaryArithmeticDOUBLEoperation(~someBinaryArithmeticDOUBLEoperation(~C4~0, ~someBinaryArithmeticDOUBLEoperation(~C5~0, sqrt_custom_~r~0)), sqrt_custom_~r~0)), sqrt_custom_~r~0)); [L38] COND FALSE !(0 == (if sqrt_custom_~exp~0 < 0 && 0 != sqrt_custom_~exp~0 % 2 then sqrt_custom_~exp~0 % 2 - 2 else sqrt_custom_~exp~0 % 2)) [L42] sqrt_custom_~r~0 := ~someBinaryArithmeticDOUBLEoperation(sqrt_custom_~r~0, ~C0~0); [L45] FCALL call write~int(1048576 * (511 + (if sqrt_custom_~exp~0 < 0 && 0 != sqrt_custom_~exp~0 % 2 then 1 + sqrt_custom_~exp~0 / 2 else sqrt_custom_~exp~0 / 2)), { base: sqrt_custom_~#x~0!base, offset: sqrt_custom_~#x~0!offset }, 4); [L46] FCALL call sqrt_custom_#t~mem6 := read~real({ base: sqrt_custom_~#x~0!base, offset: sqrt_custom_~#x~0!offset }, 8); [L46] sqrt_custom_~r~0 := ~someBinaryArithmeticDOUBLEoperation(sqrt_custom_~r~0, sqrt_custom_#t~mem6); [L46] FCALL call write~int(sqrt_custom_#t~union7[0], { base: sqrt_custom_~#x~0!base, offset: sqrt_custom_~#x~0!offset }, 4); [L46] FCALL call write~int(sqrt_custom_#t~union7[1], { base: sqrt_custom_~#x~0!base, offset: 4 + sqrt_custom_~#x~0!offset }, 4); [L46] havoc sqrt_custom_#t~mem6; [L46] havoc sqrt_custom_#t~union7; [L48] sqrt_custom_#res := sqrt_custom_~r~0; [L26] FCALL call ULTIMATE.dealloc(sqrt_custom_~#x~0); [L48] havoc sqrt_custom_~#x~0; [L58] main_#t~ret9 := sqrt_custom_#res; [L58] main_~y~0 := main_#t~ret9; [L58] havoc main_#t~ret9; [L60] __VERIFIER_assert_#in~cond := (if ~someBinaryDOUBLEComparisonOperation(main_~y~0, 0.0) && ~someBinaryDOUBLEComparisonOperation(main_~y~0, 1000000.0) then 1 else 0); [L60] havoc __VERIFIER_assert_~cond; [L9] __VERIFIER_assert_~cond := __VERIFIER_assert_#in~cond; VAL [#NULL!base=0, #NULL!offset=0, __VERIFIER_assert_#in~cond=0, __VERIFIER_assert_~cond=0, main_~x~1=0.0, main_~y~0=10.0, sqrt_custom_#in~a=0.0, sqrt_custom_#res=10.0, sqrt_custom_#t~post5=5, sqrt_custom_~a=0.0, sqrt_custom_~exp~0=1, sqrt_custom_~r~0=10.0, ~C0~0=707106769/500000000, ~C1~0=229761391/1000000000, ~C2~0=51869421/40000000, ~C4~0=2467767/5000000] [L9] COND TRUE 0 == __VERIFIER_assert_~cond VAL [#NULL!base=0, #NULL!offset=0, __VERIFIER_assert_#in~cond=0, __VERIFIER_assert_~cond=0, main_~x~1=0.0, main_~y~0=10.0, sqrt_custom_#in~a=0.0, sqrt_custom_#res=10.0, sqrt_custom_#t~post5=5, sqrt_custom_~a=0.0, sqrt_custom_~exp~0=1, sqrt_custom_~r~0=10.0, ~C0~0=707106769/500000000, ~C1~0=229761391/1000000000, ~C2~0=51869421/40000000, ~C4~0=2467767/5000000] [L9] assert false; VAL [#NULL!base=0, #NULL!offset=0, __VERIFIER_assert_#in~cond=0, __VERIFIER_assert_~cond=0, main_~x~1=0.0, main_~y~0=10.0, sqrt_custom_#in~a=0.0, sqrt_custom_#res=10.0, sqrt_custom_#t~post5=5, sqrt_custom_~a=0.0, sqrt_custom_~exp~0=1, sqrt_custom_~r~0=10.0, ~C0~0=707106769/500000000, ~C1~0=229761391/1000000000, ~C2~0=51869421/40000000, ~C4~0=2467767/5000000] ----- ----- class de.uni_freiburg.informatik.ultimate.boogie.procedureinliner.backtranslation.InlinerBacktranslator [?] #NULL := { base: 0, offset: 0 }; [?] #valid[0] := 0; [L12] ~C0~0 := 1.414213538; [L13] ~C1~0 := 0.229761391; [L14] ~C2~0 := 1.296735525; [L15] ~C3~0 := ~someUnaryDOUBLEoperation(0.90109837); [L16] ~C4~0 := 0.4935534; [L17] ~C5~0 := ~someUnaryDOUBLEoperation(0.118958666); [?] havoc main_#res; [?] havoc main_#t~nondet8, main_#t~ret9, main_~x~1, main_~y~0; [L53] havoc main_~x~1; [L53] havoc main_~y~0; [L55] main_~x~1 := main_#t~nondet8; [L55] havoc main_#t~nondet8; [L56] assume 0 != (if ~someBinaryDOUBLEComparisonOperation(main_~x~1, 1.0) && ~someBinaryDOUBLEComparisonOperation(main_~x~1, 1.0E10) then 1 else 0); [L58] sqrt_custom_#in~a := main_~x~1; [L58] havoc sqrt_custom_#res; [L58] havoc sqrt_custom_#t~mem0, sqrt_custom_#t~union1, sqrt_custom_#t~mem2, sqrt_custom_#t~mem3, sqrt_custom_#t~union4, sqrt_custom_#t~post5, sqrt_custom_#t~mem6, sqrt_custom_#t~union7, sqrt_custom_~a, sqrt_custom_~#x~0, sqrt_custom_~r~0, sqrt_custom_~exp~0; [L24-L49] sqrt_custom_~a := sqrt_custom_#in~a; [L26] FCALL call sqrt_custom_~#x~0 := #Ultimate.alloc(8); [L27] havoc sqrt_custom_~r~0; [L28] havoc sqrt_custom_~exp~0; [L30] FCALL call write~real(sqrt_custom_~a, { base: sqrt_custom_~#x~0!base, offset: sqrt_custom_~#x~0!offset }, 8); [L32] FCALL call sqrt_custom_#t~mem0 := read~int({ base: sqrt_custom_~#x~0!base, offset: sqrt_custom_~#x~0!offset }, 4); [L32] sqrt_custom_~exp~0 := ~bitwiseAnd(sqrt_custom_#t~mem0, 2146435072) / 1048576; [L32] FCALL call write~real(sqrt_custom_#t~union1, { base: sqrt_custom_~#x~0!base, offset: sqrt_custom_~#x~0!offset }, 8); [L32] havoc sqrt_custom_#t~mem0; [L32] havoc sqrt_custom_#t~union1; [L33] FCALL call sqrt_custom_#t~mem2 := read~int({ base: sqrt_custom_~#x~0!base, offset: sqrt_custom_~#x~0!offset }, 4); [L33] FCALL call write~int((if ~bitwiseOr(~bitwiseAnd(sqrt_custom_#t~mem2, 2148532223), 1072693248) % 4294967296 % 4294967296 <= 2147483647 then ~bitwiseOr(~bitwiseAnd(sqrt_custom_#t~mem2, 2148532223), 1072693248) % 4294967296 % 4294967296 else ~bitwiseOr(~bitwiseAnd(sqrt_custom_#t~mem2, 2148532223), 1072693248) % 4294967296 % 4294967296 - 4294967296), { base: sqrt_custom_~#x~0!base, offset: sqrt_custom_~#x~0!offset }, 4); [L33] havoc sqrt_custom_#t~mem2; [L34] FCALL call sqrt_custom_#t~mem3 := read~real({ base: sqrt_custom_~#x~0!base, offset: sqrt_custom_~#x~0!offset }, 8); [L34] sqrt_custom_~r~0 := ~someBinaryArithmeticDOUBLEoperation(sqrt_custom_#t~mem3, 0.5); [L34] FCALL call write~int(sqrt_custom_#t~union4[0], { base: sqrt_custom_~#x~0!base, offset: sqrt_custom_~#x~0!offset }, 4); [L34] FCALL call write~int(sqrt_custom_#t~union4[1], { base: sqrt_custom_~#x~0!base, offset: 4 + sqrt_custom_~#x~0!offset }, 4); [L34] havoc sqrt_custom_#t~mem3; [L34] havoc sqrt_custom_#t~union4; [L36] sqrt_custom_~r~0 := ~someBinaryArithmeticDOUBLEoperation(~someBinaryArithmeticDOUBLEoperation(~C1~0, ~C2~0), ~someBinaryArithmeticDOUBLEoperation(~someBinaryArithmeticDOUBLEoperation(~C3~0, ~someBinaryArithmeticDOUBLEoperation(~someBinaryArithmeticDOUBLEoperation(~C4~0, ~someBinaryArithmeticDOUBLEoperation(~C5~0, sqrt_custom_~r~0)), sqrt_custom_~r~0)), sqrt_custom_~r~0)); [L38] COND FALSE !(0 == (if sqrt_custom_~exp~0 < 0 && 0 != sqrt_custom_~exp~0 % 2 then sqrt_custom_~exp~0 % 2 - 2 else sqrt_custom_~exp~0 % 2)) [L42] sqrt_custom_~r~0 := ~someBinaryArithmeticDOUBLEoperation(sqrt_custom_~r~0, ~C0~0); [L45] FCALL call write~int(1048576 * (511 + (if sqrt_custom_~exp~0 < 0 && 0 != sqrt_custom_~exp~0 % 2 then 1 + sqrt_custom_~exp~0 / 2 else sqrt_custom_~exp~0 / 2)), { base: sqrt_custom_~#x~0!base, offset: sqrt_custom_~#x~0!offset }, 4); [L46] FCALL call sqrt_custom_#t~mem6 := read~real({ base: sqrt_custom_~#x~0!base, offset: sqrt_custom_~#x~0!offset }, 8); [L46] sqrt_custom_~r~0 := ~someBinaryArithmeticDOUBLEoperation(sqrt_custom_~r~0, sqrt_custom_#t~mem6); [L46] FCALL call write~int(sqrt_custom_#t~union7[0], { base: sqrt_custom_~#x~0!base, offset: sqrt_custom_~#x~0!offset }, 4); [L46] FCALL call write~int(sqrt_custom_#t~union7[1], { base: sqrt_custom_~#x~0!base, offset: 4 + sqrt_custom_~#x~0!offset }, 4); [L46] havoc sqrt_custom_#t~mem6; [L46] havoc sqrt_custom_#t~union7; [L48] sqrt_custom_#res := sqrt_custom_~r~0; [L26] FCALL call ULTIMATE.dealloc(sqrt_custom_~#x~0); [L48] havoc sqrt_custom_~#x~0; [L58] main_#t~ret9 := sqrt_custom_#res; [L58] main_~y~0 := main_#t~ret9; [L58] havoc main_#t~ret9; [L60] __VERIFIER_assert_#in~cond := (if ~someBinaryDOUBLEComparisonOperation(main_~y~0, 0.0) && ~someBinaryDOUBLEComparisonOperation(main_~y~0, 1000000.0) then 1 else 0); [L60] havoc __VERIFIER_assert_~cond; [L9] __VERIFIER_assert_~cond := __VERIFIER_assert_#in~cond; VAL [#NULL!base=0, #NULL!offset=0, __VERIFIER_assert_#in~cond=0, __VERIFIER_assert_~cond=0, main_~x~1=0.0, main_~y~0=10.0, sqrt_custom_#in~a=0.0, sqrt_custom_#res=10.0, sqrt_custom_#t~post5=5, sqrt_custom_~a=0.0, sqrt_custom_~exp~0=1, sqrt_custom_~r~0=10.0, ~C0~0=707106769/500000000, ~C1~0=229761391/1000000000, ~C2~0=51869421/40000000, ~C4~0=2467767/5000000] [L9] COND TRUE 0 == __VERIFIER_assert_~cond VAL [#NULL!base=0, #NULL!offset=0, __VERIFIER_assert_#in~cond=0, __VERIFIER_assert_~cond=0, main_~x~1=0.0, main_~y~0=10.0, sqrt_custom_#in~a=0.0, sqrt_custom_#res=10.0, sqrt_custom_#t~post5=5, sqrt_custom_~a=0.0, sqrt_custom_~exp~0=1, sqrt_custom_~r~0=10.0, ~C0~0=707106769/500000000, ~C1~0=229761391/1000000000, ~C2~0=51869421/40000000, ~C4~0=2467767/5000000] [L9] assert false; VAL [#NULL!base=0, #NULL!offset=0, __VERIFIER_assert_#in~cond=0, __VERIFIER_assert_~cond=0, main_~x~1=0.0, main_~y~0=10.0, sqrt_custom_#in~a=0.0, sqrt_custom_#res=10.0, sqrt_custom_#t~post5=5, sqrt_custom_~a=0.0, sqrt_custom_~exp~0=1, sqrt_custom_~r~0=10.0, ~C0~0=707106769/500000000, ~C1~0=229761391/1000000000, ~C2~0=51869421/40000000, ~C4~0=2467767/5000000] [?] #NULL := { base: 0, offset: 0 }; [?] #valid[0] := 0; [L12] ~C0~0 := 1.414213538; [L13] ~C1~0 := 0.229761391; [L14] ~C2~0 := 1.296735525; [L15] ~C3~0 := ~someUnaryDOUBLEoperation(0.90109837); [L16] ~C4~0 := 0.4935534; [L17] ~C5~0 := ~someUnaryDOUBLEoperation(0.118958666); [L53] havoc ~x~1; [L53] havoc ~y~0; [L55] ~x~1 := #t~nondet8; [L55] havoc #t~nondet8; [L56] assume 0 != (if ~someBinaryDOUBLEComparisonOperation(~x~1, 1.0) && ~someBinaryDOUBLEComparisonOperation(~x~1, 1.0E10) then 1 else 0); [L24-L49] ~a := #in~a; [L26] FCALL call ~#x~0 := #Ultimate.alloc(8); [L27] havoc ~r~0; [L28] havoc ~exp~0; [L30] FCALL call write~real(~a, { base: ~#x~0!base, offset: ~#x~0!offset }, 8); [L32] FCALL call #t~mem0 := read~int({ base: ~#x~0!base, offset: ~#x~0!offset }, 4); [L32] ~exp~0 := ~bitwiseAnd(#t~mem0, 2146435072) / 1048576; [L32] FCALL call write~real(#t~union1, { base: ~#x~0!base, offset: ~#x~0!offset }, 8); [L32] havoc #t~mem0; [L32] havoc #t~union1; [L33] FCALL call #t~mem2 := read~int({ base: ~#x~0!base, offset: ~#x~0!offset }, 4); [L33] FCALL call write~int((if ~bitwiseOr(~bitwiseAnd(#t~mem2, 2148532223), 1072693248) % 4294967296 % 4294967296 <= 2147483647 then ~bitwiseOr(~bitwiseAnd(#t~mem2, 2148532223), 1072693248) % 4294967296 % 4294967296 else ~bitwiseOr(~bitwiseAnd(#t~mem2, 2148532223), 1072693248) % 4294967296 % 4294967296 - 4294967296), { base: ~#x~0!base, offset: ~#x~0!offset }, 4); [L33] havoc #t~mem2; [L34] FCALL call #t~mem3 := read~real({ base: ~#x~0!base, offset: ~#x~0!offset }, 8); [L34] ~r~0 := ~someBinaryArithmeticDOUBLEoperation(#t~mem3, 0.5); [L34] FCALL call write~int(#t~union4[0], { base: ~#x~0!base, offset: ~#x~0!offset }, 4); [L34] FCALL call write~int(#t~union4[1], { base: ~#x~0!base, offset: 4 + ~#x~0!offset }, 4); [L34] havoc #t~mem3; [L34] havoc #t~union4; [L36] ~r~0 := ~someBinaryArithmeticDOUBLEoperation(~someBinaryArithmeticDOUBLEoperation(~C1~0, ~C2~0), ~someBinaryArithmeticDOUBLEoperation(~someBinaryArithmeticDOUBLEoperation(~C3~0, ~someBinaryArithmeticDOUBLEoperation(~someBinaryArithmeticDOUBLEoperation(~C4~0, ~someBinaryArithmeticDOUBLEoperation(~C5~0, ~r~0)), ~r~0)), ~r~0)); [L38] COND FALSE !(0 == (if ~exp~0 < 0 && 0 != ~exp~0 % 2 then ~exp~0 % 2 - 2 else ~exp~0 % 2)) [L42] ~r~0 := ~someBinaryArithmeticDOUBLEoperation(~r~0, ~C0~0); [L45] FCALL call write~int(1048576 * (511 + (if ~exp~0 < 0 && 0 != ~exp~0 % 2 then 1 + ~exp~0 / 2 else ~exp~0 / 2)), { base: ~#x~0!base, offset: ~#x~0!offset }, 4); [L46] FCALL call #t~mem6 := read~real({ base: ~#x~0!base, offset: ~#x~0!offset }, 8); [L46] ~r~0 := ~someBinaryArithmeticDOUBLEoperation(~r~0, #t~mem6); [L46] FCALL call write~int(#t~union7[0], { base: ~#x~0!base, offset: ~#x~0!offset }, 4); [L46] FCALL call write~int(#t~union7[1], { base: ~#x~0!base, offset: 4 + ~#x~0!offset }, 4); [L46] havoc #t~mem6; [L46] havoc #t~union7; [L48] #res := ~r~0; [L26] FCALL call ULTIMATE.dealloc(~#x~0); [L48] havoc ~#x~0; [L58] ~y~0 := #t~ret9; [L58] havoc #t~ret9; [L9] ~cond := #in~cond; VAL [#NULL!base=0, #NULL!offset=0, ~C0~0=707106769/500000000, ~C1~0=229761391/1000000000, ~C2~0=51869421/40000000, ~C4~0=2467767/5000000] [L9] COND TRUE 0 == ~cond VAL [#NULL!base=0, #NULL!offset=0, ~C0~0=707106769/500000000, ~C1~0=229761391/1000000000, ~C2~0=51869421/40000000, ~C4~0=2467767/5000000] [L9] assert false; VAL [#NULL!base=0, #NULL!offset=0, ~C0~0=707106769/500000000, ~C1~0=229761391/1000000000, ~C2~0=51869421/40000000, ~C4~0=2467767/5000000] ----- ----- class de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.CACSL2BoogieBacktranslator [?] #NULL := { base: 0, offset: 0 }; [?] #valid[0] := 0; [L12] ~C0~0 := 1.414213538; [L13] ~C1~0 := 0.229761391; [L14] ~C2~0 := 1.296735525; [L15] ~C3~0 := ~someUnaryDOUBLEoperation(0.90109837); [L16] ~C4~0 := 0.4935534; [L17] ~C5~0 := ~someUnaryDOUBLEoperation(0.118958666); [L53] havoc ~x~1; [L53] havoc ~y~0; [L55] ~x~1 := #t~nondet8; [L55] havoc #t~nondet8; [L56] assume 0 != (if ~someBinaryDOUBLEComparisonOperation(~x~1, 1.0) && ~someBinaryDOUBLEComparisonOperation(~x~1, 1.0E10) then 1 else 0); [L24-L49] ~a := #in~a; [L26] FCALL call ~#x~0 := #Ultimate.alloc(8); [L27] havoc ~r~0; [L28] havoc ~exp~0; [L30] FCALL call write~real(~a, { base: ~#x~0!base, offset: ~#x~0!offset }, 8); [L32] FCALL call #t~mem0 := read~int({ base: ~#x~0!base, offset: ~#x~0!offset }, 4); [L32] ~exp~0 := ~bitwiseAnd(#t~mem0, 2146435072) / 1048576; [L32] FCALL call write~real(#t~union1, { base: ~#x~0!base, offset: ~#x~0!offset }, 8); [L32] havoc #t~mem0; [L32] havoc #t~union1; [L33] FCALL call #t~mem2 := read~int({ base: ~#x~0!base, offset: ~#x~0!offset }, 4); [L33] FCALL call write~int((if ~bitwiseOr(~bitwiseAnd(#t~mem2, 2148532223), 1072693248) % 4294967296 % 4294967296 <= 2147483647 then ~bitwiseOr(~bitwiseAnd(#t~mem2, 2148532223), 1072693248) % 4294967296 % 4294967296 else ~bitwiseOr(~bitwiseAnd(#t~mem2, 2148532223), 1072693248) % 4294967296 % 4294967296 - 4294967296), { base: ~#x~0!base, offset: ~#x~0!offset }, 4); [L33] havoc #t~mem2; [L34] FCALL call #t~mem3 := read~real({ base: ~#x~0!base, offset: ~#x~0!offset }, 8); [L34] ~r~0 := ~someBinaryArithmeticDOUBLEoperation(#t~mem3, 0.5); [L34] FCALL call write~int(#t~union4[0], { base: ~#x~0!base, offset: ~#x~0!offset }, 4); [L34] FCALL call write~int(#t~union4[1], { base: ~#x~0!base, offset: 4 + ~#x~0!offset }, 4); [L34] havoc #t~mem3; [L34] havoc #t~union4; [L36] ~r~0 := ~someBinaryArithmeticDOUBLEoperation(~someBinaryArithmeticDOUBLEoperation(~C1~0, ~C2~0), ~someBinaryArithmeticDOUBLEoperation(~someBinaryArithmeticDOUBLEoperation(~C3~0, ~someBinaryArithmeticDOUBLEoperation(~someBinaryArithmeticDOUBLEoperation(~C4~0, ~someBinaryArithmeticDOUBLEoperation(~C5~0, ~r~0)), ~r~0)), ~r~0)); [L38] COND FALSE !(0 == (if ~exp~0 < 0 && 0 != ~exp~0 % 2 then ~exp~0 % 2 - 2 else ~exp~0 % 2)) [L42] ~r~0 := ~someBinaryArithmeticDOUBLEoperation(~r~0, ~C0~0); [L45] FCALL call write~int(1048576 * (511 + (if ~exp~0 < 0 && 0 != ~exp~0 % 2 then 1 + ~exp~0 / 2 else ~exp~0 / 2)), { base: ~#x~0!base, offset: ~#x~0!offset }, 4); [L46] FCALL call #t~mem6 := read~real({ base: ~#x~0!base, offset: ~#x~0!offset }, 8); [L46] ~r~0 := ~someBinaryArithmeticDOUBLEoperation(~r~0, #t~mem6); [L46] FCALL call write~int(#t~union7[0], { base: ~#x~0!base, offset: ~#x~0!offset }, 4); [L46] FCALL call write~int(#t~union7[1], { base: ~#x~0!base, offset: 4 + ~#x~0!offset }, 4); [L46] havoc #t~mem6; [L46] havoc #t~union7; [L48] #res := ~r~0; [L26] FCALL call ULTIMATE.dealloc(~#x~0); [L48] havoc ~#x~0; [L58] ~y~0 := #t~ret9; [L58] havoc #t~ret9; [L9] ~cond := #in~cond; VAL [#NULL!base=0, #NULL!offset=0, ~C0~0=707106769/500000000, ~C1~0=229761391/1000000000, ~C2~0=51869421/40000000, ~C4~0=2467767/5000000] [L9] COND TRUE 0 == ~cond VAL [#NULL!base=0, #NULL!offset=0, ~C0~0=707106769/500000000, ~C1~0=229761391/1000000000, ~C2~0=51869421/40000000, ~C4~0=2467767/5000000] [L9] assert false; VAL [#NULL!base=0, #NULL!offset=0, ~C0~0=707106769/500000000, ~C1~0=229761391/1000000000, ~C2~0=51869421/40000000, ~C4~0=2467767/5000000] [L12] double C0 = 1.414213538; [L13] double C1 = 0.229761391; [L14] double C2 = 1.296735525; [L15] double C3 = -0.901098370; [L16] double C4 = 0.493553400; [L17] double C5 = -0.118958666; [L53] double x,y; [L55] x = __VERIFIER_nondet_double() [L26] union u x; [L27] double r; [L28] int exp; [L30] x.d = a [L32] EXPR x.i[0] [L32] exp = (x.i[0] & 0x7FF00000) >> 20 [L33] EXPR x.i[0] [L33] x.i[0] = (x.i[0] & 0x800FFFFF) | 0x3FF00000 [L34] EXPR x.d [L34] r = x.d * 0.5 [L36] r = C1+C2+(C3+(C4+C5*r)*r)*r [L38] COND FALSE !(exp % 2 == 0) [L42] r = r * C0 [L45] x.i[0] = (exp/2 + 511) << 20 [L46] EXPR x.d [L46] r = r * x.d [L48] return r; [L48] return r; [L58] y = sqrt_custom(x) [L9] COND TRUE !(cond) VAL [C0=707106769/500000000, C1=229761391/1000000000, C2=51869421/40000000, C4=2467767/5000000] [L9] __VERIFIER_error() VAL [C0=707106769/500000000, C1=229761391/1000000000, C2=51869421/40000000, C4=2467767/5000000] ----- [2018-11-23 05:33:38,207 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.codecheck CFG 23.11 05:33:38 ImpRootNode [2018-11-23 05:33:38,207 INFO L132 PluginConnector]: ------------------------ END CodeCheck---------------------------- [2018-11-23 05:33:38,207 INFO L113 PluginConnector]: ------------------------Witness Printer---------------------------- [2018-11-23 05:33:38,207 INFO L271 PluginConnector]: Initializing Witness Printer... [2018-11-23 05:33:38,207 INFO L276 PluginConnector]: Witness Printer initialized [2018-11-23 05:33:38,208 INFO L185 PluginConnector]: Executing the observer RCFGCatcher from plugin Witness Printer for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 23.11 05:33:37" (3/4) ... [2018-11-23 05:33:38,212 INFO L147 WitnessPrinter]: No result that supports witness generation found [2018-11-23 05:33:38,212 INFO L132 PluginConnector]: ------------------------ END Witness Printer---------------------------- [2018-11-23 05:33:38,213 INFO L168 Benchmark]: Toolchain (without parser) took 887.03 ms. Allocated memory was 1.0 GB in the beginning and 1.2 GB in the end (delta: 138.9 MB). Free memory was 958.2 MB in the beginning and 1.1 GB in the end (delta: -123.7 MB). Peak memory consumption was 15.3 MB. Max. memory is 11.5 GB. [2018-11-23 05:33:38,215 INFO L168 Benchmark]: CDTParser took 0.10 ms. Allocated memory is still 1.0 GB. Free memory is still 985.6 MB. There was no memory consumed. Max. memory is 11.5 GB. [2018-11-23 05:33:38,215 INFO L168 Benchmark]: CACSL2BoogieTranslator took 173.40 ms. Allocated memory is still 1.0 GB. Free memory was 958.2 MB in the beginning and 944.7 MB in the end (delta: 13.4 MB). Peak memory consumption was 13.4 MB. Max. memory is 11.5 GB. [2018-11-23 05:33:38,216 INFO L168 Benchmark]: Boogie Procedure Inliner took 69.39 ms. Allocated memory was 1.0 GB in the beginning and 1.2 GB in the end (delta: 138.9 MB). Free memory was 944.7 MB in the beginning and 1.1 GB in the end (delta: -194.4 MB). Peak memory consumption was 14.3 MB. Max. memory is 11.5 GB. [2018-11-23 05:33:38,217 INFO L168 Benchmark]: Boogie Preprocessor took 22.20 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: 2.7 MB). Peak memory consumption was 2.7 MB. Max. memory is 11.5 GB. [2018-11-23 05:33:38,217 INFO L168 Benchmark]: RCFGBuilder took 349.24 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: 30.4 MB). Peak memory consumption was 30.4 MB. Max. memory is 11.5 GB. [2018-11-23 05:33:38,218 INFO L168 Benchmark]: CodeCheck took 265.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: 24.2 MB). Peak memory consumption was 24.2 MB. Max. memory is 11.5 GB. [2018-11-23 05:33:38,219 INFO L168 Benchmark]: Witness Printer took 4.80 ms. Allocated memory is still 1.2 GB. Free memory is still 1.1 GB. There was no memory consumed. Max. memory is 11.5 GB. [2018-11-23 05:33:38,222 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 1 procedures, 12 locations, 1 error locations. UNSAFE Result, 0.1s OverallTime, 1 OverallIterations, 0 TraceHistogramMax, 0.0s AutomataDifference, 0.0s DeadEndRemovalTime, 0.0s HoareAnnotationTime, HoareTripleCheckerStatistics: No data available, PredicateUnifierStatistics: 0 DeclaredPredicates, 0 GetRequests, 0 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, 3 NumberOfCodeBlocks, 3 NumberOfCodeBlocksAsserted, 1 NumberOfCheckSat, 0 ConstructedInterpolants, 0 QuantifiedInterpolants, 0 SizeOfPredicates, 0 NumberOfNonLiveVariables, 0 ConjunctsInSsa, 0 ConjunctsInUnsatCore, 0 InterpolantComputations, 0 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: 9]: Unable to prove that call of __VERIFIER_error() unreachable Unable to prove that call of __VERIFIER_error() unreachable Reason: overapproximation of bitwiseOr at line 33, overapproximation of someUnaryDOUBLEoperation at line 15, overapproximation of someBinaryArithmeticDOUBLEoperation at line 34, overapproximation of bitwiseAnd at line 32, overapproximation of someBinaryDOUBLEComparisonOperation at line 56. Possible FailurePath: [L12] double C0 = 1.414213538; [L13] double C1 = 0.229761391; [L14] double C2 = 1.296735525; [L15] double C3 = -0.901098370; [L16] double C4 = 0.493553400; [L17] double C5 = -0.118958666; [L53] double x,y; [L55] x = __VERIFIER_nondet_double() [L26] union u x; [L27] double r; [L28] int exp; [L30] x.d = a [L32] EXPR x.i[0] [L32] exp = (x.i[0] & 0x7FF00000) >> 20 [L33] EXPR x.i[0] [L33] x.i[0] = (x.i[0] & 0x800FFFFF) | 0x3FF00000 [L34] EXPR x.d [L34] r = x.d * 0.5 [L36] r = C1+C2+(C3+(C4+C5*r)*r)*r [L38] COND FALSE !(exp % 2 == 0) [L42] r = r * C0 [L45] x.i[0] = (exp/2 + 511) << 20 [L46] EXPR x.d [L46] r = r * x.d [L48] return r; [L48] return r; [L58] y = sqrt_custom(x) [L9] COND TRUE !(cond) VAL [C0=707106769/500000000, C1=229761391/1000000000, C2=51869421/40000000, C4=2467767/5000000] [L9] __VERIFIER_error() VAL [C0=707106769/500000000, C1=229761391/1000000000, C2=51869421/40000000, C4=2467767/5000000] * Results from de.uni_freiburg.informatik.ultimate.core: - StatisticsResult: Toolchain Benchmarks Benchmark results are: * CDTParser took 0.10 ms. Allocated memory is still 1.0 GB. Free memory is still 985.6 MB. There was no memory consumed. Max. memory is 11.5 GB. * CACSL2BoogieTranslator took 173.40 ms. Allocated memory is still 1.0 GB. Free memory was 958.2 MB in the beginning and 944.7 MB in the end (delta: 13.4 MB). Peak memory consumption was 13.4 MB. Max. memory is 11.5 GB. * Boogie Procedure Inliner took 69.39 ms. Allocated memory was 1.0 GB in the beginning and 1.2 GB in the end (delta: 138.9 MB). Free memory was 944.7 MB in the beginning and 1.1 GB in the end (delta: -194.4 MB). Peak memory consumption was 14.3 MB. Max. memory is 11.5 GB. * Boogie Preprocessor took 22.20 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: 2.7 MB). Peak memory consumption was 2.7 MB. Max. memory is 11.5 GB. * RCFGBuilder took 349.24 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: 30.4 MB). Peak memory consumption was 30.4 MB. Max. memory is 11.5 GB. * CodeCheck took 265.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: 24.2 MB). Peak memory consumption was 24.2 MB. Max. memory is 11.5 GB. * Witness Printer took 4.80 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. RESULT: Ultimate could not prove your program: unable to determine feasibility of some traces Received shutdown request... ### Bit-precise run ### This is Ultimate 0.1.23-aa41828 [2018-11-23 05:33:39,803 INFO L170 SettingsManager]: Resetting all preferences to default values... [2018-11-23 05:33:39,804 INFO L174 SettingsManager]: Resetting UltimateCore preferences to default values [2018-11-23 05:33:39,813 INFO L177 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2018-11-23 05:33:39,813 INFO L174 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2018-11-23 05:33:39,814 INFO L174 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2018-11-23 05:33:39,815 INFO L174 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2018-11-23 05:33:39,816 INFO L174 SettingsManager]: Resetting LassoRanker preferences to default values [2018-11-23 05:33:39,817 INFO L174 SettingsManager]: Resetting Reaching Definitions preferences to default values [2018-11-23 05:33:39,817 INFO L174 SettingsManager]: Resetting SyntaxChecker preferences to default values [2018-11-23 05:33:39,818 INFO L177 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2018-11-23 05:33:39,818 INFO L174 SettingsManager]: Resetting LTL2Aut preferences to default values [2018-11-23 05:33:39,819 INFO L174 SettingsManager]: Resetting PEA to Boogie preferences to default values [2018-11-23 05:33:39,820 INFO L174 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2018-11-23 05:33:39,820 INFO L174 SettingsManager]: Resetting ChcToBoogie preferences to default values [2018-11-23 05:33:39,821 INFO L174 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2018-11-23 05:33:39,821 INFO L174 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2018-11-23 05:33:39,823 INFO L174 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2018-11-23 05:33:39,824 INFO L174 SettingsManager]: Resetting CodeCheck preferences to default values [2018-11-23 05:33:39,825 INFO L174 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2018-11-23 05:33:39,826 INFO L174 SettingsManager]: Resetting RCFGBuilder preferences to default values [2018-11-23 05:33:39,827 INFO L174 SettingsManager]: Resetting TraceAbstraction preferences to default values [2018-11-23 05:33:39,828 INFO L177 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2018-11-23 05:33:39,829 INFO L177 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2018-11-23 05:33:39,829 INFO L174 SettingsManager]: Resetting TreeAutomizer preferences to default values [2018-11-23 05:33:39,829 INFO L174 SettingsManager]: Resetting IcfgTransformer preferences to default values [2018-11-23 05:33:39,830 INFO L174 SettingsManager]: Resetting Boogie Printer preferences to default values [2018-11-23 05:33:39,831 INFO L174 SettingsManager]: Resetting ReqPrinter preferences to default values [2018-11-23 05:33:39,831 INFO L174 SettingsManager]: Resetting Witness Printer preferences to default values [2018-11-23 05:33:39,832 INFO L177 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2018-11-23 05:33:39,832 INFO L174 SettingsManager]: Resetting CDTParser preferences to default values [2018-11-23 05:33:39,833 INFO L177 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2018-11-23 05:33:39,833 INFO L177 SettingsManager]: ReqParser provides no preferences, ignoring... [2018-11-23 05:33:39,833 INFO L174 SettingsManager]: Resetting SmtParser preferences to default values [2018-11-23 05:33:39,833 INFO L174 SettingsManager]: Resetting Witness Parser preferences to default values [2018-11-23 05:33:39,834 INFO L181 SettingsManager]: Finished resetting all preferences to default values... [2018-11-23 05:33:39,834 INFO L98 SettingsManager]: Beginning loading settings from /tmp/vcloud-vcloud-master/worker/working_dir_e83d716c-73c5-41b8-be26-916311008b88/bin-2019/ukojak/config/svcomp-Reach-32bit-Kojak_Bitvector.epf [2018-11-23 05:33:39,844 INFO L110 SettingsManager]: Loading preferences was successful [2018-11-23 05:33:39,844 INFO L112 SettingsManager]: Preferences different from defaults after loading the file: [2018-11-23 05:33:39,845 INFO L131 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2018-11-23 05:33:39,845 INFO L133 SettingsManager]: * ... to procedures called more than once=ALWAYS [2018-11-23 05:33:39,846 INFO L131 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2018-11-23 05:33:39,846 INFO L133 SettingsManager]: * Create parallel compositions if possible=false [2018-11-23 05:33:39,846 INFO L131 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2018-11-23 05:33:39,846 INFO L133 SettingsManager]: * sizeof long=4 [2018-11-23 05:33:39,846 INFO L133 SettingsManager]: * sizeof POINTER=4 [2018-11-23 05:33:39,846 INFO L133 SettingsManager]: * Check division by zero=IGNORE [2018-11-23 05:33:39,847 INFO L133 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2018-11-23 05:33:39,847 INFO L133 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2018-11-23 05:33:39,847 INFO L133 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2018-11-23 05:33:39,847 INFO L133 SettingsManager]: * Use bitvectors instead of ints=true [2018-11-23 05:33:39,847 INFO L133 SettingsManager]: * Memory model=HoenickeLindenmann_4ByteResolution [2018-11-23 05:33:39,847 INFO L133 SettingsManager]: * sizeof long double=12 [2018-11-23 05:33:39,847 INFO L133 SettingsManager]: * Check if freed pointer was valid=false [2018-11-23 05:33:39,847 INFO L133 SettingsManager]: * Use constant arrays=true [2018-11-23 05:33:39,848 INFO L133 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2018-11-23 05:33:39,848 INFO L131 SettingsManager]: Preferences of CodeCheck differ from their defaults: [2018-11-23 05:33:39,848 INFO L133 SettingsManager]: * Timeout in seconds=1000000 [2018-11-23 05:33:39,848 INFO L131 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2018-11-23 05:33:39,848 INFO L133 SettingsManager]: * To the following directory=./dump/ [2018-11-23 05:33:39,848 INFO L133 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:10000 [2018-11-23 05:33:39,848 INFO L131 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2018-11-23 05:33:39,849 INFO L133 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2018-11-23 05:33:39,849 INFO L133 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopsAndPotentialCycles [2018-11-23 05:33:39,849 INFO L133 SettingsManager]: * Use separate solver for trace checks=false [2018-11-23 05:33:39,849 INFO L133 SettingsManager]: * Trace refinement strategy=WALRUS [2018-11-23 05:33:39,849 INFO L133 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode [2018-11-23 05:33:39,849 INFO L133 SettingsManager]: * Command for external solver=cvc4nyu --tear-down-incremental --rewrite-divk --print-success --lang smt [2018-11-23 05:33:39,849 INFO L133 SettingsManager]: * Logic for external solver=AUFBV [2018-11-23 05:33:39,849 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_e83d716c-73c5-41b8-be26-916311008b88/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 -> b63905375af38d9971341930078b6c47230c38fd [2018-11-23 05:33:39,879 INFO L81 nceAwareModelManager]: Repository-Root is: /tmp [2018-11-23 05:33:39,889 INFO L258 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2018-11-23 05:33:39,892 INFO L214 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2018-11-23 05:33:39,893 INFO L271 PluginConnector]: Initializing CDTParser... [2018-11-23 05:33:39,893 INFO L276 PluginConnector]: CDTParser initialized [2018-11-23 05:33:39,894 INFO L418 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /tmp/vcloud-vcloud-master/worker/working_dir_e83d716c-73c5-41b8-be26-916311008b88/bin-2019/ukojak/../../sv-benchmarks/c/float-benchs/sqrt_poly2_false-unreach-call.c [2018-11-23 05:33:39,935 INFO L221 CDTParser]: Created temporary CDT project at /tmp/vcloud-vcloud-master/worker/working_dir_e83d716c-73c5-41b8-be26-916311008b88/bin-2019/ukojak/data/561975073/437c3fec93f54fa79ab5b2127d9e0d56/FLAG4193434cd [2018-11-23 05:33:40,330 INFO L307 CDTParser]: Found 1 translation units. [2018-11-23 05:33:40,330 INFO L161 CDTParser]: Scanning /tmp/vcloud-vcloud-master/worker/working_dir_e83d716c-73c5-41b8-be26-916311008b88/sv-benchmarks/c/float-benchs/sqrt_poly2_false-unreach-call.c [2018-11-23 05:33:40,334 INFO L355 CDTParser]: About to delete temporary CDT project at /tmp/vcloud-vcloud-master/worker/working_dir_e83d716c-73c5-41b8-be26-916311008b88/bin-2019/ukojak/data/561975073/437c3fec93f54fa79ab5b2127d9e0d56/FLAG4193434cd [2018-11-23 05:33:40,344 INFO L363 CDTParser]: Successfully deleted /tmp/vcloud-vcloud-master/worker/working_dir_e83d716c-73c5-41b8-be26-916311008b88/bin-2019/ukojak/data/561975073/437c3fec93f54fa79ab5b2127d9e0d56 [2018-11-23 05:33:40,347 INFO L296 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2018-11-23 05:33:40,348 INFO L131 ToolchainWalker]: Walking toolchain with 6 elements. [2018-11-23 05:33:40,349 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2018-11-23 05:33:40,349 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2018-11-23 05:33:40,351 INFO L276 PluginConnector]: CACSL2BoogieTranslator initialized [2018-11-23 05:33:40,352 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 23.11 05:33:40" (1/1) ... [2018-11-23 05:33:40,353 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@3c43a433 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 05:33:40, skipping insertion in model container [2018-11-23 05:33:40,353 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 23.11 05:33:40" (1/1) ... [2018-11-23 05:33:40,361 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2018-11-23 05:33:40,379 INFO L176 MainTranslator]: Built tables and reachable declarations [2018-11-23 05:33:40,511 INFO L201 PostProcessor]: Analyzing one entry point: main [2018-11-23 05:33:40,515 INFO L191 MainTranslator]: Completed pre-run [2018-11-23 05:33:40,536 INFO L201 PostProcessor]: Analyzing one entry point: main [2018-11-23 05:33:40,555 INFO L195 MainTranslator]: Completed translation [2018-11-23 05:33:40,555 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 05:33:40 WrapperNode [2018-11-23 05:33:40,556 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2018-11-23 05:33:40,556 INFO L113 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2018-11-23 05:33:40,556 INFO L271 PluginConnector]: Initializing Boogie Procedure Inliner... [2018-11-23 05:33:40,556 INFO L276 PluginConnector]: Boogie Procedure Inliner initialized [2018-11-23 05:33:40,562 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 05:33:40" (1/1) ... [2018-11-23 05:33:40,569 INFO L185 PluginConnector]: Executing the observer Inliner from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 05:33:40" (1/1) ... [2018-11-23 05:33:40,585 INFO L132 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2018-11-23 05:33:40,585 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2018-11-23 05:33:40,585 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2018-11-23 05:33:40,586 INFO L276 PluginConnector]: Boogie Preprocessor initialized [2018-11-23 05:33:40,593 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 05:33:40" (1/1) ... [2018-11-23 05:33:40,593 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 05:33:40" (1/1) ... [2018-11-23 05:33:40,596 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 05:33:40" (1/1) ... [2018-11-23 05:33:40,596 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 05:33:40" (1/1) ... [2018-11-23 05:33:40,644 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 05:33:40" (1/1) ... [2018-11-23 05:33:40,646 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 05:33:40" (1/1) ... [2018-11-23 05:33:40,648 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 05:33:40" (1/1) ... [2018-11-23 05:33:40,651 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2018-11-23 05:33:40,651 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2018-11-23 05:33:40,651 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2018-11-23 05:33:40,651 INFO L276 PluginConnector]: RCFGBuilder initialized [2018-11-23 05:33:40,652 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 05:33:40" (1/1) ... No working directory specified, using /tmp/vcloud-vcloud-master/worker/working_dir_e83d716c-73c5-41b8-be26-916311008b88/bin-2019/ukojak/z3 Starting monitored process 1 with z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:10000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 1 with z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:10000 [2018-11-23 05:33:40,684 INFO L130 BoogieDeclarations]: Found specification of procedure read~intFLOATTYPE8 [2018-11-23 05:33:40,684 INFO L130 BoogieDeclarations]: Found specification of procedure write~intFLOATTYPE8 [2018-11-23 05:33:40,684 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.alloc [2018-11-23 05:33:40,684 INFO L130 BoogieDeclarations]: Found specification of procedure read~intINTTYPE4 [2018-11-23 05:33:40,684 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2018-11-23 05:33:40,685 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2018-11-23 05:33:40,685 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2018-11-23 05:33:40,685 INFO L130 BoogieDeclarations]: Found specification of procedure write~intINTTYPE4 [2018-11-23 05:33:50,930 WARN L317 ript$VariableManager]: TermVariabe |q#valueAsBitvector| not constructed by VariableManager. Cannot ensure absence of name clashes. [2018-11-23 05:35:02,890 INFO L275 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2018-11-23 05:35:02,890 INFO L280 CfgBuilder]: Removed 8 assue(true) statements. [2018-11-23 05:35:02,891 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 23.11 05:35:02 BoogieIcfgContainer [2018-11-23 05:35:02,891 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2018-11-23 05:35:02,891 INFO L113 PluginConnector]: ------------------------CodeCheck---------------------------- [2018-11-23 05:35:02,891 INFO L271 PluginConnector]: Initializing CodeCheck... [2018-11-23 05:35:02,899 INFO L276 PluginConnector]: CodeCheck initialized [2018-11-23 05:35:02,900 INFO L185 PluginConnector]: Executing the observer CodeCheckObserver from plugin CodeCheck for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 23.11 05:35:02" (1/1) ... [2018-11-23 05:35:02,908 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 05:35:02,928 INFO L82 GeneralOperation]: Start removeUnreachable. Operand no size info available [2018-11-23 05:35:02,933 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 6 transitions. [2018-11-23 05:35:02,933 INFO L276 IsEmpty]: Start isEmpty. Operand 6 states and 6 transitions. [2018-11-23 05:35:02,935 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 4 [2018-11-23 05:35:02,935 INFO L427 CodeCheckObserver]: Error Path is FOUND. [2018-11-23 05:35:02,977 ERROR L613 CodeCheckObserver]: First Tracecheck threw exception Indexed Sort BitVec undefined [2018-11-23 05:35:13,003 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unknown [2018-11-23 05:35:13,664 FATAL L292 ToolchainWalker]: The Plugin de.uni_freiburg.informatik.ultimate.plugins.generator.codecheck has thrown an exception: java.lang.UnsupportedOperationException: Solver said unknown at de.uni_freiburg.informatik.ultimate.plugins.generator.codecheck.CodeCheckObserver.process(CodeCheckObserver.java:505) at de.uni_freiburg.informatik.ultimate.core.coreplugin.modelwalker.CFGWalker.runObserver(CFGWalker.java:57) at de.uni_freiburg.informatik.ultimate.core.coreplugin.modelwalker.BaseWalker.runObserver(BaseWalker.java:93) at de.uni_freiburg.informatik.ultimate.core.coreplugin.modelwalker.BaseWalker.run(BaseWalker.java:86) at de.uni_freiburg.informatik.ultimate.core.coreplugin.PluginConnector.runObserver(PluginConnector.java:167) at de.uni_freiburg.informatik.ultimate.core.coreplugin.PluginConnector.runTool(PluginConnector.java:151) at de.uni_freiburg.informatik.ultimate.core.coreplugin.PluginConnector.run(PluginConnector.java:128) at de.uni_freiburg.informatik.ultimate.core.coreplugin.ToolchainWalker.executePluginConnector(ToolchainWalker.java:232) at de.uni_freiburg.informatik.ultimate.core.coreplugin.ToolchainWalker.processPlugin(ToolchainWalker.java:226) at de.uni_freiburg.informatik.ultimate.core.coreplugin.ToolchainWalker.walkUnprotected(ToolchainWalker.java:142) at de.uni_freiburg.informatik.ultimate.core.coreplugin.ToolchainWalker.walk(ToolchainWalker.java:104) at de.uni_freiburg.informatik.ultimate.core.coreplugin.ToolchainManager$Toolchain.processToolchain(ToolchainManager.java:316) at de.uni_freiburg.informatik.ultimate.core.coreplugin.toolchain.DefaultToolchainJob.run(DefaultToolchainJob.java:145) at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55) [2018-11-23 05:35:13,667 INFO L168 Benchmark]: Toolchain (without parser) took 93319.15 ms. Allocated memory was 1.0 GB in the beginning and 1.2 GB in the end (delta: 129.0 MB). Free memory was 951.9 MB in the beginning and 1.1 GB in the end (delta: -123.2 MB). Peak memory consumption was 5.7 MB. Max. memory is 11.5 GB. [2018-11-23 05:35:13,668 INFO L168 Benchmark]: CDTParser took 0.17 ms. Allocated memory is still 1.0 GB. Free memory is still 978.7 MB. There was no memory consumed. Max. memory is 11.5 GB. [2018-11-23 05:35:13,669 INFO L168 Benchmark]: CACSL2BoogieTranslator took 206.76 ms. Allocated memory is still 1.0 GB. Free memory was 951.9 MB in the beginning and 935.8 MB in the end (delta: 16.1 MB). Peak memory consumption was 16.1 MB. Max. memory is 11.5 GB. [2018-11-23 05:35:13,670 INFO L168 Benchmark]: Boogie Procedure Inliner took 29.04 ms. Allocated memory is still 1.0 GB. Free memory is still 935.8 MB. There was no memory consumed. Max. memory is 11.5 GB. [2018-11-23 05:35:13,670 INFO L168 Benchmark]: Boogie Preprocessor took 65.31 ms. Allocated memory was 1.0 GB in the beginning and 1.2 GB in the end (delta: 129.0 MB). Free memory was 935.8 MB in the beginning and 1.1 GB in the end (delta: -187.1 MB). Peak memory consumption was 15.7 MB. Max. memory is 11.5 GB. [2018-11-23 05:35:13,671 INFO L168 Benchmark]: RCFGBuilder took 82239.99 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: 40.9 MB). Peak memory consumption was 40.9 MB. Max. memory is 11.5 GB. [2018-11-23 05:35:13,671 INFO L168 Benchmark]: CodeCheck took 10774.82 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: 6.9 MB). Peak memory consumption was 6.9 MB. Max. memory is 11.5 GB. [2018-11-23 05:35:13,674 INFO L336 ainManager$Toolchain]: ####################### End [Toolchain 1] ####################### --- Results --- * Results from de.uni_freiburg.informatik.ultimate.plugins.generator.codecheck: - ExceptionOrErrorResult: UnsupportedOperationException: Solver said unknown de.uni_freiburg.informatik.ultimate.plugins.generator.codecheck: UnsupportedOperationException: Solver said unknown: de.uni_freiburg.informatik.ultimate.plugins.generator.codecheck.CodeCheckObserver.process(CodeCheckObserver.java:505) * 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 978.7 MB. There was no memory consumed. Max. memory is 11.5 GB. * CACSL2BoogieTranslator took 206.76 ms. Allocated memory is still 1.0 GB. Free memory was 951.9 MB in the beginning and 935.8 MB in the end (delta: 16.1 MB). Peak memory consumption was 16.1 MB. Max. memory is 11.5 GB. * Boogie Procedure Inliner took 29.04 ms. Allocated memory is still 1.0 GB. Free memory is still 935.8 MB. There was no memory consumed. Max. memory is 11.5 GB. * Boogie Preprocessor took 65.31 ms. Allocated memory was 1.0 GB in the beginning and 1.2 GB in the end (delta: 129.0 MB). Free memory was 935.8 MB in the beginning and 1.1 GB in the end (delta: -187.1 MB). Peak memory consumption was 15.7 MB. Max. memory is 11.5 GB. * RCFGBuilder took 82239.99 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: 40.9 MB). Peak memory consumption was 40.9 MB. Max. memory is 11.5 GB. * CodeCheck took 10774.82 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: 6.9 MB). Peak memory consumption was 6.9 MB. Max. memory is 11.5 GB. RESULT: Ultimate could not prove your program: Toolchain returned no result. Received shutdown request...