Loose-Info.com
Last Update 2026/08/07
TOP - 各種テスト - LLM - ローカルLLMの実測値比較 - コーディング(設定用パラメータ比較) - Nemotron 3 Nano Omni

低スペック寄りのPCでローカルLLMを動作させた際の記録です。
LLM以外の仮想マシンなどが起動され、多少負荷がかかった状態で実行しています。
ベンチマークなどでLLMの性能を評価する内容ではありません。

検証用PC

OS

Debian GNU/Linux 12 (bookworm)

CPU

Intel(R) Core(TM) i5-14400F

GPU

GeForce RTX 3060 12GB

メモリ

DDR4 PC4-25600 32GB × 4

SSD

crucial P310 CT1000P310SSD8-JP


構築環境 : Docker + Ollama (特別な設定などは無い状態)

検証用プロンプト

``` ### 依頼内容 - コード生成 ### 指示 - C言語 - コード以外の出力は不要 - 中括弧スタイルはオールマン - テストコードも生成 - テストコードは別ファイル - 実行用ソースファイル名 : sample_code.c - テスト用ソースファイル名 : sample_test.c - 標準ヘッダ以外は使用しない - 戻り値はEXIT_SUCCESSを使用 - 関数はmain()の前で定義 ### コード仕様(sample_code.c) - コマンドラインから整数2つを取得 - [引数1]から[引数2]までをインクリメントして空白区切りで標準出力に出力 - 出力する文字列はmain()ではなく関数で生成 ### コード仕様(sample_test.c) - unity.hを使用しない ```

モデル詳細

Model architecture nemotron_h_omni parameters 33.0B context length 131072 embedding length 2688 quantization Q4_K_M Capabilities completion vision audio tools thinking

Nemotron 3 Nano Omni [実測結果一覧へ]

(1) temperature=---; top_p=---; top_k=--
(2) temperature=0.70; top_p=0.7; top_k=--
(3) temperature=0.50; top_p=0.7; top_k=--
(4) temperature=0.30; top_p=0.7; top_k=--
(5) temperature=0.15; top_p=---; top_k=--
(6) temperature=0.15; top_p=0.7; top_k=--
(7) temperature=0.15; top_p=0.5; top_k=--
(8) temperature=0.15; top_p=0.4; top_k=--
(9) temperature=0.15; top_p=0.7; top_k=32
(10) temperature=0.15; top_p=0.7; top_k=16
(11) temperature=0.10; top_p=0.7; top_k=--

(1) temperature=---; top_p=---; top_k=--

2026-07-30 total duration: 3m20.895320243s load duration: 5.389485934s prompt eval count: 236 token(s) prompt eval duration: 1.377205136s prompt eval rate: 171.36 tokens/s eval count: 3575 token(s) eval duration: 3m13.188705643s eval rate: 18.51 tokens/s

コード生成結果の概要

・C言語による生成 ・コード以外の出力無し ・コードの記述スタイルをオールマンで生成 ・戻り値は stdlib.h の EXIT_*** を使用 ・文字列生成関数 start > end の場合はNULLを返す 文字列長に応じたメモリの確保(エラー処理有) インクリメント+空白区切りで文字列用メモリに書き込み 文字列用メモリへのポインタを返す ・main() 引数個数のチェック(エラー処理有) 文字列生成関数の呼び出し 生成文字列の標準出力への出力 文字列用メモリの解放 ・テストコードを別途生成 テスト対象関数の宣言 main()を伴うテストコード 文字列生成関数を3種類の引数の組み合わせでテスト実行 (1) 整数1 < 整数2 (2) 整数1 == 整数2 (3) 整数1 < 整数2 ただし、整数1が負数 (注) LLMの生成結果は毎回一定ではないため、結果によっては上記内容通りではないことが考えられます。

生成コードの実行結果

