Herbie run

Date:Thursday, June 20th, 2024
Commit:aefdd770 on main
Hostname:nightly with Racket 8.11.1
Seed:2024172
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: 8.5min)

sample2.2min (25.9%)

Memory
184.5MiB live, 139 924.4MiB allocated
Samples
53.4s434 072×0valid
42.7s7 723×5exit
12.0s29 258×1valid
2.6s6 876×2valid
523.0ms4 545×0exit
457.0ms403×3valid
47.0ms575×0invalid
Precisions
Click to see histograms. Total time spent on operations: 1.5min
ival-sin: 34.0s (36.9% of total)
ival-mult: 17.5s (19% of total)
ival-add: 7.9s (8.6% of total)
ival-div: 5.0s (5.4% of total)
...in/eval/compile.rkt:77:19: 4.1s (4.5% of total)
adjust: 3.6s (3.9% of total)
ival-sub: 3.6s (3.9% of total)
ival-exp: 3.6s (3.9% of total)
ival-sqrt: 2.5s (2.7% of total)
ival-log: 2.3s (2.4% of total)
ival-cos: 1.3s (1.5% of total)
ival-pi: 1.0s (1.1% of total)
ival-asin: 1.0s (1.1% of total)
ival-atan2: 843.0ms (0.9% of total)
ival-pow: 684.0ms (0.7% of total)
ival-acosh: 486.0ms (0.5% of total)
ival-neg: 472.0ms (0.5% of total)
ival-asinh: 335.0ms (0.4% of total)
ival->: 322.0ms (0.3% of total)
ival-atanh: 297.0ms (0.3% of total)
...in/eval/compile.rkt:76:19: 271.0ms (0.3% of total)
ival-true: 267.0ms (0.3% of total)
ival-assert: 178.0ms (0.2% of total)
ival-fabs: 169.0ms (0.2% of total)
ival-<=: 166.0ms (0.2% of total)
ival->=: 117.0ms (0.1% of total)
ival-and: 74.0ms (0.1% of total)
Bogosity

simplify1.6min (18.7%)

Memory
-53.2MiB live, 90 035.6MiB allocated
Algorithm
431×egg-herbie
Rules
161 739×fma-define
108 813×fmm-def
94 678×distribute-lft-in
88 706×associate-*r*
83 996×distribute-rgt-in
Stop Event
282×node limit
138×saturated
11×unsound
Counts
96 863 → 91 645

soundness1.1min (12.6%)

Memory
-311.9MiB live, 51 732.8MiB allocated
Rules
66 454×log1p-expm1-u
60 915×fma-define
48 390×fmm-def
45 118×associate-*r*
44 534×expm1-log1p-u
Stop Event
207×node limit
33×fuel
24×done
19×saturated
11×unsound
Compiler

Compiled 49 559 to 14 140 computations (71.5% saved)

rewrite48.3s (9.5%)

Memory
-193.1MiB live, 42 106.3MiB allocated
Algorithm
185×batch-egg-rewrite
Rules
125 369×log1p-expm1-u
86 820×expm1-log1p-u
40 103×pow1
38 715×add-exp-log
37 322×add-log-exp
Stop Event
177×node limit
unsound
Counts
2 144 → 59 195

localize33.9s (6.7%)

Memory
261.5MiB live, 38 445.5MiB allocated
Samples
10.5s37 265×0valid
4.9s4 688×1valid
2.0s4 514×0invalid
1.9s1 139×2valid
1.4s550×5exit
118.0ms127×1invalid
31.0ms76×0exit
15.0ms1exit
10.0ms15×3valid
3.0ms2exit
Compiler

Compiled 45 325 to 5 416 computations (88.1% saved)

Precisions
Click to see histograms. Total time spent on operations: 14.9s
ival-mult: 3.5s (23.6% of total)
ival-add: 2.0s (13.6% of total)
ival-log: 1.3s (8.7% of total)
ival-div: 1.2s (7.8% of total)
ival-pow: 1.1s (7.3% of total)
...in/eval/compile.rkt:77:19: 910.0ms (6.1% of total)
ival-sqrt: 662.0ms (4.5% of total)
ival-pow2: 452.0ms (3% of total)
adjust: 436.0ms (2.9% of total)
ival-exp: 435.0ms (2.9% of total)
ival-sub: 425.0ms (2.9% of total)
ival-cos: 385.0ms (2.6% of total)
ival-hypot: 382.0ms (2.6% of total)
ival-sin: 379.0ms (2.5% of total)
ival-cbrt: 325.0ms (2.2% of total)
ival-asin: 205.0ms (1.4% of total)
ival-log1p: 165.0ms (1.1% of total)
ival-neg: 143.0ms (1% of total)
ival-atan2: 132.0ms (0.9% of total)
ival-acos: 80.0ms (0.5% of total)
ival-copysign: 77.0ms (0.5% of total)
...in/eval/compile.rkt:76:19: 59.0ms (0.4% of total)
ival-fabs: 42.0ms (0.3% of total)
ival-true: 41.0ms (0.3% of total)
ival-expm1: 39.0ms (0.3% of total)
ival-pi: 34.0ms (0.2% of total)
ival-assert: 19.0ms (0.1% of total)

