Details

Time bar (total: 3.8s)

analyze3.0ms (0.1%)

Algorithm
search
Search
TrueOtherFalseIter
0%74.6%25.4%0
0%74.6%25.4%1
37.3%37.3%25.4%2
37.3%18.7%44%3
46.7%9.3%44%4
46.7%4.7%48.7%5
49%2.3%48.7%6
49%1.2%49.8%7
49.6%0.6%49.8%8
49.9%0.3%49.8%9
49.9%0.1%50%10
49.9%0.1%50.1%11
49.9%0%50.1%12
49.9%0%50.1%13
49.9%0%50.1%14
Compiler

Compiled 7 to 6 computations (14.3% saved)

sample42.0ms (1.1%)

Algorithm
intervals
Results
19.0ms134×body1024valid
6.0ms54×body512valid
3.0ms256×pre128true
2.0ms36×body256valid
2.0ms12×body2048valid
1.0ms20×body128valid
Compiler

Compiled 11 to 11 computations (0% saved)

simplify306.0ms (8%)

Algorithm
egg-herbie
Rules
518×associate-/l/_binary64_1389
475×exp-diff_binary64_1490
438×exp-prod_binary64_1494
407×exp-sum_binary64_1488
289×div-sub_binary64_1447
286×cube-div_binary64_1471
205×times-frac_binary64_1448
201×cancel-sign-sub-inv_binary64_1408
176×associate-/r*_binary64_1386
147×associate-+r+_binary64_1374
143×associate-+r-_binary64_1376
135×swap-sqr_binary64_1409
119×associate--l+_binary64_1379
118×unsub-neg_binary64_1436
105×associate-+l-_binary64_1377
98×associate--r+_binary64_1378
95×associate--r-_binary64_1381
92×associate-+l+_binary64_1375
90×associate--l-_binary64_1380
82×pow-plus_binary64_1505
72×distribute-rgt-neg-in_binary64_1400
62×associate-/l*_binary64_1387
57×distribute-rgt1-in_binary64_1398
54×distribute-rgt-in_binary64_1392
49×sub-neg_binary64_1435
47×distribute-lft-neg-in_binary64_1399
45×distribute-neg-in_binary64_1403
40×distribute-rgt-out_binary64_1395
39×associate-/r/_binary64_1388
38×distribute-rgt-neg-out_binary64_1402
30×distribute-lft-neg-out_binary64_1401 associate-*l*_binary64_1383
29×distribute-frac-neg_binary64_1405 associate-*r*_binary64_1382
27×neg-sub0_binary64_1437 sqr-pow_binary64_1414 distribute-rgt-out--_binary64_1396
26×neg-mul-1_binary64_1438 pow-sqr_binary64_1415
24×distribute-neg-out_binary64_1404
22×exp-neg_binary64_1489 distribute-lft-out_binary64_1393
20×distribute-lft-out--_binary64_1394
19×pow-base-1_binary64_1502 *-commutative_binary64_1373
17×exp-sqrt_binary64_1495
15×cube-unmult_binary64_1479 distribute-lft-in_binary64_1391
13×+-commutative_binary64_1372
10×unswap-sqr_binary64_1410
exp-lft-sqr_binary64_1497 sqr-neg_binary64_1456 remove-double-neg_binary64_1430
/-rgt-identity_binary64_1433 *-rgt-identity_binary64_1432 *-lft-identity_binary64_1431 sub0-neg_binary64_1429
prod-exp_binary64_1491 difference-of-squares_binary64_1411
cube-prod_binary64_1470 count-2_binary64_1390
+-rgt-identity_binary64_1427 mul0-rgt_binary64_1425 mul0-lft_binary64_1424 +-inverses_binary64_1421 distribute-neg-frac_binary64_1406 distribute-lft1-in_binary64_1397
+-lft-identity_binary64_1426
--rgt-identity_binary64_1428 difference-of-sqr-1_binary64_1412
1-exp_binary64_1486 exp-1-e_binary64_1485 cube-neg_binary64_1469 div0_binary64_1423 *-inverses_binary64_1422 rgt-mult-inverse_binary64_1419 cancel-sign-sub_binary64_1407
not-true not-false not-not not-and not-or and-true-l and-true-r and-false-l and-false-r and-same or-true-l or-true-r or-false-l or-false-r or-same erfc-erf_binary64_1705 erf-erfc_binary64_1704 erf-odd_binary64_1703 if-if-and-not_binary64_1702 if-if-and_binary64_1701 if-if-or-not_binary64_1700 if-if-or_binary64_1699 if-not_binary64_1698 if-same_binary64_1697 if-false_binary64_1696 if-true_binary64_1695 not-gte_binary64_1694 not-lte_binary64_1693 not-gt_binary64_1692 not-lt_binary64_1691 gte-same_binary64_1690 lte-same_binary64_1689 gt-same_binary64_1688 lt-same_binary64_1687 sinh---cosh_binary64_1634 sinh-+-cosh_binary64_1633 sinh-cosh_binary64_1632 tanh-def-c_binary64_1631 tanh-def-b_binary64_1630 tanh-def-a_binary64_1629 cosh-def_binary64_1628 sinh-def_binary64_1627 tan-neg_binary64_1574 cos-neg_binary64_1573 sin-neg_binary64_1572 tan-0_binary64_1571 cos-0_binary64_1570 sin-0_binary64_1569 hang-m-tan_binary64_1568 hang-p-tan_binary64_1567 hang-m0-tan_binary64_1566 hang-p0-tan_binary64_1565 hang-0m-tan_binary64_1564 hang-0p-tan_binary64_1563 tan-+PI/2_binary64_1562 tan-+PI_binary64_1561 tan-PI_binary64_1560 tan-PI/3_binary64_1559 tan-PI/4_binary64_1558 tan-PI/6_binary64_1557 cos-+PI/2_binary64_1556 cos-+PI_binary64_1555 cos-PI_binary64_1554 cos-PI/2_binary64_1553 cos-PI/3_binary64_1552 cos-PI/4_binary64_1551 cos-PI/6_binary64_1550 sin-+PI/2_binary64_1549 sin-+PI_binary64_1548 sin-PI_binary64_1547 sin-PI/2_binary64_1546 sin-PI/3_binary64_1545 sin-PI/4_binary64_1544 sin-PI/6_binary64_1543 sub-1-sin_binary64_1542 sub-1-cos_binary64_1541 -1-add-sin_binary64_1540 -1-add-cos_binary64_1539 1-sub-sin_binary64_1538 1-sub-cos_binary64_1537 cos-sin-sum_binary64_1536 log-E_binary64_1532 log-pow_binary64_1531 log-rec_binary64_1530 log-div_binary64_1529 log-prod_binary64_1528 pow-base-0_binary64_1526 unpow1/3_binary64_1509 unpow3_binary64_1508 unpow2_binary64_1507 unpow1/2_binary64_1506 exp-to-pow_binary64_1504 unpow0_binary64_1501 unpow1_binary64_1500 unpow-1_binary64_1499 exp-lft-cube_binary64_1498 exp-cbrt_binary64_1496 div-exp_binary64_1493 rec-exp_binary64_1492 e-exp-1_binary64_1487 exp-0_binary64_1484 rem-log-exp_binary64_1483 rem-exp-log_binary64_1482 cube-mult_binary64_1472 rem-3cbrt-rft_binary64_1468 rem-3cbrt-lft_binary64_1467 rem-cbrt-cube_binary64_1466 rem-cube-cbrt_binary64_1465 sqr-abs_binary64_1457 rem-sqrt-square_binary64_1455 rem-square-sqrt_binary64_1454 mul-1-neg_binary64_1434 lft-mult-inverse_binary64_1420 remove-double-div_binary64_1418 difference-of-sqr--1_binary64_1413 associate-*l/_binary64_1385 associate-*r/_binary64_1384
Counts
1 → 1
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
056
196
2136
3196
4356
5456
61166
73086
86946
933046