sample_code.c : 検証用プロンプトにて生成されたコード
sample_test.c : 生成されたテストコード
$ gcc -Wall -o sample_code sample_code.c $ gcc -Wall -o sample_test sample_code.c sample_test.c /bin/ld: /tmp/cc15yuSQ.o: in function `main': sample_test.c:(.text+0x0): multiple definition of `main'; /tmp/ccaPaRZ0.o:sample_code.c:(.text+0x0): first defined here collect2: error: ld returned 1 exit status $ vi sample_code.c ← main()関数重複エラー解消のため条件付きコンパイル用の#ifndefマクロを追加 $ gcc -D TEST_MAIN -Wall -o sample_test sample_code.c sample_test.c $ ./sample_code 1 5 1 2 3 4 5 $ ./sample_code -3 3 -3 -2 -1 0 1 2 3 $ ./sample_code 1 1 1 $ ./sample_code 5 1 $ ./sample_test Test 1 PASS Test 2 FAIL Test 3 FAIL $ vi sample_code.c ← 確保したメモリが未定義の状態でstrcat()されていたため修正 $ gcc -Wall -o sample_code sample_code.c $ gcc -D TEST_MAIN -Wall -o sample_test sample_code.c sample_test.c $ ./sample_code 1 5 1 2 3 4 5 $ ./sample_code -3 3 -3 -2 -1 0 1 2 3 $ ./sample_code 1 1 1 $ ./sample_code 5 1 $ ./sample_test Test 1 PASS Test 2 PASS Test 3 PASS

(2) temperature=0.70; top_p=0.7; top_k=--

2026-07-30 total duration: 2m15.144143562s load duration: 100.603267ms prompt eval count: 236 token(s) prompt eval duration: 1.382563945s prompt eval rate: 170.70 tokens/s eval count: 2507 token(s) eval duration: 2m13.071600573s eval rate: 18.84 tokens/s

コード生成結果の概要

・C言語による生成 ・コード以外の出力無し ・コードの記述スタイルのオールマン指定を無視 ・戻り値は stdlib.h の EXIT_*** を使用 ・文字列生成関数 文字列生成ではなく出力 ・main() 引数個数のチェック(エラー処理有) 文字列生成関数の呼び出し ・テストコードを別途生成 sample_code.cと異なる「文字列生成関数」を定義 ← sample_code.cのチェックとはなっていない main()を伴うテストコード 文字列生成関数を2種類の引数の組み合わせでテスト実行 (1) 整数1 < 整数2 (2) 整数1 == 整数2 (注) LLMの生成結果は毎回一定ではないため、結果によっては上記内容通りではないことが考えられます。

生成コードの実行結果

sample_code.c : 検証用プロンプトにて生成されたコード
sample_test.c : 生成されたテストコード
$ gcc -Wall -o sample_code sample_code.c $ gcc -Wall -o sample_test sample_test.c In file included from sample_test.c:3: sample_test.c: In function ‘test_generate_output’: sample_test.c:22:12: warning: implicit declaration of function ‘strcmp’ [-Wimplicit-function-declaration] 22 | assert(strcmp(s, "1 2 3") == 0); | ^~~~~~ sample_test.c:4:1: note: include ‘<string.h>’ or provide a declaration of ‘strcmp’ 3 | #include <assert.h> +++ |+#include <string.h> 4 | $ ./sample_code 1 5 1 2 3 4 5 $ ./sample_code -3 3 -3 -2 -1 0 1 2 3 $ ./sample_code 1 1 1 $ ./sample_code 5 1 $ ./sample_test

(3) temperature=0.50; top_p=0.7; top_k=--

2026-07-30 total duration: 2m31.367374242s load duration: 5.097567979s prompt eval count: 236 token(s) prompt eval duration: 1.46056018s prompt eval rate: 161.58 tokens/s eval count: 2651 token(s) eval duration: 2m24.122044416s eval rate: 18.39 tokens/s

コード生成結果の概要

・C言語による生成 ・コード以外の出力無し ・コードの記述スタイルのオールマン指定を無視 ・戻り値は stdlib.h の EXIT_*** を使用 ・文字列生成関数 文字列長に応じたメモリの確保(エラー処理有) インクリメント+空白区切りで文字列用メモリに書き込み 文字列用メモリへのポインタを返す ・main() 引数個数のチェック(エラー処理有) 文字列生成関数の呼び出し(エラー処理有) 生成文字列の標準出力への出力 文字列用メモリの解放 ・テストコードを別途生成 テスト対象関数の宣言 main()を伴うテストコード 文字列生成関数を3種類の引数の組み合わせでテスト実行 (1) 整数1 < 整数2 (2) 整数1 == 整数2 (3) 整数1 < 整数2 ただし、整数1、整数2が共に2桁 (注) LLMの生成結果は毎回一定ではないため、結果によっては上記内容通りではないことが考えられます。

生成コードの実行結果

