Details

Time bar (total: 3.0s)

analyze270.0ms (8.8%)

Algorithm
search
egg-herbie
Rules
*-commutative_binary64_1373
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 pow-plus_binary64_1505 exp-to-pow_binary64_1504 pow-base-1_binary64_1502 unpow0_binary64_1501 unpow1_binary64_1500 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 div-exp_binary64_1493 rec-exp_binary64_1492 prod-exp_binary64_1491 exp-diff_binary64_1490 exp-neg_binary64_1489 exp-sum_binary64_1488 e-exp-1_binary64_1487 1-exp_binary64_1486 exp-1-e_binary64_1485 exp-0_binary64_1484 rem-log-exp_binary64_1483 rem-exp-log_binary64_1482 cube-unmult_binary64_1479 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 sqr-neg_binary64_1456 rem-sqrt-square_binary64_1455 rem-square-sqrt_binary64_1454 times-frac_binary64_1448 div-sub_binary64_1447 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 mul0-rgt_binary64_1425 mul0-lft_binary64_1424 div0_binary64_1423 *-inverses_binary64_1422 +-inverses_binary64_1421 lft-mult-inverse_binary64_1420 rgt-mult-inverse_binary64_1419 remove-double-div_binary64_1418 pow-sqr_binary64_1415 sqr-pow_binary64_1414 difference-of-sqr--1_binary64_1413 difference-of-sqr-1_binary64_1412 difference-of-squares_binary64_1411 unswap-sqr_binary64_1410 swap-sqr_binary64_1409 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 distribute-rgt1-in_binary64_1398 distribute-lft1-in_binary64_1397 distribute-rgt-out--_binary64_1396 distribute-rgt-out_binary64_1395 distribute-lft-out--_binary64_1394 distribute-lft-out_binary64_1393 distribute-rgt-in_binary64_1392 distribute-lft-in_binary64_1391 count-2_binary64_1390 associate-/l/_binary64_1389 associate-/r/_binary64_1388 associate-/l*_binary64_1387 associate-/r*_binary64_1386 associate-*l/_binary64_1385 associate-*r/_binary64_1384 associate-*l*_binary64_1383 associate-*r*_binary64_1382 associate--r-_binary64_1381 associate--l-_binary64_1380 associate--l+_binary64_1379 associate--r+_binary64_1378 associate-+l-_binary64_1377 associate-+r-_binary64_1376 associate-+l+_binary64_1375 associate-+r+_binary64_1374 +-commutative_binary64_1372
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0916
11116
21116
022
122
Search
TrueOtherFalseIter
0%99.9%0.1%0
0%99.9%0.1%1
50%50%0.1%2
50%50%0.1%3
74.9%25%0.1%4
74.9%25%0.1%5
74.9%18.7%6.3%6
74.9%18.7%6.3%7
74.9%15.6%9.5%8
74.9%15.6%9.5%9
74.9%14%11%10
74.9%14%11%11
74.9%13.3%11.8%12
74.9%13.3%11.8%13
74.9%12.9%12.2%14
Compiler

Compiled 6 to 6 computations (0% saved)

sample38.0ms (1.3%)

Algorithm
intervals
Results
11.0ms45×body1024valid
7.0ms177×body128valid
4.0ms27×body1024invalid
3.0ms27×body512valid
1.0msbody512invalid
1.0msbody256valid
0.0msbody128invalid
0.0msbody256invalid
Compiler

Compiled 11 to 13 computations (-18.2% saved)

simplify8.0ms (0.3%)

