Herbie run

Date:Sunday, January 19th, 2025
Commit:7183cd93 on autofix-12-1
Seed:2025019
Parameters:256 points for 4 iterations
Flags:
localize:costslocalize:errorsreduce:regimesreduce:binary-searchreduce:branch-expressionssetup:simplifysetup:searchrules:arithmeticrules:polynomialsrules:fractionsrules:exponentsrules:trigonometryrules:hyperbolicrules:numericsrules:specialrules:boolsrules:branchesgenerate:rrgenerate:taylorgenerate:simplifygenerate:proofs
default
Memory:372 583.9 MB

Time bar (total: 5.4min)

sample1.6min (29.7%)

Memory
1 027.7MiB live, 114 212.2MiB allocated; 35.3s collecting garbage
Samples
50.1s433 995×0valid
9.6s26 728×1valid
4.4s9 023×2valid
2.2s4 228×0invalid
1.0s7 954×0exit
290.0ms849×3valid
Precisions
Click to see histograms. Total time spent on operations: 50.9s
ival-mult: 14.2s (27.9% of total)
ival-add: 6.6s (13.1% of total)
const: 5.3s (10.4% of total)
ival-div: 4.1s (8.1% of total)
ival-exp: 3.1s (6% of total)
adjust: 2.5s (4.8% of total)
ival-hypot: 2.3s (4.5% of total)
ival-sub: 2.2s (4.4% of total)
ival-log: 1.7s (3.3% of total)
ival-asin: 1.3s (2.6% of total)
ival-sin: 1.1s (2.1% of total)
ival-cos: 970.0ms (1.9% of total)
ival-atan2: 799.0ms (1.6% of total)
ival-sqrt: 780.0ms (1.5% of total)
ival->: 525.0ms (1% of total)
exact: 339.0ms (0.7% of total)
ival-sinu: 330.0ms (0.6% of total)
ival-pow: 298.0ms (0.6% of total)
ival-asinh: 275.0ms (0.5% of total)
ival-acosh: 268.0ms (0.5% of total)
ival-pi: 256.0ms (0.5% of total)
ival-true: 256.0ms (0.5% of total)
ival-neg: 226.0ms (0.4% of total)
ival-fabs: 207.0ms (0.4% of total)
ival-atanh: 205.0ms (0.4% of total)
ival-assert: 189.0ms (0.4% of total)
ival-<=: 181.0ms (0.4% of total)
ival->=: 172.0ms (0.3% of total)
ival-cosu: 83.0ms (0.2% of total)
ival-and: 76.0ms (0.1% of total)
Bogosity

simplify1.2min (21.2%)

Memory
1 256.8MiB live, 72 384.1MiB allocated; 16.7s collecting garbage
Stop Event
579×iter limit
374×node limit
63×saturated
Counts
19 742 → 19 742

localize32.7s (10.1%)

Memory
-618.6MiB live, 39 149.8MiB allocated; 10.8s collecting garbage
Samples
13.7s39 321×0valid
6.5s4 896×1valid
3.3s1 762×2valid
741.0ms1 856×0invalid
526.0ms655×0exit
223.0ms46×5exit
80.0ms101×3valid
11.0ms4valid
Compiler

Compiled 70 361 to 6 108 computations (91.3% saved)