prune33.8s (6.6%)

Memory
-582.1MiB live, 47 352.7MiB allocated
Counts
135 996 → 2 974
Compiler

Compiled 137 324 to 72 032 computations (47.5% saved)

eval30.4s (6%)

Memory
864.8MiB live, 38 308.8MiB allocated
Compiler

Compiled 4 291 070 to 544 301 computations (87.3% saved)

series17.3s (3.4%)

Memory
280.7MiB live, 21 709.6MiB allocated
Counts
2 144 → 37 668
Calls

9756 calls:

TimeVariablePointExpression
533.0ms
x
@inf
(log (* (- 1 (/ (+ x (/ -1/2 x)) x)) (neg x)))
250.0ms
im
@-inf
(log (+ 1 (/ (log im) (log base))))
195.0ms
x.im
@-inf
(* (sin (* y.re (atan2 x.im x.re))) (pow x.im y.re))
191.0ms
x.re
@0
(* (exp (+ (* (log (sqrt (+ (* x.re x.re) (* x.im x.im)))) y.re) (* (atan2 x.im x.re) (neg y.im)))) (cos (pow (cbrt (+ (* y.re (atan2 x.im x.re)) (* y.im (log (sqrt (+ (* x.re x.re) (* x.im x.im))))))) 3)))
189.0ms
i
@-inf
(* (- beta alpha) (/ alpha (+ alpha (* 2 i))))

explain15.8s (3.1%)