Algorithm
egg-herbie
Rules
*-commutative_binary64_1373
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 pow-plus_binary64_1505 exp-to-pow_binary64_1504 pow-base-1_binary64_1502 unpow0_binary64_1501 unpow1_binary64_1500 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 div-exp_binary64_1493 rec-exp_binary64_1492 prod-exp_binary64_1491 exp-diff_binary64_1490 exp-neg_binary64_1489 exp-sum_binary64_1488 e-exp-1_binary64_1487 1-exp_binary64_1486 exp-1-e_binary64_1485 exp-0_binary64_1484 rem-log-exp_binary64_1483 rem-exp-log_binary64_1482 cube-unmult_binary64_1479 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 sqr-neg_binary64_1456 rem-sqrt-square_binary64_1455 rem-square-sqrt_binary64_1454 times-frac_binary64_1448 div-sub_binary64_1447 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 mul0-rgt_binary64_1425 mul0-lft_binary64_1424 div0_binary64_1423 *-inverses_binary64_1422 +-inverses_binary64_1421 lft-mult-inverse_binary64_1420 rgt-mult-inverse_binary64_1419 remove-double-div_binary64_1418 pow-sqr_binary64_1415 sqr-pow_binary64_1414 difference-of-sqr--1_binary64_1413 difference-of-sqr-1_binary64_1412 difference-of-squares_binary64_1411 unswap-sqr_binary64_1410 swap-sqr_binary64_1409 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 distribute-rgt1-in_binary64_1398 distribute-lft1-in_binary64_1397 distribute-rgt-out--_binary64_1396 distribute-rgt-out_binary64_1395 distribute-lft-out--_binary64_1394 distribute-lft-out_binary64_1393 distribute-rgt-in_binary64_1392 distribute-lft-in_binary64_1391 count-2_binary64_1390 associate-/l/_binary64_1389 associate-/r/_binary64_1388 associate-/l*_binary64_1387 associate-/r*_binary64_1386 associate-*l/_binary64_1385 associate-*r/_binary64_1384 associate-*l*_binary64_1383 associate-*r*_binary64_1382 associate--r-_binary64_1381 associate--l-_binary64_1380 associate--l+_binary64_1379 associate--r+_binary64_1378 associate-+l-_binary64_1377 associate-+r-_binary64_1376 associate-+l+_binary64_1375 associate-+r+_binary64_1374 +-commutative_binary64_1372
Counts
1 → 0
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
068
178
278

prune2.0ms (0.1%)

Pruning

1 alts after pruning (1 fresh and 0 done)

PrunedKeptTotal
New000
Fresh011
Picked000
Done000
Total011
Error
0.0b
Counts
1 → 1
Compiler

Compiled 5 to 5 computations (0% saved)

localize5.0ms (0.2%)

Local error

Found 2 expressions with local error:

0.0b
(*.f64 (exp.f64 re) (cos.f64 im))
0.0b
(cos.f64 im)

rewrite26.0ms (0.8%)

Algorithm
rewrite-expression-head
Error
0.0b
Rules
add-sqr-sqrt_binary64_1464
pow1_binary64_1503 add-cbrt-cube_binary64_1478 add-cube-cbrt_binary64_1477 *-un-lft-identity_binary64_1442
add-exp-log_binary64_1480 associate-*l*_binary64_1383 associate-*r*_binary64_1382
add-log-exp_binary64_1481
pow-prod-down_binary64_1513 prod-exp_binary64_1491 cbrt-unprod_binary64_1475 unswap-sqr_binary64_1410 *-commutative_binary64_1373
Counts
2 → 25
Calls

2 calls:

6.0ms
(*.f64 (exp.f64 re) (cos.f64 im))
2.0ms
(cos.f64 im)
Compiler

Compiled 256 to 71 computations (72.3% saved)

series141.0ms (4.6%)

Error
0.0b
Counts
2 → 16
Calls

2 calls:

112.0ms
(*.f64 (exp.f64 re) (cos.f64 im))
17.0ms
(cos.f64 im)
Compiler

Compiled 367 to 259 computations (29.4% saved)

simplify87.0ms (2.9%)