prune1.0ms (0%)

Pruning

1 alts after pruning (1 fresh and 0 done)

PrunedKeptTotal
New101
Fresh011
Picked000
Done000
Total112
Error
58.5b
Counts
2 → 1
Compiler

Compiled 8 to 8 computations (0% saved)

localize3.0ms (0.1%)

Local error

Found 1 expressions with local error:

6.2b
(-.f64 (exp.f64 x) 1)

rewrite14.0ms (0.4%)

Algorithm
rewrite-expression-head
Error
58.5b
Rules
add-sqr-sqrt_binary64_1464
*-un-lft-identity_binary64_1442
add-log-exp_binary64_1481 cancel-sign-sub-inv_binary64_1408
add-cube-cbrt_binary64_1477 difference-of-squares_binary64_1411
diff-log_binary64_1534 pow1_binary64_1503 add-exp-log_binary64_1480 add-cbrt-cube_binary64_1478 flip3--_binary64_1446 sub-neg_binary64_1435 flip--_binary64_1417 difference-of-sqr-1_binary64_1412 distribute-lft-out--_binary64_1394
Counts
1 → 18
Calls

1 calls:

4.0ms
(-.f64 (exp.f64 x) 1)
Compiler

Compiled 185 to 119 computations (35.7% saved)

series23.0ms (0.6%)

Error
0.0b
Counts
1 → 6
Calls

1 calls:

18.0ms
(-.f64 (exp.f64 x) 1)
Compiler

Compiled 104 to 86 computations (17.3% saved)

simplify443.0ms (11.6%)

