Details

Time bar (total: 9.6s)

analyze457.0ms (4.8%)

Algorithm
search
Search
TrueOtherFalseIter
0%99.8%0.2%0
0%99.8%0.2%1
0%99.8%0.2%2
0%99.8%0.2%3
0%99.8%0.2%4
0%99.8%0.2%5
0%99.8%0.2%6
12.5%87.3%0.2%7
15.6%84.2%0.2%8
28.1%71.7%0.2%9
37.4%62.4%0.2%10
43.7%56.1%0.2%11
53%46.8%0.2%12
64.1%35.6%0.3%13
66.7%32.8%0.5%14
Compiler

Compiled 12 to 11 computations (8.3% saved)

sample20.0ms (0.2%)

Algorithm
intervals
Results
8.0ms256×body128valid
0.0msbody128invalid
Compiler

Compiled 23 to 25 computations (-8.7% saved)

simplify529.0ms (5.5%)

Algorithm
egg-herbie
Rules
831×exp-prod_binary64_1494
702×div-sub_binary64_1447
642×associate-/r/_binary64_1388
449×unsub-neg_binary64_1436
220×swap-sqr_binary64_1409
160×associate-+l-_binary64_1377
159×distribute-neg-out_binary64_1404
142×distribute-rgt-neg-out_binary64_1402
136×associate-/l*_binary64_1387
134×distribute-frac-neg_binary64_1405
133×sub-neg_binary64_1435
132×*-commutative_binary64_1373
126×associate-+l+_binary64_1375
107×pow-plus_binary64_1505
106×associate-+r+_binary64_1374
101×neg-sub0_binary64_1437 distribute-rgt1-in_binary64_1398
98×distribute-lft-neg-out_binary64_1401
92×distribute-rgt-in_binary64_1392
90×times-frac_binary64_1448
80×neg-mul-1_binary64_1438 associate-*r*_binary64_1382
78×distribute-rgt-neg-in_binary64_1400
70×associate-+r-_binary64_1376
69×associate--r+_binary64_1378
68×distribute-neg-in_binary64_1403
67×distribute-rgt-out_binary64_1395
61×distribute-lft-neg-in_binary64_1399 associate-*l*_binary64_1383
60×distribute-lft-in_binary64_1391
53×distribute-neg-frac_binary64_1406
52×associate--l+_binary64_1379
42×cancel-sign-sub-inv_binary64_1408
37×associate--r-_binary64_1381 associate--l-_binary64_1380 +-commutative_binary64_1372
28×remove-double-neg_binary64_1430
25×distribute-lft-out_binary64_1393
23×exp-sum_binary64_1488
22×associate-/l/_binary64_1389
20×exp-diff_binary64_1490 sub0-neg_binary64_1429
17×sqr-pow_binary64_1414 associate-/r*_binary64_1386
14×sqr-neg_binary64_1456
12×exp-lft-sqr_binary64_1497
div0_binary64_1423
pow-base-1_binary64_1502 exp-neg_binary64_1489 +-rgt-identity_binary64_1427 mul0-rgt_binary64_1425 pow-sqr_binary64_1415 count-2_binary64_1390
mul0-lft_binary64_1424
+-lft-identity_binary64_1426 associate-*l/_binary64_1385
cube-unmult_binary64_1479 mul-1-neg_binary64_1434 --rgt-identity_binary64_1428 *-inverses_binary64_1422 distribute-lft1-in_binary64_1397 associate-*r/_binary64_1384
*-lft-identity_binary64_1431 distribute-rgt-out--_binary64_1396
1-exp_binary64_1486 *-rgt-identity_binary64_1432
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 exp-sqrt_binary64_1495 div-exp_binary64_1493 rec-exp_binary64_1492 prod-exp_binary64_1491 e-exp-1_binary64_1487 exp-1-e_binary64_1485 exp-0_binary64_1484 rem-log-exp_binary64_1483 rem-exp-log_binary64_1482 cube-mult_binary64_1472 cube-div_binary64_1471 cube-prod_binary64_1470 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 rem-sqrt-square_binary64_1455 rem-square-sqrt_binary64_1454 /-rgt-identity_binary64_1433 +-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 difference-of-squares_binary64_1411 unswap-sqr_binary64_1410 cancel-sign-sub_binary64_1407 distribute-lft-out--_binary64_1394
Counts
1 → 3
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01116
12216
25016
311916
427816
553216
6158316
7438516