sample_code.c : 検証用プロンプトにて生成されたコード
sample_test.c : 生成されたテストコード
$ gcc -Wall -o sample_code sample_code.c $ gcc -Wall -o sample_test sample_code.c sample_test.c /bin/ld: /tmp/ccMyTbsJ.o: in function `main': sample_test.c:(.text+0x70): multiple definition of `main'; /tmp/ccF0hFIi.o:sample_code.c:(.text+0xdd): first defined here collect2: error: ld returned 1 exit status $ vi sample_code.c ← main()関数重複エラー解消のため条件付きコンパイル用の#ifndefマクロを追加 $ gcc -D TEST_MAIN -Wall -o sample_test sample_code.c sample_test.c $ ./sample_code 1 5 1 2 3 4 5 $ ./sample_code -3 3 -3 -2 -1 0 1 2 3 $ ./sample_code 1 1 1 $ ./sample_code 5 1 $ ./sample_test

(4) temperature=0.30; top_p=0.7; top_k=--

2026-07-30 total duration: 3m23.2717205s load duration: 103.078893ms prompt eval count: 236 token(s) prompt eval duration: 1.405051963s prompt eval rate: 167.97 tokens/s eval count: 3655 token(s) eval duration: 3m20.848155317s eval rate: 18.20 tokens/s

コード生成結果の概要

・C言語による生成 ・コード以外の出力無し ・コードの記述スタイルのオールマン指定を無視 ・戻り値は stdlib.h の EXIT_*** を使用 ・文字列生成関数 引数値のチェック(エラー判定有) 文字列長に応じたメモリの確保(エラー処理有) インクリメント+空白区切りで文字列用メモリに書き込み 文字列用メモリへのポインタを返す ・main() 引数個数のチェック(エラー処理有) 文字列生成関数の呼び出し(エラー処理有) 生成文字列の標準出力への出力 文字列用メモリの解放 ・テストコードを別途生成 実行用コードと同一の文字列生成関数定義を記述 main()を伴うテストコード 文字列生成関数を3種類の引数の組み合わせでテスト実行 (1) 整数1 < 整数2 (2) 整数1 == 整数2 (3) 整数1 < 整数2 ただし、整数1、整数2が共に2桁 (注) LLMの生成結果は毎回一定ではないため、結果によっては上記内容通りではないことが考えられます。

生成コードの実行結果

sample_code.c : 検証用プロンプトにて生成されたコード
sample_test.c : 生成されたテストコード
$ gcc -Wall -o sample_code sample_code.c $ gcc -Wall -o sample_test sample_test.c $ ./sample_code 1 5 1 2 3 4 5 $ ./sample_code -3 3 -3 -2 -1 0 1 2 3 $ ./sample_code 1 1 1 $ ./sample_code 5 1 $ ./sample_test Test 0 passed. Test 1 passed. Test 2 passed. All tests passed.

(5) temperature=0.15; top_p=---; top_k=--

2026-07-30 total duration: 4m0.883563732s load duration: 5.447191385s prompt eval count: 236 token(s) prompt eval duration: 1.409110061s prompt eval rate: 167.48 tokens/s eval count: 4263 token(s) eval duration: 3m52.92226711s eval rate: 18.30 tokens/s

コード生成結果の概要

・C言語による生成 ・コード以外の出力無し ・コードの記述スタイルのオールマン指定を無視 ・戻り値は stdlib.h の EXIT_*** を使用 ・文字列生成関数 文字列長に応じたメモリの確保(エラー処理有) インクリメント+空白区切りで文字列用メモリに書き込み 文字列用メモリへのポインタを返す start > end の場合はNULL文字のみのメモリへのポインタが戻り値となる ・文字列出力関数 文字列生成関数の呼び出し(エラー処理有) 生成文字列の標準出力への出力 文字列用メモリの解放 ・main() 引数個数のチェック(エラー処理有) 文字列出力関数の呼び出し ・テストコードを別途生成 実行用コードと同一の文字列生成関数定義を記述 main()を伴うテストコード 文字列生成関数を3種類の引数の組み合わせでテスト実行 (1) 整数1 < 整数2 (2) 整数1 == 整数2 (3) 整数1 < 整数2 ただし、整数1、整数2が共に2桁 (注) LLMの生成結果は毎回一定ではないため、結果によっては上記内容通りではないことが考えられます。

生成コードの実行結果

sample_code.c : 検証用プロンプトにて生成されたコード
sample_test.c : 生成されたテストコード
$ gcc -Wall -o sample_code sample_code.c $ gcc -Wall -o sample_test sample_test.c $ ./sample_code 1 5 1 2 3 4 5 $ ./sample_code -3 3 -3 -2 -1 0 1 2 3 $ ./sample_code 1 1 1 $ ./sample_code 5 1 $ ./sample_test Test 0 passed. Test 1 passed. Test 2 passed.