Algorithm
egg-herbie
Rules
598×div-sub_binary64_1447
337×associate-*l*_binary64_1383
295×exp-prod_binary64_1494
268×associate-*r*_binary64_1382
183×distribute-rgt-in_binary64_1392
162×cancel-sign-sub-inv_binary64_1408
161×distribute-lft-in_binary64_1391
155×log-prod_binary64_1528
142×associate-*l/_binary64_1385
139×associate-+l-_binary64_1377
129×associate-*r/_binary64_1384
121×times-frac_binary64_1448
119×exp-diff_binary64_1490
118×exp-sum_binary64_1488 cube-prod_binary64_1470
113×associate-+r-_binary64_1376
109×sqr-pow_binary64_1414
102×log-pow_binary64_1531
101×distribute-rgt-neg-out_binary64_1402
99×pow-plus_binary64_1505
97×unsub-neg_binary64_1436
85×+-commutative_binary64_1372
82×distribute-lft-neg-out_binary64_1401
76×exp-sqrt_binary64_1495 prod-exp_binary64_1491 cube-div_binary64_1471
75×associate-+l+_binary64_1375
74×log-div_binary64_1529 distribute-neg-frac_binary64_1406
71×associate-+r+_binary64_1374
69×pow-sqr_binary64_1415
68×*-commutative_binary64_1373
64×associate--r+_binary64_1378
62×associate-/r*_binary64_1386
60×distribute-lft-neg-in_binary64_1399
54×distribute-rgt-neg-in_binary64_1400
45×sqr-neg_binary64_1456 sub-neg_binary64_1435
41×unpow3_binary64_1508 unswap-sqr_binary64_1410
40×distribute-rgt-out_binary64_1395
39×swap-sqr_binary64_1409
37×associate-/l*_binary64_1387
36×exp-to-pow_binary64_1504
35×exp-neg_binary64_1489 distribute-neg-in_binary64_1403
32×pow-base-1_binary64_1502 exp-lft-sqr_binary64_1497 cube-mult_binary64_1472 distribute-rgt1-in_binary64_1398
30×difference-of-squares_binary64_1411
27×distribute-rgt-out--_binary64_1396
26×associate-/r/_binary64_1388
23×cube-neg_binary64_1469
22×neg-sub0_binary64_1437 mul0-lft_binary64_1424 distribute-lft-out_binary64_1393
20×associate-/l/_binary64_1389 associate--l-_binary64_1380
19×neg-mul-1_binary64_1438 +-rgt-identity_binary64_1427
18×mul0-rgt_binary64_1425
15×/-rgt-identity_binary64_1433 *-rgt-identity_binary64_1432 associate--l+_binary64_1379
14×cube-unmult_binary64_1479
12×*-lft-identity_binary64_1431 distribute-frac-neg_binary64_1405 associate--r-_binary64_1381
11×mul-1-neg_binary64_1434
10×rem-sqrt-square_binary64_1455 +-lft-identity_binary64_1426
distribute-neg-out_binary64_1404
div-exp_binary64_1493
sub0-neg_binary64_1429 distribute-lft1-in_binary64_1397 distribute-lft-out--_binary64_1394
log-rec_binary64_1530 difference-of-sqr--1_binary64_1413
difference-of-sqr-1_binary64_1412 count-2_binary64_1390
exp-lft-cube_binary64_1498
unpow1_binary64_1500 rem-log-exp_binary64_1483 rem-exp-log_binary64_1482 rem-square-sqrt_binary64_1454
unpow2_binary64_1507 1-exp_binary64_1486 exp-1-e_binary64_1485 rem-3cbrt-lft_binary64_1467 rem-cbrt-cube_binary64_1466 *-inverses_binary64_1422
not-true not-false not-not not-and not-or and-true-l and-true-r and-false-l and-false-r and-same or-true-l or-true-r or-false-l or-false-r or-same erfc-erf_binary64_1705 erf-erfc_binary64_1704 erf-odd_binary64_1703 if-if-and-not_binary64_1702 if-if-and_binary64_1701 if-if-or-not_binary64_1700 if-if-or_binary64_1699 if-not_binary64_1698 if-same_binary64_1697 if-false_binary64_1696 if-true_binary64_1695 not-gte_binary64_1694 not-lte_binary64_1693 not-gt_binary64_1692 not-lt_binary64_1691 gte-same_binary64_1690 lte-same_binary64_1689 gt-same_binary64_1688 lt-same_binary64_1687 sinh---cosh_binary64_1634 sinh-+-cosh_binary64_1633 sinh-cosh_binary64_1632 tanh-def-c_binary64_1631 tanh-def-b_binary64_1630 tanh-def-a_binary64_1629 cosh-def_binary64_1628 sinh-def_binary64_1627 tan-neg_binary64_1574 cos-neg_binary64_1573 sin-neg_binary64_1572 tan-0_binary64_1571 cos-0_binary64_1570 sin-0_binary64_1569 hang-m-tan_binary64_1568 hang-p-tan_binary64_1567 hang-m0-tan_binary64_1566 hang-p0-tan_binary64_1565 hang-0m-tan_binary64_1564 hang-0p-tan_binary64_1563 tan-+PI/2_binary64_1562 tan-+PI_binary64_1561 tan-PI_binary64_1560 tan-PI/3_binary64_1559 tan-PI/4_binary64_1558 tan-PI/6_binary64_1557 cos-+PI/2_binary64_1556 cos-+PI_binary64_1555 cos-PI_binary64_1554 cos-PI/2_binary64_1553 cos-PI/3_binary64_1552 cos-PI/4_binary64_1551 cos-PI/6_binary64_1550 sin-+PI/2_binary64_1549 sin-+PI_binary64_1548 sin-PI_binary64_1547 sin-PI/2_binary64_1546 sin-PI/3_binary64_1545 sin-PI/4_binary64_1544 sin-PI/6_binary64_1543 sub-1-sin_binary64_1542 sub-1-cos_binary64_1541 -1-add-sin_binary64_1540 -1-add-cos_binary64_1539 1-sub-sin_binary64_1538 1-sub-cos_binary64_1537 cos-sin-sum_binary64_1536 log-E_binary64_1532 pow-base-0_binary64_1526 unpow1/3_binary64_1509 unpow1/2_binary64_1506 unpow0_binary64_1501 unpow-1_binary64_1499 exp-cbrt_binary64_1496 rec-exp_binary64_1492 e-exp-1_binary64_1487 exp-0_binary64_1484 rem-3cbrt-rft_binary64_1468 rem-cube-cbrt_binary64_1465 sqr-abs_binary64_1457 remove-double-neg_binary64_1430 --rgt-identity_binary64_1428 div0_binary64_1423 +-inverses_binary64_1421 lft-mult-inverse_binary64_1420 rgt-mult-inverse_binary64_1419 remove-double-div_binary64_1418 cancel-sign-sub_binary64_1407
Counts
24 → 61
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
055262
1120241
2249235
3646235
42647235
53488235