prune7.0ms (0.1%)

Pruning

3 alts after pruning (3 fresh and 0 done)

PrunedKeptTotal
New123
Fresh011
Picked000
Done000
Total134
Error
0.0b
Counts
4 → 3
Compiler

Compiled 66 to 49 computations (25.8% saved)

localize8.0ms (0.1%)

Local error

Found 2 expressions with local error:

0.0b
(*.f64 (-.f64 y z) (-.f64 y t))
7.2b
(/.f64 x (*.f64 (-.f64 y z) (-.f64 y t)))

rewrite88.0ms (0.9%)

Algorithm
rewrite-expression-head
Error
0b
Rules
14×add-sqr-sqrt_binary64_1464
12×*-un-lft-identity_binary64_1442 flip3--_binary64_1446 flip--_binary64_1417
add-exp-log_binary64_1480 add-cbrt-cube_binary64_1478
add-cube-cbrt_binary64_1477 frac-times_binary64_1452 associate-/r/_binary64_1388
cancel-sign-sub-inv_binary64_1408
associate-*l*_binary64_1383 associate-*r*_binary64_1382
pow1_binary64_1503 associate-*l/_binary64_1385 associate-*r/_binary64_1384 distribute-rgt-in_binary64_1392 distribute-lft-in_binary64_1391
times-frac_binary64_1448 associate-/l*_binary64_1387
prod-exp_binary64_1491 div-exp_binary64_1493 add-log-exp_binary64_1481 cbrt-undiv_binary64_1476 cbrt-unprod_binary64_1475 sub-neg_binary64_1435 difference-of-squares_binary64_1411 distribute-lft-out--_binary64_1394
frac-2neg_binary64_1453 clear-num_binary64_1441 div-inv_binary64_1439 associate-/r*_binary64_1386 pow-prod-down_binary64_1513 unswap-sqr_binary64_1410 *-commutative_binary64_1373
Counts
2 → 67
Calls

2 calls:

10.0ms
(*.f64 (-.f64 y z) (-.f64 y t))
9.0ms
(/.f64 x (*.f64 (-.f64 y z) (-.f64 y t)))
Compiler

Compiled 1382 to 448 computations (67.6% saved)

series770.0ms (8%)

Error
0.0b
Counts
2 → 42
Calls

2 calls:

490.0ms
(/.f64 x (*.f64 (-.f64 y z) (-.f64 y t)))
232.0ms
(*.f64 (-.f64 y z) (-.f64 y t))
Compiler

Compiled 2468 to 1631 computations (33.9% saved)

simplify256.0ms (2.7%)