Algorithm
egg-herbie
Rules
488×distribute-rgt-neg-in_binary64_1400
436×unswap-sqr_binary64_1410
405×*-commutative_binary64_1373
273×cancel-sign-sub-inv_binary64_1408
264×distribute-rgt-in_binary64_1392
261×distribute-lft-in_binary64_1391
252×+-commutative_binary64_1372
219×associate-+l+_binary64_1375
202×associate-*l*_binary64_1383
192×distribute-rgt-out_binary64_1395
189×associate-+r+_binary64_1374
182×distribute-lft-out_binary64_1393
181×sqr-pow_binary64_1414
174×distribute-lft-neg-in_binary64_1399
159×associate-*r*_binary64_1382
135×sub-neg_binary64_1435
94×neg-mul-1_binary64_1438
85×neg-sub0_binary64_1437
84×distribute-neg-in_binary64_1403
77×distribute-lft-neg-out_binary64_1401
74×pow-sqr_binary64_1415
56×exp-prod_binary64_1494
55×distribute-rgt-neg-out_binary64_1402
48×associate--r+_binary64_1378
45×exp-sum_binary64_1488
38×log-prod_binary64_1528
37×swap-sqr_binary64_1409 associate-/l*_binary64_1387 associate-+l-_binary64_1377
36×distribute-rgt-out--_binary64_1396 associate-*r/_binary64_1384
34×associate-/l/_binary64_1389
33×associate-*l/_binary64_1385
30×times-frac_binary64_1448
28×cancel-sign-sub_binary64_1407
27×distribute-rgt1-in_binary64_1398
25×cube-prod_binary64_1470
24×*-rgt-identity_binary64_1432
22×*-lft-identity_binary64_1431
20×pow-plus_binary64_1505 distribute-neg-frac_binary64_1406 count-2_binary64_1390 associate--l+_binary64_1379
19×cube-unmult_binary64_1479 unsub-neg_binary64_1436 associate-/r/_binary64_1388
18×rem-sqrt-square_binary64_1455
17×sub0-neg_binary64_1429
14×remove-double-neg_binary64_1430 distribute-lft1-in_binary64_1397
13×distribute-lft-out--_binary64_1394 associate-/r*_binary64_1386 associate-+r-_binary64_1376
12×cube-div_binary64_1471 div-sub_binary64_1447
11×log-pow_binary64_1531 +-rgt-identity_binary64_1427
10×log-div_binary64_1529
unpow3_binary64_1508
unpow1/2_binary64_1506 --rgt-identity_binary64_1428 distribute-frac-neg_binary64_1405 associate--r-_binary64_1381
unpow2_binary64_1507 exp-to-pow_binary64_1504 exp-sqrt_binary64_1495
unpow1_binary64_1500 rem-log-exp_binary64_1483
exp-lft-sqr_binary64_1497 prod-exp_binary64_1491 cube-mult_binary64_1472
rem-exp-log_binary64_1482 /-rgt-identity_binary64_1433 distribute-neg-out_binary64_1404
exp-lft-cube_binary64_1498 exp-diff_binary64_1490 1-exp_binary64_1486 exp-1-e_binary64_1485 cube-neg_binary64_1469 sqr-neg_binary64_1456 mul-1-neg_binary64_1434 mul0-rgt_binary64_1425 mul0-lft_binary64_1424
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 pow-base-1_binary64_1502 unpow0_binary64_1501 unpow-1_binary64_1499 exp-cbrt_binary64_1496 div-exp_binary64_1493 rec-exp_binary64_1492 exp-neg_binary64_1489 e-exp-1_binary64_1487 exp-0_binary64_1484 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-square-sqrt_binary64_1454 +-lft-identity_binary64_1426 div0_binary64_1423 *-inverses_binary64_1422 +-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 associate--l-_binary64_1380
Counts
41 → 24
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
065461
1162414
2412402
3954397
42109397
52764397
64091397
74859397

prune17.0ms (0.6%)

Pruning

2 alts after pruning (1 fresh and 1 done)

PrunedKeptTotal
New23124
Fresh000
Picked011
Done000
Total23225
Error
0.0b
Counts
25 → 2
Compiler

Compiled 242 to 100 computations (58.7% saved)

localize8.0ms (0.2%)

Local error

Found 4 expressions with local error:

0.0b
(*.f64 (exp.f64 re) (cbrt.f64 (pow.f64 (cos.f64 im) 3)))
0.0b
(cos.f64 im)
0.3b
(cbrt.f64 (pow.f64 (cos.f64 im) 3))
0.4b
(pow.f64 (cos.f64 im) 3)

rewrite103.0ms (3.4%)

Algorithm
rewrite-expression-head
Error
0b
Rules
28×cbrt-prod_binary64_1473
24×add-sqr-sqrt_binary64_1464
15×add-cube-cbrt_binary64_1477 *-un-lft-identity_binary64_1442 associate-*r*_binary64_1382
10×unpow-prod-down_binary64_1521 cube-prod_binary64_1470
pow1_binary64_1503
add-exp-log_binary64_1480 add-cbrt-cube_binary64_1478
unswap-sqr_binary64_1410
add-log-exp_binary64_1481 sqr-pow_binary64_1414
pow-unpow_binary64_1519 unpow3_binary64_1508 cube-mult_binary64_1472 associate-*l*_binary64_1383
pow-pow_binary64_1514 pow-to-exp_binary64_1511 pow-exp_binary64_1510 rem-cube-cbrt_binary64_1465 pow1/3_binary64_1524 rem-cbrt-cube_binary64_1466 pow-prod-down_binary64_1513 prod-exp_binary64_1491 cbrt-unprod_binary64_1475 *-commutative_binary64_1373
Counts
4 → 85
Calls