prune43.0ms (1.1%)

Pruning

3 alts after pruning (2 fresh and 1 done)

PrunedKeptTotal
New59261
Fresh000
Picked011
Done000
Total59362
Error
0.0b
Counts
62 → 3
Compiler

Compiled 753 to 461 computations (38.8% saved)

localize12.0ms (0.3%)

Local error

Found 4 expressions with local error:

0.0b
(+.f64 (*.f64 1/24 (pow.f64 x 4)) (*.f64 (*.f64 x x) (+.f64 1/2 (*.f64 x 1/6))))
0.0b
(*.f64 (*.f64 x x) (+.f64 1/2 (*.f64 x 1/6)))
0.1b
(*.f64 1/24 (pow.f64 x 4))
0.3b
(*.f64 x 1/6)

rewrite110.0ms (2.9%)

Algorithm
rewrite-expression-head
Error
0.0b
Rules
18×add-sqr-sqrt_binary64_1464
16×add-exp-log_binary64_1480
13×add-cbrt-cube_binary64_1478 associate-*r*_binary64_1382
11×pow1_binary64_1503
10×add-cube-cbrt_binary64_1477 *-un-lft-identity_binary64_1442
prod-exp_binary64_1491 associate-*l*_binary64_1383
add-log-exp_binary64_1481
cbrt-unprod_binary64_1475 unswap-sqr_binary64_1410
pow-prod-down_binary64_1513 unpow-prod-down_binary64_1521
*-commutative_binary64_1373
sqr-pow_binary64_1414 distribute-rgt-in_binary64_1392 distribute-lft-in_binary64_1391 flip3-+_binary64_1445 associate-*r/_binary64_1384 flip-+_binary64_1416 associate-+r+_binary64_1374
pow-to-exp_binary64_1511 pow-exp_binary64_1510 sum-log_binary64_1533 +-commutative_binary64_1372
Counts
4 → 79
Calls

4 calls:

20.0ms
(*.f64 1/24 (pow.f64 x 4))
7.0ms
(*.f64 (*.f64 x x) (+.f64 1/2 (*.f64 x 1/6)))
5.0ms
(+.f64 (*.f64 1/24 (pow.f64 x 4)) (*.f64 (*.f64 x x) (+.f64 1/2 (*.f64 x 1/6))))
4.0ms
(*.f64 x 1/6)
Compiler

Compiled 1963 to 1340 computations (31.7% saved)

series97.0ms (2.5%)

Error
0.0b
Counts
4 → 17
Calls

4 calls:

34.0ms
(*.f64 (*.f64 x x) (+.f64 1/2 (*.f64 x 1/6)))
21.0ms
(+.f64 (*.f64 1/24 (pow.f64 x 4)) (*.f64 (*.f64 x x) (+.f64 1/2 (*.f64 x 1/6))))
19.0ms
(*.f64 x 1/6)
14.0ms
(*.f64 1/24 (pow.f64 x 4))
Compiler

