Herbie run

Date:Thursday, May 23rd, 2024
Commit:6b737c7e on explanations-trifurcate
Hostname:nightly with Racket 8.11.1
Seed:2024144
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.6hr)

sample23.1min (23.5%)

Results
8.8min3839934×0valid
3.5min59286×5exit
3.3min483026×1valid
1.4min130222×2valid
30.8s19315×3valid
30.7s143655×0precondition
29.2s170482×0invalid
16.7s60968×0unsamplable
9.6s26935×1invalid
8.0s2271×4valid
1.9s2694×2invalid
47.0ms64×1unsamplable
12.0ms20×3invalid
7.0ms5valid
Precisions
Click to see histograms. Total time spent on operations: 14.6min
ival-pow: 2.7min (18.2% of total)
ival-mult: 2.7min (18.2% of total)
ival-sin: 1.2min (8.2% of total)
ival-div: 1.2min (8% of total)
ival-add: 1.0min (7.1% of total)
ival-sub: 55.9s (6.4% of total)
backward-pass: 40.5s (4.6% of total)
...c/correct-round.rkt:121:19: 38.2s (4.4% of total)
ival-cos: 38.0s (4.3% of total)
ival-exp: 34.8s (4% of total)
ival-log: 29.1s (3.3% of total)
ival-sqrt: 24.9s (2.8% of total)
ival-<=: 20.6s (2.4% of total)
ival-tan: 19.1s (2.2% of total)
ival-neg: 8.1s (0.9% of total)
const: 7.7s (0.9% of total)
ival-fabs: 6.2s (0.7% of total)
ival-<: 5.2s (0.6% of total)
ival-and: 3.4s (0.4% of total)
ival-pi: 2.9s (0.3% of total)
ival-acos: 2.2s (0.3% of total)
ival->: 2.2s (0.2% of total)
ival-asin: 1.7s (0.2% of total)
ival-atan2: 1.7s (0.2% of total)
ival-atan: 1.2s (0.1% of total)
ival-==: 1.2s (0.1% of total)
ival-fmod: 941.0ms (0.1% of total)
ival-floor: 927.0ms (0.1% of total)
ival-asinh: 775.0ms (0.1% of total)
ival->=: 623.0ms (0.1% of total)
ival-if: 623.0ms (0.1% of total)
ival-sinh: 604.0ms (0.1% of total)
ival-fmin: 600.0ms (0.1% of total)
ival-cbrt: 587.0ms (0.1% of total)
ival-fma: 528.0ms (0.1% of total)
ival-acosh: 449.0ms (0.1% of total)
ival-fmax: 326.0ms (0% of total)
ival-hypot: 280.0ms (0% of total)
ival-cosh: 278.0ms (0% of total)
ival-log2: 255.0ms (0% of total)
ival-atanh: 215.0ms (0% of total)
ival-tanh: 92.0ms (0% of total)
ival-or: 65.0ms (0% of total)
Bogosity

simplify18.4min (18.8%)

Algorithm
4374×egg-herbie
Rules
1673056×fma-define
1265307×fma-neg
887554×distribute-lft-in
850409×times-frac
813530×associate-*r*
Stop Event
1479×saturated
2868×node limit
27×unsound
Counts
1140462 → 976754

soundness11.7min (11.9%)

Rules
651947×fma-define
485926×log1p-expm1-u
478288×fma-neg
399308×associate-*r*
382927×times-frac
Stop Event
161×saturated
364×fuel
1910×node limit
29×unsound
176×done
Compiler

Compiled 436512 to 128996 computations (70.4% saved)

rewrite8.2min (8.4%)

Algorithm
1897×batch-egg-rewrite
Rules
1199922×log1p-expm1-u
897831×expm1-log1p-u
423141×pow1
403871×add-exp-log
388984×add-log-exp
Stop Event
saturated
1876×node limit
18×unsound
Counts
21757 → 658454