Algorithm
egg-herbie
Rules
721×distribute-rgt-in_binary64_1392
680×distribute-lft-in_binary64_1391
269×times-frac_binary64_1448
222×associate-/r*_binary64_1386
166×associate-/l*_binary64_1387
149×associate-*l*_binary64_1383
132×associate-*r*_binary64_1382
111×cancel-sign-sub-inv_binary64_1408
98×unswap-sqr_binary64_1410
93×*-commutative_binary64_1373
76×distribute-lft-neg-out_binary64_1401
72×sub-neg_binary64_1435 distribute-rgt-neg-in_binary64_1400
71×distribute-rgt-neg-out_binary64_1402 +-commutative_binary64_1372
69×associate-+r+_binary64_1374
59×distribute-lft-neg-in_binary64_1399
54×distribute-neg-frac_binary64_1406
50×sqr-pow_binary64_1414
49×neg-sub0_binary64_1437
45×associate-+l+_binary64_1375
43×neg-mul-1_binary64_1438
32×div-sub_binary64_1447
31×associate-*l/_binary64_1385
28×distribute-rgt-out_binary64_1395
26×associate-*r/_binary64_1384
23×distribute-neg-in_binary64_1403 associate-/r/_binary64_1388
22×pow-sqr_binary64_1415
17×*-rgt-identity_binary64_1432 *-lft-identity_binary64_1431
15×pow-plus_binary64_1505 difference-of-squares_binary64_1411
14×unsub-neg_binary64_1436
13×cube-prod_binary64_1470
12×exp-prod_binary64_1494
10×swap-sqr_binary64_1409 associate--r+_binary64_1378
log-prod_binary64_1528 /-rgt-identity_binary64_1433
exp-sum_binary64_1488 distribute-frac-neg_binary64_1405 associate--l+_binary64_1379
log-div_binary64_1529 cube-unmult_binary64_1479
unpow2_binary64_1507 unpow1_binary64_1500 distribute-rgt-out--_binary64_1396
exp-diff_binary64_1490 mul-1-neg_binary64_1434 distribute-lft-out_binary64_1393
unpow3_binary64_1508 cube-mult_binary64_1472 distribute-lft1-in_binary64_1397
cube-div_binary64_1471 remove-double-neg_binary64_1430 div0_binary64_1423 distribute-rgt1-in_binary64_1398 distribute-lft-out--_binary64_1394
exp-sqrt_binary64_1495 div-exp_binary64_1493 rec-exp_binary64_1492 prod-exp_binary64_1491 1-exp_binary64_1486 exp-1-e_binary64_1485 rem-log-exp_binary64_1483 rem-3cbrt-lft_binary64_1467 rem-sqrt-square_binary64_1455 rem-square-sqrt_binary64_1454 +-rgt-identity_binary64_1427 *-inverses_binary64_1422 associate-+r-_binary64_1376
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 pow-base-0_binary64_1526 unpow1/3_binary64_1509 unpow1/2_binary64_1506 exp-to-pow_binary64_1504 pow-base-1_binary64_1502 unpow0_binary64_1501 unpow-1_binary64_1499 exp-lft-cube_binary64_1498 exp-lft-sqr_binary64_1497 exp-cbrt_binary64_1496 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-cbrt-cube_binary64_1466 rem-cube-cbrt_binary64_1465 sqr-abs_binary64_1457 sqr-neg_binary64_1456 sub0-neg_binary64_1429 --rgt-identity_binary64_1428 +-lft-identity_binary64_1426 mul0-rgt_binary64_1425 mul0-lft_binary64_1424 +-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-neg-out_binary64_1404 count-2_binary64_1390 associate-/l/_binary64_1389 associate--r-_binary64_1381 associate--l-_binary64_1380 associate-+l-_binary64_1377
Counts
109 → 166
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02272251
16582074
229442011

prune171.0ms (1.8%)

Pruning

4 alts after pruning (3 fresh and 1 done)

PrunedKeptTotal
New1651166
Fresh022
Picked011
Done000
Total1654169
Error
0b
Counts
169 → 4
Compiler

Compiled 3585 to 1101 computations (69.3% saved)

localize8.0ms (0.1%)

Local error

Found 1 expressions with local error:

1.9b
(/.f64 (/.f64 x (-.f64 y z)) (-.f64 y t))

rewrite172.0ms (1.8%)