Compiled 706 to 551 computations (22% saved)

simplify146.0ms (3.8%)

Algorithm
egg-herbie
Rules
649×distribute-rgt-in_binary64_1392
635×distribute-lft-in_binary64_1391
266×associate-*l*_binary64_1383
215×associate-*r*_binary64_1382
163×unswap-sqr_binary64_1410
154×cancel-sign-sub-inv_binary64_1408
123×distribute-rgt-neg-in_binary64_1400 associate-+l+_binary64_1375
109×distribute-lft-neg-in_binary64_1399
78×sqr-pow_binary64_1414
73×associate-*l/_binary64_1385 *-commutative_binary64_1373
64×associate-*r/_binary64_1384
53×exp-prod_binary64_1494
46×associate--r+_binary64_1378
44×log-prod_binary64_1528
40×pow-sqr_binary64_1415
34×cube-prod_binary64_1470 distribute-neg-in_binary64_1403
31×associate--l+_binary64_1379
27×*-lft-identity_binary64_1431
26×distribute-rgt-out_binary64_1395
25×neg-mul-1_binary64_1438 neg-sub0_binary64_1437
23×sub-neg_binary64_1435 *-rgt-identity_binary64_1432
21×distribute-lft-neg-out_binary64_1401
20×distribute-lft-out_binary64_1393
17×distribute-rgt-out--_binary64_1396
16×+-commutative_binary64_1372
14×unpow3_binary64_1508 pow-plus_binary64_1505
12×swap-sqr_binary64_1409
11×exp-sum_binary64_1488
log-pow_binary64_1531 distribute-rgt-neg-out_binary64_1402 distribute-lft-out--_binary64_1394
associate-+r-_binary64_1376
cube-mult_binary64_1472 associate-/l*_binary64_1387 associate-+l-_binary64_1377
associate-/l/_binary64_1389
cube-unmult_binary64_1479
pow-base-1_binary64_1502 associate-+r+_binary64_1374
prod-exp_binary64_1491 unsub-neg_binary64_1436 difference-of-squares_binary64_1411 count-2_binary64_1390
log-div_binary64_1529 unpow2_binary64_1507 unpow1_binary64_1500 exp-sqrt_binary64_1495 1-exp_binary64_1486 exp-1-e_binary64_1485 rem-log-exp_binary64_1483 cube-div_binary64_1471 rem-sqrt-square_binary64_1455 *-inverses_binary64_1422 distribute-neg-frac_binary64_1406
not-true not-false not-not not-and not-or and-true-l and-true-r and-false-l and-false-r and-same or-true-l or-true-r or-false-l or-false-r or-same erfc-erf_binary64_1705 erf-erfc_binary64_1704 erf-odd_binary64_1703 if-if-and-not_binary64_1702 if-if-and_binary64_1701 if-if-or-not_binary64_1700 if-if-or_binary64_1699 if-not_binary64_1698 if-same_binary64_1697 if-false_binary64_1696 if-true_binary64_1695 not-gte_binary64_1694 not-lte_binary64_1693 not-gt_binary64_1692 not-lt_binary64_1691 gte-same_binary64_1690 lte-same_binary64_1689 gt-same_binary64_1688 lt-same_binary64_1687 sinh---cosh_binary64_1634 sinh-+-cosh_binary64_1633 sinh-cosh_binary64_1632 tanh-def-c_binary64_1631 tanh-def-b_binary64_1630 tanh-def-a_binary64_1629 cosh-def_binary64_1628 sinh-def_binary64_1627 tan-neg_binary64_1574 cos-neg_binary64_1573 sin-neg_binary64_1572 tan-0_binary64_1571 cos-0_binary64_1570 sin-0_binary64_1569 hang-m-tan_binary64_1568 hang-p-tan_binary64_1567 hang-m0-tan_binary64_1566 hang-p0-tan_binary64_1565 hang-0m-tan_binary64_1564 hang-0p-tan_binary64_1563 tan-+PI/2_binary64_1562 tan-+PI_binary64_1561 tan-PI_binary64_1560 tan-PI/3_binary64_1559 tan-PI/4_binary64_1558 tan-PI/6_binary64_1557 cos-+PI/2_binary64_1556 cos-+PI_binary64_1555 cos-PI_binary64_1554 cos-PI/2_binary64_1553 cos-PI/3_binary64_1552 cos-PI/4_binary64_1551 cos-PI/6_binary64_1550 sin-+PI/2_binary64_1549 sin-+PI_binary64_1548 sin-PI_binary64_1547 sin-PI/2_binary64_1546 sin-PI/3_binary64_1545 sin-PI/4_binary64_1544 sin-PI/6_binary64_1543 sub-1-sin_binary64_1542 sub-1-cos_binary64_1541 -1-add-sin_binary64_1540 -1-add-cos_binary64_1539 1-sub-sin_binary64_1538 1-sub-cos_binary64_1537 cos-sin-sum_binary64_1536 log-E_binary64_1532 log-rec_binary64_1530 pow-base-0_binary64_1526 unpow1/3_binary64_1509 unpow1/2_binary64_1506 exp-to-pow_binary64_1504 unpow0_binary64_1501 unpow-1_binary64_1499 exp-lft-cube_binary64_1498 exp-lft-sqr_binary64_1497 exp-cbrt_binary64_1496 div-exp_binary64_1493 rec-exp_binary64_1492 exp-diff_binary64_1490 exp-neg_binary64_1489 e-exp-1_binary64_1487 exp-0_binary64_1484 rem-exp-log_binary64_1482 cube-neg_binary64_1469 rem-3cbrt-rft_binary64_1468 rem-3cbrt-lft_binary64_1467 rem-cbrt-cube_binary64_1466 rem-cube-cbrt_binary64_1465 sqr-abs_binary64_1457 sqr-neg_binary64_1456 rem-square-sqrt_binary64_1454 times-frac_binary64_1448 div-sub_binary64_1447 mul-1-neg_binary64_1434 /-rgt-identity_binary64_1433 remove-double-neg_binary64_1430 sub0-neg_binary64_1429 --rgt-identity_binary64_1428 +-rgt-identity_binary64_1427 +-lft-identity_binary64_1426 mul0-rgt_binary64_1425 mul0-lft_binary64_1424 div0_binary64_1423 +-inverses_binary64_1421 lft-mult-inverse_binary64_1420 rgt-mult-inverse_binary64_1419 remove-double-div_binary64_1418 difference-of-sqr--1_binary64_1413 difference-of-sqr-1_binary64_1412 cancel-sign-sub_binary64_1407 distribute-frac-neg_binary64_1405 distribute-neg-out_binary64_1404 distribute-rgt1-in_binary64_1398 distribute-lft1-in_binary64_1397 associate-/r/_binary64_1388 associate-/r*_binary64_1386 associate--r-_binary64_1381 associate--l-_binary64_1380
Counts
96 → 141
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01441330
13691285
215221285

