Herbie run

Date:Wednesday, June 5th, 2024
Commit:8a54fd57 on main
Hostname:nightly with Racket 8.11.1
Seed:2024157
Parameters:256 points for 4 iterations
Flags:
localize:costslocalize:errorsreduce:regimesreduce:avg-errorreduce:binary-searchreduce:branch-expressionssetup:simplifysetup:searchrules:arithmeticrules:polynomialsrules:fractionsrules:exponentsrules:trigonometryrules:hyperbolicrules:numericsrules:specialrules:boolsrules:branchesgenerate:rrgenerate:taylorgenerate:simplifygenerate:proofs
default

Time bar (total: 1.7hr)

sample25.2min (24.9%)

Results
10.2min3841490×0valid
3.6min482063×1valid
3.5min59388×5exit
1.5min129436×2valid
1.5min378664×0invalid
32.5s19535×3valid
10.1s26901×1invalid
9.4s2294×4valid
1.8s2614×2invalid
93.0ms5invalid
21.0ms31×3invalid
19.0ms14×5valid
Precisions
Click to see histograms. Total time spent on operations: 15.1min
ival-mult: 2.8min (18.4% of total)
ival-pow: 2.7min (17.8% of total)
ival-sin: 1.2min (8% of total)
ival-div: 1.1min (7.4% of total)
ival-add: 1.1min (7.2% of total)
ival-sub: 56.1s (6.2% of total)
...c/correct-round.rkt:168:19: 40.5s (4.5% of total)
adjust: 40.2s (4.4% of total)
ival-cos: 38.1s (4.2% of total)
ival-exp: 32.8s (3.6% of total)
ival-log: 31.4s (3.5% of total)
ival-tan: 28.7s (3.2% of total)
ival-sqrt: 24.2s (2.7% of total)
ival-<=: 20.5s (2.3% of total)
ival-neg: 8.0s (0.9% of total)
ival-fabs: 5.9s (0.7% of total)
ival-true: 5.7s (0.6% of total)
const: 5.7s (0.6% of total)
ival-<: 5.4s (0.6% of total)
ival-assert: 5.3s (0.6% of total)
ival-and: 3.4s (0.4% of total)
ival-pi: 2.6s (0.3% of total)
ival-asin: 2.5s (0.3% of total)
ival-acos: 2.2s (0.2% of total)
ival->: 2.0s (0.2% of total)
ival-atan2: 1.6s (0.2% of total)
ival-atan: 1.4s (0.2% of total)
ival-cbrt: 1.2s (0.1% of total)
ival-floor: 1.2s (0.1% of total)
ival-==: 981.0ms (0.1% of total)
ival-fmod: 930.0ms (0.1% of total)
ival-fmin: 783.0ms (0.1% of total)
ival-sinh: 722.0ms (0.1% of total)
ival-acosh: 551.0ms (0.1% of total)
ival-if: 467.0ms (0.1% of total)
ival-cosh: 395.0ms (0% of total)
ival-hypot: 388.0ms (0% of total)
ival->=: 382.0ms (0% of total)
ival-fmax: 326.0ms (0% of total)
ival-asinh: 313.0ms (0% of total)
ival-log2: 283.0ms (0% of total)
ival-fma: 259.0ms (0% of total)
ival-atanh: 181.0ms (0% of total)
ival-tanh: 170.0ms (0% of total)
ival-or: 64.0ms (0% of total)
Bogosity

simplify18.5min (18.2%)

Algorithm
4332×egg-herbie
Rules
1623384×fma-define
1213881×fmm-def
880952×distribute-lft-in
846660×times-frac
786516×associate-*r*
Stop Event
1467×saturated
2836×node limit
29×unsound
Counts
1124174 → 968401

soundness12.0min (11.9%)

Rules
638939×fma-define
484135×fmm-def
483248×log1p-expm1-u
401872×associate-*r*
390815×times-frac
Stop Event
164×saturated
350×fuel
1946×node limit
28×unsound
192×done
Compiler