(6) temperature=0.15; top_p=0.7; top_k=--

2026-07-30 total duration: 3m12.878540817s load duration: 104.253425ms prompt eval count: 236 token(s) prompt eval duration: 1.397992927s prompt eval rate: 168.81 tokens/s eval count: 3530 token(s) eval duration: 3m10.515619658s eval rate: 18.53 tokens/s

コード生成結果の概要

・C言語による生成 ・コード以外の出力無し ・コードの記述スタイルのオールマン指定を無視 ・戻り値は stdlib.h の EXIT_*** を使用 ・文字列生成関数 文字列長に応じたメモリの確保(エラー処理有) インクリメント+空白区切りで文字列用メモリに書き込み 文字列用メモリへのポインタを返す ・main() 引数個数のチェック(エラー処理有) 文字列生成関数の呼び出し(エラー処理有) 生成文字列の標準出力への出力 文字列用メモリの解放 ・テストコードを別途生成 実行用コードと同一の文字列生成関数定義を記述 main()を伴うテストコード 文字列生成関数を2種類の引数の組み合わせでテスト実行 (1) 整数1 < 整数2 (2) 整数1 == 整数2 (注) LLMの生成結果は毎回一定ではないため、結果によっては上記内容通りではないことが考えられます。

生成コードの実行結果

sample_code.c : 検証用プロンプトにて生成されたコード
sample_test.c : 生成されたテストコード
$ gcc -Wall -o sample_code sample_code.c $ gcc -Wall -o sample_test sample_test.c $ ./sample_code 1 5 1 2 3 4 5 $ ./sample_code -3 3 -3 -2 -1 0 1 2 3 $ ./sample_code 1 1 1 $ ./sample_code 5 1 $ ./sample_test

(7) temperature=0.15; top_p=0.5; top_k=--

2026-07-30 total duration: 4m44.538479962s load duration: 90.934424ms prompt eval count: 236 token(s) prompt eval duration: 1.386229006s prompt eval rate: 170.25 tokens/s eval count: 5143 token(s) eval duration: 4m41.796023724s eval rate: 18.25 tokens/s

コード生成結果の概要

・C言語による生成 ・コード以外の出力無し ・コードの記述スタイルのオールマン指定を無視 ・戻り値は stdlib.h の EXIT_*** を使用 ・文字列生成関数 文字列長に応じたメモリの確保(エラー処理有) インクリメント+空白区切りで文字列用メモリに書き込み 文字列用メモリへのポインタを返す start > end の場合はNULL文字のみのメモリへのポインタが戻り値となる ・main() 引数個数のチェック(エラー処理有) 文字列生成関数の呼び出し(エラー処理有) 生成文字列の標準出力への出力 文字列用メモリの解放 ・テストコードを別途生成 実行用コードと同一の文字列生成関数定義を記述 main()を伴うテストコード 文字列生成関数を5種類の引数の組み合わせでテスト実行 (1) 整数1 < 整数2 (2) 整数1 == 整数2 (3) 整数1 < 整数2 ただし、整数1、整数2が共に2桁 (4) 整数1 == 整数2 ただし、整数1と整数2は共に0 (5) 整数1 > 整数2 (注) LLMの生成結果は毎回一定ではないため、結果によっては上記内容通りではないことが考えられます。

生成コードの実行結果

sample_code.c : 検証用プロンプトにて生成されたコード
sample_test.c : 生成されたテストコード
$ gcc -Wall -o sample_code sample_code.c $ gcc -Wall -o sample_test sample_test.c $ ./sample_code 1 5 ← 文字列の出力無し $ ./sample_code -3 3 ← 文字列の出力無し $ ./sample_test 4 test(s) failed. ← テストが全て失敗 $ vi sample_code.c ← 文字列書き込み時の書き込みバイト数の算定にバグが有ったため修正 $ vi sample_test.c ← 文字列書き込み時の書き込みバイト数の算定にバグが有ったため修正 $ gcc -Wall -o sample_code sample_code.c $ gcc -Wall -o sample_test sample_test.c $ ./sample_code 1 5 1 2 3 4 5 $ ./sample_code -3 3 -3 -2 -1 0 1 2 3 $ ./sample_code 1 1 1 $ ./sample_code 5 1 $ ./sample_test All tests passed.

(8) temperature=0.15; top_p=0.4; top_k=--