localize7.5min (7.7%)

Results
2.5min393269×0valid
1.1min48431×1valid
50.5s8322×5exit
27.2s13763×2valid
19.1s27332×0invalid
7.0s1797×3valid
2.1s711×1invalid
1.7s175×4valid
1.1s2035×0unsamplable
69.0ms36×1unsamplable
4.0ms2unsamplable
Compiler

Compiled 459812 to 49372 computations (89.3% saved)

Precisions
Click to see histograms. Total time spent on operations: 3.3min
ival-mult: 40.9s (20.8% of total)
ival-pow: 25.8s (13.2% of total)
ival-div: 24.7s (12.6% of total)
backward-pass: 13.7s (7% of total)
ival-add: 13.0s (6.6% of total)
ival-sin: 10.7s (5.4% of total)
ival-cos: 9.7s (5% of total)
...c/correct-round.rkt:121:19: 9.6s (4.9% of total)
ival-sub: 9.0s (4.6% of total)
ival-log: 6.4s (3.3% of total)
ival-sqrt: 5.3s (2.7% of total)
ival-fma: 5.2s (2.6% of total)
ival-expm1: 3.1s (1.6% of total)
ival-exp: 2.8s (1.4% of total)
ival-tan: 2.7s (1.4% of total)
ival-log1p: 2.4s (1.2% of total)
ival-neg: 2.0s (1% of total)
ival-hypot: 1.8s (0.9% of total)
const: 1.4s (0.7% of total)
ival-cbrt: 1.4s (0.7% of total)
ival-asin: 625.0ms (0.3% of total)
ival-acos: 615.0ms (0.3% of total)
ival-atan2: 519.0ms (0.3% of total)
ival-atan: 457.0ms (0.2% of total)
ival-fmod: 387.0ms (0.2% of total)
ival-pi: 308.0ms (0.2% of total)
ival-fabs: 273.0ms (0.1% of total)
ival-fmax: 270.0ms (0.1% of total)
ival-sinh: 256.0ms (0.1% of total)
ival-if: 232.0ms (0.1% of total)
ival-cosh: 222.0ms (0.1% of total)
ival->=: 155.0ms (0.1% of total)
ival-copysign: 136.0ms (0.1% of total)
ival-floor: 102.0ms (0.1% of total)
ival-log2: 92.0ms (0% of total)
ival->: 44.0ms (0% of total)
ival-e: 27.0ms (0% of total)
ival-<: 15.0ms (0% of total)
ival-tanh: 14.0ms (0% of total)

prune6.6min (6.7%)

Counts
1449147 → 39663
Compiler

Compiled 1934283 to 980338 computations (49.3% saved)

eval5.4min (5.5%)

Compiler

Compiled 52544475 to 5507940 computations (89.5% saved)

regimes3.9min (4%)

Counts
106084 → 9016
Calls

1223 calls:

19.0s
x
14.9s
y
11.3s
z
9.8s
a
9.8s
t
Compiler

Compiled 99310 to 72319 computations (27.2% saved)

series3.3min (3.3%)

Counts
21757 → 482008
Calls

117627 calls:

TimeVariablePointExpression
6.8s
hi
@inf
(* hi (- (/ 1 lo) (/ x (pow lo 2))))
881.0ms
b
@inf
(log (+ 1 (* 180 (/ (atan (/ (- (* (pow (sqrt (+ (* (* a (cos (* angle (* (PI) 1/180)))) (* a (cos (* angle (* (PI) 1/180))))) (* (* b (sin (* angle (* (PI) 1/180)))) (* b (sin (* angle (* (PI) 1/180))))))) 2) (pow y-scale -2)) (+ (* (pow (sqrt (+ (* (* a (sin (* angle (* (PI) 1/180)))) (* a (sin (* angle (* (PI) 1/180))))) (* (* (cos (* angle (* (PI) 1/180))) b) (* (cos (* angle (* (PI) 1/180))) b)))) 2) (pow x-scale -2)) (sqrt (+ (* (- (* (pow (sqrt (+ (* (* a (sin (* angle (* (PI) 1/180)))) (* a (sin (* angle (* (PI) 1/180))))) (* (* (cos (* angle (* (PI) 1/180))) b) (* (cos (* angle (* (PI) 1/180))) b)))) 2) (pow x-scale -2)) (* (pow (sqrt (+ (* (* a (cos (* angle (* (PI) 1/180)))) (* a (cos (* angle (* (PI) 1/180))))) (* (* b (sin (* angle (* (PI) 1/180)))) (* b (sin (* angle (* (PI) 1/180))))))) 2) (pow y-scale -2))) (- (* (pow (sqrt (+ (* (* a (sin (* angle (* (PI) 1/180)))) (* a (sin (* angle (* (PI) 1/180))))) (* (* (cos (* angle (* (PI) 1/180))) b) (* (cos (* angle (* (PI) 1/180))) b)))) 2) (pow x-scale -2)) (* (pow (sqrt (+ (* (* a (cos (* angle (* (PI) 1/180)))) (* a (cos (* angle (* (PI) 1/180))))) (* (* b (sin (* angle (* (PI) 1/180)))) (* b (sin (* angle (* (PI) 1/180))))))) 2) (pow y-scale -2)))) (* (* 2 (/ (* (cos (* angle (* (PI) 1/180))) (* (sin (* angle (* (PI) 1/180))) (- (pow b 2) (pow a 2)))) (* y-scale x-scale))) (* 2 (/ (* (cos (* angle (* (PI) 1/180))) (* (sin (* angle (* (PI) 1/180))) (- (pow b 2) (pow a 2)))) (* y-scale x-scale)))))))) (* 2 (/ (* (cos (* angle (* (PI) 1/180))) (* (sin (* angle (* (PI) 1/180))) (- (pow b 2) (pow a 2)))) (* y-scale x-scale))))) (PI)))))
651.0ms
x
@0
(* x (- (log (neg x)) (log (neg y))))
421.0ms
angle
@0
(/ (- (- (/ (/ (+ (pow (* a (cos (* (/ angle 180) (PI)))) 2) (pow (* b (sin (* (/ angle 180) (PI)))) 2)) y-scale) y-scale) (/ (/ (+ (pow (* a (sin (* (/ angle 180) (PI)))) 2) (pow (* b (cos (* (/ angle 180) (PI)))) 2)) x-scale) x-scale)) (sqrt (+ (pow (- (/ (/ (+ (pow (* a (sin (* (/ angle 180) (PI)))) 2) (pow (* b (cos (* (/ angle 180) (PI)))) 2)) x-scale) x-scale) (/ (/ (+ (pow (* a (cos (* (/ angle 180) (PI)))) 2) (pow (* b (sin (* (/ angle 180) (PI)))) 2)) y-scale) y-scale)) 2) (pow (/ (/ (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (/ angle 180) (PI)))) (cos (* (/ angle 180) (PI)))) x-scale) y-scale) 2)))) (/ (/ (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (/ angle 180) (PI)))) (cos (* (/ angle 180) (PI)))) x-scale) y-scale))
419.0ms
x
@0
(* x (log (/ x y)))

bsearch2.6min (2.6%)

Algorithm
4047×binary-search
564×left-value
Stop Event
92×predicate-same
3955×narrow-enough
Results
1.4min454695×0valid
19.4s33530×1valid
3.1s21018×0invalid
2.9s4375×2valid
2.2s1380×3valid
689.0ms100×4valid
96.0ms572×1invalid
84.0ms83×2invalid
18.0ms141×0unsamplable
Compiler

Compiled 951990 to 686808 computations (27.9% saved)