Algorithm
rewrite-expression-head
Error
0b
Rules
195×times-frac_binary64_1448
157×add-sqr-sqrt_binary64_1464 *-un-lft-identity_binary64_1442
77×add-cube-cbrt_binary64_1477
40×difference-of-squares_binary64_1411 distribute-lft-out--_binary64_1394
21×associate-/l*_binary64_1387
14×associate-/r/_binary64_1388
div-inv_binary64_1439 flip3--_binary64_1446 flip--_binary64_1417
add-exp-log_binary64_1480 add-cbrt-cube_binary64_1478
associate-/r*_binary64_1386
div-exp_binary64_1493 cbrt-undiv_binary64_1476
pow1_binary64_1503 add-log-exp_binary64_1481 frac-2neg_binary64_1453 clear-num_binary64_1441 associate-/l/_binary64_1389
Counts
1 → 148
Calls

1 calls:

13.0ms
(/.f64 (/.f64 x (-.f64 y z)) (-.f64 y t))
Compiler

Compiled 3627 to 951 computations (73.8% saved)

series487.0ms (5.1%)

Error
0b
Counts
1 → 21
Calls

1 calls:

461.0ms
(/.f64 (/.f64 x (-.f64 y z)) (-.f64 y t))
Compiler

Compiled 1699 to 1120 computations (34.1% saved)

simplify367.0ms (3.8%)

Algorithm
egg-herbie
Rules
597×associate-/r/_binary64_1388
338×associate-/l/_binary64_1389
298×distribute-rgt-in_binary64_1392
292×associate-/r*_binary64_1386
279×distribute-lft-in_binary64_1391
272×times-frac_binary64_1448
183×associate-/l*_binary64_1387
122×cancel-sign-sub-inv_binary64_1408
95×*-commutative_binary64_1373
83×unswap-sqr_binary64_1410
78×sub-neg_binary64_1435 *-rgt-identity_binary64_1432
73×associate-*l*_binary64_1383
72×distribute-neg-frac_binary64_1406 associate-*l/_binary64_1385
70×distribute-rgt-neg-in_binary64_1400
68×+-commutative_binary64_1372
67×div-sub_binary64_1447 associate-+r+_binary64_1374
66×associate-*r*_binary64_1382
65×distribute-lft-neg-in_binary64_1399
54×neg-sub0_binary64_1437
53×neg-mul-1_binary64_1438
45×sqr-pow_binary64_1414 associate-+l+_binary64_1375
42×distribute-lft-neg-out_binary64_1401
38×distribute-rgt-neg-out_binary64_1402 associate-*r/_binary64_1384
26×distribute-rgt-out_binary64_1395
25×/-rgt-identity_binary64_1433
21×*-lft-identity_binary64_1431
20×pow-sqr_binary64_1415
16×div-exp_binary64_1493 prod-exp_binary64_1491
15×pow-plus_binary64_1505
14×log-div_binary64_1529 difference-of-squares_binary64_1411
distribute-neg-in_binary64_1403 associate--l+_binary64_1379
unsub-neg_binary64_1436
log-prod_binary64_1528 cube-unmult_binary64_1479 associate--r+_binary64_1378
unpow2_binary64_1507 unpow1_binary64_1500 cube-div_binary64_1471 cube-prod_binary64_1470 swap-sqr_binary64_1409 distribute-rgt-out--_binary64_1396
rec-exp_binary64_1492
unpow3_binary64_1508 cube-mult_binary64_1472 distribute-lft1-in_binary64_1397 distribute-lft-out_binary64_1393
mul-1-neg_binary64_1434 distribute-rgt1-in_binary64_1398 distribute-lft-out--_binary64_1394
log-rec_binary64_1530 1-exp_binary64_1486 rem-log-exp_binary64_1483 remove-double-neg_binary64_1430 *-inverses_binary64_1422 distribute-frac-neg_binary64_1405 distribute-neg-out_binary64_1404 count-2_binary64_1390 associate--r-_binary64_1381 associate--l-_binary64_1380 associate-+l-_binary64_1377
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 pow-base-0_binary64_1526 unpow1/3_binary64_1509 unpow1/2_binary64_1506 exp-to-pow_binary64_1504 pow-base-1_binary64_1502 unpow0_binary64_1501 unpow-1_binary64_1499 exp-lft-cube_binary64_1498 exp-lft-sqr_binary64_1497 exp-cbrt_binary64_1496 exp-sqrt_binary64_1495 exp-prod_binary64_1494 exp-diff_binary64_1490 exp-neg_binary64_1489 exp-sum_binary64_1488 e-exp-1_binary64_1487 exp-1-e_binary64_1485 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-sqrt-square_binary64_1455 rem-square-sqrt_binary64_1454 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 associate-+r-_binary64_1376
Counts
169 → 604
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
03515067
19394953
234354896