4 calls:

10.0ms
(*.f64 (exp.f64 re) (cbrt.f64 (pow.f64 (cos.f64 im) 3)))
3.0ms
(cbrt.f64 (pow.f64 (cos.f64 im) 3))
3.0ms
(pow.f64 (cos.f64 im) 3)
2.0ms
(cos.f64 im)
Compiler

Compiled 1240 to 660 computations (46.8% saved)

series208.0ms (6.8%)

Error
0.0b
Counts
4 → 26
Calls

4 calls:

101.0ms
(*.f64 (exp.f64 re) (cbrt.f64 (pow.f64 (cos.f64 im) 3)))
58.0ms
(pow.f64 (cos.f64 im) 3)
16.0ms
(cos.f64 im)
15.0ms
(cbrt.f64 (pow.f64 (cos.f64 im) 3))
Compiler

Compiled 655 to 509 computations (22.3% saved)

simplify68.0ms (2.2%)

Algorithm
egg-herbie
Rules
365×associate-+l+_binary64_1375
327×distribute-rgt-in_binary64_1392
321×distribute-lft-in_binary64_1391
319×associate-+r+_binary64_1374
314×unswap-sqr_binary64_1410
307×*-commutative_binary64_1373
185×exp-prod_binary64_1494
183×log-prod_binary64_1528
158×distribute-rgt-out_binary64_1395
156×sqr-pow_binary64_1414
153×distribute-lft-out_binary64_1393
138×associate-*r*_binary64_1382
134×cube-prod_binary64_1470
115×associate-*l*_binary64_1383
61×cancel-sign-sub-inv_binary64_1408
55×swap-sqr_binary64_1409
53×associate-/l*_binary64_1387
46×pow-sqr_binary64_1415
40×distribute-rgt-neg-in_binary64_1400
39×sub-neg_binary64_1435
34×+-commutative_binary64_1372
33×distribute-lft-neg-in_binary64_1399
26×unpow3_binary64_1508
23×log-pow_binary64_1531 pow-plus_binary64_1505
20×distribute-rgt1-in_binary64_1398
18×cube-unmult_binary64_1479
17×cube-mult_binary64_1472 distribute-lft1-in_binary64_1397
16×associate-/l/_binary64_1389
15×rem-sqrt-square_binary64_1455 *-rgt-identity_binary64_1432 *-lft-identity_binary64_1431 associate-+l-_binary64_1377
14×count-2_binary64_1390
12×exp-sum_binary64_1488 neg-mul-1_binary64_1438 neg-sub0_binary64_1437
11×associate-*r/_binary64_1384
10×distribute-rgt-out--_binary64_1396
associate-+r-_binary64_1376
+-rgt-identity_binary64_1427
sub0-neg_binary64_1429 associate-/r/_binary64_1388 associate-/r*_binary64_1386 associate--l+_binary64_1379 associate--r+_binary64_1378
unpow1/2_binary64_1506 rem-cbrt-cube_binary64_1466
unpow1_binary64_1500 prod-exp_binary64_1491 unsub-neg_binary64_1436 associate-*l/_binary64_1385
unpow2_binary64_1507 distribute-lft-out--_binary64_1394
exp-to-pow_binary64_1504 1-exp_binary64_1486 exp-1-e_binary64_1485 rem-log-exp_binary64_1483 rem-exp-log_binary64_1482 rem-3cbrt-lft_binary64_1467 rem-cube-cbrt_binary64_1465 rem-square-sqrt_binary64_1454
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 log-div_binary64_1529 pow-base-0_binary64_1526 unpow1/3_binary64_1509 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 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 cube-div_binary64_1471 cube-neg_binary64_1469 rem-3cbrt-rft_binary64_1468 sqr-abs_binary64_1457 sqr-neg_binary64_1456 times-frac_binary64_1448 div-sub_binary64_1447 mul-1-neg_binary64_1434 /-rgt-identity_binary64_1433 remove-double-neg_binary64_1430 --rgt-identity_binary64_1428 +-lft-identity_binary64_1426 mul0-rgt_binary64_1425 mul0-lft_binary64_1424 div0_binary64_1423 *-inverses_binary64_1422 +-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 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 associate--r-_binary64_1381 associate--l-_binary64_1380
Counts
111 → 77
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01201155
12481076
28531052
320621047
450691047