prune138.0ms (3.6%)

Pruning

3 alts after pruning (1 fresh and 2 done)

PrunedKeptTotal
New1410141
Fresh011
Picked011
Done011
Total1413144
Error
0.0b
Counts
144 → 3
Compiler

Compiled 4191 to 2972 computations (29.1% saved)

localize9.0ms (0.2%)

Local error

Found 4 expressions with local error:

0.1b
(cbrt.f64 (+.f64 (exp.f64 x) -1))
6.2b
(-.f64 (exp.f64 x) 1)
6.2b
(-.f64 (exp.f64 x) 1)
6.2b
(+.f64 (exp.f64 x) -1)

rewrite62.0ms (1.6%)

Algorithm
rewrite-expression-head
Error
0b
Rules
17×add-sqr-sqrt_binary64_1464 *-un-lft-identity_binary64_1442
10×add-log-exp_binary64_1481
add-cube-cbrt_binary64_1477
cancel-sign-sub-inv_binary64_1408
cbrt-prod_binary64_1473
pow1_binary64_1503 add-exp-log_binary64_1480 add-cbrt-cube_binary64_1478 difference-of-squares_binary64_1411
flip3-+_binary64_1445 flip-+_binary64_1416 difference-of-sqr--1_binary64_1413 distribute-lft-out_binary64_1393 diff-log_binary64_1534 flip3--_binary64_1446 sub-neg_binary64_1435 flip--_binary64_1417 difference-of-sqr-1_binary64_1412 distribute-lft-out--_binary64_1394 cbrt-div_binary64_1474
sum-log_binary64_1533 +-commutative_binary64_1372 pow1/3_binary64_1524
Counts
4 → 64
Calls

4 calls:

4.0ms
(-.f64 (exp.f64 x) 1)
4.0ms
(-.f64 (exp.f64 x) 1)
3.0ms
(+.f64 (exp.f64 x) -1)
3.0ms
(cbrt.f64 (+.f64 (exp.f64 x) -1))
Compiler

Compiled 1506 to 998 computations (33.7% saved)

series86.0ms (2.2%)

Error
0.0b
Counts
4 → 24
Calls

4 calls:

35.0ms
(cbrt.f64 (+.f64 (exp.f64 x) -1))
12.0ms
(+.f64 (exp.f64 x) -1)
11.0ms
(-.f64 (exp.f64 x) 1)
10.0ms
(-.f64 (exp.f64 x) 1)
Compiler

Compiled 1182 to 894 computations (24.4% saved)

simplify436.0ms (11.4%)

