/usr/bin/java -ea -Xmx8000000000 -Xss4m -jar ./plugins/org.eclipse.equinox.launcher_1.5.800.v20200727-1323.jar -data @noDefault -ultimatedata ./data --core.log.level.for.class de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=WARN -tc ../../../trunk/examples/toolchains/AutomizerC.xml -s ../../../trunk/examples/settings/automizer/acceleratedInterpolation/acceleratedInterpolationQvasr_64.epf -i ../../../trunk/examples/svcomp/nla-digbench-scaling/lcm2_valuebound1.c -------------------------------------------------------------------------------- This is Ultimate 0.2.2-dev-e106359-m [2022-04-15 16:09:11,387 INFO L177 SettingsManager]: Resetting all preferences to default values... [2022-04-15 16:09:11,388 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2022-04-15 16:09:11,424 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2022-04-15 16:09:11,424 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2022-04-15 16:09:11,425 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2022-04-15 16:09:11,427 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2022-04-15 16:09:11,429 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2022-04-15 16:09:11,430 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2022-04-15 16:09:11,433 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2022-04-15 16:09:11,434 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2022-04-15 16:09:11,435 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2022-04-15 16:09:11,435 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2022-04-15 16:09:11,437 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2022-04-15 16:09:11,437 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2022-04-15 16:09:11,439 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2022-04-15 16:09:11,440 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2022-04-15 16:09:11,440 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2022-04-15 16:09:11,442 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2022-04-15 16:09:11,445 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2022-04-15 16:09:11,447 INFO L181 SettingsManager]: Resetting HornVerifier preferences to default values [2022-04-15 16:09:11,448 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2022-04-15 16:09:11,448 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2022-04-15 16:09:11,449 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2022-04-15 16:09:11,450 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2022-04-15 16:09:11,451 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2022-04-15 16:09:11,451 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2022-04-15 16:09:11,451 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2022-04-15 16:09:11,452 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2022-04-15 16:09:11,452 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2022-04-15 16:09:11,453 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2022-04-15 16:09:11,453 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2022-04-15 16:09:11,454 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2022-04-15 16:09:11,455 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2022-04-15 16:09:11,455 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2022-04-15 16:09:11,455 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2022-04-15 16:09:11,456 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2022-04-15 16:09:11,456 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2022-04-15 16:09:11,456 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2022-04-15 16:09:11,456 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2022-04-15 16:09:11,457 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2022-04-15 16:09:11,458 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2022-04-15 16:09:11,458 INFO L101 SettingsManager]: Beginning loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/settings/automizer/acceleratedInterpolation/acceleratedInterpolationQvasr_64.epf [2022-04-15 16:09:11,467 INFO L113 SettingsManager]: Loading preferences was successful [2022-04-15 16:09:11,467 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2022-04-15 16:09:11,468 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2022-04-15 16:09:11,468 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2022-04-15 16:09:11,468 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2022-04-15 16:09:11,469 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2022-04-15 16:09:11,469 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2022-04-15 16:09:11,469 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2022-04-15 16:09:11,469 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2022-04-15 16:09:11,469 INFO L138 SettingsManager]: * Use constant arrays=true [2022-04-15 16:09:11,469 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2022-04-15 16:09:11,470 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2022-04-15 16:09:11,470 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2022-04-15 16:09:11,470 INFO L138 SettingsManager]: * To the following directory=./dump/ [2022-04-15 16:09:11,470 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2022-04-15 16:09:11,470 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-15 16:09:11,470 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2022-04-15 16:09:11,470 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=Craig_NestedInterpolation [2022-04-15 16:09:11,470 INFO L138 SettingsManager]: * Trace refinement strategy=ACCELERATED_INTERPOLATION [2022-04-15 16:09:11,470 INFO L138 SettingsManager]: * Trace refinement strategy used in Accelerated Interpolation=CAMEL [2022-04-15 16:09:11,470 INFO L138 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2022-04-15 16:09:11,470 INFO L138 SettingsManager]: * Loop acceleration method that is used by accelerated interpolation=QVASR [2022-04-15 16:09:11,471 INFO L138 SettingsManager]: * Use separate solver for trace checks=false WARNING: An illegal reflective access operation has occurred WARNING: Illegal reflective access by com.sun.xml.bind.v2.runtime.reflect.opt.Injector$1 (file:/storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/plugins/com.sun.xml.bind_2.2.0.v201505121915.jar) to method java.lang.ClassLoader.defineClass(java.lang.String,byte[],int,int) WARNING: Please consider reporting this to the maintainers of com.sun.xml.bind.v2.runtime.reflect.opt.Injector$1 WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations WARNING: All illegal access operations will be denied in a future release Applying setting for plugin de.uni_freiburg.informatik.ultimate.core: Log level for class -> de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=WARN; [2022-04-15 16:09:11,649 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2022-04-15 16:09:11,667 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2022-04-15 16:09:11,668 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2022-04-15 16:09:11,669 INFO L271 PluginConnector]: Initializing CDTParser... [2022-04-15 16:09:11,669 INFO L275 PluginConnector]: CDTParser initialized [2022-04-15 16:09:11,670 INFO L432 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/svcomp/nla-digbench-scaling/lcm2_valuebound1.c [2022-04-15 16:09:11,718 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/f56452047/37b3d5b6baa74c5da272debe800b90e7/FLAG06188ba95 [2022-04-15 16:09:12,037 INFO L306 CDTParser]: Found 1 translation units. [2022-04-15 16:09:12,038 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/nla-digbench-scaling/lcm2_valuebound1.c [2022-04-15 16:09:12,042 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/f56452047/37b3d5b6baa74c5da272debe800b90e7/FLAG06188ba95 [2022-04-15 16:09:12,478 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/f56452047/37b3d5b6baa74c5da272debe800b90e7 [2022-04-15 16:09:12,480 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2022-04-15 16:09:12,481 INFO L131 ToolchainWalker]: Walking toolchain with 4 elements. [2022-04-15 16:09:12,482 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2022-04-15 16:09:12,482 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2022-04-15 16:09:12,485 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2022-04-15 16:09:12,486 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 15.04 04:09:12" (1/1) ... [2022-04-15 16:09:12,487 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@298b0837 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 04:09:12, skipping insertion in model container [2022-04-15 16:09:12,487 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 15.04 04:09:12" (1/1) ... [2022-04-15 16:09:12,491 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2022-04-15 16:09:12,502 INFO L178 MainTranslator]: Built tables and reachable declarations [2022-04-15 16:09:12,621 WARN L230 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /storage/repos/ultimate/trunk/examples/svcomp/nla-digbench-scaling/lcm2_valuebound1.c[537,550] [2022-04-15 16:09:12,633 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-15 16:09:12,638 INFO L203 MainTranslator]: Completed pre-run [2022-04-15 16:09:12,648 WARN L230 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /storage/repos/ultimate/trunk/examples/svcomp/nla-digbench-scaling/lcm2_valuebound1.c[537,550] [2022-04-15 16:09:12,654 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-15 16:09:12,663 INFO L208 MainTranslator]: Completed translation [2022-04-15 16:09:12,663 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 04:09:12 WrapperNode [2022-04-15 16:09:12,663 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2022-04-15 16:09:12,664 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2022-04-15 16:09:12,664 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2022-04-15 16:09:12,664 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2022-04-15 16:09:12,673 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 04:09:12" (1/1) ... [2022-04-15 16:09:12,674 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 04:09:12" (1/1) ... [2022-04-15 16:09:12,678 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 04:09:12" (1/1) ... [2022-04-15 16:09:12,678 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 04:09:12" (1/1) ... [2022-04-15 16:09:12,691 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 04:09:12" (1/1) ... [2022-04-15 16:09:12,694 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 04:09:12" (1/1) ... [2022-04-15 16:09:12,694 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 04:09:12" (1/1) ... [2022-04-15 16:09:12,695 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2022-04-15 16:09:12,696 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2022-04-15 16:09:12,696 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2022-04-15 16:09:12,696 INFO L275 PluginConnector]: RCFGBuilder initialized [2022-04-15 16:09:12,697 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 04:09:12" (1/1) ... [2022-04-15 16:09:12,713 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-15 16:09:12,722 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 16:09:12,731 INFO L229 MonitoredProcess]: Starting monitored process 1 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (exit command is (exit), workingDir is null) [2022-04-15 16:09:12,733 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (1)] Waiting until timeout for monitored process [2022-04-15 16:09:12,756 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2022-04-15 16:09:12,756 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2022-04-15 16:09:12,756 INFO L138 BoogieDeclarations]: Found implementation of procedure reach_error [2022-04-15 16:09:12,757 INFO L138 BoogieDeclarations]: Found implementation of procedure assume_abort_if_not [2022-04-15 16:09:12,757 INFO L138 BoogieDeclarations]: Found implementation of procedure __VERIFIER_assert [2022-04-15 16:09:12,757 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2022-04-15 16:09:12,757 INFO L130 BoogieDeclarations]: Found specification of procedure abort [2022-04-15 16:09:12,757 INFO L130 BoogieDeclarations]: Found specification of procedure __assert_fail [2022-04-15 16:09:12,758 INFO L130 BoogieDeclarations]: Found specification of procedure reach_error [2022-04-15 16:09:12,758 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2022-04-15 16:09:12,758 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_nondet_uint [2022-04-15 16:09:12,758 INFO L130 BoogieDeclarations]: Found specification of procedure assume_abort_if_not [2022-04-15 16:09:12,758 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_assert [2022-04-15 16:09:12,758 INFO L130 BoogieDeclarations]: Found specification of procedure main [2022-04-15 16:09:12,759 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2022-04-15 16:09:12,760 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int [2022-04-15 16:09:12,760 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2022-04-15 16:09:12,760 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2022-04-15 16:09:12,760 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2022-04-15 16:09:12,760 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2022-04-15 16:09:12,809 INFO L234 CfgBuilder]: Building ICFG [2022-04-15 16:09:12,810 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2022-04-15 16:09:12,935 INFO L275 CfgBuilder]: Performing block encoding [2022-04-15 16:09:12,961 INFO L294 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2022-04-15 16:09:12,961 INFO L299 CfgBuilder]: Removed 1 assume(true) statements. [2022-04-15 16:09:12,962 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 15.04 04:09:12 BoogieIcfgContainer [2022-04-15 16:09:12,962 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2022-04-15 16:09:12,964 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2022-04-15 16:09:12,964 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2022-04-15 16:09:12,977 INFO L275 PluginConnector]: TraceAbstraction initialized [2022-04-15 16:09:12,978 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 15.04 04:09:12" (1/3) ... [2022-04-15 16:09:12,978 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@57079172 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 15.04 04:09:12, skipping insertion in model container [2022-04-15 16:09:12,978 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 04:09:12" (2/3) ... [2022-04-15 16:09:12,979 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@57079172 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 15.04 04:09:12, skipping insertion in model container [2022-04-15 16:09:12,979 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 15.04 04:09:12" (3/3) ... [2022-04-15 16:09:12,979 INFO L111 eAbstractionObserver]: Analyzing ICFG lcm2_valuebound1.c [2022-04-15 16:09:12,983 INFO L202 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:Craig_NestedInterpolation Determinization: PREDICATE_ABSTRACTION [2022-04-15 16:09:12,983 INFO L161 ceAbstractionStarter]: Applying trace abstraction to program that has 1 error locations. [2022-04-15 16:09:13,027 INFO L339 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2022-04-15 16:09:13,035 INFO L340 AbstractCegarLoop]: Settings: SEPARATE_VIOLATION_CHECK=true, mInterprocedural=true, mMaxIterations=1000000, mWatchIteration=1000000, mArtifact=RCFG, mInterpolation=Craig_NestedInterpolation, mInterpolantAutomaton=STRAIGHT_LINE, mDumpAutomata=false, mAutomataFormat=ATS_NUMERATE, mDumpPath=., mDeterminiation=PREDICATE_ABSTRACTION, mMinimize=MINIMIZE_SEVPA, mHoare=true, mAutomataTypeConcurrency=FINITE_AUTOMATA, mHoareTripleChecks=INCREMENTAL, mHoareAnnotationPositions=All, mDumpOnlyReuseAutomata=false, mLimitTraceHistogram=0, mErrorLocTimeLimit=0, mLimitPathProgramCount=0, mCollectInterpolantStatistics=true, mHeuristicEmptinessCheck=false, mHeuristicEmptinessCheckAStarHeuristic=ZERO, mHeuristicEmptinessCheckAStarHeuristicRandomSeed=1337, mHeuristicEmptinessCheckSmtFeatureScoringMethod=DAGSIZE, mSMTFeatureExtraction=false, mSMTFeatureExtractionDumpPath=., mOverrideInterpolantAutomaton=false, mMcrInterpolantMethod=WP [2022-04-15 16:09:13,035 INFO L341 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2022-04-15 16:09:13,049 INFO L276 IsEmpty]: Start isEmpty. Operand has 34 states, 18 states have (on average 1.3888888888888888) internal successors, (25), 19 states have internal predecessors, (25), 10 states have call successors, (10), 4 states have call predecessors, (10), 4 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-15 16:09:13,055 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 44 [2022-04-15 16:09:13,056 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 16:09:13,057 INFO L499 BasicCegarLoop]: trace histogram [6, 6, 6, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 16:09:13,058 INFO L403 AbstractCegarLoop]: === Iteration 1 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 16:09:13,062 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 16:09:13,062 INFO L85 PathProgramCache]: Analyzing trace with hash 1830914611, now seen corresponding path program 1 times [2022-04-15 16:09:13,068 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 16:09:13,068 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1056559763] [2022-04-15 16:09:13,075 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 16:09:13,076 INFO L85 PathProgramCache]: Analyzing trace with hash 1830914611, now seen corresponding path program 2 times [2022-04-15 16:09:13,078 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 16:09:13,078 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1251518876] [2022-04-15 16:09:13,078 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 16:09:13,079 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 16:09:13,180 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 16:09:13,250 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-15 16:09:13,267 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 16:09:13,285 INFO L290 TraceCheckUtils]: 0: Hoare triple {66#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(7, 2);call write~init~int(108, 2, 0, 1);call write~init~int(99, 2, 1, 1);call write~init~int(109, 2, 2, 1);call write~init~int(50, 2, 3, 1);call write~init~int(46, 2, 4, 1);call write~init~int(99, 2, 5, 1);call write~init~int(0, 2, 6, 1);call #Ultimate.allocInit(12, 3); {37#true} is VALID [2022-04-15 16:09:13,285 INFO L290 TraceCheckUtils]: 1: Hoare triple {37#true} assume true; {37#true} is VALID [2022-04-15 16:09:13,285 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {37#true} {37#true} #79#return; {37#true} is VALID [2022-04-15 16:09:13,286 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-15 16:09:13,291 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 16:09:13,298 INFO L290 TraceCheckUtils]: 0: Hoare triple {37#true} ~cond := #in~cond; {37#true} is VALID [2022-04-15 16:09:13,299 INFO L290 TraceCheckUtils]: 1: Hoare triple {37#true} assume 0 == ~cond;assume false; {38#false} is VALID [2022-04-15 16:09:13,299 INFO L290 TraceCheckUtils]: 2: Hoare triple {38#false} assume true; {38#false} is VALID [2022-04-15 16:09:13,299 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {38#false} {37#true} #63#return; {38#false} is VALID [2022-04-15 16:09:13,301 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 12 [2022-04-15 16:09:13,304 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 16:09:13,312 INFO L290 TraceCheckUtils]: 0: Hoare triple {37#true} ~cond := #in~cond; {37#true} is VALID [2022-04-15 16:09:13,312 INFO L290 TraceCheckUtils]: 1: Hoare triple {37#true} assume 0 == ~cond;assume false; {38#false} is VALID [2022-04-15 16:09:13,313 INFO L290 TraceCheckUtils]: 2: Hoare triple {38#false} assume true; {38#false} is VALID [2022-04-15 16:09:13,313 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {38#false} {38#false} #65#return; {38#false} is VALID [2022-04-15 16:09:13,314 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 17 [2022-04-15 16:09:13,318 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 16:09:13,324 INFO L290 TraceCheckUtils]: 0: Hoare triple {37#true} ~cond := #in~cond; {37#true} is VALID [2022-04-15 16:09:13,325 INFO L290 TraceCheckUtils]: 1: Hoare triple {37#true} assume 0 == ~cond;assume false; {38#false} is VALID [2022-04-15 16:09:13,325 INFO L290 TraceCheckUtils]: 2: Hoare triple {38#false} assume true; {38#false} is VALID [2022-04-15 16:09:13,325 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {38#false} {38#false} #67#return; {38#false} is VALID [2022-04-15 16:09:13,326 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 22 [2022-04-15 16:09:13,331 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 16:09:13,336 INFO L290 TraceCheckUtils]: 0: Hoare triple {37#true} ~cond := #in~cond; {37#true} is VALID [2022-04-15 16:09:13,336 INFO L290 TraceCheckUtils]: 1: Hoare triple {37#true} assume 0 == ~cond;assume false; {38#false} is VALID [2022-04-15 16:09:13,336 INFO L290 TraceCheckUtils]: 2: Hoare triple {38#false} assume true; {38#false} is VALID [2022-04-15 16:09:13,337 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {38#false} {38#false} #69#return; {38#false} is VALID [2022-04-15 16:09:13,337 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 27 [2022-04-15 16:09:13,341 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 16:09:13,347 INFO L290 TraceCheckUtils]: 0: Hoare triple {37#true} ~cond := #in~cond; {37#true} is VALID [2022-04-15 16:09:13,348 INFO L290 TraceCheckUtils]: 1: Hoare triple {37#true} assume 0 == ~cond;assume false; {38#false} is VALID [2022-04-15 16:09:13,348 INFO L290 TraceCheckUtils]: 2: Hoare triple {38#false} assume true; {38#false} is VALID [2022-04-15 16:09:13,349 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {38#false} {38#false} #71#return; {38#false} is VALID [2022-04-15 16:09:13,349 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 32 [2022-04-15 16:09:13,351 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 16:09:13,365 INFO L290 TraceCheckUtils]: 0: Hoare triple {37#true} ~cond := #in~cond; {37#true} is VALID [2022-04-15 16:09:13,366 INFO L290 TraceCheckUtils]: 1: Hoare triple {37#true} assume 0 == ~cond;assume false; {38#false} is VALID [2022-04-15 16:09:13,366 INFO L290 TraceCheckUtils]: 2: Hoare triple {38#false} assume true; {38#false} is VALID [2022-04-15 16:09:13,366 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {38#false} {38#false} #73#return; {38#false} is VALID [2022-04-15 16:09:13,367 INFO L272 TraceCheckUtils]: 0: Hoare triple {37#true} call ULTIMATE.init(); {66#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-15 16:09:13,367 INFO L290 TraceCheckUtils]: 1: Hoare triple {66#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(7, 2);call write~init~int(108, 2, 0, 1);call write~init~int(99, 2, 1, 1);call write~init~int(109, 2, 2, 1);call write~init~int(50, 2, 3, 1);call write~init~int(46, 2, 4, 1);call write~init~int(99, 2, 5, 1);call write~init~int(0, 2, 6, 1);call #Ultimate.allocInit(12, 3); {37#true} is VALID [2022-04-15 16:09:13,368 INFO L290 TraceCheckUtils]: 2: Hoare triple {37#true} assume true; {37#true} is VALID [2022-04-15 16:09:13,368 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {37#true} {37#true} #79#return; {37#true} is VALID [2022-04-15 16:09:13,368 INFO L272 TraceCheckUtils]: 4: Hoare triple {37#true} call #t~ret6 := main(); {37#true} is VALID [2022-04-15 16:09:13,368 INFO L290 TraceCheckUtils]: 5: Hoare triple {37#true} havoc ~a~0;havoc ~b~0;havoc ~x~0;havoc ~y~0;havoc ~u~0;havoc ~v~0;~a~0 := #t~nondet4;havoc #t~nondet4; {37#true} is VALID [2022-04-15 16:09:13,368 INFO L272 TraceCheckUtils]: 6: Hoare triple {37#true} call assume_abort_if_not((if ~a~0 % 4294967296 >= 0 && ~a~0 % 4294967296 <= 1 then 1 else 0)); {37#true} is VALID [2022-04-15 16:09:13,368 INFO L290 TraceCheckUtils]: 7: Hoare triple {37#true} ~cond := #in~cond; {37#true} is VALID [2022-04-15 16:09:13,370 INFO L290 TraceCheckUtils]: 8: Hoare triple {37#true} assume 0 == ~cond;assume false; {38#false} is VALID [2022-04-15 16:09:13,370 INFO L290 TraceCheckUtils]: 9: Hoare triple {38#false} assume true; {38#false} is VALID [2022-04-15 16:09:13,370 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {38#false} {37#true} #63#return; {38#false} is VALID [2022-04-15 16:09:13,370 INFO L290 TraceCheckUtils]: 11: Hoare triple {38#false} ~b~0 := #t~nondet5;havoc #t~nondet5; {38#false} is VALID [2022-04-15 16:09:13,370 INFO L272 TraceCheckUtils]: 12: Hoare triple {38#false} call assume_abort_if_not((if ~b~0 % 4294967296 >= 0 && ~b~0 % 4294967296 <= 1 then 1 else 0)); {37#true} is VALID [2022-04-15 16:09:13,370 INFO L290 TraceCheckUtils]: 13: Hoare triple {37#true} ~cond := #in~cond; {37#true} is VALID [2022-04-15 16:09:13,371 INFO L290 TraceCheckUtils]: 14: Hoare triple {37#true} assume 0 == ~cond;assume false; {38#false} is VALID [2022-04-15 16:09:13,371 INFO L290 TraceCheckUtils]: 15: Hoare triple {38#false} assume true; {38#false} is VALID [2022-04-15 16:09:13,371 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {38#false} {38#false} #65#return; {38#false} is VALID [2022-04-15 16:09:13,372 INFO L272 TraceCheckUtils]: 17: Hoare triple {38#false} call assume_abort_if_not((if ~a~0 % 4294967296 >= 1 then 1 else 0)); {37#true} is VALID [2022-04-15 16:09:13,372 INFO L290 TraceCheckUtils]: 18: Hoare triple {37#true} ~cond := #in~cond; {37#true} is VALID [2022-04-15 16:09:13,372 INFO L290 TraceCheckUtils]: 19: Hoare triple {37#true} assume 0 == ~cond;assume false; {38#false} is VALID [2022-04-15 16:09:13,373 INFO L290 TraceCheckUtils]: 20: Hoare triple {38#false} assume true; {38#false} is VALID [2022-04-15 16:09:13,375 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {38#false} {38#false} #67#return; {38#false} is VALID [2022-04-15 16:09:13,375 INFO L272 TraceCheckUtils]: 22: Hoare triple {38#false} call assume_abort_if_not((if ~b~0 % 4294967296 >= 1 then 1 else 0)); {37#true} is VALID [2022-04-15 16:09:13,376 INFO L290 TraceCheckUtils]: 23: Hoare triple {37#true} ~cond := #in~cond; {37#true} is VALID [2022-04-15 16:09:13,376 INFO L290 TraceCheckUtils]: 24: Hoare triple {37#true} assume 0 == ~cond;assume false; {38#false} is VALID [2022-04-15 16:09:13,376 INFO L290 TraceCheckUtils]: 25: Hoare triple {38#false} assume true; {38#false} is VALID [2022-04-15 16:09:13,376 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {38#false} {38#false} #69#return; {38#false} is VALID [2022-04-15 16:09:13,377 INFO L272 TraceCheckUtils]: 27: Hoare triple {38#false} call assume_abort_if_not((if ~a~0 % 4294967296 <= 65535 then 1 else 0)); {37#true} is VALID [2022-04-15 16:09:13,377 INFO L290 TraceCheckUtils]: 28: Hoare triple {37#true} ~cond := #in~cond; {37#true} is VALID [2022-04-15 16:09:13,378 INFO L290 TraceCheckUtils]: 29: Hoare triple {37#true} assume 0 == ~cond;assume false; {38#false} is VALID [2022-04-15 16:09:13,378 INFO L290 TraceCheckUtils]: 30: Hoare triple {38#false} assume true; {38#false} is VALID [2022-04-15 16:09:13,383 INFO L284 TraceCheckUtils]: 31: Hoare quadruple {38#false} {38#false} #71#return; {38#false} is VALID [2022-04-15 16:09:13,383 INFO L272 TraceCheckUtils]: 32: Hoare triple {38#false} call assume_abort_if_not((if ~b~0 % 4294967296 <= 65535 then 1 else 0)); {37#true} is VALID [2022-04-15 16:09:13,384 INFO L290 TraceCheckUtils]: 33: Hoare triple {37#true} ~cond := #in~cond; {37#true} is VALID [2022-04-15 16:09:13,384 INFO L290 TraceCheckUtils]: 34: Hoare triple {37#true} assume 0 == ~cond;assume false; {38#false} is VALID [2022-04-15 16:09:13,384 INFO L290 TraceCheckUtils]: 35: Hoare triple {38#false} assume true; {38#false} is VALID [2022-04-15 16:09:13,385 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {38#false} {38#false} #73#return; {38#false} is VALID [2022-04-15 16:09:13,385 INFO L290 TraceCheckUtils]: 37: Hoare triple {38#false} ~x~0 := ~a~0;~y~0 := ~b~0;~u~0 := ~b~0;~v~0 := ~a~0; {38#false} is VALID [2022-04-15 16:09:13,385 INFO L290 TraceCheckUtils]: 38: Hoare triple {38#false} assume !true; {38#false} is VALID [2022-04-15 16:09:13,385 INFO L272 TraceCheckUtils]: 39: Hoare triple {38#false} call __VERIFIER_assert((if (~x~0 * ~u~0 + ~y~0 * ~v~0) % 4294967296 == 2 * ~a~0 * ~b~0 % 4294967296 then 1 else 0)); {38#false} is VALID [2022-04-15 16:09:13,385 INFO L290 TraceCheckUtils]: 40: Hoare triple {38#false} ~cond := #in~cond; {38#false} is VALID [2022-04-15 16:09:13,386 INFO L290 TraceCheckUtils]: 41: Hoare triple {38#false} assume 0 == ~cond; {38#false} is VALID [2022-04-15 16:09:13,386 INFO L290 TraceCheckUtils]: 42: Hoare triple {38#false} assume !false; {38#false} is VALID [2022-04-15 16:09:13,386 INFO L134 CoverageAnalysis]: Checked inductivity of 60 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 60 trivial. 0 not checked. [2022-04-15 16:09:13,387 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 16:09:13,387 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1251518876] [2022-04-15 16:09:13,388 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1251518876] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 16:09:13,388 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 16:09:13,388 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-04-15 16:09:13,390 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 16:09:13,390 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1056559763] [2022-04-15 16:09:13,392 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1056559763] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 16:09:13,392 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 16:09:13,392 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-04-15 16:09:13,392 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [980326341] [2022-04-15 16:09:13,393 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 16:09:13,397 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (9), 3 states have call predecessors, (9), 2 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) Word has length 43 [2022-04-15 16:09:13,399 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 16:09:13,401 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (9), 3 states have call predecessors, (9), 2 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) [2022-04-15 16:09:13,445 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 28 edges. 28 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 16:09:13,445 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2022-04-15 16:09:13,446 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 16:09:13,459 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2022-04-15 16:09:13,460 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-04-15 16:09:13,462 INFO L87 Difference]: Start difference. First operand has 34 states, 18 states have (on average 1.3888888888888888) internal successors, (25), 19 states have internal predecessors, (25), 10 states have call successors, (10), 4 states have call predecessors, (10), 4 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) Second operand has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (9), 3 states have call predecessors, (9), 2 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) [2022-04-15 16:09:13,607 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 16:09:13,608 INFO L93 Difference]: Finished difference Result 61 states and 90 transitions. [2022-04-15 16:09:13,608 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2022-04-15 16:09:13,608 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (9), 3 states have call predecessors, (9), 2 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) Word has length 43 [2022-04-15 16:09:13,608 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 16:09:13,609 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (9), 3 states have call predecessors, (9), 2 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) [2022-04-15 16:09:13,621 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 90 transitions. [2022-04-15 16:09:13,622 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (9), 3 states have call predecessors, (9), 2 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) [2022-04-15 16:09:13,632 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 90 transitions. [2022-04-15 16:09:13,632 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 3 states and 90 transitions. [2022-04-15 16:09:13,728 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 90 edges. 90 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 16:09:13,737 INFO L225 Difference]: With dead ends: 61 [2022-04-15 16:09:13,737 INFO L226 Difference]: Without dead ends: 29 [2022-04-15 16:09:13,740 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 22 GetRequests, 21 SyntacticMatches, 0 SemanticMatches, 1 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-04-15 16:09:13,744 INFO L913 BasicCegarLoop]: 33 mSDtfsCounter, 18 mSDsluCounter, 3 mSDsCounter, 0 mSdLazyCounter, 10 mSolverCounterSat, 9 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 26 SdHoareTripleChecker+Valid, 36 SdHoareTripleChecker+Invalid, 19 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 9 IncrementalHoareTripleChecker+Valid, 10 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-15 16:09:13,745 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [26 Valid, 36 Invalid, 19 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [9 Valid, 10 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-15 16:09:13,755 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 29 states. [2022-04-15 16:09:13,773 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 29 to 29. [2022-04-15 16:09:13,773 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 16:09:13,774 INFO L82 GeneralOperation]: Start isEquivalent. First operand 29 states. Second operand has 29 states, 15 states have (on average 1.2) internal successors, (18), 16 states have internal predecessors, (18), 10 states have call successors, (10), 4 states have call predecessors, (10), 3 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-15 16:09:13,775 INFO L74 IsIncluded]: Start isIncluded. First operand 29 states. Second operand has 29 states, 15 states have (on average 1.2) internal successors, (18), 16 states have internal predecessors, (18), 10 states have call successors, (10), 4 states have call predecessors, (10), 3 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-15 16:09:13,776 INFO L87 Difference]: Start difference. First operand 29 states. Second operand has 29 states, 15 states have (on average 1.2) internal successors, (18), 16 states have internal predecessors, (18), 10 states have call successors, (10), 4 states have call predecessors, (10), 3 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-15 16:09:13,780 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 16:09:13,780 INFO L93 Difference]: Finished difference Result 29 states and 36 transitions. [2022-04-15 16:09:13,780 INFO L276 IsEmpty]: Start isEmpty. Operand 29 states and 36 transitions. [2022-04-15 16:09:13,781 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 16:09:13,781 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 16:09:13,781 INFO L74 IsIncluded]: Start isIncluded. First operand has 29 states, 15 states have (on average 1.2) internal successors, (18), 16 states have internal predecessors, (18), 10 states have call successors, (10), 4 states have call predecessors, (10), 3 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) Second operand 29 states. [2022-04-15 16:09:13,782 INFO L87 Difference]: Start difference. First operand has 29 states, 15 states have (on average 1.2) internal successors, (18), 16 states have internal predecessors, (18), 10 states have call successors, (10), 4 states have call predecessors, (10), 3 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) Second operand 29 states. [2022-04-15 16:09:13,785 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 16:09:13,785 INFO L93 Difference]: Finished difference Result 29 states and 36 transitions. [2022-04-15 16:09:13,786 INFO L276 IsEmpty]: Start isEmpty. Operand 29 states and 36 transitions. [2022-04-15 16:09:13,786 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 16:09:13,786 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 16:09:13,786 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 16:09:13,787 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 16:09:13,787 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 29 states, 15 states have (on average 1.2) internal successors, (18), 16 states have internal predecessors, (18), 10 states have call successors, (10), 4 states have call predecessors, (10), 3 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-15 16:09:13,797 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 29 states to 29 states and 36 transitions. [2022-04-15 16:09:13,799 INFO L78 Accepts]: Start accepts. Automaton has 29 states and 36 transitions. Word has length 43 [2022-04-15 16:09:13,799 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 16:09:13,799 INFO L478 AbstractCegarLoop]: Abstraction has 29 states and 36 transitions. [2022-04-15 16:09:13,800 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (9), 3 states have call predecessors, (9), 2 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) [2022-04-15 16:09:13,800 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 29 states and 36 transitions. [2022-04-15 16:09:13,831 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 36 edges. 36 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 16:09:13,832 INFO L276 IsEmpty]: Start isEmpty. Operand 29 states and 36 transitions. [2022-04-15 16:09:13,833 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 44 [2022-04-15 16:09:13,833 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 16:09:13,834 INFO L499 BasicCegarLoop]: trace histogram [6, 6, 6, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 16:09:13,834 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2022-04-15 16:09:13,834 INFO L403 AbstractCegarLoop]: === Iteration 2 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 16:09:13,835 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 16:09:13,835 INFO L85 PathProgramCache]: Analyzing trace with hash 206107499, now seen corresponding path program 1 times [2022-04-15 16:09:13,835 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 16:09:13,835 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1172183182] [2022-04-15 16:09:13,836 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 16:09:13,836 INFO L85 PathProgramCache]: Analyzing trace with hash 206107499, now seen corresponding path program 2 times [2022-04-15 16:09:13,836 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 16:09:13,836 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [953983968] [2022-04-15 16:09:13,836 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 16:09:13,836 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 16:09:13,866 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 16:09:13,867 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1071574396] [2022-04-15 16:09:13,867 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-15 16:09:13,867 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 16:09:13,867 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 16:09:13,868 INFO L229 MonitoredProcess]: Starting monitored process 2 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-15 16:09:13,869 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (2)] Waiting until timeout for monitored process [2022-04-15 16:09:13,919 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 1 check-sat command(s) [2022-04-15 16:09:13,919 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 16:09:13,921 INFO L263 TraceCheckSpWp]: Trace formula consists of 82 conjuncts, 11 conjunts are in the unsatisfiable core [2022-04-15 16:09:13,936 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 16:09:13,939 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 16:09:14,308 INFO L272 TraceCheckUtils]: 0: Hoare triple {307#true} call ULTIMATE.init(); {307#true} is VALID [2022-04-15 16:09:14,309 INFO L290 TraceCheckUtils]: 1: Hoare triple {307#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(7, 2);call write~init~int(108, 2, 0, 1);call write~init~int(99, 2, 1, 1);call write~init~int(109, 2, 2, 1);call write~init~int(50, 2, 3, 1);call write~init~int(46, 2, 4, 1);call write~init~int(99, 2, 5, 1);call write~init~int(0, 2, 6, 1);call #Ultimate.allocInit(12, 3); {307#true} is VALID [2022-04-15 16:09:14,309 INFO L290 TraceCheckUtils]: 2: Hoare triple {307#true} assume true; {307#true} is VALID [2022-04-15 16:09:14,309 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {307#true} {307#true} #79#return; {307#true} is VALID [2022-04-15 16:09:14,310 INFO L272 TraceCheckUtils]: 4: Hoare triple {307#true} call #t~ret6 := main(); {307#true} is VALID [2022-04-15 16:09:14,310 INFO L290 TraceCheckUtils]: 5: Hoare triple {307#true} havoc ~a~0;havoc ~b~0;havoc ~x~0;havoc ~y~0;havoc ~u~0;havoc ~v~0;~a~0 := #t~nondet4;havoc #t~nondet4; {307#true} is VALID [2022-04-15 16:09:14,310 INFO L272 TraceCheckUtils]: 6: Hoare triple {307#true} call assume_abort_if_not((if ~a~0 % 4294967296 >= 0 && ~a~0 % 4294967296 <= 1 then 1 else 0)); {307#true} is VALID [2022-04-15 16:09:14,310 INFO L290 TraceCheckUtils]: 7: Hoare triple {307#true} ~cond := #in~cond; {307#true} is VALID [2022-04-15 16:09:14,310 INFO L290 TraceCheckUtils]: 8: Hoare triple {307#true} assume !(0 == ~cond); {307#true} is VALID [2022-04-15 16:09:14,310 INFO L290 TraceCheckUtils]: 9: Hoare triple {307#true} assume true; {307#true} is VALID [2022-04-15 16:09:14,310 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {307#true} {307#true} #63#return; {307#true} is VALID [2022-04-15 16:09:14,311 INFO L290 TraceCheckUtils]: 11: Hoare triple {307#true} ~b~0 := #t~nondet5;havoc #t~nondet5; {307#true} is VALID [2022-04-15 16:09:14,311 INFO L272 TraceCheckUtils]: 12: Hoare triple {307#true} call assume_abort_if_not((if ~b~0 % 4294967296 >= 0 && ~b~0 % 4294967296 <= 1 then 1 else 0)); {307#true} is VALID [2022-04-15 16:09:14,311 INFO L290 TraceCheckUtils]: 13: Hoare triple {307#true} ~cond := #in~cond; {307#true} is VALID [2022-04-15 16:09:14,311 INFO L290 TraceCheckUtils]: 14: Hoare triple {307#true} assume !(0 == ~cond); {307#true} is VALID [2022-04-15 16:09:14,312 INFO L290 TraceCheckUtils]: 15: Hoare triple {307#true} assume true; {307#true} is VALID [2022-04-15 16:09:14,312 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {307#true} {307#true} #65#return; {307#true} is VALID [2022-04-15 16:09:14,312 INFO L272 TraceCheckUtils]: 17: Hoare triple {307#true} call assume_abort_if_not((if ~a~0 % 4294967296 >= 1 then 1 else 0)); {307#true} is VALID [2022-04-15 16:09:14,312 INFO L290 TraceCheckUtils]: 18: Hoare triple {307#true} ~cond := #in~cond; {307#true} is VALID [2022-04-15 16:09:14,312 INFO L290 TraceCheckUtils]: 19: Hoare triple {307#true} assume !(0 == ~cond); {307#true} is VALID [2022-04-15 16:09:14,313 INFO L290 TraceCheckUtils]: 20: Hoare triple {307#true} assume true; {307#true} is VALID [2022-04-15 16:09:14,313 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {307#true} {307#true} #67#return; {307#true} is VALID [2022-04-15 16:09:14,313 INFO L272 TraceCheckUtils]: 22: Hoare triple {307#true} call assume_abort_if_not((if ~b~0 % 4294967296 >= 1 then 1 else 0)); {307#true} is VALID [2022-04-15 16:09:14,313 INFO L290 TraceCheckUtils]: 23: Hoare triple {307#true} ~cond := #in~cond; {307#true} is VALID [2022-04-15 16:09:14,313 INFO L290 TraceCheckUtils]: 24: Hoare triple {307#true} assume !(0 == ~cond); {307#true} is VALID [2022-04-15 16:09:14,313 INFO L290 TraceCheckUtils]: 25: Hoare triple {307#true} assume true; {307#true} is VALID [2022-04-15 16:09:14,313 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {307#true} {307#true} #69#return; {307#true} is VALID [2022-04-15 16:09:14,313 INFO L272 TraceCheckUtils]: 27: Hoare triple {307#true} call assume_abort_if_not((if ~a~0 % 4294967296 <= 65535 then 1 else 0)); {307#true} is VALID [2022-04-15 16:09:14,314 INFO L290 TraceCheckUtils]: 28: Hoare triple {307#true} ~cond := #in~cond; {307#true} is VALID [2022-04-15 16:09:14,314 INFO L290 TraceCheckUtils]: 29: Hoare triple {307#true} assume !(0 == ~cond); {307#true} is VALID [2022-04-15 16:09:14,315 INFO L290 TraceCheckUtils]: 30: Hoare triple {307#true} assume true; {307#true} is VALID [2022-04-15 16:09:14,315 INFO L284 TraceCheckUtils]: 31: Hoare quadruple {307#true} {307#true} #71#return; {307#true} is VALID [2022-04-15 16:09:14,316 INFO L272 TraceCheckUtils]: 32: Hoare triple {307#true} call assume_abort_if_not((if ~b~0 % 4294967296 <= 65535 then 1 else 0)); {307#true} is VALID [2022-04-15 16:09:14,316 INFO L290 TraceCheckUtils]: 33: Hoare triple {307#true} ~cond := #in~cond; {307#true} is VALID [2022-04-15 16:09:14,318 INFO L290 TraceCheckUtils]: 34: Hoare triple {307#true} assume !(0 == ~cond); {307#true} is VALID [2022-04-15 16:09:14,319 INFO L290 TraceCheckUtils]: 35: Hoare triple {307#true} assume true; {307#true} is VALID [2022-04-15 16:09:14,322 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {307#true} {307#true} #73#return; {307#true} is VALID [2022-04-15 16:09:14,323 INFO L290 TraceCheckUtils]: 37: Hoare triple {307#true} ~x~0 := ~a~0;~y~0 := ~b~0;~u~0 := ~b~0;~v~0 := ~a~0; {423#(and (= main_~a~0 main_~v~0) (= main_~b~0 main_~y~0) (= main_~b~0 main_~u~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-15 16:09:14,323 INFO L290 TraceCheckUtils]: 38: Hoare triple {423#(and (= main_~a~0 main_~v~0) (= main_~b~0 main_~y~0) (= main_~b~0 main_~u~0) (= main_~a~0 main_~x~0))} assume !false; {423#(and (= main_~a~0 main_~v~0) (= main_~b~0 main_~y~0) (= main_~b~0 main_~u~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-15 16:09:14,324 INFO L272 TraceCheckUtils]: 39: Hoare triple {423#(and (= main_~a~0 main_~v~0) (= main_~b~0 main_~y~0) (= main_~b~0 main_~u~0) (= main_~a~0 main_~x~0))} call __VERIFIER_assert((if (~x~0 * ~u~0 + ~y~0 * ~v~0) % 4294967296 == 2 * ~a~0 * ~b~0 % 4294967296 then 1 else 0)); {430#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 16:09:14,325 INFO L290 TraceCheckUtils]: 40: Hoare triple {430#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {434#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 16:09:14,325 INFO L290 TraceCheckUtils]: 41: Hoare triple {434#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {308#false} is VALID [2022-04-15 16:09:14,325 INFO L290 TraceCheckUtils]: 42: Hoare triple {308#false} assume !false; {308#false} is VALID [2022-04-15 16:09:14,325 INFO L134 CoverageAnalysis]: Checked inductivity of 60 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 60 trivial. 0 not checked. [2022-04-15 16:09:14,326 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-15 16:09:14,326 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 16:09:14,326 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [953983968] [2022-04-15 16:09:14,326 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 16:09:14,326 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1071574396] [2022-04-15 16:09:14,326 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1071574396] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 16:09:14,326 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 16:09:14,326 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-15 16:09:14,327 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 16:09:14,327 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1172183182] [2022-04-15 16:09:14,327 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1172183182] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 16:09:14,327 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 16:09:14,327 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-15 16:09:14,328 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1225762976] [2022-04-15 16:09:14,328 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 16:09:14,328 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 2.4) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 1 states have call predecessors, (7), 1 states have call successors, (7) Word has length 43 [2022-04-15 16:09:14,328 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 16:09:14,329 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 2.4) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 1 states have call predecessors, (7), 1 states have call successors, (7) [2022-04-15 16:09:14,352 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 28 edges. 28 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 16:09:14,352 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-15 16:09:14,352 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 16:09:14,353 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-15 16:09:14,353 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-04-15 16:09:14,353 INFO L87 Difference]: Start difference. First operand 29 states and 36 transitions. Second operand has 5 states, 5 states have (on average 2.4) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 1 states have call predecessors, (7), 1 states have call successors, (7) [2022-04-15 16:09:14,513 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 16:09:14,513 INFO L93 Difference]: Finished difference Result 40 states and 49 transitions. [2022-04-15 16:09:14,514 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-15 16:09:14,514 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 2.4) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 1 states have call predecessors, (7), 1 states have call successors, (7) Word has length 43 [2022-04-15 16:09:14,514 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 16:09:14,514 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 2.4) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 1 states have call predecessors, (7), 1 states have call successors, (7) [2022-04-15 16:09:14,516 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 49 transitions. [2022-04-15 16:09:14,516 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 2.4) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 1 states have call predecessors, (7), 1 states have call successors, (7) [2022-04-15 16:09:14,517 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 49 transitions. [2022-04-15 16:09:14,517 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 49 transitions. [2022-04-15 16:09:14,562 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 49 edges. 49 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 16:09:14,564 INFO L225 Difference]: With dead ends: 40 [2022-04-15 16:09:14,564 INFO L226 Difference]: Without dead ends: 37 [2022-04-15 16:09:14,564 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 43 GetRequests, 39 SyntacticMatches, 0 SemanticMatches, 4 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=11, Invalid=19, Unknown=0, NotChecked=0, Total=30 [2022-04-15 16:09:14,565 INFO L913 BasicCegarLoop]: 30 mSDtfsCounter, 7 mSDsluCounter, 75 mSDsCounter, 0 mSdLazyCounter, 41 mSolverCounterSat, 1 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 8 SdHoareTripleChecker+Valid, 105 SdHoareTripleChecker+Invalid, 42 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 1 IncrementalHoareTripleChecker+Valid, 41 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-15 16:09:14,565 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [8 Valid, 105 Invalid, 42 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [1 Valid, 41 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-15 16:09:14,566 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 37 states. [2022-04-15 16:09:14,574 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 37 to 36. [2022-04-15 16:09:14,574 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 16:09:14,574 INFO L82 GeneralOperation]: Start isEquivalent. First operand 37 states. Second operand has 36 states, 20 states have (on average 1.15) internal successors, (23), 21 states have internal predecessors, (23), 11 states have call successors, (11), 5 states have call predecessors, (11), 4 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-15 16:09:14,575 INFO L74 IsIncluded]: Start isIncluded. First operand 37 states. Second operand has 36 states, 20 states have (on average 1.15) internal successors, (23), 21 states have internal predecessors, (23), 11 states have call successors, (11), 5 states have call predecessors, (11), 4 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-15 16:09:14,575 INFO L87 Difference]: Start difference. First operand 37 states. Second operand has 36 states, 20 states have (on average 1.15) internal successors, (23), 21 states have internal predecessors, (23), 11 states have call successors, (11), 5 states have call predecessors, (11), 4 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-15 16:09:14,577 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 16:09:14,577 INFO L93 Difference]: Finished difference Result 37 states and 45 transitions. [2022-04-15 16:09:14,577 INFO L276 IsEmpty]: Start isEmpty. Operand 37 states and 45 transitions. [2022-04-15 16:09:14,577 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 16:09:14,577 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 16:09:14,578 INFO L74 IsIncluded]: Start isIncluded. First operand has 36 states, 20 states have (on average 1.15) internal successors, (23), 21 states have internal predecessors, (23), 11 states have call successors, (11), 5 states have call predecessors, (11), 4 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) Second operand 37 states. [2022-04-15 16:09:14,578 INFO L87 Difference]: Start difference. First operand has 36 states, 20 states have (on average 1.15) internal successors, (23), 21 states have internal predecessors, (23), 11 states have call successors, (11), 5 states have call predecessors, (11), 4 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) Second operand 37 states. [2022-04-15 16:09:14,580 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 16:09:14,580 INFO L93 Difference]: Finished difference Result 37 states and 45 transitions. [2022-04-15 16:09:14,580 INFO L276 IsEmpty]: Start isEmpty. Operand 37 states and 45 transitions. [2022-04-15 16:09:14,581 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 16:09:14,581 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 16:09:14,581 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 16:09:14,581 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 16:09:14,581 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 36 states, 20 states have (on average 1.15) internal successors, (23), 21 states have internal predecessors, (23), 11 states have call successors, (11), 5 states have call predecessors, (11), 4 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-15 16:09:14,583 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 36 states to 36 states and 43 transitions. [2022-04-15 16:09:14,583 INFO L78 Accepts]: Start accepts. Automaton has 36 states and 43 transitions. Word has length 43 [2022-04-15 16:09:14,583 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 16:09:14,583 INFO L478 AbstractCegarLoop]: Abstraction has 36 states and 43 transitions. [2022-04-15 16:09:14,583 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 2.4) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 1 states have call predecessors, (7), 1 states have call successors, (7) [2022-04-15 16:09:14,583 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 36 states and 43 transitions. [2022-04-15 16:09:14,623 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 43 edges. 43 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 16:09:14,623 INFO L276 IsEmpty]: Start isEmpty. Operand 36 states and 43 transitions. [2022-04-15 16:09:14,624 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 52 [2022-04-15 16:09:14,624 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 16:09:14,624 INFO L499 BasicCegarLoop]: trace histogram [6, 6, 6, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 16:09:14,643 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (2)] Forceful destruction successful, exit code 0 [2022-04-15 16:09:14,831 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable1,2 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 16:09:14,832 INFO L403 AbstractCegarLoop]: === Iteration 3 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 16:09:14,832 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 16:09:14,832 INFO L85 PathProgramCache]: Analyzing trace with hash 1555618915, now seen corresponding path program 1 times [2022-04-15 16:09:14,832 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 16:09:14,832 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1376213060] [2022-04-15 16:09:14,833 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 16:09:14,833 INFO L85 PathProgramCache]: Analyzing trace with hash 1555618915, now seen corresponding path program 2 times [2022-04-15 16:09:14,833 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 16:09:14,833 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [689487996] [2022-04-15 16:09:14,833 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 16:09:14,833 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 16:09:14,850 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 16:09:14,851 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [160469020] [2022-04-15 16:09:14,851 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-15 16:09:14,851 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 16:09:14,851 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 16:09:14,852 INFO L229 MonitoredProcess]: Starting monitored process 3 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-15 16:09:14,853 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (3)] Waiting until timeout for monitored process [2022-04-15 16:09:14,912 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-15 16:09:14,912 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 16:09:14,913 INFO L263 TraceCheckSpWp]: Trace formula consists of 145 conjuncts, 15 conjunts are in the unsatisfiable core [2022-04-15 16:09:14,925 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 16:09:14,928 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 16:09:16,202 INFO L272 TraceCheckUtils]: 0: Hoare triple {668#true} call ULTIMATE.init(); {668#true} is VALID [2022-04-15 16:09:16,203 INFO L290 TraceCheckUtils]: 1: Hoare triple {668#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(7, 2);call write~init~int(108, 2, 0, 1);call write~init~int(99, 2, 1, 1);call write~init~int(109, 2, 2, 1);call write~init~int(50, 2, 3, 1);call write~init~int(46, 2, 4, 1);call write~init~int(99, 2, 5, 1);call write~init~int(0, 2, 6, 1);call #Ultimate.allocInit(12, 3); {668#true} is VALID [2022-04-15 16:09:16,203 INFO L290 TraceCheckUtils]: 2: Hoare triple {668#true} assume true; {668#true} is VALID [2022-04-15 16:09:16,203 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {668#true} {668#true} #79#return; {668#true} is VALID [2022-04-15 16:09:16,203 INFO L272 TraceCheckUtils]: 4: Hoare triple {668#true} call #t~ret6 := main(); {668#true} is VALID [2022-04-15 16:09:16,203 INFO L290 TraceCheckUtils]: 5: Hoare triple {668#true} havoc ~a~0;havoc ~b~0;havoc ~x~0;havoc ~y~0;havoc ~u~0;havoc ~v~0;~a~0 := #t~nondet4;havoc #t~nondet4; {668#true} is VALID [2022-04-15 16:09:16,203 INFO L272 TraceCheckUtils]: 6: Hoare triple {668#true} call assume_abort_if_not((if ~a~0 % 4294967296 >= 0 && ~a~0 % 4294967296 <= 1 then 1 else 0)); {668#true} is VALID [2022-04-15 16:09:16,204 INFO L290 TraceCheckUtils]: 7: Hoare triple {668#true} ~cond := #in~cond; {694#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-15 16:09:16,206 INFO L290 TraceCheckUtils]: 8: Hoare triple {694#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {698#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 16:09:16,206 INFO L290 TraceCheckUtils]: 9: Hoare triple {698#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {698#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 16:09:16,210 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {698#(not (= |assume_abort_if_not_#in~cond| 0))} {668#true} #63#return; {705#(<= (mod main_~a~0 4294967296) 1)} is VALID [2022-04-15 16:09:16,210 INFO L290 TraceCheckUtils]: 11: Hoare triple {705#(<= (mod main_~a~0 4294967296) 1)} ~b~0 := #t~nondet5;havoc #t~nondet5; {705#(<= (mod main_~a~0 4294967296) 1)} is VALID [2022-04-15 16:09:16,211 INFO L272 TraceCheckUtils]: 12: Hoare triple {705#(<= (mod main_~a~0 4294967296) 1)} call assume_abort_if_not((if ~b~0 % 4294967296 >= 0 && ~b~0 % 4294967296 <= 1 then 1 else 0)); {668#true} is VALID [2022-04-15 16:09:16,211 INFO L290 TraceCheckUtils]: 13: Hoare triple {668#true} ~cond := #in~cond; {668#true} is VALID [2022-04-15 16:09:16,211 INFO L290 TraceCheckUtils]: 14: Hoare triple {668#true} assume !(0 == ~cond); {668#true} is VALID [2022-04-15 16:09:16,211 INFO L290 TraceCheckUtils]: 15: Hoare triple {668#true} assume true; {668#true} is VALID [2022-04-15 16:09:16,228 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {668#true} {705#(<= (mod main_~a~0 4294967296) 1)} #65#return; {705#(<= (mod main_~a~0 4294967296) 1)} is VALID [2022-04-15 16:09:16,228 INFO L272 TraceCheckUtils]: 17: Hoare triple {705#(<= (mod main_~a~0 4294967296) 1)} call assume_abort_if_not((if ~a~0 % 4294967296 >= 1 then 1 else 0)); {668#true} is VALID [2022-04-15 16:09:16,228 INFO L290 TraceCheckUtils]: 18: Hoare triple {668#true} ~cond := #in~cond; {668#true} is VALID [2022-04-15 16:09:16,228 INFO L290 TraceCheckUtils]: 19: Hoare triple {668#true} assume !(0 == ~cond); {668#true} is VALID [2022-04-15 16:09:16,228 INFO L290 TraceCheckUtils]: 20: Hoare triple {668#true} assume true; {668#true} is VALID [2022-04-15 16:09:16,229 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {668#true} {705#(<= (mod main_~a~0 4294967296) 1)} #67#return; {705#(<= (mod main_~a~0 4294967296) 1)} is VALID [2022-04-15 16:09:16,229 INFO L272 TraceCheckUtils]: 22: Hoare triple {705#(<= (mod main_~a~0 4294967296) 1)} call assume_abort_if_not((if ~b~0 % 4294967296 >= 1 then 1 else 0)); {668#true} is VALID [2022-04-15 16:09:16,229 INFO L290 TraceCheckUtils]: 23: Hoare triple {668#true} ~cond := #in~cond; {694#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-15 16:09:16,230 INFO L290 TraceCheckUtils]: 24: Hoare triple {694#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {698#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 16:09:16,230 INFO L290 TraceCheckUtils]: 25: Hoare triple {698#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {698#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 16:09:16,230 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {698#(not (= |assume_abort_if_not_#in~cond| 0))} {705#(<= (mod main_~a~0 4294967296) 1)} #69#return; {754#(and (<= (mod main_~a~0 4294967296) 1) (<= 1 (mod main_~b~0 4294967296)))} is VALID [2022-04-15 16:09:16,231 INFO L272 TraceCheckUtils]: 27: Hoare triple {754#(and (<= (mod main_~a~0 4294967296) 1) (<= 1 (mod main_~b~0 4294967296)))} call assume_abort_if_not((if ~a~0 % 4294967296 <= 65535 then 1 else 0)); {668#true} is VALID [2022-04-15 16:09:16,231 INFO L290 TraceCheckUtils]: 28: Hoare triple {668#true} ~cond := #in~cond; {668#true} is VALID [2022-04-15 16:09:16,231 INFO L290 TraceCheckUtils]: 29: Hoare triple {668#true} assume !(0 == ~cond); {668#true} is VALID [2022-04-15 16:09:16,231 INFO L290 TraceCheckUtils]: 30: Hoare triple {668#true} assume true; {668#true} is VALID [2022-04-15 16:09:16,231 INFO L284 TraceCheckUtils]: 31: Hoare quadruple {668#true} {754#(and (<= (mod main_~a~0 4294967296) 1) (<= 1 (mod main_~b~0 4294967296)))} #71#return; {754#(and (<= (mod main_~a~0 4294967296) 1) (<= 1 (mod main_~b~0 4294967296)))} is VALID [2022-04-15 16:09:16,231 INFO L272 TraceCheckUtils]: 32: Hoare triple {754#(and (<= (mod main_~a~0 4294967296) 1) (<= 1 (mod main_~b~0 4294967296)))} call assume_abort_if_not((if ~b~0 % 4294967296 <= 65535 then 1 else 0)); {668#true} is VALID [2022-04-15 16:09:16,231 INFO L290 TraceCheckUtils]: 33: Hoare triple {668#true} ~cond := #in~cond; {668#true} is VALID [2022-04-15 16:09:16,232 INFO L290 TraceCheckUtils]: 34: Hoare triple {668#true} assume !(0 == ~cond); {668#true} is VALID [2022-04-15 16:09:16,232 INFO L290 TraceCheckUtils]: 35: Hoare triple {668#true} assume true; {668#true} is VALID [2022-04-15 16:09:16,232 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {668#true} {754#(and (<= (mod main_~a~0 4294967296) 1) (<= 1 (mod main_~b~0 4294967296)))} #73#return; {754#(and (<= (mod main_~a~0 4294967296) 1) (<= 1 (mod main_~b~0 4294967296)))} is VALID [2022-04-15 16:09:16,232 INFO L290 TraceCheckUtils]: 37: Hoare triple {754#(and (<= (mod main_~a~0 4294967296) 1) (<= 1 (mod main_~b~0 4294967296)))} ~x~0 := ~a~0;~y~0 := ~b~0;~u~0 := ~b~0;~v~0 := ~a~0; {788#(and (<= (mod main_~x~0 4294967296) 1) (<= 1 (mod main_~y~0 4294967296)))} is VALID [2022-04-15 16:09:16,233 INFO L290 TraceCheckUtils]: 38: Hoare triple {788#(and (<= (mod main_~x~0 4294967296) 1) (<= 1 (mod main_~y~0 4294967296)))} assume !false; {788#(and (<= (mod main_~x~0 4294967296) 1) (<= 1 (mod main_~y~0 4294967296)))} is VALID [2022-04-15 16:09:16,233 INFO L272 TraceCheckUtils]: 39: Hoare triple {788#(and (<= (mod main_~x~0 4294967296) 1) (<= 1 (mod main_~y~0 4294967296)))} call __VERIFIER_assert((if (~x~0 * ~u~0 + ~y~0 * ~v~0) % 4294967296 == 2 * ~a~0 * ~b~0 % 4294967296 then 1 else 0)); {668#true} is VALID [2022-04-15 16:09:16,233 INFO L290 TraceCheckUtils]: 40: Hoare triple {668#true} ~cond := #in~cond; {668#true} is VALID [2022-04-15 16:09:16,233 INFO L290 TraceCheckUtils]: 41: Hoare triple {668#true} assume !(0 == ~cond); {668#true} is VALID [2022-04-15 16:09:16,233 INFO L290 TraceCheckUtils]: 42: Hoare triple {668#true} assume true; {668#true} is VALID [2022-04-15 16:09:16,234 INFO L284 TraceCheckUtils]: 43: Hoare quadruple {668#true} {788#(and (<= (mod main_~x~0 4294967296) 1) (<= 1 (mod main_~y~0 4294967296)))} #75#return; {788#(and (<= (mod main_~x~0 4294967296) 1) (<= 1 (mod main_~y~0 4294967296)))} is VALID [2022-04-15 16:09:16,234 INFO L290 TraceCheckUtils]: 44: Hoare triple {788#(and (<= (mod main_~x~0 4294967296) 1) (<= 1 (mod main_~y~0 4294967296)))} assume !!(~x~0 % 4294967296 != ~y~0 % 4294967296); {788#(and (<= (mod main_~x~0 4294967296) 1) (<= 1 (mod main_~y~0 4294967296)))} is VALID [2022-04-15 16:09:16,235 INFO L290 TraceCheckUtils]: 45: Hoare triple {788#(and (<= (mod main_~x~0 4294967296) 1) (<= 1 (mod main_~y~0 4294967296)))} assume ~x~0 % 4294967296 > ~y~0 % 4294967296;~x~0 := ~x~0 - ~y~0;~v~0 := ~v~0 + ~u~0; {669#false} is VALID [2022-04-15 16:09:16,235 INFO L290 TraceCheckUtils]: 46: Hoare triple {669#false} assume !false; {669#false} is VALID [2022-04-15 16:09:16,235 INFO L272 TraceCheckUtils]: 47: Hoare triple {669#false} call __VERIFIER_assert((if (~x~0 * ~u~0 + ~y~0 * ~v~0) % 4294967296 == 2 * ~a~0 * ~b~0 % 4294967296 then 1 else 0)); {669#false} is VALID [2022-04-15 16:09:16,235 INFO L290 TraceCheckUtils]: 48: Hoare triple {669#false} ~cond := #in~cond; {669#false} is VALID [2022-04-15 16:09:16,235 INFO L290 TraceCheckUtils]: 49: Hoare triple {669#false} assume 0 == ~cond; {669#false} is VALID [2022-04-15 16:09:16,236 INFO L290 TraceCheckUtils]: 50: Hoare triple {669#false} assume !false; {669#false} is VALID [2022-04-15 16:09:16,236 INFO L134 CoverageAnalysis]: Checked inductivity of 64 backedges. 10 proven. 18 refuted. 0 times theorem prover too weak. 36 trivial. 0 not checked. [2022-04-15 16:09:16,236 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 16:09:17,487 INFO L290 TraceCheckUtils]: 50: Hoare triple {669#false} assume !false; {669#false} is VALID [2022-04-15 16:09:17,487 INFO L290 TraceCheckUtils]: 49: Hoare triple {669#false} assume 0 == ~cond; {669#false} is VALID [2022-04-15 16:09:17,487 INFO L290 TraceCheckUtils]: 48: Hoare triple {669#false} ~cond := #in~cond; {669#false} is VALID [2022-04-15 16:09:17,487 INFO L272 TraceCheckUtils]: 47: Hoare triple {669#false} call __VERIFIER_assert((if (~x~0 * ~u~0 + ~y~0 * ~v~0) % 4294967296 == 2 * ~a~0 * ~b~0 % 4294967296 then 1 else 0)); {669#false} is VALID [2022-04-15 16:09:17,487 INFO L290 TraceCheckUtils]: 46: Hoare triple {669#false} assume !false; {669#false} is VALID [2022-04-15 16:09:17,489 INFO L290 TraceCheckUtils]: 45: Hoare triple {843#(not (< (mod main_~y~0 4294967296) (mod main_~x~0 4294967296)))} assume ~x~0 % 4294967296 > ~y~0 % 4294967296;~x~0 := ~x~0 - ~y~0;~v~0 := ~v~0 + ~u~0; {669#false} is VALID [2022-04-15 16:09:17,489 INFO L290 TraceCheckUtils]: 44: Hoare triple {843#(not (< (mod main_~y~0 4294967296) (mod main_~x~0 4294967296)))} assume !!(~x~0 % 4294967296 != ~y~0 % 4294967296); {843#(not (< (mod main_~y~0 4294967296) (mod main_~x~0 4294967296)))} is VALID [2022-04-15 16:09:17,490 INFO L284 TraceCheckUtils]: 43: Hoare quadruple {668#true} {843#(not (< (mod main_~y~0 4294967296) (mod main_~x~0 4294967296)))} #75#return; {843#(not (< (mod main_~y~0 4294967296) (mod main_~x~0 4294967296)))} is VALID [2022-04-15 16:09:17,490 INFO L290 TraceCheckUtils]: 42: Hoare triple {668#true} assume true; {668#true} is VALID [2022-04-15 16:09:17,490 INFO L290 TraceCheckUtils]: 41: Hoare triple {668#true} assume !(0 == ~cond); {668#true} is VALID [2022-04-15 16:09:17,491 INFO L290 TraceCheckUtils]: 40: Hoare triple {668#true} ~cond := #in~cond; {668#true} is VALID [2022-04-15 16:09:17,491 INFO L272 TraceCheckUtils]: 39: Hoare triple {843#(not (< (mod main_~y~0 4294967296) (mod main_~x~0 4294967296)))} call __VERIFIER_assert((if (~x~0 * ~u~0 + ~y~0 * ~v~0) % 4294967296 == 2 * ~a~0 * ~b~0 % 4294967296 then 1 else 0)); {668#true} is VALID [2022-04-15 16:09:17,491 INFO L290 TraceCheckUtils]: 38: Hoare triple {843#(not (< (mod main_~y~0 4294967296) (mod main_~x~0 4294967296)))} assume !false; {843#(not (< (mod main_~y~0 4294967296) (mod main_~x~0 4294967296)))} is VALID [2022-04-15 16:09:17,491 INFO L290 TraceCheckUtils]: 37: Hoare triple {868#(not (< (mod main_~b~0 4294967296) (mod main_~a~0 4294967296)))} ~x~0 := ~a~0;~y~0 := ~b~0;~u~0 := ~b~0;~v~0 := ~a~0; {843#(not (< (mod main_~y~0 4294967296) (mod main_~x~0 4294967296)))} is VALID [2022-04-15 16:09:17,492 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {668#true} {868#(not (< (mod main_~b~0 4294967296) (mod main_~a~0 4294967296)))} #73#return; {868#(not (< (mod main_~b~0 4294967296) (mod main_~a~0 4294967296)))} is VALID [2022-04-15 16:09:17,492 INFO L290 TraceCheckUtils]: 35: Hoare triple {668#true} assume true; {668#true} is VALID [2022-04-15 16:09:17,492 INFO L290 TraceCheckUtils]: 34: Hoare triple {668#true} assume !(0 == ~cond); {668#true} is VALID [2022-04-15 16:09:17,492 INFO L290 TraceCheckUtils]: 33: Hoare triple {668#true} ~cond := #in~cond; {668#true} is VALID [2022-04-15 16:09:17,493 INFO L272 TraceCheckUtils]: 32: Hoare triple {868#(not (< (mod main_~b~0 4294967296) (mod main_~a~0 4294967296)))} call assume_abort_if_not((if ~b~0 % 4294967296 <= 65535 then 1 else 0)); {668#true} is VALID [2022-04-15 16:09:17,493 INFO L284 TraceCheckUtils]: 31: Hoare quadruple {668#true} {868#(not (< (mod main_~b~0 4294967296) (mod main_~a~0 4294967296)))} #71#return; {868#(not (< (mod main_~b~0 4294967296) (mod main_~a~0 4294967296)))} is VALID [2022-04-15 16:09:17,493 INFO L290 TraceCheckUtils]: 30: Hoare triple {668#true} assume true; {668#true} is VALID [2022-04-15 16:09:17,493 INFO L290 TraceCheckUtils]: 29: Hoare triple {668#true} assume !(0 == ~cond); {668#true} is VALID [2022-04-15 16:09:17,493 INFO L290 TraceCheckUtils]: 28: Hoare triple {668#true} ~cond := #in~cond; {668#true} is VALID [2022-04-15 16:09:17,496 INFO L272 TraceCheckUtils]: 27: Hoare triple {868#(not (< (mod main_~b~0 4294967296) (mod main_~a~0 4294967296)))} call assume_abort_if_not((if ~a~0 % 4294967296 <= 65535 then 1 else 0)); {668#true} is VALID [2022-04-15 16:09:17,497 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {698#(not (= |assume_abort_if_not_#in~cond| 0))} {705#(<= (mod main_~a~0 4294967296) 1)} #69#return; {868#(not (< (mod main_~b~0 4294967296) (mod main_~a~0 4294967296)))} is VALID [2022-04-15 16:09:17,498 INFO L290 TraceCheckUtils]: 25: Hoare triple {698#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {698#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 16:09:17,498 INFO L290 TraceCheckUtils]: 24: Hoare triple {911#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} assume !(0 == ~cond); {698#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 16:09:17,498 INFO L290 TraceCheckUtils]: 23: Hoare triple {668#true} ~cond := #in~cond; {911#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} is VALID [2022-04-15 16:09:17,499 INFO L272 TraceCheckUtils]: 22: Hoare triple {705#(<= (mod main_~a~0 4294967296) 1)} call assume_abort_if_not((if ~b~0 % 4294967296 >= 1 then 1 else 0)); {668#true} is VALID [2022-04-15 16:09:17,499 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {668#true} {705#(<= (mod main_~a~0 4294967296) 1)} #67#return; {705#(<= (mod main_~a~0 4294967296) 1)} is VALID [2022-04-15 16:09:17,499 INFO L290 TraceCheckUtils]: 20: Hoare triple {668#true} assume true; {668#true} is VALID [2022-04-15 16:09:17,499 INFO L290 TraceCheckUtils]: 19: Hoare triple {668#true} assume !(0 == ~cond); {668#true} is VALID [2022-04-15 16:09:17,499 INFO L290 TraceCheckUtils]: 18: Hoare triple {668#true} ~cond := #in~cond; {668#true} is VALID [2022-04-15 16:09:17,499 INFO L272 TraceCheckUtils]: 17: Hoare triple {705#(<= (mod main_~a~0 4294967296) 1)} call assume_abort_if_not((if ~a~0 % 4294967296 >= 1 then 1 else 0)); {668#true} is VALID [2022-04-15 16:09:17,500 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {668#true} {705#(<= (mod main_~a~0 4294967296) 1)} #65#return; {705#(<= (mod main_~a~0 4294967296) 1)} is VALID [2022-04-15 16:09:17,500 INFO L290 TraceCheckUtils]: 15: Hoare triple {668#true} assume true; {668#true} is VALID [2022-04-15 16:09:17,500 INFO L290 TraceCheckUtils]: 14: Hoare triple {668#true} assume !(0 == ~cond); {668#true} is VALID [2022-04-15 16:09:17,500 INFO L290 TraceCheckUtils]: 13: Hoare triple {668#true} ~cond := #in~cond; {668#true} is VALID [2022-04-15 16:09:17,500 INFO L272 TraceCheckUtils]: 12: Hoare triple {705#(<= (mod main_~a~0 4294967296) 1)} call assume_abort_if_not((if ~b~0 % 4294967296 >= 0 && ~b~0 % 4294967296 <= 1 then 1 else 0)); {668#true} is VALID [2022-04-15 16:09:17,501 INFO L290 TraceCheckUtils]: 11: Hoare triple {705#(<= (mod main_~a~0 4294967296) 1)} ~b~0 := #t~nondet5;havoc #t~nondet5; {705#(<= (mod main_~a~0 4294967296) 1)} is VALID [2022-04-15 16:09:17,501 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {698#(not (= |assume_abort_if_not_#in~cond| 0))} {668#true} #63#return; {705#(<= (mod main_~a~0 4294967296) 1)} is VALID [2022-04-15 16:09:17,501 INFO L290 TraceCheckUtils]: 9: Hoare triple {698#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {698#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 16:09:17,502 INFO L290 TraceCheckUtils]: 8: Hoare triple {911#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} assume !(0 == ~cond); {698#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 16:09:17,503 INFO L290 TraceCheckUtils]: 7: Hoare triple {668#true} ~cond := #in~cond; {911#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} is VALID [2022-04-15 16:09:17,503 INFO L272 TraceCheckUtils]: 6: Hoare triple {668#true} call assume_abort_if_not((if ~a~0 % 4294967296 >= 0 && ~a~0 % 4294967296 <= 1 then 1 else 0)); {668#true} is VALID [2022-04-15 16:09:17,503 INFO L290 TraceCheckUtils]: 5: Hoare triple {668#true} havoc ~a~0;havoc ~b~0;havoc ~x~0;havoc ~y~0;havoc ~u~0;havoc ~v~0;~a~0 := #t~nondet4;havoc #t~nondet4; {668#true} is VALID [2022-04-15 16:09:17,503 INFO L272 TraceCheckUtils]: 4: Hoare triple {668#true} call #t~ret6 := main(); {668#true} is VALID [2022-04-15 16:09:17,503 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {668#true} {668#true} #79#return; {668#true} is VALID [2022-04-15 16:09:17,503 INFO L290 TraceCheckUtils]: 2: Hoare triple {668#true} assume true; {668#true} is VALID [2022-04-15 16:09:17,503 INFO L290 TraceCheckUtils]: 1: Hoare triple {668#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(7, 2);call write~init~int(108, 2, 0, 1);call write~init~int(99, 2, 1, 1);call write~init~int(109, 2, 2, 1);call write~init~int(50, 2, 3, 1);call write~init~int(46, 2, 4, 1);call write~init~int(99, 2, 5, 1);call write~init~int(0, 2, 6, 1);call #Ultimate.allocInit(12, 3); {668#true} is VALID [2022-04-15 16:09:17,503 INFO L272 TraceCheckUtils]: 0: Hoare triple {668#true} call ULTIMATE.init(); {668#true} is VALID [2022-04-15 16:09:17,504 INFO L134 CoverageAnalysis]: Checked inductivity of 64 backedges. 10 proven. 18 refuted. 0 times theorem prover too weak. 36 trivial. 0 not checked. [2022-04-15 16:09:17,504 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 16:09:17,504 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [689487996] [2022-04-15 16:09:17,504 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 16:09:17,504 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [160469020] [2022-04-15 16:09:17,504 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [160469020] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 16:09:17,504 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 16:09:17,504 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [7, 7] total 10 [2022-04-15 16:09:17,505 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 16:09:17,505 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1376213060] [2022-04-15 16:09:17,505 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1376213060] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 16:09:17,505 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 16:09:17,505 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [7] imperfect sequences [] total 7 [2022-04-15 16:09:17,505 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [146994207] [2022-04-15 16:09:17,505 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 16:09:17,506 INFO L78 Accepts]: Start accepts. Automaton has has 7 states, 7 states have (on average 3.0) internal successors, (21), 6 states have internal predecessors, (21), 5 states have call successors, (10), 2 states have call predecessors, (10), 2 states have return successors, (8), 4 states have call predecessors, (8), 4 states have call successors, (8) Word has length 51 [2022-04-15 16:09:17,507 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 16:09:17,508 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 7 states, 7 states have (on average 3.0) internal successors, (21), 6 states have internal predecessors, (21), 5 states have call successors, (10), 2 states have call predecessors, (10), 2 states have return successors, (8), 4 states have call predecessors, (8), 4 states have call successors, (8) [2022-04-15 16:09:17,532 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 39 edges. 39 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 16:09:17,532 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 7 states [2022-04-15 16:09:17,532 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 16:09:17,532 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2022-04-15 16:09:17,532 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=22, Invalid=68, Unknown=0, NotChecked=0, Total=90 [2022-04-15 16:09:17,533 INFO L87 Difference]: Start difference. First operand 36 states and 43 transitions. Second operand has 7 states, 7 states have (on average 3.0) internal successors, (21), 6 states have internal predecessors, (21), 5 states have call successors, (10), 2 states have call predecessors, (10), 2 states have return successors, (8), 4 states have call predecessors, (8), 4 states have call successors, (8) [2022-04-15 16:09:17,929 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 16:09:17,930 INFO L93 Difference]: Finished difference Result 50 states and 60 transitions. [2022-04-15 16:09:17,930 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-04-15 16:09:17,930 INFO L78 Accepts]: Start accepts. Automaton has has 7 states, 7 states have (on average 3.0) internal successors, (21), 6 states have internal predecessors, (21), 5 states have call successors, (10), 2 states have call predecessors, (10), 2 states have return successors, (8), 4 states have call predecessors, (8), 4 states have call successors, (8) Word has length 51 [2022-04-15 16:09:17,930 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 16:09:17,930 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 7 states, 7 states have (on average 3.0) internal successors, (21), 6 states have internal predecessors, (21), 5 states have call successors, (10), 2 states have call predecessors, (10), 2 states have return successors, (8), 4 states have call predecessors, (8), 4 states have call successors, (8) [2022-04-15 16:09:17,932 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 57 transitions. [2022-04-15 16:09:17,932 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 7 states, 7 states have (on average 3.0) internal successors, (21), 6 states have internal predecessors, (21), 5 states have call successors, (10), 2 states have call predecessors, (10), 2 states have return successors, (8), 4 states have call predecessors, (8), 4 states have call successors, (8) [2022-04-15 16:09:17,933 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 57 transitions. [2022-04-15 16:09:17,934 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 8 states and 57 transitions. [2022-04-15 16:09:17,981 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 57 edges. 57 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 16:09:17,983 INFO L225 Difference]: With dead ends: 50 [2022-04-15 16:09:17,983 INFO L226 Difference]: Without dead ends: 39 [2022-04-15 16:09:17,983 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 103 GetRequests, 92 SyntacticMatches, 1 SemanticMatches, 10 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 10 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=34, Invalid=98, Unknown=0, NotChecked=0, Total=132 [2022-04-15 16:09:17,984 INFO L913 BasicCegarLoop]: 27 mSDtfsCounter, 19 mSDsluCounter, 66 mSDsCounter, 0 mSdLazyCounter, 79 mSolverCounterSat, 8 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 21 SdHoareTripleChecker+Valid, 93 SdHoareTripleChecker+Invalid, 87 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 8 IncrementalHoareTripleChecker+Valid, 79 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-04-15 16:09:17,985 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [21 Valid, 93 Invalid, 87 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [8 Valid, 79 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-04-15 16:09:17,985 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 39 states. [2022-04-15 16:09:18,011 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 39 to 37. [2022-04-15 16:09:18,011 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 16:09:18,012 INFO L82 GeneralOperation]: Start isEquivalent. First operand 39 states. Second operand has 37 states, 21 states have (on average 1.1428571428571428) internal successors, (24), 22 states have internal predecessors, (24), 11 states have call successors, (11), 5 states have call predecessors, (11), 4 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-15 16:09:18,012 INFO L74 IsIncluded]: Start isIncluded. First operand 39 states. Second operand has 37 states, 21 states have (on average 1.1428571428571428) internal successors, (24), 22 states have internal predecessors, (24), 11 states have call successors, (11), 5 states have call predecessors, (11), 4 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-15 16:09:18,012 INFO L87 Difference]: Start difference. First operand 39 states. Second operand has 37 states, 21 states have (on average 1.1428571428571428) internal successors, (24), 22 states have internal predecessors, (24), 11 states have call successors, (11), 5 states have call predecessors, (11), 4 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-15 16:09:18,014 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 16:09:18,014 INFO L93 Difference]: Finished difference Result 39 states and 46 transitions. [2022-04-15 16:09:18,014 INFO L276 IsEmpty]: Start isEmpty. Operand 39 states and 46 transitions. [2022-04-15 16:09:18,014 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 16:09:18,014 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 16:09:18,015 INFO L74 IsIncluded]: Start isIncluded. First operand has 37 states, 21 states have (on average 1.1428571428571428) internal successors, (24), 22 states have internal predecessors, (24), 11 states have call successors, (11), 5 states have call predecessors, (11), 4 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) Second operand 39 states. [2022-04-15 16:09:18,015 INFO L87 Difference]: Start difference. First operand has 37 states, 21 states have (on average 1.1428571428571428) internal successors, (24), 22 states have internal predecessors, (24), 11 states have call successors, (11), 5 states have call predecessors, (11), 4 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) Second operand 39 states. [2022-04-15 16:09:18,016 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 16:09:18,016 INFO L93 Difference]: Finished difference Result 39 states and 46 transitions. [2022-04-15 16:09:18,016 INFO L276 IsEmpty]: Start isEmpty. Operand 39 states and 46 transitions. [2022-04-15 16:09:18,017 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 16:09:18,017 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 16:09:18,017 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 16:09:18,017 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 16:09:18,017 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 37 states, 21 states have (on average 1.1428571428571428) internal successors, (24), 22 states have internal predecessors, (24), 11 states have call successors, (11), 5 states have call predecessors, (11), 4 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-15 16:09:18,018 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 37 states to 37 states and 44 transitions. [2022-04-15 16:09:18,018 INFO L78 Accepts]: Start accepts. Automaton has 37 states and 44 transitions. Word has length 51 [2022-04-15 16:09:18,018 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 16:09:18,018 INFO L478 AbstractCegarLoop]: Abstraction has 37 states and 44 transitions. [2022-04-15 16:09:18,019 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 7 states, 7 states have (on average 3.0) internal successors, (21), 6 states have internal predecessors, (21), 5 states have call successors, (10), 2 states have call predecessors, (10), 2 states have return successors, (8), 4 states have call predecessors, (8), 4 states have call successors, (8) [2022-04-15 16:09:18,019 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 37 states and 44 transitions. [2022-04-15 16:09:18,063 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 44 edges. 44 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 16:09:18,063 INFO L276 IsEmpty]: Start isEmpty. Operand 37 states and 44 transitions. [2022-04-15 16:09:18,064 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 52 [2022-04-15 16:09:18,064 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 16:09:18,064 INFO L499 BasicCegarLoop]: trace histogram [6, 6, 6, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 16:09:18,091 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (3)] Forceful destruction successful, exit code 0 [2022-04-15 16:09:18,281 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 3 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable2 [2022-04-15 16:09:18,282 INFO L403 AbstractCegarLoop]: === Iteration 4 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 16:09:18,282 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 16:09:18,282 INFO L85 PathProgramCache]: Analyzing trace with hash 1612877217, now seen corresponding path program 1 times [2022-04-15 16:09:18,282 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 16:09:18,282 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [179397426] [2022-04-15 16:09:18,283 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 16:09:18,283 INFO L85 PathProgramCache]: Analyzing trace with hash 1612877217, now seen corresponding path program 2 times [2022-04-15 16:09:18,283 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 16:09:18,283 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1998115707] [2022-04-15 16:09:18,283 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 16:09:18,283 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 16:09:18,299 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 16:09:18,300 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [574293195] [2022-04-15 16:09:18,300 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-15 16:09:18,300 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 16:09:18,300 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 16:09:18,301 INFO L229 MonitoredProcess]: Starting monitored process 4 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-15 16:09:18,302 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (4)] Waiting until timeout for monitored process [2022-04-15 16:09:18,842 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-15 16:09:18,842 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 16:09:18,844 INFO L263 TraceCheckSpWp]: Trace formula consists of 145 conjuncts, 18 conjunts are in the unsatisfiable core [2022-04-15 16:09:18,858 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 16:09:18,859 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 16:09:20,667 INFO L272 TraceCheckUtils]: 0: Hoare triple {1239#true} call ULTIMATE.init(); {1239#true} is VALID [2022-04-15 16:09:20,667 INFO L290 TraceCheckUtils]: 1: Hoare triple {1239#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(7, 2);call write~init~int(108, 2, 0, 1);call write~init~int(99, 2, 1, 1);call write~init~int(109, 2, 2, 1);call write~init~int(50, 2, 3, 1);call write~init~int(46, 2, 4, 1);call write~init~int(99, 2, 5, 1);call write~init~int(0, 2, 6, 1);call #Ultimate.allocInit(12, 3); {1239#true} is VALID [2022-04-15 16:09:20,668 INFO L290 TraceCheckUtils]: 2: Hoare triple {1239#true} assume true; {1239#true} is VALID [2022-04-15 16:09:20,668 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1239#true} {1239#true} #79#return; {1239#true} is VALID [2022-04-15 16:09:20,668 INFO L272 TraceCheckUtils]: 4: Hoare triple {1239#true} call #t~ret6 := main(); {1239#true} is VALID [2022-04-15 16:09:20,668 INFO L290 TraceCheckUtils]: 5: Hoare triple {1239#true} havoc ~a~0;havoc ~b~0;havoc ~x~0;havoc ~y~0;havoc ~u~0;havoc ~v~0;~a~0 := #t~nondet4;havoc #t~nondet4; {1239#true} is VALID [2022-04-15 16:09:20,668 INFO L272 TraceCheckUtils]: 6: Hoare triple {1239#true} call assume_abort_if_not((if ~a~0 % 4294967296 >= 0 && ~a~0 % 4294967296 <= 1 then 1 else 0)); {1239#true} is VALID [2022-04-15 16:09:20,668 INFO L290 TraceCheckUtils]: 7: Hoare triple {1239#true} ~cond := #in~cond; {1239#true} is VALID [2022-04-15 16:09:20,668 INFO L290 TraceCheckUtils]: 8: Hoare triple {1239#true} assume !(0 == ~cond); {1239#true} is VALID [2022-04-15 16:09:20,668 INFO L290 TraceCheckUtils]: 9: Hoare triple {1239#true} assume true; {1239#true} is VALID [2022-04-15 16:09:20,669 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1239#true} {1239#true} #63#return; {1239#true} is VALID [2022-04-15 16:09:20,669 INFO L290 TraceCheckUtils]: 11: Hoare triple {1239#true} ~b~0 := #t~nondet5;havoc #t~nondet5; {1239#true} is VALID [2022-04-15 16:09:20,669 INFO L272 TraceCheckUtils]: 12: Hoare triple {1239#true} call assume_abort_if_not((if ~b~0 % 4294967296 >= 0 && ~b~0 % 4294967296 <= 1 then 1 else 0)); {1239#true} is VALID [2022-04-15 16:09:20,669 INFO L290 TraceCheckUtils]: 13: Hoare triple {1239#true} ~cond := #in~cond; {1283#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-15 16:09:20,670 INFO L290 TraceCheckUtils]: 14: Hoare triple {1283#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {1287#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 16:09:20,670 INFO L290 TraceCheckUtils]: 15: Hoare triple {1287#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {1287#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 16:09:20,671 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {1287#(not (= |assume_abort_if_not_#in~cond| 0))} {1239#true} #65#return; {1294#(<= (mod main_~b~0 4294967296) 1)} is VALID [2022-04-15 16:09:20,671 INFO L272 TraceCheckUtils]: 17: Hoare triple {1294#(<= (mod main_~b~0 4294967296) 1)} call assume_abort_if_not((if ~a~0 % 4294967296 >= 1 then 1 else 0)); {1239#true} is VALID [2022-04-15 16:09:20,671 INFO L290 TraceCheckUtils]: 18: Hoare triple {1239#true} ~cond := #in~cond; {1283#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-15 16:09:20,671 INFO L290 TraceCheckUtils]: 19: Hoare triple {1283#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {1287#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 16:09:20,672 INFO L290 TraceCheckUtils]: 20: Hoare triple {1287#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {1287#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 16:09:20,672 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {1287#(not (= |assume_abort_if_not_#in~cond| 0))} {1294#(<= (mod main_~b~0 4294967296) 1)} #67#return; {1310#(and (<= 1 (mod main_~a~0 4294967296)) (<= (mod main_~b~0 4294967296) 1))} is VALID [2022-04-15 16:09:20,672 INFO L272 TraceCheckUtils]: 22: Hoare triple {1310#(and (<= 1 (mod main_~a~0 4294967296)) (<= (mod main_~b~0 4294967296) 1))} call assume_abort_if_not((if ~b~0 % 4294967296 >= 1 then 1 else 0)); {1239#true} is VALID [2022-04-15 16:09:20,673 INFO L290 TraceCheckUtils]: 23: Hoare triple {1239#true} ~cond := #in~cond; {1239#true} is VALID [2022-04-15 16:09:20,673 INFO L290 TraceCheckUtils]: 24: Hoare triple {1239#true} assume !(0 == ~cond); {1239#true} is VALID [2022-04-15 16:09:20,673 INFO L290 TraceCheckUtils]: 25: Hoare triple {1239#true} assume true; {1239#true} is VALID [2022-04-15 16:09:20,673 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {1239#true} {1310#(and (<= 1 (mod main_~a~0 4294967296)) (<= (mod main_~b~0 4294967296) 1))} #69#return; {1310#(and (<= 1 (mod main_~a~0 4294967296)) (<= (mod main_~b~0 4294967296) 1))} is VALID [2022-04-15 16:09:20,673 INFO L272 TraceCheckUtils]: 27: Hoare triple {1310#(and (<= 1 (mod main_~a~0 4294967296)) (<= (mod main_~b~0 4294967296) 1))} call assume_abort_if_not((if ~a~0 % 4294967296 <= 65535 then 1 else 0)); {1239#true} is VALID [2022-04-15 16:09:20,674 INFO L290 TraceCheckUtils]: 28: Hoare triple {1239#true} ~cond := #in~cond; {1239#true} is VALID [2022-04-15 16:09:20,674 INFO L290 TraceCheckUtils]: 29: Hoare triple {1239#true} assume !(0 == ~cond); {1239#true} is VALID [2022-04-15 16:09:20,674 INFO L290 TraceCheckUtils]: 30: Hoare triple {1239#true} assume true; {1239#true} is VALID [2022-04-15 16:09:20,679 INFO L284 TraceCheckUtils]: 31: Hoare quadruple {1239#true} {1310#(and (<= 1 (mod main_~a~0 4294967296)) (<= (mod main_~b~0 4294967296) 1))} #71#return; {1310#(and (<= 1 (mod main_~a~0 4294967296)) (<= (mod main_~b~0 4294967296) 1))} is VALID [2022-04-15 16:09:20,679 INFO L272 TraceCheckUtils]: 32: Hoare triple {1310#(and (<= 1 (mod main_~a~0 4294967296)) (<= (mod main_~b~0 4294967296) 1))} call assume_abort_if_not((if ~b~0 % 4294967296 <= 65535 then 1 else 0)); {1239#true} is VALID [2022-04-15 16:09:20,680 INFO L290 TraceCheckUtils]: 33: Hoare triple {1239#true} ~cond := #in~cond; {1239#true} is VALID [2022-04-15 16:09:20,680 INFO L290 TraceCheckUtils]: 34: Hoare triple {1239#true} assume !(0 == ~cond); {1239#true} is VALID [2022-04-15 16:09:20,680 INFO L290 TraceCheckUtils]: 35: Hoare triple {1239#true} assume true; {1239#true} is VALID [2022-04-15 16:09:20,681 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {1239#true} {1310#(and (<= 1 (mod main_~a~0 4294967296)) (<= (mod main_~b~0 4294967296) 1))} #73#return; {1310#(and (<= 1 (mod main_~a~0 4294967296)) (<= (mod main_~b~0 4294967296) 1))} is VALID [2022-04-15 16:09:20,682 INFO L290 TraceCheckUtils]: 37: Hoare triple {1310#(and (<= 1 (mod main_~a~0 4294967296)) (<= (mod main_~b~0 4294967296) 1))} ~x~0 := ~a~0;~y~0 := ~b~0;~u~0 := ~b~0;~v~0 := ~a~0; {1359#(and (<= 1 (mod main_~x~0 4294967296)) (<= (mod main_~y~0 4294967296) 1))} is VALID [2022-04-15 16:09:20,683 INFO L290 TraceCheckUtils]: 38: Hoare triple {1359#(and (<= 1 (mod main_~x~0 4294967296)) (<= (mod main_~y~0 4294967296) 1))} assume !false; {1359#(and (<= 1 (mod main_~x~0 4294967296)) (<= (mod main_~y~0 4294967296) 1))} is VALID [2022-04-15 16:09:20,683 INFO L272 TraceCheckUtils]: 39: Hoare triple {1359#(and (<= 1 (mod main_~x~0 4294967296)) (<= (mod main_~y~0 4294967296) 1))} call __VERIFIER_assert((if (~x~0 * ~u~0 + ~y~0 * ~v~0) % 4294967296 == 2 * ~a~0 * ~b~0 % 4294967296 then 1 else 0)); {1239#true} is VALID [2022-04-15 16:09:20,683 INFO L290 TraceCheckUtils]: 40: Hoare triple {1239#true} ~cond := #in~cond; {1239#true} is VALID [2022-04-15 16:09:20,683 INFO L290 TraceCheckUtils]: 41: Hoare triple {1239#true} assume !(0 == ~cond); {1239#true} is VALID [2022-04-15 16:09:20,683 INFO L290 TraceCheckUtils]: 42: Hoare triple {1239#true} assume true; {1239#true} is VALID [2022-04-15 16:09:20,689 INFO L284 TraceCheckUtils]: 43: Hoare quadruple {1239#true} {1359#(and (<= 1 (mod main_~x~0 4294967296)) (<= (mod main_~y~0 4294967296) 1))} #75#return; {1359#(and (<= 1 (mod main_~x~0 4294967296)) (<= (mod main_~y~0 4294967296) 1))} is VALID [2022-04-15 16:09:20,689 INFO L290 TraceCheckUtils]: 44: Hoare triple {1359#(and (<= 1 (mod main_~x~0 4294967296)) (<= (mod main_~y~0 4294967296) 1))} assume !!(~x~0 % 4294967296 != ~y~0 % 4294967296); {1381#(and (not (= (mod main_~x~0 4294967296) (mod main_~y~0 4294967296))) (<= 1 (mod main_~x~0 4294967296)) (<= (mod main_~y~0 4294967296) 1))} is VALID [2022-04-15 16:09:20,690 INFO L290 TraceCheckUtils]: 45: Hoare triple {1381#(and (not (= (mod main_~x~0 4294967296) (mod main_~y~0 4294967296))) (<= 1 (mod main_~x~0 4294967296)) (<= (mod main_~y~0 4294967296) 1))} assume !(~x~0 % 4294967296 > ~y~0 % 4294967296);~y~0 := ~y~0 - ~x~0;~u~0 := ~u~0 + ~v~0; {1240#false} is VALID [2022-04-15 16:09:20,690 INFO L290 TraceCheckUtils]: 46: Hoare triple {1240#false} assume !false; {1240#false} is VALID [2022-04-15 16:09:20,690 INFO L272 TraceCheckUtils]: 47: Hoare triple {1240#false} call __VERIFIER_assert((if (~x~0 * ~u~0 + ~y~0 * ~v~0) % 4294967296 == 2 * ~a~0 * ~b~0 % 4294967296 then 1 else 0)); {1240#false} is VALID [2022-04-15 16:09:20,691 INFO L290 TraceCheckUtils]: 48: Hoare triple {1240#false} ~cond := #in~cond; {1240#false} is VALID [2022-04-15 16:09:20,691 INFO L290 TraceCheckUtils]: 49: Hoare triple {1240#false} assume 0 == ~cond; {1240#false} is VALID [2022-04-15 16:09:20,691 INFO L290 TraceCheckUtils]: 50: Hoare triple {1240#false} assume !false; {1240#false} is VALID [2022-04-15 16:09:20,691 INFO L134 CoverageAnalysis]: Checked inductivity of 64 backedges. 10 proven. 18 refuted. 0 times theorem prover too weak. 36 trivial. 0 not checked. [2022-04-15 16:09:20,691 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 16:09:23,376 INFO L290 TraceCheckUtils]: 50: Hoare triple {1240#false} assume !false; {1240#false} is VALID [2022-04-15 16:09:23,376 INFO L290 TraceCheckUtils]: 49: Hoare triple {1240#false} assume 0 == ~cond; {1240#false} is VALID [2022-04-15 16:09:23,376 INFO L290 TraceCheckUtils]: 48: Hoare triple {1240#false} ~cond := #in~cond; {1240#false} is VALID [2022-04-15 16:09:23,376 INFO L272 TraceCheckUtils]: 47: Hoare triple {1240#false} call __VERIFIER_assert((if (~x~0 * ~u~0 + ~y~0 * ~v~0) % 4294967296 == 2 * ~a~0 * ~b~0 % 4294967296 then 1 else 0)); {1240#false} is VALID [2022-04-15 16:09:23,377 INFO L290 TraceCheckUtils]: 46: Hoare triple {1240#false} assume !false; {1240#false} is VALID [2022-04-15 16:09:23,377 INFO L290 TraceCheckUtils]: 45: Hoare triple {1415#(< (mod main_~y~0 4294967296) (mod main_~x~0 4294967296))} assume !(~x~0 % 4294967296 > ~y~0 % 4294967296);~y~0 := ~y~0 - ~x~0;~u~0 := ~u~0 + ~v~0; {1240#false} is VALID [2022-04-15 16:09:23,377 INFO L290 TraceCheckUtils]: 44: Hoare triple {1419#(or (< (mod main_~y~0 4294967296) (mod main_~x~0 4294967296)) (= (mod main_~x~0 4294967296) (mod main_~y~0 4294967296)))} assume !!(~x~0 % 4294967296 != ~y~0 % 4294967296); {1415#(< (mod main_~y~0 4294967296) (mod main_~x~0 4294967296))} is VALID [2022-04-15 16:09:23,378 INFO L284 TraceCheckUtils]: 43: Hoare quadruple {1239#true} {1419#(or (< (mod main_~y~0 4294967296) (mod main_~x~0 4294967296)) (= (mod main_~x~0 4294967296) (mod main_~y~0 4294967296)))} #75#return; {1419#(or (< (mod main_~y~0 4294967296) (mod main_~x~0 4294967296)) (= (mod main_~x~0 4294967296) (mod main_~y~0 4294967296)))} is VALID [2022-04-15 16:09:23,378 INFO L290 TraceCheckUtils]: 42: Hoare triple {1239#true} assume true; {1239#true} is VALID [2022-04-15 16:09:23,378 INFO L290 TraceCheckUtils]: 41: Hoare triple {1239#true} assume !(0 == ~cond); {1239#true} is VALID [2022-04-15 16:09:23,378 INFO L290 TraceCheckUtils]: 40: Hoare triple {1239#true} ~cond := #in~cond; {1239#true} is VALID [2022-04-15 16:09:23,378 INFO L272 TraceCheckUtils]: 39: Hoare triple {1419#(or (< (mod main_~y~0 4294967296) (mod main_~x~0 4294967296)) (= (mod main_~x~0 4294967296) (mod main_~y~0 4294967296)))} call __VERIFIER_assert((if (~x~0 * ~u~0 + ~y~0 * ~v~0) % 4294967296 == 2 * ~a~0 * ~b~0 % 4294967296 then 1 else 0)); {1239#true} is VALID [2022-04-15 16:09:23,379 INFO L290 TraceCheckUtils]: 38: Hoare triple {1419#(or (< (mod main_~y~0 4294967296) (mod main_~x~0 4294967296)) (= (mod main_~x~0 4294967296) (mod main_~y~0 4294967296)))} assume !false; {1419#(or (< (mod main_~y~0 4294967296) (mod main_~x~0 4294967296)) (= (mod main_~x~0 4294967296) (mod main_~y~0 4294967296)))} is VALID [2022-04-15 16:09:23,379 INFO L290 TraceCheckUtils]: 37: Hoare triple {1441#(or (< (mod main_~b~0 4294967296) (mod main_~a~0 4294967296)) (= (mod main_~a~0 4294967296) (mod main_~b~0 4294967296)))} ~x~0 := ~a~0;~y~0 := ~b~0;~u~0 := ~b~0;~v~0 := ~a~0; {1419#(or (< (mod main_~y~0 4294967296) (mod main_~x~0 4294967296)) (= (mod main_~x~0 4294967296) (mod main_~y~0 4294967296)))} is VALID [2022-04-15 16:09:23,379 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {1239#true} {1441#(or (< (mod main_~b~0 4294967296) (mod main_~a~0 4294967296)) (= (mod main_~a~0 4294967296) (mod main_~b~0 4294967296)))} #73#return; {1441#(or (< (mod main_~b~0 4294967296) (mod main_~a~0 4294967296)) (= (mod main_~a~0 4294967296) (mod main_~b~0 4294967296)))} is VALID [2022-04-15 16:09:23,380 INFO L290 TraceCheckUtils]: 35: Hoare triple {1239#true} assume true; {1239#true} is VALID [2022-04-15 16:09:23,380 INFO L290 TraceCheckUtils]: 34: Hoare triple {1239#true} assume !(0 == ~cond); {1239#true} is VALID [2022-04-15 16:09:23,380 INFO L290 TraceCheckUtils]: 33: Hoare triple {1239#true} ~cond := #in~cond; {1239#true} is VALID [2022-04-15 16:09:23,380 INFO L272 TraceCheckUtils]: 32: Hoare triple {1441#(or (< (mod main_~b~0 4294967296) (mod main_~a~0 4294967296)) (= (mod main_~a~0 4294967296) (mod main_~b~0 4294967296)))} call assume_abort_if_not((if ~b~0 % 4294967296 <= 65535 then 1 else 0)); {1239#true} is VALID [2022-04-15 16:09:23,380 INFO L284 TraceCheckUtils]: 31: Hoare quadruple {1239#true} {1441#(or (< (mod main_~b~0 4294967296) (mod main_~a~0 4294967296)) (= (mod main_~a~0 4294967296) (mod main_~b~0 4294967296)))} #71#return; {1441#(or (< (mod main_~b~0 4294967296) (mod main_~a~0 4294967296)) (= (mod main_~a~0 4294967296) (mod main_~b~0 4294967296)))} is VALID [2022-04-15 16:09:23,380 INFO L290 TraceCheckUtils]: 30: Hoare triple {1239#true} assume true; {1239#true} is VALID [2022-04-15 16:09:23,380 INFO L290 TraceCheckUtils]: 29: Hoare triple {1239#true} assume !(0 == ~cond); {1239#true} is VALID [2022-04-15 16:09:23,381 INFO L290 TraceCheckUtils]: 28: Hoare triple {1239#true} ~cond := #in~cond; {1239#true} is VALID [2022-04-15 16:09:23,381 INFO L272 TraceCheckUtils]: 27: Hoare triple {1441#(or (< (mod main_~b~0 4294967296) (mod main_~a~0 4294967296)) (= (mod main_~a~0 4294967296) (mod main_~b~0 4294967296)))} call assume_abort_if_not((if ~a~0 % 4294967296 <= 65535 then 1 else 0)); {1239#true} is VALID [2022-04-15 16:09:23,381 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {1239#true} {1441#(or (< (mod main_~b~0 4294967296) (mod main_~a~0 4294967296)) (= (mod main_~a~0 4294967296) (mod main_~b~0 4294967296)))} #69#return; {1441#(or (< (mod main_~b~0 4294967296) (mod main_~a~0 4294967296)) (= (mod main_~a~0 4294967296) (mod main_~b~0 4294967296)))} is VALID [2022-04-15 16:09:23,381 INFO L290 TraceCheckUtils]: 25: Hoare triple {1239#true} assume true; {1239#true} is VALID [2022-04-15 16:09:23,381 INFO L290 TraceCheckUtils]: 24: Hoare triple {1239#true} assume !(0 == ~cond); {1239#true} is VALID [2022-04-15 16:09:23,381 INFO L290 TraceCheckUtils]: 23: Hoare triple {1239#true} ~cond := #in~cond; {1239#true} is VALID [2022-04-15 16:09:23,381 INFO L272 TraceCheckUtils]: 22: Hoare triple {1441#(or (< (mod main_~b~0 4294967296) (mod main_~a~0 4294967296)) (= (mod main_~a~0 4294967296) (mod main_~b~0 4294967296)))} call assume_abort_if_not((if ~b~0 % 4294967296 >= 1 then 1 else 0)); {1239#true} is VALID [2022-04-15 16:09:23,382 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {1287#(not (= |assume_abort_if_not_#in~cond| 0))} {1294#(<= (mod main_~b~0 4294967296) 1)} #67#return; {1441#(or (< (mod main_~b~0 4294967296) (mod main_~a~0 4294967296)) (= (mod main_~a~0 4294967296) (mod main_~b~0 4294967296)))} is VALID [2022-04-15 16:09:23,383 INFO L290 TraceCheckUtils]: 20: Hoare triple {1287#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {1287#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 16:09:23,383 INFO L290 TraceCheckUtils]: 19: Hoare triple {1499#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} assume !(0 == ~cond); {1287#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 16:09:23,383 INFO L290 TraceCheckUtils]: 18: Hoare triple {1239#true} ~cond := #in~cond; {1499#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} is VALID [2022-04-15 16:09:23,383 INFO L272 TraceCheckUtils]: 17: Hoare triple {1294#(<= (mod main_~b~0 4294967296) 1)} call assume_abort_if_not((if ~a~0 % 4294967296 >= 1 then 1 else 0)); {1239#true} is VALID [2022-04-15 16:09:23,384 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {1287#(not (= |assume_abort_if_not_#in~cond| 0))} {1239#true} #65#return; {1294#(<= (mod main_~b~0 4294967296) 1)} is VALID [2022-04-15 16:09:23,384 INFO L290 TraceCheckUtils]: 15: Hoare triple {1287#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {1287#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 16:09:23,384 INFO L290 TraceCheckUtils]: 14: Hoare triple {1499#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} assume !(0 == ~cond); {1287#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 16:09:23,385 INFO L290 TraceCheckUtils]: 13: Hoare triple {1239#true} ~cond := #in~cond; {1499#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} is VALID [2022-04-15 16:09:23,385 INFO L272 TraceCheckUtils]: 12: Hoare triple {1239#true} call assume_abort_if_not((if ~b~0 % 4294967296 >= 0 && ~b~0 % 4294967296 <= 1 then 1 else 0)); {1239#true} is VALID [2022-04-15 16:09:23,385 INFO L290 TraceCheckUtils]: 11: Hoare triple {1239#true} ~b~0 := #t~nondet5;havoc #t~nondet5; {1239#true} is VALID [2022-04-15 16:09:23,385 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1239#true} {1239#true} #63#return; {1239#true} is VALID [2022-04-15 16:09:23,385 INFO L290 TraceCheckUtils]: 9: Hoare triple {1239#true} assume true; {1239#true} is VALID [2022-04-15 16:09:23,385 INFO L290 TraceCheckUtils]: 8: Hoare triple {1239#true} assume !(0 == ~cond); {1239#true} is VALID [2022-04-15 16:09:23,385 INFO L290 TraceCheckUtils]: 7: Hoare triple {1239#true} ~cond := #in~cond; {1239#true} is VALID [2022-04-15 16:09:23,385 INFO L272 TraceCheckUtils]: 6: Hoare triple {1239#true} call assume_abort_if_not((if ~a~0 % 4294967296 >= 0 && ~a~0 % 4294967296 <= 1 then 1 else 0)); {1239#true} is VALID [2022-04-15 16:09:23,386 INFO L290 TraceCheckUtils]: 5: Hoare triple {1239#true} havoc ~a~0;havoc ~b~0;havoc ~x~0;havoc ~y~0;havoc ~u~0;havoc ~v~0;~a~0 := #t~nondet4;havoc #t~nondet4; {1239#true} is VALID [2022-04-15 16:09:23,386 INFO L272 TraceCheckUtils]: 4: Hoare triple {1239#true} call #t~ret6 := main(); {1239#true} is VALID [2022-04-15 16:09:23,386 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1239#true} {1239#true} #79#return; {1239#true} is VALID [2022-04-15 16:09:23,386 INFO L290 TraceCheckUtils]: 2: Hoare triple {1239#true} assume true; {1239#true} is VALID [2022-04-15 16:09:23,386 INFO L290 TraceCheckUtils]: 1: Hoare triple {1239#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(7, 2);call write~init~int(108, 2, 0, 1);call write~init~int(99, 2, 1, 1);call write~init~int(109, 2, 2, 1);call write~init~int(50, 2, 3, 1);call write~init~int(46, 2, 4, 1);call write~init~int(99, 2, 5, 1);call write~init~int(0, 2, 6, 1);call #Ultimate.allocInit(12, 3); {1239#true} is VALID [2022-04-15 16:09:23,386 INFO L272 TraceCheckUtils]: 0: Hoare triple {1239#true} call ULTIMATE.init(); {1239#true} is VALID [2022-04-15 16:09:23,386 INFO L134 CoverageAnalysis]: Checked inductivity of 64 backedges. 10 proven. 18 refuted. 0 times theorem prover too weak. 36 trivial. 0 not checked. [2022-04-15 16:09:23,386 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 16:09:23,386 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1998115707] [2022-04-15 16:09:23,387 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 16:09:23,387 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [574293195] [2022-04-15 16:09:23,387 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [574293195] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 16:09:23,387 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 16:09:23,387 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 8] total 12 [2022-04-15 16:09:23,387 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 16:09:23,387 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [179397426] [2022-04-15 16:09:23,387 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [179397426] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 16:09:23,387 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 16:09:23,387 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2022-04-15 16:09:23,387 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1032264408] [2022-04-15 16:09:23,387 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 16:09:23,388 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 7 states have (on average 3.0) internal successors, (21), 6 states have internal predecessors, (21), 5 states have call successors, (10), 2 states have call predecessors, (10), 2 states have return successors, (8), 4 states have call predecessors, (8), 4 states have call successors, (8) Word has length 51 [2022-04-15 16:09:23,388 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 16:09:23,388 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 8 states, 7 states have (on average 3.0) internal successors, (21), 6 states have internal predecessors, (21), 5 states have call successors, (10), 2 states have call predecessors, (10), 2 states have return successors, (8), 4 states have call predecessors, (8), 4 states have call successors, (8) [2022-04-15 16:09:23,423 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 39 edges. 39 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 16:09:23,424 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-04-15 16:09:23,424 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 16:09:23,424 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-04-15 16:09:23,424 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=30, Invalid=102, Unknown=0, NotChecked=0, Total=132 [2022-04-15 16:09:23,425 INFO L87 Difference]: Start difference. First operand 37 states and 44 transitions. Second operand has 8 states, 7 states have (on average 3.0) internal successors, (21), 6 states have internal predecessors, (21), 5 states have call successors, (10), 2 states have call predecessors, (10), 2 states have return successors, (8), 4 states have call predecessors, (8), 4 states have call successors, (8) [2022-04-15 16:09:23,692 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 16:09:23,692 INFO L93 Difference]: Finished difference Result 39 states and 46 transitions. [2022-04-15 16:09:23,692 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-04-15 16:09:23,693 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 7 states have (on average 3.0) internal successors, (21), 6 states have internal predecessors, (21), 5 states have call successors, (10), 2 states have call predecessors, (10), 2 states have return successors, (8), 4 states have call predecessors, (8), 4 states have call successors, (8) Word has length 51 [2022-04-15 16:09:23,693 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 16:09:23,693 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 7 states have (on average 3.0) internal successors, (21), 6 states have internal predecessors, (21), 5 states have call successors, (10), 2 states have call predecessors, (10), 2 states have return successors, (8), 4 states have call predecessors, (8), 4 states have call successors, (8) [2022-04-15 16:09:23,694 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 46 transitions. [2022-04-15 16:09:23,694 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 7 states have (on average 3.0) internal successors, (21), 6 states have internal predecessors, (21), 5 states have call successors, (10), 2 states have call predecessors, (10), 2 states have return successors, (8), 4 states have call predecessors, (8), 4 states have call successors, (8) [2022-04-15 16:09:23,695 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 46 transitions. [2022-04-15 16:09:23,695 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 9 states and 46 transitions. [2022-04-15 16:09:23,729 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 46 edges. 46 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 16:09:23,729 INFO L225 Difference]: With dead ends: 39 [2022-04-15 16:09:23,729 INFO L226 Difference]: Without dead ends: 0 [2022-04-15 16:09:23,729 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 104 GetRequests, 90 SyntacticMatches, 1 SemanticMatches, 13 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 21 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=52, Invalid=158, Unknown=0, NotChecked=0, Total=210 [2022-04-15 16:09:23,730 INFO L913 BasicCegarLoop]: 21 mSDtfsCounter, 10 mSDsluCounter, 65 mSDsCounter, 0 mSdLazyCounter, 83 mSolverCounterSat, 6 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 11 SdHoareTripleChecker+Valid, 86 SdHoareTripleChecker+Invalid, 89 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 6 IncrementalHoareTripleChecker+Valid, 83 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-15 16:09:23,730 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [11 Valid, 86 Invalid, 89 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [6 Valid, 83 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-15 16:09:23,731 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 0 states. [2022-04-15 16:09:23,731 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 0 to 0. [2022-04-15 16:09:23,731 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 16:09:23,731 INFO L82 GeneralOperation]: Start isEquivalent. First operand 0 states. Second operand has 0 states, 0 states have (on average 0.0) internal successors, (0), 0 states have internal predecessors, (0), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-04-15 16:09:23,731 INFO L74 IsIncluded]: Start isIncluded. First operand 0 states. Second operand has 0 states, 0 states have (on average 0.0) internal successors, (0), 0 states have internal predecessors, (0), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-04-15 16:09:23,731 INFO L87 Difference]: Start difference. First operand 0 states. Second operand has 0 states, 0 states have (on average 0.0) internal successors, (0), 0 states have internal predecessors, (0), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-04-15 16:09:23,731 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 16:09:23,731 INFO L93 Difference]: Finished difference Result 0 states and 0 transitions. [2022-04-15 16:09:23,731 INFO L276 IsEmpty]: Start isEmpty. Operand 0 states and 0 transitions. [2022-04-15 16:09:23,731 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 16:09:23,731 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 16:09:23,731 INFO L74 IsIncluded]: Start isIncluded. First operand has 0 states, 0 states have (on average 0.0) internal successors, (0), 0 states have internal predecessors, (0), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 0 states. [2022-04-15 16:09:23,731 INFO L87 Difference]: Start difference. First operand has 0 states, 0 states have (on average 0.0) internal successors, (0), 0 states have internal predecessors, (0), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 0 states. [2022-04-15 16:09:23,732 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 16:09:23,732 INFO L93 Difference]: Finished difference Result 0 states and 0 transitions. [2022-04-15 16:09:23,732 INFO L276 IsEmpty]: Start isEmpty. Operand 0 states and 0 transitions. [2022-04-15 16:09:23,732 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 16:09:23,732 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 16:09:23,732 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 16:09:23,732 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 16:09:23,732 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 0 states, 0 states have (on average 0.0) internal successors, (0), 0 states have internal predecessors, (0), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-04-15 16:09:23,732 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 0 states to 0 states and 0 transitions. [2022-04-15 16:09:23,732 INFO L78 Accepts]: Start accepts. Automaton has 0 states and 0 transitions. Word has length 51 [2022-04-15 16:09:23,732 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 16:09:23,732 INFO L478 AbstractCegarLoop]: Abstraction has 0 states and 0 transitions. [2022-04-15 16:09:23,732 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 8 states, 7 states have (on average 3.0) internal successors, (21), 6 states have internal predecessors, (21), 5 states have call successors, (10), 2 states have call predecessors, (10), 2 states have return successors, (8), 4 states have call predecessors, (8), 4 states have call successors, (8) [2022-04-15 16:09:23,733 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 0 states and 0 transitions. [2022-04-15 16:09:23,733 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 0 edges. 0 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 16:09:23,733 INFO L276 IsEmpty]: Start isEmpty. Operand 0 states and 0 transitions. [2022-04-15 16:09:23,733 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 16:09:23,734 INFO L788 garLoopResultBuilder]: Registering result SAFE for location __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION (0 of 1 remaining) [2022-04-15 16:09:23,747 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (4)] Forceful destruction successful, exit code 0 [2022-04-15 16:09:23,939 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable3,4 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 16:09:23,941 INFO L343 DoubleDeckerVisitor]: Before removal of dead ends 0 states and 0 transitions. [2022-04-15 16:09:24,159 INFO L882 garLoopResultBuilder]: For program point reach_errorEXIT(line 5) no Hoare annotation was computed. [2022-04-15 16:09:24,159 INFO L882 garLoopResultBuilder]: For program point reach_errorENTRY(line 5) no Hoare annotation was computed. [2022-04-15 16:09:24,159 INFO L882 garLoopResultBuilder]: For program point reach_errorFINAL(line 5) no Hoare annotation was computed. [2022-04-15 16:09:24,159 INFO L885 garLoopResultBuilder]: At program point assume_abort_if_notENTRY(lines 8 10) the Hoare annotation is: true [2022-04-15 16:09:24,159 INFO L878 garLoopResultBuilder]: At program point L9(line 9) the Hoare annotation is: (= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|) [2022-04-15 16:09:24,159 INFO L878 garLoopResultBuilder]: At program point L9-2(lines 8 10) the Hoare annotation is: (and (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)) [2022-04-15 16:09:24,159 INFO L878 garLoopResultBuilder]: At program point assume_abort_if_notEXIT(lines 8 10) the Hoare annotation is: (and (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)) [2022-04-15 16:09:24,159 INFO L878 garLoopResultBuilder]: At program point L29(line 29) the Hoare annotation is: (let ((.cse0 (mod main_~a~0 4294967296)) (.cse1 (mod main_~b~0 4294967296))) (and (<= .cse0 1) (<= 1 .cse1) (<= 1 .cse0) (<= .cse1 1))) [2022-04-15 16:09:24,160 INFO L878 garLoopResultBuilder]: At program point L27(line 27) the Hoare annotation is: (let ((.cse0 (mod main_~a~0 4294967296)) (.cse1 (mod main_~b~0 4294967296))) (and (<= .cse0 1) (<= 1 .cse1) (<= 1 .cse0) (<= .cse1 1))) [2022-04-15 16:09:24,160 INFO L878 garLoopResultBuilder]: At program point L25(line 25) the Hoare annotation is: (<= (mod main_~a~0 4294967296) 1) [2022-04-15 16:09:24,160 INFO L885 garLoopResultBuilder]: At program point mainEXIT(lines 19 57) the Hoare annotation is: true [2022-04-15 16:09:24,160 INFO L878 garLoopResultBuilder]: At program point L25-1(line 25) the Hoare annotation is: (and (<= (mod main_~a~0 4294967296) 1) (<= (mod main_~b~0 4294967296) 1)) [2022-04-15 16:09:24,160 INFO L885 garLoopResultBuilder]: At program point L23(line 23) the Hoare annotation is: true [2022-04-15 16:09:24,160 INFO L878 garLoopResultBuilder]: At program point L23-1(line 23) the Hoare annotation is: (<= (mod main_~a~0 4294967296) 1) [2022-04-15 16:09:24,160 INFO L885 garLoopResultBuilder]: At program point L52(line 52) the Hoare annotation is: true [2022-04-15 16:09:24,160 INFO L885 garLoopResultBuilder]: At program point mainFINAL(lines 19 57) the Hoare annotation is: true [2022-04-15 16:09:24,160 INFO L878 garLoopResultBuilder]: At program point L38(line 38) the Hoare annotation is: (and (= main_~a~0 main_~v~0) (<= (mod main_~x~0 4294967296) 1) (<= 1 (mod main_~a~0 4294967296)) (= main_~b~0 main_~y~0) (= main_~b~0 main_~u~0) (<= (mod main_~b~0 4294967296) 1) (= main_~a~0 main_~x~0) (<= 1 (mod main_~y~0 4294967296))) [2022-04-15 16:09:24,160 INFO L878 garLoopResultBuilder]: At program point L38-1(lines 37 50) the Hoare annotation is: (and (= main_~a~0 main_~v~0) (<= (mod main_~x~0 4294967296) 1) (<= 1 (mod main_~a~0 4294967296)) (= main_~b~0 main_~y~0) (= main_~b~0 main_~u~0) (<= (mod main_~b~0 4294967296) 1) (= main_~a~0 main_~x~0) (<= 1 (mod main_~y~0 4294967296))) [2022-04-15 16:09:24,160 INFO L878 garLoopResultBuilder]: At program point L30(line 30) the Hoare annotation is: (let ((.cse0 (mod main_~a~0 4294967296)) (.cse1 (mod main_~b~0 4294967296))) (and (<= .cse0 1) (<= 1 .cse1) (<= 1 .cse0) (<= .cse1 1))) [2022-04-15 16:09:24,160 INFO L885 garLoopResultBuilder]: At program point mainENTRY(lines 19 57) the Hoare annotation is: true [2022-04-15 16:09:24,160 INFO L878 garLoopResultBuilder]: At program point L26(line 26) the Hoare annotation is: (let ((.cse0 (mod main_~a~0 4294967296))) (and (<= .cse0 1) (<= 1 .cse0) (<= (mod main_~b~0 4294967296) 1))) [2022-04-15 16:09:24,160 INFO L878 garLoopResultBuilder]: At program point L43(lines 43 49) the Hoare annotation is: false [2022-04-15 16:09:24,160 INFO L878 garLoopResultBuilder]: At program point L43-2(lines 37 50) the Hoare annotation is: (and (= main_~a~0 main_~v~0) (<= (mod main_~x~0 4294967296) 1) (<= 1 (mod main_~a~0 4294967296)) (= main_~b~0 main_~y~0) (= main_~b~0 main_~u~0) (<= (mod main_~b~0 4294967296) 1) (= main_~a~0 main_~x~0) (<= 1 (mod main_~y~0 4294967296))) [2022-04-15 16:09:24,161 INFO L878 garLoopResultBuilder]: At program point L37-2(lines 37 50) the Hoare annotation is: (and (= main_~a~0 main_~v~0) (= main_~b~0 main_~y~0) (= main_~b~0 main_~u~0) (= main_~a~0 main_~x~0)) [2022-04-15 16:09:24,161 INFO L885 garLoopResultBuilder]: At program point ULTIMATE.initFINAL(line -1) the Hoare annotation is: true [2022-04-15 16:09:24,161 INFO L878 garLoopResultBuilder]: At program point ULTIMATE.initENTRY(line -1) the Hoare annotation is: (and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|)) [2022-04-15 16:09:24,161 INFO L885 garLoopResultBuilder]: At program point ULTIMATE.initEXIT(line -1) the Hoare annotation is: true [2022-04-15 16:09:24,161 INFO L885 garLoopResultBuilder]: At program point ULTIMATE.startEXIT(line -1) the Hoare annotation is: true [2022-04-15 16:09:24,161 INFO L885 garLoopResultBuilder]: At program point L-1(line -1) the Hoare annotation is: true [2022-04-15 16:09:24,161 INFO L885 garLoopResultBuilder]: At program point ULTIMATE.startENTRY(line -1) the Hoare annotation is: true [2022-04-15 16:09:24,161 INFO L885 garLoopResultBuilder]: At program point ULTIMATE.startFINAL(line -1) the Hoare annotation is: true [2022-04-15 16:09:24,161 INFO L885 garLoopResultBuilder]: At program point __VERIFIER_assertENTRY(lines 11 17) the Hoare annotation is: true [2022-04-15 16:09:24,161 INFO L878 garLoopResultBuilder]: At program point L13(lines 13 14) the Hoare annotation is: (not (<= 1 |__VERIFIER_assert_#in~cond|)) [2022-04-15 16:09:24,161 INFO L878 garLoopResultBuilder]: At program point L12(lines 12 15) the Hoare annotation is: (or (not (<= 1 |__VERIFIER_assert_#in~cond|)) (<= 1 __VERIFIER_assert_~cond)) [2022-04-15 16:09:24,161 INFO L878 garLoopResultBuilder]: At program point L12-2(lines 11 17) the Hoare annotation is: (or (not (<= 1 |__VERIFIER_assert_#in~cond|)) (<= 1 __VERIFIER_assert_~cond)) [2022-04-15 16:09:24,161 INFO L878 garLoopResultBuilder]: At program point __VERIFIER_assertEXIT(lines 11 17) the Hoare annotation is: (or (not (<= 1 |__VERIFIER_assert_#in~cond|)) (<= 1 __VERIFIER_assert_~cond)) [2022-04-15 16:09:24,161 INFO L878 garLoopResultBuilder]: At program point __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION(line 14) the Hoare annotation is: (not (<= 1 |__VERIFIER_assert_#in~cond|)) [2022-04-15 16:09:24,163 INFO L719 BasicCegarLoop]: Path program histogram: [2, 2, 2, 2] [2022-04-15 16:09:24,164 INFO L177 ceAbstractionStarter]: Computing trace abstraction results [2022-04-15 16:09:24,166 WARN L170 areAnnotationChecker]: reach_errorENTRY has no Hoare annotation [2022-04-15 16:09:24,169 WARN L170 areAnnotationChecker]: reach_errorFINAL has no Hoare annotation [2022-04-15 16:09:24,183 INFO L163 areAnnotationChecker]: CFG has 45 edges. 45 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. 0 times interpolants missing. [2022-04-15 16:09:24,194 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction CFG 15.04 04:09:24 BoogieIcfgContainer [2022-04-15 16:09:24,194 INFO L132 PluginConnector]: ------------------------ END TraceAbstraction---------------------------- [2022-04-15 16:09:24,195 INFO L158 Benchmark]: Toolchain (without parser) took 11713.95ms. Allocated memory was 189.8MB in the beginning and 370.1MB in the end (delta: 180.4MB). Free memory was 138.2MB in the beginning and 206.6MB in the end (delta: -68.4MB). Peak memory consumption was 112.6MB. Max. memory is 8.0GB. [2022-04-15 16:09:24,195 INFO L158 Benchmark]: CDTParser took 0.11ms. Allocated memory is still 189.8MB. Free memory is still 154.1MB. There was no memory consumed. Max. memory is 8.0GB. [2022-04-15 16:09:24,195 INFO L158 Benchmark]: CACSL2BoogieTranslator took 181.07ms. Allocated memory was 189.8MB in the beginning and 308.3MB in the end (delta: 118.5MB). Free memory was 138.0MB in the beginning and 282.3MB in the end (delta: -144.4MB). Peak memory consumption was 13.4MB. Max. memory is 8.0GB. [2022-04-15 16:09:24,195 INFO L158 Benchmark]: Boogie Preprocessor took 31.77ms. Allocated memory is still 308.3MB. Free memory was 282.3MB in the beginning and 280.8MB in the end (delta: 1.6MB). Peak memory consumption was 1.0MB. Max. memory is 8.0GB. [2022-04-15 16:09:24,196 INFO L158 Benchmark]: RCFGBuilder took 266.35ms. Allocated memory is still 308.3MB. Free memory was 280.8MB in the beginning and 268.8MB in the end (delta: 12.0MB). Peak memory consumption was 12.6MB. Max. memory is 8.0GB. [2022-04-15 16:09:24,196 INFO L158 Benchmark]: TraceAbstraction took 11230.28ms. Allocated memory was 308.3MB in the beginning and 370.1MB in the end (delta: 61.9MB). Free memory was 268.5MB in the beginning and 206.6MB in the end (delta: 61.8MB). Peak memory consumption was 124.4MB. Max. memory is 8.0GB. [2022-04-15 16:09:24,197 INFO L339 ainManager$Toolchain]: ####################### End [Toolchain 1] ####################### --- Results --- * Results from de.uni_freiburg.informatik.ultimate.core: - AssertionsEnabledResult: Assertions are enabled Assertions are enabled - StatisticsResult: Toolchain Benchmarks Benchmark results are: * CDTParser took 0.11ms. Allocated memory is still 189.8MB. Free memory is still 154.1MB. There was no memory consumed. Max. memory is 8.0GB. * CACSL2BoogieTranslator took 181.07ms. Allocated memory was 189.8MB in the beginning and 308.3MB in the end (delta: 118.5MB). Free memory was 138.0MB in the beginning and 282.3MB in the end (delta: -144.4MB). Peak memory consumption was 13.4MB. Max. memory is 8.0GB. * Boogie Preprocessor took 31.77ms. Allocated memory is still 308.3MB. Free memory was 282.3MB in the beginning and 280.8MB in the end (delta: 1.6MB). Peak memory consumption was 1.0MB. Max. memory is 8.0GB. * RCFGBuilder took 266.35ms. Allocated memory is still 308.3MB. Free memory was 280.8MB in the beginning and 268.8MB in the end (delta: 12.0MB). Peak memory consumption was 12.6MB. Max. memory is 8.0GB. * TraceAbstraction took 11230.28ms. Allocated memory was 308.3MB in the beginning and 370.1MB in the end (delta: 61.9MB). Free memory was 268.5MB in the beginning and 206.6MB in the end (delta: 61.8MB). Peak memory consumption was 124.4MB. Max. memory is 8.0GB. * Results from de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: - StatisticsResult: ErrorAutomatonStatistics NumberErrorTraces: 0, NumberStatementsAllTraces: 0, NumberRelevantStatements: 0, 0.0s ErrorAutomatonConstructionTimeTotal, 0.0s FaulLocalizationTime, NumberStatementsFirstTrace: -1, TraceLengthAvg: 0, 0.0s ErrorAutomatonConstructionTimeAvg, 0.0s ErrorAutomatonDifferenceTimeAvg, 0.0s ErrorAutomatonDifferenceTimeTotal, NumberOfNoEnhancement: 0, NumberOfFiniteEnhancement: 0, NumberOfInfiniteEnhancement: 0 - PositiveResult [Line: 14]: call to reach_error is unreachable For all program executions holds that call to reach_error is unreachable at this location - StatisticsResult: Ultimate Automizer benchmark data CFG has 6 procedures, 37 locations, 1 error locations. Started 1 CEGAR loops. OverallTime: 11.1s, OverallIterations: 4, TraceHistogramMax: 6, PathProgramHistogramMax: 2, EmptinessCheckTime: 0.0s, AutomataDifference: 1.3s, DeadEndRemovalTime: 0.0s, HoareAnnotationTime: 0.2s, InitialAbstractionConstructionTime: 0.0s, PartialOrderReductionTime: 0.0s, HoareTripleCheckerStatistics: 0 mSolverCounterUnknown, 66 SdHoareTripleChecker+Valid, 0.4s IncrementalHoareTripleChecker+Time, 0 mSdLazyCounter, 54 mSDsluCounter, 320 SdHoareTripleChecker+Invalid, 0.3s Time, 0 mProtectedAction, 0 SdHoareTripleChecker+Unchecked, 0 IncrementalHoareTripleChecker+Unchecked, 209 mSDsCounter, 24 IncrementalHoareTripleChecker+Valid, 0 mProtectedPredicate, 213 IncrementalHoareTripleChecker+Invalid, 237 SdHoareTripleChecker+Unknown, 0 mSolverCounterNotChecked, 24 mSolverCounterUnsat, 111 mSDtfsCounter, 213 mSolverCounterSat, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Unknown, PredicateUnifierStatistics: 0 DeclaredPredicates, 272 GetRequests, 242 SyntacticMatches, 2 SemanticMatches, 28 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 31 ImplicationChecksByTransitivity, 0.2s Time, 0.0s BasicInterpolantAutomatonTime, BiggestAbstraction: size=37occurred in iteration=3, InterpolantAutomatonStates: 25, traceCheckStatistics: No data available, InterpolantConsolidationStatistics: No data available, PathInvariantsStatistics: No data available, 0/0 InterpolantCoveringCapability, TotalInterpolationStatistics: No data available, 0.0s DumpTime, AutomataMinimizationStatistics: 0.1s AutomataMinimizationTime, 4 MinimizatonAttempts, 3 StatesRemovedByMinimization, 2 NontrivialMinimizations, HoareAnnotationStatistics: 0.0s HoareAnnotationTime, 34 LocationsWithAnnotation, 116 PreInvPairs, 155 NumberOfFragments, 284 HoareAnnotationTreeSize, 116 FomulaSimplifications, 0 FormulaSimplificationTreeSizeReduction, 0.0s HoareSimplificationTime, 34 FomulaSimplificationsInter, 181 FormulaSimplificationTreeSizeReductionInter, 0.2s HoareSimplificationTimeInter, RefinementEngineStatistics: TRACE_CHECK: No data available, INVARIANT_SYNTHESIS: No data available, INTERPOLANT_CONSOLIDATION: No data available, ABSTRACT_INTERPRETATION: No data available, PDR: No data available, ACCELERATED_INTERPOLATION: No data available, SIFA: No data available, ReuseStatistics: No data available - AllSpecificationsHoldResult: All specifications hold 1 specifications checked. All of them hold - InvariantResult [Line: 37]: Loop Invariant Derived loop invariant: ((((((a == v && x % 4294967296 <= 1) && 1 <= a % 4294967296) && b == y) && b == u) && b % 4294967296 <= 1) && a == x) && 1 <= y % 4294967296 - ProcedureContractResult [Line: 8]: Procedure Contract for assume_abort_if_not Derived contract for procedure assume_abort_if_not: !(\old(cond) == 0) && cond == \old(cond) - ProcedureContractResult [Line: 19]: Procedure Contract for main Derived contract for procedure main: 1 - ProcedureContractResult [Line: 11]: Procedure Contract for __VERIFIER_assert Derived contract for procedure __VERIFIER_assert: !(1 <= \old(cond)) || 1 <= cond RESULT: Ultimate proved your program to be correct! [2022-04-15 16:09:24,236 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (1)] Forceful destruction successful, exit code 0 Received shutdown request...