Precisions
Click to see histograms. Total time spent on operations: 19.1s
ival-mult: 4.7s (24.5% of total)
ival-add: 3.0s (15.8% of total)
adjust: 2.2s (11.3% of total)
ival-div: 2.0s (10.3% of total)
ival-pow: 1.6s (8.4% of total)
const: 1.3s (7% of total)
ival-sub: 758.0ms (4% of total)
ival-exp: 572.0ms (3% of total)
ival-log: 493.0ms (2.6% of total)
ival-hypot: 355.0ms (1.9% of total)
ival-sqrt: 281.0ms (1.5% of total)
ival-cos: 278.0ms (1.5% of total)
ival-asin: 273.0ms (1.4% of total)
ival-sin: 246.0ms (1.3% of total)
ival-acos: 196.0ms (1% of total)
ival-pow2: 174.0ms (0.9% of total)
ival-neg: 165.0ms (0.9% of total)
ival-atan2: 128.0ms (0.7% of total)
exact: 82.0ms (0.4% of total)
ival-fabs: 75.0ms (0.4% of total)
ival-log1p: 44.0ms (0.2% of total)
ival-cosh: 42.0ms (0.2% of total)
ival-true: 37.0ms (0.2% of total)
ival-pi: 32.0ms (0.2% of total)
ival-copysign: 26.0ms (0.1% of total)
ival-asinh: 22.0ms (0.1% of total)
ival-assert: 19.0ms (0.1% of total)
ival-sinu: 16.0ms (0.1% of total)
ival-sinh: 12.0ms (0.1% of total)
ival-cosu: 11.0ms (0.1% of total)
ival-acosh: 10.0ms (0.1% of total)
ival-cbrt: 4.0ms (0% of total)

rewrite22.5s (6.9%)

Memory
601.9MiB live, 25 194.1MiB allocated; 4.5s collecting garbage
Stop Event
582×iter limit
141×node limit
46×unsound
saturated
Counts
2 739 → 47 603

derivations20.1s (6.2%)

Memory
-224.8MiB live, 15 228.0MiB allocated; 3.0s collecting garbage
Stop Event
36×fuel
21×done
Compiler

Compiled 39 621 to 4 572 computations (88.5% saved)

explain15.8s (4.9%)