Precisions
Click to see histograms. Total time spent on operations: 1.3min
ival-mult: 26.8s (33.8% of total)
ival-sub: 9.8s (12.3% of total)
ival-add: 8.5s (10.7% of total)
ival-div: 8.0s (10% of total)
ival-sin: 4.6s (5.8% of total)
ival-cos: 4.3s (5.4% of total)
ival-pow: 4.1s (5.2% of total)
ival-sqrt: 2.7s (3.4% of total)
ival-log: 2.5s (3.1% of total)
...c/correct-round.rkt:121:19: 1.8s (2.2% of total)
backward-pass: 1.5s (1.9% of total)
ival-exp: 1.4s (1.8% of total)
ival-atan2: 897.0ms (1.1% of total)
const: 722.0ms (0.9% of total)
ival-tan: 685.0ms (0.9% of total)
ival-neg: 547.0ms (0.7% of total)
ival-acos: 139.0ms (0.2% of total)
ival-fabs: 135.0ms (0.2% of total)
ival-atan: 112.0ms (0.1% of total)
ival-fmod: 72.0ms (0.1% of total)
ival-pi: 58.0ms (0.1% of total)
ival-asin: 17.0ms (0% of total)
ival-copysign: 17.0ms (0% of total)
ival-hypot: 13.0ms (0% of total)
ival-if: 13.0ms (0% of total)
ival->=: 12.0ms (0% of total)
ival-cbrt: 10.0ms (0% of total)
ival-tanh: 9.0ms (0% of total)
ival-cosh: 7.0ms (0% of total)
ival-sinh: 5.0ms (0% of total)

explain2.4min (2.4%)