prune643.0ms (6.7%)

Pruning

4 alts after pruning (2 fresh and 2 done)

PrunedKeptTotal
New6040604
Fresh022
Picked011
Done011
Total6044608
Error
0b
Counts
608 → 4
Compiler

Compiled 15424 to 3177 computations (79.4% saved)

localize9.0ms (0.1%)

Local error

Found 3 expressions with local error:

0.0b
(/.f64 (-.f64 y z) x)
0.8b
(/.f64 1 (*.f64 (/.f64 (-.f64 y z) x) (-.f64 y t)))
2.2b
(*.f64 (/.f64 (-.f64 y z) x) (-.f64 y t))

rewrite161.0ms (1.7%)

Algorithm
rewrite-expression-head
Error
0b
Rules
48×add-sqr-sqrt_binary64_1464
43×*-un-lft-identity_binary64_1442
34×times-frac_binary64_1448
31×add-exp-log_binary64_1480
27×add-cube-cbrt_binary64_1477
19×add-cbrt-cube_binary64_1478 associate-*l*_binary64_1383
11×div-exp_binary64_1493
pow1_binary64_1503 prod-exp_binary64_1491 difference-of-squares_binary64_1411 distribute-lft-out--_binary64_1394 associate-/l*_binary64_1387
cbrt-undiv_binary64_1476 cancel-sign-sub-inv_binary64_1408
flip3--_binary64_1446 flip--_binary64_1417 associate-*r*_binary64_1382 associate-/r/_binary64_1388
cbrt-unprod_binary64_1475 frac-times_binary64_1452 distribute-rgt-in_binary64_1392 distribute-lft-in_binary64_1391 associate-*r/_binary64_1384 associate-/r*_binary64_1386
add-log-exp_binary64_1481 div-inv_binary64_1439 1-exp_binary64_1486 rec-exp_binary64_1492
pow-prod-down_binary64_1513 unswap-sqr_binary64_1410 sub-neg_binary64_1435 associate-*l/_binary64_1385 pow-flip_binary64_1516 frac-2neg_binary64_1453 clear-num_binary64_1441 associate-/l/_binary64_1389
*-commutative_binary64_1373 inv-pow_binary64_1527 div-sub_binary64_1447
Counts
3 → 127
Calls

3 calls:

16.0ms
(*.f64 (/.f64 (-.f64 y z) x) (-.f64 y t))
11.0ms
(/.f64 1 (*.f64 (/.f64 (-.f64 y z) x) (-.f64 y t)))
6.0ms
(/.f64 (-.f64 y z) x)
Compiler

Compiled 2678 to 960 computations (64.2% saved)

series1.2s (12.4%)

Error
0b
Counts
3 → 60
Calls

3 calls:

486.0ms
(/.f64 1 (*.f64 (/.f64 (-.f64 y z) x) (-.f64 y t)))
484.0ms
(*.f64 (/.f64 (-.f64 y z) x) (-.f64 y t))
169.0ms
(/.f64 (-.f64 y z) x)
Compiler

Compiled 3464 to 2302 computations (33.5% saved)

simplify589.0ms (6.1%)