prune57.0ms (1.9%)

Pruning

3 alts after pruning (1 fresh and 2 done)

PrunedKeptTotal
New76177
Fresh000
Picked011
Done011
Total76379
Error
0b
Counts
79 → 3
Compiler

Compiled 875 to 378 computations (56.8% saved)

localize10.0ms (0.3%)

Local error

Found 4 expressions with local error:

0.2b
(*.f64 (cbrt.f64 (pow.f64 (cos.f64 im) 2)) (cbrt.f64 (cos.f64 im)))
0.3b
(pow.f64 (cos.f64 im) 2)
0.3b
(cbrt.f64 (cos.f64 im))
0.3b
(cbrt.f64 (pow.f64 (cos.f64 im) 2))

rewrite111.0ms (3.6%)

Algorithm
rewrite-expression-head
Error
0b
Rules
37×cbrt-prod_binary64_1473
30×add-sqr-sqrt_binary64_1464
14×add-cube-cbrt_binary64_1477 *-un-lft-identity_binary64_1442
11×unpow-prod-down_binary64_1521 associate-*l*_binary64_1383
10×unswap-sqr_binary64_1410
pow1_binary64_1503 add-exp-log_binary64_1480 unpow2_binary64_1507
associate-*r*_binary64_1382
sqr-pow_binary64_1414
pow1/3_binary64_1524 add-log-exp_binary64_1481 add-cbrt-cube_binary64_1478
pow-unpow_binary64_1519
pow-prod-down_binary64_1513
pow-pow_binary64_1514 pow-to-exp_binary64_1511 pow-exp_binary64_1510 pow3_binary64_1525 prod-exp_binary64_1491 cbrt-unprod_binary64_1475 rem-3cbrt-lft_binary64_1467 *-commutative_binary64_1373
Counts
4 → 86
Calls

4 calls:

9.0ms
(*.f64 (cbrt.f64 (pow.f64 (cos.f64 im) 2)) (cbrt.f64 (cos.f64 im)))
2.0ms
(pow.f64 (cos.f64 im) 2)
2.0ms
(cbrt.f64 (pow.f64 (cos.f64 im) 2))
1.0ms
(cbrt.f64 (cos.f64 im))
Compiler

Compiled 1597 to 750 computations (53% saved)

series317.0ms (10.4%)

Error
0b
Counts
4 → 19
Calls

4 calls:

138.0ms
(cbrt.f64 (pow.f64 (cos.f64 im) 2))
113.0ms
(cbrt.f64 (cos.f64 im))
31.0ms
(pow.f64 (cos.f64 im) 2)
17.0ms
(*.f64 (cbrt.f64 (pow.f64 (cos.f64 im) 2)) (cbrt.f64 (cos.f64 im)))
Compiler

Compiled 635 to 497 computations (21.7% saved)

simplify106.0ms (3.5%)