2026-07-30 total duration: 5m10.038493144s load duration: 97.531226ms prompt eval count: 236 token(s) prompt eval duration: 1.384057455s prompt eval rate: 170.51 tokens/s eval count: 5575 token(s) eval duration: 5m7.192134938s eval rate: 18.15 tokens/s

コード生成結果の概要

・C言語による生成 ・コード以外の出力無し ・コードの記述スタイルのオールマン指定を無視 ・戻り値は stdlib.h の EXIT_*** を使用 ・文字列生成関数 文字列用メモリはchar配列1024バイト固定 インクリメント+空白区切りで文字列用メモリに書き込み 文字列用メモリへのポインタを返す ・main() 引数個数のチェック(エラー処理有) 文字列生成関数の呼び出し 生成文字列の標準出力への出力 ・テストコードを別途生成 実行用コードと同一の文字列生成関数定義を記述 main()を伴うテストコード 文字列生成関数を4種類の引数の組み合わせでテスト実行 (1) 整数1 < 整数2 (2) 整数1 < 整数2 ただし、整数1、整数2が共に2桁 (3) 整数1 < 整数2 ただし、整数1と整数2は共に負数 (4) 整数1 == 整数2 (注) LLMの生成結果は毎回一定ではないため、結果によっては上記内容通りではないことが考えられます。

生成コードの実行結果

sample_code.c : 検証用プロンプトにて生成されたコード
sample_test.c : 生成されたテストコード
$ gcc -Wall -o sample_code sample_code.c $ gcc -Wall -o sample_test sample_test.c $ ./sample_code 1 5 1 2 3 4 5 $ ./sample_code -3 3 -3 -2 -1 0 1 2 3 $ ./sample_code 1 1 1 $ ./sample_code 5 1 $ ./sample_test All tests passed.

(9) temperature=0.15; top_p=0.7; top_k=32

2026-07-30 total duration: 3m14.296893877s load duration: 5.04619015s prompt eval count: 236 token(s) prompt eval duration: 1.413375354s prompt eval rate: 166.98 tokens/s eval count: 3463 token(s) eval duration: 3m6.970954267s eval rate: 18.52 tokens/s

コード生成結果の概要

・C言語による生成 ・コード以外の出力無し ・コードの記述スタイルのオールマン指定を無視 ・戻り値は stdlib.h の EXIT_*** を使用 ・文字列生成関数 文字列長に応じたメモリの確保(エラー処理有) インクリメント+空白区切りで文字列用メモリに書き込み 文字列用メモリへのポインタを返す ・main() 引数個数のチェック(エラー処理有) 文字列生成関数の呼び出し(エラー処理有) 生成文字列の標準出力への出力 文字列用メモリの解放 ・テストコードを別途生成 実行用コードと同一の文字列生成関数定義を記述 main()を伴うテストコード 文字列生成関数を5種類の引数の組み合わせでテスト実行 (1) 整数1 < 整数2 (2) 整数1 == 整数2 (3) 整数1 < 整数2 ただし、整数1、整数2が共に2桁 (4) 整数1 < 整数2 ただし、整数1は0 (注) LLMの生成結果は毎回一定ではないため、結果によっては上記内容通りではないことが考えられます。

生成コードの実行結果

sample_code.c : 検証用プロンプトにて生成されたコード
sample_test.c : 生成されたテストコード
$ gcc -Wall -o sample_code sample_code.c $ gcc -Wall -o sample_test sample_code.c sample_test.c /bin/ld: /tmp/ccCGASRW.o: in function `main': sample_test.c:(.text+0xe2): multiple definition of `main'; /tmp/ccrAgCr4.o:sample_code.c:(.text+0x1c0): first defined here collect2: error: ld returned 1 exit status $ vi sample_code.c ← main()関数重複エラー解消のため条件付きコンパイル用の#ifndefマクロを追加 $ gcc -D TEST_MAIN -Wall -o sample_test sample_code.c sample_test.c $ ./sample_code 1 5 1 2 3 4 5 $ ./sample_code -3 3 - . / 0 1 2 3 ← 負数には対応不能 $ ./sample_code 1 1 1 $ ./sample_code 5 1 Memory allocation failed ← 整数1 > 整数2 には対応不能 $ ./sample_test ← 負数のテストケースは無し Test 1-3: PASSED Test 5-5: PASSED Test 10-12: PASSED Test 0-2: PASSED

(10) temperature=0.15; top_p=0.7; top_k=16