Algorithm
egg-herbie
Rules
715×distribute-rgt-in_binary64_1392
291×times-frac_binary64_1448
241×associate-/l*_binary64_1387
212×associate-/r*_binary64_1386
141×associate-*l*_binary64_1383
139×cancel-sign-sub-inv_binary64_1408
137×div-sub_binary64_1447
130×associate-*r*_binary64_1382
119×*-commutative_binary64_1373
117×associate-*l/_binary64_1385
113×sub-neg_binary64_1435
112×distribute-lft-neg-out_binary64_1401
105×distribute-rgt-neg-out_binary64_1402
94×unswap-sqr_binary64_1410
93×distribute-neg-frac_binary64_1406
79×distribute-lft-in_binary64_1391 +-commutative_binary64_1372
77×neg-sub0_binary64_1437 distribute-rgt-neg-in_binary64_1400 associate-*r/_binary64_1384
70×associate-+r+_binary64_1374
66×distribute-lft-neg-in_binary64_1399
65×neg-mul-1_binary64_1438
64×associate-/r/_binary64_1388
53×associate-/l/_binary64_1389
52×sqr-pow_binary64_1414
48×distribute-neg-in_binary64_1403 associate-+l+_binary64_1375
34×distribute-rgt-out_binary64_1395
30×log-div_binary64_1529 *-rgt-identity_binary64_1432
24×cube-div_binary64_1471 *-lft-identity_binary64_1431
23×/-rgt-identity_binary64_1433
22×pow-sqr_binary64_1415
21×associate--r+_binary64_1378
20×unsub-neg_binary64_1436
18×swap-sqr_binary64_1409
17×log-prod_binary64_1528 exp-prod_binary64_1494 cube-prod_binary64_1470
16×pow-plus_binary64_1505 associate--l+_binary64_1379
14×mul-1-neg_binary64_1434
13×distribute-frac-neg_binary64_1405
10×exp-sum_binary64_1488
cube-unmult_binary64_1479
difference-of-squares_binary64_1411
distribute-neg-out_binary64_1404
exp-diff_binary64_1490 remove-double-neg_binary64_1430 distribute-rgt-out--_binary64_1396
log-rec_binary64_1530 unpow2_binary64_1507 unpow1_binary64_1500
unpow3_binary64_1508 cube-mult_binary64_1472 distribute-lft1-in_binary64_1397 distribute-lft-out--_binary64_1394 distribute-lft-out_binary64_1393 associate--r-_binary64_1381
rem-sqrt-square_binary64_1455 div0_binary64_1423 cancel-sign-sub_binary64_1407 distribute-rgt1-in_binary64_1398 associate-+r-_binary64_1376
log-pow_binary64_1531 exp-sqrt_binary64_1495 div-exp_binary64_1493 rec-exp_binary64_1492 prod-exp_binary64_1491 1-exp_binary64_1486 exp-1-e_binary64_1485 rem-log-exp_binary64_1483 rem-3cbrt-lft_binary64_1467 rem-cbrt-cube_binary64_1466 rem-square-sqrt_binary64_1454 +-rgt-identity_binary64_1427 *-inverses_binary64_1422 associate-+l-_binary64_1377
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 exp-to-pow_binary64_1504 pow-base-1_binary64_1502 unpow0_binary64_1501 unpow-1_binary64_1499 exp-lft-cube_binary64_1498 exp-lft-sqr_binary64_1497 exp-cbrt_binary64_1496 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-cube-cbrt_binary64_1465 sqr-abs_binary64_1457 sqr-neg_binary64_1456 sub0-neg_binary64_1429 --rgt-identity_binary64_1428 +-lft-identity_binary64_1426 mul0-rgt_binary64_1425 mul0-lft_binary64_1424 +-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 count-2_binary64_1390 associate--l-_binary64_1380
Counts
187 → 381
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
03133691
18893322
235033103

prune387.0ms (4%)

Pruning

4 alts after pruning (1 fresh and 3 done)

PrunedKeptTotal
New3810381
Fresh011
Picked011
Done022
Total3814385
Error
0b
Counts
385 → 4
Compiler