Explanations
Click to see full explanations table
OperatorSubexpressionExplanationCount
-.f64#fcancellation875959
sqrt.f64#foflow-rescue53010
log.f64#fsensitivity347411
cos.f64#fsensitivity33124
+.f64#fcancellation3137121
/.f64#fo/n20220
sin.f64#fsensitivity20102
/.f64#fo/o18470
-.f64#fnan-rescue14780
log.f32#fsensitivity111469
*.f64#fn*o10530
/.f64#fu/u10140
/.f64#fn/o9260
sqrt.f64#fuflow-rescue9010
+.f64#fnan-rescue8200
/.f64#fu/n7290
sqrt.f32#foflow-rescue5960
*.f64#fn*u5240
acos.f64#fsensitivity5235
-.f32#fcancellation39930
tan.f64#fsensitivity3991
pow.f64#fsensitivity39647
/.f64#fn/u3340
-.f64(-.f64 (*.f64 #s(literal 170000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 binary64) t) #s(literal 170000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 binary64))oflow-left2160
cos.f64#foflow-rescue2130
exp.f64#fsensitivity20229
tan.f32(tan.f32 (+.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u1) (*.f32 #s(literal 1/2 binary32) (PI.f32))))cancellation18216
*.f64#fu*o1810
cos.f32#fsensitivity1799
pow.f64#foflow-rescue1620
/.f32#fo/n1460
*.f64#fo*u1450
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)))))))sensitivity1290
log.f64#foflow-rescue1000
log.f64#fuflow-rescue870
cbrt.f64#foflow-rescue870
pow.f64#fuflow-rescue590
cbrt.f64#fuflow-rescue390
exp.f32#fsensitivity3922
sin.f64#foflow-rescue340
tan.f64(tan.f64 (/.f64 x (*.f64 y #s(literal 2 binary64))))oflow-rescue320
(/.f64 x (*.f64 y #s(literal 2 binary64)))overflow32
/.f32#fu/n290
/.f32#fo/o180
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-rescue120
(*.f32 sinTheta_O sinTheta_O)underflow272
(-.f32 (*.f32 eta eta) (/.f32 (*.f32 sinTheta_O sinTheta_O) (sqrt.f32 (-.f32 #s(literal 1 binary32) (*.f32 sinTheta_O sinTheta_O)))))underflow12
(/.f32 (*.f32 sinTheta_O sinTheta_O) (sqrt.f32 (-.f32 #s(literal 1 binary32) (*.f32 sinTheta_O sinTheta_O))))underflow136
(*.f32 eta eta)underflow12
/.f32(/.f32 (neg.f32 (log.f32 (-.f32 #s(literal 1 binary32) u0))) (+.f32 (/.f32 cos2phi (*.f32 alphax alphax)) (/.f32 sin2phi (*.f32 alphay alphay))))n/o80
(/.f32 sin2phi (*.f32 alphay alphay))overflow17
(+.f32 (/.f32 cos2phi (*.f32 alphax alphax)) (/.f32 sin2phi (*.f32 alphay alphay)))overflow17
*.f32#fn*o30
*.f32(*.f32 (sin.f32 (*.f32 u normAngle)) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle)))u*o10
(*.f32 u normAngle)underflow2
(sin.f32 (*.f32 u normAngle))underflow2
(/.f32 #s(literal 1 binary32) (sin.f32 normAngle))overflow2
*.f32(*.f32 (sin.f32 (*.f32 u normAngle)) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle)))n*u10
log.f32(log.f32 (/.f32 #s(literal 1 binary32) (*.f32 #s(literal 2 binary32) v)))oflow-rescue10
(/.f32 #s(literal 1 binary32) (*.f32 #s(literal 2 binary32) v))overflow1
sin.f64(sin.f64 (/.f64 (-.f64 lambda1 lambda2) #s(literal 2 binary64)))cancellation10
Confusion
Predicted +Predicted -
+304851152
-5946100657
Precision
0.8367873514314732
Recall
0.9635869393431742
Confusion?
Predicted +Predicted MaybePredicted -
+30485227925
-5946428100229
Precision?
0.8281292131801758
Recall?
0.9707620823719063
Freqs
test
numberfreq
0101809
130533
24735
3617
4312
5148
661
716
87
92
Total Confusion?
Predicted +Predicted MaybePredicted -
+34123
-91184
Precision?
0.9716713881019831
Recall?
0.9913294797687862
Results
39.7s230846×0valid
16.5s34488×1valid
8.8s10460×2valid
2.5s1438×3valid
873.0ms146×4valid
342.0ms126×5exit
Compiler

Compiled 108081 to 24409 computations (77.4% saved)

Precisions
Click to see histograms. Total time spent on operations: 37.4s
ival-mult: 9.0s (24.1% of total)
ival-div: 4.3s (11.5% of total)
ival-add: 3.0s (8.1% of total)
ival-sub: 3.0s (8% of total)
ival-sin: 2.6s (7.1% of total)
ival-cos: 2.5s (6.7% of total)
backward-pass: 2.4s (6.3% of total)
ival-log: 2.2s (5.9% of total)
ival-pow: 2.0s (5.3% of total)
ival-exp: 1.4s (3.6% of total)
ival-sqrt: 1.1s (3.1% of total)
ival-tan: 1.1s (3% of total)
...c/correct-round.rkt:121:19: 691.0ms (1.8% of total)
const: 493.0ms (1.3% of total)
ival-pi: 291.0ms (0.8% of total)
ival-neg: 266.0ms (0.7% of total)
ival-floor: 205.0ms (0.5% of total)
ival-asin: 135.0ms (0.4% of total)
ival-atan2: 119.0ms (0.3% of total)
ival-acos: 86.0ms (0.2% of total)
ival-atan: 77.0ms (0.2% of total)
ival-fabs: 69.0ms (0.2% of total)
ival-copysign: 65.0ms (0.2% of total)
ival-cbrt: 46.0ms (0.1% of total)
ival-fmod: 37.0ms (0.1% of total)
ival-sinh: 32.0ms (0.1% of total)
ival-if: 31.0ms (0.1% of total)
ival-fmax: 19.0ms (0.1% of total)
ival-hypot: 18.0ms (0% of total)
ival-fma: 15.0ms (0% of total)
ival-log2: 15.0ms (0% of total)
ival-cosh: 12.0ms (0% of total)
ival->=: 12.0ms (0% of total)
ival-tanh: 8.0ms (0% of total)
ival-log1p: 8.0ms (0% of total)
ival->: 5.0ms (0% of total)
ival-<: 2.0ms (0% of total)

preprocess2.3min (2.4%)

Algorithm
542×egg-herbie
Rules
254384×fma-define
252110×fma-neg
118944×unsub-neg
101039×sub-neg
94642×distribute-lft-in
Stop Event
294×saturated
248×node limit
Compiler

Compiled 372662 to 142254 computations (61.8% saved)

analyze2.1min (2.1%)

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.7%0%2
54%44.1%37.5%15.7%0%2.6%0%3
60.9%49.1%31.6%15.8%0%3.6%0%4
67.1%53.8%26.4%15.8%0%4%0%5
71%56.7%23.1%15.8%0%4.3%0%6
75%59.4%19.8%15.9%0%4.8%0.1%7
77%60.7%18.1%15.9%0%5.2%0.1%8
79.6%62.5%16%15.9%0%5.4%0.1%9
81.1%63.5%14.8%16%0%5.7%0.1%10
83.4%65.1%13%16%0%5.8%0.1%11
84.5%65.8%12.1%16%0%6%0.1%12
Compiler

Compiled 13446 to 7366 computations (45.2% saved)

Precisions
Click to see histograms. Total time spent on operations: 1.3min
ival-mult: 19.0s (25.1% of total)
...c/correct-round.rkt:121:19: 13.6s (17.9% of total)
ival-div: 6.1s (8% of total)
ival-add: 5.7s (7.5% of total)
ival-pow: 5.0s (6.6% of total)
ival-<=: 5.0s (6.6% of total)
ival-sub: 3.9s (5.1% of total)
ival-sqrt: 2.5s (3.3% of total)
ival-sin: 2.3s (3% of total)
ival-cos: 2.0s (2.6% of total)
ival-fabs: 1.9s (2.5% of total)
ival-and: 839.0ms (1.1% of total)
ival-log: 804.0ms (1.1% of total)
ival-exp: 791.0ms (1% of total)
ival-floor: 713.0ms (0.9% of total)
ival-tan: 653.0ms (0.9% of total)
ival-==: 628.0ms (0.8% of total)
ival-neg: 626.0ms (0.8% of total)
const: 561.0ms (0.7% of total)
ival-fmax: 554.0ms (0.7% of total)
ival-if: 515.0ms (0.7% of total)
ival-<: 502.0ms (0.7% of total)
ival-atan2: 253.0ms (0.3% of total)
ival->: 228.0ms (0.3% of total)
ival-log2: 212.0ms (0.3% of total)
ival-pi: 205.0ms (0.3% of total)
ival-asin: 143.0ms (0.2% of total)
ival-atan: 142.0ms (0.2% of total)
backward-pass: 136.0ms (0.2% of total)
ival-acos: 111.0ms (0.1% of total)
ival->=: 100.0ms (0.1% of total)
ival-sinh: 46.0ms (0.1% of total)
ival-fmod: 45.0ms (0.1% of total)
ival-or: 31.0ms (0% of total)
ival-cbrt: 17.0ms (0% of total)
ival-cosh: 16.0ms (0% of total)
ival-tanh: 12.0ms (0% of total)
ival-fmin: 7.0ms (0% of total)
ival-atanh: 2.0ms (0% of total)
ival-asinh: 0.0ms (0% of total)
ival-hypot: 0.0ms (0% of total)
ival-fma: 0.0ms (0% of total)
ival-acosh: 0.0ms (0% of total)

end44.7s (0.8%)

Profiling

Loading profile data...