Algorithm
egg-herbie
Rules
346×exp-prod_binary64_1494
330×sqr-pow_binary64_1414
329×log-prod_binary64_1528
290×cube-prod_binary64_1470 *-commutative_binary64_1373
241×unswap-sqr_binary64_1410
232×associate-/l*_binary64_1387
212×associate-+l+_binary64_1375
205×distribute-rgt-in_binary64_1392
193×distribute-rgt-out_binary64_1395
189×distribute-lft-in_binary64_1391
170×associate-+r+_binary64_1374
152×distribute-lft-out_binary64_1393
148×pow-sqr_binary64_1415
101×cancel-sign-sub-inv_binary64_1408
95×log-pow_binary64_1531
94×swap-sqr_binary64_1409
90×unpow3_binary64_1508
80×cube-mult_binary64_1472 associate-/l/_binary64_1389 associate-*l*_binary64_1383
77×sub-neg_binary64_1435
73×associate-*r*_binary64_1382
64×distribute-rgt-neg-in_binary64_1400
62×count-2_binary64_1390
50×distribute-lft-neg-in_binary64_1399
46×associate-/r/_binary64_1388
43×pow-plus_binary64_1505
39×distribute-neg-in_binary64_1403
35×neg-mul-1_binary64_1438
33×rem-sqrt-square_binary64_1455
28×neg-sub0_binary64_1437 *-rgt-identity_binary64_1432 +-commutative_binary64_1372
27×associate-+l-_binary64_1377
24×distribute-rgt1-in_binary64_1398
23×*-lft-identity_binary64_1431
18×cube-unmult_binary64_1479
15×sub0-neg_binary64_1429 distribute-lft1-in_binary64_1397
12×unpow1/2_binary64_1506
11×distribute-lft-neg-out_binary64_1401
10×unpow2_binary64_1507 associate-+r-_binary64_1376
unsub-neg_binary64_1436 associate-*r/_binary64_1384
times-frac_binary64_1448 associate--l+_binary64_1379
+-rgt-identity_binary64_1427
distribute-rgt-out--_binary64_1396 associate--r+_binary64_1378
unpow1_binary64_1500
remove-double-neg_binary64_1430
distribute-rgt-neg-out_binary64_1402 associate-/r*_binary64_1386 associate-*l/_binary64_1385
unpow1/3_binary64_1509 rem-3cbrt-lft_binary64_1467 /-rgt-identity_binary64_1433 --rgt-identity_binary64_1428 mul0-rgt_binary64_1425 mul0-lft_binary64_1424 difference-of-sqr-1_binary64_1412 distribute-lft-out--_binary64_1394
1-exp_binary64_1486 exp-1-e_binary64_1485 rem-cbrt-cube_binary64_1466 rem-square-sqrt_binary64_1454 associate--r-_binary64_1381 associate--l-_binary64_1380
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 log-div_binary64_1529 pow-base-0_binary64_1526 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 div-exp_binary64_1493 rec-exp_binary64_1492 prod-exp_binary64_1491 exp-diff_binary64_1490 exp-neg_binary64_1489 exp-sum_binary64_1488 e-exp-1_binary64_1487 exp-0_binary64_1484 rem-log-exp_binary64_1483 rem-exp-log_binary64_1482 cube-div_binary64_1471 cube-neg_binary64_1469 rem-3cbrt-rft_binary64_1468 rem-cube-cbrt_binary64_1465 sqr-abs_binary64_1457 sqr-neg_binary64_1456 div-sub_binary64_1447 mul-1-neg_binary64_1434 +-lft-identity_binary64_1426 div0_binary64_1423 *-inverses_binary64_1422 +-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-squares_binary64_1411 cancel-sign-sub_binary64_1407 distribute-neg-frac_binary64_1406 distribute-frac-neg_binary64_1405 distribute-neg-out_binary64_1404
Counts
105 → 73
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01091290
12141184
26131147
313801002
428811002
546071002
647811002

prune67.0ms (2.2%)

Pruning

3 alts after pruning (0 fresh and 3 done)

PrunedKeptTotal
New73073
Fresh000
Picked011
Done022
Total73376
Error
0b
Counts
76 → 3
Compiler

Compiled 1085 to 430 computations (60.4% saved)

regimes102.0ms (3.3%)

Accuracy

Total 0.0b remaining (57.4%)

Threshold costs 0.0b (57.4%)

Compiler

Compiled 482 to 440 computations (8.7% saved)

bsearch0.0ms (0%)

simplify3.0ms (0.1%)

Algorithm
egg-herbie
Rules
*-commutative_binary64_1373
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 +-commutative_binary64_1372
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
068
178
278

end0.0ms (0%)

sample1.3s (42.5%)

Algorithm
intervals
Results
301.0ms1368×body1024valid
229.0ms5620×body128valid
100.0ms662×body1024invalid
88.0ms667×body512valid
35.0ms325×body512invalid
31.0ms342×body256valid
14.0ms181×body256invalid
10.0ms219×body128invalid
1.0msbody2048valid
Compiler

Compiled 103 to 95 computations (7.8% saved)

Profiling

Loading profile data...