Algorithm
egg-herbie
Rules
352×associate-*l/_binary64_1385
336×associate-*r/_binary64_1384
299×times-frac_binary64_1448
237×cancel-sign-sub-inv_binary64_1408
223×associate-*l*_binary64_1383
199×distribute-rgt-out_binary64_1395
187×associate-*r*_binary64_1382
139×distribute-lft-out_binary64_1393
131×sqr-pow_binary64_1414
122×associate-/r*_binary64_1386
120×distribute-rgt-neg-out_binary64_1402
112×exp-prod_binary64_1494
98×unsub-neg_binary64_1436
95×distribute-lft-neg-out_binary64_1401
86×cube-prod_binary64_1470 pow-sqr_binary64_1415
79×associate-/l*_binary64_1387
78×distribute-rgt-neg-in_binary64_1400
72×difference-of-squares_binary64_1411
69×distribute-lft-neg-in_binary64_1399
66×log-prod_binary64_1528
64×distribute-rgt-out--_binary64_1396
62×distribute-rgt-in_binary64_1392
57×sub-neg_binary64_1435
56×prod-exp_binary64_1491
54×associate-+l+_binary64_1375
52×distribute-lft-out--_binary64_1394
50×distribute-lft-in_binary64_1391 +-commutative_binary64_1372
47×associate-/r/_binary64_1388 *-commutative_binary64_1373
44×swap-sqr_binary64_1409
43×pow-plus_binary64_1505
35×associate-+r+_binary64_1374
32×associate-/l/_binary64_1389
29×unswap-sqr_binary64_1410
26×log-pow_binary64_1531 neg-sub0_binary64_1437
25×exp-sum_binary64_1488
20×cube-unmult_binary64_1479 distribute-neg-in_binary64_1403
19×distribute-neg-frac_binary64_1406
16×neg-mul-1_binary64_1438 *-rgt-identity_binary64_1432
15×mul-1-neg_binary64_1434
12×mul0-lft_binary64_1424 distribute-rgt1-in_binary64_1398 associate-+l-_binary64_1377
11×mul0-rgt_binary64_1425 associate-+r-_binary64_1376
10×cube-div_binary64_1471
exp-sqrt_binary64_1495 rem-sqrt-square_binary64_1455 sub0-neg_binary64_1429 +-rgt-identity_binary64_1427
unpow3_binary64_1508 exp-diff_binary64_1490 associate--r-_binary64_1381
div-sub_binary64_1447 distribute-neg-out_binary64_1404
pow-base-1_binary64_1502 *-lft-identity_binary64_1431
unpow1/3_binary64_1509 cube-mult_binary64_1472 --rgt-identity_binary64_1428 distribute-lft1-in_binary64_1397 count-2_binary64_1390
log-div_binary64_1529 cube-neg_binary64_1469 difference-of-sqr--1_binary64_1413
sqr-neg_binary64_1456 +-lft-identity_binary64_1426 difference-of-sqr-1_binary64_1412 distribute-frac-neg_binary64_1405 associate--l-_binary64_1380 associate--r+_binary64_1378
exp-neg_binary64_1489 rem-3cbrt-lft_binary64_1467 remove-double-neg_binary64_1430 associate--l+_binary64_1379
unpow2_binary64_1507 unpow1_binary64_1500 exp-lft-sqr_binary64_1497 div-exp_binary64_1493 1-exp_binary64_1486 exp-1-e_binary64_1485 rem-log-exp_binary64_1483 rem-cbrt-cube_binary64_1466 rem-square-sqrt_binary64_1454 /-rgt-identity_binary64_1433 *-inverses_binary64_1422
not-true not-false not-not not-and not-or and-true-l and-true-r and-false-l and-false-r and-same or-true-l or-true-r or-false-l or-false-r or-same erfc-erf_binary64_1705 erf-erfc_binary64_1704 erf-odd_binary64_1703 if-if-and-not_binary64_1702 if-if-and_binary64_1701 if-if-or-not_binary64_1700 if-if-or_binary64_1699 if-not_binary64_1698 if-same_binary64_1697 if-false_binary64_1696 if-true_binary64_1695 not-gte_binary64_1694 not-lte_binary64_1693 not-gt_binary64_1692 not-lt_binary64_1691 gte-same_binary64_1690 lte-same_binary64_1689 gt-same_binary64_1688 lt-same_binary64_1687 sinh---cosh_binary64_1634 sinh-+-cosh_binary64_1633 sinh-cosh_binary64_1632 tanh-def-c_binary64_1631 tanh-def-b_binary64_1630 tanh-def-a_binary64_1629 cosh-def_binary64_1628 sinh-def_binary64_1627 tan-neg_binary64_1574 cos-neg_binary64_1573 sin-neg_binary64_1572 tan-0_binary64_1571 cos-0_binary64_1570 sin-0_binary64_1569 hang-m-tan_binary64_1568 hang-p-tan_binary64_1567 hang-m0-tan_binary64_1566 hang-p0-tan_binary64_1565 hang-0m-tan_binary64_1564 hang-0p-tan_binary64_1563 tan-+PI/2_binary64_1562 tan-+PI_binary64_1561 tan-PI_binary64_1560 tan-PI/3_binary64_1559 tan-PI/4_binary64_1558 tan-PI/6_binary64_1557 cos-+PI/2_binary64_1556 cos-+PI_binary64_1555 cos-PI_binary64_1554 cos-PI/2_binary64_1553 cos-PI/3_binary64_1552 cos-PI/4_binary64_1551 cos-PI/6_binary64_1550 sin-+PI/2_binary64_1549 sin-+PI_binary64_1548 sin-PI_binary64_1547 sin-PI/2_binary64_1546 sin-PI/3_binary64_1545 sin-PI/4_binary64_1544 sin-PI/6_binary64_1543 sub-1-sin_binary64_1542 sub-1-cos_binary64_1541 -1-add-sin_binary64_1540 -1-add-cos_binary64_1539 1-sub-sin_binary64_1538 1-sub-cos_binary64_1537 cos-sin-sum_binary64_1536 log-E_binary64_1532 log-rec_binary64_1530 pow-base-0_binary64_1526 unpow1/2_binary64_1506 exp-to-pow_binary64_1504 unpow0_binary64_1501 unpow-1_binary64_1499 exp-lft-cube_binary64_1498 exp-cbrt_binary64_1496 rec-exp_binary64_1492 e-exp-1_binary64_1487 exp-0_binary64_1484 rem-exp-log_binary64_1482 rem-3cbrt-rft_binary64_1468 rem-cube-cbrt_binary64_1465 sqr-abs_binary64_1457 div0_binary64_1423 +-inverses_binary64_1421 lft-mult-inverse_binary64_1420 rgt-mult-inverse_binary64_1419 remove-double-div_binary64_1418 cancel-sign-sub_binary64_1407
Counts
88 → 207
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01061092
1239985
2521959
31650959