Compiled 8204 to 2577 computations (68.6% saved)

localize8.0ms (0.1%)

Local error

Found 2 expressions with local error:

0.0b
(/.f64 x (-.f64 y t))
3.2b
(/.f64 (/.f64 x (-.f64 y t)) (-.f64 y z))

rewrite229.0ms (2.4%)

Algorithm
rewrite-expression-head
Error
0b
Rules
210×times-frac_binary64_1448
176×add-sqr-sqrt_binary64_1464 *-un-lft-identity_binary64_1442
88×add-cube-cbrt_binary64_1477
44×difference-of-squares_binary64_1411 distribute-lft-out--_binary64_1394
24×associate-/l*_binary64_1387
16×associate-/r/_binary64_1388
10×associate-/r*_binary64_1386
add-exp-log_binary64_1480 add-cbrt-cube_binary64_1478
div-inv_binary64_1439 flip3--_binary64_1446 flip--_binary64_1417
div-exp_binary64_1493 cbrt-undiv_binary64_1476
pow1_binary64_1503 add-log-exp_binary64_1481 frac-2neg_binary64_1453 clear-num_binary64_1441
associate-/l/_binary64_1389
Counts
2 → 185
Calls

2 calls:

17.0ms
(/.f64 (/.f64 x (-.f64 y t)) (-.f64 y z))
5.0ms
(/.f64 x (-.f64 y t))
Compiler

Compiled 4318 to 1143 computations (73.5% saved)

series671.0ms (7%)

Error
0b
Counts
2 → 36
Calls

2 calls:

491.0ms
(/.f64 (/.f64 x (-.f64 y t)) (-.f64 y z))
141.0ms
(/.f64 x (-.f64 y t))
Compiler

Compiled 2293 to 1533 computations (33.1% saved)

simplify392.0ms (4.1%)

Algorithm
egg-herbie
Rules
609×associate-/r/_binary64_1388
342×associate-/l/_binary64_1389
302×distribute-rgt-in_binary64_1392
294×associate-/r*_binary64_1386
280×distribute-lft-in_binary64_1391
274×times-frac_binary64_1448
191×associate-/l*_binary64_1387
133×cancel-sign-sub-inv_binary64_1408
98×*-commutative_binary64_1373
89×sub-neg_binary64_1435
83×unswap-sqr_binary64_1410
80×distribute-neg-frac_binary64_1406
79×*-rgt-identity_binary64_1432 distribute-rgt-neg-in_binary64_1400
75×distribute-lft-neg-in_binary64_1399
74×div-sub_binary64_1447
73×associate-*l*_binary64_1383
71×associate-*l/_binary64_1385
69×+-commutative_binary64_1372
67×associate-+r+_binary64_1374
66×associate-*r*_binary64_1382
62×neg-sub0_binary64_1437
60×neg-mul-1_binary64_1438
45×sqr-pow_binary64_1414 associate-+l+_binary64_1375
42×distribute-lft-neg-out_binary64_1401
38×distribute-rgt-neg-out_binary64_1402
37×associate-*r/_binary64_1384
26×distribute-rgt-out_binary64_1395
25×/-rgt-identity_binary64_1433
21×*-lft-identity_binary64_1431
20×pow-sqr_binary64_1415
16×div-exp_binary64_1493 prod-exp_binary64_1491
15×pow-plus_binary64_1505
14×log-div_binary64_1529 difference-of-squares_binary64_1411
13×distribute-neg-in_binary64_1403
10×unsub-neg_binary64_1436
associate--l+_binary64_1379 associate--r+_binary64_1378
distribute-rgt-out--_binary64_1396
log-prod_binary64_1528 cube-unmult_binary64_1479
unpow2_binary64_1507 unpow1_binary64_1500 cube-div_binary64_1471 cube-prod_binary64_1470 swap-sqr_binary64_1409
rec-exp_binary64_1492 div0_binary64_1423 distribute-rgt1-in_binary64_1398
unpow3_binary64_1508 cube-mult_binary64_1472 mul-1-neg_binary64_1434 distribute-lft1-in_binary64_1397 distribute-lft-out_binary64_1393
remove-double-neg_binary64_1430 distribute-lft-out--_binary64_1394 associate--r-_binary64_1381
log-rec_binary64_1530 exp-prod_binary64_1494 1-exp_binary64_1486 rem-log-exp_binary64_1483 *-inverses_binary64_1422 distribute-frac-neg_binary64_1405 distribute-neg-out_binary64_1404 count-2_binary64_1390 associate--l-_binary64_1380 associate-+l-_binary64_1377
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 pow-base-0_binary64_1526 unpow1/3_binary64_1509 unpow1/2_binary64_1506 exp-to-pow_binary64_1504 pow-base-1_binary64_1502 unpow0_binary64_1501 unpow-1_binary64_1499 exp-lft-cube_binary64_1498 exp-lft-sqr_binary64_1497 exp-cbrt_binary64_1496 exp-sqrt_binary64_1495 exp-diff_binary64_1490 exp-neg_binary64_1489 exp-sum_binary64_1488 e-exp-1_binary64_1487 exp-1-e_binary64_1485 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-sqrt-square_binary64_1455 rem-square-sqrt_binary64_1454 sub0-neg_binary64_1429 --rgt-identity_binary64_1428 +-rgt-identity_binary64_1427 +-lft-identity_binary64_1426 mul0-rgt_binary64_1425 mul0-lft_binary64_1424 +-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 associate-+r-_binary64_1376
Counts
221 → 643
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
03675768
19775624
235215543