Compiled 449399 to 130018 computations (71.1% saved)

localize9.7min (9.5%)

Results
3.7min390921×0valid
1.6min47899×1valid
1.3min10061×5exit
30.8s11961×2valid
25.7s27571×0invalid
8.3s1486×3valid
2.5s1000×1invalid
984.0ms116×4valid
980.0ms242×3invalid
826.0ms262×2invalid
3.0ms5valid
Compiler

Compiled 454474 to 50956 computations (88.8% saved)

Precisions
Click to see histograms. Total time spent on operations: 3.4min
ival-mult: 40.2s (19.6% of total)
ival-pow: 25.8s (12.6% of total)
ival-div: 21.7s (10.6% of total)
adjust: 20.2s (9.8% of total)
ival-add: 12.8s (6.2% of total)
ival-sin: 9.9s (4.8% of total)
ival-cos: 8.6s (4.2% of total)
...c/correct-round.rkt:168:19: 8.1s (4% of total)
ival-sub: 8.1s (4% of total)
ival-log: 7.2s (3.5% of total)
ival-tan: 6.3s (3.1% of total)
ival-exp: 5.7s (2.8% of total)
ival-fma: 5.2s (2.5% of total)
ival-sqrt: 4.5s (2.2% of total)
ival-hypot: 2.9s (1.4% of total)
ival-log1p: 2.7s (1.3% of total)
ival-neg: 2.2s (1.1% of total)
ival-expm1: 2.1s (1% of total)
ival-asin: 1.7s (0.8% of total)
ival-cbrt: 1.4s (0.7% of total)
const: 1.1s (0.6% of total)
ival-acos: 1.0s (0.5% of total)
ival-true: 846.0ms (0.4% of total)
ival-atan2: 636.0ms (0.3% of total)
ival-assert: 590.0ms (0.3% of total)
ival-pi: 497.0ms (0.2% of total)
ival-atan: 421.0ms (0.2% of total)
ival-fabs: 408.0ms (0.2% of total)
ival-if: 354.0ms (0.2% of total)
ival-fmod: 312.0ms (0.2% of total)
ival-fmax: 286.0ms (0.1% of total)
ival-floor: 216.0ms (0.1% of total)
ival-log2: 189.0ms (0.1% of total)
ival-e: 174.0ms (0.1% of total)
ival-cosh: 139.0ms (0.1% of total)
ival->=: 114.0ms (0.1% of total)
ival-copysign: 89.0ms (0% of total)
ival-sinh: 64.0ms (0% of total)
ival->: 39.0ms (0% of total)
ival-tanh: 27.0ms (0% of total)
ival-<: 14.0ms (0% of total)

rewrite8.1min (8%)

Algorithm
1870×batch-egg-rewrite
Rules
1189140×log1p-expm1-u
888332×expm1-log1p-u
421076×pow1
405734×add-exp-log
390259×add-log-exp
Stop Event
saturated
1854×node limit
15×unsound
Counts
21552 → 642246

prune6.6min (6.5%)

Counts
1417141 → 39989
Compiler

Compiled 1937838 to 987017 computations (49.1% saved)

eval4.9min (4.9%)

Compiler

Compiled 48842325 to 5423717 computations (88.9% saved)

regimes3.7min (3.6%)

Counts
103073 → 8888
Calls

1222 calls:

17.0s
x
13.6s
y
12.1s
z
8.9s
a
8.0s
t
Compiler

Compiled 98427 to 71810 computations (27% saved)

series3.0min (3%)

Counts
21552 → 481928
Calls

117846 calls:

TimeVariablePointExpression
2.6s
x
@0
(* (* (- y x) 6) (- 2/3 z))
555.0ms
x
@0
(* x (* 3 (log (cbrt (/ x y)))))
526.0ms
d
@0
(* (log (fmax (pow (sqrt (+ (* (* (floor d) dX.w) (* (floor d) dX.w)) (* (sqrt (+ (* (* (floor w) dX.u) (* (floor w) dX.u)) (* (* (floor h) dX.v) (* (floor h) dX.v)))) (sqrt (+ (* (* (floor w) dX.u) (* (floor w) dX.u)) (* (* (floor h) dX.v) (* (floor h) dX.v))))))) 2) (pow (sqrt (+ (* (* (floor w) dY.u) (* (floor w) dY.u)) (* (* (floor h) dY.v) (* (floor h) dY.v)))) 2))) 1/2)
469.0ms
x
@0
(* x (log y))
425.0ms
w
@-inf
(if (< (if (> (/ (fmax (pow (sqrt (+ (* (* dX.u (floor w)) (* dX.u (floor w))) (* (* (floor h) dX.v) (* (floor h) dX.v)))) 2) (pow (sqrt (+ (* (* dY.v (floor h)) (* dY.v (floor h))) (* (* (floor w) dY.u) (* (floor w) dY.u)))) 2)) (* (* (floor h) (floor w)) (- (* dX.u dY.v) (* dX.v dY.u)))) (floor maxAniso)) (/ (sqrt (fmax (+ (* (* (floor w) dX.u) (* (floor w) dX.u)) (* (* (floor h) dX.v) (* (floor h) dX.v))) (+ (* (* (floor w) dY.u) (* (floor w) dY.u)) (* (* (floor h) dY.v) (* (floor h) dY.v))))) (floor maxAniso)) (/ (fabs (- (* (* (floor w) dX.u) (* (floor h) dY.v)) (* (* (floor h) dX.v) (* (floor w) dY.u)))) (sqrt (fmax (+ (* (* (floor w) dX.u) (* (floor w) dX.u)) (* (* (floor h) dX.v) (* (floor h) dX.v))) (+ (* (* (floor w) dY.u) (* (floor w) dY.u)) (* (* (floor h) dY.v) (* (floor h) dY.v))))))) 1) (fmax 1 (* (if (> (/ (fmax (+ (* (* (floor w) dX.u) (* (floor w) dX.u)) (* (* (floor h) dX.v) (* (floor h) dX.v))) (+ (* (* (floor w) dY.u) (* (floor w) dY.u)) (* (* (floor h) dY.v) (* (floor h) dY.v)))) (fabs (- (* (* (floor w) dX.u) (* (floor h) dY.v)) (* (* (floor h) dX.v) (* (floor w) dY.u))))) (floor maxAniso)) (floor maxAniso) (/ (fmax (+ (* (* (floor w) dX.u) (* (floor w) dX.u)) (* (* (floor h) dX.v) (* (floor h) dX.v))) (+ (* (* (floor w) dY.u) (* (floor w) dY.u)) (* (* (floor h) dY.v) (* (floor h) dY.v)))) (fabs (- (* (* (floor w) dX.u) (* (floor h) dY.v)) (* (* (floor h) dX.v) (* (floor w) dY.u)))))) (if (> (/ (fmax (+ (* (* (floor w) dX.u) (* (floor w) dX.u)) (* (* (floor h) dX.v) (* (floor h) dX.v))) (+ (* (* (floor w) dY.u) (* (floor w) dY.u)) (* (* (floor h) dY.v) (* (floor h) dY.v)))) (fabs (- (* (* (floor w) dX.u) (* (floor h) dY.v)) (* (* (floor h) dX.v) (* (floor w) dY.u))))) (floor maxAniso)) (/ (sqrt (fmax (+ (* (* (floor w) dX.u) (* (floor w) dX.u)) (* (* (floor h) dX.v) (* (floor h) dX.v))) (+ (* (* (floor w) dY.u) (* (floor w) dY.u)) (* (* (floor h) dY.v) (* (floor h) dY.v))))) (floor maxAniso)) (/ (fabs (- (* (* (floor w) dX.u) (* (floor h) dY.v)) (* (* (floor h) dX.v) (* (floor w) dY.u)))) (sqrt (fmax (+ (* (* (floor w) dX.u) (* (floor w) dX.u)) (* (* (floor h) dX.v) (* (floor h) dX.v))) (+ (* (* (floor w) dY.u) (* (floor w) dY.u)) (* (* (floor h) dY.v) (* (floor h) dY.v))))))))) (if (> (/ (fmax (+ (* (* (floor w) dX.u) (* (floor w) dX.u)) (* (* (floor h) dX.v) (* (floor h) dX.v))) (+ (* (* (floor w) dY.u) (* (floor w) dY.u)) (* (* (floor h) dY.v) (* (floor h) dY.v)))) (fabs (- (* (* (floor w) dX.u) (* (floor h) dY.v)) (* (* (floor h) dX.v) (* (floor w) dY.u))))) (floor maxAniso)) (floor maxAniso) (/ (fmax (+ (* (* (floor w) dX.u) (* (floor w) dX.u)) (* (* (floor h) dX.v) (* (floor h) dX.v))) (+ (* (* (floor w) dY.u) (* (floor w) dY.u)) (* (* (floor h) dY.v) (* (floor h) dY.v)))) (fabs (- (* (* (floor w) dX.u) (* (floor h) dY.v)) (* (* (floor h) dX.v) (* (floor w) dY.u)))))))

