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: 9.6min)

sample2.6min (27.4%)

Results
1.2min434646×0valid
44.0s7898×5exit
13.4s28886×1valid
3.5s6776×2valid
1.9s6735×0invalid
147.0ms364×3valid
Precisions
Click to see histograms. Total time spent on operations: 1.7min
ival-sin: 33.5s (32.5% of total)
ival-mult: 25.6s (24.8% of total)
ival-add: 7.0s (6.8% of total)
...c/correct-round.rkt:168:19: 6.0s (5.8% of total)
ival-div: 5.3s (5.2% of total)
adjust: 5.2s (5% of total)
ival-exp: 3.0s (2.9% of total)
ival-sub: 2.8s (2.7% of total)
ival-log: 2.3s (2.2% of total)
ival-sqrt: 2.2s (2.1% of total)
ival-asin: 1.6s (1.6% of total)
ival-pow: 1.3s (1.2% of total)
ival-cos: 1.0s (1% of total)
ival-atan2: 932.0ms (0.9% of total)
ival-pi: 650.0ms (0.6% of total)
ival->: 610.0ms (0.6% of total)
const: 567.0ms (0.5% of total)
ival-true: 557.0ms (0.5% of total)
ival-neg: 551.0ms (0.5% of total)
ival-acosh: 551.0ms (0.5% of total)
ival-assert: 531.0ms (0.5% of total)
ival-<=: 357.0ms (0.3% of total)
ival-asinh: 313.0ms (0.3% of total)
ival-fabs: 264.0ms (0.3% of total)
ival-atanh: 181.0ms (0.2% of total)
ival->=: 148.0ms (0.1% of total)
ival-and: 84.0ms (0.1% of total)
Bogosity

simplify1.6min (16.2%)

Algorithm
432×egg-herbie
Rules
156062×fma-define
108105×fmm-def
96027×distribute-lft-in
89985×associate-*r*
83287×distribute-rgt-in
Stop Event
144×saturated
276×node limit
12×unsound
Counts
98235 → 93587

soundness1.2min (12.1%)

Rules
61479×fma-define
50269×log1p-expm1-u
47003×fmm-def
46498×associate-*r*
37541×distribute-lft-in
Stop Event
19×saturated
197×node limit
35×fuel
12×unsound
22×done
Compiler

Compiled 47880 to 13369 computations (72.1% saved)

localize59.0s (10.2%)

Results
21.3s35885×0valid
10.9s5521×1valid
5.5s867×5exit
4.8s4834×0invalid
3.3s1287×2valid
480.0ms229×1invalid
71.0ms17×3valid
Compiler

Compiled 50032 to 5492 computations (89% saved)

Precisions
Click to see histograms. Total time spent on operations: 19.3s
ival-mult: 4.0s (20.7% of total)
ival-pow: 2.2s (11.2% of total)
adjust: 2.1s (11.1% of total)
ival-add: 1.8s (9.2% of total)
...c/correct-round.rkt:168:19: 1.8s (9.1% of total)
ival-div: 1.4s (7.4% of total)
ival-log: 1.2s (6.1% of total)
ival-fma: 863.0ms (4.5% of total)
ival-sub: 752.0ms (3.9% of total)
ival-exp: 457.0ms (2.4% of total)
ival-sqrt: 400.0ms (2.1% of total)
ival-hypot: 353.0ms (1.8% of total)
ival-neg: 262.0ms (1.4% of total)
ival-asin: 244.0ms (1.3% of total)
ival-sin: 216.0ms (1.1% of total)
ival-cos: 210.0ms (1.1% of total)
ival-atan2: 200.0ms (1% of total)
const: 135.0ms (0.7% of total)
ival-fabs: 130.0ms (0.7% of total)
ival-log1p: 121.0ms (0.6% of total)
ival-cbrt: 105.0ms (0.5% of total)
ival-acos: 103.0ms (0.5% of total)
ival-copysign: 89.0ms (0.5% of total)
ival-true: 86.0ms (0.4% of total)
ival-assert: 60.0ms (0.3% of total)
ival-pi: 47.0ms (0.2% of total)
ival-expm1: 39.0ms (0.2% of total)
ival-e: 2.0ms (0% of total)

rewrite47.9s (8.3%)

Algorithm
185×batch-egg-rewrite
Rules
120454×log1p-expm1-u
83175×expm1-log1p-u
38632×pow1
38227×add-exp-log
37522×add-log-exp
Stop Event
177×node limit
unsound
Counts
2218 → 61122

prune35.9s (6.2%)

Counts
134995 → 3097
Compiler

Compiled 136496 to 72404 computations (47% saved)

eval29.3s (5.1%)

Compiler

Compiled 4206164 to 538334 computations (87.2% saved)

explain19.1s (3.3%)