Memory
46.3MiB live, 17 562.3MiB allocated
Explanations
Click to see full explanations table
OperatorSubexpressionExplanationCount
sqrt.f64#foflow-rescue12120
-.f64#fcancellation7452
/.f64#fo/o6640
sqrt.f32#foflow-rescue2090
/.f64#fo/n2000
sin.f64#fsensitivity1800
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)))sensitivity1780
+.f64#fcancellation1480
sqrt.f64#fuflow-rescue1470
log.f64(log.f64 (+.f64 (fabs.f64 x) (sqrt.f64 (+.f64 (*.f64 x x) #s(literal 1 binary64)))))sensitivity1280
log.f32(log.f32 (+.f32 (fabs.f32 x) (sqrt.f32 (+.f32 (*.f32 x x) #s(literal 1 binary32)))))sensitivity1231
-.f64#fnan-rescue1140
/.f64#fn/o800
/.f64#fu/u740
*.f64#fn*u580
+.f64#fnan-rescue510
*.f64#fn*o340
/.f64(/.f64 (*.f64 (*.f64 i i) (*.f64 i i)) (*.f64 (*.f64 #s(literal 2 binary64) i) (*.f64 #s(literal 2 binary64) i)))u/n290
(*.f64 (*.f64 i i) (*.f64 i i))underflow102
(*.f64 i i)underflow144
/.f64#fn/u70
exp.f64#fsensitivity40
pow.f64(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)))sensitivity10
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)overflow62
(+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))overflow108
(*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) y.im)overflow1
(*.f64 x.im x.im)overflow68
log.f32(log.f32 (+.f32 x (sqrt.f32 (-.f32 (*.f32 x x) #s(literal 1 binary32)))))oflow-rescue10
(+.f32 x (sqrt.f32 (-.f32 (*.f32 x x) #s(literal 1 binary32))))overflow1
(*.f32 x x)overflow148
(-.f32 (*.f32 x x) #s(literal 1 binary32))overflow148
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)overflow62
(+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))overflow108
(*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) y.im)overflow1
(*.f64 x.im x.im)overflow68
*.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*u10
(*.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))))overflow1
(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)))overflow1
(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))))underflow1
Confusion
Predicted +Predicted -
+363133
-20710721
Precision
0.9460656591974987
Recall
0.9909934497816594
Confusion?
Predicted +Predicted MaybePredicted -
+3631033
-207610715
Precision?
0.9445889698231009
Recall?
0.9909934497816594
Freqs
test
numberfreq
010754
13290
2544
34
Total Confusion?
Predicted +Predicted MaybePredicted -
+3800
-1018
Precision?
0.9743589743589743
Recall?
1.0
Samples
3.6s25 704×0valid
1.4s2 902×1valid
399.0ms550×2valid
7.0ms24×3valid
2.0ms5exit
Compiler

Compiled 15 052 to 2 968 computations (80.3% saved)

Precisions
Click to see histograms. Total time spent on operations: 3.8s
ival-mult: 1.2s (31.9% of total)
ival-exp: 441.0ms (11.7% of total)
ival-add: 417.0ms (11% of total)
ival-log: 257.0ms (6.8% of total)
ival-copysign: 221.0ms (5.8% of total)
ival-div: 191.0ms (5% of total)
...in/eval/compile.rkt:77:19: 186.0ms (4.9% of total)
ival-sqrt: 172.0ms (4.5% of total)
ival-cos: 147.0ms (3.9% of total)
ival-sub: 113.0ms (3% of total)
adjust: 88.0ms (2.3% of total)
ival-asin: 76.0ms (2% of total)
ival-atan2: 75.0ms (2% of total)
ival-sin: 63.0ms (1.7% of total)
ival-pow: 27.0ms (0.7% of total)
ival-true: 26.0ms (0.7% of total)
ival-fabs: 20.0ms (0.5% of total)
...in/eval/compile.rkt:76:19: 15.0ms (0.4% of total)
ival-pi: 15.0ms (0.4% of total)
ival-neg: 11.0ms (0.3% of total)
ival-assert: 11.0ms (0.3% of total)
ival-log1p: 8.0ms (0.2% of total)

preprocess13.8s (2.7%)

Memory
-189.6MiB live, 12 641.5MiB allocated
Algorithm
57×egg-herbie
Rules
20 513×fmm-def
20 193×fma-define
9 595×unsub-neg
9 128×sub-neg
8 864×distribute-lft-in
Stop Event
32×saturated
25×node limit
Compiler

Compiled 32 098 to 12 214 computations (61.9% saved)

regimes12.2s (2.4%)

Memory
188.0MiB live, 16 476.0MiB allocated
Counts
8 510 → 819
Calls

132 calls:

876.0ms
y.re
807.0ms
re
763.0ms
im
756.0ms
x
708.0ms
x.re
Compiler

Compiled 6 232 to 3 927 computations (37% saved)

bsearch9.8s (1.9%)

Memory
96.4MiB live, 11 171.1MiB allocated
Algorithm
344×binary-search
41×left-value
Stop Event
329×narrow-enough
15×predicate-same
Samples
5.5s35 716×0valid
1.3s3 229×1valid
43.0ms159×2valid
Compiler

Compiled 73 703 to 50 353 computations (31.7% saved)

Precisions
Click to see histograms. Total time spent on operations: 4.9s
ival-mult: 1.8s (37.8% of total)
ival-log: 423.0ms (8.7% of total)
ival-add: 367.0ms (7.5% of total)
ival-sqrt: 333.0ms (6.8% of total)
ival-sin: 332.0ms (6.8% of total)
...in/eval/compile.rkt:77:19: 285.0ms (5.9% of total)
ival-exp: 260.0ms (5.3% of total)
ival-sub: 229.0ms (4.7% of total)
ival-atan2: 227.0ms (4.7% of total)
ival-cos: 196.0ms (4% of total)
ival-div: 193.0ms (4% of total)
adjust: 70.0ms (1.4% of total)
ival-true: 28.0ms (0.6% of total)
ival-neg: 24.0ms (0.5% of total)
ival-fabs: 18.0ms (0.4% of total)
ival-assert: 14.0ms (0.3% of total)
ival-copysign: 12.0ms (0.2% of total)
...in/eval/compile.rkt:76:19: 10.0ms (0.2% of total)
ival-pi: 3.0ms (0.1% of total)

analyze2.4s (0.5%)

Memory
59.7MiB live, 3 757.7MiB allocated
Algorithm
58×search
Search
ProbabilityValidUnknownPreconditionInfiniteDomainCan'tIter
0%0%86.3%13.7%0%0%0%0
53.4%46.1%40.2%13.7%0%0%0%1
62.8%53.1%31.4%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 848 computations (43.4% saved)

end0.0ms (0%)

Memory
0.8MiB live, 0.8MiB allocated

Profiling

Loading profile data...