explain2.8min (2.8%)

Explanations
Click to see full explanations table
OperatorSubexpressionExplanationCount
-.f64#fcancellation894154
sqrt.f64#foflow-rescue52020
log.f64#fsensitivity346711
cos.f64#fsensitivity34414
+.f64#fcancellation3073128
sin.f64#fsensitivity20842
/.f64#fo/n19910
/.f64#fo/o18250
-.f64#fnan-rescue14570
log.f32#fsensitivity118270
*.f64#fn*o11420
/.f64#fn/o10220
sqrt.f64#fuflow-rescue9510
/.f64#fu/u9470
+.f64#fnan-rescue8410
/.f64#fu/n7080
sqrt.f32#foflow-rescue5350
acos.f64#fsensitivity5273
*.f64#fn*u4440
pow.f64#fsensitivity41043
tan.f64#fsensitivity4060
-.f32#fcancellation40235
/.f64#fn/u3090
-.f64(-.f64 (*.f64 #s(literal 170000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 binary64) t) #s(literal 170000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 binary64))oflow-left2210
exp.f64#fsensitivity20328
*.f64#fu*o2020
cos.f32(cos.f32 (atan.f32 (*.f32 (/.f32 alphay alphax) (tan.f32 (+.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u1) (*.f32 #s(literal 1/2 binary32) (PI.f32)))))))sensitivity20120
tan.f32(tan.f32 (+.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u1) (*.f32 #s(literal 1/2 binary32) (PI.f32))))cancellation19615
cos.f64#foflow-rescue1910
pow.f64#foflow-rescue1520
asin.f64(asin.f64 (sqrt.f64 (/.f64 (-.f64 #s(literal 1 binary64) (pow.f64 (/.f64 Om Omc) #s(literal 2 binary64))) (+.f64 #s(literal 1 binary64) (*.f64 #s(literal 2 binary64) (pow.f64 (/.f64 t l) #s(literal 2 binary64)))))))sensitivity1340
*.f64#fo*u1290
/.f32#fo/n1260
log.f64#foflow-rescue980
cbrt.f64#foflow-rescue940
log.f64#fuflow-rescue840
pow.f64#fuflow-rescue820
cbrt.f64#fuflow-rescue440
sin.f64#foflow-rescue380
tan.f64(tan.f64 (/.f64 x (*.f64 y #s(literal 2 binary64))))oflow-rescue360
(/.f64 x (*.f64 y #s(literal 2 binary64)))overflow36
exp.f32#fsensitivity3421
/.f32#fu/n230
sqrt.f32(sqrt.f32 (-.f32 (*.f32 eta eta) (/.f32 (*.f32 sinTheta_O sinTheta_O) (sqrt.f32 (-.f32 #s(literal 1 binary32) (*.f32 sinTheta_O sinTheta_O))))))uflow-rescue170
(*.f32 sinTheta_O sinTheta_O)underflow286
(-.f32 (*.f32 eta eta) (/.f32 (*.f32 sinTheta_O sinTheta_O) (sqrt.f32 (-.f32 #s(literal 1 binary32) (*.f32 sinTheta_O sinTheta_O)))))underflow17
(/.f32 (*.f32 sinTheta_O sinTheta_O) (sqrt.f32 (-.f32 #s(literal 1 binary32) (*.f32 sinTheta_O sinTheta_O))))underflow143
(*.f32 eta eta)underflow17
/.f32#fo/o100
*.f32#fn*o40
log.f32#foflow-rescue40
/.f32(/.f32 (neg.f32 (log.f32 (-.f32 #s(literal 1 binary32) u0))) (+.f32 (/.f32 cos2phi (*.f32 alphax alphax)) (/.f32 sin2phi (*.f32 alphay alphay))))n/o20
(/.f32 sin2phi (*.f32 alphay alphay))overflow12
(+.f32 (/.f32 cos2phi (*.f32 alphax alphax)) (/.f32 sin2phi (*.f32 alphay alphay)))overflow12
sin.f32#fcancellation20
*.f32(*.f32 (sin.f32 (*.f32 u normAngle)) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle)))n*u10
Confusion
Predicted +Predicted -
+305651199
-6042100946
Precision
0.8349495998033163
Recall
0.9622528648784788
Confusion?
Predicted +Predicted MaybePredicted -
+30565269930
-6042404100542
Precision?
0.8270922746781116
Recall?
0.9707215715904798
Freqs
test
numberfreq
0102145
130695
24744
3613
4289
5172
660
720
810
93
101
Total Confusion?
Predicted +Predicted MaybePredicted -
+33932
-113184
Precision?
0.9606741573033708
Recall?
0.9941860465116279
Results
52.9s230484×0valid
23.0s35006×1valid
10.7s10272×2valid
3.3s1462×3valid
887.0ms154×4valid
697.0ms124×5exit
63.0ms5valid
Compiler

Compiled 106238 to 25504 computations (76% saved)

Precisions
Click to see histograms. Total time spent on operations: 39.5s
ival-mult: 8.3s (21% of total)
adjust: 3.8s (9.5% of total)
ival-div: 3.6s (9.1% of total)
ival-add: 3.4s (8.6% of total)
ival-sub: 3.3s (8.3% of total)
ival-sin: 3.1s (7.9% of total)
ival-cos: 2.6s (6.6% of total)
ival-log: 2.3s (5.8% of total)
ival-pow: 1.6s (4.1% of total)
ival-exp: 1.5s (3.8% of total)
ival-sqrt: 1.4s (3.6% of total)
ival-tan: 1.2s (3.1% of total)
...c/correct-round.rkt:168:19: 941.0ms (2.4% of total)
ival-true: 467.0ms (1.2% of total)
ival-assert: 320.0ms (0.8% of total)
ival-neg: 272.0ms (0.7% of total)
const: 268.0ms (0.7% of total)
ival-atan: 132.0ms (0.3% of total)
ival-pi: 113.0ms (0.3% of total)
ival-atan2: 112.0ms (0.3% of total)
ival-fabs: 104.0ms (0.3% of total)
ival-asin: 100.0ms (0.3% of total)
ival-acos: 81.0ms (0.2% of total)
ival->=: 73.0ms (0.2% of total)
ival-log1p: 58.0ms (0.1% of total)
ival-floor: 47.0ms (0.1% of total)
ival-cbrt: 46.0ms (0.1% of total)
ival-fmod: 44.0ms (0.1% of total)
ival-sinh: 43.0ms (0.1% of total)
ival-if: 30.0ms (0.1% of total)
ival-hypot: 21.0ms (0.1% of total)
ival-fmax: 18.0ms (0% of total)
ival-fma: 16.0ms (0% of total)
ival-log2: 16.0ms (0% of total)
ival-copysign: 14.0ms (0% of total)
ival-cosh: 12.0ms (0% of total)
ival-tanh: 7.0ms (0% of total)
ival->: 5.0ms (0% of total)
ival-<: 4.0ms (0% of total)

bsearch2.6min (2.5%)

Algorithm
3958×binary-search
586×left-value
Stop Event
103×predicate-same
3851×narrow-enough
predicate-failed
Results
1.5min447091×0valid
16.4s30322×1valid
3.8s20249×0invalid
2.1s4236×2valid
1.3s782×3valid
97.0ms48×4valid
55.0ms198×1invalid
11.0ms31×2invalid
1.0ms5valid
Compiler

Compiled 918136 to 667590 computations (27.3% saved)

Precisions
Click to see histograms. Total time spent on operations: 1.2min
ival-mult: 24.0s (33.6% of total)
ival-sub: 9.1s (12.8% of total)
ival-add: 7.8s (11% of total)
ival-div: 7.2s (10% of total)
ival-sin: 3.8s (5.4% of total)
ival-cos: 3.3s (4.6% of total)
ival-pow: 3.2s (4.4% of total)
ival-log: 2.4s (3.3% of total)
...c/correct-round.rkt:168:19: 1.9s (2.6% of total)
adjust: 1.8s (2.5% of total)
ival-sqrt: 1.8s (2.5% of total)
ival-exp: 1.3s (1.8% of total)
ival-neg: 950.0ms (1.3% of total)
ival-true: 730.0ms (1% of total)
ival-assert: 530.0ms (0.7% of total)
ival-tan: 457.0ms (0.6% of total)
const: 363.0ms (0.5% of total)
ival-atan2: 355.0ms (0.5% of total)
ival-atan: 179.0ms (0.3% of total)
ival-acos: 133.0ms (0.2% of total)
ival-fabs: 91.0ms (0.1% of total)
ival-asin: 68.0ms (0.1% of total)
ival-pi: 56.0ms (0.1% of total)
ival-hypot: 20.0ms (0% of total)
ival-fmod: 16.0ms (0% of total)
ival->=: 14.0ms (0% of total)
ival-copysign: 14.0ms (0% of total)
ival-if: 11.0ms (0% of total)
ival-tanh: 10.0ms (0% of total)
ival-cosh: 7.0ms (0% of total)
ival-cbrt: 3.0ms (0% of total)
ival-sinh: 2.0ms (0% of total)

preprocess2.4min (2.3%)

Algorithm
542×egg-herbie
Rules
252186×fma-define
252101×fmm-def
106305×unsub-neg
100734×sub-neg
94641×distribute-lft-in
Stop Event
294×saturated
248×node limit
Compiler

Compiled 373412 to 144204 computations (61.4% saved)

analyze1.8min (1.8%)

Algorithm
545×search
random
Search
ProbabilityValidUnknownPreconditionInfiniteDomainCan'tIter
0%0%84.4%15.6%0%0%0%0
38.9%32.9%51.6%15.6%0%0%0%1
44.8%37.5%46.2%15.6%0%0.8%0%2
54%44.1%37.5%15.6%0%2.8%0%3
60.9%49.1%31.6%15.6%0%3.8%0%4
67.1%53.8%26.4%15.6%0%4.2%0%5
71%56.7%23.1%15.6%0%4.6%0%6
75%59.4%19.8%15.6%0%5.2%0.1%7
77%60.7%18.1%15.6%0%5.5%0.1%8
79.6%62.5%16%15.6%0%5.8%0.1%9
81.1%63.5%14.8%15.6%0%6.1%0.1%10
83.4%65.1%13%15.6%0%6.3%0.1%11
84.5%65.8%12.1%15.6%0%6.5%0.1%12
Compiler

Compiled 12512 to 7913 computations (36.8% saved)

end3.0ms (0%)

Profiling

Loading profile data...