prune169.0ms (4.4%)

Pruning

3 alts after pruning (0 fresh and 3 done)

PrunedKeptTotal
New2070207
Fresh000
Picked011
Done022
Total2073210
Error
0.0b
Counts
210 → 3
Compiler

Compiled 5276 to 3464 computations (34.3% saved)

regimes66.0ms (1.7%)

Accuracy

Total 0.4b remaining (96.5%)

Threshold costs 0.4b (96.5%)

Compiler

Compiled 826 to 667 computations (19.2% saved)

bsearch0.0ms (0%)

simplify4.0ms (0.1%)

Algorithm
egg-herbie
Rules
*-commutative_binary64_1373 +-commutative_binary64_1372
not-true not-false not-not not-and not-or and-true-l and-true-r and-false-l and-false-r and-same or-true-l or-true-r or-false-l or-false-r or-same if-if-and-not_binary64_1702 if-if-and_binary64_1701 if-if-or-not_binary64_1700 if-if-or_binary64_1699 if-not_binary64_1698 if-same_binary64_1697 if-false_binary64_1696 if-true_binary64_1695 tan-0_binary64_1571 cos-0_binary64_1570 sin-0_binary64_1569 unpow1_binary64_1500 e-exp-1_binary64_1487 1-exp_binary64_1486 exp-1-e_binary64_1485 exp-0_binary64_1484 sqr-abs_binary64_1457 sqr-neg_binary64_1456 neg-mul-1_binary64_1438 neg-sub0_binary64_1437 unsub-neg_binary64_1436 sub-neg_binary64_1435 mul-1-neg_binary64_1434 /-rgt-identity_binary64_1433 *-rgt-identity_binary64_1432 *-lft-identity_binary64_1431 remove-double-neg_binary64_1430 sub0-neg_binary64_1429 --rgt-identity_binary64_1428 +-rgt-identity_binary64_1427 +-lft-identity_binary64_1426 cancel-sign-sub-inv_binary64_1408 cancel-sign-sub_binary64_1407 distribute-neg-frac_binary64_1406 distribute-frac-neg_binary64_1405 distribute-neg-out_binary64_1404 distribute-neg-in_binary64_1403 distribute-rgt-neg-out_binary64_1402 distribute-lft-neg-out_binary64_1401 distribute-rgt-neg-in_binary64_1400 distribute-lft-neg-in_binary64_1399
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01425
12025
Proof
(+ f64 h0 (+ f64 (* f64 1/24 (pow f64 h0 4)) (* f64 (* f64 h0 h0) (+ f64 1/2 (* f64 h0 1/6)))))

end0.0ms (0%)

sample1.6s (42%)

Algorithm
intervals
Results
597.0ms4033×body1024valid
165.0ms1953×body512valid
113.0ms8000×pre128true
68.0ms439×body2048valid
56.0ms1016×body256valid
15.0ms559×body128valid
Compiler

Compiled 254 to 203 computations (20.1% saved)

Profiling

Loading profile data...