Memory
-107.1MiB live, 20 202.2MiB allocated; 5.5s collecting garbage
Explanations
Click to see full explanations table
OperatorSubexpressionExplanationCount
sqrt.f64#foflow-rescue12550
-.f64#fcancellation7403
/.f64#fo/o6360
sin.f64#fsensitivity1971
cos.f64(cos.f64 (+.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) y.im) (*.f64 (atan2.f64 x.im x.re) y.re)))sensitivity1940
/.f64#fo/n1840
sqrt.f32#foflow-rescue1830
sqrt.f64#fuflow-rescue1420
+.f64#fcancellation1380
log.f32(log.f32 (+.f32 (fabs.f32 x) (sqrt.f32 (+.f32 (*.f32 x x) #s(literal 1 binary32)))))sensitivity1232
log.f64(log.f64 (+.f64 (fabs.f64 x) (sqrt.f64 (+.f64 (*.f64 x x) #s(literal 1 binary64)))))sensitivity1231
/.f64#fn/o1030
-.f64#fnan-rescue940
*.f64#fn*u700
/.f64#fu/u540
+.f64#fnan-rescue440
/.f64#fu/n310
*.f64#fn*o250
/.f64#fn/u90
log.f32#foflow-rescue50
*.f64(*.f64 (*.f64 (sqrt.f64 (*.f64 (PI.f64) #s(literal 2 binary64))) (pow.f64 (+.f64 (+.f64 (-.f64 (-.f64 #s(literal 1 binary64) z) #s(literal 1 binary64)) #s(literal 7 binary64)) #s(literal 1/2 binary64)) (+.f64 (-.f64 (-.f64 #s(literal 1 binary64) z) #s(literal 1 binary64)) #s(literal 1/2 binary64)))) (exp.f64 (neg.f64 (+.f64 (+.f64 (-.f64 (-.f64 #s(literal 1 binary64) z) #s(literal 1 binary64)) #s(literal 7 binary64)) #s(literal 1/2 binary64)))))o*u20
(*.f64 (sqrt.f64 (*.f64 (PI.f64) #s(literal 2 binary64))) (pow.f64 (+.f64 (+.f64 (-.f64 (-.f64 #s(literal 1 binary64) z) #s(literal 1 binary64)) #s(literal 7 binary64)) #s(literal 1/2 binary64)) (+.f64 (-.f64 (-.f64 #s(literal 1 binary64) z) #s(literal 1 binary64)) #s(literal 1/2 binary64))))overflow3
(pow.f64 (+.f64 (+.f64 (-.f64 (-.f64 #s(literal 1 binary64) z) #s(literal 1 binary64)) #s(literal 7 binary64)) #s(literal 1/2 binary64)) (+.f64 (-.f64 (-.f64 #s(literal 1 binary64) z) #s(literal 1 binary64)) #s(literal 1/2 binary64)))overflow3
(exp.f64 (neg.f64 (+.f64 (+.f64 (-.f64 (-.f64 #s(literal 1 binary64) z) #s(literal 1 binary64)) #s(literal 7 binary64)) #s(literal 1/2 binary64))))underflow2
cos.f64(cos.f64 (+.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) y.im) (*.f64 (atan2.f64 x.im x.re) y.re)))oflow-rescue10
(+.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))overflow1
(*.f64 x.re x.re)overflow68
(+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))overflow102
(*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) y.im)overflow1
(*.f64 x.im x.im)overflow48
exp.f64(exp.f64 (neg.f64 (+.f64 (+.f64 (-.f64 (-.f64 #s(literal 1 binary64) z) #s(literal 1 binary64)) #s(literal 7 binary64)) #s(literal 1/2 binary64))))sensitivity10
sin.f64(sin.f64 (+.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) y.im) (*.f64 (atan2.f64 x.im x.re) y.re)))oflow-rescue10
(+.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))overflow1
(*.f64 x.re x.re)overflow68
(+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))overflow102
(*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) y.im)overflow1
(*.f64 x.im x.im)overflow48
Confusion
Predicted +Predicted -
+360830
-19310761
Precision
0.9492238884504078
Recall
0.9917537108301264
Confusion?
Predicted +Predicted MaybePredicted -
+3608723
-193210759
Precision?
0.9488188976377953
Recall?
0.9936778449697636
Freqs
test
numberfreq
010791
13249
2550
32
Total Confusion?
Predicted +Predicted MaybePredicted -
+3800
-0118
Precision?
0.9743589743589743
Recall?
1.0
Samples
3.1s25 542×0valid
1.3s2 646×1valid
755.0ms920×2valid
26.0ms72×3valid
2.0ms5exit
Compiler

Compiled 13 558 to 2 283 computations (83.2% saved)

Precisions
Click to see histograms. Total time spent on operations: 3.6s
ival-mult: 1.0s (28.1% of total)
ival-add: 443.0ms (12.3% of total)
adjust: 384.0ms (10.6% of total)
const: 246.0ms (6.8% of total)
ival-log: 236.0ms (6.5% of total)
ival-exp: 221.0ms (6.1% of total)
ival-div: 219.0ms (6.1% of total)
ival-sub: 196.0ms (5.4% of total)
ival-hypot: 194.0ms (5.4% of total)
ival-asin: 73.0ms (2% of total)
ival-sin: 59.0ms (1.6% of total)
ival-cos: 51.0ms (1.4% of total)
ival-sqrt: 49.0ms (1.4% of total)
ival-atan2: 47.0ms (1.3% of total)
ival-pi: 25.0ms (0.7% of total)
ival-neg: 24.0ms (0.7% of total)
ival-true: 23.0ms (0.6% of total)
ival-pow: 23.0ms (0.6% of total)
ival-fabs: 20.0ms (0.6% of total)
exact: 19.0ms (0.5% of total)
ival-copysign: 13.0ms (0.4% of total)
ival-assert: 12.0ms (0.3% of total)
ival-log1p: 8.0ms (0.2% of total)
ival-sinu: 6.0ms (0.2% of total)
ival-cosu: 5.0ms (0.1% of total)

eval15.2s (4.7%)

Memory
-198.9MiB live, 21 185.0MiB allocated; 5.2s collecting garbage
Compiler

Compiled 4 927 854 to 320 194 computations (93.5% saved)

preprocess14.6s (4.5%)

Memory
616.3MiB live, 14 865.8MiB allocated; 5.2s collecting garbage
Stop Event
114×iter limit
72×node limit
42×saturated
Compiler

Compiled 88 888 to 14 535 computations (83.6% saved)

regimes12.3s (3.8%)

Memory
-184.2MiB live, 16 574.1MiB allocated; 3.3s collecting garbage
Counts
8 457 → 944
Calls

132 calls:

901.0ms
re
695.0ms
im
570.0ms
y.re
513.0ms
y.im
420.0ms
x
Compiler

Compiled 14 716 to 10 355 computations (29.6% saved)

series10.9s (3.3%)

Memory
123.7MiB live, 13 991.7MiB allocated; 3.2s collecting garbage
Counts
2 739 → 19 742
Calls

1188 calls:

TimeVariablePointExpression
138.0ms
x
@inf
((log (+ x (sqrt (- (* x x) 1)))) (- (- (+ (log x) (log 2)) (/ 1/4 (* x x))) (/ 3/32 (pow x 4))) (- (+ (log x) (log 2)) (/ 1/4 (* x x))) (+ (log x) (log 2)) (acosh x) (log (+ x (sqrt (- (* x x) 1)))) (+ x (sqrt (- (* x x) 1))) (sqrt (- (* x x) 1)) (log (+ (* (sqrt (- x -1)) (sqrt (- x 1))) x)) (+ (* (sqrt (- x -1)) (sqrt (- x 1))) x) (sqrt (- x -1)) (- x -1) (/ 1/4 (* x x)) (/ 3/32 (pow x 4)) (sqrt (- x 1)))
106.0ms
base
@inf
((* (log (sqrt (+ (* im im) (* re re)))) (/ (log base) (pow (log base) 2))) (log (sqrt (+ (* im im) (* re re)))) (sqrt (+ (* im im) (* re re))) (/ (log base) (pow (log base) 2)) (* (log base) (/ (log (sqrt (+ (* im im) (* re re)))) (pow (log base) 2))) (log base) (/ (log (sqrt (+ (* im im) (* re re)))) (pow (log base) 2)) (log (sqrt (+ (* im im) (* re re)))) (* (log (sqrt (+ (* im im) (* re re)))) (/ (log base) (log (pow base (log base))))) (/ (log base) (log (pow base (log base)))) (* (* (pow (log base) 2) (log base)) (/ (log (sqrt (+ (* re re) (* im im)))) (pow (log base) 4))) (* (pow (log base) 2) (log base)) (pow (log base) 2) (* (/ (* (log base) (log (sqrt (+ (* im im) (* re re))))) (pow (log base) 4)) (/ (- (pow (log base) 4) 0) (- (pow (log base) 2) 0))) (/ (* (log base) (log (sqrt (+ (* im im) (* re re))))) (pow (log base) 4)) (- (pow (log base) 4) 0) (- (pow (log base) 2) 0) (/ 1 (log base)) (sqrt (+ (* im im) (* re re))) (log (pow base (log base))) (pow base (log base)) (pow (log base) 4) (/ (- (pow (log base) 4) 0) (- (pow (log base) 2) 0)))
101.0ms
x
@-inf
((log (+ x (sqrt (- (* x x) 1)))) (- (- (+ (log x) (log 2)) (/ 1/4 (* x x))) (/ 3/32 (pow x 4))) (- (+ (log x) (log 2)) (/ 1/4 (* x x))) (+ (log x) (log 2)) (acosh x) (log (+ x (sqrt (- (* x x) 1)))) (+ x (sqrt (- (* x x) 1))) (sqrt (- (* x x) 1)) (log (+ (* (sqrt (- x -1)) (sqrt (- x 1))) x)) (+ (* (sqrt (- x -1)) (sqrt (- x 1))) x) (sqrt (- x -1)) (- x -1) (/ 1/4 (* x x)) (/ 3/32 (pow x 4)) (sqrt (- x 1)))
97.0ms
re
@0
((* (atan2 im re) (/ (log base) (pow (log base) 2))) (atan2 im re) (/ (log base) (pow (log base) 2)) (/ 1 (log base)) (* (/ (* (log base) (atan2 im re)) (pow (log base) 4)) (pow (log base) 2)) (/ (* (log base) (atan2 im re)) (pow (log base) 4)) (/ (atan2 im re) (pow (log base) 3)) (* (pow (log base) 3) (/ (atan2 im re) (pow (log base) 4))) (pow (log base) 3) (log base) (/ (atan2 im re) (pow (log base) 4)) (/ (* (log base) (atan2 im re)) (pow (exp 2) (log (log base)))) (* (log base) (atan2 im re)) (* (* (log base) (atan2 im re)) (pow (log base) 4)) (/ (* (* (log base) (atan2 im re)) (pow (log base) 4)) (pow (log base) 6)) (pow (log base) 2) (pow (log base) 4) (pow (exp 2) (log (log base))) (log (log base)) (pow (log base) 6))
93.0ms
y.im
@inf
((* (exp (- (* (log (sqrt (+ (* x.re x.re) (* x.im x.im)))) y.re) (* (atan2 x.im x.re) y.im))) (sin (+ (* (log (sqrt (+ (* x.re x.re) (* x.im x.im)))) y.im) (* (atan2 x.im x.re) y.re)))) (* (/ (pow (sqrt (+ (* x.im x.im) (* x.re x.re))) y.re) (pow (exp y.im) (atan2 x.im x.re))) (sin (+ (* (log (sqrt (+ (* x.im x.im) (* x.re x.re)))) y.im) (* (atan2 x.im x.re) y.re)))) (/ (pow (sqrt (+ (* x.im x.im) (* x.re x.re))) y.re) (pow (exp y.im) (atan2 x.im x.re))) (pow (sqrt (+ (* x.im x.im) (* x.re x.re))) y.re) (* (exp (- (* (log (sqrt (+ (* x.re x.re) (* x.im x.im)))) y.re) (* (atan2 x.im x.re) y.im))) (sin (+ (* (log (sqrt (+ (* x.re x.re) (* x.im x.im)))) y.im) (* (atan2 x.im x.re) y.re)))) (exp (- (* (log (sqrt (+ (* x.re x.re) (* x.im x.im)))) y.re) (* (atan2 x.im x.re) y.im))) (sqrt (+ (* x.im x.im) (* x.re x.re))) (sqrt (+ (* x.re x.re) (* x.im x.im))) (exp (- (* (log (sqrt (+ (* x.re x.re) (* x.im x.im)))) y.re) (* (atan2 x.im x.re) y.im))) (+ (* x.re x.re) (* x.im x.im)) (* (exp (- (* (log (sqrt (+ (* x.re x.re) (* x.im x.im)))) y.re) (* (atan2 x.im x.re) y.im))) (sin (+ (* (log (sqrt (+ (* x.re x.re) (* x.im x.im)))) y.im) (* (atan2 x.im x.re) y.re)))) (neg (* (neg (log x.im)) y.im)) (neg (* (neg (log x.im)) y.re)) (exp (- (neg (* (neg (log x.im)) y.re)) (* (atan2 x.im x.re) y.im))) (* (exp (- (* (log (sqrt (+ (* x.re x.re) (* x.im x.im)))) y.re) (* (atan2 x.im x.re) y.im))) (sin (+ (* (log (sqrt (+ (* x.re x.re) (* x.im x.im)))) y.im) (* (atan2 x.im x.re) y.re)))) (* (exp (- (* (log (sqrt (+ (* x.re x.re) (* x.im x.im)))) y.re) (* (atan2 x.im x.re) y.im))) (sin (+ (* (log (sqrt (+ (* x.re x.re) (* x.im x.im)))) y.im) (* (atan2 x.im x.re) y.re)))) (sin (+ (* (log (sqrt (+ (* x.im x.im) (* x.re x.re)))) y.im) (* (atan2 x.im x.re) y.re))) (* (atan2 x.im x.re) y.re) (+ (* (log (sqrt (+ (* x.im x.im) (* x.re x.re)))) y.im) (* (atan2 x.im x.re) y.re)) (sin (+ (* (log (sqrt (+ (* x.re x.re) (* x.im x.im)))) y.im) (* (atan2 x.im x.re) y.re))) (+ (* (log (sqrt (+ (* x.re x.re) (* x.im x.im)))) y.im) (* (atan2 x.im x.re) y.re)) (sin (+ (* (atan2 x.im x.re) y.re) (neg (* (neg (log x.im)) y.im)))) (+ (* (atan2 x.im x.re) y.re) (neg (* (neg (log x.im)) y.im))) (* (neg (log x.im)) y.im) (sin (* (atan2 x.im x.re) y.re)) (cos (* (atan2 x.im x.re) y.re)) (sin (+ (* (log (sqrt (+ (* x.re x.re) (* x.im x.im)))) y.im) (* (atan2 x.im x.re) y.re))))

prune6.4s (2%)

Memory
74.4MiB live, 9 929.5MiB allocated; 1.3s collecting garbage
Counts
75 821 → 2 645
Compiler

Compiled 264 838 to 108 451 computations (59.1% saved)

bsearch5.5s (1.7%)

Memory
109.2MiB live, 6 347.3MiB allocated; 1.5s collecting garbage
Algorithm
245×left-value
242×binary-search
Stop Event
226×narrow-enough
16×predicate-same
Samples
2.1s16 516×0valid
1.0s2 373×1valid
90.0ms171×2valid
21.0ms76×3valid
Compiler

Compiled 193 857 to 97 441 computations (49.7% saved)

Precisions
Click to see histograms. Total time spent on operations: 2.3s
ival-mult: 727.0ms (31% of total)
ival-hypot: 240.0ms (10.2% of total)
ival-log: 230.0ms (9.8% of total)
adjust: 196.0ms (8.4% of total)
ival-add: 193.0ms (8.2% of total)
ival-sin: 135.0ms (5.8% of total)
ival-exp: 133.0ms (5.7% of total)
const: 99.0ms (4.2% of total)
ival-sub: 94.0ms (4% of total)
ival-sqrt: 80.0ms (3.4% of total)
ival-atan2: 73.0ms (3.1% of total)
ival-cos: 56.0ms (2.4% of total)
ival-div: 55.0ms (2.3% of total)
ival-true: 13.0ms (0.6% of total)
ival-assert: 7.0ms (0.3% of total)
ival-neg: 7.0ms (0.3% of total)
exact: 5.0ms (0.2% of total)
ival-fabs: 3.0ms (0.1% of total)

analyze3.4s (1.1%)

Memory
-89.3MiB live, 3 311.2MiB allocated; 1.9s collecting garbage
Algorithm
58×search
Search
ProbabilityValidUnknownPreconditionInfiniteDomainCan'tIter
0%0%86.3%13.7%0%0%0%0
55.4%47.8%38.5%13.7%0%0%0%1
65.9%55.7%28.9%13.7%0%1.7%0%2
71.2%58.4%23.6%13.7%0%4.3%0%3
77.4%62%18.1%13.7%0%6.2%0%4
83.5%66.8%13.2%13.7%0%6.3%0%5
85.8%68.3%11.3%13.7%0%6.6%0%6
88.3%70.3%9.4%13.7%0%6.6%0%7
89.9%71.5%8%13.7%0%6.8%0%8
91.1%72.5%7.1%13.7%0%6.8%0%9
92.6%73.6%5.9%13.7%0%6.8%0%10
94%74.7%4.8%13.7%0%6.8%0%11
94.5%75.1%4.4%13.7%0%6.9%0%12
Compiler

Compiled 1 498 to 816 computations (45.5% saved)

start43.0ms (0%)

Memory
-44.6MiB live, 8.1MiB allocated; 26ms collecting garbage

end0.0ms (0%)

Memory
0.8MiB live, 0.8MiB allocated; 0ms collecting garbage

Profiling

Loading profile data...