2026-07-30 total duration: 4m16.558365881s load duration: 101.263149ms prompt eval count: 236 token(s) prompt eval duration: 1.398733996s prompt eval rate: 168.72 tokens/s eval count: 4685 token(s) eval duration: 4m14.035139747s eval rate: 18.44 tokens/s

コード生成結果の概要

・C言語による生成 ・コード以外の出力無し ・コードの記述スタイルのオールマン指定を無視 ・戻り値は stdlib.h の EXIT_*** を使用 ・文字列生成関数 引数値のチェック(エラー判定有) 文字列長に応じたメモリの確保(エラー処理有) インクリメント+空白区切りで文字列用メモリに書き込み 文字列用メモリへのポインタを返す ・文字列出力関数 文字列生成関数の呼び出し(エラー処理有) 生成文字列の標準出力への出力 文字列用メモリの解放 ・main() 引数個数のチェック(エラー処理有) 文字列出力関数の呼び出し ・テストコードを別途生成 実行用コードと同一の文字列生成関数定義を記述 main()を伴うテストコード 文字列生成関数を4種類の引数の組み合わせでテスト実行 (1) 整数1 < 整数2 (2) 整数1 == 整数2 (3) 整数1 < 整数2 ただし、整数1、整数2が共に2桁 (4) 整数1 > 整数2 (注) LLMの生成結果は毎回一定ではないため、結果によっては上記内容通りではないことが考えられます。

生成コードの実行結果

sample_code.c : 検証用プロンプトにて生成されたコード
sample_test.c : 生成されたテストコード
$ gcc -Wall -o sample_code sample_code.c $ gcc -Wall -o sample_test sample_test.c $ ./sample_code 1 5 1 2 3 4 5 $ ./sample_code -3 3 -3 -2 -1 0 1 2 3 $ ./sample_code 1 1 1 $ ./sample_code 5 1 $ ./sample_test Test 1-5: PASSED Test 5-5: PASSED Test 10-12: PASSED Test 10-5: PASSED

(11) temperature=0.10; top_p=0.7; top_k=--

2026-07-30 total duration: 4m31.237887748s load duration: 5.366300939s prompt eval count: 236 token(s) prompt eval duration: 1.384858847s prompt eval rate: 170.41 tokens/s eval count: 4806 token(s) eval duration: 4m23.225492886s eval rate: 18.26 tokens/s

コード生成結果の概要

・C言語による生成 ・コード以外の出力無し ・コードの記述スタイルのオールマン指定を無視 ・戻り値は stdlib.h の EXIT_*** を使用 ・文字列生成関数 文字列長に応じたメモリの確保(エラー処理有) インクリメント+空白区切りで文字列用メモリに書き込み 文字列用メモリへのポインタを返す ・文字列出力関数 文字列生成関数の呼び出し(エラー処理有) 生成文字列の標準出力への出力 文字列用メモリの解放 ・main() 引数個数のチェック(エラー処理有) 文字列生成関数の呼び出し(エラー処理有) 生成文字列の標準出力への出力 文字列用メモリの解放 ・テストコードを別途生成 テスト対象関数の宣言 main()を伴うテストコード 文字列生成関数を4種類の引数の組み合わせでテスト実行 (1) 整数1 < 整数2 (2) 整数1 == 整数2 (3) 整数1 < 整数2 ただし、整数1、整数2が共に2桁 (4) 整数1 == 整数2ただし、整数1、整数2が共に0 (注) LLMの生成結果は毎回一定ではないため、結果によっては上記内容通りではないことが考えられます。

生成コードの実行結果

sample_code.c : 検証用プロンプトにて生成されたコード
sample_test.c : 生成されたテストコード
$ gcc -Wall -o sample_code sample_code.c $ gcc -Wall -o sample_test sample_code.c sample_test.c /bin/ld: /tmp/ccDCilml.o: in function `main': sample_test.c:(.text+0x0): multiple definition of `main'; /tmp/ccGYu1di.o:sample_code.c:(.text+0xb9): first defined here collect2: error: ld returned 1 exit status $ vi sample_code.c $ gcc -D TEST_MAIN -Wall -o sample_test sample_code.c sample_test.c $ ./sample_code 1 5 1 2 3 4 5 $ ./sample_code -3 3 -3 -2 -1 0 1 2 3 $ ./sample_code 1 1 1 $ ./sample_code 5 1 $ ./sample_test Test 1: PASS Test 2: PASS Test 3: PASS Test 4: PASS