prune687.0ms (7.1%)

Pruning

4 alts after pruning (0 fresh and 4 done)

PrunedKeptTotal
New6430643
Fresh000
Picked011
Done033
Total6434647
Error
0b
Counts
647 → 4
Compiler

Compiled 16134 to 3324 computations (79.4% saved)

regimes316.0ms (3.3%)

Accuracy

Total 0.7b remaining (99.4%)

Threshold costs 0.7b (99.4%)

Compiler

Compiled 2340 to 2281 computations (2.5% saved)

bsearch0.0ms (0%)

simplify5.0ms (0.1%)

Algorithm
egg-herbie
Rules
10×sub-neg_binary64_1435 +-commutative_binary64_1372
*-commutative_binary64_1373
neg-mul-1_binary64_1438 neg-sub0_binary64_1437
distribute-rgt-neg-in_binary64_1400
distribute-lft-neg-in_binary64_1399
cancel-sign-sub-inv_binary64_1408 distribute-neg-frac_binary64_1406
1-exp_binary64_1486 distribute-lft-neg-out_binary64_1401
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 exp-1-e_binary64_1485 exp-0_binary64_1484 sqr-abs_binary64_1457 sqr-neg_binary64_1456 unsub-neg_binary64_1436 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_binary64_1407 distribute-frac-neg_binary64_1405 distribute-neg-out_binary64_1404 distribute-neg-in_binary64_1403 distribute-rgt-neg-out_binary64_1402
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01428
12728
24828
36428
47428
57728
Proof
(- f64 1 (* f64 (=> (* f64 (/ f64 (cbrt f64 h0) (- f64 h1 h2)) (cbrt f64 h0))) (/ f64 (cbrt f64 h0) (- f64 h1 h3)))) *-commutative_binary64_1373 => (- f64 1 (* f64 (* f64 (cbrt f64 h0) (/ f64 (cbrt f64 h0) (- f64 h1 h2))) (/ f64 (cbrt f64 h0) (- f64 h1 h3))))

end0.0ms (0%)

sample973.0ms (10.1%)

Algorithm
intervals
Results
279.0ms8000×body128valid
14.0ms426×body128invalid
Compiler

Compiled 350 to 337 computations (3.7% saved)

Profiling

Loading profile data...