Explanations
Click to see full explanations table
OperatorSubexpressionExplanationCount
sqrt.f64#foflow-rescue11620
-.f64#fcancellation7662
/.f64#fo/o6450
sin.f64#fsensitivity1911
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)))sensitivity1880
/.f64#fo/n1830
sqrt.f32#foflow-rescue1780
sqrt.f64#fuflow-rescue1550
+.f64#fcancellation1460
log.f64(log.f64 (+.f64 (fabs.f64 x) (sqrt.f64 (+.f64 (*.f64 x x) #s(literal 1 binary64)))))sensitivity1390
log.f32(log.f32 (+.f32 (fabs.f32 x) (sqrt.f32 (+.f32 (*.f32 x x) #s(literal 1 binary32)))))sensitivity1232
/.f64#fn/o960
-.f64#fnan-rescue930
+.f64#fnan-rescue690
*.f64#fn*u620
/.f64#fu/u600
/.f64#fu/n420
*.f64#fn*o310
/.f64#fn/u120
exp.f64#fsensitivity100
log.f32#foflow-rescue40
*.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*u30
(*.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))))underflow3
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-rescue20
(+.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))overflow2
(*.f64 (atan2.f64 x.im x.re) y.re)overflow1
(*.f64 x.re x.re)overflow57
(+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))overflow101
(*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) y.im)overflow1
(*.f64 x.im x.im)overflow63
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-rescue20
(+.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))overflow2
(*.f64 (atan2.f64 x.im x.re) y.re)overflow1
(*.f64 x.re x.re)overflow57
(+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))overflow101
(*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) y.im)overflow1
(*.f64 x.im x.im)overflow63
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
Confusion
Predicted +Predicted -
+361143
-21210726
Precision
0.9445461679309443
Recall
0.988232074438971
Confusion?
Predicted +Predicted MaybePredicted -
+3611439
-212210724
Precision?
0.9441107338730739
Recall?
0.9893267651888341
Freqs
test
numberfreq
010769
13286
2534
33
Total Confusion?
Predicted +Predicted MaybePredicted -
+3600
-3117
Precision?
0.9
Recall?
1.0
Results
6.2s25578×0valid
2.7s3012×1valid
419.0ms568×2valid
15.0ms24×3valid
2.0ms5exit
Compiler

Compiled 15052 to 2968 computations (80.3% saved)

Precisions
Click to see histograms. Total time spent on operations: 3.3s
ival-mult: 964.0ms (29.6% of total)
ival-add: 352.0ms (10.8% of total)
ival-div: 283.0ms (8.7% of total)
...c/correct-round.rkt:168:19: 225.0ms (6.9% of total)
adjust: 214.0ms (6.6% of total)
ival-sqrt: 179.0ms (5.5% of total)
ival-log: 176.0ms (5.4% of total)
ival-exp: 174.0ms (5.3% of total)
ival-sub: 129.0ms (4% of total)
ival-sin: 83.0ms (2.5% of total)
ival-asin: 74.0ms (2.3% of total)
ival-atan2: 62.0ms (1.9% of total)
ival-cos: 58.0ms (1.8% of total)
ival-log1p: 58.0ms (1.8% of total)
ival-true: 49.0ms (1.5% of total)
ival-pow: 38.0ms (1.2% of total)
ival-assert: 35.0ms (1.1% of total)
const: 32.0ms (1% of total)
ival-fabs: 23.0ms (0.7% of total)
ival-pi: 20.0ms (0.6% of total)
ival-neg: 14.0ms (0.4% of total)
ival-copysign: 14.0ms (0.4% of total)

bsearch18.1s (3.1%)

Algorithm
322×binary-search
52×left-value
Stop Event
14×predicate-same
308×narrow-enough
Results
12.1s33925×0valid
2.0s2638×1valid
355.0ms733×2valid
Compiler

Compiled 68254 to 47014 computations (31.1% saved)

Precisions
Click to see histograms. Total time spent on operations: 5.5s
ival-mult: 1.9s (35.4% of total)
ival-exp: 617.0ms (11.3% of total)
ival-log: 499.0ms (9.1% of total)
ival-add: 465.0ms (8.5% of total)
ival-cos: 295.0ms (5.4% of total)
...c/correct-round.rkt:168:19: 294.0ms (5.4% of total)
ival-sin: 285.0ms (5.2% of total)
ival-sub: 200.0ms (3.7% of total)
ival-atan2: 188.0ms (3.4% of total)
ival-div: 173.0ms (3.2% of total)
ival-sqrt: 166.0ms (3% of total)
adjust: 113.0ms (2.1% of total)
ival-asin: 62.0ms (1.1% of total)
ival-true: 55.0ms (1% of total)
ival-assert: 40.0ms (0.7% of total)
const: 23.0ms (0.4% of total)
ival-fabs: 21.0ms (0.4% of total)
ival-neg: 16.0ms (0.3% of total)
ival-copysign: 14.0ms (0.3% of total)
ival-pi: 6.0ms (0.1% of total)

series17.7s (3.1%)

Counts
2218 → 37113
Calls

9684 calls:

TimeVariablePointExpression
395.0ms
y.im
@-inf
(log (cos (+ (* y.re (atan2 x.im x.re)) (* y.im (log (sqrt (+ (* x.im x.im) (* x.re x.re))))))))
352.0ms
x
@-inf
(log (+ 1 (fabs x)))
299.0ms
base
@inf
(log (+ 1 (log base)))
217.0ms
x.re
@-inf
(+ (* (+ x.im x.re) (* x.im (+ x.re -3))) (* (+ (* x.re x.im) (* x.im x.re)) x.re))
194.0ms
alpha
@0
(/ (+ alpha (* beta (+ 1 (+ alpha (/ 1 beta))))) (* (+ beta (+ alpha 3)) (* (+ alpha (+ beta 2)) (+ alpha (+ beta 2)))))

preprocess13.1s (2.3%)

Algorithm
57×egg-herbie
Rules
20513×fmm-def
20193×fma-define
9595×unsub-neg
9128×sub-neg
8864×distribute-lft-in
Stop Event
32×saturated
25×node limit
Compiler

Compiled 31322 to 12176 computations (61.1% saved)

regimes12.1s (2.1%)

Counts
8236 → 784
Calls

132 calls:

1.2s
y.re
917.0ms
x.im
786.0ms
x
739.0ms
im
544.0ms
re
Compiler

Compiled 6280 to 3901 computations (37.9% saved)

analyze3.3s (0.6%)

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 1498 to 848 computations (43.4% saved)

end0.0ms (0%)

Profiling

Loading profile data...